/* =====================================================================
   Monad Desktop Preview — Common Styles
   원본 사이트 CSS(default.css)와 충돌 없이 데스크톱 미리보기 전용
   상단 네비/푸터/플로팅의 시각/레이아웃을 통일.
   ===================================================================== */

:root {
    --md-bg: #050916;
    --md-bg-2: #07101f;
    --md-line: rgba(255, 255, 255, 0.08);
    --md-text: #ffffff;
    --md-mute: rgba(255, 255, 255, 0.7);
    --md-accent: #c81d25;
    --md-accent-2: #6c3ec1;
    --md-yellow: #fee500;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body.md-body {
    background: var(--md-bg);
    color: var(--md-text);
    font-family: 'Pretendard', 'Open Sans', 'Apple SD Gothic Neo', 'malgun gothic', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 15px;
    line-height: 1.6;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ─── 헤더 ────────────────────────────────────────────────────────── */
.md-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    height: 76px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, rgba(5, 8, 22, 0.92) 0%, rgba(5, 8, 22, 0.70) 100%);
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid var(--md-line);
}

.md-header-inner {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 32px;
}

.md-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #fff;
}

.md-logo svg {
    height: 22px;
    width: auto;
}

.md-tagline {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    font-weight: 500;
    letter-spacing: 0.04em;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    padding-left: 14px;
}

.md-nav {
    display: flex;
    justify-content: center;
    gap: 32px;
}

.md-nav a {
    position: relative;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.86);
    padding: 8px 0;
    transition: color 0.18s;
}

.md-nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    width: 28px;
    height: 2px;
    background: var(--md-accent);
    transition: transform 0.22s ease;
}

.md-nav a:hover {
    color: #fff;
}

.md-nav a:hover::after {
    transform: translateX(-50%) scaleX(1);
}

.md-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.md-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: all 0.18s;
    white-space: nowrap;
}

.md-btn-ghost {
    color: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.02);
}

.md-btn-ghost:hover {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.06);
}

.md-btn-mail {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.04);
}

.md-btn-mail:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.32);
}

.md-btn-kakao {
    color: #3a1d1d;
    background: var(--md-yellow);
    border: 1px solid var(--md-yellow);
}

.md-btn-kakao:hover {
    background: #ffe000;
    border-color: #ffe000;
    transform: translateY(-1px);
}

.md-btn-kakao svg {
    flex: 0 0 auto;
}

.md-btn-insta {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: linear-gradient(135deg, #f09433 0%, #dc2743 48%, #bc1888 100%);
    padding: 0 12px;
    font-size: 12px;
    letter-spacing: 0.01em;
}

.md-btn-insta:hover {
    filter: brightness(1.08);
    border-color: rgba(255, 255, 255, 0.34);
    transform: translateY(-1px);
}

.md-btn-insta svg {
    flex: 0 0 auto;
}

.md-btn-cta {
    color: #fff;
    background: var(--md-accent);
    border: 1px solid var(--md-accent);
}

.md-btn-cta:hover {
    background: #b21820;
    border-color: #b21820;
    transform: translateY(-1px);
}

/* ─── 본문 컨테이너 (헤더 높이 만큼 push) ────────────────────────── */
.md-main {
    padding-top: 76px;
}

/* ─── 푸터 ────────────────────────────────────────────────────────── */
.md-footer {
    background: #04060e;
    border-top: 1px solid var(--md-line);
    padding: 64px 0 36px;
    margin-top: 80px;
}

.md-footer-inner {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
}

.md-footer-logo {
    margin-bottom: 18px;
}

.md-footer-logo svg {
    width: 160px;
    height: auto;
}

.md-footer-meta {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
    line-height: 1.85;
}

.md-footer-meta strong {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 700;
    margin-right: 6px;
}

.md-footer-meta a {
    color: #fff;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    padding-bottom: 1px;
}

.md-footer-meta .dvd {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.20);
    margin: 0 10px;
    vertical-align: middle;
}

.md-footer-policy {
    margin: 18px 0 8px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}

.md-footer-policy a {
    margin-right: 16px;
    color: rgba(255, 255, 255, 0.86);
    transition: color 0.15s;
}

.md-footer-policy a:hover {
    color: #fff;
}

.md-copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.36);
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.md-footer-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    gap: 12px 32px;
    align-content: start;
    padding-top: 6px;
}

