/* Extra utility classes */
.site-header{ position:sticky; top:0; z-index:50; background:var(--wp--preset--color--base); border-bottom:1px solid var(--wp--preset--color--contrast-3); }
.site-nav{ display:flex; gap: var(--wp--preset--spacing--30); align-items:center; }
.site-nav ul{ list-style:none; display:flex; gap: var(--wp--preset--spacing--30); margin:0; padding:0; }
.menu-toggle{ display:none; border:1px solid var(--wp--preset--color--contrast-3); padding:.5rem .75rem; border-radius:.5rem; }
@media (max-width: 1024px){
  .menu-toggle{ display:inline-flex; }
  .site-nav{ display:none; }
  .site-nav.is-open{ display:block; }
  .site-nav ul{ display:grid; gap:.75rem; padding:1rem 0; }
}
.hero {
  min-height: 68vh;
  display: grid;
  align-items: center;
  padding-top: clamp(2rem, 5vw, 5rem);
  padding-bottom: clamp(2rem, 5vw, 5rem);
  border-bottom: 1px solid var(--wp--preset--color--contrast-3);
}
.cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--40);
}
@media (max-width: 900px){
  .cards{ grid-template-columns: 1fr; }
}
.card{
  border:1px solid var(--wp--preset--color--contrast-3);
  border-radius: 1rem;
  padding: var(--wp--preset--spacing--40);
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  background: var(--wp--preset--color--base);
}
.cta{
  background:var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  border-radius: 1rem;
  padding: clamp(1.5rem, 3vw, 3rem);
}
.footer{
  border-top:1px solid var(--wp--preset--color--contrast-3);
}
.gallery-grid{
  display:grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--wp--preset--spacing--30);
}
@media (max-width: 900px){
  .gallery-grid{ grid-template-columns: 1fr; }
}
.gallery-grid img{ width:100%; height:auto; border-radius:.75rem; }
.badge{ font-size:.8rem; padding:.2rem .5rem; border-radius:.35rem; border:1px solid currentColor; display:inline-block; }
.small{ font-size:.9rem; }