/* =========================================================
   responsive.css — mobile / tablet layer (loaded after style.css)
   Step 1: header + mobile navigation
   ========================================================= */

.car{display:inline-block;transition:transform .25s ease;font-size:.85em;margin-left:4px}

/* ---------- Tablet & mobile navigation (<= 1000px) ---------- */
@media(max-width:1000px){
  header .wrap{padding-left:16px;padding-right:16px}
  /* backdrop-filter would trap the fixed menu panel inside the header after scrolling */
  header,header.sc,header.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none}
  header.sc{background:rgba(12,18,38,.96)}
  header.menu-open{background:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.08)}

  /* top bar controls */
  header .tg{margin-left:auto;margin-right:10px;width:44px;height:44px}
  header .mb{
    display:grid;place-items:center;width:44px;height:44px;padding:0;
    border-radius:12px;border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);font-size:22px;line-height:1;
    -webkit-tap-highlight-color:transparent;transition:background .25s
  }
  header .mb:active,header.menu-open .mb{background:rgba(255,255,255,.16)}

  /* full-height slide-down panel */
  header .nl{
    position:fixed;left:0;right:0;
    top:calc(74px + env(safe-area-inset-top,0px));
    bottom:0;max-height:none;
    display:flex;flex-direction:column;align-items:stretch;gap:2px;
    padding:12px 16px calc(28px + env(safe-area-inset-bottom,0px));
    background:var(--ink);overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s
  }
  header .nl.open{visibility:visible;opacity:1;transform:none;transition:opacity .25s ease,transform .25s ease}

  /* links */
  header .nl>a,header .dd>a{
    display:flex;align-items:center;justify-content:space-between;
    text-align:left;font-size:16.5px;padding:14px 14px;min-height:50px;
    border-radius:12px;color:#d6d9ff
  }
  header .nl>a.on,header .dd>a.on{background:rgba(255,255,255,.1);color:#fff}
  header .nl>a:active,header .dd>a:active{background:rgba(255,255,255,.14)}

  /* services accordion */
  header .dd{display:block}
  header .dd.open>a{color:#fff;background:rgba(255,255,255,.06)}
  header .dd.open .car{transform:rotate(180deg)}
  header .nl .dd .dm{
    display:none;position:static;min-width:0;margin:4px 0 8px 18px;padding:4px 0 4px 10px;
    background:transparent;border:0;border-left:2px solid rgba(124,108,255,.35);
    border-radius:0;box-shadow:none;animation:none
  }
  header .nl .dd.open .dm{display:block;animation:tmSlide .25s ease both}
  header .nl .dd:hover .dm{animation:none}
  header .nl .dd.open:hover .dm{animation:tmSlide .25s ease both}
  header .dm a{
    white-space:normal;font-size:15.5px;padding:12px 12px;min-height:46px;
    text-align:left;justify-content:flex-start;gap:12px;border-radius:10px
  }
  header .dm .i{width:20px;height:20px;flex:none}
  header .dm a[href="/services"]{margin-top:6px!important;border-radius:10px!important}

  /* CTA (in normal flow — not fixed) */
  header .nl .btn{
    justify-content:center;margin:18px 0 0;padding:15px 20px;font-size:16px;border-radius:14px
  }

  /* lock page scroll + keep chat widget out of the way while menu is open */
  body.menu-open{overflow:hidden}
  body.menu-open .wg-b,body.menu-open .wg{opacity:0;pointer-events:none;visibility:hidden}
}

@keyframes tmSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Small phones ---------- */
@media(max-width:420px){
  header .logo{font-size:18px;gap:9px}
  header .logo svg{width:32px;height:32px}
  header .tg{margin-right:8px}
}
@media(max-width:340px){
  header .logo em{display:none}
}
