/* =====================================================================
   MAZE · Responsive  (responsive.css)
   - 모든 미디어쿼리를 한 곳에서 관리합니다.
   - 주요 브레이크포인트: 980px(태블릿) / 680px(모바일)
   ===================================================================== */

/* ============ TABLET (<=980px) ============ */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .lens-card{max-width:520px}
  .gap-grid,.rize-top,.co-grid,.identity-grid{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .priv-grid{grid-template-columns:repeat(2,1fr)}
  .three-in-one{grid-template-columns:1fr}
  .proof-row{grid-template-columns:repeat(2,1fr)}
  .proof-cell:nth-child(2){border-right:none}
  .proof-cell:nth-child(1),.proof-cell:nth-child(2){border-bottom:1px solid var(--line)}
  .co-stats{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr}
  .tech-split{grid-template-columns:1fr}
  .orb-art{min-height:300px;order:-1}
  .teasers{grid-template-columns:1fr}
  .ir-grid{grid-template-columns:1fr}
  .org-row{grid-template-columns:repeat(2,1fr);gap:14px 16px}
  .org-row::before{display:none}
  .certgrid{grid-template-columns:repeat(2,1fr)}
  .certs-foot{grid-template-columns:1fr}
  .ceo-hero{grid-template-columns:1fr;gap:32px}
  .ceo-portrait{min-height:340px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .feature-split,.feature-split.rev{grid-template-columns:1fr;gap:30px}
  .feature-split.rev .feature-text{order:0}
  .contact-grid{grid-template-columns:1fr;gap:32px}

  /* ===== 모바일 네비게이션 (전체화면 오버레이 · normal flow) ===== */
  .nav-links{
    position:fixed; top:74px; left:0; right:0; bottom:0;
    width:100%; max-width:100vw;
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    background:#fff; z-index:1000;
    padding:18px 24px calc(24px + env(safe-area-inset-bottom));
    overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
    transform:translateX(100%); visibility:hidden;
    transition:transform .32s ease, visibility .32s ease;
  }
  .nav-links.open{ transform:none; visibility:visible; }
  /* 메뉴 열림: 상단 헤더 바를 불투명 흰색으로 고정해 전체를 덮음 */
  body.menu-open header{ background:#fff; border-bottom:1px solid var(--line); }
  /* 로고/우측(언어·버거)은 오버레이 위에 노출 */
  .nav-logo, .nav-right{ position:relative; z-index:1010; }

  .nav-item{ position:static; width:100%; }
  .nav-item>a{
    display:flex; align-items:center; justify-content:space-between;
    width:100%; min-height:44px; padding:15px 2px;
    font-size:1.05rem; font-weight:600; line-height:1.3; color:var(--ink);
    border-bottom:1px solid var(--line); border-radius:0;
  }
  .nav-item.active>a, .nav-item.open-sub>a{ color:var(--accent); background:transparent; }
  .nav-item.has-menu>a::after{ margin-left:auto; opacity:.55; transform:rotate(45deg) translateY(-2px); }
  .nav-item.open-sub>a::after{ transform:rotate(225deg) translateY(2px); }

  /* 하위 메뉴: normal flow + max-height 트랜지션 → 부모 바로 아래 (데스크톱 메가메뉴 CSS는 min-width:981px에 격리됨) */
  .nav-item .dropdown{ width:100%; min-width:0; max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .nav-item.open-sub .dropdown{ max-height:820px; }
  .dropdown-inner{
    width:100%; min-width:0; background:transparent; border:none; box-shadow:none;
    padding:4px 0 8px; border-radius:0;
  }
  .dropdown-inner a{ display:block; width:100%; min-height:44px; padding:11px 8px; border-radius:8px; }
  .dropdown-inner a:hover, .dropdown-inner a:active{ background:var(--surface-2); }
  .dropdown-inner .d-title{ color:var(--ink); font-weight:600; }
  .dropdown-inner .d-desc{ color:var(--ink-3); margin-top:2px; }

  .nav-right .nav-cta{ display:none; }
  .mobile-cta{
    display:block; margin-top:auto;
    text-align:center; background:var(--accent); color:#fff;
    padding:15px; border-radius:12px; font-weight:600;
  }
  .burger{ display:flex; }
  .burger span{ background:var(--ink); }

  /* 언어 스위처: 버거 옆 컴팩트 */
  .nav-right{ gap:10px; }
  .lang-current{ padding:8px 11px; font-size:.78rem; }
  .lang-current .lang-chev{ display:none; }
  .lang-menu{ right:0; min-width:160px; }
}

/* ============ MOBILE (<=680px) ============ */
@media (max-width:680px){
  .wrap{padding:0 20px}
  nav{padding:0 20px}

  /* 폰 전용: 패널 좌우 여백 축소 */
  .nav-links{padding:14px 20px 24px}
  .nav-item>a{font-size:1.02rem}

  section.block{padding:90px 0}
  .sec-head{margin-bottom:44px}

  .metrics,.priv-grid,.proof-row,.pillars,.co-stats,.gallery,.certgrid,.cred,.org-row{grid-template-columns:1fr}
  .proof-cell{border-right:none;border-bottom:1px solid var(--line)}
  .proof-cell:last-child{border-bottom:none}
  .cta-box{padding:54px 28px}
  .flow-row{grid-template-columns:60px 1fr;gap:18px}
  .sns-strip{flex-direction:column;align-items:flex-start}
  .news-list .wrap{grid-template-columns:1fr}
  .article{padding:26px 22px}
  .form-row.two{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr}
  .spec-row dt{border-right:none;border-bottom:1px solid var(--line)}

  /* video hero */
  .video-hero{padding:110px 0 80px}
  .video-hero h1{font-size:clamp(2.1rem,8vw,3rem)}
  .scroll-cue{display:none}
}

/* very small phones */
@media (max-width:380px){
  .trust-items{gap:18px}
  .video-hero__actions .btn{width:100%;justify-content:center}
}

/* ============ MOBILE FOOTER (<=768px) — 데스크톱 footer는 그대로 유지 ============ */
@media (max-width:768px){
  /* footer 와 모바일 메뉴 오버레이는 별개 구조 — footer 는 항상 normal flow */
  footer{
    position:relative; width:100%; max-width:100vw; overflow:hidden;
    padding:48px 0 calc(40px + env(safe-area-inset-bottom));
  }
  /* 1) 브랜드 → 2) 메뉴 그리드 → 3) copyright 순서로 세로 스택 */
  .foot-grid{ display:flex; flex-direction:column; align-items:stretch; gap:34px; flex-wrap:nowrap; }
  .foot-brand{ max-width:none; width:100%; }
  .foot-brand p{ overflow-wrap:break-word; }

  /* 메뉴: 2컬럼 그리드(겹침 없이 위→아래 자연 배치) */
  .foot-cols{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px 22px; width:100%; align-items:start;
  }
  .foot-col{ min-width:0; }
  .foot-col h5{ margin-bottom:14px; }
  .foot-col a{ overflow-wrap:break-word; word-break:keep-all; }

  /* copyright: footer 마지막에 별도 block, 위에 구분선·여백 확보 */
  .foot-bottom{
    flex-direction:column; align-items:flex-start; gap:10px;
    margin-top:38px; padding-top:24px; line-height:1.6;
  }
  .foot-bottom span{ overflow-wrap:break-word; word-break:keep-all; }
}

/* 아주 좁은 화면: 메뉴 1컬럼 */
@media (max-width:400px){
  .foot-cols{ grid-template-columns:1fr; gap:26px; }
}
