:root {
    --showroom-bg: #f3f5f8;
    --showroom-surface: #ffffff;
    --showroom-surface-2: #edf1f5;
    --showroom-border: #d9e1ea;
    --showroom-text: #142033;
    --showroom-muted: #617086;
    --showroom-strong: #07111f;
    --showroom-radius: 8px;
    --showroom-font: 'Pretendard Variable', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --showroom-display: 'Outfit', var(--showroom-font);
    --showroom-serif: 'Noto Serif KR', serif;
    --sidebar-width: 300px;
    --sidebar-bg: #ffffff;
    --sidebar-text: #142033;
    --sidebar-muted: #68778b;
    --sidebar-border: #d9e1ea;
    --sidebar-item-bg: #f4f7fa;
    --sidebar-item-border: #dce4ec;
    --sidebar-item-active-bg: #e9f0f6;
    --sidebar-item-active-border: #b9c7d5;
}

html[data-ui-theme="dark"] {
    --showroom-bg: #0c1118;
    --showroom-surface: #121a24;
    --showroom-surface-2: #182231;
    --showroom-border: #273548;
    --showroom-text: #dbe5ef;
    --showroom-muted: #92a2b4;
    --showroom-strong: #f6f9fc;
    --sidebar-bg: #101923;
    --sidebar-text: #eef5fb;
    --sidebar-muted: #9fb1c3;
    --sidebar-border: rgba(255, 255, 255, 0.08);
    --sidebar-item-bg: rgba(255, 255, 255, 0.045);
    --sidebar-item-border: rgba(255, 255, 255, 0.10);
    --sidebar-item-active-bg: rgba(255, 255, 255, 0.12);
    --sidebar-item-active-border: rgba(255, 255, 255, 0.34);
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-width: 320px;
    background: var(--showroom-bg);
    color: var(--showroom-text);
    font-family: var(--showroom-font);
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

.theme-showroom {
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    min-height: 100vh;
    transition: grid-template-columns 0.24s ease;
}

body.is-sidebar-collapsed .theme-showroom {
    grid-template-columns: 0 minmax(0, 1fr);
}

.theme-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: var(--sidebar-width);
    padding: 20px;
    overflow: hidden auto;
    border-right: 1px solid var(--sidebar-border);
    background: var(--sidebar-bg);
    color: var(--sidebar-text);
    transition: transform 0.24s ease, opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.is-sidebar-collapsed .theme-sidebar {
    transform: translateX(calc(-1 * var(--sidebar-width)));
    opacity: 0;
    pointer-events: none;
}

.sidebar-peek {
    position: fixed;
    top: 74px;
    left: calc(var(--sidebar-width) - 1px);
    z-index: 40;
    display: grid;
    width: 28px;
    height: 58px;
    place-items: center;
    border: 1px solid var(--showroom-border);
    border-left: 0;
    border-radius: 0 8px 8px 0;
    background: var(--showroom-surface);
    color: var(--showroom-text);
    cursor: pointer;
    transition: left 0.24s ease, background 0.2s ease;
}

body.is-sidebar-collapsed .sidebar-peek {
    left: 0;
}

body.is-sidebar-collapsed .sidebar-peek svg {
    transform: rotate(180deg);
}

.theme-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
}

.theme-sidebar__brand strong,
.theme-sidebar__brand small,
.theme-nav-link span,
.theme-nav-link small,
.section-menu__item span,
.section-menu__item small,
.theme-list__item strong,
.theme-list__item small {
    display: block;
}

.theme-sidebar__brand strong {
    font-family: var(--showroom-display);
    font-size: 18px;
}

.theme-sidebar__brand small,
.theme-nav-link small,
.section-menu__item small,
.theme-list__item small {
    margin-top: 2px;
    color: var(--sidebar-muted);
    font-size: 12px;
    line-height: 1.35;
}

.theme-sidebar__mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(145deg, #ffffff, #b9d7e4 52%, #f0b870);
    color: #10202c;
    font-family: var(--showroom-display);
    font-weight: 800;
}

.theme-sidebar__label {
    margin-bottom: 10px;
    color: var(--sidebar-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.section-menu,
.theme-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.section-menu__item,
.theme-list__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--sidebar-item-border);
    border-radius: 8px;
    background: var(--sidebar-item-bg);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.section-menu__item:hover,
.theme-list__item:hover,
.section-menu__item.is-active,
.theme-list__item.is-active {
    border-color: var(--sidebar-item-active-border);
    background: var(--sidebar-item-active-bg);
}

.section-menu__item span,
.theme-list__item strong {
    font-size: 14px;
    font-weight: 700;
}

.theme-list__item::before {
    content: "";
    width: 4px;
    align-self: stretch;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--theme-accent), var(--theme-accent-2));
}

.theme-list__number {
    width: 24px;
    color: var(--theme-accent);
    font-family: var(--showroom-display);
    font-weight: 800;
}

.theme-main {
    min-width: 0;
    padding: 12px 18px 22px;
}

.theme-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 52px;
    margin: -12px -18px 12px;
    padding: 8px 18px;
    border-bottom: 1px solid var(--showroom-border);
    background: color-mix(in srgb, var(--showroom-bg) 88%, transparent);
    backdrop-filter: blur(14px);
}

.theme-header__title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
}

.theme-header__title strong {
    color: var(--showroom-strong);
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
}

.theme-header__title span {
    min-width: 0;
    overflow: hidden;
    color: var(--showroom-muted);
    font-size: 13px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-header__controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mode-switch {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface);
}

.mode-switch button,
.icon-btn {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface);
    color: var(--showroom-text);
    cursor: pointer;
}

.mode-switch button {
    border: 0;
    background: transparent;
    color: var(--showroom-muted);
}

.mode-switch button.is-active {
    background: #182637;
    color: #ffffff;
}

html[data-ui-theme="dark"] .mode-switch button.is-active {
    background: #f4f7fb;
    color: #111827;
}

.showroom-toolbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 12px;
}

.section-switch {
    display: inline-flex;
    gap: 6px;
    padding: 5px;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface);
}

.section-switch button {
    min-height: 34px;
    padding: 0 14px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--showroom-muted);
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
}

.section-switch button.is-active {
    background: #182637;
    color: #ffffff;
}

html[data-ui-theme="dark"] .section-switch button.is-active {
    background: #f4f7fb;
    color: #111827;
}

.theme-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.theme-tabs__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface);
    color: var(--showroom-text);
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
}

.theme-tabs__btn span {
    color: var(--theme-accent);
    font-family: var(--showroom-display);
}

.theme-tabs__btn:hover,
.theme-tabs__btn.is-active {
    border-color: var(--theme-accent);
}

.theme-tabs__btn.is-active {
    background: color-mix(in srgb, var(--theme-accent) 10%, var(--showroom-surface));
}

.showroom-stage {
    min-width: 0;
}

html[data-preview-device="mobile"] .showroom-stage {
    /* display: grid; */
    /* justify-items: center; */
}

html[data-preview-device="mobile"] .stage-panel.is-active {
    width: min(100%, 430px);
    margin: 0 auto;
}

html[data-preview-device="mobile"] .landing-preview,
html[data-preview-device="mobile"] .visual-preview {
    min-height: 760px;
}

html[data-preview-device="mobile"] .skincare-landing.landing-preview {
    width: min(100%, 430px);
    min-height: 760px;
    overflow: hidden;
}

html[data-preview-device="mobile"] .skincare-landing__bg {
    height: 760px;
}

html[data-preview-device="mobile"] .skincare-landing__bg img {
    object-position: right center;
}

html[data-preview-device="mobile"] .skincare-landing__wash {
    background:
        linear-gradient(180deg, rgba(255, 252, 248, 0.36) 0%, rgba(255, 252, 248, 0.20) 42%, rgba(255, 252, 248, 0.08) 72%),
        radial-gradient(circle at 24% 18%, rgba(127, 183, 199, 0.14), transparent 36%),
        radial-gradient(circle at 54% 86%, rgba(217, 127, 150, 0.10), transparent 32%);
}

html[data-preview-device="mobile"] .skincare-landing__nav {
    min-height: 64px;
    padding: 0 18px;
}

html[data-preview-device="mobile"] .skincare-landing__brand span {
    font-size: 17px;
}

html[data-preview-device="mobile"] .skincare-landing__brand small,
html[data-preview-device="mobile"] .skincare-landing__links,
html[data-preview-device="mobile"] .skincare-landing__actions a {
    display: none;
}

html[data-preview-device="mobile"] .skincare-landing__actions button {
    width: 36px;
    height: 36px;
}

html[data-preview-device="mobile"] .skincare-landing__hero {
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: end;
    min-height: 600px;
    padding: 102px 18px 24px;
}

html[data-preview-device="mobile"] .skincare-landing__copy {
    max-width: none;
    min-height: 340px;
}

html[data-preview-device="mobile"] .skincare-landing__copy-panel {
    width: 100%;
    padding: 24px 28px;
    border-radius: 10px;
}

html[data-preview-device="mobile"] .skincare-landing__hero h1 {
    font-size: 34px;
    line-height: 1.16;
}

html[data-preview-device="mobile"] .skincare-landing__hero p {
    max-width: none;
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.68;
}

html[data-preview-device="mobile"] .skincare-landing__cta {
    gap: 8px;
    margin-top: 20px;
}

html[data-preview-device="mobile"] .skincare-landing__cta a,
html[data-preview-device="mobile"] .skincare-landing__cta button {
    width: 100%;
    min-height: 40px;
}

html[data-preview-device="mobile"] .skincare-landing__sidebar {
    align-items: center;
    width: 100%;
    gap: 20px;
}

html[data-preview-device="mobile"] .skincare-landing__controls {
    width: 100%;
    justify-content: center;
}

html[data-preview-device="mobile"] .skincare-landing__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    justify-self: stretch;
}

html[data-preview-device="mobile"] .skincare-landing__metrics span {
    display: grid;
    gap: 4px;
    min-height: 62px;
    padding: 8px 6px;
    text-align: center;
}

html[data-preview-device="mobile"] .skincare-landing__metrics strong {
    font-size: 24px;
}

html[data-preview-device="mobile"] .skincare-landing__teaser {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 18px 28px;
}

html[data-preview-device="mobile"] .skincare-feature {
    min-height: 0;
}

html[data-preview-device="mobile"] .skincare-feature > img {
    aspect-ratio: 16 / 9;
}

html[data-preview-device="mobile"] .skincare-editorial {
    padding: 48px 18px;
}

html[data-preview-device="mobile"] .skincare-editorial--split,
html[data-preview-device="mobile"] .skincare-editorial--center {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: left;
}

html[data-preview-device="mobile"] .skincare-editorial__media,
html[data-preview-device="mobile"] .skincare-editorial__wide-media {
    aspect-ratio: 4 / 5;
}

html[data-preview-device="mobile"] .skincare-editorial__copy h2 {
    font-size: 32px;
}

html[data-preview-device="mobile"] .skincare-editorial--center .skincare-editorial__copy h2,
html[data-preview-device="mobile"] .skincare-editorial--center .skincare-editorial__copy p {
    margin-right: 0;
    margin-left: 0;
}

html[data-preview-device="mobile"] .skincare-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 26px 18px 30px;
}

.stage-panel {
    display: none;
    min-height: calc(100vh - 86px);
}

.stage-panel.is-active {
    display: block;
    animation: stage-fade 0.22s ease both;
}

@keyframes stage-fade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.landing-preview,
.visual-preview {
    width: 100%;
    min-height: calc(100vh - 86px);
    overflow: hidden;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface);
}

.landing-preview {
    background:
        radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--theme-accent-2) 24%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 9%, var(--showroom-surface)), var(--theme-surface));
}

html[data-ui-theme="dark"] .landing-preview {
    background:
        radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--theme-accent-2) 26%, transparent), transparent 32%),
        linear-gradient(135deg, #121a24, color-mix(in srgb, var(--theme-accent) 18%, #111827));
}

.landing-preview__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 68px;
    padding: 0 clamp(28px, 5%, 72px);
    border-bottom: 1px solid color-mix(in srgb, var(--theme-accent) 20%, var(--showroom-border));
}

.landing-preview__nav strong {
    color: var(--showroom-strong);
    font-family: var(--showroom-display);
    font-size: 20px;
}

.landing-preview__nav div {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    color: var(--showroom-muted);
    font-size: 13px;
    font-weight: 800;
}

.landing-preview__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 36%);
    gap: clamp(24px, 5%, 72px);
    align-items: center;
    min-height: 440px;
    padding: clamp(40px, 7%, 92px) clamp(28px, 5%, 72px);
}

.preview-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: var(--theme-accent);
    font-family: var(--showroom-display);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.landing-preview__hero h1 {
    max-width: 780px;
    margin: 0;
    color: var(--showroom-strong);
    font-family: var(--showroom-serif);
    font-size: 64px;
    line-height: 1.08;
    letter-spacing: 0;
}

.landing-preview__hero p {
    max-width: 560px;
    margin: 22px 0 0;
    color: var(--showroom-muted);
    font-size: 17px;
    line-height: 1.75;
}

.landing-preview__media {
    display: grid;
    min-height: 320px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--theme-accent) 30%, var(--showroom-border));
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 42%, transparent), transparent),
        linear-gradient(315deg, color-mix(in srgb, var(--theme-accent-2) 48%, transparent), rgba(255, 255, 255, 0.66));
    color: color-mix(in srgb, var(--theme-accent) 70%, var(--showroom-strong));
    font-family: var(--showroom-display);
    font-weight: 800;
}

.landing-preview__content {
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
    gap: 18px;
    padding: 0 clamp(28px, 5%, 72px) 48px;
}

.landing-preview__lead,
.landing-preview__grid span {
    border: 1px solid color-mix(in srgb, var(--theme-accent) 18%, var(--showroom-border));
    border-radius: 8px;
    background: color-mix(in srgb, var(--showroom-surface) 86%, var(--theme-surface));
}

.landing-preview__lead {
    display: grid;
    align-content: end;
    min-height: 172px;
    padding: 22px;
}

.landing-preview__lead span {
    color: var(--theme-accent);
    font-size: 12px;
    font-weight: 800;
}

.landing-preview__lead strong {
    margin-top: 8px;
    color: var(--showroom-strong);
    font-size: 24px;
}

.landing-preview__lead p {
    margin: 8px 0 0;
    color: var(--showroom-muted);
    line-height: 1.6;
}

.landing-preview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.landing-preview__grid span {
    display: grid;
    min-height: 172px;
    place-items: end start;
    padding: 18px;
    color: var(--showroom-muted);
    font-weight: 800;
}

.visual-preview {
    display: grid;
    grid-template-rows: minmax(440px, 1fr) auto auto;
    gap: 18px;
    padding: clamp(24px, 4%, 54px);
    background:
        radial-gradient(circle at 15% 18%, color-mix(in srgb, var(--theme-accent) 30%, transparent), transparent 28%),
        radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--theme-accent-2) 28%, transparent), transparent 32%),
        linear-gradient(135deg, #111b2a, color-mix(in srgb, var(--theme-accent) 28%, #182637));
}

.visual-preview__slide {
    display: grid;
    align-content: end;
    min-height: 440px;
    padding: clamp(28px, 5%, 70px);
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 8px;
    background:
        linear-gradient(180deg, transparent 32%, rgba(0, 0, 0, 0.58)),
        linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 44%, transparent), color-mix(in srgb, var(--theme-accent-2) 34%, transparent));
    color: #ffffff;
    box-shadow: inset 0 0 90px rgba(255, 255, 255, 0.08);
}

.visual-preview__slide span,
.visual-preview__rail span {
    font-family: var(--showroom-display);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.visual-preview__slide strong {
    max-width: 820px;
    margin-top: 12px;
    font-family: var(--showroom-serif);
    font-size: 68px;
    line-height: 1.06;
    letter-spacing: 0;
}

.visual-preview__rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.visual-preview__rail span {
    display: grid;
    min-height: 104px;
    place-items: center;
    border: 1px dashed rgba(255, 255, 255, 0.34);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.09);
    color: rgba(255, 255, 255, 0.78);
}

.visual-preview__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.visual-preview__controls button {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: #ffffff;
}

.visual-preview__controls div {
    display: flex;
    gap: 8px;
}

.visual-preview__controls div span {
    width: 32px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.32);
}

.visual-preview__controls div span.is-active {
    background: #ffffff;
}

.info-backdrop {
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(7, 17, 31, 0.42);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
}

.info-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 90;
    display: flex;
    flex-direction: column;
    width: min(440px, 100vw);
    height: 100vh;
    border-left: 1px solid var(--showroom-border);
    background: var(--showroom-surface);
    color: var(--showroom-text);
    box-shadow: -24px 0 48px rgba(7, 17, 31, 0.18);
    transform: translateX(100%);
    transition: transform 0.28s ease;
}

body.is-info-open .info-backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.is-info-open .info-drawer {
    transform: translateX(0);
}

.info-drawer__header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid var(--showroom-border);
}

.info-drawer__header span {
    color: var(--showroom-muted);
    font-size: 12px;
    font-weight: 800;
}

.info-drawer__header h2 {
    margin: 4px 0 0;
    color: var(--showroom-strong);
    font-size: 22px;
}

.info-tabs {
    display: flex;
    gap: 6px;
    padding: 10px 20px;
    border-bottom: 1px solid var(--showroom-border);
}

.info-tabs button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface-2);
    color: var(--showroom-muted);
    cursor: pointer;
    font-weight: 800;
}

.info-tabs button.is-active {
    background: #182637;
    color: #ffffff;
}

html[data-ui-theme="dark"] .info-tabs button.is-active {
    background: #f4f7fb;
    color: #111827;
}

.info-drawer__body {
    min-height: 0;
    overflow: auto;
    padding: 20px;
}

.info-pane {
    display: none;
}

.info-pane.is-active {
    display: block;
}

.info-pane p,
.info-pane li {
    color: var(--showroom-muted);
    font-size: 14px;
    line-height: 1.75;
}

.info-pane ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding-left: 18px;
}

.info-pane pre {
    margin: 0;
    overflow: auto;
    border: 1px solid var(--showroom-border);
    border-radius: 8px;
    background: var(--showroom-surface-2);
    padding: 16px;
}

.info-pane code {
    white-space: pre-wrap;
    color: var(--showroom-text);
    font-family: Consolas, 'JetBrains Mono', monospace;
    font-size: 13px;
    line-height: 1.65;
}

@media (max-width: 1180px) {
    :root { --sidebar-width: 260px; }
    .landing-preview__hero h1 { font-size: 52px; }
    .visual-preview__slide strong { font-size: 56px; }
}

@media (max-width: 860px) {
    .theme-showroom,
    body.is-sidebar-collapsed .theme-showroom {
        display: block;
    }

    .theme-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 70;
        transform: translateX(calc(-1 * var(--sidebar-width)));
        opacity: 0;
        pointer-events: none;
    }

    body:not(.is-sidebar-collapsed) .theme-sidebar {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
    }

    .sidebar-peek,
    body.is-sidebar-collapsed .sidebar-peek {
        top: 64px;
        left: 0;
    }

    body:not(.is-sidebar-collapsed) .sidebar-peek {
        left: var(--sidebar-width);
    }

    .theme-main {
        padding: 12px 12px 20px;
    }

    .theme-header {
        margin: -12px -12px 12px;
        padding: 8px 12px 8px 36px;
    }

    .showroom-toolbar {
        grid-template-columns: 1fr;
    }

    .theme-tabs {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
    }

    .theme-tabs__btn {
        flex: 0 0 auto;
    }

    .landing-preview__hero,
    .landing-preview__content,
    .landing-preview__grid,
    .visual-preview__rail {
        grid-template-columns: 1fr;
    }

    .landing-preview__hero h1,
    .visual-preview__slide strong {
        font-size: 38px;
    }

    .landing-preview,
    .visual-preview {
        min-height: auto;
    }
}

@media (max-width: 560px) {
    .theme-header__title span {
        display: none;
    }

    .section-switch {
        width: 100%;
    }

    .section-switch button {
        flex: 1 1 0;
        min-width: 0;
    }

    .landing-preview__nav {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .landing-preview__hero {
        padding: 28px 18px;
    }

    .landing-preview__content {
        padding: 0 18px 28px;
    }
}

.skincare-landing.landing-preview,
.skincare-visual.visual-preview {
    position: relative;
    width: min(100%, 1320px);
    min-height: calc(100vh - 86px);
    margin: 0 auto;
    border: 1px solid rgba(217, 127, 150, 0.28);
    background: #fbf7f4;
    color: #18202a;
    isolation: isolate;
}

.skincare-landing.landing-preview {
    display: flex;
    flex-direction: column;
    overflow: visible;
    box-shadow: 0 24px 70px rgba(80, 68, 74, 0.10);
}

.skincare-landing__bg,
.skincare-visual__fallback {
    position: absolute;
    inset: 0;
    z-index: -3;
    overflow: hidden;
}

.skincare-landing__bg img,
.skincare-visual__fallback img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.skincare-landing__bg {
    height: min(860px, 100vh);
}

.skincare-landing__wash {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(255, 252, 248, 0.92) 0%, rgba(255, 252, 248, 0.82) 38%, rgba(255, 252, 248, 0.18) 74%),
        radial-gradient(circle at 18% 24%, rgba(127, 183, 199, 0.34), transparent 34%),
        radial-gradient(circle at 44% 86%, rgba(217, 127, 150, 0.22), transparent 28%);
}

.skincare-landing__nav,
.skincare-visual__topbar {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    padding: 0 44px;
    color: #18202a;
}

.skincare-landing__brand,
.skincare-visual__brand {
    display: grid;
    color: inherit;
    font-family: var(--showroom-display);
    font-weight: 800;
}

.skincare-landing__brand span {
    font-size: 20px;
    letter-spacing: -0.01em;
}

.skincare-landing__brand small {
    color: rgba(18, 28, 36, 0.54);
    font-size: 11px;
    font-weight: 700;
}

.skincare-landing__links {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    color: rgba(18, 28, 36, 0.72);
    font-size: 13.5px;
    font-weight: 800;
}

.skincare-landing__links a {
    position: relative;
    transition: color 0.2s ease;
}

.skincare-landing__links a:hover {
    color: #a6526d;
}

.skincare-landing__links a::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #a6526d;
    transform: translateX(-50%);
    transition: width 0.22s ease;
}

.skincare-landing__links a:hover::after {
    width: 100%;
}

.skincare-landing__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.skincare-landing__actions button,
.skincare-visual__controls button {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
    color: #121c24;
    cursor: pointer;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 24px rgba(90, 70, 75, 0.04);
    transition: all 0.22s ease;
}

.skincare-landing__actions button:hover {
    transform: scale(1.05);
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(166, 82, 109, 0.25);
}

.skincare-landing__actions a,
.skincare-landing__cta a,
.skincare-landing__cta button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    transition: all 0.24s ease;
}

.skincare-landing__actions a {
    padding: 0 20px;
    background: #121c24;
    color: #fffdf9;
    box-shadow: 0 10px 24px rgba(18, 28, 36, 0.15);
}

.skincare-landing__actions a:hover {
    background: #a6526d;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(166, 82, 109, 0.25);
}

.skincare-landing__hero {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, auto);
    gap: 48px;
    align-items: end;
    min-height: min(820px, calc(100vh - 86px));
    padding: 138px 48px 48px;
}

.skincare-landing__copy {
    position: relative;
    width: 100%;
    min-height: 380px;
    display: grid;
    align-items: end;
}

.skincare-landing__copy-panel {
    position: relative;
    grid-area: 1 / 1;
    width: min(100%, 680px);
    padding: 40px 44px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.48);
    backdrop-filter: blur(24px) saturate(1.2);
    -webkit-backdrop-filter: blur(24px) saturate(1.2);
    box-shadow: 0 30px 65px rgba(90, 70, 75, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    opacity: 0;
    pointer-events: none;
    transform: translateY(22px) scale(0.985);
    transition: opacity 0.42s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.42s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.42s ease;
}

.skincare-landing__copy-panel.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.skincare-kicker {
    display: inline-flex;
    margin-bottom: 18px;
    color: #a6526d;
    font-family: 'Noto Sans KR', var(--showroom-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.skincare-landing__hero h1,
.skincare-visual__copy h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.2em;
    margin: 0;
    color: #121c24;
    font-family: var(--showroom-serif);
    font-size: 54px;
    line-height: 1.14;
    letter-spacing: -0.035em;
    font-weight: 800;
}

.skincare-landing__hero h1 span,
.skincare-visual__copy h1 span {
    display: inline-block;
}

.skincare-landing__hero p,
.skincare-visual__copy p {
    max-width: 580px;
    margin: 20px 0 0;
    color: rgba(18, 28, 36, 0.70);
    font-size: 15.5px;
    line-height: 1.82;
    font-weight: 500;
}

.skincare-landing__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.skincare-landing__cta a {
    padding: 0 24px;
    background: #121c24;
    color: #fffdf9;
    box-shadow: 0 10px 24px rgba(18, 28, 36, 0.12);
}

.skincare-landing__cta a:hover {
    background: #a6526d;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(166, 82, 109, 0.25);
}

.skincare-landing__cta button {
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.54);
    color: #121c24;
    cursor: pointer;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.skincare-landing__cta button:hover {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(166, 82, 109, 0.25);
    transform: translateY(-2px);
}

.skincare-landing__sidebar {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 28px;
    height: 100%;
}

.skincare-landing__controls {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.35);
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px rgba(90, 70, 75, 0.04);
}

.skincare-landing__controls button {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    color: #121c24;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: all 0.2s;
}

.skincare-landing__controls button:hover {
    background: #121c24;
    border-color: #121c24;
    color: #fffdf9;
    transform: scale(1.05);
}

.skincare-landing__dots {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 8px;
}

.skincare-landing__dots button {
    width: 32px;
    height: 4px;
    border: 0;
    border-radius: 999px;
    background: rgba(18, 28, 36, 0.16);
    cursor: pointer;
    transition: width 0.24s ease, background 0.24s ease;
}

.skincare-landing__dots button.is-active {
    width: 48px;
    background: #a6526d;
}

.skincare-landing__metrics {
    display: grid;
    gap: 12px;
    width: 220px;
}

.skincare-landing__metrics span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    min-height: 58px;
    padding: 14px 18px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.48);
    color: rgba(18, 28, 36, 0.6);
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 700;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 16px 36px rgba(90, 70, 75, 0.04);
}

.skincare-landing__metrics strong {
    color: #121c24;
    font-size: 26px;
    font-weight: 800;
}

.skincare-landing__teaser {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    padding: 54px 48px;
    background: #fdf9f6;
}

.skincare-feature {
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    align-content: end;
    min-height: 254px;
    padding: 16px 16px 22px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.52);
    box-shadow: 0 20px 48px rgba(90, 70, 75, 0.05);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: all 0.28s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.skincare-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 60px rgba(90, 70, 75, 0.09);
    border-color: rgba(166, 82, 109, 0.25);
}

.skincare-feature > img {
    width: 100%;
    min-width: 0;
    aspect-ratio: 13 / 9;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: 8px;
    object-fit: cover;
    box-shadow: 0 12px 28px rgba(90, 70, 75, 0.06);
    transition: transform 0.4s ease;
}

.skincare-feature:hover > img {
    transform: scale(1.03);
}

.skincare-feature--lead {
    background: rgba(253, 249, 246, 0.62);
}

.skincare-feature__tag {
    color: #a6526d;
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.skincare-feature h2 {
    margin: 8px 0 0;
    color: #121c24;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.34;
}

.skincare-feature p {
    margin: 8px 0 0;
    color: rgba(18, 28, 36, 0.62);
    line-height: 1.62;
    font-size: 13.5px;
}

.skincare-icon {
    display: none;
    color: #4b98a6;
}

.skincare-icon path {
    stroke-dasharray: var(--icon-path-length, 90);
    stroke-dashoffset: var(--icon-path-length, 90);
}

.skincare-feature:hover .skincare-icon path,
.skincare-feature:focus-within .skincare-icon path,
.skincare-icon.is-drawn path {
    animation: skincare-icon-draw 1.25s ease forwards;
}

.skincare-editorial,
.skincare-footer {
    position: relative;
    z-index: 3;
    background: #fffcf9;
}

.skincare-editorial {
    padding: 86px 48px;
}

.skincare-editorial--split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.75fr);
    gap: clamp(40px, 6.5vw, 86px);
    align-items: center;
    border-top: 1px solid rgba(18, 28, 36, 0.08);
}

.skincare-editorial--center {
    display: grid;
    gap: 38px;
    padding-top: 38px;
    text-align: center;
}

.skincare-editorial--center .skincare-editorial__copy {
    max-width: 800px;
    margin: 0 auto;
}

.skincare-editorial__media,
.skincare-editorial__wide-media {
    display: block;
    overflow: hidden;
    border-radius: 12px;
    background: #efe7e1;
    box-shadow: 0 30px 75px rgba(90, 70, 75, 0.09);
    transition: transform 0.4s ease;
}

.skincare-editorial__media:hover,
.skincare-editorial__wide-media:hover {
    transform: scale(1.01);
}

.skincare-editorial__media {
    aspect-ratio: 4 / 3;
}

.skincare-editorial__wide-media {
    aspect-ratio: 16 / 7;
}

.skincare-editorial__media img,
.skincare-editorial__wide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.skincare-editorial__wide-media img {
    object-position: right center;
}

.skincare-editorial__copy h2 {
    max-width: 680px;
    margin: 0;
    color: #121c24;
    font-family: var(--showroom-serif);
    font-size: clamp(32px, 3.8vw, 52px);
    line-height: 1.18;
    letter-spacing: -0.025em;
    font-weight: 800;
}

.skincare-editorial--center .skincare-editorial__copy h2 {
    margin-right: auto;
    margin-left: auto;
}

.skincare-editorial__copy p {
    max-width: 620px;
    margin: 22px 0 0;
    color: rgba(18, 28, 36, 0.68);
    font-size: 16px;
    line-height: 1.82;
    font-weight: 500;
}

.skincare-editorial--center .skincare-editorial__copy p {
    margin-right: auto;
    margin-left: auto;
}

.skincare-editorial__copy a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: 30px;
    padding: 0 22px;
    border-radius: 999px;
    background: #121c24;
    color: #fffdf9;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(18, 28, 36, 0.12);
    transition: all 0.22s ease;
}

.skincare-editorial__copy a:hover {
    background: #a6526d;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(166, 82, 109, 0.25);
}

.skincare-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px 48px 38px;
    border-top: 1px solid rgba(18, 28, 36, 0.08);
    border-radius: 0 0 8px 8px;
}

.skincare-footer strong {
    color: #121c24;
    font-family: var(--showroom-display);
    font-size: 18px;
}

.skincare-footer p {
    margin: 4px 0 0;
    color: rgba(18, 28, 36, 0.54);
    font-size: 13px;
}

.skincare-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    color: rgba(18, 28, 36, 0.66);
    font-size: 13.5px;
    font-weight: 800;
}

.skincare-footer nav a {
    transition: color 0.2s;
}

.skincare-footer nav a:hover {
    color: #a6526d;
}

@keyframes skincare-icon-draw {
    to { stroke-dashoffset: 0; }
}

.skincare-visual.visual-preview {
    display: block;
    min-height: min(780px, calc(100vh - 86px));
    padding: 0;
    overflow: hidden;
    border-color: rgba(255, 250, 246, 0.20);
    background: #08131a;
    box-shadow: 0 28px 80px rgba(5, 13, 20, 0.22);
}

.skincare-visual__fallback {
    z-index: -4;
}

.skincare-webgl {
    position: absolute;
    inset: 0;
    z-index: -3;
}

.skincare-webgl canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.skincare-visual__css-transition {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.skincare-visual__css-transition-layer {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1.02);
    will-change: clip-path, filter, opacity, transform;
}

.skincare-visual__css-transition-layer--from {
    opacity: 0;
}

.skincare-visual__css-transition-layer--to {
    clip-path: polygon(0 0, 8% 0, 0 100%, 0 100%);
    opacity: 0;
}

.skincare-visual__css-transition.is-running .skincare-visual__css-transition-layer--from {
    animation: skincare-css-transition-from 0.98s cubic-bezier(.22,.61,.36,1) both;
}

.skincare-visual__css-transition.is-running .skincare-visual__css-transition-layer--to {
    animation: skincare-css-transition-to 0.98s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes skincare-css-transition-from {
    0% {
        opacity: 0.96;
        filter: blur(0) saturate(1);
        transform: scale(1);
    }
    44% {
        opacity: 0.72;
        filter: blur(3px) saturate(1.08);
        transform: scale(1.018);
    }
    100% {
        opacity: 0;
        filter: blur(9px) saturate(1.16);
        transform: scale(1.045);
    }
}

@keyframes skincare-css-transition-to {
    0% {
        clip-path: polygon(0 0, 10% 0, 0 100%, 0 100%);
        opacity: 1;
        filter: blur(10px) saturate(1.18) brightness(1.06);
        transform: scale(1.065);
    }
    48% {
        clip-path: polygon(0 0, 68% 0, 48% 100%, 0 100%);
        opacity: 1;
        filter: blur(3px) saturate(1.12) brightness(1.04);
    }
    100% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        opacity: 1;
        filter: blur(0) saturate(1) brightness(1);
        transform: scale(1);
    }
}

.skincare-visual.is-transitioning .skincare-webgl {
    animation: skincare-webgl-pulse 1.08s ease both;
}

@keyframes skincare-webgl-pulse {
    0% { filter: saturate(1) contrast(1); transform: scale(1); }
    42% { filter: saturate(1.16) contrast(1.08); transform: scale(1.018); }
    100% { filter: saturate(1) contrast(1); transform: scale(1); }
}

.skincare-visual__grain {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(5, 13, 20, 0.20), rgba(5, 13, 20, 0.04) 38%, rgba(5, 13, 20, 0.48)),
        radial-gradient(circle at 20% 24%, rgba(255, 250, 246, 0.24), transparent 28%),
        radial-gradient(circle at 82% 74%, rgba(217, 127, 150, 0.18), transparent 34%);
}

.skincare-visual__sweep {
    position: absolute;
    inset: -24% -18%;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 34%, rgba(255, 250, 246, 0.00) 42%, rgba(255, 250, 246, 0.58) 50%, rgba(127, 183, 199, 0.16) 55%, transparent 66%);
    filter: blur(10px);
    opacity: 0;
    transform: translateX(-72%) skewX(-9deg);
}

.skincare-visual__sweep.is-sweeping {
    animation: skincare-sweep 0.96s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes skincare-sweep {
    0% { opacity: 0; transform: translateX(-72%) skewX(-9deg); }
    16% { opacity: 0.82; }
    100% { opacity: 0; transform: translateX(72%) skewX(-9deg); }
}

.skincare-visual__topbar {
    position: relative;
    z-index: 4;
    margin: 16px 18px 0;
    min-height: 58px;
    border: 1px solid rgba(255, 250, 246, 0.16);
    border-radius: 8px;
    background: rgba(8, 19, 26, 0.24);
    color: #fffaf6;
    backdrop-filter: blur(14px);
}

.skincare-visual__topbar span {
    color: rgba(255, 250, 246, 0.62);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.skincare-visual__copy {
    position: relative;
    z-index: 3;
    display: grid;
    align-items: end;
    min-height: 494px;
    padding: 44px 44px 84px;
    font-family: 'Noto Sans KR', var(--showroom-font);
}

.skincare-visual__copy-panel {
    position: relative;
    grid-area: 1 / 1;
    max-width: 620px;
    min-height: 284px;
    align-self: end;
    padding: 38px 34px 42px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.06) 46%, rgba(127, 183, 199, 0.08)),
        repeating-linear-gradient(102deg, rgba(255, 255, 255, 0.10) 0 1px, transparent 1px 9px),
        radial-gradient(circle at 88% 8%, rgba(255, 255, 255, 0.18), transparent 32%);
    box-shadow: 0 26px 70px rgba(5, 13, 20, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.40), inset 0 -1px 0 rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(18px) saturate(1.18) contrast(1.02);
    -webkit-backdrop-filter: blur(18px) saturate(1.18) contrast(1.02);
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px) scale(0.985);
    transition: opacity 0.34s ease, transform 0.34s ease, filter 0.34s ease;
}

.skincare-visual__copy-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, 0.20), transparent 24%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 7px),
        radial-gradient(circle at 92% 10%, rgba(255, 255, 255, 0.18), transparent 30%);
    mix-blend-mode: screen;
    opacity: 0.56;
}

.skincare-visual__copy-panel.is-active {
    opacity: 1;
    pointer-events: auto;
    filter: blur(0);
    transform: translateY(0) scale(1);
}

.skincare-visual__copy h1 {
    position: relative;
    color: #111c24;
    font-size: clamp(24px, 3vw, 43px);
    font-family: 'Noto Sans KR', var(--showroom-font);
    font-weight: 900;
    text-shadow: none;
}

.skincare-visual__copy p {
    position: relative;
    color: rgba(17, 28, 36, 0.70);
    font-family: 'Noto Sans KR', var(--showroom-font);
    font-weight: 500;
}

.skincare-visual__copy .skincare-kicker {
    position: relative;
    color: #9d546c;
    font-family: 'Noto Sans KR', var(--showroom-font);
    font-weight: 900;
}

.skincare-visual__controls {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 44px 34px;
}

.skincare-visual__controls button {
    border-color: rgba(255, 250, 246, 0.26);
    background: rgba(255, 250, 246, 0.16);
    color: #fffaf6;
    box-shadow: 0 12px 30px rgba(5, 13, 20, 0.18);
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.skincare-visual__controls button:hover {
    border-color: rgba(255, 250, 246, 0.62);
    background: rgba(255, 250, 246, 0.26);
    transform: translateY(-1px);
}

.skincare-visual__dots {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
}

.skincare-visual__dots button {
    width: 42px;
    height: 5px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 250, 246, 0.34);
    cursor: pointer;
    transition: width 0.22s ease, background 0.22s ease;
}

.skincare-visual__dots button.is-active {
    width: 58px;
    background: #fffaf6;
}

.skincare-visual__play {
    display: none;
}

