
    :root, #dp-page {
        --dp-accent: #234177;
        --dp-blue: #3b82f6;
        --dp-dark: #0B1120;
        --dp-surface: #111827;
        --dp-gray: #64748B;
        --dp-border: #E2E8F0;
        --dp-off-white: #F5F7FA;
    }

    #dp-page { font-size: 16px !important; font-family: 'Inter', 'Noto Sans KR', sans-serif !important; line-height: 1.7 !important; color: #1E293B !important; word-break: keep-all !important; overflow-wrap: break-word !important; margin: 0 !important; padding: 0 !important; background: #fff !important; overflow-x: hidden !important; }
    #dp-page *, #dp-page *::before, #dp-page *::after { box-sizing: border-box !important; }

    #dp-page .dp-reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
    #dp-page .dp-reveal.active { opacity: 1 !important; transform: translateY(0) !important; }
    #dp-page .dp-d1 { transition-delay: 0.08s; }
    #dp-page .dp-d2 { transition-delay: 0.16s; }
    #dp-page .dp-d3 { transition-delay: 0.24s; }

    /* ============ HEADER ============ */
    #dp-page .dp-header {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 100px 50px 60px !important;
        text-align: center !important;
    }

    #dp-page .dp-header-tag {
        font-size: 0.75rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.3em !important;
        text-transform: uppercase !important;
        color: var(--dp-blue) !important;
        margin-bottom: 18px !important;
        display: block !important;
    }

    #dp-page .dp-header h1 {
        font-family: 'Outfit', sans-serif !important;
        font-size: clamp(2rem, 4vw, 3rem) !important;
        font-weight: 900 !important;
        color: var(--dp-accent) !important;
        letter-spacing: -0.03em !important;
        margin-bottom: 14px !important;
    }

    #dp-page .dp-header-desc {
        font-size: 1rem !important;
        color: var(--dp-gray) !important;
        max-width: 480px !important;
        margin: 0 auto !important;
    }

    /* ============ SECTION LABEL ============ */
    #dp-page .dp-section-label {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 50px 24px !important;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
    }

    #dp-page .dp-section-label span {
        font-size: 0.72rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.25em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    #dp-page .dp-section-label::after {
        content: '' !important;
        flex: 1 !important;
        height: 1px !important;
    }

    /* 기체 라벨 */
    #dp-page .dp-label-drone span { color: var(--dp-accent) !important; }
    #dp-page .dp-label-drone::after { background: var(--dp-border) !important; }

    /* 소프트웨어 라벨 — 기체 라벨과 같은 흰 배경 리듬, 색만 블루 */
    #dp-page .dp-label-sw span { color: var(--dp-blue) !important; }
    #dp-page .dp-label-sw::after { background: var(--dp-border) !important; }

    /* ============ DRONE SECTION — 화이트 ============ */
    #dp-page .dp-drone-section {
        background: #fff !important;
        padding-bottom: 80px !important;
    }

    #dp-page .dp-drone-grid {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 50px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }

    /* 드론 카드 */
    #dp-page .dp-drone-card {
        position: relative !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        min-height: 360px !important;
        display: flex !important;
        align-items: flex-end !important;
        text-decoration: none !important;
        color: #fff !important;
        transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
        border: 1px solid var(--dp-border) !important;
    }

    #dp-page .dp-drone-card:hover {
        transform: translateY(-6px) !important;
        box-shadow: 0 24px 48px rgba(35, 65, 119, 0.12) !important;
        border-color: var(--dp-blue) !important;
    }

    #dp-page .dp-drone-card.dp-main {
        grid-column: 1 / -1 !important;
        min-height: 440px !important;
    }

    /* 배경 */
    #dp-page .dp-card-bg {
        position: absolute !important;
        inset: 0 !important;
        z-index: 1 !important;
    }

    #dp-page .dp-card-bg img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform 1s ease !important;
    }

    #dp-page .dp-drone-card:hover .dp-card-bg img { transform: scale(1.05) !important; }

    #dp-page .dp-card-bg::after {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        background: linear-gradient(0deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.25) 50%, rgba(0,0,0,0.05) 100%) !important;
    }

    /* 카드 텍스트 */
    #dp-page .dp-card-info {
        position: relative !important;
        z-index: 5 !important;
        padding: 32px !important;
        width: 100% !important;
    }

    #dp-page .dp-main .dp-card-info {
        padding: 44px !important;
        max-width: 650px !important;
    }

    #dp-page .dp-card-badge {
        display: inline-block !important;
        padding: 4px 11px !important;
        border-radius: 5px !important;
        font-size: 0.62rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        margin-bottom: 12px !important;
        color: #fff !important;
    }

    #dp-page .dp-bg-blue { background: var(--dp-blue) !important; }
    #dp-page .dp-bg-green { background: rgba(76, 175, 80, 0.85) !important; }
    #dp-page .dp-bg-amber { background: rgba(245, 158, 11, 0.85) !important; }

    #dp-page .dp-card-cat {
        font-size: 0.68rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        color: rgba(255,255,255,0.45) !important;
        margin-bottom: 5px !important;
    }

    #dp-page .dp-card-title {
        font-family: 'Outfit', sans-serif !important;
        font-size: 1.7rem !important;
        font-weight: 900 !important;
        letter-spacing: -0.03em !important;
        margin-bottom: 8px !important;
        line-height: 1.1 !important;
    }

    #dp-page .dp-main .dp-card-title {
        font-size: 2.5rem !important;
        margin-bottom: 12px !important;
    }

    #dp-page .dp-card-desc {
        font-size: 0.88rem !important;
        color: rgba(255,255,255,0.55) !important;
        line-height: 1.6 !important;
        margin-bottom: 14px !important;
    }

    #dp-page .dp-main .dp-card-desc { font-size: 0.98rem !important; }

    #dp-page .dp-card-chips {
        display: flex !important;
        gap: 7px !important;
        flex-wrap: wrap !important;
        margin-bottom: 14px !important;
    }

    #dp-page .dp-card-chip {
        padding: 3px 10px !important;
        background: rgba(255,255,255,0.1) !important;
        border: 1px solid rgba(255,255,255,0.12) !important;
        border-radius: 5px !important;
        font-size: 0.7rem !important;
        font-weight: 700 !important;
        color: rgba(255,255,255,0.7) !important;
    }

    #dp-page .dp-card-cta {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;
        color: var(--dp-blue) !important;
        transition: gap 0.3s ease !important;
    }

    #dp-page .dp-drone-card:hover .dp-card-cta { gap: 12px !important; }

    /* ============ SOFTWARE SECTION — 흰 배경 위 다크 카드 ============ */
    /* 다크는 섹션 배경이 아니라 카드 표면이 담당 — 페이지는 한 장으로 이어진다 */
    #dp-page .dp-sw-section {
        background: #fff !important;
        padding: 0 0 100px !important;
    }

    #dp-page .dp-sw-wrap {
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 50px !important;
    }

    #dp-page .dp-sw-card {
        display: grid !important;
        grid-template-columns: 1.3fr 1fr !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        border: 1px solid var(--dp-border) !important;
        text-decoration: none !important;
        color: #fff !important;
        background: var(--dp-surface) !important;
        transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
    }

    #dp-page .dp-sw-card + .dp-sw-card { margin-top: 20px !important; }

    #dp-page .dp-sw-card:hover {
        transform: translateY(-6px) !important;
        border-color: var(--dp-blue) !important;
        box-shadow: 0 24px 48px rgba(35, 65, 119, 0.12) !important;
    }

    #dp-page .dp-sw-img {
        position: relative !important;
        overflow: hidden !important;
        min-height: 360px !important;
        background: #000 !important;
    }

    #dp-page .dp-sw-img img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform 0.8s ease !important;
    }

    #dp-page .dp-sw-card:hover .dp-sw-img img { transform: scale(1.04) !important; }

    #dp-page .dp-sw-content {
        padding: 44px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: var(--dp-surface) !important;
    }

    #dp-page .dp-sw-badge {
        display: inline-block !important;
        padding: 4px 12px !important;
        background: rgba(139, 92, 246, 0.85) !important;
        border-radius: 5px !important;
        font-size: 0.62rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        color: #fff !important;
        margin-bottom: 16px !important;
        align-self: flex-start !important;
    }

    #dp-page .dp-sw-cat {
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        color: var(--dp-blue) !important;
        margin-bottom: 8px !important;
    }

    #dp-page .dp-sw-title {
        font-family: 'Outfit', sans-serif !important;
        font-size: 2.2rem !important;
        font-weight: 900 !important;
        letter-spacing: -0.03em !important;
        margin-bottom: 14px !important;
        color: #fff !important;
    }

    #dp-page .dp-sw-desc {
        font-size: 0.95rem !important;
        color: rgba(255,255,255,0.45) !important;
        line-height: 1.7 !important;
        margin-bottom: 20px !important;
    }

    #dp-page .dp-sw-chips {
        display: flex !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        margin-bottom: 20px !important;
    }

    #dp-page .dp-sw-chip {
        padding: 4px 12px !important;
        background: rgba(255,255,255,0.06) !important;
        border: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 6px !important;
        font-size: 0.75rem !important;
        font-weight: 700 !important;
        color: rgba(255,255,255,0.6) !important;
    }

    #dp-page .dp-sw-cta {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 0.82rem !important;
        font-weight: 700 !important;
        color: var(--dp-blue) !important;
        transition: gap 0.3s ease !important;
    }

    #dp-page .dp-sw-card:hover .dp-sw-cta { gap: 12px !important; }

    /* ============ COMING SOON 카드 (DRTView Windows) ============ */
    #dp-page .dp-sw-card.dp-sw-soon { cursor: default !important; }

    #dp-page .dp-sw-card.dp-sw-soon:hover {
        transform: none !important;
        border-color: var(--dp-border) !important;
        box-shadow: none !important;
    }

    #dp-page .dp-sw-img-soon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(135deg, #131C2E 0%, var(--dp-dark) 70%) !important;
    }

    #dp-page .dp-soon-mark {
        font-family: 'Outfit', sans-serif !important;
        font-size: 0.82rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.34em !important;
        text-transform: uppercase !important;
        color: rgba(255,255,255,0.3) !important;
        border: 1px solid rgba(255,255,255,0.14) !important;
        border-radius: 999px !important;
        padding: 10px 26px !important;
    }

    #dp-page .dp-sw-badge-soon {
        background: rgba(255,255,255,0.12) !important;
        color: rgba(255,255,255,0.75) !important;
    }

    #dp-page .dp-sw-soon .dp-sw-title { color: rgba(255,255,255,0.85) !important; }

    /* ============ RESPONSIVE ============ */
    @media (max-width: 1024px) {
        #dp-page .dp-header { padding: 80px 30px 50px !important; }
        #dp-page .dp-drone-grid { padding: 0 30px !important; grid-template-columns: 1fr !important; }
        #dp-page .dp-drone-card.dp-main { min-height: 380px !important; }
        #dp-page .dp-main .dp-card-title { font-size: 2rem !important; }
        #dp-page .dp-section-label { padding: 0 30px 24px !important; }
        #dp-page .dp-sw-wrap { padding: 0 30px !important; }
        #dp-page .dp-sw-card { grid-template-columns: 1fr !important; }
        #dp-page .dp-sw-img { min-height: 260px !important; }
        #dp-page .dp-sw-img-soon { min-height: 200px !important; }
        #dp-page .dp-sw-title { font-size: 1.8rem !important; }
    }

    @media (max-width: 600px) {
        #dp-page .dp-header { padding: 60px 20px 40px !important; }
        #dp-page .dp-header h1 { font-size: 1.8rem !important; }
        #dp-page .dp-drone-grid { padding: 0 20px !important; gap: 14px !important; }
        #dp-page .dp-drone-card { min-height: 300px !important; }
        #dp-page .dp-drone-card.dp-main { min-height: 340px !important; }
        #dp-page .dp-card-info { padding: 24px !important; }
        #dp-page .dp-main .dp-card-info { padding: 24px !important; }
        #dp-page .dp-main .dp-card-title { font-size: 1.7rem !important; }
        #dp-page .dp-card-title { font-size: 1.4rem !important; }
        #dp-page .dp-section-label { padding: 0 20px 20px !important; }
        #dp-page .dp-sw-wrap { padding: 0 20px !important; }
        #dp-page .dp-sw-content { padding: 28px !important; }
    }
