* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; }
button { font-family: inherit; }
img { max-width: 100%; }

@keyframes revealUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Service card */
.service-card {
  position: relative;
  background: #0E0D12;
  color: #F1EEE6;
  border-radius: 20px;
  padding: 26px 24px 24px;
  min-height: 280px;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(14,13,18,0.3);
}
.service-card .blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(50px);
  pointer-events: none;
  z-index: 0;
}
.service-card-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Case card */
.case-card {
  background: #FFFFFE;
  border: 1px solid rgba(23,22,28,0.1);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(23,22,28,0.05);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.case-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(23,22,28,0.1);
}

/* Package rows in drawer */
.pkg-row {
  border-top: 1px solid rgba(23,22,28,0.1);
  padding: 16px 0;
}
.pkg-row:first-child { border-top: none; }
.pkg-row-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  gap: 12px;
}
.pkg-row-body {
  display: none;
  margin-top: 12px;
  font-size: 13.5px;
  color: #5B5966;
  line-height: 1.6;
}
.pkg-row.expanded .pkg-row-body { display: block; }

/* Help-option checkboxes */
.help-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  padding: 6px 0;
  cursor: pointer;
}
.help-opt input { accent-color: #17161C; width: 16px; height: 16px; }

@media (max-width: 860px) {
  .navlinks { display: none !important; }
  .navtoggle { display: flex !important; }
  .who-row { grid-template-columns: 1fr !important; gap: 10px !important; }
  .testi-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .testi-grid > div { padding-left: 0 !important; border-left: none !important; padding-top: 28px; border-top: 1px solid rgba(23,22,28,0.14); }
  .testi-grid > div:first-child { border-top: none; padding-top: 0; }
  .services-grid { grid-template-columns: 1fr !important; }
  .cases-grid { grid-template-columns: 1fr !important; }
  .retainer-card { grid-template-columns: 1fr !important; gap: 30px !important; padding: 32px 26px !important; }
  .about-grid { grid-template-columns: 1fr !important; }
  .about-side { max-width: 220px !important; margin-top: 26px; }
  .oneoff-band { flex-wrap: wrap !important; }
  .drawer { width: 100% !important; }
}

@media (max-width: 600px) {
  .service-card { padding: 24px 20px; }
}
