:root {
  --dh-white: #ffffff;
  --dh-warm-gray-light: #f5f5f4;
  --dh-warm-gray: #e7e5e4;
  --dh-warm-gray-dark: #78716c;
  --dh-text: #292524;
  --dh-amber: #f59e0b;
  --dh-amber-dark: #d97706;
}
.site-srOnly { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Header */
.site-header { padding: 1.5rem; background-color: var(--dh-warm-gray-light); position: sticky; top: 0; z-index: 50; }
.site-header__container { max-width: 1400px; margin: 0 auto; background-color: var(--dh-white); border: 1px solid var(--dh-warm-gray); padding: 1rem 2rem; border-radius: 16px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 4px 20px rgba(41,37,36,0.03); }
.site-brand { display: flex; align-items: center; gap: 0.75rem; font-weight: 800; font-size: 1.25rem; color: var(--dh-text); text-decoration: none; }
.site-brand svg { width: 32px; height: 32px; }
.site-nav { display: flex; gap: 2.5rem; }
.site-nav__link { color: var(--dh-text); text-decoration: none; font-weight: 600; font-size: 1rem; transition: color 0.2s ease; }
.site-nav__link:hover { color: var(--dh-amber-dark); }
.site-header__actions { display: flex; align-items: center; gap: 1rem; }
.site-header__cta { background-color: var(--dh-amber); color: var(--dh-white); padding: 0.75rem 1.75rem; border-radius: 9999px; text-decoration: none; font-weight: 700; font-size: 0.9375rem; transition: background-color 0.2s ease; }
.site-header__cta:hover { background-color: var(--dh-amber-dark); }
.site-burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; background: none; border: 1px solid var(--dh-warm-gray); border-radius: 8px; cursor: pointer; padding: 0 10px; }
.site-burger__line { display: block; width: 100%; height: 2px; background-color: var(--dh-text); border-radius: 2px; transition: transform 0.2s ease; }

/* Footer */
.site-footer { background-color: var(--dh-warm-gray-light); color: var(--dh-text); padding-top: 5rem; border-top: 1px solid var(--dh-warm-gray); margin-top: 4rem; }
.site-footer__container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; }
.site-footer__brand-name { display: block; font-size: 1.5rem; font-weight: 800; margin-bottom: 1rem; }
.site-footer__brand-text { font-size: 1rem; line-height: 1.6; color: var(--dh-warm-gray-dark); max-width: 400px; }
.site-footer__col-title { display: block; font-weight: 800; text-transform: uppercase; font-size: 0.875rem; letter-spacing: 0.05em; margin-bottom: 1.5rem; color: var(--dh-text); }
.site-footer__nav { display: flex; flex-direction: column; gap: 1rem; }
.site-footer__link, .site-footer__contact-link { color: var(--dh-warm-gray-dark); text-decoration: none; font-weight: 500; transition: color 0.2s ease; }
.site-footer__link:hover, .site-footer__contact-link:hover { color: var(--dh-amber-dark); }
.site-footer__bottom { margin-top: 5rem; border-top: 1px solid var(--dh-warm-gray); padding: 2rem 0; }
.site-footer__bottom-container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; text-align: center; font-size: 0.875rem; color: var(--dh-warm-gray-dark); }

/* Mobile Nav */
.site-mobile-nav { position: fixed; inset: 0; z-index: 100; display: flex; justify-content: flex-end; }
.site-mobile-nav[hidden] { display: none; }
.site-mobile-nav__overlay { position: absolute; inset: 0; background-color: rgba(41, 37, 36, 0.4); backdrop-filter: blur(4px); }
.site-mobile-nav__panel { position: relative; width: 100%; max-width: 420px; background-color: var(--dh-white); height: 100%; display: flex; flex-direction: column; box-shadow: -8px 0 32px rgba(41,37,36,0.1); }
.site-mobile-nav__header { padding: 1.5rem 2rem; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--dh-warm-gray-light); }
.site-mobile-nav__brand { font-weight: 800; font-size: 1.25rem; color: var(--dh-text); }
.site-mobile-nav__close { background: none; border: none; font-size: 2.5rem; cursor: pointer; color: var(--dh-warm-gray-dark); line-height: 1; padding: 0; }
.site-mobile-nav__content { padding: 3rem 2rem; display: flex; flex-direction: column; gap: 2rem; flex-grow: 1; overflow-y: auto; }
.site-mobile-nav__link { font-size: 1.5rem; font-weight: 700; color: var(--dh-text); text-decoration: none; transition: color 0.2s ease; }
.site-mobile-nav__link:hover { color: var(--dh-amber-dark); }
.site-mobile-nav__footer { padding: 2rem; background-color: var(--dh-warm-gray-light); display: flex; flex-direction: column; gap: 1.5rem; }
.site-mobile-nav__cta { text-align: center; background-color: var(--dh-amber); color: var(--dh-white); padding: 1.25rem; border-radius: 9999px; text-decoration: none; font-weight: 700; font-size: 1.125rem; }
.site-mobile-nav__contact { text-align: center; color: var(--dh-warm-gray-dark); font-weight: 500; text-decoration: none; }

/* Utilities required by prompt */
.container { width: 100%; max-width: 1400px; margin-left: auto; margin-right: auto; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) {
  .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Responsive Chrome */
@media (max-width: 900px) {
  .site-header { padding: 1rem; }
  .site-header__container { padding: 0.75rem 1.25rem; border-radius: 12px; }
  .site-nav, .site-header__cta { display: none; }
  .site-burger { display: flex; }
  .site-footer__container { grid-template-columns: 1fr; gap: 3rem; }
}
[data-mobile-nav][hidden],[data-mobile-nav].hidden{display:none}
[data-mobile-nav][data-mobile-open="1"]{display:block}