.md-footer-nav a {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    font-weight: 700;
    transition: color 0.15s;
}

.md-footer-nav a:hover {
    color: var(--md-accent);
}

/* ─── 플로팅 액션 버튼 (FAB) ─────────────────────────────────────── */
.md-fab {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9500;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.md-fab-btn {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #0b1330;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s, background 0.18s, border-color 0.18s;
}

.md-fab-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.32);
    background: #11204a;
}

.md-fab-mail {
    background: var(--md-accent);
    border-color: var(--md-accent);
}

.md-fab-mail:hover {
    background: #b21820;
    border-color: #b21820;
}

.md-fab-kakao {
    background: var(--md-yellow);
    border-color: var(--md-yellow);
}

.md-fab-kakao:hover {
    background: #ffe000;
}

.md-fab-tel {
    background: #1c8a4a;
    border-color: #1c8a4a;
}

.md-fab-tel:hover {
    background: #167a3e;
}

.md-fab-top {
    background: rgba(18, 22, 40, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.md-fab-top:hover {
    background: rgba(30, 36, 62, 0.95);
    border-color: rgba(255, 255, 255, 0.24);
    color: #fff;
}

/* 섹션 구분 여백: 케이스 섹션 삭제 후 옅은 회색 구분 영역 */
.section-spacer {
    height: 0;
    background: #f3f4f7;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* ─── 반응형 ──────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .md-nav {
        gap: 22px;
    }
    .md-tagline {
        display: none;
    }
}

@media (max-width: 900px) {
    .md-header {
        height: 60px;
    }
    .md-main {
        padding-top: 60px;
    }
    .md-header-inner {
        grid-template-columns: auto auto;
    }
    .md-nav {
        display: none;
    }
    .md-footer-inner {
        grid-template-columns: 1fr;
    }
    .md-fab-btn {
        width: 46px;
        height: 46px;
    }
}

/* ─── 원본 사이트 호환성 보정 ───────────────────────────────────── */
/* default.css 와 함께 import 되어도 충돌 없도록 — 공통 구조만 정의 */
.md-main .container {
    max-width: 1480px;
    width: min(100%, 1480px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.md-main .container.mini {
    max-width: 1200px;
    width: min(100%, 1200px);
}

.md-main img.lightbox,
.md-main a.lightbox img {
    cursor: zoom-in;
    transition: transform 0.32s ease, filter 0.3s ease;
}

.md-main a.lightbox:hover img {
    transform: scale(1.04);
    filter: brightness(1.05);
}

/* 공통 텍스트 / 섹션 */
.md-main h1,
.md-main h2,
.md-main h3,
.md-main h4,
.md-main h5,
.md-main h6 {
    color: #fff;
    margin: 0;
}

.md-main p {
    color: rgba(255, 255, 255, 0.78);
}

.md-main .text-light {
    color: #fff !important;
}

.md-main .c_lorg {
    color: var(--md-accent);
}

.md-main .c_gray {
    color: rgba(255, 255, 255, 0.55);
}

.md-main .c_lgray {
    color: rgba(255, 255, 255, 0.78);
}

.md-main .bg-dk {
    background: #07101f;
}

.md-main .bg-gr {
    background: #0a0a18;
}

.md-main .sec_dvd {
    padding: 90px 0;
}

.md-main .sec_dvd_xxs {
    padding: 30px 0;
}

.md-main .conbox {
    margin-top: 40px;
}

.md-main .conbox.conbox_xxs {
    margin-top: 14px;
}

.md-main .conbox.conbox_xs {
    margin-top: 22px;
}

.md-main .conbox.conbox_mini {
    margin-top: 56px;
}

.md-main .text-center {
    text-align: center;
}

.md-main .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
}

.md-main .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

.md-main .col-sm-3 {
    width: 25%;
}

.md-main .col-sm-6 {
    width: 50%;
}

.md-main .col-md-6 {
    width: 50%;
}

@media (max-width: 768px) {
    .md-main .col-sm-3 {
        width: 50%;
    }
    .md-main .col-sm-6,
    .md-main .col-md-6 {
        width: 100%;
    }
    .md-main .sec_dvd {
        padding: 60px 0;
    }
}

.md-main .list-unstyled {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.md-main .mb-none {
    margin-bottom: 0;
}

.md-main .font-Bold,
.md-main .font-Medium {
    font-weight: 700;
}

.md-main .font-Heavy,
.md-main .font-ExtraBold {
    font-weight: 900;
}

.md-main .font-ExtraLight {
    font-weight: 200;
}

.md-main .font-Light {
    font-weight: 300;
}

.md-main .dft {
    margin: 0;
}

.md-main .bigsize {
    font-size: clamp(28px, 3.6vw, 46px);
    line-height: 1.18;
    letter-spacing: -0.02em;
}

.md-main h2.dft.bigsize strong {
    font-weight: 900;
}

.md-main .iconWrp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.md-main .cntItem {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 22px 32px;
}

.md-main .cntItem .icon img {
    width: 56px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.85;
}

.md-main .countNum {
    color: var(--md-accent);
    font-weight: 900;
}

.md-main .video-parallax {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

.md-main .vdo {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

.md-main .phoneItem {
    position: relative;
    max-width: 360px;
    margin: 0 auto;
}

.md-main .phoneItem .vdo {
    border-radius: 32px;
}

.md-main .phoneItem .phone_back,
.md-main .phoneItem .phone_front {
    position: absolute;
    inset: 0;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.md-main .imgTablet {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    border-radius: 14px;
}

.md-main .logo_big {
    display: block;
    width: 100%;
    opacity: 0.06;
}

.md-main .stit {
    margin-bottom: 24px;
}

.md-main .stit .topTxt {
    color: var(--md-accent);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.md-main .stit h2,
.md-main .stit h3 {
    color: #fff;
}

.md-main .fbox.long.fx {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 56px;
}

@media (max-width: 900px) {
    .md-main .fbox.long.fx {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

.md-main .endlessRiverList {
    display: flex;
    gap: 24px;
    align-items: center;
    padding: 18px 0;
}

.md-main .endlessRiverList li {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 20px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.md-main .endlessRiverList li img {
    max-height: 36px;
    width: auto;
    opacity: 0.86;
    filter: brightness(0) invert(1);
}

/* lightbox 기본 — magnific popup 가 적용되기 전까진 일반 링크 */
.md-main .viewCursor img {
    cursor: zoom-in;
}

/* 좌우 양쪽 마진을 가진 작은 컬렉션 */
.md-main #ms2 {
    position: relative;
    background: #050912;
    overflow: hidden;
    padding: 80px 0;
}

.md-main #ms2 .listSet {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 40px;
}

.md-main #ms2 .liveList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.md-main #ms2 .liveList img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
    transition: transform 0.5s ease;
}

.md-main #ms2 .liveList img:hover {
    transform: scale(1.04);
}

.md-main #ms2 .bigTit {
    font-size: clamp(34px, 4.4vw, 60px);
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: #fff;
}

.md-main #ms2 .img img {
    width: 100%;
    max-width: 1100px;
    margin: 60px auto 0;
    opacity: 0.9;
}

/* ms5 (CTA) */
.md-main #ms5 {
    background: linear-gradient(135deg, #0b1330 0%, #1a0a3a 100%);
    padding: 90px 0;
}

.md-main #ms5 .sec1 {
    text-align: center;
}

/* 관련 보조 셀럽 그리드 등에 사용 */
.md-main .pf-grid,
.md-main .pf-grid-3,
.md-main .pf-grid-4 {
    display: grid;
    gap: 20px;
}

.md-main .pf-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.md-main .pf-grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.md-main .pf-grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
    .md-main .pf-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .md-main .pf-grid-3,
    .md-main .pf-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 페이지 히어로 (서브 페이지) */
.md-page-hero {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #0a0e22;
    color: #fff;
}

.md-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: var(--hero-bg, none);
    transform: scale(1.1);
    animation: kenBurns 22s ease-in-out infinite alternate;
    opacity: 0.45;
    z-index: 0;
}

.md-page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 8, 22, 0.55) 0%, rgba(5, 8, 22, 0.85) 100%);
    z-index: 1;
}

