/* styles/layout.css */
main{display:block}
.section.alt{background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06)}


/* Bulletproof: 2-up mobile grid for homepage Services */
@media (max-width: 600px){
  section#services .cards,
  section#services .services-grid,
  section#services .container,
  section#services > div {
    display:flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
  }
  section#services .service-card,
  section#services .card,
  section#services [class*="card"] {
    flex: 0 0 calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
  }
}



/* Mobile navigation cleanup */
.site-nav { position: relative; z-index: 40; }
.site-nav .nav-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255,255,255,.15); background: linear-gradient(180deg, rgba(18,24,36,.9), rgba(10,14,22,.9)); color: #E6EAF2; box-shadow: 0 6px 18px rgba(0,0,0,.35); }
@media (max-width: 960px){
  .site-nav .nav-toggle { display: inline-flex; }
  .site-nav .nav-list {
    display: none;
    position: absolute;
    top: 64px; right: 16px; left: 16px;
    margin: 0; padding: 12px 10px;
    list-style: none;
    background: rgba(12,16,24,.96);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0,0,0,.45);
  }
  body.mobile-open .site-nav .nav-list { display: block; }
  .site-nav .nav-list li { padding: 10px 8px; border-bottom: 1px solid rgba(255,255,255,.06); }
  .site-nav .nav-list li:last-child { border-bottom: 0; }
  .site-nav .nav-list a { color: #E6EAF2; text-decoration: none; display: block; }
}
@media (min-width: 961px){
  .site-nav .nav-list { display: flex !important; gap: 18px; align-items: center; position: static; background: transparent; border: 0; box-shadow: none; padding: 0; }
}



/* nav:mobile styles */
.site-nav { position: relative; }
.site-nav .nav-toggle {
  display: none; position: absolute; right: 8px; top: 8px;
  width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px; background: rgba(18,24,36,.9); color: #E6EAF2;
  align-items:center; justify-content:center; gap:3px;
}
.site-nav .nav-toggle .bar { display:block; width:20px; height:2px; background:#c8d2ff; border-radius:2px; }
@media (max-width: 960px){
  .site-nav .nav-toggle { display:flex; }
  .site-nav .nav-list {
    display:none; position:absolute; top:56px; right:12px; left:12px; z-index:50;
    padding:12px; margin:0; list-style:none;
    background: rgba(12,16,24,.96); border:1px solid rgba(255,255,255,.08); border-radius:16px;
    box-shadow: 0 24px 60px rgba(0,0,0,.45);
  }
  body.mobile-open .site-nav .nav-list { display:block; }
  .site-nav .nav-list li { border-bottom:1px solid rgba(255,255,255,.06); padding:10px 8px; }
  .site-nav .nav-list li:last-child { border-bottom:0; }
  .site-nav .nav-list a { display:block; color:#E6EAF2; text-decoration:none; }
}
@media (min-width: 961px){
  .site-nav .nav-list { display:flex !important; gap:18px; align-items:center; background:transparent; position:static; padding:0; border:0; box-shadow:none; }
}



/* services: force 2x2 on small screens (home + services) */
@media (max-width: 600px){
  section#services .cards,
  section#services .services-grid,
  section#services .container,
  section#services > div {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px !important;
  }
  section#services [class*="card"] {
    flex: 0 0 calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
  }
}

