/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 1023px) {
    section {
        padding: 96px 0;
    }

    .trust-grid,
    .features .container,
    .principles-list,
    .footer-grid,
    .cta .container,
    .services-summary-grid,
    .content-advantage-grid,
    .features-grid-wrap {
        grid-template-columns: 1fr;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .process-grid::before {
        display: none;
    }

    .process-card {
        min-height: auto;
    }
}

@media (max-width: 767px) {
    :root {
        --header-height: 74px;
    }

    body {
        background:
            radial-gradient(circle at 18% 10%, rgba(214, 148, 90, 0.18), transparent 24%),
            radial-gradient(circle at 84% 16%, rgba(138, 92, 246, 0.14), transparent 22%),
            linear-gradient(180deg, #0f0c12 0%, #16111b 42%, #110d15 100%);
    }

    .header {
        padding: 14px 0;
    }

    .nav {
        position: fixed;
        top: var(--header-height);
        left: 0;
        width: 100%;
        padding: 22px 20px 28px;
        background: rgba(14, 11, 18, 0.94);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(255,255,255,0.08);
        transform: translateY(-20px);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    }

    .nav.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    .nav ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .menu-toggle {
        display: block;
        order: 3;
    }

    .header-cta {
        display: none;
    }

    .hero {
        min-height: 92vh;
        padding: 130px 20px 90px;
    }

    .hero-content p {
        font-size: 0.98rem;
    }

    .section-header {
        margin-bottom: 34px;
    }

    .trust-grid,
    .features .container,
    .principles-list,
    .footer-grid,
    .services-summary-grid,
    .content-advantage-grid,
    .faq-list {
        gap: 24px;
    }

    .feature-card {
        padding: 28px 22px;
    }

    .process-card {
        padding-left: 66px;
    }

    .process-step {
        width: 46px;
        height: 46px;
        font-size: 0.9rem;
    }

    .cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-actions .cta-btn {
        width: 100%;
    }

    .skip-link {
        left: 12px;
        right: 12px;
        text-align: center;
    }

    /* HERO 텍스트 구조 모바일 보정 */
    .hero-eyebrow {
        margin-bottom: 18px;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
    }

  .hero-title {
    gap: 0.08em;
    font-family: 'IBM Plex Sans', 'Noto Sans KR', sans-serif;
    font-size: clamp(2.6rem, 10.8vw, 4rem);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -0.032em;
}

    .hero-description {
        width: min(100%, 92%);
        margin-top: 24px;
        font-size: 0.95rem;
        line-height: 1.7;
    }

    .hero-actions {
        margin-top: 28px;
    }
}