@charset "UTF-8";

/* ─────────────────────────────────────────────────────────────────────────────
   1. Global Mobile Reset & Layout
   ───────────────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 1100px) {
    .oz_content { width: 92%; margin: auto; }
    
    body { padding-top: 60px; }
    
    .oz_head { height: 60px; }
    .oz_header_wrap { height: 60px; width: 92%; }
    .oz_logo .oz_h1span { font-size: 18px; }
    
    .oz_headText { display: none; } /* Hide PC phone/button */
}

/* ─────────────────────────────────────────────────────────────────────────────
   2. Mobile Navigation (Hamburger Menu)
   ───────────────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 1100px) {
    #oz_nav-toggle {
        display: block; position: absolute; right: 15px; top: 15px;
        width: 30px; height: 30px; cursor: pointer; z-index: 10001;
    }
    #oz_nav-toggle span {
        display: block; position: absolute; height: 2px; width: 100%;
        background: var(--color_text); transition: .3s; border-radius: 2px;
    }
    #oz_nav-toggle span:nth-child(1) { top: 4px; }
    #oz_nav-toggle span:nth-child(2) { top: 14px; }
    #oz_nav-toggle span:nth-child(3) { top: 24px; }

    /* Open state */
    .open #oz_nav-toggle span:nth-child(1) { top: 14px; transform: rotate(45deg); }
    .open #oz_nav-toggle span:nth-child(2) { opacity: 0; }
    .open #oz_nav-toggle span:nth-child(3) { top: 14px; transform: rotate(-45deg); }

    #oz_global-nav {
        position: fixed; top: 0; right: -100%; width: 100%; height: 100vh;
        background: var(--color_bg); z-index: 10000; transition: .4s;
        padding: 80px 40px; overflow-y: auto; box-sizing: border-box;
    }
    .open #oz_global-nav { right: 0; }

    .oz_menuBox { display: flex; flex-direction: column; gap: 15px; text-align: center; }
    .oz_menuBox a { display: block; padding: 15px; border-bottom: 1px solid rgba(255,255,255,0.1); font-size: 18px; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   3. Page Specific Adjustments
   ───────────────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 767px) {
    .oz_Title { font-size: 24px; margin-bottom: 40px; }
    
    /* Home components */
    .oz_TopSec_conceptBox { padding: 40px 20px; }
    .oz_TopSec03Cont { flex-direction: column; gap: 30px; }
    .info-wrap { flex-direction: column; gap: 40px; }
    
    /* System Box (Price Tables) */
    .oz_systemBox table { font-size: 14px; }
    .oz_systemBox td { padding: 12px 5px; }
    .oz_systemBox td:first-child { width: 55%; }
    .oz_systemBox td + td { width: 45%; font-size: 16px; }

    /* Cast Profiles */
    .oz_profileSec01_cont01 { flex-direction: column; gap: 40px; }
    .oz_profileSec01_box01 { max-width: 100%; }
    
    /* Recruit */
    .oz_recruitSec01--th { width: 100px; font-size: 14px; padding: 15px 10px; }
    .oz_recruitSec01--td { font-size: 14px; padding: 15px 10px; }

    /* Footer */
    .oz_foot { padding: 60px 0 100px; }
}

/* ─────────────────────────────────────────────────────────────────────────────
   4. Sticky Footer (Mobile Contact)
   ───────────────────────────────────────────────────────────────────────────── */
@media screen and (max-width: 800px) {
    .oz_spfoot {
        position: fixed; bottom: 0; left: 0; width: 100%; height: 60px;
        display: flex; z-index: 9999; transition: transform 0.3s;
    }
    .oz_spfoot.oz_none { transform: translateY(100%); }
}