.skincare-visual__controls [aria-pressed="true"] .skincare-visual__pause {
    display: none;
}

.skincare-visual__controls [aria-pressed="true"] .skincare-visual__play {
    display: block;
}

.skincare-visual__thumbnails {
    position: absolute;
    right: 34px;
    bottom: 34px;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, 92px);
    gap: 12px;
}

.skincare-visual__thumbnails span {
    height: 66px;
    border: 1px solid rgba(255, 250, 246, 0.28);
    border-radius: 8px;
    background-image: var(--thumb-image);
    background-position: center;
    background-size: cover;
    box-shadow: 0 16px 30px rgba(5, 10, 15, 0.22);
    opacity: 0.58;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.skincare-visual__thumbnails span.is-active {
    border-color: #fffaf6;
    opacity: 1;
    transform: translateY(-4px);
}

.skincare-visual__issue {
    position: absolute;
    top: 96px;
    right: 34px;
    z-index: 4;
    display: grid;
    width: 150px;
    min-height: 150px;
    align-content: center;
    padding: 18px;
    border: 1px solid rgba(255, 250, 246, 0.16);
    border-radius: 8px;
    background: rgba(255, 250, 246, 0.12);
    color: #fffaf6;
    text-align: center;
    backdrop-filter: blur(18px);
}

.skincare-visual__issue span,
.skincare-visual__issue small {
    color: rgba(255, 250, 246, 0.68);
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.skincare-visual__issue strong {
    margin: 4px 0;
    font-family: var(--showroom-display);
    font-size: 62px;
    line-height: 1;
}

.skincare-visual.is-transitioning .skincare-visual__thumbnails span.is-active {
    transform: translateY(-4px) scale(1.04);
}

html[data-ui-theme="dark"] .skincare-landing__wash {
    background:
        linear-gradient(90deg, rgba(15, 23, 31, 0.94) 0%, rgba(15, 23, 31, 0.76) 42%, rgba(15, 23, 31, 0.16) 78%),
        radial-gradient(circle at 18% 24%, rgba(127, 183, 199, 0.28), transparent 34%),
        radial-gradient(circle at 44% 86%, rgba(217, 127, 150, 0.22), transparent 28%);
}

html[data-ui-theme="dark"] .skincare-landing,
html[data-ui-theme="dark"] .skincare-landing__nav,
html[data-ui-theme="dark"] .skincare-landing__hero h1,
html[data-ui-theme="dark"] .skincare-feature h2,
html[data-ui-theme="dark"] .skincare-landing__metrics strong {
    color: #fffaf6;
}

html[data-ui-theme="dark"] .skincare-landing__brand small,
html[data-ui-theme="dark"] .skincare-landing__links,
html[data-ui-theme="dark"] .skincare-landing__hero p,
html[data-ui-theme="dark"] .skincare-feature p {
    color: rgba(255, 250, 246, 0.68);
}

html[data-ui-theme="dark"] .skincare-feature,
html[data-ui-theme="dark"] .skincare-landing__metrics span,
html[data-ui-theme="dark"] .skincare-landing__cta button,
html[data-ui-theme="dark"] .skincare-landing__actions button {
    border-color: rgba(255, 250, 246, 0.16);
    background: rgba(15, 23, 31, 0.54);
    color: #fffaf6;
}

html[data-ui-theme="dark"] .skincare-editorial,
html[data-ui-theme="dark"] .skincare-footer {
    background: #101923;
}

html[data-ui-theme="dark"] .skincare-editorial,
html[data-ui-theme="dark"] .skincare-footer {
    border-color: rgba(255, 250, 246, 0.12);
}

html[data-ui-theme="dark"] .skincare-editorial__copy h2,
html[data-ui-theme="dark"] .skincare-footer strong {
    color: #fffaf6;
}

html[data-ui-theme="dark"] .skincare-editorial__copy p,
html[data-ui-theme="dark"] .skincare-footer p,
html[data-ui-theme="dark"] .skincare-footer nav {
    color: rgba(255, 250, 246, 0.66);
}

@media (max-width: 1180px) {
    .skincare-landing__hero,
    .skincare-visual__copy {
        min-height: 500px;
    }

    .skincare-landing__hero h1,
    .skincare-visual__copy h1 {
        font-size: 58px;
    }

    .skincare-landing__teaser {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .skincare-editorial--split {
        grid-template-columns: 1fr;
    }

    .skincare-editorial__wide-media {
        aspect-ratio: 16 / 8;
    }
}

@media (max-width: 860px) {
    .skincare-landing__nav,
    .skincare-visual__topbar,
    .skincare-landing__hero,
    .skincare-visual__copy,
    .skincare-visual__controls {
        padding-right: 24px;
        padding-left: 24px;
    }

    .skincare-landing__links {
        display: none;
    }

    .skincare-landing__hero {
        grid-template-columns: 1fr;
        align-items: end;
        min-height: 560px;
        padding-top: 86px;
    }

    .skincare-landing__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        justify-self: stretch;
    }

    .skincare-landing__metrics span {
        display: grid;
        gap: 4px;
        min-height: 70px;
    }

    .skincare-landing__hero h1,
    .skincare-visual__copy h1 {
        font-size: 44px;
    }

    .skincare-landing__teaser {
        grid-template-columns: 1fr;
        padding: 0 24px 28px;
    }

    .skincare-editorial {
        padding: 52px 24px;
    }

    .skincare-editorial--center {
        padding-top: 28px;
    }

    .skincare-editorial__media {
        aspect-ratio: 1 / 1.05;
    }

    .skincare-editorial__wide-media {
        aspect-ratio: 4 / 5;
    }

    .skincare-footer {
        align-items: flex-start;
        flex-direction: column;
        padding: 26px 24px 30px;
    }

    .skincare-visual__copy {
        min-height: 590px;
        padding-top: 92px;
    }

    .skincare-visual__copy-panel {
        max-width: 100%;
        padding: 24px 22px 26px;
    }

    .skincare-visual__controls {
        padding-bottom: 26px;
    }

    .skincare-visual__thumbnails {
        display: none;
    }

    .skincare-visual__issue {
        display: none;
    }
}

@media (max-width: 560px) {
    .skincare-landing__nav,
    .skincare-visual__topbar {
        min-height: 66px;
        padding-right: 18px;
        padding-left: 18px;
    }

    .skincare-landing__brand small,
    .skincare-visual__topbar span {
        display: none;
    }

    .skincare-landing__actions a {
        display: none;
    }

    .skincare-landing__hero,
    .skincare-visual__copy,
    .skincare-visual__controls {
        padding-right: 18px;
        padding-left: 18px;
    }

    .skincare-landing__hero h1,
    .skincare-visual__copy h1 {
        font-size: 38px;
        line-height: 1.08;
    }

    .skincare-landing__hero p,
    .skincare-visual__copy p {
        font-size: 15px;
    }

    .skincare-landing__metrics {
        grid-template-columns: 1fr;
    }

    .skincare-editorial {
        padding-right: 18px;
        padding-left: 18px;
    }

    .skincare-editorial__copy h2 {
        font-size: 32px;
    }

    .skincare-footer {
        padding-right: 18px;
        padding-left: 18px;
    }

    .skincare-visual__controls {
        flex-wrap: wrap;
    }
}

.skincare-visual .skincare-visual__controls {
    position: absolute;
    left: 28px;
    bottom: 12px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 6px;
    width: auto;
    min-height: 0;
    padding: 0;
}

.skincare-visual .skincare-visual__controls button {
    display: inline-grid;
    width: 24px;
    height: 24px;
    min-width: 24px;
    padding: 0;
    place-items: center;
    border-color: rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    background: rgba(8, 19, 26, 0.20);
    box-shadow: 0 8px 18px rgba(5, 13, 20, 0.14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.skincare-visual .skincare-visual__controls button svg {
    width: 12px;
    height: 12px;
    stroke-width: 2.6;
}

.skincare-visual .skincare-visual__controls button:hover {
    background: rgba(255, 255, 255, 0.20);
    transform: translateY(-1px);
}

.skincare-visual .skincare-visual__dots {
    gap: 4px;
    padding: 0 2px;
}

.skincare-visual .skincare-visual__dots button {
    width: 16px;
    height: 3px;
    min-width: 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.34);
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.skincare-visual .skincare-visual__dots button.is-active {
    width: 28px;
    background: #fffaf6;
}

@media (max-width: 560px) {
    .skincare-visual .skincare-visual__controls {
        left: 14px;
        bottom: 10px;
        gap: 5px;
    }
}

.skincare-visual.visual-preview {
    --visual-gutter: clamp(28px, 4.2vw, 56px);
    --visual-top: clamp(20px, 2.2vw, 30px);
    --visual-bottom: clamp(16px, 1.8vw, 24px);
    --visual-copy-bottom: clamp(72px, 8vw, 104px);
}

.skincare-visual .skincare-visual__grain {
    background:
        linear-gradient(90deg, rgba(7, 14, 20, 0.30) 0%, rgba(7, 14, 20, 0.12) 38%, rgba(7, 14, 20, 0.04) 72%),
        linear-gradient(180deg, rgba(7, 14, 20, 0.10) 0%, rgba(7, 14, 20, 0.02) 42%, rgba(7, 14, 20, 0.36) 100%),
        radial-gradient(circle at 18% 28%, rgba(255, 250, 246, 0.12), transparent 34%),
        radial-gradient(circle at 82% 74%, rgba(217, 127, 150, 0.12), transparent 32%);
}

.skincare-visual .skincare-visual__topbar {
    position: absolute;
    top: var(--visual-top);
    right: var(--visual-gutter);
    left: var(--visual-gutter);
    min-height: 48px;
    margin: 0;
    padding: 0 28px;
    border-color: rgba(255, 255, 255, 0.22);
    background:
        linear-gradient(135deg, rgba(11, 22, 29, 0.22), rgba(11, 22, 29, 0.10)),
        rgba(255, 255, 255, 0.06);
    box-shadow: 0 18px 46px rgba(5, 13, 20, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(16px) saturate(1.12);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
}

.skincare-visual .skincare-visual__brand {
    font-family: 'Noto Sans KR', var(--showroom-font);
    font-size: 13px;
    font-weight: 900;
}

.skincare-visual .skincare-visual__topbar span {
    color: rgba(255, 250, 246, 0.72);
    font-size: 10px;
}

.skincare-visual .skincare-visual__copy {
    position: absolute;
    bottom: var(--visual-copy-bottom);
    left: var(--visual-gutter);
    width: min(520px, calc(100% - (var(--visual-gutter) * 2)));
    min-height: 0;
    padding: 0;
}

.skincare-visual .skincare-visual__copy-panel {
    display: grid;
    align-content: center;
    width: 100%;
    max-width: none;
    min-height: 304px;
    padding: 36px 36px 38px;
    border-color: rgba(255, 255, 255, 0.24);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.30), rgba(255, 255, 255, 0.10) 52%, rgba(127, 183, 199, 0.10)),
        repeating-linear-gradient(96deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 10px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 11px);
    box-shadow: 0 24px 64px rgba(5, 13, 20, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.34), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(14px) saturate(1.14);
    -webkit-backdrop-filter: blur(14px) saturate(1.14);
}

.skincare-visual .skincare-visual__copy-panel::before {
    background:
        linear-gradient(122deg, rgba(255, 255, 255, 0.30), transparent 26%),
        radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.22), transparent 30%);
    opacity: 0.42;
}

.skincare-visual .skincare-visual__copy-panel::after {
    content: "";
    position: absolute;
    inset: 1px;
    pointer-events: none;
    border-radius: 7px;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.16) 42%, transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 28%);
    opacity: 0.30;
}

.skincare-visual .skincare-kicker {
    z-index: 1;
    margin-bottom: 14px;
    color: #9e4d66;
    font-size: 11px;
}

.skincare-visual .skincare-visual__copy h1 {
    z-index: 1;
    max-width: 440px;
    font-size: clamp(28px, 2.6vw, 38px);
    line-height: 1.16;
}

.skincare-visual .skincare-visual__copy p {
    z-index: 1;
    max-width: 450px;
    margin-top: 16px;
    color: rgba(17, 28, 36, 0.74);
    font-size: 15px;
    line-height: 1.76;
}

