/* designer CSS – variant «projects» */
:where(body){background:#0A0C10;color:#FFFFFF;margin:0}

html { scroll-behavior: smooth; }
body { --gx: 64px; margin: 0; overflow-x: clip; background: #0A0C10; color: #FFFFFF; font-family: 'Mulish',system-ui,sans-serif; -webkit-font-smoothing: antialiased; }
a { color: #FFFFFF; text-decoration: none; }
a:hover { color:#93A7DA; }
::selection { background: #012EA3; color: #fff; }
@keyframes om-fadedown { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes om-riseup { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes om-zoomout { from { transform: scale(1.15); opacity: 0; } 30% { opacity: 1; } to { transform: scale(1); opacity: 1; } }
@keyframes om-pulse { 0% { box-shadow: 0 0 0 0 rgba(1,46,163,.45); } 70% { box-shadow: 0 0 0 12px rgba(1,46,163,0); } 100% { box-shadow: 0 0 0 0 rgba(1,46,163,0); } }

/* ---- 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) {
  body { --gx: 40px; }
  nav[data-topnav] { padding:16px 40px !important; }
  nav[data-topnav] > div[data-links] { gap:28px !important; font-size:13px !important; }
  [data-r="half"] { grid-template-columns:1fr !important; }
  [data-r="half"] > [data-r-media] { min-height:340px !important; margin:0 !important; border-right:0 !important; border-bottom:1px solid #22272F; }
  [data-r="stats4"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-r="stats4"] > div:nth-child(3) { border-left:0 !important; border-top:1px solid #22272F; }
  [data-r="stats4"] > div:nth-child(4) { border-top:1px solid #22272F; }
  [data-r="cards3"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-r="cols3"] { grid-template-columns:1fr !important; }
  [data-r="cols3"] > div { border-right:0 !important; border-bottom:1px solid #22272F; padding:30px 0 !important; }
  [data-r="cols3"] > div:last-child { border-bottom:0; }
  [data-r="group"] { grid-template-columns:1fr !important; }
  [data-r="team"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:820px) {
  body { --gx: 24px; }
  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; }
  header[data-hero], section[data-hero] { padding-top:100px !important; }
  [data-pad] { padding-left:24px !important; padding-right:24px !important; }
  [data-pad-lg] { padding:72px 24px !important; }
  [data-r="cards2"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-r="cards3"], [data-r="gallery"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-r="values"] { grid-template-columns:52px minmax(0,1fr) !important; gap:14px 22px !important; padding:26px 0 !important; }
  [data-r="values"] > svg { width:52px; height:52px; }
  [data-r="values"] > h3 { font-size:clamp(30px,6vw,52px) !important; white-space:normal !important; }
  [data-r="values"] > p { grid-column:2 / -1; font-size:15px !important; }
  [data-r="acc"] { padding:30px 24px 0 !important; }
  [data-r="legal"] { grid-template-columns:1fr !important; gap:14px !important; }
  [data-r="acc"] + div > p { padding:12px 24px 26px !important; }
  [data-r="half"] > div { padding:56px 24px !important; }
  [data-r="half"] > [data-r-media] { padding:0 !important; min-height:280px !important; }
  [data-r="team"] { grid-template-columns:1fr !important; }
  [data-r="hero-row"] { flex-direction:column !important; align-items:flex-start !important; gap:18px !important; }
  footer[data-foot] { flex-direction:column !important; align-items:flex-start !important; padding:28px 24px 70px !important; gap:18px !important; }
  iframe[data-mapframe] { min-height:320px; }
  [data-r="half"] > div:not([data-r-media]) { border-right:0 !important; border-left:0 !important; }
  [data-r="half"] > [data-r-media] { min-height:360px !important; height:360px; margin:0 !important; border:0 !important; }
}
@media (max-width:600px) {
  [data-r="cards2"], [data-r="cards3"], [data-r="gallery"] { grid-template-columns:1fr !important; }[data-r="cards2"] > a, [data-r="cards2"] > .o-c > a{ grid-column:auto !important; aspect-ratio:16 / 10 !important; }[data-r="cards2"] > a:first-child, [data-r="cards2"] > .o-c > a:first-child{ aspect-ratio:4 / 3 !important; }[data-r="cards2"] > a:first-child span:nth-child(2), [data-r="cards2"] > .o-c > a:first-child span:nth-child(2){ font-size:26px !important; }
  [data-r="values"] { grid-template-columns:44px minmax(0,1fr) !important; gap:16px 18px !important; padding:22px 0 !important; }
  [data-r="values"] > svg { width:44px; height:44px; }
  [data-r="values"] > h3 { font-size:clamp(26px,7.5vw,40px) !important; white-space:normal !important; }
  [data-r="values"] > p { grid-column:1 / -1; font-size:15px !important; }[data-r="acc"] > span:first-child, [data-r="acc"] > .o-c > span:first-child{ font-size:24px !important; }
  [data-r="stats4"] { grid-template-columns:1fr !important; }
  [data-r="stats4"] > div { border-left:0 !important; border-top:1px solid #22272F; padding:18px 0 !important; text-align:left !important; }
  [data-r="stats4"] > div:first-child { border-top:0; }
  [data-r="half"] > div:not([data-r-media]) { padding:48px 24px !important; }
  [data-r="half"] > [data-r-media] { padding:0 !important; }
  [data-pad-lg] { padding:56px 24px !important; }
  [data-r="acc"] { padding:22px 24px 0 !important; gap:12px !important; grid-template-columns:40px minmax(0,1fr) !important; }[data-r="acc"] > span:last-child, [data-r="acc"] > .o-c > span:last-child{ font-size:22px !important; }
  [data-r="acc"] + div > p { padding:10px 24px 22px !important; font-size:15px !important; }[data-r="cards2"] > a > div:last-of-type, [data-r="cards2"] > .o-c > a > div:last-of-type{ padding:18px 18px 20px !important; }[data-r="cards2"] > a > span:last-child, [data-r="cards2"] > .o-c > a > span:last-child, [data-r="cards2"] > a > .o-c > span:last-child, [data-r="cards2"] > .o-c > a > .o-c > span:last-child{ right:14px !important; top:14px !important; }
  [data-mnav] { padding:88px 24px 32px; }
}