.md-page-hero > * {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 24px;
}

.md-page-hero h1 {
    font-size: clamp(34px, 4.4vw, 56px);
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 12px;
}

.md-page-hero p {
    font-size: clamp(14px, 1.2vw, 17px);
    color: rgba(255, 255, 255, 0.78);
    margin: 0;
}

@keyframes kenBurns {
    from { transform: scale(1.05) translate(0, 0); }
    to   { transform: scale(1.18) translate(-1.5%, -1.5%); }
}

/* 부분적 fade 인 ─ AOS 가 떴을 때 자동 */
[data-aos] {
    transition-property: transform, opacity;
}

/* ====================================================================
   보조 페이지 공통 (inquiry, schedule, cases, news, clients, faq,
   careers, terms, privacy, sitemap, thanks)
   ==================================================================== */

.md-section {
    padding: 80px 0;
}

.md-section-narrow {
    padding: 64px 0 80px;
}

.md-container {
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
}

.md-container-narrow {
    width: min(880px, calc(100% - 48px));
    margin: 0 auto;
}

.md-section-head {
    text-align: center;
    margin-bottom: 48px;
}

.md-section-head .md-eyebrow {
    display: inline-block;
    color: var(--md-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.md-section-head h2 {
    font-size: clamp(28px, 3.6vw, 44px);
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 12px;
}

.md-section-head p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 720px;
}

/* ── 문의 (inquiry) ──────────────────────────────────────────────── */
.md-inquiry {
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
}

.md-inquiry-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 48px;
    align-items: flex-start;
}