.skincare-visual .skincare-visual__issue {
    top: calc(var(--visual-top) + 80px);
    right: var(--visual-gutter);
    width: 126px;
    min-height: 126px;
    padding: 16px;
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 42px rgba(5, 13, 20, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.skincare-visual .skincare-visual__issue strong {
    font-size: 50px;
}

.skincare-visual .skincare-visual__thumbnails {
    right: var(--visual-gutter);
    bottom: var(--visual-bottom);
    grid-template-columns: repeat(3, 82px);
    gap: 10px;
}

.skincare-visual .skincare-visual__thumbnails span {
    height: 58px;
    border-color: rgba(255, 255, 255, 0.26);
    box-shadow: 0 14px 28px rgba(5, 13, 20, 0.18);
}

.skincare-visual .skincare-visual__controls {
    left: var(--visual-gutter);
    bottom: var(--visual-bottom);
    flex-wrap: nowrap;
    opacity: 0.82;
}

@media (max-width: 860px) {
    .skincare-visual.visual-preview {
        --visual-gutter: 24px;
        --visual-copy-bottom: 64px;
    }

    .skincare-visual .skincare-visual__copy-panel {
        min-height: 278px;
        padding: 30px 26px 32px;
    }
}

@media (max-width: 560px) {
    .skincare-visual.visual-preview {
        --visual-gutter: 16px;
        --visual-top: 14px;
        --visual-bottom: 10px;
        --visual-copy-bottom: 56px;
    }

    .skincare-visual .skincare-visual__topbar {
        min-height: 48px;
        padding: 0 18px;
    }

    .skincare-visual .skincare-visual__copy h1 {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .stage-panel.is-active,
    .skincare-feature:hover .skincare-icon path,
    .skincare-feature:focus-within .skincare-icon path,
    .skincare-icon.is-drawn path {
        animation: none;
    }

    .skincare-visual__copy-panel {
        transition: none;
    }
}

/* Sample 5: Nuclear / Energy
   Scope: [data-demo-theme="nuclear-energy"] .n5-* */
[data-demo-theme="nuclear-energy"] {
    --n5-graphite: #111827;
    --n5-ink: #181512;
    --n5-core: #f2b84b;
    --n5-plasma: #e7653c;
    --n5-cobalt: #2f6dd1;
    --n5-mint: #7ccfbd;
    --n5-steel: #77818f;
    --n5-paper: #f7f4ec;
    --n5-white: #fffaf0;
    --n5-page-pad: clamp(24px, 5vw, 88px);
    --n5-section-gap: clamp(54px, 7vw, 104px);
    --n5-card-gap: 22px;
    --n5-card-pad: 24px;
}

[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] {
    --n5-graphite: #070a10;
    --n5-ink: #f6f1e7;
    --n5-core: #ffcc66;
    --n5-plasma: #ff7a4d;
    --n5-cobalt: #6fa0ff;
    --n5-mint: #9be5d2;
    --n5-steel: #9ca7b8;
    --n5-paper: #141922;
    --n5-white: #fff7df;
}

[data-demo-theme="nuclear-energy"] .n5-landing,
[data-demo-theme="nuclear-energy"] .n5-visual {
    width: min(100%, 1920px);
    margin: 0 auto;
    color: var(--n5-ink);
    background:
        radial-gradient(circle at 78% 4%, rgba(242, 184, 75, .2), transparent 28%),
        linear-gradient(135deg, var(--n5-paper), #ebe5d8);
    font-family: "Pretendard Variable", "Noto Sans KR", system-ui, sans-serif;
    overflow: hidden;
}

[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-landing,
[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-visual {
    color: var(--n5-ink);
    background:
        radial-gradient(circle at 70% 10%, rgba(255, 204, 102, .18), transparent 32%),
        linear-gradient(135deg, #070a10, #111827 58%, #141922);
}

[data-demo-theme="nuclear-energy"] .n5-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--n5-cobalt);
    font: 700 12px/1 "Outfit", sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--n5-core);
}

[data-demo-theme="nuclear-energy"] .n5-hero {
    position: relative;
    min-height: min(780px, 88vh);
    padding: clamp(26px, 4vw, 52px) var(--n5-page-pad);
    isolation: isolate;
}

[data-demo-theme="nuclear-energy"] .n5-hero__nav {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: clamp(18px, 3vw, 44px);
    color: var(--n5-white);
    font-size: 13px;
}

[data-demo-theme="nuclear-energy"] .n5-hero__nav strong {
    margin-right: auto;
    font: 800 19px/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-hero__nav span {
    color: rgba(255, 250, 240, .72);
}

[data-demo-theme="nuclear-energy"] .n5-core-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #070a10;
}

[data-demo-theme="nuclear-energy"] .n5-core-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 52%;
    transform: scale(1.025);
}

[data-demo-theme="nuclear-energy"] .n5-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(7, 10, 16, .88), rgba(7, 10, 16, .28) 54%, rgba(7, 10, 16, .72)),
        linear-gradient(0deg, rgba(7, 10, 16, .88), transparent 42%);
}

[data-demo-theme="nuclear-energy"] .n5-hero__layout {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(160px, 240px) minmax(320px, 760px) minmax(180px, 260px);
    align-items: end;
    gap: clamp(22px, 4vw, 64px);
    min-height: calc(min(780px, 88vh) - 118px);
    padding-top: 48px;
}

[data-demo-theme="nuclear-energy"] .n5-issue {
    color: rgba(255, 250, 240, .76);
    border-left: 1px solid rgba(242, 184, 75, .6);
    padding-left: 18px;
}

[data-demo-theme="nuclear-energy"] .n5-issue span,
[data-demo-theme="nuclear-energy"] .n5-issue em {
    display: block;
    font: 600 12px/1.6 "Outfit", sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-issue strong {
    display: block;
    margin: 14px 0 6px;
    color: var(--n5-white);
    font-size: 20px;
}

[data-demo-theme="nuclear-energy"] .n5-hero__copy {
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-hero__copy h1 {
    margin: 18px 0 20px;
    max-width: 680px;
    font: 700 clamp(38px, 5vw, 76px)/1.12 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="nuclear-energy"] .n5-hero__copy p {
    max-width: 58ch;
    color: rgba(255, 250, 240, .78);
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.8;
}

[data-demo-theme="nuclear-energy"] .n5-signal-rail {
    display: grid;
    gap: 12px;
    color: rgba(255, 250, 240, .76);
    font: 700 12px/1 "Outfit", sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-signal-rail span {
    position: relative;
    padding: 15px 0 15px 18px;
    border-left: 1px solid rgba(255, 250, 240, .22);
}

[data-demo-theme="nuclear-energy"] .n5-signal-rail span::before {
    content: "";
    position: absolute;
    left: -3px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--n5-core);
    box-shadow: 0 0 20px var(--n5-core);
    animation: n5-rail-pulse 3.6s ease-in-out infinite;
}

[data-demo-theme="nuclear-energy"] .n5-signal-rail span:nth-child(2)::before { animation-delay: .35s; }
[data-demo-theme="nuclear-energy"] .n5-signal-rail span:nth-child(3)::before { animation-delay: .7s; }
[data-demo-theme="nuclear-energy"] .n5-signal-rail span:nth-child(4)::before { animation-delay: 1.05s; }

[data-demo-theme="nuclear-energy"] .n5-section {
    padding: var(--n5-section-gap) var(--n5-page-pad);
}

[data-demo-theme="nuclear-energy"] .n5-section__head {
    max-width: 820px;
    margin-bottom: 34px;
}

[data-demo-theme="nuclear-energy"] .n5-section__head h2,
[data-demo-theme="nuclear-energy"] .n5-route__story h2,
[data-demo-theme="nuclear-energy"] .n5-ledger h2,
[data-demo-theme="nuclear-energy"] .n5-turbine h2 {
    margin: 14px 0 0;
    font: 700 clamp(25px, 2.7vw, 44px)/1.26 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="nuclear-energy"] .n5-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--n5-card-gap);
    margin-top: -58px;
    position: relative;
    z-index: 4;
}

[data-demo-theme="nuclear-energy"] .n5-trust article,
[data-demo-theme="nuclear-energy"] .n5-safety article,
[data-demo-theme="nuclear-energy"] .n5-ledger article,
[data-demo-theme="nuclear-energy"] .n5-research article,
[data-demo-theme="nuclear-energy"] .n5-people article {
    position: relative;
    border: 1px solid color-mix(in srgb, var(--n5-steel), transparent 58%);
    border-radius: 8px;
    background: color-mix(in srgb, var(--n5-white), transparent 18%);
    box-shadow: 0 24px 80px rgba(17, 24, 39, .08);
}

[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-trust article,
[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-safety article,
[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-ledger article,
[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-research article,
[data-ui-theme="dark"][data-demo-theme="nuclear-energy"] .n5-people article {
    background: rgba(255, 250, 240, .045);
    border-color: rgba(255, 250, 240, .12);
}

[data-demo-theme="nuclear-energy"] .n5-trust article {
    min-height: 210px;
    padding: var(--n5-card-pad);
}

[data-demo-theme="nuclear-energy"] .n5-trust article > span {
    color: var(--n5-core);
    font: 800 13px/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-trust h2,
[data-demo-theme="nuclear-energy"] .n5-safety h3,
[data-demo-theme="nuclear-energy"] .n5-research h3 {
    margin: 16px 0 10px;
    font-size: clamp(19px, 1.45vw, 23px);
    line-height: 1.28;
}

[data-demo-theme="nuclear-energy"] .n5-trust p,
[data-demo-theme="nuclear-energy"] .n5-safety p,
[data-demo-theme="nuclear-energy"] .n5-research p,
[data-demo-theme="nuclear-energy"] .n5-route__story p,
[data-demo-theme="nuclear-energy"] .n5-turbine p,
[data-demo-theme="nuclear-energy"] .n5-questions p {
    color: color-mix(in srgb, var(--n5-ink), transparent 24%);
    line-height: 1.75;
}

[data-demo-theme="nuclear-energy"] .n5-trust i {
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 54px;
    height: 54px;
    border: 1px solid var(--n5-core);
    border-radius: 50%;
    box-shadow: inset 0 0 20px rgba(242, 184, 75, .16), 0 0 24px rgba(242, 184, 75, .24);
}

[data-demo-theme="nuclear-energy"] .n5-route {
    display: grid;
    grid-template-columns: minmax(360px, 1.2fr) minmax(320px, .8fr);
    gap: clamp(28px, 5vw, 68px);
    align-items: center;
}

[data-demo-theme="nuclear-energy"] .n5-route__map {
    position: relative;
    min-height: 0;
    aspect-ratio: 1.36 / 1;
    border-radius: 8px;
    overflow: hidden;
    background:
        radial-gradient(circle at 24% 66%, rgba(242, 184, 75, .22), transparent 24%),
        radial-gradient(circle at 72% 32%, rgba(47, 109, 209, .22), transparent 26%),
        linear-gradient(145deg, #111827, #070a10);
}

[data-demo-theme="nuclear-energy"] .n5-route__map > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 52%;
    opacity: .68;
    filter: saturate(.9) contrast(1.04);
}

[data-demo-theme="nuclear-energy"] .n5-route__map svg {
    position: absolute;
    inset: 8%;
    width: 84%;
    height: 84%;
    fill: none;
    stroke: var(--n5-mint);
    stroke-width: 2;
    stroke-dasharray: 8 12;
    opacity: .82;
}

[data-demo-theme="nuclear-energy"] .n5-route__node {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--n5-core);
    transform: translate(-50%, -50%);
    cursor: pointer;
}

[data-demo-theme="nuclear-energy"] .n5-route__node span,
[data-demo-theme="nuclear-energy"] .n5-route__node::before,
[data-demo-theme="nuclear-energy"] .n5-route__node::after {
    content: "";
    position: absolute;
    inset: 11px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 22px currentColor;
}

[data-demo-theme="nuclear-energy"] .n5-route__node::before {
    inset: 2px;
    background: transparent;
    border: 1px solid currentColor;
    opacity: .5;
}

[data-demo-theme="nuclear-energy"] .n5-route__node::after {
    inset: -4px;
    background: transparent;
    border: 1px solid currentColor;
    opacity: 0;
    transform: scale(.75);
}

[data-demo-theme="nuclear-energy"] .n5-route__node:hover::after,
[data-demo-theme="nuclear-energy"] .n5-route__node.is-active::after {
    animation: n5-pulse 1.2s ease-out infinite;
}

[data-demo-theme="nuclear-energy"] .n5-route__card {
    margin-top: 26px;
    padding: var(--n5-card-pad);
    border-left: 3px solid var(--n5-core);
    background: color-mix(in srgb, var(--n5-core), transparent 90%);
    border-radius: 0 8px 8px 0;
}

[data-demo-theme="nuclear-energy"] .n5-route__card span,
[data-demo-theme="nuclear-energy"] .n5-ledger article > span {
    color: var(--n5-cobalt);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-route__card strong {
    display: block;
    margin: 12px 0 8px;
    font-size: 26px;
}

[data-demo-theme="nuclear-energy"] .n5-safety__grid,
[data-demo-theme="nuclear-energy"] .n5-research__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--n5-card-gap);
}

[data-demo-theme="nuclear-energy"] .n5-safety article,
[data-demo-theme="nuclear-energy"] .n5-research article {
    min-height: 250px;
    padding: var(--n5-card-pad);
    overflow: hidden;
}

[data-demo-theme="nuclear-energy"] .n5-card-image {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    margin: 0 0 20px;
    border-radius: 6px;
    overflow: hidden;
    background: #111827;
}

[data-demo-theme="nuclear-energy"] .n5-card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(7, 10, 16, .22));
    pointer-events: none;
}

[data-demo-theme="nuclear-energy"] .n5-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease, filter .5s ease;
}

[data-demo-theme="nuclear-energy"] .n5-safety article:hover .n5-card-image img,
[data-demo-theme="nuclear-energy"] .n5-research article:hover .n5-card-image img {
    transform: scale(1.035);
    filter: saturate(1.05) contrast(1.03);
}

[data-demo-theme="nuclear-energy"] .n5-card-image--safety-1 img { object-position: 48% 46%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--safety-2 img { object-position: 50% 48%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--safety-3 img { object-position: 52% 55%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--safety-4 img { object-position: 50% 50%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--research-1 img { object-position: 50% 52%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--research-2 img { object-position: 50% 46%; }
[data-demo-theme="nuclear-energy"] .n5-card-image--research-3 img,
[data-demo-theme="nuclear-energy"] .n5-card-image--research-4 img { object-position: 50% 50%; }

[data-demo-theme="nuclear-energy"] .n5-safety article > span {
    color: var(--n5-core);
    font: 800 28px/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-safety b {
    position: absolute;
    inset: auto -30% 18px 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--n5-core), transparent);
    transform: translateX(-55%);
    transition: transform .6s ease;
}

[data-demo-theme="nuclear-energy"] .n5-safety article:hover b {
    transform: translateX(15%);
}

[data-demo-theme="nuclear-energy"] .n5-ledger {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) 1.2fr;
    gap: clamp(28px, 5vw, 62px);
    align-items: start;
    background: var(--n5-graphite);
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-ledger h2 {
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-ledger > div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--n5-card-gap);
}

[data-demo-theme="nuclear-energy"] .n5-ledger article {
    padding: var(--n5-card-pad);
    background: rgba(255, 250, 240, .06);
}

[data-demo-theme="nuclear-energy"] .n5-ledger strong {
    display: block;
    margin: 16px 0 8px;
    color: var(--n5-core);
    font: 800 clamp(36px, 4vw, 64px)/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-ledger h3 {
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-ledger p {
    color: rgba(255, 250, 240, .68);
}

[data-demo-theme="nuclear-energy"] .n5-turbine {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(28px, 5vw, 66px);
    align-items: center;
}

[data-demo-theme="nuclear-energy"] .n5-turbine__visual {
    position: relative;
    min-height: 0;
    aspect-ratio: 1.56 / 1;
    border-radius: 8px;
    overflow: hidden;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 54px),
        radial-gradient(circle at 50% 42%, rgba(242,184,75,.28), transparent 34%),
        linear-gradient(135deg, #1b2430, #070a10);
}

[data-demo-theme="nuclear-energy"] .n5-turbine__visual img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

[data-demo-theme="nuclear-energy"] .n5-people {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--n5-card-gap);
    background: color-mix(in srgb, var(--n5-core), transparent 91%);
}

[data-demo-theme="nuclear-energy"] .n5-people article {
    padding: var(--n5-card-pad);
}

[data-demo-theme="nuclear-energy"] .n5-people article > div {
    width: 104px;
    height: 104px;
    margin-bottom: 24px;
    border: 1px solid var(--n5-core);
    border-radius: 50%;
    overflow: hidden;
}

[data-demo-theme="nuclear-energy"] .n5-people article > div img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 42%;
}

[data-demo-theme="nuclear-energy"] .n5-people blockquote {
    margin: 0 0 22px;
    font: 600 clamp(18px, 1.45vw, 21px)/1.58 "Noto Serif KR", serif;
}

[data-demo-theme="nuclear-energy"] .n5-people strong {
    display: block;
    font-size: 18px;
}

[data-demo-theme="nuclear-energy"] .n5-mix {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    padding-block: 0;
    background: var(--n5-graphite);
}

[data-demo-theme="nuclear-energy"] .n5-mix span {
    min-height: 170px;
    display: grid;
    place-items: center;
    color: var(--n5-white);
    border-right: 1px solid rgba(255, 250, 240, .12);
    background: linear-gradient(180deg, rgba(242,184,75,.16), transparent);
    font: 800 clamp(16px, 2vw, 28px)/1 "Outfit", sans-serif;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-mix span:nth-child(even) {
    background: linear-gradient(180deg, rgba(47,109,209,.2), transparent);
}

[data-demo-theme="nuclear-energy"] .n5-questions__list {
    display: grid;
    gap: 10px;
    max-width: 980px;
}

[data-demo-theme="nuclear-energy"] .n5-questions article {
    border-top: 1px solid color-mix(in srgb, var(--n5-steel), transparent 54%);
}

[data-demo-theme="nuclear-energy"] .n5-questions button {
    width: 100%;
    min-height: 70px;
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 18px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

[data-demo-theme="nuclear-energy"] .n5-questions button span {
    color: var(--n5-core);
    font: 800 18px/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-questions button strong {
    font-size: 20px;
}

[data-demo-theme="nuclear-energy"] .n5-questions article p {
    display: none;
    margin: 0 0 26px 66px;
    max-width: 68ch;
}

[data-demo-theme="nuclear-energy"] .n5-questions article.is-open p {
    display: block;
}

[data-demo-theme="nuclear-energy"] .n5-footer {
    padding: clamp(56px, 8vw, 120px) clamp(24px, 5vw, 92px) 40px;
    color: var(--n5-white);
    background: #070a10;
}

[data-demo-theme="nuclear-energy"] .n5-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
}

[data-demo-theme="nuclear-energy"] .n5-footer p {
    max-width: 62ch;
    color: rgba(255, 250, 240, .68);
    line-height: 1.75;
}

[data-demo-theme="nuclear-energy"] .n5-footer button {
    min-height: 44px;
    margin: 16px 10px 0 0;
    padding: 0 18px;
    border: 1px solid rgba(255, 250, 240, .24);
    border-radius: 6px;
    background: transparent;
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-footer b {
    grid-column: 1 / -1;
    margin-top: 38px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 250, 240, .24);
    font: 800 clamp(42px, 9vw, 140px)/.9 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-visual {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 680px;
    background: #070a10;
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-visual__stage,
[data-demo-theme="nuclear-energy"] .n5-visual__slide,
[data-demo-theme="nuclear-energy"] .n5-visual__art,
[data-demo-theme="nuclear-energy"] .n5-visual__shade,
[data-demo-theme="nuclear-energy"] .n5-visual__sweep {
    position: absolute;
    inset: 0;
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide {
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .75s ease, transform .75s ease, filter .75s ease;
    filter: saturate(.85) contrast(.92);
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    filter: saturate(1) contrast(1);
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-leaving {
    opacity: 0;
    transform: translateY(-8px);
}

[data-demo-theme="nuclear-energy"] .n5-visual__art picture {
    width: 100%;
    height: 100%;
    display: block;
    transform: translate(var(--n5-shift-x), var(--n5-shift-y)) scale(1.04);
    transition: transform .18s ease-out;
}

[data-demo-theme="nuclear-energy"] .n5-visual__art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 50%;
}

[data-demo-theme="nuclear-energy"] .n5-visual__shade {
    background:
        radial-gradient(circle at var(--n5-pointer-x) var(--n5-pointer-y), rgba(242,184,75,.16), transparent 20%),
        linear-gradient(90deg, rgba(7,10,16,.76), rgba(7,10,16,.24) 48%, rgba(7,10,16,.58)),
        linear-gradient(0deg, rgba(7,10,16,.88), transparent 48%);
}

[data-demo-theme="nuclear-energy"] .n5-visual__sweep {
    z-index: 4;
    opacity: 0;
    background:
        linear-gradient(105deg, transparent 0 38%, rgba(255, 204, 102, .3) 46%, rgba(124, 207, 189, .14) 50%, transparent 61%),
        radial-gradient(circle at 36% 62%, rgba(242, 184, 75, .2), transparent 22%);
    transform: translateX(-18%);
    pointer-events: none;
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__sweep {
    animation: n5-energy-sweep 1.15s ease-out .12s both;
}

[data-demo-theme="nuclear-energy"] .n5-visual__content {
    position: absolute;
    left: clamp(32px, 6vw, 110px);
    bottom: clamp(126px, 13vw, 190px);
    z-index: 5;
    max-width: 700px;
}

[data-demo-theme="nuclear-energy"] .n5-visual__kicker {
    color: var(--n5-core);
    font: 800 13px/1 "Outfit", sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
}

[data-demo-theme="nuclear-energy"] .n5-visual__content h1 {
    display: flex;
    flex-wrap: wrap;
    gap: .18em .3em;
    margin: 18px 0 18px;
    font: 700 clamp(34px, 4.8vw, 72px)/1.12 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="nuclear-energy"] .n5-visual__content h1 span {
    opacity: 0;
    transform: translateY(16px);
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__content h1 span {
    animation: n5-word-in .58s cubic-bezier(.2, .75, .18, 1) forwards;
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__content h1 span:nth-child(2) { animation-delay: .05s; }
[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__content h1 span:nth-child(3) { animation-delay: .1s; }
[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__content h1 span:nth-child(4) { animation-delay: .15s; }

[data-demo-theme="nuclear-energy"] .n5-visual__subtitle {
    max-width: 54ch;
    color: rgba(255, 250, 240, .76);
    font-size: clamp(14px, 1.12vw, 18px);
    line-height: 1.75;
    opacity: 0;
    transform: translateY(12px);
}

[data-demo-theme="nuclear-energy"] .n5-visual__underline {
    display: block;
    width: min(260px, 44vw);
    height: 1px;
    margin-top: 22px;
    background: linear-gradient(90deg, var(--n5-core), rgba(124, 207, 189, .66), transparent);
    opacity: 0;
    transform: scaleX(.2);
    transform-origin: left;
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__subtitle {
    animation: n5-subtitle-in .62s ease .24s forwards;
}

[data-demo-theme="nuclear-energy"] .n5-visual__slide.is-active .n5-visual__underline {
    animation: n5-underline-sweep .72s ease .42s forwards;
}

[data-demo-theme="nuclear-energy"] .n5-visual__signal {
    position: absolute;
    right: clamp(28px, 5vw, 82px);
    top: clamp(52px, 8vw, 118px);
    z-index: 4;
    display: grid;
    gap: 16px;
}

[data-demo-theme="nuclear-energy"] .n5-visual__signal span {
    position: relative;
    min-width: 140px;
    padding: 14px 0 14px 18px;
    border-left: 1px solid rgba(255, 250, 240, .24);
    color: rgba(255, 250, 240, .7);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .1em;
}

[data-demo-theme="nuclear-energy"] .n5-visual__signal span::before {
    content: "";
    position: absolute;
    left: -3px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--n5-core);
    box-shadow: 0 0 18px rgba(242, 184, 75, .8);
    transform: translateY(-50%);
    animation: n5-rail-pulse 3s ease-in-out infinite;
}

[data-demo-theme="nuclear-energy"] .n5-visual__signal span:nth-child(2)::before { animation-delay: .4s; }
[data-demo-theme="nuclear-energy"] .n5-visual__signal span:nth-child(3)::before { animation-delay: .8s; }

[data-demo-theme="nuclear-energy"] .n5-visual__pulse {
    position: absolute;
    left: var(--n5-pointer-x);
    top: var(--n5-pointer-y);
    z-index: 6;
    width: 30px;
    height: 30px;
    border: 1px solid var(--n5-core);
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2);
    pointer-events: none;
}

[data-demo-theme="nuclear-energy"] .n5-visual.is-pulsing .n5-visual__pulse {
    animation: n5-visual-pulse .78s ease-out;
}

[data-demo-theme="nuclear-energy"] .n5-visual__particles {
    position: absolute;
    left: var(--n5-pointer-x);
    top: var(--n5-pointer-y);
    z-index: 6;
    width: 190px;
    height: 190px;
    opacity: 0;
    transform: translate(-50%, -50%);
    background:
        radial-gradient(circle at 20% 40%, var(--n5-core) 0 2px, transparent 3px),
        radial-gradient(circle at 70% 30%, var(--n5-mint) 0 2px, transparent 3px),
        radial-gradient(circle at 48% 76%, var(--n5-cobalt) 0 2px, transparent 3px),
        radial-gradient(circle at 84% 62%, var(--n5-core) 0 1px, transparent 3px);
    pointer-events: none;
}

[data-demo-theme="nuclear-energy"] .n5-visual.is-pulsing .n5-visual__particles {
    animation: n5-particles .72s ease-out;
}

[data-demo-theme="nuclear-energy"] .n5-visual__lattice {
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: .14;
    background:
        linear-gradient(90deg, rgba(255,250,240,.16) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,250,240,.12) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at var(--n5-pointer-x) var(--n5-pointer-y), #000, transparent 52%);
    pointer-events: none;
    animation: n5-core-breathe 5.4s ease-in-out infinite;
}

[data-demo-theme="nuclear-energy"] .n5-visual__footer {
    position: absolute;
    left: clamp(28px, 6vw, 110px);
    right: clamp(28px, 6vw, 110px);
    bottom: clamp(24px, 4vw, 52px);
    z-index: 7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots {
    display: flex;
    align-items: center;
    gap: 16px;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    border: 0;
    background: transparent;
    color: rgba(255, 250, 240, .66);
    cursor: pointer;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots span {
    font: 800 13px/1 "Outfit", sans-serif;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots i {
    position: relative;
    width: 54px;
    height: 2px;
    background: rgba(255, 250, 240, .2);
    overflow: hidden;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots i::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--n5-core);
    transform: scaleX(0);
    transform-origin: left;
}

[data-demo-theme="nuclear-energy"] .n5-visual__dots button.is-active {
    color: var(--n5-white);
}

[data-demo-theme="nuclear-energy"] .n5-visual.is-playing .n5-visual__dots button.is-active i::after {
    animation: n5-dot-timer 5s linear forwards;
}

[data-demo-theme="nuclear-energy"] .n5-visual__actions {
    display: flex;
    gap: 10px;
}

[data-demo-theme="nuclear-energy"] .n5-visual__actions button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 250, 240, .22);
    border-radius: 50%;
    background: rgba(7, 10, 16, .42);
    color: var(--n5-white);
    cursor: pointer;
}

[data-demo-theme="nuclear-energy"] .n5-visual__actions svg[hidden] {
    display: none !important;
}

[data-demo-theme="nuclear-energy"] .n5-visual__live {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

@keyframes n5-pulse {
    0% { opacity: .7; transform: scale(.6); }
    100% { opacity: 0; transform: scale(1.55); }
}

@keyframes n5-word-in {
    0% { opacity: 0; transform: translateY(16px); filter: blur(3px); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes n5-subtitle-in {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes n5-underline-sweep {
    to { opacity: 1; transform: scaleX(1); }
}

@keyframes n5-energy-sweep {
    0% { opacity: 0; transform: translateX(-24%); }
    24% { opacity: .78; }
    100% { opacity: 0; transform: translateX(28%); }
}

@keyframes n5-core-breathe {
    0%, 100% { opacity: .11; filter: saturate(.9); }
    50% { opacity: .22; filter: saturate(1.25); }
}

@keyframes n5-rail-pulse {
    0%, 100% { opacity: .45; transform: translateY(-50%) scale(.86); }
    45% { opacity: 1; transform: translateY(-50%) scale(1.25); }
}

@keyframes n5-visual-pulse {
    0% { opacity: .86; transform: translate(-50%, -50%) scale(.25); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(8); }
}

@keyframes n5-particles {
    0% { opacity: .95; transform: translate(-50%, -50%) scale(.28) rotate(0deg); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(1.45) rotate(24deg); }
}

@keyframes n5-dot-timer {
    to { transform: scaleX(1); }
}

@media (max-width: 1180px) {
    [data-demo-theme="nuclear-energy"] {
        --n5-page-pad: clamp(22px, 4vw, 48px);
        --n5-card-gap: 18px;
        --n5-card-pad: 22px;
    }

    [data-demo-theme="nuclear-energy"] .n5-hero__layout,
    [data-demo-theme="nuclear-energy"] .n5-route,
    [data-demo-theme="nuclear-energy"] .n5-ledger,
    [data-demo-theme="nuclear-energy"] .n5-turbine {
        grid-template-columns: 1fr;
    }
    [data-demo-theme="nuclear-energy"] .n5-signal-rail {
        display: none;
    }
    [data-demo-theme="nuclear-energy"] .n5-trust,
    [data-demo-theme="nuclear-energy"] .n5-safety__grid,
    [data-demo-theme="nuclear-energy"] .n5-research__grid,
    [data-demo-theme="nuclear-energy"] .n5-people {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    [data-demo-theme="nuclear-energy"] {
        --n5-page-pad: 16px;
        --n5-section-gap: 54px;
        --n5-card-gap: 14px;
        --n5-card-pad: 18px;
    }

    [data-demo-theme="nuclear-energy"] .n5-hero {
        min-height: 640px;
        padding: 22px var(--n5-page-pad);
    }
    [data-demo-theme="nuclear-energy"] .n5-hero__nav span {
        display: none;
    }
    [data-demo-theme="nuclear-energy"] .n5-hero__layout {
        min-height: 548px;
        gap: 20px;
        justify-content: end;
    }
    [data-demo-theme="nuclear-energy"] .n5-hero__copy h1 {
        font-size: 28px;
        line-height: 1.22;
    }
    [data-demo-theme="nuclear-energy"] .n5-hero__copy p {
        font-size: 14px;
        line-height: 1.72;
    }
    [data-demo-theme="nuclear-energy"] .n5-core-visual img {
        transform: none;
    }
    [data-demo-theme="nuclear-energy"] .n5-section {
        padding: var(--n5-section-gap) var(--n5-page-pad);
    }
    [data-demo-theme="nuclear-energy"] .n5-section__head {
        margin-bottom: 24px;
    }
    [data-demo-theme="nuclear-energy"] .n5-section__head h2,
    [data-demo-theme="nuclear-energy"] .n5-route__story h2,
    [data-demo-theme="nuclear-energy"] .n5-ledger h2,
    [data-demo-theme="nuclear-energy"] .n5-turbine h2 {
        font-size: 22px;
        line-height: 1.32;
    }
    [data-demo-theme="nuclear-energy"] .n5-trust h2,
    [data-demo-theme="nuclear-energy"] .n5-safety h3,
    [data-demo-theme="nuclear-energy"] .n5-research h3 {
        font-size: 18px;
    }
    [data-demo-theme="nuclear-energy"] .n5-trust {
        margin-top: -42px;
    }
    [data-demo-theme="nuclear-energy"] .n5-trust,
    [data-demo-theme="nuclear-energy"] .n5-safety__grid,
    [data-demo-theme="nuclear-energy"] .n5-research__grid,
    [data-demo-theme="nuclear-energy"] .n5-people,
    [data-demo-theme="nuclear-energy"] .n5-ledger > div,
    [data-demo-theme="nuclear-energy"] .n5-mix {
        grid-template-columns: 1fr;
    }
    [data-demo-theme="nuclear-energy"] .n5-route__map,
    [data-demo-theme="nuclear-energy"] .n5-turbine__visual {
        min-height: 0;
        aspect-ratio: 1 / .86;
    }
    [data-demo-theme="nuclear-energy"] .n5-card-image {
        aspect-ratio: 16 / 9.8;
        margin-bottom: 16px;
    }
    [data-demo-theme="nuclear-energy"] .n5-safety b {
        display: none;
    }
    [data-demo-theme="nuclear-energy"] .n5-ledger > div {
        gap: 14px;
    }
    [data-demo-theme="nuclear-energy"] .n5-questions button {
        grid-template-columns: 38px 1fr;
        gap: 12px;
        min-height: 64px;
    }
    [data-demo-theme="nuclear-energy"] .n5-questions button strong {
        font-size: 17px;
        line-height: 1.35;
    }
    [data-demo-theme="nuclear-energy"] .n5-questions article p {
        margin: 0 0 22px 50px;
    }
    [data-demo-theme="nuclear-energy"] .n5-mix span {
        min-height: 82px;
    }
    [data-demo-theme="nuclear-energy"] .n5-footer {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    [data-demo-theme="nuclear-energy"] .n5-footer button {
        width: 100%;
        margin: 12px 0 0;
    }
    [data-demo-theme="nuclear-energy"] .n5-footer b {
        max-width: 100%;
        font-size: 34px;
        line-height: .95;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual {
        aspect-ratio: 9 / 16;
        min-height: 690px;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__signal {
        display: none;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__content {
        left: 18px;
        right: 18px;
        bottom: 166px;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__content h1 {
        font-size: 30px;
        line-height: 1.24;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__subtitle {
        font-size: 14px;
        line-height: 1.65;
        max-width: 31ch;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__footer {
        left: 18px;
        right: 18px;
        bottom: 24px;
        flex-direction: column;
        align-items: stretch;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__dots {
        justify-content: space-between;
        gap: 8px;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__dots i {
        width: clamp(36px, 14vw, 52px);
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__actions {
        justify-content: center;
    }
}

html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-landing {
    width: min(100%, 430px) !important;
    --n5-page-pad: 16px;
    --n5-section-gap: 54px;
    --n5-card-gap: 14px;
    --n5-card-pad: 18px;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero {
    min-height: 640px !important;
    padding: 22px var(--n5-page-pad) !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__nav {
    gap: 12px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__nav strong {
    font-size: 15px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__nav span {
    display: none !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__layout {
    min-height: 548px !important;
    gap: 20px !important;
    justify-content: end !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-issue span,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-issue em {
    font-size: 10px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-issue strong {
    font-size: 16px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__copy h1 {
    max-width: 330px !important;
    font-size: 28px !important;
    line-height: 1.22 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__copy p {
    max-width: 34ch !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-core-visual img {
    transform: none !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-section {
    padding: var(--n5-section-gap) var(--n5-page-pad) !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-section__head {
    margin-bottom: 24px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-section__head h2,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-route__story h2,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger h2,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-turbine h2 {
    font-size: 22px !important;
    line-height: 1.32 !important;
    overflow-wrap: keep-all;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-trust {
    margin-top: -42px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-trust article,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-safety article,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger article,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-research article,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-people article {
    padding: var(--n5-card-pad) !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-trust h2,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-safety h3,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-research h3 {
    font-size: 18px !important;
    line-height: 1.32 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-trust p,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-safety p,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-research p,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-route__story p,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-turbine p,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-questions p {
    font-size: 13px !important;
    line-height: 1.68 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-trust,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-safety__grid,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-research__grid,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-people,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger > div,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-mix {
    grid-template-columns: 1fr !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-hero__layout,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-route,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-turbine {
    grid-template-columns: 1fr !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-route__map,
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-turbine__visual {
    min-height: 0 !important;
    aspect-ratio: 1 / .86 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-card-image {
    aspect-ratio: 16 / 9.8 !important;
    margin-bottom: 16px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-safety b {
    display: none !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger > div {
    gap: 14px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-ledger strong {
    font-size: 36px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-people blockquote {
    font-size: 18px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-mix span {
    min-height: 82px !important;
    font-size: 16px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-questions button {
    grid-template-columns: 38px 1fr !important;
    gap: 12px !important;
    min-height: 64px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-questions button strong {
    font-size: 17px !important;
    line-height: 1.35 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-questions article p {
    margin: 0 0 22px 50px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-footer {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-footer button {
    width: 100% !important;
    margin: 12px 0 0 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-footer b {
    max-width: 100% !important;
    font-size: 34px !important;
    line-height: .95 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual {
    aspect-ratio: 9 / 16 !important;
    min-height: 690px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual__signal {
    display: none !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual__content {
    left: 18px !important;
    right: 18px !important;
    bottom: 166px !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual__content h1 {
    font-size: 30px !important;
    line-height: 1.25 !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual__subtitle {
    font-size: 14px !important;
    line-height: 1.65 !important;
    max-width: 31ch !important;
}
html[data-preview-device="mobile"][data-demo-theme="nuclear-energy"] .n5-visual__footer {
    left: 18px !important;
    right: 18px !important;
    bottom: 24px !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-demo-theme="nuclear-energy"] .n5-safety b,
    [data-demo-theme="nuclear-energy"] .n5-route__node::after,
    [data-demo-theme="nuclear-energy"] .n5-visual__sweep,
    [data-demo-theme="nuclear-energy"] .n5-visual__lattice,
    [data-demo-theme="nuclear-energy"] .n5-signal-rail span::before,
    [data-demo-theme="nuclear-energy"] .n5-visual__signal span::before {
        animation: none !important;
        transition: none !important;
    }
    [data-demo-theme="nuclear-energy"] .n5-visual__content h1 span,
    [data-demo-theme="nuclear-energy"] .n5-visual__subtitle,
    [data-demo-theme="nuclear-energy"] .n5-visual__underline {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}

.pharma-landing.landing-preview,
.pharma-visual.visual-preview {
    position: relative;
    width: min(100%, 1360px);
    min-height: calc(100vh - 86px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(47, 127, 191, 0.20);
    border-radius: 8px;
    background: #f6fbfc;
    color: #102232;
    font-family: 'Noto Sans KR', var(--showroom-font);
    isolation: isolate;
    --pharma-blue: #2f7fbf;
    --pharma-mint: #54bfa3;
    --pharma-graphite: #102232;
    --pharma-muted: #587083;
    --pharma-line: rgba(28, 66, 88, 0.14);
    --pharma-amber: #e6a94d;
    --pharma-pointer-x: 0;
    --pharma-pointer-y: 0;
}

.pharma-landing.landing-preview {
    display: flex;
    flex-direction: column;
    overflow: visible;
    background:
        linear-gradient(90deg, rgba(47, 127, 191, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(47, 127, 191, 0.052) 1px, transparent 1px),
        radial-gradient(circle at 82% 18%, rgba(84, 191, 163, 0.16), transparent 30%),
        linear-gradient(180deg, #f9fdfe 0%, #edf7f8 100%);
    background-size: 46px 46px, 46px 46px, auto, auto;
    box-shadow: 0 24px 70px rgba(16, 34, 50, 0.10);
}

.pharma-nav {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 70px;
    padding: 0 36px;
    border-bottom: 1px solid var(--pharma-line);
    background: rgba(249, 253, 254, 0.76);
    backdrop-filter: blur(18px);
}

.pharma-brand {
    display: grid;
    color: var(--pharma-graphite);
    font-family: var(--showroom-display);
    font-weight: 900;
}

.pharma-brand span {
    font-size: 20px;
}

.pharma-brand small {
    color: rgba(16, 34, 50, 0.55);
    font-size: 11px;
    font-weight: 800;
}

.pharma-nav__links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    color: rgba(16, 34, 50, 0.68);
    font-size: 13px;
    font-weight: 900;
}

.pharma-nav__actions {
    display: flex;
    gap: 8px;
}

.pharma-nav__actions button,
.pharma-hero__actions button,
.pharma-visual__controls button {
    display: grid;
    place-items: center;
    border: 1px solid rgba(16, 34, 50, 0.14);
    background: rgba(255, 255, 255, 0.70);
    color: var(--pharma-graphite);
    cursor: pointer;
    backdrop-filter: blur(14px);
}

.pharma-nav__actions button {
    width: 38px;
    height: 38px;
    border-radius: 999px;
}

.pharma-hero {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
    min-height: min(620px, calc(100vh - 156px));
    padding: 38px 36px 26px;
}

.pharma-issue-rail {
    display: flex;
    grid-column: 1 / 2;
    flex-direction: column;
    justify-content: space-between;
    min-height: 420px;
    padding: 14px 0;
    border-right: 1px solid var(--pharma-line);
    color: rgba(16, 34, 50, 0.66);
}

.pharma-issue-rail span,
.pharma-kicker,
.pharma-section-heading span,
.pharma-atlas-card > span,
.pharma-editorial__body article > span,
.pharma-visual__topbar span {
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pharma-issue-rail strong {
    width: 12px;
    color: var(--pharma-graphite);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    writing-mode: vertical-rl;
}

.pharma-issue-rail ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 11px;
    font-weight: 800;
}

.pharma-hero__main {
    display: flex;
    grid-column: 2 / 7;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.pharma-kicker {
    display: inline-flex;
    margin-bottom: 17px;
    color: var(--pharma-blue);
}

.pharma-hero__main h1,
.pharma-visual__copy h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.2em;
    margin: 0;
    color: var(--pharma-graphite);
    font-family: var(--showroom-serif);
    font-size: clamp(50px, 5vw, 82px);
    line-height: 1.02;
    letter-spacing: 0;
}

.pharma-hero__main h1 span,
.pharma-visual__copy h1 span {
    display: inline-block;
}

.pharma-hero__main p {
    max-width: 600px;
    margin: 22px 0 0;
    color: rgba(16, 34, 50, 0.68);
    font-size: 16px;
    line-height: 1.82;
}

.pharma-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.pharma-hero__actions a,
.pharma-hero__actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 900;
}

.pharma-hero__actions a {
    background: var(--pharma-graphite);
    color: #f7fcfd;
}

.pharma-hero__visual {
    position: relative;
    grid-column: 7 / 11;
    min-height: 420px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(47, 127, 191, 0.24);
    border-radius: 8px;
    background: #e9f5f8;
    box-shadow: 0 24px 64px rgba(16, 34, 50, 0.13);
    transform: translate(
        calc(var(--pharma-pointer-x) * 5px),
        calc(var(--pharma-pointer-y) * 5px)
    );
    transition: transform 0.16s ease-out;
}

.pharma-hero__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246, 251, 252, 0.14), transparent 44%),
        radial-gradient(circle at 82% 18%, rgba(84, 191, 163, 0.20), transparent 34%);
    pointer-events: none;
}

.pharma-hero__visual picture,
.pharma-hero__visual img {
    display: block;
    width: 100%;
    height: 100%;
}

.pharma-hero__visual img {
    object-fit: cover;
}

.pharma-molecule {
    position: absolute;
    top: 28px;
    left: 22px;
    width: min(42%, 220px);
    height: auto;
    color: rgba(84, 191, 163, 0.88);
    filter: drop-shadow(0 14px 24px rgba(20, 99, 118, 0.18));
    transform: translate(
        calc(var(--pharma-pointer-x) * -8px),
        calc(var(--pharma-pointer-y) * -8px)
    );
    transition: transform 0.16s ease-out;
}

.pharma-molecule circle {
    fill: rgba(255, 255, 255, 0.88);
    stroke: currentColor;
    stroke-width: 2;
}

.pharma-molecule path {
    stroke: currentColor;
    stroke-width: 2;
}

.pharma-molecule__orbit {
    opacity: 0.54;
    stroke-dasharray: 8 9;
}

.pharma-data-panels {
    display: grid;
    grid-column: 11 / 13;
    gap: 10px;
    align-content: center;
}

.pharma-data-panels span {
    display: grid;
    gap: 4px;
    min-height: 124px;
    padding: 16px;
    border: 1px solid rgba(47, 127, 191, 0.20);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 34px rgba(16, 34, 50, 0.08);
    backdrop-filter: blur(18px);
}

.pharma-data-panels small,
.pharma-data-panels em {
    color: rgba(16, 34, 50, 0.60);
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.pharma-data-panels strong {
    color: var(--pharma-blue);
    font-family: var(--showroom-display);
    font-size: 40px;
    line-height: 1;
}

.pharma-atlas,
.pharma-editorial {
    position: relative;
    z-index: 3;
    padding: 34px 36px 56px;
    background: #fbfefe;
}

.pharma-atlas {
    border-top: 1px solid rgba(47, 127, 191, 0.16);
}

.pharma-section-heading {
    display: grid;
    grid-template-columns: minmax(160px, 0.24fr) minmax(0, 1fr);
    gap: 24px;
    align-items: end;
    margin-bottom: 18px;
}

.pharma-section-heading span {
    color: var(--pharma-blue);
}

.pharma-section-heading h2 {
    max-width: 760px;
    margin: 0;
    color: var(--pharma-graphite);
    font-family: var(--showroom-serif);
    font-size: 36px;
    line-height: 1.18;
}

.pharma-atlas__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.pharma-atlas-card {
    position: relative;
    display: grid;
    grid-column: span 3;
    grid-template-rows: auto auto auto 1fr;
    min-height: 318px;
    padding: 12px 12px 18px;
    overflow: hidden;
    border: 1px solid rgba(47, 127, 191, 0.16);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(242, 250, 252, 0.94)),
        #ffffff;
    box-shadow: 0 18px 42px rgba(16, 34, 50, 0.07);
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.46s ease, transform 0.46s ease, border-color 0.2s ease;
}

.pharma-landing.is-reveal-ready .pharma-atlas-card {
    opacity: 0;
    transform: translateY(18px);
}

.pharma-atlas-card:nth-child(2) {
    grid-column: span 4;
}

.pharma-atlas-card:nth-child(3) {
    grid-column: span 2;
}

.pharma-atlas-card:nth-child(4) {
    grid-column: span 3;
}

.pharma-landing.is-reveal-ready .pharma-atlas-card.is-visible,
.pharma-atlas-card:hover {
    opacity: 1;
    transform: translateY(0);
}

.pharma-atlas-card:hover {
    border-color: rgba(84, 191, 163, 0.50);
}

.pharma-atlas-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: 6px;
    object-fit: cover;
}

.pharma-atlas-card__icon {
    position: absolute;
    top: 22px;
    right: 22px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--pharma-blue);
    backdrop-filter: blur(14px);
}

.pharma-atlas-card__icon svg {
    width: 30px;
    height: 30px;
}

.pharma-atlas-card__icon--shield,
.pharma-atlas-card__icon--care {
    color: var(--pharma-mint);
}

.pharma-atlas-card svg path {
    stroke-dasharray: var(--pharma-path-length, 100);
    stroke-dashoffset: var(--pharma-path-length, 100);
}

.pharma-atlas-card.is-visible svg path,
.pharma-atlas-card:hover svg path {
    animation: pharma-icon-draw 1.12s ease forwards;
}

.pharma-atlas-card > span {
    color: var(--pharma-blue);
}

.pharma-atlas-card h3 {
    margin: 8px 0 0;
    color: var(--pharma-graphite);
    font-size: 21px;
    line-height: 1.32;
}

.pharma-atlas-card p {
    margin: 10px 0 0;
    color: rgba(16, 34, 50, 0.66);
    font-size: 14px;
    line-height: 1.68;
}

@keyframes pharma-icon-draw {
    to { stroke-dashoffset: 0; }
}

.pharma-editorial {
    display: grid;
    grid-template-columns: minmax(180px, 0.24fr) minmax(0, 1fr);
    gap: 34px;
    border-top: 1px solid rgba(47, 127, 191, 0.12);
}

.pharma-toc {
    position: sticky;
    top: 82px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-self: start;
    padding: 18px 0;
    border-top: 2px solid var(--pharma-graphite);
}

.pharma-toc span {
    margin-bottom: 8px;
    color: var(--pharma-blue);
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.pharma-toc a {
    color: rgba(16, 34, 50, 0.72);
    font-size: 13px;
    font-weight: 900;
}

.pharma-editorial__body {
    display: grid;
    gap: 22px;
}

.pharma-editorial__body article {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(220px, 0.42fr);
    gap: 26px;
    min-height: 220px;
    padding: 24px 0;
    border-top: 1px solid rgba(47, 127, 191, 0.14);
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.46s ease, transform 0.46s ease;
}

.pharma-landing.is-reveal-ready .pharma-editorial__body article {
    opacity: 0;
    transform: translateY(18px);
}

.pharma-landing.is-reveal-ready .pharma-editorial__body article.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.pharma-editorial__body article::after {
    content: "";
    align-self: stretch;
    min-height: 174px;
    border: 1px solid rgba(47, 127, 191, 0.14);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(47, 127, 191, 0.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(47, 127, 191, 0.10) 1px, transparent 1px),
        radial-gradient(circle at 70% 30%, rgba(84, 191, 163, 0.30), transparent 34%),
        #f4fbfc;
    background-size: 24px 24px, 24px 24px, auto, auto;
}

.pharma-editorial__body article > span,
.pharma-editorial__body h2,
.pharma-editorial__body p {
    grid-column: 1;
}

.pharma-editorial__body article > span {
    color: var(--pharma-blue);
}

.pharma-editorial__body h2 {
    margin: 4px 0 0;
    color: var(--pharma-graphite);
    font-family: var(--showroom-serif);
    font-size: 34px;
    line-height: 1.22;
}

.pharma-editorial__body p {
    max-width: 720px;
    margin: 0;
    color: rgba(16, 34, 50, 0.67);
    font-size: 16px;
    line-height: 1.84;
}

@supports (animation-timeline: view()) {
    .pharma-atlas-card,
    .pharma-editorial__body article {
        animation: pharma-scroll-reveal both;
        animation-timeline: view();
        animation-range: entry 5% cover 28%;
    }
}

@keyframes pharma-scroll-reveal {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

.pharma-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 26px 36px;
    border-top: 1px solid rgba(47, 127, 191, 0.16);
    background: #102232;
    color: #f8fdfe;
}

.pharma-footer strong {
    font-family: var(--showroom-display);
    font-size: 18px;
}

.pharma-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    color: rgba(248, 253, 254, 0.70);
    font-size: 12px;
    font-weight: 900;
}

.pharma-visual.visual-preview {
    --pharma-visual-gutter: 38px;
    --pharma-visual-bottom: 28px;
    position: relative;
    min-height: calc(100vh - 86px);
    background: #07141d;
    color: #f7fcfd;
    box-shadow: 0 24px 70px rgba(7, 20, 29, 0.20);
}

.pharma-visual__fallback,
.pharma-webgl,
.pharma-visual__transition,
.pharma-visual__grid {
    position: absolute;
    inset: 0;
}

.pharma-visual__fallback {
    z-index: -4;
}

.pharma-visual__fallback img,
.pharma-visual__fallback picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pharma-webgl {
    z-index: -3;
}

.pharma-webgl canvas {
    width: 100%;
    height: 100%;
}

.pharma-visual__transition {
    z-index: -2;
    pointer-events: none;
}

.pharma-visual__transition-layer {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    opacity: 0;
    will-change: clip-path, opacity, filter, transform;
}

.pharma-visual__transition-layer--from {
    z-index: 1;
}

.pharma-visual__transition-layer--to {
    z-index: 2;
}

.pharma-visual__transition.is-running .pharma-visual__transition-layer--from {
    animation: pharma-clean-from 0.98s cubic-bezier(.22,.61,.36,1) both;
}

.pharma-visual__transition.is-running .pharma-visual__transition-layer--to {
    animation: pharma-clean-to 0.98s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes pharma-clean-from {
    0% {
        opacity: 1;
        filter: saturate(1) blur(0);
        clip-path: inset(0 0 0 0);
    }
    100% {
        opacity: 0.15;
        filter: saturate(0.74) blur(8px);
        clip-path: inset(0 0 0 100%);
    }
}

@keyframes pharma-clean-to {
    0% {
        opacity: 0;
        filter: saturate(1.12) blur(8px);
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    100% {
        opacity: 1;
        filter: saturate(1) blur(0);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

.pharma-visual__grid {
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(3, 12, 18, 0.84) 0%, rgba(3, 12, 18, 0.48) 42%, rgba(3, 12, 18, 0.12) 100%),
        linear-gradient(90deg, rgba(84, 191, 163, 0.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(84, 191, 163, 0.08) 1px, transparent 1px),
        radial-gradient(circle at 78% 24%, rgba(84, 191, 163, 0.24), transparent 32%);
    background-size: auto, 58px 58px, 58px 58px, auto;
}

.pharma-visual__network {
    position: absolute;
    top: 100px;
    right: 7%;
    z-index: 1;
    width: min(48vw, 640px);
    height: auto;
    color: rgba(164, 238, 222, 0.68);
    opacity: 0.76;
    pointer-events: none;
    transform: translate(
        calc(var(--pharma-visual-pointer-x, 0) * -18px),
        calc(var(--pharma-visual-pointer-y, 0) * -18px)
    );
    transition: transform 0.16s ease-out;
}

.pharma-visual__network circle {
    fill: rgba(255, 255, 255, 0.76);
    stroke: currentColor;
    stroke-width: 2;
}

.pharma-visual__network path {
    stroke: currentColor;
    stroke-width: 2;
}

.pharma-visual__network-orbit {
    stroke-dasharray: 9 12;
    animation: pharma-orbit-drift 9s linear infinite;
}

@keyframes pharma-orbit-drift {
    to { stroke-dashoffset: -120; }
}

.pharma-visual__topbar {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
    padding: 0 var(--pharma-visual-gutter);
    color: #f7fcfd;
}

.pharma-visual__topbar a {
    font-family: var(--showroom-display);
    font-size: 18px;
    font-weight: 900;
}

.pharma-visual__topbar span {
    color: rgba(247, 252, 253, 0.62);
}

.pharma-visual__copy {
    position: absolute;
    left: var(--pharma-visual-gutter);
    bottom: calc(var(--pharma-visual-bottom) + 78px);
    z-index: 5;
    width: min(520px, calc(100% - 320px));
}

.pharma-visual__copy-panel {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 292px;
    padding: 30px;
    border: 1px solid rgba(164, 238, 222, 0.24);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.04)),
        rgba(7, 20, 29, 0.52);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.20);
    opacity: 0;
    transform: translateY(18px);
    backdrop-filter: blur(18px);
    transition: opacity 0.36s ease, transform 0.36s ease;
}

.pharma-visual__copy-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, rgba(84, 191, 163, 0.18), transparent 36%),
        radial-gradient(circle at 94% 12%, rgba(230, 169, 77, 0.16), transparent 34%);
    pointer-events: none;
}

.pharma-visual__copy-panel.is-active {
    position: relative;
    opacity: 1;
    transform: translateY(0);
}

.pharma-visual .pharma-kicker {
    position: relative;
    z-index: 1;
    color: #a4eede;
}

.pharma-visual__copy h1 {
    position: relative;
    z-index: 1;
    color: #f7fcfd;
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.16;
    text-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.pharma-visual__copy p {
    position: relative;
    z-index: 1;
    max-width: 460px;
    margin: 17px 0 0;
    color: rgba(247, 252, 253, 0.74);
    font-size: 15px;
    line-height: 1.78;
}

.pharma-visual__data {
    position: absolute;
    top: 100px;
    left: var(--pharma-visual-gutter);
    z-index: 5;
    display: grid;
    gap: 8px;
}

.pharma-visual__data span {
    display: none;
    min-height: 36px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(164, 238, 222, 0.22);
    border-radius: 8px;
    background: rgba(7, 20, 29, 0.42);
    color: rgba(247, 252, 253, 0.76);
    font-family: var(--showroom-display);
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(12px);
}

.pharma-visual__data span.is-active {
    display: inline-flex;
}

.pharma-visual__controls {
    position: absolute;
    left: var(--pharma-visual-gutter);
    bottom: var(--pharma-visual-bottom);
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pharma-visual__controls button {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(7, 20, 29, 0.50);
    color: #f7fcfd;
}

.pharma-visual__controls button:hover {
    border-color: rgba(164, 238, 222, 0.62);
}

.pharma-visual__dots {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid rgba(164, 238, 222, 0.18);
    border-radius: 999px;
    background: rgba(7, 20, 29, 0.40);
    backdrop-filter: blur(12px);
}

.pharma-visual__dots button {
    width: 24px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(247, 252, 253, 0.30);
}

.pharma-visual__dots button.is-active {
    background: #a4eede;
}

.pharma-visual__play {
    display: none;
}

.pharma-visual__controls [aria-pressed="true"] .pharma-visual__pause {
    display: none;
}

.pharma-visual__controls [aria-pressed="true"] .pharma-visual__play {
    display: block;
}

.pharma-visual__thumbnails {
    position: absolute;
    right: var(--pharma-visual-gutter);
    bottom: var(--pharma-visual-bottom);
    z-index: 6;
    display: grid;
    grid-template-columns: repeat(3, 88px);
    gap: 10px;
}

.pharma-visual__thumbnails span {
    height: 58px;
    border: 1px solid rgba(164, 238, 222, 0.20);
    border-radius: 8px;
    background-image: var(--thumb-image);
    background-position: center;
    background-size: cover;
    opacity: 0.62;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.pharma-visual__thumbnails span.is-active {
    border-color: rgba(164, 238, 222, 0.74);
    opacity: 1;
    transform: translateY(-5px);
}

.pharma-visual.is-transitioning .pharma-visual__network circle {
    animation: pharma-node-pulse 0.82s ease both;
}

@keyframes pharma-node-pulse {
    50% { transform: scale(1.24); }
}

html[data-preview-device="mobile"] .pharma-landing.landing-preview,
html[data-preview-device="mobile"] .pharma-visual.visual-preview {
    width: min(100%, 430px);
    min-height: 760px;
}

html[data-preview-device="mobile"] .pharma-nav {
    min-height: 62px;
    padding: 0 18px;
}

html[data-preview-device="mobile"] .pharma-brand span {
    font-size: 17px;
}

html[data-preview-device="mobile"] .pharma-brand small,
html[data-preview-device="mobile"] .pharma-nav__links {
    display: none;
}

html[data-preview-device="mobile"] .pharma-hero {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 688px;
    padding: 20px 18px 22px;
}

html[data-preview-device="mobile"] .pharma-issue-rail {
    flex-direction: row;
    align-items: center;
    min-height: 0;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid var(--pharma-line);
}

html[data-preview-device="mobile"] .pharma-issue-rail strong {
    width: auto;
    writing-mode: horizontal-tb;
}

html[data-preview-device="mobile"] .pharma-issue-rail ol {
    display: none;
}

html[data-preview-device="mobile"] .pharma-hero__main {
    order: 2;
}

html[data-preview-device="mobile"] .pharma-hero__main h1 {
    font-size: 39px;
}

html[data-preview-device="mobile"] .pharma-hero__main p {
    font-size: 14px;
    line-height: 1.72;
}

html[data-preview-device="mobile"] .pharma-hero__actions {
    margin-top: 20px;
}

html[data-preview-device="mobile"] .pharma-hero__actions a,
html[data-preview-device="mobile"] .pharma-hero__actions button {
    width: 100%;
}

html[data-preview-device="mobile"] .pharma-hero__visual {
    order: 1;
    min-height: 240px;
}

html[data-preview-device="mobile"] .pharma-data-panels {
    order: 3;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[data-preview-device="mobile"] .pharma-data-panels span {
    min-height: 88px;
    padding: 10px;
}

html[data-preview-device="mobile"] .pharma-data-panels strong {
    font-size: 26px;
}

html[data-preview-device="mobile"] .pharma-atlas,
html[data-preview-device="mobile"] .pharma-editorial {
    padding: 34px 18px;
}

html[data-preview-device="mobile"] .pharma-section-heading,
html[data-preview-device="mobile"] .pharma-editorial,
html[data-preview-device="mobile"] .pharma-editorial__body article {
    grid-template-columns: 1fr;
}

html[data-preview-device="mobile"] .pharma-section-heading h2,
html[data-preview-device="mobile"] .pharma-editorial__body h2 {
    font-size: 29px;
}

html[data-preview-device="mobile"] .pharma-atlas__grid {
    grid-template-columns: 1fr;
}

html[data-preview-device="mobile"] .pharma-atlas-card,
html[data-preview-device="mobile"] .pharma-atlas-card:nth-child(2),
html[data-preview-device="mobile"] .pharma-atlas-card:nth-child(3),
html[data-preview-device="mobile"] .pharma-atlas-card:nth-child(4) {
    grid-column: auto;
}

html[data-preview-device="mobile"] .pharma-toc {
    position: static;
}

html[data-preview-device="mobile"] .pharma-editorial__body article::after {
    display: none;
}

html[data-preview-device="mobile"] .pharma-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 24px 18px;
}

html[data-preview-device="mobile"] .pharma-visual.visual-preview {
    --pharma-visual-gutter: 16px;
    --pharma-visual-bottom: 12px;
}

html[data-preview-device="mobile"] .pharma-visual__topbar {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__topbar span,
html[data-preview-device="mobile"] .pharma-visual__thumbnails {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__copy {
    width: calc(100% - 32px);
    bottom: 72px;
}

html[data-preview-device="mobile"] .pharma-visual__copy-panel {
    min-height: 286px;
    padding: 24px 20px;
}

html[data-preview-device="mobile"] .pharma-visual__copy h1 {
    font-size: 34px;
}

html[data-preview-device="mobile"] .pharma-visual__copy p {
    font-size: 14px;
}

html[data-preview-device="mobile"] .pharma-visual__data {
    top: 70px;
}

html[data-preview-device="mobile"] .pharma-visual__network {
    top: 120px;
    right: -36%;
    width: 560px;
}

@media (max-width: 1180px) {
    .pharma-hero {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .pharma-issue-rail { grid-column: 1 / 2; }
    .pharma-hero__main { grid-column: 2 / 6; }
    .pharma-hero__visual { grid-column: 6 / 9; }
    .pharma-data-panels {
        grid-column: 2 / 9;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pharma-atlas-card,
    .pharma-atlas-card:nth-child(2),
    .pharma-atlas-card:nth-child(3),
    .pharma-atlas-card:nth-child(4) {
        grid-column: span 6;
    }
}

@media (max-width: 860px) {
    .pharma-nav {
        padding: 0 20px;
    }

    .pharma-nav__links {
        display: none;
    }

    .pharma-hero {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 26px 20px;
    }

    .pharma-issue-rail,
    .pharma-hero__main,
    .pharma-hero__visual,
    .pharma-data-panels {
        grid-column: auto;
    }

    .pharma-issue-rail {
        flex-direction: row;
        align-items: center;
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--pharma-line);
    }

    .pharma-issue-rail strong {
        width: auto;
        writing-mode: horizontal-tb;
    }

    .pharma-hero__visual {
        min-height: 320px;
    }

    .pharma-section-heading,
    .pharma-editorial,
    .pharma-editorial__body article {
        grid-template-columns: 1fr;
    }

    .pharma-atlas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pharma-atlas-card,
    .pharma-atlas-card:nth-child(2),
    .pharma-atlas-card:nth-child(3),
    .pharma-atlas-card:nth-child(4) {
        grid-column: auto;
    }

    .pharma-toc {
        position: static;
    }

    .pharma-visual.visual-preview {
        --pharma-visual-gutter: 22px;
    }

    .pharma-visual__copy {
        width: min(520px, calc(100% - 44px));
    }

    .pharma-visual__topbar {
        display: none;
    }

    .pharma-visual__thumbnails {
        display: none;
    }
}

@media (max-width: 560px) {
    .pharma-hero__main h1 {
        font-size: 40px;
    }

    .pharma-atlas,
    .pharma-editorial {
        padding: 34px 20px;
    }

    .pharma-atlas__grid,
    .pharma-data-panels {
        grid-template-columns: 1fr;
    }

    .pharma-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pharma-atlas-card,
    .pharma-editorial__body article,
    .pharma-hero__visual,
    .pharma-molecule,
    .pharma-visual__network,
    .pharma-visual__network-orbit,
    .pharma-visual__transition-layer,
    .pharma-atlas-card.is-visible svg path,
    .pharma-atlas-card:hover svg path {
        animation: none;
        transition: none;
    }

    .pharma-atlas-card,
    .pharma-editorial__body article {
        opacity: 1;
        transform: none;
    }
}

/* Sample 2 visual quality pass: editorial panel + image stage, minimal gradient use. */
.pharma-visual.visual-preview {
    --pharma-visual-gutter: 36px;
    --pharma-visual-bottom: 32px;
    overflow: hidden;
    border-color: #cddbe2;
    background: #eef4f6;
    color: #102232;
    box-shadow: 0 28px 70px rgba(19, 45, 61, 0.14);
}

.pharma-visual__fallback,
.pharma-webgl,
.pharma-visual__transition,
.pharma-visual__grid {
    inset: 28px 28px 28px 39%;
    overflow: hidden;
    border-radius: 8px;
}

.pharma-visual__fallback {
    z-index: 1;
    background: #dfe9ee;
}

.pharma-webgl {
    z-index: 2;
}

.pharma-visual__transition {
    z-index: 3;
}

.pharma-visual__grid {
    z-index: 4;
    border: 1px solid rgba(255, 255, 255, 0.34);
    background: rgba(11, 25, 34, 0.04);
    pointer-events: none;
}

.pharma-visual__fallback img {
    object-position: center right;
}

.pharma-visual__topbar {
    position: absolute;
    inset: 0 auto auto 0;
    z-index: 9;
    width: 39%;
    min-height: 84px;
    padding: 26px 36px 0;
    color: #102232;
}

.pharma-visual__topbar a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #102232;
    font-size: 16px;
}

.pharma-visual__topbar a svg {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 6px;
    border: 1px solid #cfdee5;
    border-radius: 8px;
    background: #f9fcfd;
    color: #2f7fbf;
}

.pharma-visual__topbar a span {
    color: #102232;
}

.pharma-visual__topbar > span {
    display: none;
}

.pharma-visual__slide-number {
    position: absolute;
    top: 108px;
    left: 36px;
    z-index: 8;
    width: 96px;
    height: 96px;
    color: rgba(16, 34, 50, 0.10);
    font-family: var(--showroom-display);
    font-size: 92px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.pharma-visual__slide-number span {
    display: none;
}

.pharma-visual__slide-number span.is-active {
    display: block;
}

.pharma-visual__copy {
    left: 36px;
    top: 172px;
    bottom: auto;
    z-index: 10;
    width: min(460px, calc(39% - 58px));
}

.pharma-visual__copy-panel {
    min-height: 418px;
    padding: 30px;
    border: 1px solid #cfdee5;
    border-radius: 8px;
    background: #f9fcfd;
    box-shadow: 0 22px 48px rgba(18, 44, 61, 0.12);
    color: #102232;
    backdrop-filter: none;
}

.pharma-visual__copy-panel::before {
    display: none;
}

.pharma-visual__copy-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #d7e4ea;
}

.pharma-visual .pharma-kicker {
    margin: 0;
    color: #2f7fbf;
}

.pharma-visual__copy-head small {
    color: #6a7f8e;
    font-family: var(--showroom-display);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.pharma-visual__copy h1 {
    color: #102232;
    font-size: clamp(38px, 3.2vw, 54px);
    line-height: 1.08;
    text-shadow: none;
}

.pharma-visual__copy p {
    max-width: 370px;
    margin-top: 20px;
    color: #516878;
    font-size: 15px;
    line-height: 1.8;
}

.pharma-visual__brief {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 28px 0 0;
    border: 1px solid #d7e4ea;
    border-radius: 8px;
    background: #ffffff;
}

.pharma-visual__brief div {
    min-width: 0;
    padding: 14px 16px;
}

.pharma-visual__brief div + div {
    border-left: 1px solid #d7e4ea;
}

.pharma-visual__brief dt,
.pharma-visual__brief dd {
    margin: 0;
}

.pharma-visual__brief dt {
    color: #6a7f8e;
    font-family: var(--showroom-display);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.pharma-visual__brief dd {
    margin-top: 6px;
    overflow: hidden;
    color: #102232;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pharma-visual__data {
    top: 52px;
    right: 52px;
    left: auto;
    z-index: 9;
}

.pharma-visual__data span {
    min-height: 34px;
    padding: 0 12px;
    border-color: rgba(255, 255, 255, 0.70);
    border-radius: 8px;
    background: rgba(249, 252, 253, 0.88);
    color: #102232;
    box-shadow: 0 10px 26px rgba(13, 35, 50, 0.10);
    backdrop-filter: none;
}

.pharma-visual__network {
    top: 92px;
    right: 54px;
    z-index: 5;
    width: min(39vw, 510px);
    color: rgba(84, 191, 163, 0.54);
    opacity: 0.78;
}

.pharma-visual__network circle {
    fill: rgba(249, 252, 253, 0.92);
}

.pharma-visual__controls {
    left: 36px;
    bottom: 34px;
    z-index: 10;
    gap: 8px;
}

.pharma-visual__controls button {
    width: 44px;
    height: 44px;
    border-color: #cfdee5;
    border-radius: 8px;
    background: #f9fcfd;
    color: #102232;
    box-shadow: 0 10px 24px rgba(18, 44, 61, 0.09);
    backdrop-filter: none;
}

.pharma-visual__controls button:hover {
    border-color: #2f7fbf;
    color: #2f7fbf;
}

.pharma-visual__dots {
    min-height: 44px;
    padding: 0 12px;
    border-color: #cfdee5;
    border-radius: 8px;
    background: #f9fcfd;
    box-shadow: 0 10px 24px rgba(18, 44, 61, 0.09);
    backdrop-filter: none;
}

.pharma-visual__dots button {
    width: 28px;
    height: 3px;
    background: #bdccd4;
}

.pharma-visual__dots button.is-active {
    background: #2f7fbf;
}

.pharma-visual__thumbnails {
    right: 52px;
    bottom: 52px;
    z-index: 9;
    grid-template-columns: repeat(3, 112px);
    gap: 12px;
}

.pharma-visual__thumbnails span {
    height: 74px;
    border: 2px solid rgba(249, 252, 253, 0.70);
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(13, 35, 50, 0.16);
    opacity: 0.72;
}

.pharma-visual__thumbnails span.is-active {
    border-color: #f9fcfd;
    opacity: 1;
    transform: translateY(-4px);
}

html[data-preview-device="mobile"] .pharma-visual.visual-preview {
    background: #eef4f6;
}

html[data-preview-device="mobile"] .pharma-visual__fallback,
html[data-preview-device="mobile"] .pharma-webgl,
html[data-preview-device="mobile"] .pharma-visual__transition,
html[data-preview-device="mobile"] .pharma-visual__grid {
    inset: 14px;
}

html[data-preview-device="mobile"] .pharma-visual__topbar,
html[data-preview-device="mobile"] .pharma-visual__slide-number,
html[data-preview-device="mobile"] .pharma-visual__thumbnails {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__copy {
    left: 24px;
    top: auto;
    bottom: 88px;
    width: calc(100% - 48px);
}

html[data-preview-device="mobile"] .pharma-visual__copy-panel {
    min-height: 342px;
    padding: 24px;
    background: rgba(249, 252, 253, 0.94);
}

html[data-preview-device="mobile"] .pharma-visual__copy-head {
    margin-bottom: 18px;
}

html[data-preview-device="mobile"] .pharma-visual__copy-head small {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__copy h1 {
    font-size: 36px;
}

html[data-preview-device="mobile"] .pharma-visual__copy p {
    max-width: none;
    font-size: 14px;
}

html[data-preview-device="mobile"] .pharma-visual__brief {
    margin-top: 20px;
}

html[data-preview-device="mobile"] .pharma-visual__brief div {
    padding: 12px;
}

html[data-preview-device="mobile"] .pharma-visual__brief dd {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

html[data-preview-device="mobile"] .pharma-visual__data {
    top: 28px;
    right: 28px;
}

html[data-preview-device="mobile"] .pharma-visual__network {
    top: 84px;
    right: -86px;
    width: 440px;
}

html[data-preview-device="mobile"] .pharma-visual__controls {
    left: 24px;
    bottom: 28px;
}

@media (max-width: 860px) {
    .pharma-visual__fallback,
    .pharma-webgl,
    .pharma-visual__transition,
    .pharma-visual__grid {
        inset: 14px;
    }

    .pharma-visual__topbar,
    .pharma-visual__slide-number,
    .pharma-visual__thumbnails {
        display: none;
    }

    .pharma-visual__copy {
        left: 24px;
        top: auto;
        bottom: 88px;
        width: calc(100% - 48px);
    }

    .pharma-visual__copy-panel {
        min-height: 342px;
        padding: 24px;
        background: rgba(249, 252, 253, 0.94);
    }

    .pharma-visual__copy-head small {
        display: none;
    }

    .pharma-visual__copy h1 {
        font-size: 36px;
    }

    .pharma-visual__copy p {
        max-width: none;
        font-size: 14px;
    }

    .pharma-visual__brief dd {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .pharma-visual__data {
        top: 28px;
        right: 28px;
        left: auto;
    }

    .pharma-visual__network {
        top: 84px;
        right: -86px;
        width: 440px;
    }

    .pharma-visual__controls {
        left: 24px;
        bottom: 28px;
    }
}

/* Sample 2 visual final direction: large image stage with editorial typography overlay. */
.pharma-visual.visual-preview {
    --pharma-visual-gutter: 52px;
    --pharma-visual-bottom: 38px;
    background: #07141d;
    color: #f7fcfd;
    box-shadow: 0 28px 72px rgba(6, 18, 27, 0.20);
}

.pharma-visual__fallback,
.pharma-webgl,
.pharma-visual__transition,
.pharma-visual__grid {
    inset: 0;
    border-radius: 0;
}

.pharma-visual__fallback {
    z-index: -4;
}

.pharma-webgl {
    z-index: -3;
}

.pharma-visual__transition {
    z-index: -2;
}

.pharma-visual__grid {
    z-index: -1;
    border: 0;
    background:
        linear-gradient(90deg, rgba(4, 14, 22, 0.72) 0%, rgba(4, 14, 22, 0.52) 36%, rgba(4, 14, 22, 0.14) 72%, rgba(4, 14, 22, 0.08) 100%),
        linear-gradient(180deg, rgba(4, 14, 22, 0.18), rgba(4, 14, 22, 0.28));
}

.pharma-visual__topbar {
    position: relative;
    z-index: 9;
    width: 100%;
    min-height: 76px;
    padding: 0 var(--pharma-visual-gutter);
    color: #f7fcfd;
}

.pharma-visual__topbar a,
.pharma-visual__topbar a span {
    color: #f7fcfd;
}

.pharma-visual__topbar a svg {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.10);
    color: #a4eede;
}

.pharma-visual__topbar > span {
    display: inline-flex;
    color: rgba(247, 252, 253, 0.66);
}

.pharma-visual__slide-number {
    top: 112px;
    left: var(--pharma-visual-gutter);
    color: rgba(247, 252, 253, 0.15);
    font-size: 116px;
}

.pharma-visual__copy {
    left: var(--pharma-visual-gutter);
    top: auto;
    bottom: 132px;
    width: min(680px, calc(100% - 460px));
}

.pharma-visual__copy-panel {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #f7fcfd;
    backdrop-filter: none;
}

.pharma-visual__copy-head {
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 0;
    border-bottom: 0;
}

.pharma-visual .pharma-kicker {
    min-height: 28px;
    align-items: center;
    margin: 0;
    padding: 0 10px;
    border: 1px solid rgba(164, 238, 222, 0.30);
    border-radius: 999px;
    background: rgba(6, 18, 27, 0.26);
    color: #a4eede;
    backdrop-filter: blur(10px);
}

.pharma-visual__copy-head small {
    color: rgba(247, 252, 253, 0.68);
}

.pharma-visual__copy h1 {
    max-width: 660px;
    color: #f7fcfd;
    font-family: 'Noto Serif KR', 'Noto Sans KR', 'Pretendard Variable', serif;
    font-size: clamp(62px, 6.1vw, 104px);
    font-weight: 700;
    line-height: 0.98;
    text-shadow: 0 18px 44px rgba(0, 0, 0, 0.30);
}

.pharma-visual__char {
    display: inline-block;
}

.pharma-visual__char--space {
    width: 0.26em;
}

.pharma-visual__copy p {
    max-width: 560px;
    margin-top: 26px;
    color: rgba(247, 252, 253, 0.82);
    font-size: 17px;
    line-height: 1.82;
    text-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

.pharma-visual__brief {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
    border: 0;
    background: transparent;
}

.pharma-visual__brief div {
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    background: rgba(6, 18, 27, 0.28);
    backdrop-filter: blur(12px);
}

.pharma-visual__brief div + div {
    border-left: 1px solid rgba(255, 255, 255, 0.24);
}

.pharma-visual__brief dt {
    display: none;
}

.pharma-visual__brief dd {
    margin: 0;
    color: rgba(247, 252, 253, 0.86);
    font-size: 12px;
    line-height: 36px;
    white-space: nowrap;
}

.pharma-visual__data {
    top: 104px;
    right: var(--pharma-visual-gutter);
}

.pharma-visual__data span {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(6, 18, 27, 0.26);
    color: #f7fcfd;
    backdrop-filter: blur(12px);
}

.pharma-visual__network {
    top: 124px;
    right: 9%;
    z-index: 2;
    width: min(44vw, 560px);
    color: rgba(164, 238, 222, 0.58);
}

.pharma-visual__network circle {
    fill: rgba(247, 252, 253, 0.74);
}

.pharma-visual__controls {
    left: var(--pharma-visual-gutter);
    bottom: var(--pharma-visual-bottom);
}

.pharma-visual__controls button,
.pharma-visual__dots {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(6, 18, 27, 0.42);
    color: #f7fcfd;
    box-shadow: none;
    backdrop-filter: blur(12px);
}

.pharma-visual__controls button:hover {
    border-color: rgba(164, 238, 222, 0.62);
    color: #a4eede;
}

.pharma-visual__dots button {
    background: rgba(247, 252, 253, 0.30);
}

.pharma-visual__dots button.is-active {
    background: #a4eede;
}

.pharma-visual__thumbnails {
    right: var(--pharma-visual-gutter);
    bottom: var(--pharma-visual-bottom);
}

.pharma-visual__thumbnails span {
    border-color: rgba(255, 255, 255, 0.32);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.pharma-visual__thumbnails span.is-active {
    border-color: #a4eede;
}

html[data-preview-device="mobile"] .pharma-visual.visual-preview {
    background: #07141d;
}

html[data-preview-device="mobile"] .pharma-visual__fallback,
html[data-preview-device="mobile"] .pharma-webgl,
html[data-preview-device="mobile"] .pharma-visual__transition,
html[data-preview-device="mobile"] .pharma-visual__grid {
    inset: 0;
}

html[data-preview-device="mobile"] .pharma-visual__topbar,
html[data-preview-device="mobile"] .pharma-visual__slide-number,
html[data-preview-device="mobile"] .pharma-visual__thumbnails {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__copy {
    left: 24px;
    bottom: 92px;
    width: calc(100% - 48px);
}

html[data-preview-device="mobile"] .pharma-visual__copy-panel {
    min-height: 0;
    padding: 0;
    background: transparent;
}

html[data-preview-device="mobile"] .pharma-visual__copy h1 {
    font-size: 48px;
    line-height: 1.02;
}

html[data-preview-device="mobile"] .pharma-visual__copy p {
    margin-top: 20px;
    font-size: 15px;
}

html[data-preview-device="mobile"] .pharma-visual__brief {
    display: none;
}

html[data-preview-device="mobile"] .pharma-visual__data {
    top: 24px;
    right: 24px;
}

html[data-preview-device="mobile"] .pharma-visual__network {
    top: 112px;
    right: -132px;
    width: 480px;
}

html[data-preview-device="mobile"] .pharma-visual__controls {
    left: 24px;
    bottom: 28px;
}

@media (max-width: 860px) {
    .pharma-visual__fallback,
    .pharma-webgl,
    .pharma-visual__transition,
    .pharma-visual__grid {
        inset: 0;
    }

    .pharma-visual__copy {
        left: 24px;
        bottom: 92px;
        width: calc(100% - 48px);
    }

    .pharma-visual__copy-panel {
        min-height: 0;
        padding: 0;
        background: transparent;
    }

    .pharma-visual__copy h1 {
        font-size: 48px;
        line-height: 1.02;
    }

    .pharma-visual__brief {
        display: none;
    }

    .pharma-visual__data {
        top: 24px;
        right: 24px;
    }

    .pharma-visual__network {
        top: 112px;
        right: -132px;
        width: 480px;
    }
}

/* ============================================================
   Sample 3 — Construction (STRATA Quarterly)
   Scope: [data-demo-theme="construction"] .c3-*
   ============================================================ */

[data-demo-theme="construction"] {
    --c3-bg: #f3f1ee;
    --c3-ink: #16181b;
    --c3-line: #2a2d33;
    --c3-mute: #6b6f76;
    --c3-paper: #ffffff;
    --c3-accent: #f5c518;
    --c3-blue: #2a5d8f;
    --c3-green: #4a7c59;
    --c3-red: #b03a2e;
}

[data-ui-theme="dark"][data-demo-theme="construction"] {
    --c3-bg: #1a1c20;
    --c3-ink: #ece8df;
    --c3-line: #c2c5cc;
    --c3-mute: #8d9099;
    --c3-paper: #24272d;
}

.c3-landing.landing-preview,
.c3-visual.visual-preview {
    position: relative;
    width: min(100%, 1920px);
    min-height: calc(100vh - 86px);
    margin: 0 auto;
    background: var(--c3-bg);
    color: var(--c3-ink);
    font-family: 'Pretendard Variable', 'Noto Sans KR', system-ui, sans-serif;
    overflow: hidden;
}

.c3-landing { border: 1px solid rgba(22, 24, 27, 0.08); }

.c3-chapters {
    position: absolute;
    right: clamp(12px, 1.6vw, 22px);
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 30;
}

.c3-chapters__dot {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: var(--c3-mute);
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 9px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.c3-chapters__dot span { opacity: 0; transition: opacity 0.3s ease; }

.c3-chapters__dot::before {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
}

.c3-chapters__dot:hover span,
.c3-chapters__dot.is-active span { opacity: 1; }

.c3-chapters__dot.is-active {
    color: var(--c3-ink);
    background: var(--c3-accent);
    border-color: var(--c3-ink);
    transform: scale(1.5);
}

.c3-chapters__dot.is-active::before { display: none; }

.c3-section {
    position: relative;
    padding: clamp(56px, 8vw, 120px) clamp(24px, 4vw, 64px);
}

.c3-section__head { max-width: 920px; margin-bottom: clamp(32px, 4vw, 56px); }
.c3-section__head--center { margin-inline: auto; text-align: center; }

.c3-section__head h2 {
    font-family: 'Noto Serif KR', 'Pretendard Variable', serif;
    font-size: clamp(28px, 3.6vw, 56px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin: 8px 0 12px;
}

.c3-section__head p { color: var(--c3-mute); font-size: 15px; line-height: 1.7; margin: 0; }

.c3-eyebrow {
    display: inline-block;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c3-mute);
}

/* Hero */
.c3-hero { padding: 0; height: clamp(620px, 86vh, 860px); overflow: hidden; }
.c3-hero__media { position: absolute; inset: 0; z-index: 0; }
.c3-hero__media svg { width: 100%; height: 100%; display: block; }
.c3-hero__media img,
.c3-project__media img,
.c3-swipe__media img,
.c3-grid__media img,
.c3-people__portrait img,
.c3-visual__media img { width: 100%; height: 100%; display: block; object-fit: cover; }

.c3-grain {
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.08), transparent 60%),
        radial-gradient(circle at 70% 80%, rgba(0,0,0,0.18), transparent 70%);
    mix-blend-mode: overlay; pointer-events: none;
}

.c3-hero__overlay {
    position: absolute; inset: 0; z-index: 2; color: #fff;
    display: flex; flex-direction: column; justify-content: space-between;
    padding: clamp(28px, 3.4vw, 56px) clamp(28px, 4vw, 72px);
}

.c3-hero__top { display: flex; justify-content: space-between; align-items: flex-start; }

.c3-masthead { display: flex; flex-direction: column; line-height: 1; }
.c3-masthead strong { font-family: 'Outfit', sans-serif; font-size: clamp(20px, 1.6vw, 28px); letter-spacing: 0.12em; font-weight: 700; }
.c3-masthead span { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.3em; margin-top: 4px; opacity: 0.85; }

.c3-issue-tag {
    background: var(--c3-accent); color: var(--c3-ink);
    font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em;
    padding: 8px 14px; font-weight: 700;
}

.c3-hero__bottom { display: grid; grid-template-columns: 1fr auto; gap: clamp(24px, 4vw, 80px); align-items: end; }
.c3-hero__copy { max-width: 820px; }
.c3-hero__copy .c3-eyebrow { color: rgba(255,255,255,0.78); }

.c3-headline {
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(36px, 5.4vw, 88px);
    line-height: 1.1; font-weight: 700;
    margin: 16px 0 18px; letter-spacing: -0.02em; color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,0.4);
}

.c3-headline__kr { display: block; }
.c3-headline__en { display: block; font-family: 'Outfit', sans-serif; font-size: 0.42em; letter-spacing: 0.04em; opacity: 0.86; font-weight: 500; margin-top: 14px; }

.c3-hero__lead { color: rgba(255,255,255,0.82); font-size: clamp(14px, 1.1vw, 17px); line-height: 1.75; max-width: 52ch; margin: 0; }

.c3-hero__meta { display: grid; grid-template-columns: repeat(2, auto); gap: 12px 28px; margin: 0; color: #fff; }
.c3-hero__meta div { display: flex; flex-direction: column; }
.c3-hero__meta dt { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; opacity: 0.7; }
.c3-hero__meta dd { margin: 4px 0 0; font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 500; }

.c3-marquee {
    position: absolute; left: 0; right: 0; bottom: 0;
    overflow: hidden; border-top: 1px solid rgba(255,255,255,0.18); padding: 12px 0;
}

.c3-marquee__track {
    display: flex; gap: 24px; white-space: nowrap;
    color: rgba(255,255,255,0.78);
    font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.15em;
    animation: c3-marquee 38s linear infinite;
}

.c3-marquee:hover .c3-marquee__track { animation-play-state: paused; }
.c3-marquee__track > span { flex: 0 0 auto; }

@keyframes c3-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.c3-marquee--ink { position: relative; border-top: 1px solid rgba(22,24,27,0.18); background: var(--c3-bg); }
.c3-marquee--ink .c3-marquee__track { color: var(--c3-ink); }

/* Interlude */
.c3-interlude { text-align: center; background: var(--c3-bg); padding-block: clamp(80px, 11vw, 160px); }
.c3-interlude__divider { display: block; margin: 0 auto 36px; width: min(100%, 1080px); height: 40px; color: var(--c3-line); }
.c3-interlude__divider [data-c3-line] {
    stroke-dasharray: 1200; stroke-dashoffset: 1200;
    transition: stroke-dashoffset 1.4s cubic-bezier(0.65,0,0.35,1);
}
.c3-section.is-visible .c3-interlude__divider [data-c3-line] { stroke-dashoffset: 0; }

.c3-interlude__en { font-family: 'Outfit', sans-serif; font-size: clamp(14px, 1.2vw, 18px); letter-spacing: 0.18em; text-transform: uppercase; color: var(--c3-mute); margin: 0 0 24px; }
.c3-interlude__kr { font-family: 'Noto Serif KR', serif; font-size: clamp(26px, 3.4vw, 52px); line-height: 1.4; font-weight: 700; letter-spacing: -0.02em; margin: 0 auto; max-width: 56ch; }
.c3-interlude--safety { background: linear-gradient(0deg, var(--c3-bg) 0%, rgba(245,197,24,0.06) 100%); }

/* Project */
.c3-project { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); gap: clamp(28px, 3vw, 56px); padding-bottom: clamp(80px, 8vw, 140px); align-items: stretch; }
.c3-project__media { position: relative; min-height: 720px; overflow: hidden; background: #b5becc; }
.c3-project__media svg { width: 100%; height: 100%; display: block; }

.c3-project__sheet { background: var(--c3-paper); padding: clamp(28px, 3vw, 56px); display: flex; flex-direction: column; gap: 20px; border-top: 4px solid var(--c3-accent); }
.c3-project__title { font-family: 'Noto Serif KR', serif; font-size: clamp(28px, 2.6vw, 44px); line-height: 1.18; font-weight: 700; margin: 4px 0 0; letter-spacing: -0.02em; }
.c3-project__title em { font-style: normal; font-family: 'Outfit', sans-serif; font-size: 0.6em; color: var(--c3-mute); font-weight: 500; letter-spacing: 0.02em; }
.c3-project__lead { font-family: 'Noto Serif KR', serif; font-size: 17px; line-height: 1.7; color: var(--c3-ink); margin: 0; }

.c3-spec { margin: 12px 0 0; display: grid; gap: 14px; }
.c3-spec div { display: grid; grid-template-columns: 88px 1fr; align-items: baseline; gap: 12px; border-top: 1px solid rgba(22,24,27,0.1); padding-top: 12px; }
.c3-spec dt { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--c3-mute); text-transform: uppercase; }
.c3-spec dd { margin: 0; font-size: 14px; font-weight: 500; color: var(--c3-ink); }

.c3-project .c3-marquee { position: relative; grid-column: 1 / -1; margin-top: clamp(24px, 3vw, 40px); }

/* Swipe */
.c3-swipe__controls { display: inline-flex; align-items: center; gap: 14px; margin-top: 24px; }
.c3-icon-btn { width: 44px; height: 44px; border-radius: 8px; border: 1px solid rgba(22,24,27,0.18); background: var(--c3-paper); color: var(--c3-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; }
.c3-icon-btn:hover { background: var(--c3-ink); color: var(--c3-paper); }
.c3-icon-btn svg { width: 20px; height: 20px; }
.c3-icon-btn--invert { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); color: #fff; backdrop-filter: blur(8px); }
.c3-icon-btn--invert:hover { background: var(--c3-accent); color: var(--c3-ink); border-color: var(--c3-accent); }

.c3-swipe__index { font-family: 'JetBrains Mono', monospace; font-size: 13px; letter-spacing: 0.18em; color: var(--c3-mute); }

.c3-swipe__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 16px clamp(24px, 4vw, 64px) 40px; margin: 0 calc(clamp(24px, 4vw, 64px) * -1); scrollbar-width: none; cursor: grab; }
.c3-swipe__track::-webkit-scrollbar { display: none; }
.c3-swipe__track:active { cursor: grabbing; }

.c3-swipe__card { flex: 0 0 clamp(320px, 28vw, 460px); scroll-snap-align: start; background: var(--c3-paper); border: 1px solid rgba(22,24,27,0.08); box-shadow: 0 1px 0 rgba(22,24,27,0.04), 0 10px 30px -20px rgba(22,24,27,0.25); display: flex; flex-direction: column; transition: transform 0.4s ease, box-shadow 0.4s ease; }
.c3-swipe__card:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(22,24,27,0.04), 0 20px 40px -20px rgba(22,24,27,0.35); }

.c3-swipe__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.c3-swipe__media svg { width: 100%; height: 100%; display: block; }
.c3-swipe__pin { position: absolute; top: 16px; right: 16px; width: 28px; height: 28px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); }
.c3-swipe__pin svg { width: 100%; height: 100%; }

.c3-swipe__body { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.c3-swipe__label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; color: var(--c3-mute); transition: color 0.3s ease; }
.c3-swipe__card:hover .c3-swipe__label { color: var(--c3-accent); }
.c3-swipe__body h3 { font-family: 'Noto Serif KR', serif; font-size: 20px; font-weight: 700; line-height: 1.4; margin: 0; letter-spacing: -0.01em; }
.c3-swipe__body p { color: var(--c3-mute); font-size: 14px; line-height: 1.65; margin: 0; }

.c3-swipe__meta { display: grid; gap: 6px; margin: 8px 0 0; padding-top: 16px; border-top: 1px dashed rgba(22,24,27,0.18); }
.c3-swipe__meta div { display: grid; grid-template-columns: 48px 1fr; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; }
.c3-swipe__meta dt { color: var(--c3-mute); letter-spacing: 0.18em; }
.c3-swipe__meta dd { margin: 0; color: var(--c3-ink); }

/* Grid */
.c3-grid__mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 16px; }
.c3-grid__cell { position: relative; margin: 0; overflow: hidden; background: #1a1c20; opacity: 0; transform: translateY(12px); transition: opacity 0.6s ease, transform 0.6s ease; }
.c3-grid__cell--small { grid-column: span 1; grid-row: span 1; }
.c3-grid__cell--wide { grid-column: span 2; grid-row: span 1; }
.c3-grid__cell--large { grid-column: span 2; grid-row: span 2; }
.c3-grid__cell--two { grid-column: span 2; }
.c3-grid__cell--one { grid-column: span 1; }

.c3-grid--close .c3-grid__close { display: grid; grid-template-columns: 2fr 1fr 2fr; gap: 16px; height: 480px; }
.c3-grid--close .c3-grid__cell { grid-column: auto; grid-row: auto; }

.c3-grid__media { position: absolute; inset: 0; transition: transform 0.6s cubic-bezier(0.16,1,0.3,1); }
.c3-grid__media svg { width: 100%; height: 100%; display: block; }
.c3-grid__cell:hover .c3-grid__media { transform: scale(1.05); }

.c3-grid__cell figcaption {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 18px 20px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,0.7));
    color: #fff; transform: translateY(20px); opacity: 0;
    transition: all 0.4s ease;
}
.c3-grid__cell:hover figcaption { transform: translateY(0); opacity: 1; }
.c3-grid__caption { display: block; font-family: 'Noto Serif KR', serif; font-size: 16px; font-weight: 600; line-height: 1.4; }
.c3-grid__place { display: block; margin-top: 4px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.18em; color: rgba(255,255,255,0.7); }

.c3-section.is-visible .c3-grid__cell { opacity: 1; transform: translateY(0); }
.c3-section.is-visible .c3-grid__cell:nth-child(2) { transition-delay: 0.05s; }
.c3-section.is-visible .c3-grid__cell:nth-child(3) { transition-delay: 0.1s; }
.c3-section.is-visible .c3-grid__cell:nth-child(4) { transition-delay: 0.15s; }
.c3-section.is-visible .c3-grid__cell:nth-child(5) { transition-delay: 0.2s; }
.c3-section.is-visible .c3-grid__cell:nth-child(6) { transition-delay: 0.25s; }
.c3-section.is-visible .c3-grid__cell:nth-child(7) { transition-delay: 0.3s; }
.c3-section.is-visible .c3-grid__cell:nth-child(8) { transition-delay: 0.35s; }

/* Drawing */
.c3-drawing { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 72px); align-items: start; }
.c3-drawing__plan { background: var(--c3-paper); border: 1px solid rgba(22,24,27,0.12); padding: 20px; min-height: 600px; position: relative; }
.c3-drawing__layers { display: flex; gap: 8px; margin-bottom: 16px; }
.c3-layer-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid rgba(22,24,27,0.18); background: transparent; color: var(--c3-mute); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; cursor: pointer; transition: all 0.2s ease; }
.c3-layer-btn.is-active { background: var(--c3-ink); color: var(--c3-paper); border-color: var(--c3-ink); }
.c3-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.c3-dot--str { background: var(--c3-ink); }
.c3-dot--mep { background: var(--c3-blue); }
.c3-dot--lnd { background: var(--c3-green); }
.c3-drawing__svg { width: 100%; height: auto; display: block; }
.c3-plan__layer { transition: opacity 0.3s ease; }
.c3-plan__layer[data-c3-hidden="true"] { opacity: 0.08; }

.c3-drawing__text { padding-top: 12px; }
.c3-drawing__text h2 { font-family: 'Noto Serif KR', serif; font-size: clamp(24px, 2.4vw, 40px); line-height: 1.25; font-weight: 700; margin: 12px 0 20px; max-width: 24ch; }
.c3-drawing__text p { max-width: 64ch; color: var(--c3-ink); font-size: 15px; line-height: 1.85; margin: 0 0 20px; }
.c3-drawing__text blockquote { margin: 24px 0; padding: 20px 24px; border-left: 3px solid var(--c3-accent); background: rgba(245,197,24,0.06); font-family: 'Noto Serif KR', serif; font-size: 16px; line-height: 1.7; }
.c3-drawing__toc { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.c3-drawing__toc li { display: flex; gap: 12px; padding: 12px 14px; border: 1px solid rgba(22,24,27,0.12); font-size: 13px; color: var(--c3-mute); }
.c3-drawing__toc strong { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: var(--c3-accent); }

/* Numbers band */
.c3-numbers { background: var(--c3-ink); color: var(--c3-paper); padding-block: clamp(64px, 8vw, 120px); }
.c3-numbers .c3-section__head h2 { color: var(--c3-paper); }
.c3-section__head--invert .c3-eyebrow { color: rgba(255,255,255,0.66); }

.c3-numbers__band {
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 0;
    border-top: 1px solid rgba(255,255,255,0.18);
    border-bottom: 1px solid rgba(255,255,255,0.18);
    background-image: repeating-linear-gradient(135deg, transparent 0 18px, rgba(255,255,255,0.025) 18px 19px);
}
.c3-numbers__col { padding: 36px 28px; border-right: 1px solid rgba(255,255,255,0.12); display: flex; flex-direction: column; gap: 8px; }
.c3-numbers__col:last-child { border-right: none; }
.c3-numbers__value { font-family: 'Outfit', sans-serif; font-size: clamp(40px, 4.8vw, 80px); font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.c3-numbers__unit { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.18em; color: rgba(255,255,255,0.66); }
.c3-numbers__label { margin-top: 8px; font-size: 13px; color: rgba(255,255,255,0.84); }

/* People */
.c3-people__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 48px); align-items: start; }
.c3-people__col { display: flex; flex-direction: column; gap: 18px; }
.c3-people__portrait { aspect-ratio: 4 / 5; overflow: hidden; background: #1a1c20; }
.c3-people__portrait svg { width: 100%; height: 100%; display: block; }
.c3-people__body strong { font-family: 'Noto Serif KR', serif; font-size: 22px; font-weight: 700; display: block; }
.c3-people__role { display: block; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: var(--c3-mute); margin-top: 4px; }
.c3-people__body blockquote { margin: 18px 0 12px; padding: 0; font-family: 'Noto Serif KR', serif; font-size: 18px; line-height: 1.7; color: var(--c3-ink); }
.c3-dropcap { font-size: 1.6em; color: var(--c3-accent); margin-right: 4px; }
.c3-people__years { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: var(--c3-mute); }

/* Colophon */
.c3-colophon { padding-bottom: clamp(40px, 4vw, 64px); }
.c3-colophon__cols { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(32px, 5vw, 80px); padding: 0 clamp(24px, 4vw, 120px) clamp(40px, 5vw, 80px); border-bottom: 1px solid rgba(22,24,27,0.12); }
.c3-colophon__list { margin: 16px 0 0; display: grid; gap: 12px; }
.c3-colophon__list div { display: grid; grid-template-columns: 72px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(22,24,27,0.08); }
.c3-colophon__list dt { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--c3-mute); }
.c3-colophon__list dd { margin: 0; font-size: 14px; }
.c3-colophon__right h3 { font-family: 'Noto Serif KR', serif; font-size: clamp(28px, 2.6vw, 44px); font-weight: 700; margin: 12px 0 14px; }
.c3-colophon__right p { color: var(--c3-mute); font-size: 15px; line-height: 1.7; max-width: 56ch; }
.c3-cta { margin-top: 24px; display: flex; gap: 12px; flex-wrap: wrap; }
.c3-cta__primary, .c3-cta__ghost { padding: 14px 28px; border: 1px solid var(--c3-ink); background: var(--c3-ink); color: var(--c3-paper); font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease; }
.c3-cta__ghost { background: transparent; color: var(--c3-ink); }
.c3-cta__primary:hover { background: var(--c3-accent); color: var(--c3-ink); border-color: var(--c3-accent); }
.c3-cta__ghost:hover { background: var(--c3-ink); color: var(--c3-paper); }

.c3-wordmark { padding: clamp(36px, 5vw, 72px) clamp(24px, 4vw, 120px) 24px; color: var(--c3-ink); }
.c3-wordmark svg { width: 100%; height: auto; display: block; }
.c3-wordmark text { stroke-dasharray: 6000; stroke-dashoffset: 6000; transition: stroke-dashoffset 2.2s cubic-bezier(0.65,0,0.35,1); }
.c3-section.is-visible .c3-wordmark text { stroke-dashoffset: 0; }
.c3-foot { padding: 20px clamp(24px, 4vw, 120px); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; color: var(--c3-mute); text-align: center; }

/* Visual */
.c3-visual { aspect-ratio: 16 / 9; min-height: 540px; background: #0a0b0e; color: #fff; position: relative; overflow: hidden; }
.c3-visual__stage { position: absolute; inset: 0; }
.c3-visual__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    will-change: opacity, visibility;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s 0.8s;
}
.c3-visual__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s;
}

/* Incoming slide fades in on top during transition */
.c3-visual__slide.is-entering {
    visibility: visible;
    z-index: 3;
    animation: c3-visual-fade-in 0.9s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes c3-visual-fade-in {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

.c3-visual__media {
    position: absolute;
    inset: -4%;
    overflow: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}
.c3-visual__media img {
    width: 108%;
    height: 108%;
    object-fit: cover;
    will-change: transform, filter;
    transform: scale(1.03) translate3d(0, 0, 0);
    backface-visibility: hidden;
}

.c3-visual__slide.is-active .c3-visual__media img {
    animation: c3-ken-burns 5.9s linear forwards;
}
@keyframes c3-ken-burns {
    0% { filter: blur(0px); transform: scale(1.03) translate3d(0, 0, 0); }
    71.2% { filter: blur(0px); transform: scale(1.07) translate3d(0, 0, 0); }
    100% { filter: blur(12px); transform: scale(1.1) translate3d(0, 0, 0); }
}

/* Incoming image starts blurred and clears up during transition */
.c3-visual__slide.is-entering .c3-visual__media img {
    animation: c3-media-entering 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes c3-media-entering {
    0% { filter: blur(12px); transform: scale(1.15) translate3d(0, 0, 0); }
    40% { filter: blur(10px); transform: scale(1.1) translate3d(0, 0, 0); }
    100% { filter: blur(0px); transform: scale(1.03) translate3d(0, 0, 0); }
}

.c3-visual__svg { width: 100%; height: 100%; display: block; }

.c3-visual__slide.is-entering [data-c3-line-group] line,
.c3-visual__slide.is-entering [data-c3-line-group] path {
    stroke-dasharray: 800; stroke-dashoffset: 800;
    animation: c3-line-draw 0.8s cubic-bezier(0.65,0,0.35,1) forwards;
}

@keyframes c3-line-draw { to { stroke-dashoffset: 0; } }

.c3-visual__overlay { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 4vw, 64px); pointer-events: none; background: linear-gradient(to bottom, rgba(10,11,14,0.3) 0%, rgba(10,11,14,0.1) 40%, rgba(10,11,14,0.7) 100%); }
.c3-visual__chapter { font-family: 'Outfit', sans-serif; font-size: clamp(72px, 8vw, 128px); font-weight: 700; line-height: 1; letter-spacing: -0.04em; color: #fff; align-self: flex-end; margin-top: auto; }
.c3-visual__chapter small { font-size: 0.28em; color: rgba(255,255,255,0.66); margin-left: 8px; }

.c3-visual__h1 { font-family: 'Outfit', 'Noto Serif KR', 'Pretendard Variable', serif; font-size: clamp(36px, 5vw, 80px); line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; margin: 0; max-width: 18ch; color: #fff; perspective: 1000px; }
.c3-visual__h1 span { display: inline-block; opacity: 0; transform: translateY(30px) rotateX(-75deg); transform-origin: 50% 100%; backface-visibility: hidden; }
.c3-visual__slide.is-active .c3-visual__h1 span { animation: c3-char-in 0.8s cubic-bezier(0.34,1.56,0.64,1) forwards; }

@keyframes c3-char-in { to { opacity: 1; transform: translateY(0) rotateX(0deg); } }

.c3-visual__meta { margin: 0; display: flex; gap: 24px; flex-wrap: wrap; padding: 16px 24px; background: rgba(10, 11, 14, 0.45); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.08); border-left: 2px solid var(--c3-accent); align-self: flex-start; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.37); }
.c3-visual__meta div { display: flex; flex-direction: column; }
.c3-visual__meta dt { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.24em; color: rgba(255,255,255,0.6); }
.c3-visual__meta dd { margin: 4px 0 0; font-family: 'JetBrains Mono', monospace; font-size: 13px; color: #fff; }

.c3-grain--visual { z-index: 5; opacity: 0; pointer-events: none; background: repeating-conic-gradient(rgba(255,255,255,0.04) 0 0.5deg, transparent 0.5deg 1deg), repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 2px); mix-blend-mode: screen; }
.c3-visual.is-grain .c3-grain--visual { animation: c3-grain-flash 0.18s steps(3) 0.65s 1; }

@keyframes c3-grain-flash { 0%,100% { opacity: 0; } 50% { opacity: 0.85; } }

/* New Visual Footer Layout */
.c3-visual__footer { position: absolute; bottom: clamp(24px, 4vw, 48px); left: clamp(28px, 4vw, 64px); right: clamp(28px, 4vw, 64px); display: flex; justify-content: space-between; align-items: center; z-index: 6; pointer-events: none; }
.c3-visual__segments { display: flex; gap: 16px; pointer-events: auto; }
.c3-visual__segment-btn { display: flex; align-items: center; gap: 8px; background: none; border: none; padding: 8px 0; cursor: pointer; text-align: left; color: rgba(255, 255, 255, 0.4); transition: color 0.3s ease; }
.c3-visual__segment-btn:hover, .c3-visual__segment-btn.is-active { color: #fff; }
.c3-visual__segment-num { font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.05em; }
.c3-visual__segment-line { display: block; width: clamp(60px, 8vw, 120px); height: 2px; background: rgba(255, 255, 255, 0.15); position: relative; overflow: hidden; border-radius: 1px; }
.c3-visual__segment-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--c3-accent); }
.c3-visual__segment-btn.is-active .c3-visual__segment-fill { animation: c3-progress-fill 5s linear forwards; animation-play-state: running; }
.c3-visual.is-paused .c3-visual__segment-fill { animation-play-state: paused !important; }

@keyframes c3-progress-fill {
    from { width: 0; }
    to { width: 100%; }
}

.c3-visual__actions { display: flex; align-items: center; gap: 10px; pointer-events: auto; }

/* Responsive */
@media (max-width: 1180px) {
    [data-demo-theme="construction"] .c3-numbers__band { grid-template-columns: repeat(3, 1fr); }
    [data-demo-theme="construction"] .c3-numbers__col:nth-child(3) { border-right: none; }
    [data-demo-theme="construction"] .c3-numbers__col:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,0.12); }
}

@media (max-width: 960px) {
    [data-demo-theme="construction"] .c3-chapters { display: none; }
    [data-demo-theme="construction"] .c3-section { padding: 60px 24px; }
    [data-demo-theme="construction"] .c3-hero { height: 600px; }
    [data-demo-theme="construction"] .c3-hero__overlay { padding: 24px; }
    [data-demo-theme="construction"] .c3-hero__bottom { grid-template-columns: 1fr; gap: 32px; }
    [data-demo-theme="construction"] .c3-hero__meta { grid-template-columns: repeat(4, auto); }
    [data-demo-theme="construction"] .c3-project { grid-template-columns: 1fr; }
    [data-demo-theme="construction"] .c3-project__media { min-height: 380px; }
    [data-demo-theme="construction"] .c3-project__sheet { padding: 32px 24px; }
    [data-demo-theme="construction"] .c3-swipe__track { padding: 12px 24px 32px; margin: 0 -24px; }
    [data-demo-theme="construction"] .c3-swipe__card { flex: 0 0 clamp(290px, 50vw, 360px); }
    [data-demo-theme="construction"] .c3-drawing { grid-template-columns: 1fr; }
    [data-demo-theme="construction"] .c3-drawing__plan { min-height: 340px; padding: 16px; }
    [data-demo-theme="construction"] .c3-grid__mosaic { grid-template-columns: repeat(2, 1fr); }
    [data-demo-theme="construction"] .c3-grid__cell--large { grid-column: span 2; grid-row: span 2; }
    [data-demo-theme="construction"] .c3-grid__cell--wide { grid-column: span 2; }
    [data-demo-theme="construction"] .c3-grid--close .c3-grid__close { grid-template-columns: 1fr; height: auto; }
    [data-demo-theme="construction"] .c3-grid--close .c3-grid__cell { height: 300px; }
    [data-demo-theme="construction"] .c3-people__grid { grid-template-columns: 1fr; gap: 40px; }
    [data-demo-theme="construction"] .c3-colophon__cols { grid-template-columns: 1fr; gap: 40px; padding: 0 24px 48px; }
    [data-demo-theme="construction"] .c3-visual__overlay { padding: 32px; }
    [data-demo-theme="construction"] .c3-visual__h1 { font-size: clamp(28px, 4.5vw, 48px); }
}

@media (max-width: 768px) {
    [data-demo-theme="construction"] .c3-section { padding: 40px 16px; }
    [data-demo-theme="construction"] .c3-section__head h2 { font-size: 24px; line-height: 1.3; }
    [data-demo-theme="construction"] .c3-section__head p { font-size: 14px; margin-top: 12px; }
    [data-demo-theme="construction"] .c3-hero { height: auto; min-height: 480px; }
    [data-demo-theme="construction"] .c3-hero__overlay { position: relative; min-height: 480px; padding: 24px 16px; justify-content: flex-end; gap: 32px; }
    [data-demo-theme="construction"] .c3-hero__bottom { align-items: flex-start; }
    [data-demo-theme="construction"] .c3-headline { font-size: clamp(26px, 6.5vw, 36px); }
    [data-demo-theme="construction"] .c3-headline__en { font-size: 14px; margin-top: 8px; }
    [data-demo-theme="construction"] .c3-hero__lead { font-size: 15px; margin-top: 24px; }
    [data-demo-theme="construction"] .c3-hero__meta { grid-template-columns: repeat(2, 1fr); gap: 12px; width: 100%; font-size: 12px; }
    [data-demo-theme="construction"] .c3-interlude { padding-block: 60px; }
    [data-demo-theme="construction"] .c3-interlude__en { font-size: 13px; }
    [data-demo-theme="construction"] .c3-interlude__kr { font-size: 18px; line-height: 1.5; margin-top: 16px; }
    [data-demo-theme="construction"] .c3-interlude__divider { width: 100%; max-width: 100%; height: auto; }
    [data-demo-theme="construction"] .c3-project__media { min-height: 240px; }
    [data-demo-theme="construction"] .c3-project__sheet { padding: 32px 16px; }
    [data-demo-theme="construction"] .c3-project__title { font-size: 26px; }
    [data-demo-theme="construction"] .c3-project__lead { font-size: 15px; }
    [data-demo-theme="construction"] .c3-spec { font-size: 13px; }
    [data-demo-theme="construction"] .c3-spec div { grid-template-columns: 72px 1fr; gap: 8px; }
    [data-demo-theme="construction"] .c3-swipe__track { padding: 8px 16px 24px; margin: 0 -16px; }
    [data-demo-theme="construction"] .c3-swipe__card { flex: 0 0 270px; }
    [data-demo-theme="construction"] .c3-swipe__body { padding: 20px 16px; }
    [data-demo-theme="construction"] .c3-swipe__body h3 { font-size: 18px; margin: 12px 0; }
    [data-demo-theme="construction"] .c3-swipe__body p { font-size: 14px; }
    [data-demo-theme="construction"] .c3-drawing__plan { min-height: 260px; padding: 12px; }
    [data-demo-theme="construction"] .c3-drawing__text { padding: 24px 16px 0; }
    [data-demo-theme="construction"] .c3-drawing__text blockquote { font-size: 14px; padding-left: 12px; margin: 24px 0; }
    [data-demo-theme="construction"] .c3-drawing__toc { grid-template-columns: 1fr; gap: 8px; font-size: 13px; }
    [data-demo-theme="construction"] .c3-numbers__band { grid-template-columns: repeat(2, 1fr); }
    [data-demo-theme="construction"] .c3-numbers__col { padding: 20px 16px; }
    [data-demo-theme="construction"] .c3-numbers__value { font-size: 32px; }
    [data-demo-theme="construction"] .c3-numbers__label { font-size: 12px; }
    [data-demo-theme="construction"] .c3-people__grid { gap: 40px; }
    [data-demo-theme="construction"] .c3-people__body { padding: 0 16px; }
    [data-demo-theme="construction"] .c3-people__body blockquote { font-size: 18px; margin: 20px 0; }
    [data-demo-theme="construction"] .c3-colophon__cols { padding: 0 16px 36px; }
    [data-demo-theme="construction"] .c3-colophon__right h3 { font-size: 20px; }
    [data-demo-theme="construction"] .c3-colophon__right p { font-size: 14px; margin: 12px 0 24px; }
    [data-demo-theme="construction"] .c3-cta { flex-direction: column; width: 100%; }
    [data-demo-theme="construction"] .c3-cta button { width: 100%; padding: 12px 24px; }
    [data-demo-theme="construction"] .c3-wordmark { padding: 24px 16px; overflow: hidden; }
    [data-demo-theme="construction"] .c3-wordmark svg { width: 100%; height: auto; max-width: 100%; }
    [data-demo-theme="construction"] .c3-foot { padding: 20px 16px; font-size: 11px; }
    
    /* Visual Mobile Layout Fixes to prevent overlapping */
    [data-demo-theme="construction"] .c3-visual { aspect-ratio: auto; height: 100vh; min-height: 568px; }
    [data-demo-theme="construction"] .c3-visual__overlay {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        padding: 24px 16px 100px; /* Leave space at bottom for controls */
        gap: 16px;
    }
    [data-demo-theme="construction"] .c3-visual__meta {
        align-self: stretch;
        order: 1;
        background: rgba(10, 11, 14, 0.72);
        padding: 14px 16px;
        gap: 12px 16px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-left: 2px solid var(--c3-accent);
        font-size: 11px;
    }
    [data-demo-theme="construction"] .c3-visual__meta div:last-child {
        grid-column: span 2;
    }
    [data-demo-theme="construction"] .c3-visual__chapter {
        order: 2;
        align-self: flex-start;
        margin-top: 16px;
        font-size: 32px;
    }
    [data-demo-theme="construction"] .c3-visual__h1 {
        order: 3;
        font-size: clamp(24px, 5.5vw, 32px);
        margin-top: 8px;
        line-height: 1.3;
        max-width: 100%;
    }
    [data-demo-theme="construction"] .c3-visual__footer {
        bottom: 24px;
        left: 16px;
        right: 16px;
        width: calc(100% - 32px);
        box-sizing: border-box;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    [data-demo-theme="construction"] .c3-visual__segment-line {
        width: 40px;
    }
    [data-demo-theme="construction"] .c3-visual__segments {
        gap: 8px;
    }
    [data-demo-theme="construction"] .c3-visual__segment-btn {
        gap: 4px;
    }
}@media (max-width: 560px) {
    [data-demo-theme="construction"] .c3-hero__meta { grid-template-columns: 1fr; gap: 8px; }
    [data-demo-theme="construction"] .c3-grid__mosaic { grid-template-columns: 1fr; grid-auto-rows: 200px; gap: 4px; }
    [data-demo-theme="construction"] .c3-grid__cell--large,
    [data-demo-theme="construction"] .c3-grid__cell--wide { grid-column: span 1; grid-row: span 1; }
    [data-demo-theme="construction"] .c3-grid--close .c3-grid__cell { height: 240px; }
    [data-demo-theme="construction"] .c3-interlude { padding-block: 48px; }
    [data-demo-theme="construction"] .c3-interlude__kr { font-size: 16px; }
}

/* Mobile preview mode overrides (specifically targeting the iframe-like mobile frame) */
html[data-preview-device="mobile"] .c3-landing.landing-preview,
html[data-preview-device="mobile"] .c3-visual.visual-preview {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
html[data-preview-device="mobile"] .c3-chapters { display: none !important; }
html[data-preview-device="mobile"] .c3-section { padding: 40px 16px !important; }
html[data-preview-device="mobile"] .c3-section__head h2 { font-size: 24px !important; line-height: 1.3 !important; }
html[data-preview-device="mobile"] .c3-section__head p { font-size: 14px !important; margin-top: 12px !important; }
html[data-preview-device="mobile"] .c3-hero { height: auto !important; min-height: 480px !important; }
html[data-preview-device="mobile"] .c3-hero__overlay { position: relative !important; min-height: 480px !important; padding: 24px 16px !important; justify-content: flex-end !important; gap: 32px !important; }
html[data-preview-device="mobile"] .c3-hero__bottom { grid-template-columns: 1fr !important; gap: 24px !important; align-items: flex-start !important; }
html[data-preview-device="mobile"] .c3-hero__meta { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; font-size: 12px !important; }
html[data-preview-device="mobile"] .c3-headline { font-size: 28px !important; line-height: 1.2 !important; word-break: keep-all; }
html[data-preview-device="mobile"] .c3-headline__en { font-size: 14px !important; margin-top: 8px !important; }
html[data-preview-device="mobile"] .c3-hero__lead { font-size: 15px !important; margin-top: 24px !important; word-break: keep-all; }
html[data-preview-device="mobile"] .c3-interlude { padding-block: 60px !important; }
html[data-preview-device="mobile"] .c3-interlude__en { font-size: 13px !important; }
html[data-preview-device="mobile"] .c3-interlude__kr { font-size: 18px !important; line-height: 1.5 !important; margin-top: 16px !important; word-break: keep-all; }
html[data-preview-device="mobile"] .c3-interlude__divider { width: 100% !important; max-width: 100% !important; height: auto !important; }
html[data-preview-device="mobile"] .c3-project { display: flex !important; flex-direction: column !important; }
html[data-preview-device="mobile"] .c3-project__media { min-height: 240px !important; width: 100% !important; }
html[data-preview-device="mobile"] .c3-project__sheet { padding: 32px 16px !important; width: 100% !important; box-sizing: border-box !important; }
html[data-preview-device="mobile"] .c3-project__title { font-size: 26px !important; }
html[data-preview-device="mobile"] .c3-project__lead { font-size: 15px !important; }
html[data-preview-device="mobile"] .c3-spec { font-size: 13px !important; }
html[data-preview-device="mobile"] .c3-spec div { display: grid !important; grid-template-columns: 72px 1fr !important; gap: 8px !important; }
html[data-preview-device="mobile"] .c3-swipe__track { padding: 8px 16px 24px !important; margin: 0 -16px !important; }
html[data-preview-device="mobile"] .c3-swipe__card { flex: 0 0 270px !important; }
html[data-preview-device="mobile"] .c3-swipe__body { padding: 20px 16px !important; }
html[data-preview-device="mobile"] .c3-swipe__body h3 { font-size: 18px !important; margin: 12px 0 !important; }
html[data-preview-device="mobile"] .c3-swipe__body p { font-size: 14px !important; }
html[data-preview-device="mobile"] .c3-drawing { display: flex !important; flex-direction: column !important; }
html[data-preview-device="mobile"] .c3-drawing__plan { min-height: 260px !important; padding: 12px !important; width: 100% !important; box-sizing: border-box !important; }
html[data-preview-device="mobile"] .c3-drawing__text { padding: 24px 16px 0 !important; width: 100% !important; box-sizing: border-box !important; }
html[data-preview-device="mobile"] .c3-drawing__text blockquote { font-size: 14px !important; padding-left: 12px !important; margin: 24px 0 !important; }
html[data-preview-device="mobile"] .c3-drawing__toc { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; font-size: 13px !important; }
html[data-preview-device="mobile"] .c3-grid__mosaic { display: grid !important; grid-template-columns: 1fr !important; grid-auto-rows: 200px !important; gap: 4px !important; }
html[data-preview-device="mobile"] .c3-grid__cell--large { grid-column: span 1 !important; grid-row: span 1 !important; }
html[data-preview-device="mobile"] .c3-grid__cell--wide { grid-column: span 1 !important; }
html[data-preview-device="mobile"] .c3-grid--close .c3-grid__close { display: grid !important; grid-template-columns: 1fr !important; height: auto !important; }
html[data-preview-device="mobile"] .c3-grid--close .c3-grid__cell { height: 240px !important; }
html[data-preview-device="mobile"] .c3-numbers__band { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; }
html[data-preview-device="mobile"] .c3-numbers__col { padding: 20px 16px !important; border-right: none !important; border-bottom: 1px solid var(--c3-border) !important; }
html[data-preview-device="mobile"] .c3-numbers__value { font-size: 32px !important; }
html[data-preview-device="mobile"] .c3-numbers__label { font-size: 12px !important; }
html[data-preview-device="mobile"] .c3-people__grid { display: grid !important; grid-template-columns: 1fr !important; gap: 40px !important; }
html[data-preview-device="mobile"] .c3-people__body { padding: 0 16px !important; }
html[data-preview-device="mobile"] .c3-people__body blockquote { font-size: 18px !important; margin: 20px 0 !important; }
html[data-preview-device="mobile"] .c3-colophon__cols { display: grid !important; grid-template-columns: 1fr !important; padding: 0 16px 36px !important; }
html[data-preview-device="mobile"] .c3-colophon__right h3 { font-size: 20px !important; }
html[data-preview-device="mobile"] .c3-colophon__right p { font-size: 14px !important; margin: 12px 0 24px !important; }
html[data-preview-device="mobile"] .c3-cta { display: flex !important; flex-direction: column !important; width: 100% !important; }
html[data-preview-device="mobile"] .c3-cta button { width: 100% !important; text-align: center !important; padding: 12px 24px !important; }
html[data-preview-device="mobile"] .c3-wordmark { padding: 24px 16px !important; overflow: hidden !important; }
html[data-preview-device="mobile"] .c3-wordmark svg { width: 100% !important; height: auto !important; max-width: 100% !important; }
html[data-preview-device="mobile"] .c3-foot { padding: 20px 16px !important; font-size: 11px !important; }

/* Visual Mobile Device Override */
html[data-preview-device="mobile"] .c3-visual { aspect-ratio: 9 / 16 !important; min-height: 640px !important; }
html[data-preview-device="mobile"] .c3-visual__overlay {
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding: 24px 16px 80px !important;
    gap: 16px !important;
}
html[data-preview-device="mobile"] .c3-visual__meta {
    align-self: stretch !important;
    order: 1 !important;
    background: rgba(10, 11, 14, 0.72) !important;
    padding: 14px 16px !important;
    gap: 12px 16px !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    border-left: 2px solid var(--c3-accent) !important;
    font-size: 11px !important;
}
html[data-preview-device="mobile"] .c3-visual__meta div:last-child {
    grid-column: span 2 !important;
}
html[data-preview-device="mobile"] .c3-visual__chapter {
    order: 2 !important;
    align-self: flex-start !important;
    margin-top: 16px !important;
    font-size: 32px !important;
}
html[data-preview-device="mobile"] .c3-visual__h1 {
    order: 3 !important;
    font-size: 26px !important; /* Fixed px to prevent vw bug */
    max-width: 100% !important;
    margin-top: 8px !important;
    line-height: 1.3 !important;
    word-break: keep-all;
}

html[data-preview-device="mobile"] .c3-visual__footer {
    bottom: 24px !important;
    left: 16px !important;
    right: 16px !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
}
html[data-preview-device="mobile"] .c3-visual__segment-line {
    width: 40px !important;
}
html[data-preview-device="mobile"] .c3-visual__segments {
    gap: 8px !important;
}
html[data-preview-device="mobile"] .c3-visual__segment-btn {
    gap: 4px !important;
}

/* --------------------------------------------------------------------------
   Sample 4: Water Resources / Aqua Commons Review
   Scope: [data-demo-theme="water-resources"] .w4-*
-------------------------------------------------------------------------- */
[data-demo-theme="water-resources"] {
    --w4-river: #063f46;
    --w4-water: #12a7c8;
    --w4-reed: #6f8f5f;
    --w4-stone: #8c9698;
    --w4-silt: #e8e1d2;
    --w4-alert: #e28b35;
    --w4-foam: #f4fbfb;
    --w4-ink: #102326;
    --w4-line: rgba(16, 35, 38, 0.16);
    --w4-soft: rgba(244, 251, 251, 0.76);
}

[data-ui-theme="dark"][data-demo-theme="water-resources"] {
    --w4-river: #031f25;
    --w4-water: #45c7dd;
    --w4-reed: #9eb889;
    --w4-stone: #728085;
    --w4-silt: #202a2b;
    --w4-foam: #e8f7f8;
    --w4-ink: #f4fbfb;
    --w4-line: rgba(232, 247, 248, 0.16);
    --w4-soft: rgba(3, 31, 37, 0.74);
}

.w4-landing,
.w4-visual {
    width: min(100%, 1920px);
    margin: 0 auto;
    color: var(--w4-ink);
    font-family: "Pretendard Variable", "Noto Sans KR", system-ui, sans-serif;
    background: var(--w4-foam);
}

.w4-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--w4-water);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.w4-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
}

.w4-hero {
    position: relative;
    min-height: 780px;
    overflow: hidden;
    background: var(--w4-river);
    color: var(--w4-foam);
}

.w4-hero__media,
.w4-visual__stage {
    position: absolute;
    inset: 0;
}

.w4-hero__media img,
.w4-visual__slide img,
.w4-map__visual img,
.w4-field-card img,
.w4-community img,
.w4-eco img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.w4-hero__media::after,
.w4-visual__shade {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 31, 37, 0.86), rgba(3, 31, 37, 0.22) 45%, rgba(3, 31, 37, 0.74)),
        radial-gradient(circle at 62% 28%, rgba(69, 199, 221, 0.22), transparent 36%);
}

.w4-waterlight {
    position: absolute;
    inset: -20%;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.20), transparent 32%);
    transform: translate(var(--w4-tilt-x, 0), var(--w4-tilt-y, 0));
    mix-blend-mode: screen;
    pointer-events: none;
}

.w4-hero__nav {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 30px clamp(24px, 4vw, 72px);
    border-bottom: 1px solid rgba(244, 251, 251, 0.2);
    font-size: 13px;
}

.w4-hero__nav strong {
    margin-right: auto;
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 20px;
}

.w4-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) minmax(360px, 1.4fr) minmax(280px, 0.8fr);
    gap: clamp(28px, 4vw, 72px);
    align-items: end;
    min-height: 690px;
    padding: clamp(72px, 9vw, 150px) clamp(24px, 4vw, 72px) clamp(56px, 7vw, 104px);
}

.w4-issue,
.w4-gauge,
.w4-map__card,
.w4-ledger article {
    background: rgba(244, 251, 251, 0.82);
    color: #102326;
    border: 1px solid rgba(244, 251, 251, 0.44);
    backdrop-filter: blur(16px);
}

.w4-issue {
    padding: 24px;
    border-radius: 8px;
}

.w4-issue span,
.w4-issue em,
.w4-gauge dt,
.w4-map__card span,
.w4-ledger span,
.w4-field-card span,
.w4-visual__kicker,
.w4-visual__data dt {
    font-family: "Outfit", ui-monospace, monospace;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.w4-issue strong {
    display: block;
    margin: 56px 0 10px;
    font-size: 28px;
}

.w4-hero__copy h1 {
    margin: 18px 0 24px;
    max-width: 760px;
    font-family: "Noto Serif KR", serif;
    font-size: clamp(48px, 6.5vw, 112px);
    line-height: 1.06;
    letter-spacing: 0;
}

.w4-hero__copy p {
    max-width: 62ch;
    color: rgba(244, 251, 251, 0.88);
    font-size: clamp(16px, 1.3vw, 20px);
    line-height: 1.8;
}

.w4-gauge {
    display: grid;
    gap: 1px;
    padding: 0;
    border-radius: 8px;
    overflow: hidden;
}

.w4-gauge div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.64);
}

.w4-gauge dd {
    margin: 0;
    color: var(--w4-river);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 24px;
    font-weight: 800;
}

.w4-section {
    padding: clamp(70px, 8vw, 128px) clamp(24px, 4vw, 72px);
    background:
        linear-gradient(180deg, rgba(232, 225, 210, 0.32), transparent 32%),
        var(--w4-foam);
}

.w4-section__head {
    display: grid;
    gap: 16px;
    max-width: 860px;
    margin-bottom: 42px;
}

.w4-section__head h2,
.w4-map__story h2,
.w4-rainfall h2,
.w4-eco h2 {
    margin: 0;
    font-family: "Noto Serif KR", serif;
    font-size: clamp(30px, 4vw, 58px);
    line-height: 1.18;
    letter-spacing: 0;
}

.w4-brief {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: -44px;
    position: relative;
    z-index: 3;
    background: transparent;
    padding-top: 0;
}

.w4-brief__card {
    position: relative;
    min-height: 260px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--w4-line);
    border-radius: 8px;
    background: var(--w4-foam);
    box-shadow: 0 24px 80px rgba(3, 31, 37, 0.12);
}

.w4-brief__card h2 {
    margin: 20px 0 8px;
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 34px;
}

.w4-brief__card strong {
    display: block;
    color: var(--w4-river);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 54px;
    line-height: 1;
}

.w4-brief__card small {
    margin-left: 6px;
    font-size: 14px;
}

.w4-brief__card p {
    max-width: 34ch;
    line-height: 1.7;
}

.w4-brief__card svg {
    position: absolute;
    right: 22px;
    bottom: 18px;
    width: 44%;
    fill: none;
    stroke: var(--w4-water);
    stroke-width: 3;
    opacity: 0.6;
}

.w4-map {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
    gap: clamp(28px, 4vw, 72px);
    align-items: center;
}

.w4-map__visual {
    position: relative;
    min-height: 620px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--w4-silt);
}

.w4-map__marker {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(244, 251, 251, 0.9);
    border-radius: 999px;
    background: var(--w4-alert);
    box-shadow: 0 0 0 8px rgba(226, 139, 53, 0.22);
    transform: translate(-50%, -50%);
    cursor: pointer;
}

.w4-map__marker::after,
.w4-visual__ripple {
    content: "";
    position: absolute;
    inset: -14px;
    border: 1px solid currentColor;
    border-radius: inherit;
    opacity: 0;
}

.w4-map__marker.is-active::after,
.w4-map__marker:hover::after {
    animation: w4-ripple 1.2s ease-out infinite;
}

.w4-map__story p,
.w4-eco p {
    max-width: 68ch;
    color: color-mix(in srgb, var(--w4-ink), transparent 20%);
    font-size: 17px;
    line-height: 1.85;
}

.w4-map__card {
    margin-top: 32px;
    padding: 24px;
    border-radius: 8px;
}

.w4-map__card strong {
    display: block;
    margin: 10px 0;
    font-size: 24px;
}

.w4-ledger__grid,
.w4-fields__grid,
.w4-community__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.w4-ledger article {
    position: relative;
    min-height: 250px;
    padding: 28px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--w4-soft);
}

.w4-ledger h3,
.w4-field-card h3 {
    margin: 18px 0 10px;
    font-size: 22px;
}

.w4-ledger strong {
    color: var(--w4-river);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 38px;
}

.w4-ledger i {
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 46%;
    height: 46px;
    border-bottom: 2px solid var(--w4-water);
    border-radius: 50%;
    opacity: 0.44;
}

.w4-fields__grid {
    grid-template-columns: repeat(4, minmax(260px, 1fr));
}

.w4-field-card {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: var(--w4-river);
    color: var(--w4-foam);
}

.w4-field-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0 42%, rgba(255,255,255,0.28) 50%, transparent 58% 100%);
    transform: translateX(-120%);
    transition: transform 0.7s ease;
}

.w4-field-card:hover::after {
    transform: translateX(120%);
}

.w4-field-card img {
    height: 270px;
    opacity: 0.82;
}

.w4-field-card div {
    min-height: 190px;
    padding: 24px;
}

.w4-field-card p,
.w4-community blockquote {
    line-height: 1.7;
}

.w4-rainfall {
    display: grid;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(32px, 5vw, 84px);
    align-items: center;
    color: var(--w4-foam);
    background:
        repeating-linear-gradient(120deg, rgba(244,251,251,0.08) 0 1px, transparent 1px 24px),
        linear-gradient(135deg, var(--w4-river), #0b5460);
}

.w4-rainfall dl,
.w4-data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
}

.w4-rainfall div {
    margin: 0;
}

.w4-rainfall dl > div,
.w4-data div {
    padding: 28px;
    background: rgba(244, 251, 251, 0.08);
}

.w4-rainfall dt,
.w4-data p {
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 12px;
    text-transform: uppercase;
}

.w4-rainfall dd {
    margin: 6px 0 0;
    font-family: "Outfit", system-ui, sans-serif;
    font-size: clamp(34px, 5vw, 72px);
    font-weight: 800;
}

.w4-community__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.w4-community article {
    border: 1px solid var(--w4-line);
    border-radius: 8px;
    overflow: hidden;
    background: color-mix(in srgb, var(--w4-foam), var(--w4-silt) 20%);
}

.w4-community img {
    height: 320px;
}

.w4-community blockquote {
    margin: 0;
    padding: 28px 28px 18px;
    font-family: "Noto Serif KR", serif;
    font-size: 20px;
}

.w4-community strong,
.w4-community span {
    display: block;
    padding: 0 28px;
}

.w4-community span {
    padding-bottom: 28px;
    color: var(--w4-water);
}

.w4-eco {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: clamp(28px, 4vw, 72px);
    align-items: center;
}

.w4-eco img {
    min-height: 520px;
    border-radius: 8px;
}

.w4-data {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    color: var(--w4-foam);
    background: var(--w4-river);
}

.w4-data strong {
    display: block;
    font-family: "Outfit", system-ui, sans-serif;
    font-size: clamp(34px, 4.2vw, 64px);
}

.w4-data span {
    color: var(--w4-water);
}

.w4-footer {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    overflow: hidden;
    padding: clamp(54px, 7vw, 110px) clamp(24px, 4vw, 72px) 120px;
    color: var(--w4-foam);
    background: #031f25;
}

.w4-footer p {
    max-width: 68ch;
    line-height: 1.8;
}

.w4-footer button,
.w4-visual__actions button {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid rgba(244, 251, 251, 0.35);
    border-radius: 8px;
    color: inherit;
    background: transparent;
}

.w4-footer b {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: -8px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(244, 251, 251, 0.18);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: clamp(54px, 10vw, 178px);
    line-height: 0.8;
    white-space: nowrap;
}

.w4-visual {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 720px;
    overflow: hidden;
    background: var(--w4-river);
    color: var(--w4-foam);
}

.w4-visual__slide {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.7s ease, filter 1.2s ease, transform 1.2s ease;
}

.w4-visual__slide img {
    position: absolute;
    inset: 0;
    transform: translate(var(--w4-tilt-x), var(--w4-tilt-y)) scale(1.04);
    transition: transform 0.35s ease;
}

.w4-visual__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.w4-visual__slide.is-leaving {
    filter: none;
    transform: scale(1.015);
}

.w4-visual__slide.is-entering {
    clip-path: circle(0 at var(--w4-pointer-x) var(--w4-pointer-y));
    opacity: 1;
    z-index: 4;
    animation: w4-hydro-in 1.45s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.w4-visual__content {
    position: absolute;
    left: clamp(24px, 5vw, 96px);
    bottom: clamp(120px, 12vw, 190px);
    max-width: 760px;
    z-index: 4;
}

.w4-visual__content h1 {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 18px 0;
    font-family: "Noto Serif KR", serif;
    font-size: clamp(44px, 6.4vw, 110px);
    line-height: 1.08;
}

.w4-visual__content h1 span {
    opacity: 0;
    transform: translateY(18px);
}

.w4-visual__slide.is-active .w4-visual__content h1 span {
    animation: w4-char 0.72s ease forwards;
}

.w4-visual__content p {
    max-width: 48ch;
    color: rgba(244, 251, 251, 0.86);
    font-size: 18px;
    line-height: 1.75;
}

.w4-visual__data {
    position: absolute;
    top: clamp(24px, 4vw, 72px);
    right: clamp(24px, 4vw, 72px);
    z-index: 4;
    display: grid;
    min-width: 280px;
    border-left: 2px solid var(--w4-water);
    background: rgba(3, 31, 37, 0.56);
    backdrop-filter: blur(18px);
}

.w4-visual__data div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(244, 251, 251, 0.16);
}

.w4-visual__data dd {
    margin: 0;
    color: var(--w4-water);
    font-family: "Outfit", system-ui, sans-serif;
    font-weight: 800;
}

.w4-visual__footer {
    position: absolute;
    left: clamp(24px, 5vw, 96px);
    right: clamp(24px, 5vw, 96px);
    bottom: 42px;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.w4-visual__dots {
    display: flex;
    gap: 12px;
}

.w4-visual__dots button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    border: 0;
    color: rgba(244, 251, 251, 0.58);
    background: transparent;
}

.w4-visual__dots i {
    position: relative;
    width: 56px;
    height: 2px;
    overflow: hidden;
    background: rgba(244, 251, 251, 0.26);
}

.w4-visual__dots i::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--w4-water);
    transform: scaleX(0);
    transform-origin: left center;
}

.w4-visual__dots .is-active {
    color: var(--w4-foam);
}

.w4-visual__dots .is-active i {
    background: rgba(244, 251, 251, 0.3);
}

.w4-visual__actions {
    display: flex;
    gap: 10px;
}

.w4-visual__ripple {
    left: var(--w4-pointer-x);
    top: var(--w4-pointer-y);
    z-index: 5;
    width: 40px;
    height: 40px;
    color: rgba(244, 251, 251, 0.72);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.w4-visual.is-rippling .w4-visual__ripple {
    animation: w4-click-ripple 0.82s ease-out;
}

.w4-visual__streak {
    position: absolute;
    inset: 0;
    z-index: 5;
    background: linear-gradient(105deg, transparent 0 42%, rgba(244,251,251,0.24) 48%, transparent 56% 100%);
    transform: translateX(-130%);
    pointer-events: none;
}

.w4-visual.is-transitioning .w4-visual__streak {
    animation: w4-streak 1.2s ease;
}

.w4-visual__live {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

[data-demo-theme="water-resources"] .w4-hero__layout {
    grid-template-columns: minmax(180px, 0.7fr) minmax(420px, 1.55fr);
    align-items: end;
}

[data-demo-theme="water-resources"] .w4-hero__copy h1 {
    max-width: 780px;
    font-size: clamp(38px, 4.5vw, 70px);
    line-height: 1.16;
}

[data-demo-theme="water-resources"] .w4-hero__copy p {
    max-width: 56ch;
}

[data-demo-theme="water-resources"] .w4-visual {
    background: #031f25;
    isolation: isolate;
}

[data-demo-theme="water-resources"] .w4-visual__shade {
    background:
        linear-gradient(90deg, rgba(3, 31, 37, 0.86) 0%, rgba(3, 31, 37, 0.34) 36%, rgba(3, 31, 37, 0.2) 64%, rgba(3, 31, 37, 0.78) 100%),
        linear-gradient(0deg, rgba(3, 31, 37, 0.82), transparent 38%),
        radial-gradient(circle at 74% 22%, rgba(18, 167, 200, 0.28), transparent 32%);
}

[data-demo-theme="water-resources"] .w4-visual__slide.is-entering {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    z-index: 5;
    animation: w4-current-sweep 1.35s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

[data-demo-theme="water-resources"] .w4-visual__slide.is-leaving {
    filter: none;
    z-index: 4;
    animation: w4-current-out 1.35s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

[data-demo-theme="water-resources"] .w4-visual__slide.is-entering img {
    animation: w4-current-image-in 1.35s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

[data-demo-theme="water-resources"] .w4-visual__content {
    left: clamp(26px, 7vw, 128px);
    bottom: clamp(138px, 14vw, 210px);
    max-width: 680px;
}

[data-demo-theme="water-resources"] .w4-visual__content h1 {
    max-width: 720px;
    font-size: clamp(38px, 4.9vw, 79px);
    line-height: 1.14;
}

[data-demo-theme="water-resources"] .w4-visual__current {
    position: absolute;
    left: clamp(24px, 4vw, 72px);
    top: clamp(24px, 5vw, 84px);
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 14px;
    color: rgba(244, 251, 251, 0.72);
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

[data-demo-theme="water-resources"] .w4-visual__current i {
    width: clamp(64px, 10vw, 160px);
    height: 1px;
    background: rgba(244, 251, 251, 0.42);
}

[data-demo-theme="water-resources"] .w4-visual__signal {
    position: absolute;
    top: clamp(24px, 4vw, 70px);
    right: clamp(24px, 4vw, 72px);
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    pointer-events: none;
}

[data-demo-theme="water-resources"] .w4-visual__signal span {
    display: grid;
    grid-template-columns: auto 34px;
    gap: 10px;
    align-items: center;
    min-height: 28px;
    color: rgba(244, 251, 251, 0.64);
    font-family: "Outfit", ui-monospace, monospace;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

[data-demo-theme="water-resources"] .w4-visual__signal span::before {
    content: "";
    width: 58px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(69, 199, 221, 0.78));
}

[data-demo-theme="water-resources"] .w4-visual__signal b,
[data-demo-theme="water-resources"] .w4-visual__signal i {
    font: inherit;
}

[data-demo-theme="water-resources"] .w4-visual__signal i {
    color: rgba(69, 199, 221, 0.9);
    text-align: right;
}

[data-demo-theme="water-resources"] .w4-visual__riverline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 92px;
    z-index: 3;
    height: 94px;
    background:
        radial-gradient(80% 140% at 25% 0%, rgba(69, 199, 221, 0.3), transparent 56%),
        repeating-linear-gradient(100deg, transparent 0 22px, rgba(244, 251, 251, 0.14) 22px 23px, transparent 23px 52px);
    clip-path: polygon(0 50%, 12% 42%, 25% 58%, 42% 34%, 57% 52%, 72% 30%, 87% 44%, 100% 26%, 100% 100%, 0 100%);
    opacity: 0.75;
    pointer-events: none;
}

[data-demo-theme="water-resources"] .w4-visual__footer {
    left: clamp(24px, 5vw, 96px);
    right: clamp(24px, 4vw, 72px);
    bottom: 28px;
    align-items: flex-end;
}

[data-demo-theme="water-resources"] .w4-visual__dots {
    min-width: min(48vw, 420px);
    padding: 14px 16px;
    border: 1px solid rgba(244, 251, 251, 0.2);
    border-radius: 8px;
    background: rgba(3, 31, 37, 0.38);
    backdrop-filter: blur(14px);
}

[data-demo-theme="water-resources"] .w4-visual__dots button {
    flex: 1 1 0;
    min-width: 72px;
}

[data-demo-theme="water-resources"] .w4-visual__dots i {
    flex: 1 1 auto;
    width: auto;
    min-width: 34px;
}

[data-demo-theme="water-resources"] .w4-visual__dots .is-timing i::after {
    animation: w4-dot-timer 5s linear forwards;
}

[data-demo-theme="water-resources"] .w4-visual__actions {
    padding: 8px;
    border: 1px solid rgba(244, 251, 251, 0.2);
    border-radius: 8px;
    background: rgba(3, 31, 37, 0.48);
    backdrop-filter: blur(14px);
}

[data-demo-theme="water-resources"] .w4-visual__actions button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
}

[data-demo-theme="water-resources"] .w4-visual__actions svg {
    display: block;
    grid-area: 1 / 1;
    width: 20px;
    height: 20px;
}

[data-demo-theme="water-resources"] .w4-visual__actions svg[hidden] {
    display: none !important;
}

@keyframes w4-current-sweep {
    0% { clip-path: polygon(-16% 0, -16% 0, -30% 100%, -30% 100%); opacity: 1; filter: saturate(1.16) contrast(1.08); }
    45% { clip-path: polygon(-8% 0, 68% 0, 48% 100%, -30% 100%); }
    100% { clip-path: polygon(-8% 0, 130% 0, 116% 100%, -30% 100%); opacity: 1; filter: saturate(1) contrast(1); }
}

@keyframes w4-current-out {
    0% { opacity: 1; transform: translateX(0) scale(1); }
    100% { opacity: 0.36; transform: translateX(3%) scale(1.03); }
}

@keyframes w4-current-image-in {
    0% { transform: translate(calc(var(--w4-tilt-x) - 34px), var(--w4-tilt-y)) scale(1.08); }
    100% { transform: translate(var(--w4-tilt-x), var(--w4-tilt-y)) scale(1.04); }
}

@keyframes w4-dot-timer {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes w4-hydro-in {
    0% { clip-path: circle(0 at var(--w4-pointer-x) var(--w4-pointer-y)); filter: saturate(1.25); }
    62% { filter: saturate(1.12); }
    100% { clip-path: circle(150% at var(--w4-pointer-x) var(--w4-pointer-y)); filter: saturate(1); }
}

@keyframes w4-click-ripple {
    0% { opacity: 0.8; transform: translate(-50%, -50%) scale(0.2); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(8); }
}

@keyframes w4-ripple {
    0% { opacity: 0.7; transform: scale(0.4); }
    100% { opacity: 0; transform: scale(1.9); }
}

@keyframes w4-streak {
    0% { transform: translateX(-130%); }
    100% { transform: translateX(130%); }
}

@keyframes w4-char {
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1080px) {
    .w4-hero__layout,
    .w4-map,
    .w4-rainfall,
    .w4-eco {
        grid-template-columns: 1fr;
    }
    .w4-brief,
    .w4-ledger__grid,
    .w4-fields__grid,
    .w4-community__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .w4-data {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .w4-hero { min-height: 720px; }
    .w4-hero__nav span { display: none; }
    .w4-hero__layout { min-height: 640px; padding: 40px 18px; }
    .w4-hero__copy h1 { font-size: 34px; }
    .w4-brief,
    .w4-ledger__grid,
    .w4-fields__grid,
    .w4-community__grid,
    .w4-data,
    .w4-rainfall dl,
    .w4-footer {
        grid-template-columns: 1fr;
    }
    .w4-section { padding: 54px 18px; }
    .w4-map__visual { min-height: 360px; }
    .w4-visual { aspect-ratio: auto; min-height: 720px; }
    .w4-visual__data { display: none; }
    .w4-visual__content { left: 18px; right: 18px; bottom: 132px; }
    .w4-visual__content h1 { font-size: 34px; }
    .w4-visual__footer { left: 18px; right: 18px; bottom: 24px; flex-direction: column; align-items: stretch; }
    .w4-visual__dots { justify-content: space-between; }
    .w4-visual__dots i { width: 38px; }
    [data-demo-theme="water-resources"] .w4-hero__copy h1 { font-size: 27px; line-height: 1.24; }
    [data-demo-theme="water-resources"] .w4-visual__content h1 { font-size: 31px; line-height: 1.24; }
    [data-demo-theme="water-resources"] .w4-visual__signal { display: none; }
    [data-demo-theme="water-resources"] .w4-visual__current { top: 22px; left: 18px; }
    [data-demo-theme="water-resources"] .w4-visual__riverline { bottom: 112px; height: 72px; }
}

html[data-preview-device="mobile"] .w4-landing,
html[data-preview-device="mobile"] .w4-visual {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

html[data-preview-device="mobile"] .w4-hero { min-height: 720px !important; }
html[data-preview-device="mobile"] .w4-hero__nav { padding: 20px 16px !important; }
html[data-preview-device="mobile"] .w4-hero__nav span { display: none !important; }
html[data-preview-device="mobile"] .w4-hero__layout,
html[data-preview-device="mobile"] .w4-map,
html[data-preview-device="mobile"] .w4-rainfall,
html[data-preview-device="mobile"] .w4-eco,
html[data-preview-device="mobile"] .w4-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
}
html[data-preview-device="mobile"] .w4-hero__layout { min-height: 640px !important; padding: 36px 16px !important; gap: 18px !important; }
html[data-preview-device="mobile"] .w4-hero__copy h1 { font-size: 32px !important; line-height: 1.22 !important; }
html[data-preview-device="mobile"] .w4-hero__copy p { font-size: 15px !important; line-height: 1.7 !important; }
html[data-preview-device="mobile"] .w4-section { padding: 48px 16px !important; }
html[data-preview-device="mobile"] .w4-brief,
html[data-preview-device="mobile"] .w4-ledger__grid,
html[data-preview-device="mobile"] .w4-fields__grid,
html[data-preview-device="mobile"] .w4-community__grid,
html[data-preview-device="mobile"] .w4-data,
html[data-preview-device="mobile"] .w4-rainfall dl {
    display: grid !important;
    grid-template-columns: 1fr !important;
}
html[data-preview-device="mobile"] .w4-map__visual { min-height: 330px !important; }
html[data-preview-device="mobile"] .w4-field-card img,
html[data-preview-device="mobile"] .w4-community img { height: 230px !important; }
html[data-preview-device="mobile"] .w4-eco img { min-height: 280px !important; }
html[data-preview-device="mobile"] .w4-visual { aspect-ratio: 9 / 16 !important; min-height: 720px !important; }
html[data-preview-device="mobile"] .w4-visual__data { display: none !important; }
html[data-preview-device="mobile"] .w4-visual__content { left: 18px !important; right: 18px !important; bottom: 132px !important; }
html[data-preview-device="mobile"] .w4-visual__content h1 { font-size: 32px !important; line-height: 1.24 !important; }
html[data-preview-device="mobile"] .w4-visual__content p { font-size: 15px !important; line-height: 1.7 !important; }
html[data-preview-device="mobile"] .w4-visual__footer { left: 18px !important; right: 18px !important; bottom: 24px !important; flex-direction: column !important; align-items: stretch !important; }
html[data-preview-device="mobile"] .w4-visual__dots { justify-content: space-between !important; }
html[data-preview-device="mobile"] .w4-visual__dots i { width: 34px !important; }
html[data-preview-device="mobile"][data-demo-theme="water-resources"] .w4-hero__copy h1 { font-size: 27px !important; line-height: 1.24 !important; }
html[data-preview-device="mobile"][data-demo-theme="water-resources"] .w4-visual__content h1 { font-size: 29px !important; line-height: 1.24 !important; }
html[data-preview-device="mobile"][data-demo-theme="water-resources"] .w4-visual__signal { display: none !important; }
html[data-preview-device="mobile"][data-demo-theme="water-resources"] .w4-visual__current { top: 22px !important; left: 18px !important; }
html[data-preview-device="mobile"][data-demo-theme="water-resources"] .w4-visual__riverline { bottom: 112px !important; height: 72px !important; }

@media (prefers-reduced-motion: reduce) {
    [data-demo-theme="construction"] .c3-marquee__track,
    [data-demo-theme="construction"] .c3-grid__media {
        animation: none !important;
        transition: none !important;
    }
    [data-demo-theme="construction"] .c3-interlude__divider [data-c3-line],
    [data-demo-theme="construction"] .c3-wordmark text { stroke-dashoffset: 0 !important; }
    [data-demo-theme="water-resources"] .w4-map__marker::after,
    [data-demo-theme="water-resources"] .w4-field-card::after {
        animation: none !important;
        transition: none !important;
    }
}

/* -------------------------------------------------------------------------
   Sample 6: Aerospace / Orbit Field Review
   Scope: [data-demo-theme="aerospace"] .a6-*
------------------------------------------------------------------------- */
@property --a6-orbit-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@property --a6-star-density {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
}

[data-demo-theme="aerospace"] {
    --a6-space: #07101f;
    --a6-ink: #111827;
    --a6-white: #f8f7ea;
    --a6-paper: #f3f5f0;
    --a6-graphite: #4c5666;
    --a6-solar: #f6c65b;
    --a6-ion: #62d8e8;
    --a6-signal: #89c979;
    --a6-red: #c86b66;
    --a6-page-pad: clamp(22px, 5vw, 88px);
    --a6-section-gap: clamp(54px, 7vw, 106px);
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] {
    --a6-space: #020713;
    --a6-ink: #f8f7ea;
    --a6-white: #fffbe8;
    --a6-paper: #0d1524;
    --a6-graphite: #9aa6b9;
    --a6-solar: #ffd071;
    --a6-ion: #7be8f2;
    --a6-signal: #9edc88;
    --a6-red: #e88d85;
}

[data-demo-theme="aerospace"] .a6-landing,
[data-demo-theme="aerospace"] .a6-visual {
    width: min(100%, 1920px);
    margin: 0 auto;
    overflow: hidden;
    color: var(--a6-ink);
    background:
        radial-gradient(circle at 82% 8%, rgba(98, 216, 232, .22), transparent 28%),
        radial-gradient(circle at 16% 18%, rgba(246, 198, 91, .18), transparent 30%),
        linear-gradient(135deg, var(--a6-paper), #e8ecea);
    font-family: "Pretendard Variable", "Noto Sans KR", system-ui, sans-serif;
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-landing,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-visual {
    background:
        radial-gradient(circle at 78% 12%, rgba(98, 216, 232, .18), transparent 30%),
        radial-gradient(circle at 16% 24%, rgba(246, 198, 91, .12), transparent 28%),
        linear-gradient(135deg, var(--a6-space), #101827 62%, #141820);
}

[data-demo-theme="aerospace"] .a6-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--a6-ion);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .11em;
    text-transform: uppercase;
}

[data-demo-theme="aerospace"] .a6-eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: var(--a6-solar);
}

[data-demo-theme="aerospace"] .a6-hero {
    position: relative;
    min-height: min(780px, 88vh);
    padding: clamp(24px, 4vw, 54px) var(--a6-page-pad);
    color: var(--a6-white);
    background: linear-gradient(135deg, #07101f, #141a2c 54%, #1e1b24);
    isolation: isolate;
}

[data-demo-theme="aerospace"] .a6-hero__nav,
[data-demo-theme="aerospace"] .a6-hero__layout {
    position: relative;
    z-index: 2;
}

[data-demo-theme="aerospace"] .a6-hero__nav {
    display: flex;
    align-items: center;
    gap: clamp(16px, 3vw, 42px);
    color: rgba(248, 247, 234, .72);
    font-size: 13px;
}

[data-demo-theme="aerospace"] .a6-hero__nav strong {
    margin-right: auto;
    color: var(--a6-white);
    font: 800 20px/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-orbit-art {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: .9;
    transform: translate3d(var(--a6-shift-x, 0), var(--a6-shift-y, 0), 0);
}

[data-demo-theme="aerospace"] .a6-orbit-art svg {
    width: 100%;
    height: 100%;
}

[data-demo-theme="aerospace"] .a6-orbit-art rect {
    fill: transparent;
}

[data-demo-theme="aerospace"] .a6-orbit-art path,
[data-demo-theme="aerospace"] .a6-orbit-art circle {
    fill: none;
    stroke: url("#a6-hero-glow");
    stroke-width: 1.2;
    stroke-dasharray: 8 16;
    opacity: .66;
}

[data-demo-theme="aerospace"] .a6-orbit-art circle {
    stroke-dasharray: none;
    opacity: .34;
}

[data-demo-theme="aerospace"] .a6-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(7, 16, 31, .9), rgba(7, 16, 31, .2) 48%, rgba(7, 16, 31, .62)),
        radial-gradient(circle at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%), rgba(246, 198, 91, .18), transparent 34%);
}

[data-demo-theme="aerospace"] .a6-hero__layout {
    display: grid;
    grid-template-columns: minmax(170px, .48fr) minmax(420px, 1fr) minmax(180px, .4fr);
    align-items: end;
    gap: clamp(24px, 5vw, 76px);
    min-height: min(660px, 76vh);
    padding-top: 40px;
}

[data-demo-theme="aerospace"] .a6-issue {
    padding-left: 18px;
    border-left: 1px solid rgba(246, 198, 91, .58);
    color: rgba(248, 247, 234, .78);
}

[data-demo-theme="aerospace"] .a6-issue span,
[data-demo-theme="aerospace"] .a6-issue em {
    display: block;
    font: 600 12px/1.7 "Outfit", sans-serif;
    font-style: normal;
}

[data-demo-theme="aerospace"] .a6-issue strong {
    display: block;
    margin: 12px 0 6px;
    color: var(--a6-white);
    font-size: 20px;
}

[data-demo-theme="aerospace"] .a6-hero__copy h1 {
    margin: 18px 0 20px;
    max-width: 760px;
    font: 800 clamp(42px, 5.5vw, 86px)/1.08 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="aerospace"] .a6-hero__copy p {
    max-width: 62ch;
    color: rgba(248, 247, 234, .78);
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.82;
}

[data-demo-theme="aerospace"] .a6-signal-rail {
    display: grid;
    gap: 12px;
    color: rgba(248, 247, 234, .7);
    font: 700 12px/1 "Outfit", sans-serif;
    letter-spacing: .08em;
}

[data-demo-theme="aerospace"] .a6-signal-rail span {
    position: relative;
    padding: 14px 0 14px 18px;
    border-left: 1px solid rgba(248, 247, 234, .22);
}

[data-demo-theme="aerospace"] .a6-signal-rail span::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--a6-ion);
    box-shadow: 0 0 18px var(--a6-ion);
    transform: translateY(-50%);
    animation: a6-signal-pulse 3.8s ease-in-out infinite;
}

[data-demo-theme="aerospace"] .a6-section {
    padding: var(--a6-section-gap) var(--a6-page-pad);
}

[data-demo-theme="aerospace"] .a6-section__head {
    max-width: 840px;
    margin-bottom: 32px;
}

[data-demo-theme="aerospace"] .a6-section__head h2,
[data-demo-theme="aerospace"] .a6-timeline__story h2,
[data-demo-theme="aerospace"] .a6-ground h2,
[data-demo-theme="aerospace"] .a6-archive h2 {
    margin: 14px 0 0;
    font: 760 clamp(26px, 3vw, 46px)/1.25 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="aerospace"] .a6-brief,
[data-demo-theme="aerospace"] .a6-logbook__grid,
[data-demo-theme="aerospace"] .a6-metrics,
[data-demo-theme="aerospace"] .a6-lab__grid,
[data-demo-theme="aerospace"] .a6-people {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

[data-demo-theme="aerospace"] .a6-brief {
    position: relative;
    z-index: 3;
    margin-top: -58px;
}

[data-demo-theme="aerospace"] .a6-brief article,
[data-demo-theme="aerospace"] .a6-logbook article,
[data-demo-theme="aerospace"] .a6-metrics article,
[data-demo-theme="aerospace"] .a6-lab article,
[data-demo-theme="aerospace"] .a6-people article,
[data-demo-theme="aerospace"] .a6-questions article {
    position: relative;
    border: 1px solid color-mix(in srgb, var(--a6-graphite), transparent 58%);
    border-radius: 8px;
    background: color-mix(in srgb, var(--a6-white), transparent 18%);
    box-shadow: 0 24px 70px rgba(7, 16, 31, .08);
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-brief article,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-logbook article,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-metrics article,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-lab article,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-people article,
[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-questions article {
    background: rgba(248, 247, 234, .045);
    border-color: rgba(248, 247, 234, .13);
}

[data-demo-theme="aerospace"] .a6-brief article,
[data-demo-theme="aerospace"] .a6-logbook article,
[data-demo-theme="aerospace"] .a6-metrics article,
[data-demo-theme="aerospace"] .a6-lab article,
[data-demo-theme="aerospace"] .a6-people article {
    min-height: 190px;
    padding: 24px;
}

[data-demo-theme="aerospace"] .a6-brief article > span,
[data-demo-theme="aerospace"] .a6-logbook article > span,
[data-demo-theme="aerospace"] .a6-metrics article > span {
    color: var(--a6-solar);
    font: 800 13px/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-brief h2,
[data-demo-theme="aerospace"] .a6-logbook h3,
[data-demo-theme="aerospace"] .a6-metrics h3,
[data-demo-theme="aerospace"] .a6-lab h3 {
    margin: 16px 0 10px;
    font-size: clamp(19px, 1.45vw, 23px);
    line-height: 1.35;
}

[data-demo-theme="aerospace"] .a6-brief p,
[data-demo-theme="aerospace"] .a6-logbook p,
[data-demo-theme="aerospace"] .a6-ground p,
[data-demo-theme="aerospace"] .a6-archive p,
[data-demo-theme="aerospace"] .a6-lab p,
[data-demo-theme="aerospace"] .a6-questions p {
    color: color-mix(in srgb, var(--a6-ink), transparent 24%);
    line-height: 1.75;
}

[data-demo-theme="aerospace"] .a6-brief i,
[data-demo-theme="aerospace"] .a6-lab i {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 54px;
    height: 54px;
    border: 1px solid var(--a6-ion);
    border-radius: 50%;
    transform: rotate(var(--a6-orbit-angle));
    box-shadow: inset 0 0 18px rgba(98, 216, 232, .12), 0 0 24px rgba(98, 216, 232, .18);
    animation: a6-orbit-spin 14s linear infinite;
}

[data-demo-theme="aerospace"] .a6-brief i::after,
[data-demo-theme="aerospace"] .a6-lab i::after {
    content: "";
    position: absolute;
    right: 6px;
    top: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--a6-solar);
}

[data-demo-theme="aerospace"] .a6-timeline,
[data-demo-theme="aerospace"] .a6-ground,
[data-demo-theme="aerospace"] .a6-archive,
[data-demo-theme="aerospace"] .a6-footer {
    display: grid;
    grid-template-columns: minmax(360px, 1.18fr) minmax(320px, .82fr);
    gap: clamp(28px, 5vw, 76px);
    align-items: center;
}

[data-demo-theme="aerospace"] .a6-timeline__map,
[data-demo-theme="aerospace"] .a6-ground__panel,
[data-demo-theme="aerospace"] .a6-archive > div {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    border-radius: 8px;
    background:
        radial-gradient(circle at 64% 42%, rgba(98, 216, 232, .2), transparent 32%),
        linear-gradient(135deg, #07101f, #172033);
    box-shadow: inset 0 0 0 1px rgba(248, 247, 234, .12);
}

[data-demo-theme="aerospace"] .a6-timeline__map svg {
    position: absolute;
    inset: 8%;
    width: 84%;
    height: 84%;
    fill: none;
    stroke: var(--a6-ion);
    stroke-width: 2;
    stroke-dasharray: 10 14;
    opacity: .75;
}

[data-demo-theme="aerospace"] .a6-timeline__node {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--a6-solar);
    transform: translate(-50%, -50%);
    cursor: pointer;
}

[data-demo-theme="aerospace"] .a6-timeline__node span {
    display: block;
    width: 15px;
    height: 15px;
    margin: auto;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: rgba(7, 16, 31, .9);
    box-shadow: 0 0 18px currentColor;
}

[data-demo-theme="aerospace"] .a6-timeline__node.is-active span {
    background: currentColor;
}

[data-demo-theme="aerospace"] .a6-timeline__card {
    margin-top: 24px;
    padding: 22px;
    border-left: 2px solid var(--a6-solar);
    background: color-mix(in srgb, var(--a6-white), transparent 30%);
}

[data-demo-theme="aerospace"] .a6-timeline__card span {
    color: var(--a6-ion);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .1em;
}

[data-demo-theme="aerospace"] .a6-timeline__card strong {
    display: block;
    margin: 12px 0 8px;
    font-size: 26px;
}

[data-demo-theme="aerospace"] .a6-logbook b {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 20px;
    height: 1px;
    background: linear-gradient(90deg, var(--a6-solar), transparent);
}

[data-demo-theme="aerospace"] .a6-ground__panel {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    min-height: 360px;
}

[data-demo-theme="aerospace"] .a6-ground__panel span {
    background:
        linear-gradient(135deg, rgba(248, 247, 234, .06), transparent),
        radial-gradient(circle at 50% 50%, rgba(98, 216, 232, .16), transparent 40%);
}

[data-demo-theme="aerospace"] .a6-metrics {
    grid-template-columns: repeat(4, 1fr);
}

[data-demo-theme="aerospace"] .a6-metrics strong {
    display: block;
    margin: 14px 0 10px;
    color: var(--a6-ion);
    font: 800 clamp(38px, 4vw, 62px)/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-archive > div {
    display: grid;
    place-items: end start;
    padding: 28px;
    color: rgba(248, 247, 234, .76);
    font: 800 clamp(28px, 4vw, 58px)/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-archive > div::before,
[data-demo-theme="aerospace"] .a6-ground__panel::before {
    content: "";
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(246, 198, 91, .32);
    border-radius: 50%;
    transform: rotate(-18deg);
}

[data-demo-theme="aerospace"] .a6-image-strip {
    position: relative;
    padding-right: 0;
    padding-left: var(--a6-page-pad);
}

[data-demo-theme="aerospace"] .a6-image-strip .a6-section__head {
    max-width: 900px;
    padding-right: var(--a6-page-pad);
}

[data-demo-theme="aerospace"] .a6-image-strip .a6-section__head p {
    max-width: 66ch;
    color: color-mix(in srgb, var(--a6-ink), transparent 24%);
    line-height: 1.75;
}

[data-demo-theme="aerospace"] .a6-image-strip__shell {
    position: relative;
    --a6-strip-progress: 0;
}

[data-demo-theme="aerospace"] .a6-image-strip__shell::before,
[data-demo-theme="aerospace"] .a6-image-strip__shell::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 32px;
    z-index: 4;
    width: clamp(28px, 7vw, 110px);
    pointer-events: none;
}

[data-demo-theme="aerospace"] .a6-image-strip__shell::before {
    left: 0;
    background: linear-gradient(90deg, var(--a6-paper), transparent);
}

[data-demo-theme="aerospace"] .a6-image-strip__shell::after {
    right: 0;
    background: linear-gradient(270deg, var(--a6-paper), transparent);
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-image-strip__shell::before {
    background: linear-gradient(90deg, var(--a6-paper), transparent);
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-image-strip__shell::after {
    background: linear-gradient(270deg, var(--a6-paper), transparent);
}

[data-demo-theme="aerospace"] .a6-image-strip__track {
    display: flex;
    gap: clamp(18px, 2.6vw, 34px);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: clamp(18px, 4vw, 52px);
    padding: 8px var(--a6-page-pad) 34px 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    user-select: none;
}

[data-demo-theme="aerospace"] .a6-image-strip__track::-webkit-scrollbar {
    display: none;
}

[data-demo-theme="aerospace"] .a6-image-strip__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

[data-demo-theme="aerospace"] .a6-strip-card {
    flex: 0 0 clamp(280px, 32vw, 520px);
    min-height: clamp(390px, 42vw, 560px);
    scroll-snap-align: start;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(76, 86, 102, .22);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(248, 247, 234, .84), rgba(248, 247, 234, .56)),
        radial-gradient(circle at 20% 0%, rgba(246, 198, 91, .18), transparent 36%);
    box-shadow: 0 24px 70px rgba(7, 16, 31, .1);
    transition: transform .42s ease, box-shadow .42s ease, border-color .42s ease;
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-strip-card {
    border-color: rgba(248, 247, 234, .14);
    background:
        linear-gradient(180deg, rgba(248, 247, 234, .07), rgba(248, 247, 234, .035)),
        radial-gradient(circle at 20% 0%, rgba(246, 198, 91, .12), transparent 36%);
}

[data-demo-theme="aerospace"] .a6-strip-card:hover,
[data-demo-theme="aerospace"] .a6-strip-card:focus-within {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--a6-ion), transparent 35%);
    box-shadow: 0 34px 90px rgba(7, 16, 31, .16);
}

[data-demo-theme="aerospace"] .a6-strip-card__visual {
    position: relative;
    height: clamp(210px, 22vw, 330px);
    overflow: hidden;
    border-bottom: 1px solid rgba(76, 86, 102, .18);
    background:
        radial-gradient(circle at 66% 38%, rgba(98, 216, 232, .26), transparent 28%),
        radial-gradient(circle at 28% 22%, rgba(246, 198, 91, .18), transparent 20%),
        linear-gradient(135deg, #07101f, #141f34 58%, #221d28);
}

[data-demo-theme="aerospace"] .a6-strip-card__visual::before,
[data-demo-theme="aerospace"] .a6-strip-card__visual::after {
    content: "";
    position: absolute;
    inset: 20% -18% auto 10%;
    height: 52%;
    border: 1px solid rgba(98, 216, 232, .5);
    border-radius: 50%;
    transform: rotate(-16deg);
    transition: transform .48s ease, opacity .48s ease;
}

[data-demo-theme="aerospace"] .a6-strip-card__visual::after {
    inset: 34% -12% auto 24%;
    height: 42%;
    border-color: rgba(246, 198, 91, .38);
    transform: rotate(18deg);
}

[data-demo-theme="aerospace"] .a6-strip-card:hover .a6-strip-card__visual::before {
    transform: translateX(12px) rotate(-12deg);
}

[data-demo-theme="aerospace"] .a6-strip-card:hover .a6-strip-card__visual::after {
    transform: translateX(-10px) rotate(14deg);
}

[data-demo-theme="aerospace"] .a6-strip-card__visual span {
    position: absolute;
    border-radius: 50%;
    background: rgba(248, 247, 234, .88);
    box-shadow: 0 0 18px rgba(98, 216, 232, .62);
}

[data-demo-theme="aerospace"] .a6-strip-card__visual span:nth-child(1) {
    left: 18%;
    top: 28%;
    width: 5px;
    height: 5px;
}

[data-demo-theme="aerospace"] .a6-strip-card__visual span:nth-child(2) {
    right: 24%;
    top: 18%;
    width: 7px;
    height: 7px;
}

[data-demo-theme="aerospace"] .a6-strip-card__visual span:nth-child(3) {
    right: 34%;
    bottom: 24%;
    width: 4px;
    height: 4px;
}

[data-demo-theme="aerospace"] .a6-strip-card__label {
    display: inline-flex;
    margin: 22px 24px 0;
    color: var(--a6-ion);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .14em;
}

[data-demo-theme="aerospace"] .a6-strip-card h3 {
    margin: 14px 24px 10px;
    font: 760 clamp(22px, 2.2vw, 34px)/1.16 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="aerospace"] .a6-strip-card p {
    margin: 0 24px 26px;
    color: color-mix(in srgb, var(--a6-ink), transparent 24%);
    line-height: 1.72;
}

[data-demo-theme="aerospace"] .a6-image-strip__progress {
    position: relative;
    width: min(420px, calc(100% - var(--a6-page-pad)));
    height: 2px;
    margin: 0 var(--a6-page-pad) 0 0;
    overflow: hidden;
    background: color-mix(in srgb, var(--a6-graphite), transparent 72%);
}

[data-demo-theme="aerospace"] .a6-image-strip__progress span {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc((var(--a6-strip-progress) * 100%) + 12%);
    max-width: 100%;
    background: linear-gradient(90deg, var(--a6-solar), var(--a6-ion));
    transition: width .18s ease;
}

[data-demo-theme="aerospace"] .a6-people blockquote {
    margin: 0 0 18px;
    font: 700 clamp(19px, 1.8vw, 27px)/1.55 "Noto Serif KR", serif;
}

[data-demo-theme="aerospace"] .a6-people strong {
    display: block;
    color: var(--a6-ion);
}

[data-demo-theme="aerospace"] .a6-ribbon {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
}

[data-demo-theme="aerospace"] .a6-ribbon span {
    min-height: 122px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(76, 86, 102, .24);
    color: var(--a6-space);
    background: linear-gradient(135deg, rgba(98, 216, 232, .18), rgba(246, 198, 91, .16));
    font: 800 18px/1 "Outfit", sans-serif;
}

[data-ui-theme="dark"][data-demo-theme="aerospace"] .a6-ribbon span {
    color: var(--a6-white);
    border-color: rgba(248, 247, 234, .12);
}

[data-demo-theme="aerospace"] .a6-questions__list {
    display: grid;
    gap: 14px;
}

[data-demo-theme="aerospace"] .a6-questions article {
    overflow: hidden;
}

[data-demo-theme="aerospace"] .a6-questions button {
    width: 100%;
    min-height: 68px;
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 18px;
    align-items: center;
    padding: 18px 22px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

[data-demo-theme="aerospace"] .a6-questions button span {
    color: var(--a6-solar);
    font: 800 14px/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-questions article p {
    display: none;
    margin: 0 24px 24px 94px;
}

[data-demo-theme="aerospace"] .a6-questions article.is-open p {
    display: block;
}

[data-demo-theme="aerospace"] .a6-footer {
    position: relative;
    padding: var(--a6-section-gap) var(--a6-page-pad);
    overflow: hidden;
    color: var(--a6-white);
    background: linear-gradient(135deg, #07101f, #1b2231);
}

[data-demo-theme="aerospace"] .a6-footer button {
    min-height: 44px;
    margin: 18px 8px 0 0;
    padding: 0 18px;
    border: 1px solid rgba(248, 247, 234, .25);
    border-radius: 8px;
    background: transparent;
    color: var(--a6-white);
}

[data-demo-theme="aerospace"] .a6-footer b {
    position: absolute;
    left: var(--a6-page-pad);
    bottom: -8px;
    max-width: 90%;
    color: rgba(248, 247, 234, .08);
    font: 900 clamp(38px, 8vw, 130px)/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] [data-a6-reveal] {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s ease, transform .7s ease;
}

[data-demo-theme="aerospace"] [data-a6-reveal].is-visible,
[data-demo-theme="aerospace"] .a6-hero {
    opacity: 1;
    transform: none;
}

[data-demo-theme="aerospace"] .a6-visual {
    position: relative;
    min-height: 760px;
    aspect-ratio: 16 / 9;
    color: var(--a6-white);
    background: #07101f;
    isolation: isolate;
}

[data-demo-theme="aerospace"] .a6-visual__stars,
[data-demo-theme="aerospace"] .a6-visual__stage,
[data-demo-theme="aerospace"] .a6-visual__slide {
    position: absolute;
    inset: 0;
}

[data-demo-theme="aerospace"] .a6-visual__stars {
    z-index: 0;
    width: 100%;
    height: 100%;
}

[data-demo-theme="aerospace"] .a6-visual__stage {
    z-index: 1;
    overflow: hidden;
}

[data-demo-theme="aerospace"] .a6-visual__slide {
    opacity: 0;
    transform: translateY(10px) scale(1.02);
    transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .2, 1);
    pointer-events: none;
}

[data-demo-theme="aerospace"] .a6-visual__slide.is-active {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    z-index: 2;
}

[data-demo-theme="aerospace"] .a6-visual__slide.is-leaving {
    opacity: 0;
    transform: translateY(-10px) scale(1.01);
    z-index: 1;
}

[data-demo-theme="aerospace"] .a6-visual__art,
[data-demo-theme="aerospace"] .a6-visual__shade,
[data-demo-theme="aerospace"] .a6-visual__wipe {
    position: absolute;
    inset: 0;
}

[data-demo-theme="aerospace"] .a6-visual__art {
    transform: translate3d(var(--a6-shift-x), var(--a6-shift-y), 0);
}

[data-demo-theme="aerospace"] .a6-visual__art svg {
    width: 100%;
    height: 100%;
}

[data-demo-theme="aerospace"] .a6-orbit-path,
[data-demo-theme="aerospace"] .a6-orbit-body,
[data-demo-theme="aerospace"] .a6-orbit-dot {
    fill: none;
    stroke: var(--a6-ion);
    stroke-width: 1.5;
    opacity: .56;
}

[data-demo-theme="aerospace"] .a6-orbit-path {
    stroke-dasharray: 10 16;
    animation: a6-orbit-flow 10s linear infinite;
}

[data-demo-theme="aerospace"] .a6-orbit-body {
    stroke: var(--a6-solar);
    opacity: .28;
}

[data-demo-theme="aerospace"] .a6-orbit-dot {
    fill: var(--a6-solar);
    stroke: none;
    opacity: .92;
}

[data-demo-theme="aerospace"] .a6-visual__shade {
    background:
        radial-gradient(circle at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%), rgba(98, 216, 232, .16), transparent 28%),
        linear-gradient(90deg, rgba(7, 16, 31, .86), rgba(7, 16, 31, .28) 48%, rgba(7, 16, 31, .78));
}

[data-demo-theme="aerospace"] .a6-visual__wipe {
    opacity: 0;
    background: radial-gradient(circle at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%), rgba(246, 198, 91, .24), transparent 34%);
    clip-path: circle(0 at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%));
}

[data-demo-theme="aerospace"] .a6-visual.is-pulsing .a6-visual__wipe {
    animation: a6-orbital-wipe .78s ease-out;
}

[data-demo-theme="aerospace"] .a6-visual__content {
    position: absolute;
    left: clamp(26px, 7vw, 128px);
    bottom: clamp(142px, 15vw, 220px);
    z-index: 4;
    max-width: min(760px, 72vw);
}

[data-demo-theme="aerospace"] .a6-visual__kicker {
    color: var(--a6-ion);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}

[data-demo-theme="aerospace"] .a6-visual__content h1 {
    margin: 16px 0 18px;
    font: 800 clamp(40px, 5.4vw, 86px)/1.08 "Noto Serif KR", serif;
    letter-spacing: 0;
}

[data-demo-theme="aerospace"] .a6-visual__content h1 span {
    display: inline-block;
    margin-right: .18em;
}

[data-demo-theme="aerospace"] .a6-visual__subtitle {
    max-width: 58ch;
    color: rgba(248, 247, 234, .78);
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.75;
}

[data-demo-theme="aerospace"] .a6-visual__underline {
    display: block;
    width: min(360px, 46vw);
    height: 1px;
    margin-top: 28px;
    background: linear-gradient(90deg, var(--a6-solar), transparent);
}

[data-demo-theme="aerospace"] .a6-visual__signal {
    position: absolute;
    top: clamp(26px, 4vw, 72px);
    right: clamp(26px, 5vw, 96px);
    z-index: 4;
    display: grid;
    gap: 12px;
    min-width: 160px;
}

[data-demo-theme="aerospace"] .a6-visual__signal span {
    display: grid;
    grid-template-columns: 58px 1fr;
    align-items: center;
    gap: 12px;
    color: rgba(248, 247, 234, .76);
    font: 800 12px/1 "Outfit", sans-serif;
    letter-spacing: .12em;
}

[data-demo-theme="aerospace"] .a6-visual__signal span::before {
    content: "";
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--a6-ion));
}

[data-demo-theme="aerospace"] .a6-visual__pulse {
    position: absolute;
    left: var(--a6-pointer-x, 50%);
    top: var(--a6-pointer-y, 50%);
    z-index: 5;
    width: 16px;
    height: 16px;
    border: 1px solid var(--a6-solar);
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2);
    pointer-events: none;
}

[data-demo-theme="aerospace"] .a6-visual.is-pulsing .a6-visual__pulse {
    animation: a6-pulse .7s ease-out;
}

[data-demo-theme="aerospace"] .a6-visual__footer {
    position: absolute;
    left: clamp(24px, 5vw, 96px);
    right: clamp(24px, 5vw, 96px);
    bottom: clamp(24px, 4vw, 56px);
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

[data-demo-theme="aerospace"] .a6-visual__dots {
    display: flex;
    gap: 12px;
    min-width: min(48vw, 430px);
    padding: 14px 16px;
    border: 1px solid rgba(248, 247, 234, .18);
    border-radius: 8px;
    background: rgba(7, 16, 31, .52);
    backdrop-filter: blur(16px);
}

[data-demo-theme="aerospace"] .a6-visual__dots button {
    flex: 1 1 0;
    min-width: 72px;
    min-height: 44px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
    color: rgba(248, 247, 234, .72);
    cursor: pointer;
}

[data-demo-theme="aerospace"] .a6-visual__dots span {
    font: 800 12px/1 "Outfit", sans-serif;
}

[data-demo-theme="aerospace"] .a6-visual__dots i {
    position: relative;
    height: 2px;
    overflow: hidden;
    background: rgba(248, 247, 234, .2);
}

[data-demo-theme="aerospace"] .a6-visual__dots i::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 0;
    background: var(--a6-solar);
}

[data-demo-theme="aerospace"] .a6-visual.is-playing .a6-visual__dots .is-active i::after {
    animation: a6-dot-timer 5s linear forwards;
}

[data-demo-theme="aerospace"] .a6-visual__actions {
    display: flex;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(248, 247, 234, .18);
    border-radius: 8px;
    background: rgba(7, 16, 31, .52);
    backdrop-filter: blur(16px);
}

[data-demo-theme="aerospace"] .a6-visual__actions button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 7px;
    background: rgba(248, 247, 234, .08);
    color: var(--a6-white);
    cursor: pointer;
}

[data-demo-theme="aerospace"] .a6-visual__actions svg {
    width: 21px;
    height: 21px;
    grid-area: 1 / 1;
}

[data-demo-theme="aerospace"] .a6-visual__actions svg[hidden] {
    display: none !important;
}

[data-demo-theme="aerospace"] .a6-visual__live {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

@keyframes a6-signal-pulse {
    0%, 100% { opacity: .36; transform: translateY(-50%) scale(.8); }
    50% { opacity: 1; transform: translateY(-50%) scale(1.2); }
}

@keyframes a6-orbit-spin {
    to { --a6-orbit-angle: 360deg; }
}

@keyframes a6-orbit-flow {
    to { stroke-dashoffset: -140; }
}

@keyframes a6-orbital-wipe {
    0% { opacity: 0; clip-path: circle(0 at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%)); }
    24% { opacity: 1; }
    100% { opacity: 0; clip-path: circle(74% at var(--a6-pointer-x, 50%) var(--a6-pointer-y, 50%)); }
}

@keyframes a6-pulse {
    0% { opacity: .9; transform: translate(-50%, -50%) scale(.2); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(22); }
}

@keyframes a6-dot-timer {
    to { width: 100%; }
}

@supports (animation-timeline: view()) {
    [data-demo-theme="aerospace"] [data-a6-reveal] {
        animation: a6-view-reveal both;
        animation-timeline: view();
        animation-range: entry 12% cover 32%;
    }
}

@keyframes a6-view-reveal {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 860px) {
    [data-demo-theme="aerospace"] .a6-hero__nav span,
    [data-demo-theme="aerospace"] .a6-signal-rail,
    [data-demo-theme="aerospace"] .a6-visual__signal {
        display: none;
    }

    [data-demo-theme="aerospace"] .a6-hero__layout,
    [data-demo-theme="aerospace"] .a6-timeline,
    [data-demo-theme="aerospace"] .a6-ground,
    [data-demo-theme="aerospace"] .a6-archive,
    [data-demo-theme="aerospace"] .a6-footer,
    [data-demo-theme="aerospace"] .a6-brief,
    [data-demo-theme="aerospace"] .a6-logbook__grid,
    [data-demo-theme="aerospace"] .a6-metrics,
    [data-demo-theme="aerospace"] .a6-lab__grid,
    [data-demo-theme="aerospace"] .a6-image-strip,
    [data-demo-theme="aerospace"] .a6-people,
    [data-demo-theme="aerospace"] .a6-ribbon {
        grid-template-columns: 1fr;
    }

    [data-demo-theme="aerospace"] .a6-hero__layout {
        min-height: 650px;
    }

    [data-demo-theme="aerospace"] .a6-hero__copy h1 {
        font-size: 34px;
        line-height: 1.18;
    }

    [data-demo-theme="aerospace"] .a6-section {
        padding: 52px 18px;
    }

    [data-demo-theme="aerospace"] .a6-image-strip {
        padding-right: 0;
        padding-left: 18px;
    }

    [data-demo-theme="aerospace"] .a6-image-strip .a6-section__head {
        padding-right: 18px;
    }

    [data-demo-theme="aerospace"] .a6-strip-card {
        flex-basis: min(78vw, 330px);
        min-height: 410px;
    }

    [data-demo-theme="aerospace"] .a6-timeline__map,
    [data-demo-theme="aerospace"] .a6-ground__panel,
    [data-demo-theme="aerospace"] .a6-archive > div {
        min-height: 330px;
    }

    [data-demo-theme="aerospace"] .a6-visual {
        aspect-ratio: auto;
        min-height: 720px;
    }

    [data-demo-theme="aerospace"] .a6-visual__content {
        left: 18px;
        right: 18px;
        bottom: 134px;
        max-width: none;
    }

    [data-demo-theme="aerospace"] .a6-visual__content h1 {
        font-size: 31px;
        line-height: 1.22;
    }

    [data-demo-theme="aerospace"] .a6-visual__footer {
        left: 18px;
        right: 18px;
        bottom: 24px;
        flex-direction: column;
        align-items: stretch;
    }
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-landing,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-hero {
    min-height: 720px !important;
    padding: 24px 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-hero__nav span,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-signal-rail,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__signal {
    display: none !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-hero__layout,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-timeline,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-ground,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-archive,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-footer,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-brief,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-logbook__grid,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-metrics,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-lab__grid,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-image-strip,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-people,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-ribbon {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-hero__layout {
    min-height: 650px !important;
    gap: 18px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-hero__copy h1 {
    font-size: 31px !important;
    line-height: 1.2 !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-section {
    padding: 48px 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-image-strip {
    padding-right: 0 !important;
    padding-left: 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-image-strip .a6-section__head {
    padding-right: 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-image-strip__track {
    padding-right: 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-strip-card {
    flex-basis: min(78vw, 330px) !important;
    min-height: 410px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-strip-card__visual {
    height: 220px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-timeline__map,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-ground__panel,
html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-archive > div {
    min-height: 320px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-ribbon span {
    min-height: 78px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual {
    aspect-ratio: 9 / 16 !important;
    min-height: 720px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__content {
    left: 18px !important;
    right: 18px !important;
    bottom: 134px !important;
    max-width: none !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__content h1 {
    font-size: 29px !important;
    line-height: 1.22 !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__subtitle {
    font-size: 14px !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__footer {
    left: 18px !important;
    right: 18px !important;
    bottom: 24px !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

html[data-preview-device="mobile"][data-demo-theme="aerospace"] .a6-visual__dots {
    min-width: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-demo-theme="aerospace"] .a6-signal-rail span::before,
    [data-demo-theme="aerospace"] .a6-brief i,
    [data-demo-theme="aerospace"] .a6-lab i,
    [data-demo-theme="aerospace"] .a6-orbit-path,
    [data-demo-theme="aerospace"] .a6-strip-card,
    [data-demo-theme="aerospace"] .a6-strip-card__visual::before,
    [data-demo-theme="aerospace"] .a6-strip-card__visual::after,
    [data-demo-theme="aerospace"] .a6-visual__dots i::after {
        animation: none !important;
        transition: none !important;
    }

    [data-demo-theme="aerospace"] [data-a6-reveal],
    [data-demo-theme="aerospace"] .a6-visual__slide,
    [data-demo-theme="aerospace"] .a6-visual__content h1 span {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ==========================================================================
   Theme 07: Railway Transport (Track & Signal)
   ========================================================================== */

[data-demo-theme="railway-transport"] {
    --r7-slate:    #1a1e2a;
    --r7-ink:      #14120f;
    --r7-signal:   #d4382c;
    --r7-amber:    #e8a832;
    --r7-steel:    #7a8694;
    --r7-mint:     #5bbda4;
    --r7-concrete: #d9d3ca;
    --r7-paper:    #f5f2ed;
    --r7-white:    #fefcf8;
    
    --r7-section-gap: clamp(60px, 8vw, 120px);
    --r7-page-pad: clamp(24px, 6vw, 100px);
    
    color: var(--r7-ink);
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"],
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] {
    --r7-slate:    #0a0d14;
    --r7-ink:      #f2ede3;
    --r7-signal:   #ff5c4d;
    --r7-amber:    #ffbe44;
    --r7-steel:    #9ca8b8;
    --r7-mint:     #7ed4bb;
    --r7-concrete: #1e222e;
    --r7-paper:    #12151e;
    --r7-white:    #fff8e8;
}

/* Image Containers & Premium Placeholders */
[data-demo-theme="railway-transport"] .r7-image-container {
    position: relative;
    overflow: hidden;
    background-color: var(--r7-concrete);
    display: flex;
    align-items: center;
    justify-content: center;
}

[data-demo-theme="railway-transport"] .r7-image-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--r7-steel);
    background: linear-gradient(135deg, color-mix(in srgb, var(--r7-slate) 8%, transparent), color-mix(in srgb, var(--r7-concrete) 15%, transparent));
    padding: 20px;
    text-align: center;
    z-index: 1;
}

[data-demo-theme="railway-transport"] .r7-placeholder-icon svg {
    width: 36px;
    height: 36px;
    stroke: var(--r7-steel);
    stroke-width: 1.5;
    opacity: 0.6;
}

[data-demo-theme="railway-transport"] .r7-placeholder-text {
    font-size: 13px;
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    opacity: 0.7;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-image-container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 2;
    transition: opacity 0.4s ease;
}

[data-demo-theme="railway-transport"] .r7-image-container img.is-loaded {
    opacity: 1;
}

/* Base Layout */
[data-demo-theme="railway-transport"] .r7-landing {
    position: relative;
    background-color: var(--r7-paper);
    transition: background-color 0.3s ease;
}

/* Visual Wrapper (Integrated Hero Background) */
[data-demo-theme="railway-transport"] .r7-landing__visual-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 88vh !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip-path: inset(0 0 0 0 round 0);
    background: var(--r7-slate);
    z-index: 0;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-landing__visual-wrapper {
    height: 720px !important;
    clip-path: inset(0 0 0 0 round 0 0 20px 20px);
}

[data-demo-theme="railway-transport"] .r7-visual__speedlines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.15;
    z-index: 1;
}

[data-demo-theme="railway-transport"] .r7-visual__stage {
    position: absolute;
    inset: 0;
    z-index: 0;
}

[data-demo-theme="railway-transport"] .r7-visual__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 0;
}

[data-demo-theme="railway-transport"] .r7-visual__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

[data-demo-theme="railway-transport"] .r7-visual__slide.is-leaving {
    z-index: 1;
}

[data-demo-theme="railway-transport"] .r7-visual__image-box {
    width: 100%;
    height: 100%;
}

[data-demo-theme="railway-transport"] .r7-visual__overlay {
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(90deg, rgba(26, 30, 42, 0.88) 0%, rgba(26, 30, 42, 0.4) 40%, rgba(26, 30, 42, 0.72) 100%),
        radial-gradient(circle at var(--r7-pointer-x, 50%) var(--r7-pointer-y, 50%), rgba(232, 168, 50, 0.1) 0%, transparent 40%);
    z-index: 3;
}

html[data-ui-theme="dark"] [data-demo-theme="railway-transport"] .r7-visual__overlay {
    background: 
        linear-gradient(90deg, rgba(10, 13, 20, 0.92) 0%, rgba(10, 13, 20, 0.45) 40%, rgba(10, 13, 20, 0.78) 100%),
        radial-gradient(circle at var(--r7-pointer-x, 50%) var(--r7-pointer-y, 50%), rgba(255, 190, 68, 0.12) 0%, transparent 40%);
}

[data-demo-theme="railway-transport"] .r7-visual__track-reveal {
    position: absolute;
    inset: 0;
    z-index: 4;
    background: var(--r7-signal);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
}

[data-demo-theme="railway-transport"] .r7-visual__pulses {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}

[data-demo-theme="railway-transport"] .r7-visual__pulse-node {
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid var(--r7-signal);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0.2);
    opacity: 1;
    animation: r7-pulse-grow 0.64s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes r7-pulse-grow {
    to {
        transform: translate(-50%, -50%) scale(3.6);
        opacity: 0;
    }
}

[data-demo-theme="railway-transport"] .r7-visual__lines {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8%;
    height: 6px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

[data-demo-theme="railway-transport"] .r7-visual-line {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(232, 168, 50, 0.4) 15%, rgba(232, 168, 50, 0.4) 85%, transparent);
}

/* [01] Departure Hero */
[data-demo-theme="railway-transport"] .r7-hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px var(--r7-page-pad) 48px;
    z-index: 2;
    color: #ffffff;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-hero {
    min-height: 720px;
}

[data-demo-theme="railway-transport"] .r7-hero__masthead {
    display: flex;
    align-items: baseline;
    gap: 16px;
    min-height: 48px;
}

[data-demo-theme="railway-transport"] .r7-logo {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

[data-demo-theme="railway-transport"] .r7-masthead-desc {
    font-size: 12px;
    opacity: 0.6;
    letter-spacing: -0.02em;
}

[data-demo-theme="railway-transport"] .r7-hero__layout {
    display: grid;
    grid-template-columns: minmax(200px, 0.8fr) minmax(440px, 1.2fr) minmax(140px, 0.6fr);
    align-items: end;
    gap: 40px;
    padding-top: 40px;
    flex-grow: 1;
}

[data-demo-theme="railway-transport"] .r7-hero__brief {
    padding-left: 18px;
    border-left: 2px solid var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-tag {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--r7-amber);
    letter-spacing: 0.05em;
}

[data-demo-theme="railway-transport"] .r7-hero__issue-title {
    margin: 8px 0 16px;
    font-family: 'Outfit', sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
}

[data-demo-theme="railway-transport"] .r7-hero__meta-info {
    font-size: 12px;
    opacity: 0.6;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Dots Indicator */
[data-demo-theme="railway-transport"] .r7-hero__dots {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 36px;
}

[data-demo-theme="railway-transport"] .r7-hero__dot {
    display: flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.36);
    cursor: pointer;
    padding: 0;
    text-align: left;
    transition: color 0.3s ease;
}

[data-demo-theme="railway-transport"] .r7-hero__dot span {
    font-size: 11px;
    font-family: 'Outfit', sans-serif;
}

[data-demo-theme="railway-transport"] .r7-dot-num {
    font-weight: 800;
}

[data-demo-theme="railway-transport"] .r7-dot-bar {
    position: relative;
    width: 24px;
    height: 2px;
    background: currentColor;
    opacity: 0.5;
    overflow: hidden;
    transition: width 0.3s ease;
}

[data-demo-theme="railway-transport"] .r7-dot-progress {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-hero__dot.is-active .r7-dot-progress {
    width: 100%;
}

[data-demo-theme="railway-transport"] .r7-dot-label {
    font-size: 10px;
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.08em;
    opacity: 0.8;
}

[data-demo-theme="railway-transport"] .r7-hero__dot.is-active,
[data-demo-theme="railway-transport"] .r7-hero__dot:hover {
    color: #ffffff;
}

[data-demo-theme="railway-transport"] .r7-hero__dot.is-active .r7-dot-bar {
    width: 48px;
    color: var(--r7-signal);
    opacity: 1;
}

/* Copy Panel */
[data-demo-theme="railway-transport"] .r7-hero__copy {
    position: relative;
    min-height: 280px;
}

[data-demo-theme="railway-transport"] .r7-hero__copy-panel {
    display: none;
}

[data-demo-theme="railway-transport"] .r7-hero__copy-panel.is-active {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    animation: r7-copy-reveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes r7-copy-reveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[data-demo-theme="railway-transport"] .r7-hero__copy-panel .r7-eyebrow {
    color: var(--r7-amber);
    margin-bottom: 12px;
}

[data-demo-theme="railway-transport"] .r7-hero__title {
    margin: 0 0 16px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(34px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

[data-demo-theme="railway-transport"] .r7-hero__title span {
    display: inline-block;
    margin-right: 0.1em;
}

[data-demo-theme="railway-transport"] .r7-hero__subtitle {
    margin: 0 0 28px;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.65;
    max-width: 42ch;
    opacity: 0.8;
}

/* Signal Rail */
[data-demo-theme="railway-transport"] .r7-hero__signal-rail {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-signal-item {
    position: relative;
    padding: 8px 0 8px 16px;
    color: rgba(255, 255, 255, 0.36);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    transition: color 0.3s, border-color 0.3s;
}

[data-demo-theme="railway-transport"] .r7-signal-item::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--r7-concrete);
    transform: translateY(-50%) scale(0.6);
    opacity: 0.5;
    transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
}

[data-demo-theme="railway-transport"] .r7-signal-item.is-active {
    color: #ffffff;
    border-left-color: var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-signal-item.is-active::before {
    background-color: var(--r7-signal);
    transform: translateY(-50%) scale(1.4);
    opacity: 1;
    box-shadow: 0 0 8px var(--r7-signal);
}

/* General Sections */
[data-demo-theme="railway-transport"] .r7-section {
    padding: var(--r7-section-gap) var(--r7-page-pad);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

[data-demo-theme="railway-transport"] .r7-eyebrow {
    display: inline-flex;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--r7-signal);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-section-title {
    margin: 12px 0 16px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(26px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

[data-demo-theme="railway-transport"] .r7-section-desc {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.72;
    color: color-mix(in srgb, var(--r7-ink) 76%, transparent);
    max-width: 72ch;
}

/* Buttons */
[data-demo-theme="railway-transport"] .r7-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    font-family: var(--showroom-font);
    font-size: 13px;
    font-weight: 700;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
    border: 1px solid transparent;
}

[data-demo-theme="railway-transport"] .r7-btn--accent {
    background-color: var(--r7-signal);
    color: #ffffff;
}

[data-demo-theme="railway-transport"] .r7-btn--accent:hover {
    background-color: color-mix(in srgb, var(--r7-signal) 85%, #000);
}

[data-demo-theme="railway-transport"] .r7-btn--outline {
    border-color: rgba(255, 255, 255, 0.3);
    background: transparent;
    color: #ffffff;
}

[data-demo-theme="railway-transport"] .r7-btn--outline:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #ffffff;
}

/* [02] Route Map */
[data-demo-theme="railway-transport"] .r7-route-map {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
}

[data-demo-theme="railway-transport"] .r7-route-map__diagram {
    position: relative;
    min-height: 400px;
    background: var(--r7-slate);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

[data-demo-theme="railway-transport"] .r7-diagram-svg {
    position: absolute;
    inset: 10%;
    width: 80%;
    height: 80%;
}

[data-demo-theme="railway-transport"] .r7-diagram-track {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

[data-demo-theme="railway-transport"] .r7-diagram-track--bg {
    stroke: rgba(255, 255, 255, 0.1);
    stroke-width: 3;
}

[data-demo-theme="railway-transport"] .r7-diagram-track--active {
    stroke: var(--r7-signal);
    stroke-width: 3;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    transition: stroke-dashoffset 1s ease-out;
}

[data-demo-theme="railway-transport"] .r7-diagram-track--sub {
    stroke: rgba(255, 255, 255, 0.05);
    stroke-width: 1.5;
    stroke-dasharray: 6 8;
}

[data-demo-theme="railway-transport"] .r7-diagram-track--sub2 {
    stroke: rgba(232, 168, 50, 0.15);
    stroke-width: 1.5;
    stroke-dasharray: 4 6;
}

[data-demo-theme="railway-transport"] .r7-route-node {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 38px;
    height: 38px;
    background: transparent;
    border: 0;
    padding: 0;
    transform: translate(-50%, -50%);
    cursor: pointer;
    display: grid;
    place-items: center;
    color: var(--r7-amber);
    z-index: 2;
}

[data-demo-theme="railway-transport"] .r7-node-ring {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid currentColor;
    background-color: var(--r7-slate);
    box-shadow: 0 0 10px currentColor;
    transition: background-color 0.3s, transform 0.3s;
}

[data-demo-theme="railway-transport"] .r7-route-node:hover .r7-node-ring {
    transform: scale(1.3);
}

[data-demo-theme="railway-transport"] .r7-route-node.is-active {
    color: var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-route-node.is-active .r7-node-ring {
    background-color: var(--r7-signal);
    transform: scale(1.4);
}

[data-demo-theme="railway-transport"] .r7-route-card {
    margin-top: 24px;
    padding: 24px;
    border-left: 3px solid var(--r7-signal);
    background: var(--r7-white);
    border-radius: 0 8px 8px 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: opacity 0.3s, transform 0.3s;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-route-card,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-route-card {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

[data-demo-theme="railway-transport"] .r7-route-card__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
}

[data-demo-theme="railway-transport"] .r7-route-card__type {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--r7-amber);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-route-card__name {
    font-size: 20px;
    font-weight: 800;
}

[data-demo-theme="railway-transport"] .r7-route-card__desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: color-mix(in srgb, var(--r7-ink) 72%, transparent);
}

/* [03] Station Architecture */
[data-demo-theme="railway-transport"] .r7-station-arch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

[data-demo-theme="railway-transport"] .r7-station-arch__visual {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.06);
}

[data-demo-theme="railway-transport"] .r7-station-concept {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

[data-demo-theme="railway-transport"] .r7-concept-tag {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    padding: 6px 12px;
    background: var(--r7-white);
    color: var(--r7-steel);
    border: 1px solid var(--r7-concrete);
    border-radius: 30px;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-concept-tag,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-concept-tag {
    background: #1b2230 !important;
    background-color: #1b2230 !important;
    color: rgba(242, 237, 227, 0.72) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* [04] Speed & Stillness Interlude */
[data-demo-theme="railway-transport"] .r7-interlude {
    position: relative;
    padding: 60px var(--r7-page-pad);
    background-color: var(--r7-white);
    border-top: 1px solid var(--r7-concrete);
    border-bottom: 1px solid var(--r7-concrete);
    text-align: center;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-interlude,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-interlude {
    background: #151a25 !important;
    background-color: #151a25 !important;
    border-top-color: rgba(255, 255, 255, 0.1) !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-interlude__track {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 8px;
    display: flex;
    overflow: hidden;
    opacity: 0.15;
}

[data-demo-theme="railway-transport"] .r7-sleeper-line {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, var(--r7-ink) 0%, var(--r7-ink) 4px, transparent 4px, transparent 24px);
    background-size: 24px 100%;
}

[data-demo-theme="railway-transport"] .r7-interlude-en {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--r7-amber);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-interlude-kr {
    margin: 12px 0 8px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(20px, 2.5vw, 32px);
    font-weight: 700;
}

[data-demo-theme="railway-transport"] .r7-interlude-desc {
    margin: 0;
    font-size: 14px;
    color: var(--r7-steel);
}

/* [05] Schedule Ticker */
[data-demo-theme="railway-transport"] .r7-ticker {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: center;
    background: var(--r7-slate);
    color: #ffffff;
    height: 64px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

[data-demo-theme="railway-transport"] .r7-ticker__title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 24px;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    background: color-mix(in srgb, var(--r7-slate) 85%, #000);
    z-index: 2;
}

[data-demo-theme="railway-transport"] .r7-ticker__title span {
    font-family: 'Outfit', sans-serif;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--r7-amber);
}

[data-demo-theme="railway-transport"] .r7-ticker__title strong {
    font-size: 13px;
    font-weight: 800;
    margin-top: 2px;
}

[data-demo-theme="railway-transport"] .r7-ticker__scroll {
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
}

[data-demo-theme="railway-transport"] .r7-ticker__list {
    display: inline-flex;
    align-items: center;
    animation: r7-ticker-anim 28s linear infinite;
}

@keyframes r7-ticker-anim {
    0% { transform: translateX(0); }
    100% { transform: translateX(-33.333%); }
}

[data-demo-theme="railway-transport"] .r7-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 0 36px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

[data-demo-theme="railway-transport"] .r7-ticker__code {
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: 13px;
    color: var(--r7-amber);
}

[data-demo-theme="railway-transport"] .r7-ticker__route {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

[data-demo-theme="railway-transport"] .r7-ticker__route svg {
    width: 14px;
    height: 14px;
    stroke-width: 3;
    opacity: 0.5;
}

[data-demo-theme="railway-transport"] .r7-ticker__time {
    font-family: 'Outfit', sans-serif;
    font-variant-numeric: tabular-nums;
    font-size: 13px;
}

[data-demo-theme="railway-transport"] .r7-ticker__status {
    font-family: 'Outfit', sans-serif;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}

[data-demo-theme="railway-transport"] .r7-ticker__status.status-on-time {
    background-color: rgba(91, 189, 164, 0.15);
    color: var(--r7-mint);
}

[data-demo-theme="railway-transport"] .r7-ticker__status.status-departed {
    background-color: rgba(122, 134, 148, 0.2);
    color: var(--r7-steel);
}

[data-demo-theme="railway-transport"] .r7-ticker__status.status-boarding {
    background-color: rgba(212, 56, 44, 0.15);
    color: var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-ticker__status.status-on-track {
    background-color: rgba(232, 168, 50, 0.15);
    color: var(--r7-amber);
}

[data-demo-theme="railway-transport"] .r7-ticker__status.status-scheduled {
    background-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.6);
}

[data-demo-theme="railway-transport"] .r7-ticker__disclaimer {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

/* [06] Technology Cards */
[data-demo-theme="railway-transport"] .r7-tech-card {
    position: relative;
    padding: 32px;
    background: var(--r7-white);
    border: 1px solid var(--r7-concrete);
    border-radius: 8px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
    overflow: hidden;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-tech-card,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-tech-card {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-tech__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 36px;
}

[data-demo-theme="railway-transport"] .r7-tech-card:hover {
    transform: translateY(-8px);
    border-color: var(--r7-signal);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
}

[data-demo-theme="railway-transport"] .r7-tech-card__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
}

[data-demo-theme="railway-transport"] .r7-tech-card__no {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--r7-steel);
}

[data-demo-theme="railway-transport"] .r7-tech-card__icon {
    width: 32px;
    height: 32px;
    border: 1px solid var(--r7-concrete);
    border-radius: 50%;
    background-color: var(--r7-paper);
}

[data-demo-theme="railway-transport"] .r7-tech-card__title {
    margin: 0 0 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
}

[data-demo-theme="railway-transport"] .r7-tech-card__body {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--r7-steel);
}

[data-demo-theme="railway-transport"] .r7-tech-card__line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--r7-signal);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-demo-theme="railway-transport"] .r7-tech-card:hover .r7-tech-card__line {
    transform: scaleX(1);
}

/* [07] Night Window */
[data-demo-theme="railway-transport"] .r7-night-window__frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 21 / 9;
    min-height: 380px;
    box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.8), 0 20px 48px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    padding: var(--r7-page-pad);
}

[data-demo-theme="railway-transport"] .r7-night-window__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

[data-demo-theme="railway-transport"] .r7-night-window__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(26, 30, 42, 0.72) 0%, rgba(26, 30, 42, 0.9) 100%);
    z-index: 1;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-night-window__bg::after,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-night-window__bg::after {
    background: radial-gradient(circle at 30% 50%, rgba(10, 13, 20, 0.78) 0%, rgba(10, 13, 20, 0.94) 100%);
}

[data-demo-theme="railway-transport"] .r7-night-window__content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    max-width: 60ch;
}

[data-demo-theme="railway-transport"] .r7-night-window__essay {
    margin: 20px 0 0;
    padding: 0;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(15px, 1.4vw, 22px);
    line-height: 1.8;
}

[data-demo-theme="railway-transport"] .r7-night-window__essay p {
    margin: 0;
}

/* [08] Urban Mobility Ledger */
[data-demo-theme="railway-transport"] .r7-ledger__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 36px;
}

[data-demo-theme="railway-transport"] .r7-ledger-item {
    background: var(--r7-white);
    border: 1px solid var(--r7-concrete);
    border-radius: 8px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-ledger-item,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-ledger-item {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-ledger-unit {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--r7-amber);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-ledger-value {
    display: block;
    margin: 12px 0;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 800;
    color: var(--r7-signal);
    line-height: 1;
}

[data-demo-theme="railway-transport"] .r7-ledger-label {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 700;
}

[data-demo-theme="railway-transport"] .r7-ledger-note {
    margin: 0;
    font-size: 12px;
    color: var(--r7-steel);
}

/* [09] Horizontal Swipe */
[data-demo-theme="railway-transport"] .r7-swipe__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

[data-demo-theme="railway-transport"] .r7-swipe__nav {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 12px;
}

[data-demo-theme="railway-transport"] .r7-swipe__index {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--r7-steel);
}

[data-demo-theme="railway-transport"] .r7-swipe__btns {
    display: flex;
    gap: 8px;
}

[data-demo-theme="railway-transport"] .r7-swipe-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--r7-concrete);
    background: var(--r7-white);
    color: var(--r7-ink);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background-color 0.2s, border-color 0.2s;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-swipe-btn,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-swipe-btn {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #f2ede3 !important;
}

[data-demo-theme="railway-transport"] .r7-swipe-btn:hover {
    border-color: var(--r7-signal);
    color: var(--r7-signal);
}

[data-demo-theme="railway-transport"] .r7-swipe__shell {
    position: relative;
    margin-top: 32px;
}

[data-demo-theme="railway-transport"] .r7-swipe__track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    padding-bottom: 24px;
    cursor: grab;
    user-select: none;
}

[data-demo-theme="railway-transport"] .r7-swipe__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

[data-demo-theme="railway-transport"] .r7-swipe__track::-webkit-scrollbar {
    display: none;
}

[data-demo-theme="railway-transport"] .r7-swipe-card {
    flex: 0 0 clamp(280px, 28vw, 420px);
    background: var(--r7-white);
    border: 1px solid var(--r7-concrete);
    border-radius: 8px;
    overflow: hidden;
    scroll-snap-align: start;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-swipe-card,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-swipe-card {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-swipe-card__visual {
    aspect-ratio: 16 / 10;
}

[data-demo-theme="railway-transport"] .r7-swipe-card__info {
    padding: 24px;
}

[data-demo-theme="railway-transport"] .r7-swipe-card__loc {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--r7-amber);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="railway-transport"] .r7-swipe-card__title {
    margin: 8px 0 10px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(18px, 1.5vw, 22px);
    font-weight: 700;
}

[data-demo-theme="railway-transport"] .r7-swipe-card__caption {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--r7-steel);
}

[data-demo-theme="railway-transport"] .r7-swipe__scrollbar {
    height: 2px;
    background: var(--r7-concrete);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

[data-demo-theme="railway-transport"] .r7-swipe__progress {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 16.666%;
    background: var(--r7-signal);
    transition: left 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* [10] People on Track */
[data-demo-theme="railway-transport"] .r7-people__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 36px;
}

[data-demo-theme="railway-transport"] .r7-people-card {
    background: var(--r7-white);
    border: 1px solid var(--r7-concrete);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-people-card,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-people-card {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-people-card__photo {
    aspect-ratio: 1 / 1;
}

[data-demo-theme="railway-transport"] .r7-people-card__copy {
    padding: 32px;
}

[data-demo-theme="railway-transport"] .r7-people-card__quote {
    margin: 0 0 24px;
    padding: 0;
    font-family: 'Noto Serif KR', serif;
    font-size: 16px;
    line-height: 1.68;
    color: var(--r7-ink);
}

[data-demo-theme="railway-transport"] .r7-people-card__profile {
    border-top: 1px solid var(--r7-concrete);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

[data-demo-theme="railway-transport"] .r7-people-card__name {
    font-size: 15px;
    font-weight: 800;
}

[data-demo-theme="railway-transport"] .r7-people-card__role {
    font-size: 12px;
    color: var(--r7-steel);
}

/* [11] Signal Ribbon */
[data-demo-theme="railway-transport"] .r7-ribbon {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: var(--r7-slate);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

[data-demo-theme="railway-transport"] .r7-ribbon-item {
    position: relative;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    color: rgba(255, 255, 255, 0.4);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    transition: color 0.5s ease;
}

[data-demo-theme="railway-transport"] .r7-ribbon-item:last-child {
    border-right: 0;
}

[data-demo-theme="railway-transport"] .r7-ribbon-num {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}

[data-demo-theme="railway-transport"] .r7-ribbon-text {
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

[data-demo-theme="railway-transport"] .r7-ribbon-item.is-visible {
    color: #ffffff;
}

[data-demo-theme="railway-transport"] .r7-ribbon-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background-color: var(--r7-signal);
    transform: scaleX(0);
    transition: transform 0.5s ease;
}

[data-demo-theme="railway-transport"] .r7-ribbon-item.is-visible::after {
    transform: scaleX(1);
}

/* [12] Public Questions */
[data-demo-theme="railway-transport"] .r7-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 36px;
}

[data-demo-theme="railway-transport"] .r7-faq-item {
    background: var(--r7-white);
    border: 1px solid var(--r7-concrete);
    border-radius: 8px;
    overflow: hidden;
}

html[data-ui-theme="dark"][data-demo-theme="railway-transport"] .r7-faq-item,
html[data-ui-theme="dark"] [data-theme-panel="railway-transport"] .r7-faq-item {
    background: #171c28 !important;
    background-color: #171c28 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-demo-theme="railway-transport"] .r7-faq-item__trigger {
    width: 100%;
    min-height: 72px;
    display: grid;
    grid-template-columns: 48px 1fr 24px;
    align-items: center;
    gap: 16px;
    padding: 16px 28px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

[data-demo-theme="railway-transport"] .r7-faq-item__num {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--r7-amber);
}

[data-demo-theme="railway-transport"] .r7-faq-item__q {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

[data-demo-theme="railway-transport"] .r7-faq-item__icon {
    display: grid;
    place-items: center;
    color: var(--r7-steel);
    transition: transform 0.3s ease;
}

[data-demo-theme="railway-transport"] .r7-faq-item.is-open .r7-faq-item__icon {
    transform: rotate(180deg);
}

[data-demo-theme="railway-transport"] .r7-faq-item__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-demo-theme="railway-transport"] .r7-faq-item.is-open .r7-faq-item__body {
    max-height: 200px;
}

[data-demo-theme="railway-transport"] .r7-faq-item__a {
    margin: 0;
    padding: 0 28px 24px 92px;
    font-size: 14px;
    line-height: 1.68;
    color: color-mix(in srgb, var(--r7-ink) 72%, transparent);
}

[data-demo-theme="railway-transport"] .r7-faq__notice {
    margin-top: 20px;
    font-size: 12px;
    color: var(--r7-steel);
}

/* [13] Closing / Subscribe */
[data-demo-theme="railway-transport"] .r7-footer {
    background-color: var(--r7-slate);
    color: #ffffff;
    padding: var(--r7-section-gap) var(--r7-page-pad) 24px;
    overflow: hidden;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

[data-demo-theme="railway-transport"] .r7-footer__content {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 64px;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

[data-demo-theme="railway-transport"] .r7-footer__title {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--r7-amber);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

[data-demo-theme="railway-transport"] .r7-footer__colophon p {
    margin: 8px 0 0;
    font-size: 13px;
    opacity: 0.6;
}

[data-demo-theme="railway-transport"] .r7-footer__colophon p:first-of-type {
    margin-top: 0;
}

[data-demo-theme="railway-transport"] .r7-footer__next strong {
    display: block;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.3;
}

[data-demo-theme="railway-transport"] .r7-footer__actions {
    display: flex;
    gap: 12px;
}

[data-demo-theme="railway-transport"] .r7-footer__wordmark {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(48px, 12vw, 160px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.03);
    letter-spacing: -0.02em;
    line-height: 1;
    margin-top: 48px;
    user-select: none;
    text-align: center;
    white-space: nowrap;
}

/* Scroll Animation Reveal */
[data-demo-theme="railway-transport"] [data-r7-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-demo-theme="railway-transport"] [data-r7-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@supports (animation-timeline: view()) {
    [data-demo-theme="railway-transport"] [data-r7-reveal] {
        animation: r7-view-reveal both;
        animation-timeline: view();
        animation-range: entry 10% cover 30%;
    }
}

@keyframes r7-view-reveal {
    from { opacity: 0; transform: translateY(32px); }
    to { opacity: 1; transform: none; }
}

/* Responsive Styles */
@media (max-width: 991px) {
    [data-demo-theme="railway-transport"] .r7-hero__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    
    [data-demo-theme="railway-transport"] .r7-hero__signal-rail {
        display: none;
    }
    
    [data-demo-theme="railway-transport"] .r7-route-map,
    [data-demo-theme="railway-transport"] .r7-station-arch,
    [data-demo-theme="railway-transport"] .r7-footer__content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    [data-demo-theme="railway-transport"] .r7-tech__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    [data-demo-theme="railway-transport"] .r7-ledger__grid,
    [data-demo-theme="railway-transport"] .r7-people__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    [data-demo-theme="railway-transport"] .r7-ticker {
        grid-template-columns: 1fr;
        height: auto;
        padding: 12px 0;
    }
    
    [data-demo-theme="railway-transport"] .r7-ticker__title {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 8px 24px;
        align-items: center;
    }
    
    [data-demo-theme="railway-transport"] .r7-ticker__scroll {
        padding: 12px 0;
    }
    
    [data-demo-theme="railway-transport"] .r7-tech__grid {
        grid-template-columns: 1fr;
    }
    
    [data-demo-theme="railway-transport"] .r7-ribbon {
        grid-template-columns: 1fr;
    }
    
    [data-demo-theme="railway-transport"] .r7-ribbon-item {
        min-height: 64px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    
    [data-demo-theme="railway-transport"] .r7-ribbon-item::after {
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        height: auto;
        transform: scaleY(0);
    }
    
    [data-demo-theme="railway-transport"] .r7-ribbon-item.is-visible::after {
        transform: scaleY(1);
    }
    
    [data-demo-theme="railway-transport"] .r7-faq-item__trigger {
        grid-template-columns: 24px 1fr 24px;
        padding: 16px 18px;
    }
    
    [data-demo-theme="railway-transport"] .r7-faq-item__a {
        padding: 0 18px 20px 58px;
    }
}

/* Mobile Preview Framing */
html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-landing {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-hero {
    min-height: 720px !important;
    padding: 24px 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-hero__layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-hero__signal-rail {
    display: none !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-route-map,
html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-station-arch,
html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-footer__content {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-tech__grid {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-ledger__grid,
html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-people__grid {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-ribbon {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-ribbon-item {
    min-height: 64px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-ribbon-item::after {
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 3px !important;
    height: auto !important;
    transform: scaleY(0) !important;
}

html[data-preview-device="mobile"][data-demo-theme="railway-transport"] .r7-ribbon-item.is-visible::after {
    transform: scaleY(1) !important;
}

/* Prefers Reduced Motion override */
@media (prefers-reduced-motion: reduce) {
    [data-demo-theme="railway-transport"] [data-r7-reveal] {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    
    [data-demo-theme="railway-transport"] .r7-visual__slide {
        transition: none !important;
    }
    
    [data-demo-theme="railway-transport"] .r7-ticker__list {
        animation-duration: 0s !important;
        overflow-x: auto;
    }
}

/* ==========================================================================
   Theme 08: Corporate Webzine (People & Pulse)
   ========================================================================== */

[data-demo-theme="corporate-webzine"] {
    --c8-warm-gray: #2c2926;
    --c8-ink:       #1a1714;
    --c8-indigo:    #5b6abf;
    --c8-coral:     #e8725c;
    --c8-amber:     #f0b54a;
    --c8-mint:      #6ec5a8;
    --c8-sage:      #8fa889;
    --c8-cream:     #faf6f0;
    --c8-blush:     #f9ede6;
    --c8-white:     #fefdfb;
    
    --c8-section-gap: clamp(60px, 8vw, 120px);
    --c8-page-pad: clamp(24px, 6vw, 100px);
    
    color: var(--c8-ink);
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"],
html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"],
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] {
    --c8-warm-gray: #0e0c0a;
    --c8-ink:       #f4efe7;
    --c8-indigo:    #8b9aef;
    --c8-coral:     #ff8f77;
    --c8-amber:     #ffc95c;
    --c8-mint:      #8fdcc2;
    --c8-sage:      #a8c4a2;
    --c8-cream:     #16130f;
    --c8-blush:     #1a1612;
    --c8-white:     #211b16;
    color: var(--c8-ink);
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-snapshot-card,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-mosaic-cell,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-swipe-card,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-timeline-node__card,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-voices-card,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-ledger-item,
html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-faq-item,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-snapshot-card,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-mosaic-cell,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-swipe-card,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-timeline-node__card,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-voices-card,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-ledger-item,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-faq-item {
    background: var(--c8-white);
    border-color: rgba(255, 255, 255, 0.08);
}

/* Image Containers & Premium Placeholders */
[data-demo-theme="corporate-webzine"] .c8-image-container {
    position: relative;
    overflow: hidden;
    background-color: var(--c8-blush);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

[data-demo-theme="corporate-webzine"] .c8-image-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--c8-indigo);
    background: linear-gradient(135deg, color-mix(in srgb, var(--c8-blush) 24%, transparent), color-mix(in srgb, var(--c8-cream) 15%, transparent));
    padding: 20px;
    text-align: center;
    z-index: 1;
    opacity: 0.6;
}

[data-demo-theme="corporate-webzine"] .c8-placeholder-icon svg {
    width: 32px;
    height: 32px;
    stroke: var(--c8-indigo);
    stroke-width: 1.5;
}

[data-demo-theme="corporate-webzine"] .c8-placeholder-text {
    font-size: 12px;
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.05em;
    font-weight: 600;
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-image-container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 2;
    transition: opacity 0.5s ease;
}

[data-demo-theme="corporate-webzine"] .c8-image-container img.is-loaded {
    opacity: 1;
}

/* Base Layout */
[data-demo-theme="corporate-webzine"] .c8-landing {
    position: relative;
    background-color: var(--c8-cream);
    transition: background-color 0.3s ease;
}

/* Visual Wrapper (Integrated Hero Background) */
[data-demo-theme="corporate-webzine"] .c8-landing__visual-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 88vh !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip-path: inset(0 0 0 0 round 0);
    background: var(--c8-blush);
    z-index: 0;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-landing__visual-wrapper {
    height: 720px !important;
    clip-path: inset(0 0 0 0 round 0);
}

/* [실험적 기술 적용] CSS Scroll-driven Parallax */
@supports (animation-timeline: scroll()) {
    [data-demo-theme="corporate-webzine"] .c8-landing__visual-wrapper[data-c8-parallax="scroll"] {
        transform: translateY(0);
        animation: c8-visual-parallax linear;
        animation-timeline: scroll();
        animation-range: exit 0% exit 100%;
    }
}

@keyframes c8-visual-parallax {
    to { transform: translateY(80px); }
}

[data-demo-theme="corporate-webzine"] .c8-visual__bokeh {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.25;
    z-index: 1;
}

[data-demo-theme="corporate-webzine"] .c8-visual__stage {
    position: absolute;
    inset: 0;
    z-index: 0;
}

[data-demo-theme="corporate-webzine"] .c8-visual__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: 
        opacity 0.9s cubic-bezier(0.2, 0.8, 0.2, 1), 
        --c8-blur-amount 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 0;
    filter: blur(var(--c8-blur-amount));
}

[data-demo-theme="corporate-webzine"] .c8-visual__slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
    --c8-blur-amount: 0px;
}

[data-demo-theme="corporate-webzine"] .c8-visual__slide.is-leaving {
    z-index: 1;
    --c8-blur-amount: 10px;
}

[data-demo-theme="corporate-webzine"] .c8-visual__image-box {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
}

[data-demo-theme="corporate-webzine"] .c8-visual__overlay {
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(90deg, rgba(249, 237, 230, 0.9) 0%, rgba(249, 237, 230, 0.4) 40%, rgba(249, 237, 230, 0.72) 100%),
        radial-gradient(circle at var(--c8-pointer-x, 50%) var(--c8-pointer-y, 50%), rgba(232, 114, 92, 0.12) 0%, transparent 40%);
    z-index: 3;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-visual__overlay {
    background: 
        linear-gradient(90deg, rgba(26, 22, 18, 0.92) 0%, rgba(26, 22, 18, 0.45) 40%, rgba(26, 22, 18, 0.78) 100%),
        radial-gradient(circle at var(--c8-pointer-x, 50%) var(--c8-pointer-y, 50%), rgba(255, 143, 119, 0.14) 0%, transparent 40%);
}

[data-demo-theme="corporate-webzine"] .c8-visual__pulses {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
}

[data-demo-theme="corporate-webzine"] .c8-visual__pulse-node {
    position: absolute;
    width: 24px;
    height: 24px;
    border: 1px solid var(--c8-coral);
    background-color: color-mix(in srgb, var(--c8-coral) 12%, transparent);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0.2);
    opacity: 1;
    filter: blur(1px);
    animation: c8-pulse-grow 0.76s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes c8-pulse-grow {
    to {
        transform: translate(-50%, -50%) scale(4.2);
        opacity: 0;
        filter: blur(8px);
    }
}

/* [01] People Hero */
[data-demo-theme="corporate-webzine"] .c8-hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px var(--c8-page-pad) 48px;
    z-index: 2;
    color: var(--c8-warm-gray);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-hero {
    color: #ffffff;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero {
    min-height: 720px;
}

[data-demo-theme="corporate-webzine"] .c8-hero__masthead {
    display: flex;
    align-items: baseline;
    gap: 16px;
    min-height: 48px;
}

[data-demo-theme="corporate-webzine"] .c8-logo {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

[data-demo-theme="corporate-webzine"] .c8-masthead-desc {
    font-size: 12px;
    opacity: 0.6;
    letter-spacing: -0.02em;
}

[data-demo-theme="corporate-webzine"] .c8-hero__layout {
    display: grid;
    grid-template-columns: minmax(200px, 0.8fr) minmax(440px, 1.2fr) minmax(140px, 0.6fr);
    align-items: end;
    gap: 40px;
    padding-top: 40px;
    flex-grow: 1;
}

[data-demo-theme="corporate-webzine"] .c8-hero__brief {
    padding-left: 18px;
    border-left: 2px solid var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-tag {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--c8-indigo);
    letter-spacing: 0.05em;
}

[data-demo-theme="corporate-webzine"] .c8-hero__issue-title {
    margin: 8px 0 16px;
    font-family: 'Outfit', sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
}

[data-demo-theme="corporate-webzine"] .c8-hero__meta-info {
    font-size: 12px;
    opacity: 0.6;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Dots Indicator */
[data-demo-theme="corporate-webzine"] .c8-hero__dots {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 36px;
}

[data-demo-theme="corporate-webzine"] .c8-hero__dot {
    display: flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: 0;
    color: rgba(44, 41, 38, 0.36);
    cursor: pointer;
    padding: 0;
    text-align: left;
    transition: color 0.3s ease;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-hero__dot {
    color: rgba(255, 255, 255, 0.36);
}

[data-demo-theme="corporate-webzine"] .c8-hero__dot span {
    font-size: 11px;
    font-family: 'Outfit', sans-serif;
}

[data-demo-theme="corporate-webzine"] .c8-dot-num {
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-dot-bar {
    position: relative;
    width: 24px;
    height: 2px;
    background: currentColor;
    opacity: 0.5;
    overflow: hidden;
    transition: width 0.3s ease;
}

[data-demo-theme="corporate-webzine"] .c8-dot-progress {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-hero__dot.is-active .c8-dot-progress {
    width: 100%;
}

[data-demo-theme="corporate-webzine"] .c8-dot-label {
    font-size: 10px;
    font-family: 'Outfit', sans-serif;
    letter-spacing: 0.08em;
    opacity: 0.8;
}

[data-demo-theme="corporate-webzine"] .c8-hero__dot.is-active,
[data-demo-theme="corporate-webzine"] .c8-hero__dot:hover {
    color: var(--c8-warm-gray);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-hero__dot.is-active,
html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-hero__dot:hover {
    color: #ffffff;
}

[data-demo-theme="corporate-webzine"] .c8-hero__dot.is-active .c8-dot-bar {
    width: 48px;
    color: var(--c8-coral);
    opacity: 1;
}

/* Copy Panel */
[data-demo-theme="corporate-webzine"] .c8-hero__copy {
    position: relative;
    min-height: 280px;
}

[data-demo-theme="corporate-webzine"] .c8-hero__copy-panel {
    display: none;
}

[data-demo-theme="corporate-webzine"] .c8-hero__copy-panel.is-active {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    animation: c8-copy-reveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes c8-copy-reveal {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[data-demo-theme="corporate-webzine"] .c8-hero__copy-panel .c8-eyebrow {
    color: var(--c8-coral);
    margin-bottom: 12px;
}

[data-demo-theme="corporate-webzine"] .c8-hero__title {
    margin: 0 0 16px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--c8-warm-gray);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-hero__title {
    color: #ffffff;
}

[data-demo-theme="corporate-webzine"] .c8-hero__title span {
    display: inline-block;
    margin-right: 0.12em;
}

[data-demo-theme="corporate-webzine"] .c8-hero__subtitle {
    margin: 0 0 28px;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.65;
    max-width: 42ch;
    opacity: 0.85;
}

/* Mood Rail */
[data-demo-theme="corporate-webzine"] .c8-hero__mood-rail {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-mood-item {
    position: relative;
    padding: 8px 0 8px 16px;
    color: rgba(44, 41, 38, 0.36);
    border-left: 1px solid rgba(44, 41, 38, 0.15);
    transition: color 0.3s, border-color 0.3s;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-mood-item {
    color: rgba(255, 255, 255, 0.36);
    border-left-color: rgba(255, 255, 255, 0.15);
}

[data-demo-theme="corporate-webzine"] .c8-mood-item::before {
    content: "";
    position: absolute;
    left: -4px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--c8-white);
    border: 1px solid var(--c8-concrete);
    transform: translateY(-50%) scale(0.6);
    opacity: 0.5;
    transition: background-color 0.3s, transform 0.3s, opacity 0.3s;
}

[data-demo-theme="corporate-webzine"] .c8-mood-item.is-active {
    color: var(--c8-warm-gray);
    border-left-color: var(--c8-coral);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-mood-item.is-active {
    color: #ffffff;
}

[data-demo-theme="corporate-webzine"] .c8-mood-item.is-active::before {
    background-color: var(--c8-coral);
    transform: translateY(-50%) scale(1.4);
    opacity: 1;
    box-shadow: 0 0 8px var(--c8-coral);
}

/* General Sections */
[data-demo-theme="corporate-webzine"] .c8-section {
    padding: var(--c8-section-gap) var(--c8-page-pad);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

[data-demo-theme="corporate-webzine"] .c8-eyebrow {
    display: inline-flex;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--c8-coral);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-section-title {
    margin: 12px 0 16px;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(26px, 3.2vw, 42px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

[data-demo-theme="corporate-webzine"] .c8-section-desc {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.72;
    color: color-mix(in srgb, var(--c8-ink) 76%, transparent);
    max-width: 72ch;
}

/* Buttons */
[data-demo-theme="corporate-webzine"] .c8-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    font-family: var(--showroom-font);
    font-size: 13px;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
    border: 1px solid transparent;
}

[data-demo-theme="corporate-webzine"] .c8-btn--accent {
    background-color: var(--c8-coral);
    color: #ffffff;
}

[data-demo-theme="corporate-webzine"] .c8-btn--accent:hover {
    background-color: color-mix(in srgb, var(--c8-coral) 85%, #000);
}

[data-demo-theme="corporate-webzine"] .c8-btn--outline {
    border-color: rgba(255, 255, 255, 0.3);
    background: transparent;
    color: #ffffff;
}

[data-demo-theme="corporate-webzine"] .c8-btn--outline:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #ffffff;
}

/* [02] Culture Snapshot */
[data-demo-theme="corporate-webzine"] .c8-snapshot {
    position: relative;
    z-index: 3;
    margin-top: -64px;
    overflow-x: clip;
}

[data-demo-theme="corporate-webzine"] .c8-ticker + .c8-snapshot {
    margin-top: 0;
    padding-top: clamp(44px, 6vw, 76px);
}

[data-demo-theme="corporate-webzine"] .c8-snapshot__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 26px;
    padding-top: 10px;
    overflow: visible;
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card {
    position: relative;
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    padding: 36px;
    box-shadow: 0 24px 60px rgba(44, 41, 38, 0.04);
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-snapshot-card {
    border-color: rgba(255, 255, 255, 0.05);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.15);
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card:hover {
    transform: translateY(-8px);
    border-color: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__no {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--c8-indigo);
    display: block;
    margin-bottom: 20px;
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__title {
    margin: 0 0 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__body {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: var(--c8-steel);
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__marquee {
    display: flex;
    gap: 28px;
    width: max-content;
    margin-top: 18px;
    color: color-mix(in srgb, var(--c8-coral) 70%, var(--c8-ink));
    font-family: 'Noto Serif KR', serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    opacity: 0.68;
    animation: c8-snapshot-marquee 18s linear infinite;
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__marquee span {
    display: inline-block;
}

@keyframes c8-snapshot-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% - 14px)); }
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card__bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: var(--c8-coral);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-demo-theme="corporate-webzine"] .c8-snapshot-card:hover .c8-snapshot-card__bar {
    transform: scaleX(1);
}

/* [03] Cover Story */
[data-demo-theme="corporate-webzine"] .c8-cover-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

[data-demo-theme="corporate-webzine"] .c8-cover-story__visual {
    aspect-ratio: 4 / 3;
    box-shadow: 0 20px 48px rgba(44, 41, 38, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-cover-story__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

[data-demo-theme="corporate-webzine"] .c8-cover-story__disclaimer {
    margin-top: 24px;
    font-size: 11px;
    opacity: 0.5;
}

/* [04] Warm Interlude #1 */
[data-demo-theme="corporate-webzine"] .c8-interlude {
    position: relative;
    padding: 64px var(--c8-page-pad);
    background:
        linear-gradient(90deg, rgba(255, 250, 244, 0.94), rgba(255, 250, 244, 0.82)),
        url("../images/demo/webzine-themes/08-corporate-webzine/interlude-bg.webp") center / cover no-repeat;
    border-top: 1px solid var(--c8-blush);
    border-bottom: 1px solid var(--c8-blush);
    text-align: center;
    overflow: hidden;
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-interlude,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-interlude {
    background:
        linear-gradient(90deg, rgba(22, 19, 15, 0.94), rgba(26, 22, 18, 0.84)),
        url("../images/demo/webzine-themes/08-corporate-webzine/interlude-bg.webp") center / cover no-repeat;
    border-top-color: rgba(255, 255, 255, 0.08);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

[data-demo-theme="corporate-webzine"] .c8-interlude__track {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 24px;
    display: flex;
    align-items: center;
    opacity: 0.15;
}

[data-demo-theme="corporate-webzine"] .c8-wave-svg {
    width: 100%;
    height: 100%;
    color: var(--c8-ink);
}

[data-demo-theme="corporate-webzine"] .c8-interlude-en {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--c8-coral);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-interlude-kr {
    margin: 16px 0 0;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(18px, 2.4vw, 30px);
    font-weight: 700;
    line-height: 1.4;
}

/* [05] Team Mosaic */
[data-demo-theme="corporate-webzine"] .c8-mosaic__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(180px, auto);
    gap: 20px;
    margin-top: 36px;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--c8-blush);
    background: var(--c8-white);
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(44, 41, 38, 0.02);
    transition: border-color 0.4s, box-shadow 0.4s;
    isolation: isolate;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58%;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(20, 18, 16, 0) 0%,
        rgba(20, 18, 16, 0.58) 46%,
        rgba(20, 18, 16, 0.9) 100%
    );
    opacity: 0.72;
    transition: opacity 0.35s ease, height 0.35s ease;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-mosaic-cell {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell--large {
    grid-column: span 2;
    grid-row: span 2;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell--wide {
    grid-column: span 2;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 0 !important;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__bg img {
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(26, 23, 20, 0.1) 0%, rgba(26, 23, 20, 0.88) 100%);
    z-index: 1;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    pointer-events: none;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__no {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--c8-coral);
    display: block;
    margin-bottom: 6px;
    opacity: 0.9;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__name {
    margin: 0 0 8px;
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell__desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    opacity: 0.8;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell:hover {
    box-shadow: 0 20px 48px rgba(44, 41, 38, 0.08);
    border-color: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell:hover::after {
    height: 68%;
    opacity: 1;
}

[data-demo-theme="corporate-webzine"] .c8-mosaic-cell:hover .c8-mosaic-cell__bg img {
    transform: scale(1.08);
}

/* [06] Workspace Gallery */
[data-demo-theme="corporate-webzine"] .c8-swipe__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__nav {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 12px;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__index {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--c8-steel);
}

[data-demo-theme="corporate-webzine"] .c8-swipe__btns {
    display: flex;
    gap: 8px;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--c8-blush);
    background: var(--c8-white);
    color: var(--c8-ink);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-btn:hover {
    border-color: var(--c8-coral);
    color: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-swipe__shell {
    position: relative;
    margin-top: 32px;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    padding-bottom: 24px;
    cursor: grab;
    user-select: none;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__track::-webkit-scrollbar {
    display: none;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card {
    flex: 0 0 clamp(280px, 26vw, 390px);
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    overflow: hidden;
    scroll-snap-align: start;
    box-shadow: 0 10px 30px rgba(44, 41, 38, 0.02);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-swipe-card {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card__visual {
    aspect-ratio: 1.5;
    border-radius: 0 !important;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card__info {
    padding: 24px;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card__no {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--c8-indigo);
    letter-spacing: 0.05em;
    display: block;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card__title {
    margin: 8px 0 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-swipe-card__caption {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--c8-steel);
}

[data-demo-theme="corporate-webzine"] .c8-swipe__scrollbar {
    height: 2px;
    background: var(--c8-blush);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

[data-demo-theme="corporate-webzine"] .c8-swipe__progress {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 16.666%;
    background: var(--c8-coral);
    transition: left 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* [07] Growth Timeline */
[data-demo-theme="corporate-webzine"] .c8-timeline__wrapper {
    position: relative;
    margin-top: 60px;
    padding: 20px 0;
}

[data-demo-theme="corporate-webzine"] .c8-timeline__line-bg {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--c8-blush);
    transform: translateX(-50%);
    z-index: 1;
}

[data-demo-theme="corporate-webzine"] .c8-timeline__line-fill {
    width: 100%;
    height: 0;
    background-color: var(--c8-coral);
    transition: height 0.1s linear;
}

/* [실험적 기술 적용] CSS Scroll-driven Timeline Line */
@supports (animation-timeline: scroll()) {
    [data-demo-theme="corporate-webzine"] .c8-timeline__line-fill[data-c8-timeline-progress] {
        height: 100%;
        animation: c8-line-grow linear both;
        animation-timeline: scroll();
        animation-range: entry 10% exit 80%;
    }
}

@keyframes c8-line-grow {
    from { height: 0; }
    to { height: 100%; }
}

[data-demo-theme="corporate-webzine"] .c8-timeline__list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__dot {
    position: absolute;
    left: 50%;
    top: 24px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--c8-white);
    border: 2px solid var(--c8-blush);
    transform: translate(-50%, -50%);
    z-index: 3;
    transition: background-color 0.4s, border-color 0.4s, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node.is-active .c8-timeline-node__dot,
[data-demo-theme="corporate-webzine"] .c8-timeline-node.is-visible .c8-timeline-node__dot {
    background-color: var(--c8-coral);
    border-color: var(--c8-coral);
    transform: translate(-50%, -50%) scale(1.4);
    box-shadow: 0 0 10px var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__card {
    grid-column: 1;
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    padding: 28px;
    max-width: 520px;
    justify-self: end;
    margin-right: 48px;
    box-shadow: 0 10px 30px rgba(44, 41, 38, 0.01);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-timeline-node__card {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node.is-active .c8-timeline-node__card,
[data-demo-theme="corporate-webzine"] .c8-timeline-node.is-visible .c8-timeline-node__card {
    opacity: 1;
    transform: translateY(0);
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node--reverse .c8-timeline-node__card {
    grid-column: 2;
    justify-self: start;
    margin-right: 0;
    margin-left: 48px;
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__year {
    font-family: 'Outfit', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__title {
    font-size: 16px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-timeline-node__body {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--c8-steel);
}

/* [09] Voices */
[data-demo-theme="corporate-webzine"] .c8-voices__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 36px;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card {
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(44, 41, 38, 0.01);
    transition: border-color 0.4s ease;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-voices-card {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-voices-card:hover {
    border-color: var(--c8-coral);
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__visual {
    aspect-ratio: 1.2;
    border-radius: 0 !important;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__visual img {
    filter: blur(4px) grayscale(0.2);
    transition: filter 0.5s ease;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card:hover .c8-voices-card__visual img {
    filter: blur(0) grayscale(0);
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__copy {
    padding: 32px;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__quote {
    margin: 0 0 24px;
    padding: 0;
    font-family: 'Noto Serif KR', serif;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--c8-ink);
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__profile {
    border-top: 1px solid var(--c8-blush);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__name {
    font-size: 15px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-voices-card__role {
    font-size: 12px;
    color: var(--c8-steel);
}

/* [10] Wellness & Benefits */
[data-demo-theme="corporate-webzine"] .c8-ledger__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 36px;
}

[data-demo-theme="corporate-webzine"] .c8-ledger-item {
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    padding: 36px;
    box-shadow: 0 10px 30px rgba(44, 41, 38, 0.01);
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-ledger-item {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-ledger-unit {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--c8-indigo);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-ledger-value {
    display: block;
    margin: 12px 0;
    font-family: 'Outfit', sans-serif;
    font-size: clamp(32px, 3.5vw, 44px);
    font-weight: 800;
    color: var(--c8-coral);
    line-height: 1;
}

[data-demo-theme="corporate-webzine"] .c8-ledger-label {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 800;
}

[data-demo-theme="corporate-webzine"] .c8-ledger-note {
    margin: 0;
    font-size: 12px;
    color: var(--c8-steel);
}

/* [11] Essay Strip */
[data-demo-theme="corporate-webzine"] .c8-ticker {
    background:
        linear-gradient(90deg, rgba(255, 250, 244, 0.96), rgba(249, 237, 230, 0.9)),
        url("../images/demo/webzine-themes/08-corporate-webzine/essay-strip-bg.webp") center / cover no-repeat;
    color: var(--c8-ink);
    min-height: 64px;
    overflow: hidden;
    border-top: 1px solid rgba(232, 114, 92, 0.16);
    border-bottom: 1px solid rgba(232, 114, 92, 0.16);
    display: flex;
    align-items: center;
    position: relative;
    z-index: 4;
    box-shadow: 0 18px 50px rgba(44, 41, 38, 0.05);
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-ticker,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-ticker {
    background:
        linear-gradient(90deg, rgba(22, 19, 15, 0.96), rgba(26, 22, 18, 0.9)),
        url("../images/demo/webzine-themes/08-corporate-webzine/essay-strip-bg.webp") center / cover no-repeat;
    border-top-color: rgba(255, 255, 255, 0.08);
    border-bottom-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

[data-demo-theme="corporate-webzine"] .c8-ticker::before,
[data-demo-theme="corporate-webzine"] .c8-ticker::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: min(12vw, 120px);
    z-index: 2;
    pointer-events: none;
}

[data-demo-theme="corporate-webzine"] .c8-ticker::before {
    left: 0;
    background: linear-gradient(90deg, rgba(255, 250, 244, 1), rgba(255, 250, 244, 0));
}

[data-demo-theme="corporate-webzine"] .c8-ticker::after {
    right: 0;
    background: linear-gradient(270deg, rgba(249, 237, 230, 1), rgba(249, 237, 230, 0));
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-ticker::before,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-ticker::before {
    background: linear-gradient(90deg, rgba(22, 19, 15, 1), rgba(22, 19, 15, 0));
}

html[data-ui-theme="dark"][data-demo-theme="corporate-webzine"] .c8-ticker::after,
html[data-ui-theme="dark"] [data-theme-panel="corporate-webzine"] .c8-ticker::after {
    background: linear-gradient(270deg, rgba(26, 22, 18, 1), rgba(26, 22, 18, 0));
}

[data-demo-theme="corporate-webzine"] .c8-ticker__scroll {
    overflow: hidden;
    white-space: nowrap;
    display: flex;
    align-items: center;
    width: 100%;
}

[data-demo-theme="corporate-webzine"] .c8-ticker__list {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: max-content;
    will-change: transform;
    animation: c8-ticker-anim 32s linear infinite;
}

[data-demo-theme="corporate-webzine"] .c8-ticker:hover .c8-ticker__list {
    animation-play-state: paused;
}

@keyframes c8-ticker-anim {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

[data-demo-theme="corporate-webzine"] .c8-ticker-item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: clamp(22px, 3vw, 40px);
    padding-right: clamp(22px, 3vw, 40px);
}

[data-demo-theme="corporate-webzine"] .c8-ticker-item span {
    font-family: 'Noto Serif KR', serif;
    font-style: italic;
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 700;
    color: color-mix(in srgb, var(--c8-ink) 76%, var(--c8-coral));
    opacity: 0.9;
}

[data-demo-theme="corporate-webzine"] .c8-ticker-item i {
    font-size: 11px;
    color: var(--c8-coral);
    opacity: 0.8;
}

/* [12] Public Questions */
[data-demo-theme="corporate-webzine"] .c8-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 36px;
}

[data-demo-theme="corporate-webzine"] .c8-faq-item {
    background: var(--c8-white);
    border: 1px solid var(--c8-blush);
    border-radius: 12px;
    overflow: hidden;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-faq-item {
    border-color: rgba(255, 255, 255, 0.05);
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__trigger {
    width: 100%;
    min-height: 72px;
    display: grid;
    grid-template-columns: 48px 1fr 24px;
    align-items: center;
    gap: 16px;
    padding: 16px 28px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__num {
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 800;
    color: var(--c8-indigo);
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__q {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__icon {
    display: grid;
    place-items: center;
    color: var(--c8-steel);
    transition: transform 0.3s ease;
}

[data-demo-theme="corporate-webzine"] .c8-faq-item.is-open .c8-faq-item__icon {
    transform: rotate(180deg);
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-demo-theme="corporate-webzine"] .c8-faq-item.is-open .c8-faq-item__body {
    max-height: 200px;
}

[data-demo-theme="corporate-webzine"] .c8-faq-item__a {
    margin: 0;
    padding: 0 28px 24px 92px;
    font-size: 14px;
    line-height: 1.68;
    color: color-mix(in srgb, var(--c8-ink) 72%, transparent);
}

[data-demo-theme="corporate-webzine"] .c8-faq__notice {
    margin-top: 20px;
    font-size: 12px;
    color: var(--c8-steel);
}

/* [13] Next Issue Teaser */
[data-demo-theme="corporate-webzine"] .c8-teaser {
    position: relative;
    height: 72vh;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: inset 0 0 50px rgba(26, 23, 20, 0.88);
}

[data-demo-theme="corporate-webzine"] .c8-teaser__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    border-radius: 0 !important;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__bg img {
    transition: transform 0.1s ease-out;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(26, 23, 20, 0.46) 0%, rgba(26, 23, 20, 0.84) 100%);
    z-index: 1;
}

html[data-ui-theme="dark"] [data-demo-theme="corporate-webzine"] .c8-teaser__bg::after {
    background: radial-gradient(circle, rgba(14, 12, 10, 0.52) 0%, rgba(14, 12, 10, 0.9) 100%);
}

[data-demo-theme="corporate-webzine"] .c8-teaser__content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    text-align: center;
    max-width: 660px;
    padding: 24px;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__eyebrow {
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--c8-coral);
    text-transform: uppercase;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__vol {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 13.5px;
    opacity: 0.7;
    margin-top: 8px;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__title {
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(32px, 4vw, 54px);
    font-weight: 700;
    margin: 16px 0;
    line-height: 1.25;
}

[data-demo-theme="corporate-webzine"] .c8-teaser__desc {
    margin: 0;
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.7;
    opacity: 0.8;
}

/* [14] Closing / Subscribe */
[data-demo-theme="corporate-webzine"] .c8-footer {
    background-color: var(--c8-warm-gray);
    color: #ffffff;
    padding: var(--c8-section-gap) var(--c8-page-pad) 24px;
    overflow: hidden;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

[data-demo-theme="corporate-webzine"] .c8-footer__content {
    display: grid;
    grid-template-columns: 1.12fr 0.88fr;
    gap: 64px;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

[data-demo-theme="corporate-webzine"] .c8-footer__title {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--c8-coral);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

[data-demo-theme="corporate-webzine"] .c8-footer__colophon p {
    margin: 8px 0 0;
    font-size: 13px;
    opacity: 0.6;
}

[data-demo-theme="corporate-webzine"] .c8-footer__colophon p:first-of-type {
    margin-top: 0;
}

[data-demo-theme="corporate-webzine"] .c8-footer__next strong {
    display: block;
    font-family: 'Noto Serif KR', serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.3;
}

[data-demo-theme="corporate-webzine"] .c8-footer__actions {
    display: flex;
    gap: 12px;
}

[data-demo-theme="corporate-webzine"] .c8-footer__wordmark {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(48px, 12vw, 150px);
    font-weight: 900;
    color: rgba(255, 255, 255, 0.02);
    letter-spacing: -0.01em;
    line-height: 1;
    margin-top: 48px;
    user-select: none;
    text-align: center;
    white-space: nowrap;
}

/* Scroll Animation Reveal fallback */
[data-demo-theme="corporate-webzine"] [data-c8-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

[data-demo-theme="corporate-webzine"] [data-c8-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@supports (animation-timeline: view()) {
    [data-demo-theme="corporate-webzine"] [data-c8-reveal] {
        animation: c8-view-reveal both;
        animation-timeline: view();
        animation-range: entry 10% cover 30%;
    }
}

@keyframes c8-view-reveal {
    from { opacity: 0; transform: translateY(32px); }
    to { opacity: 1; transform: none; }
}

/* Responsive Styles */
@media (max-width: 991px) {
    [data-demo-theme="corporate-webzine"] .c8-hero__layout {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-hero__mood-rail {
        display: none;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-route-map,
    [data-demo-theme="corporate-webzine"] .c8-cover-story,
    [data-demo-theme="corporate-webzine"] .c8-station-arch,
    [data-demo-theme="corporate-webzine"] .c8-footer__content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-snapshot__grid {
        grid-template-columns: 1fr;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-mosaic__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    [data-demo-theme="corporate-webzine"] .c8-ledger__grid,
    [data-demo-theme="corporate-webzine"] .c8-people__grid,
    [data-demo-theme="corporate-webzine"] .c8-voices__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    [data-demo-theme="corporate-webzine"] .c8-timeline__line-bg {
        left: 20px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-timeline-node {
        grid-template-columns: 1fr;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-timeline-node__dot {
        left: 20px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-timeline-node__card {
        grid-column: 1;
        justify-self: stretch;
        margin-right: 0;
        margin-left: 44px;
        padding: 20px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-timeline-node--reverse .c8-timeline-node__card {
        margin-left: 44px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-faq-item__trigger {
        grid-template-columns: 24px 1fr 24px;
        padding: 16px 18px;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-faq-item__a {
        padding: 0 18px 20px 58px;
    }
}

/* Mobile Preview Framing */
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-landing {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    --c8-page-pad: 16px;
    --c8-section-gap: 64px;
    overflow-x: hidden !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-landing__visual-wrapper {
    height: 720px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero {
    min-height: 720px !important;
    padding: 24px 16px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__masthead {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
    padding-top: 28px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__brief {
    width: 100% !important;
    padding-left: 14px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__dots {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    margin-top: 24px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__dot {
    flex: 0 0 auto !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-dot-label {
    display: none !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__copy {
    min-height: 240px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__title {
    font-size: 34px !important;
    line-height: 1.22 !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__subtitle {
    font-size: 14px !important;
    max-width: 30ch !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-hero__mood-rail {
    display: none !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-section {
    padding: 64px 16px !important;
    max-width: 100% !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-section-title {
    font-size: 27px !important;
    line-height: 1.3 !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-section-desc {
    font-size: 14px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-cover-story,
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-footer__content {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-cover-story__visual {
    aspect-ratio: 4 / 3 !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ticker {
    min-height: 56px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ticker-item {
    gap: 22px !important;
    padding-right: 22px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ticker-item span {
    font-size: 13px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ticker + .c8-snapshot {
    padding-top: 56px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-snapshot__grid {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-mosaic__grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-mosaic-cell {
    min-height: 260px !important;
    padding: 22px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-mosaic-cell--large,
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-mosaic-cell--wide {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ledger__grid,
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-people__grid,
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-voices__grid {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-swipe__head {
    align-items: flex-start !important;
    flex-direction: column !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-swipe-card {
    flex-basis: 82% !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline__wrapper {
    margin-top: 44px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline__line-bg {
    left: 20px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline-node {
    grid-template-columns: 1fr !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline-node__dot {
    left: 20px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline-node__card {
    grid-column: 1 !important;
    justify-self: stretch !important;
    margin-right: 0 !important;
    margin-left: 44px !important;
    padding: 20px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline-node--reverse .c8-timeline-node__card {
    margin-left: 44px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-timeline-node__header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-voices-card__copy,
html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-ledger-item {
    padding: 24px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-faq-item__trigger {
    grid-template-columns: 24px 1fr 24px !important;
    padding: 16px 18px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-faq-item__a {
    padding: 0 18px 20px 58px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-teaser {
    min-height: 560px !important;
    height: auto !important;
    padding: 80px 18px !important;
}

html[data-preview-device="mobile"][data-demo-theme="corporate-webzine"] .c8-teaser__title {
    font-size: 32px !important;
}

/* Prefers Reduced Motion override */
@media (prefers-reduced-motion: reduce) {
    [data-demo-theme="corporate-webzine"] [data-c8-reveal] {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-visual__slide {
        transition: none !important;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-ticker__list {
        animation-duration: 32s !important;
        overflow-x: hidden;
    }

    [data-demo-theme="corporate-webzine"] .c8-snapshot-card__marquee {
        animation: none !important;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-timeline__line-fill {
        animation: none !important;
        height: 100% !important;
    }
    
    [data-demo-theme="corporate-webzine"] .c8-teaser__bg img {
        animation: none !important;
        transform: none !important;
    }
}


