/* shared header (nav, mobile menu), «Have a project in mind?» and footer – home page rules, loaded on every page */
/* ---- responsive ---- */
[data-burger] { display:none; }
[data-mnav] { position:fixed; inset:0; z-index:200; background:#0A0C10; color:#fff; display:flex; flex-direction:column; justify-content:center; padding:96px 28px 40px; gap:8px; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .35s ease, visibility .35s, transform .35s ease; }
[data-mnav].open { opacity:1; visibility:visible; transform:none; }
[data-mnav] a { font:600 clamp(30px,8vw,44px)/1.15 'Mulish',system-ui,sans-serif; letter-spacing:-.03em; color:#fff; padding:10px 0; border-bottom:1px solid #22272F; }
[data-mnav] a[data-cta] { margin-top:22px; border:0; font:400 13px/1 'Mulish',system-ui,sans-serif; letter-spacing:.16em; background:#012EA3; padding:20px 26px; text-align:center; }
[data-mnav-close] { position:absolute; top:18px; right:22px; width:44px; height:44px; display:grid; place-items:center; background:transparent; border:1px solid #22272F; color:#fff; font:300 24px/1 sans-serif; cursor:pointer; }
@media (max-width:1100px) {
  nav[data-topnav] { padding:16px 40px !important; }
  nav[data-topnav] > div[data-links] { gap:28px !important; font-size:13px !important; }
}
@media (max-width:820px) {
  nav[data-topnav] { padding:14px 24px !important; }nav[data-topnav] > div[data-links], nav[data-topnav] > a[data-cta], nav[data-topnav] > .o-c > a[data-cta]{ display:none !important; }
  nav[data-topnav] img { height:30px !important; }
  [data-burger] { display:grid; place-items:center; width:44px; height:44px; border:1px solid #22272F; background:transparent; color:#fff; cursor:pointer; padding:0; }
  [data-burger] span { display:block; width:18px; height:1.5px; background:currentColor; box-shadow:0 -6px 0 currentColor, 0 6px 0 currentColor; }
  [data-pad-lg] { padding:72px 24px !important; }
  footer[data-foot] { flex-direction:column !important; align-items:flex-start !important; padding:28px 24px 70px !important; gap:18px !important; }
}
@media (max-width:600px) {
  [data-pad-lg] { padding:56px 24px !important; }
  [data-mnav] { padding:88px 24px 32px; }
}