@media (max-width: 980px) {
    .md-inquiry-grid {
        grid-template-columns: 1fr;
    }
}

.md-inquiry-info h2,
.md-inquiry-form h2 {
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 14px;
}

.md-inquiry-info p {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.7;
    margin: 0 0 20px;
}

.md-inquiry-channel {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    overflow: hidden;
}

.md-inquiry-channel li {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.86);
}

.md-inquiry-channel li:last-child {
    border-bottom: 0;
}

.md-inquiry-channel li span {
    color: var(--md-accent);
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 12px;
}

.md-inquiry-channel a {
    color: #fff;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
}

.md-inquiry-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.md-inquiry-cards .md-card {
    display: block;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    transition: all 0.18s;
}

.md-inquiry-cards .md-card:hover {
    border-color: var(--md-accent);
    background: rgba(200, 29, 37, 0.08);
    transform: translateY(-2px);
}

.md-inquiry-cards .md-card strong {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 4px;
}

.md-inquiry-cards .md-card span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
}

.md-inquiry-form {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.md-form-help {
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    margin: -6px 0 6px;
}

.md-inquiry-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 13px;
    font-weight: 700;
}

.md-inquiry-form label span {
    letter-spacing: 0.02em;
}

.md-inquiry-form .md-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

@media (max-width: 640px) {
    .md-inquiry-form .md-row {
        grid-template-columns: 1fr;
    }
}

.md-inquiry-form input,
.md-inquiry-form select,
.md-inquiry-form textarea {
    background: #0a0e22;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 12px 14px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.md-inquiry-form input:focus,
.md-inquiry-form select:focus,
.md-inquiry-form textarea:focus {
    outline: none;
    border-color: var(--md-accent);
    box-shadow: 0 0 0 3px rgba(200, 29, 37, 0.18);
}

.md-inquiry-form textarea {
    resize: vertical;
    min-height: 120px;
}

.md-check {
    flex-direction: row !important;
    align-items: flex-start;
    gap: 10px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.md-btn-block {
    width: 100%;
    height: 52px;
    font-size: 15px;
    margin-top: 6px;
}

/* ── 스케줄 (iframe) ─────────────────────────────────────────────── */
.md-iframe-wrap {
    background: #0a0e22;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.md-iframe-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.md-cta-row {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 36px;
}

/* ── 케이스 그리드 ───────────────────────────────────────────────── */
.md-case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}

.md-case-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 4 / 3;
    background: #0a0e22;
    display: block;
    cursor: zoom-in;
}

.md-case-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, filter 0.3s;
    filter: brightness(0.92) saturate(0.96);
}

.md-case-card:hover img {
    transform: scale(1.06);
    filter: brightness(1.04) saturate(1.04);
}

.md-case-tag {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(5, 8, 22, 0.78);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.04em;
}

/* ── 뉴스 그리드 ─────────────────────────────────────────────────── */
.md-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}

.md-news-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
}

.md-news-card:hover {
    border-color: var(--md-accent);
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}

.md-news-thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #0a0e22;
}

