body {
  margin: 0;
  background-color: #F4E9D6;
  background-repeat: repeat;
  background-size: 620px auto;
  color: #211508;
  font-family: 'Inter', sans-serif;
}
a { color: #D97F2E; text-decoration: none; }
a:hover { color: #B8631C; }

.hov-fill:hover { background:#D97F2E !important; color:#211508 !important; }
.hov-fill-alt:hover { background:#F4E9D6 !important; }
.hov-link:hover { color:#D97F2E !important; border-color:#D97F2E !important; }
.hov-card:hover { transform:translate(-3px,-3px) !important; box-shadow:9px 9px 0 #211508 !important; }

summary::-webkit-details-marker { display: none; }
summary { list-style: none; }
details[open] .lbl-closed { display: none; }
details:not([open]) .lbl-open { display: none; }

/* product tile grid: 3 up on desktop, reflows on its own as space runs out */
.tile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; }

/* hamburger nav (checkbox hack, no JS) */
.nav-toggle-checkbox { display: none; }
.nav-toggle-label { display: none; cursor: pointer; font-size: 28px; line-height: 1; user-select: none; }

@media (max-width: 720px) {
  /* nav collapses into a hamburger menu */
  .site-nav { flex-wrap: wrap; }
  .nav-toggle-label { display: block; }
  .nav-links {
    display: none !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    order: 3;
    padding-top: 16px;
  }
  .nav-toggle-checkbox:checked ~ .nav-links { display: flex !important; }

  /* services cards: icon on top, text below; price wraps under title */
  .svc-summary { flex-direction: column !important; }
  .svc-icon {
    display: block;
    width: 55% !important;
    height: auto !important;
    max-width: 220px;
    margin: 0 auto 4px;
  }
  .svc-title-row { flex-wrap: wrap; }

  /* accordion detail columns + about-page bio layout: stack instead of crowding */
  .svc-detail-grid,
  [style*="grid-template-columns: 0.9fr 1.1fr"] { grid-template-columns: 1fr !important; }

  /* every section on this site uses 56px side padding; too wide for phones */
  [style*="56px"] { padding-left: 20px !important; padding-right: 20px !important; }
}