.md-news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.md-news-card:hover .md-news-thumb img {
    transform: scale(1.06);
}

.md-news-body {
    padding: 22px 22px 24px;
}

.md-news-tag {
    display: inline-block;
    color: var(--md-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    margin-bottom: 8px;
}

.md-news-card h3 {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
    margin: 0 0 8px;
    color: #fff;
}

.md-news-card p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.6;
    margin: 0;
}

/* ── 로고 마퀴 (clients) ─────────────────────────────────────────── */
.md-logo-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: hidden;
}

.md-logo-river {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 14px;
    flex-wrap: nowrap;
    overflow-x: hidden;
    align-items: center;
}

.md-logo-river li {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 20px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
}

.md-logo-river li img {
    max-height: 38px;
    width: auto;
    opacity: 0.85;
    filter: brightness(0) invert(1);
    transition: opacity 0.2s;
}

.md-logo-river li:hover img {
    opacity: 1;
}

/* ── FAQ ─────────────────────────────────────────────────────────── */
.md-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 36px;
}

.md-faq {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.18s;
}

.md-faq[open] {
    border-color: var(--md-accent);
    background: rgba(200, 29, 37, 0.05);
}

.md-faq summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 24px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.md-faq summary::-webkit-details-marker {
    display: none;
}

.md-faq summary::after {
    content: "+";
    color: var(--md-accent);
    font-size: 22px;
    font-weight: 400;
    transition: transform 0.2s;
}

.md-faq[open] summary::after {
    content: "−";
}

.md-faq-a {
    padding: 0 24px 22px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.8;
}

/* ── 채용 ───────────────────────────────────────────────────────── */
.md-job-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
    margin-bottom: 56px;
}

.md-job {
    padding: 28px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.md-job:hover {
    border-color: var(--md-accent);
    background: rgba(200, 29, 37, 0.05);
}

.md-job h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 0;
}

.md-job p {
    color: rgba(255, 255, 255, 0.66);
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

.md-job ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.md-job ul li {
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    padding-left: 16px;
    position: relative;
}

.md-job ul li::before {
    content: "·";
    position: absolute;
    left: 0;
    color: var(--md-accent);
    font-weight: 800;
}

.md-job .md-btn {
    margin-top: auto;
    align-self: flex-start;
}

.md-job-photos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.md-job-photos img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
}

/* ── 약관 / 정책 (prose) ───────────────────────────────────────── */
.md-prose h2 {
    font-size: 28px;
    margin: 0 0 24px;
    font-weight: 800;
}

.md-prose h3 {
    font-size: 17px;
    margin: 26px 0 8px;
    font-weight: 700;
    color: var(--md-accent);
}

.md-prose p {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.85;
    margin: 0 0 12px;
}

/* ── 사이트맵 ───────────────────────────────────────────────────── */
.md-sitemap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 32px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 36px;
}

.md-sitemap h3 {
    color: var(--md-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin: 0 0 14px;
}

.md-sitemap ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.md-sitemap a {
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    font-weight: 600;
    transition: color 0.15s, transform 0.15s;
    display: inline-block;
}

.md-sitemap a:hover {
    color: var(--md-accent);
    transform: translateX(3px);
}

/* ── 문의 완료 (thanks) ─────────────────────────────────────────── */
.md-thanks {
    text-align: center;
    padding: 80px 0;
}

.md-thanks-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--md-accent);
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 24px;
    box-shadow: 0 12px 30px rgba(200, 29, 37, 0.4);
    animation: pulse 1.6s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); }
}

.md-thanks h2 {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    margin: 0 0 16px;
}

.md-thanks p {
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.8;
    margin: 0 0 28px;
}


/* MONAD: hide public schedule entry points (2026-10-02).
   Presentation only; disable public sharing of the source calendar separately. */
a[href*="schedule.php"],
a[href*="schedule.html"],
a[href*="#liveScadule"],
#liveScadule,
.statbar[aria-label="실시간 라이브 스케줄"] .stat-left {
    display: none !important;
}

/* Preserve the homepage performance figures without empty schedule columns. */
.statbar[aria-label="실시간 라이브 스케줄"] .statbar-inner {
    grid-template-columns: minmax(0, 1fr) !important;
}

.statbar[aria-label="실시간 라이브 스케줄"] .stat-mid {
    justify-content: center;
}
