/* Generic responsive grids used across templates — breakpoints (1179/899/539)
   match the mockup's inline <style> media queries exactly. */

.em-grid-2{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}
.em-grid-hero{display:grid;gap:var(--space-8);align-items:center;grid-template-columns:1.1fr 0.9fr}
.em-grid-3{display:grid;gap:var(--space-5);grid-template-columns:repeat(3,1fr)}
.em-grid-4{display:grid;gap:var(--space-3);grid-template-columns:repeat(4,1fr)}
.em-grid-archive{display:grid;gap:var(--space-6);grid-template-columns:repeat(3,1fr)}
.em-grid-answers{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}

@media (max-width:899px){
  .em-grid-hero{grid-template-columns:1fr !important}
  .em-grid-2{grid-template-columns:1fr !important}
  .em-grid-3{grid-template-columns:1fr 1fr !important}
  .em-grid-4{grid-template-columns:1fr 1fr !important}
  .em-grid-archive{grid-template-columns:1fr !important}
}
@media (max-width:639px){
  .em-grid-answers{grid-template-columns:1fr !important}
}
@media (max-width:539px){
  .em-grid-3{grid-template-columns:1fr !important}
  .em-grid-4{grid-template-columns:1fr !important}
}

.em-eyebrow{font:var(--text-label);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent-primary);margin-bottom:var(--space-3)}
.em-eyebrow--inverse{color:var(--accent-secondary)}
.em-eyebrow--muted{color:var(--text-muted)}

.em-section-dark{background:var(--ink-900);color:var(--paper-000)}
.em-section-canvas{background:var(--surface-canvas)}
.em-section-page{background:var(--surface-page)}

.em-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);padding:var(--space-5)}
.em-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}

.em-icon-circle{width:44px;height:44px;border-radius:var(--radius-full);background:var(--accent-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);transition:transform 240ms var(--ease-standard),background 240ms var(--ease-standard),box-shadow 240ms var(--ease-standard)}
.em-icon-circle img{transition:filter 240ms var(--ease-standard)}
.em-card:hover .em-icon-circle,a.em-home__service-card:hover .em-icon-circle{background:var(--accent-secondary);box-shadow:0 0 22px var(--accent-secondary);transform:scale(1.08) rotate(6deg)}
.em-card:hover .em-icon-circle img,a.em-home__service-card:hover .em-icon-circle img{filter:brightness(0) invert(1)}

.em-placeholder-img{width:100%;background:var(--concrete-100);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font:var(--text-caption);text-align:center;padding:var(--space-4);overflow:hidden}
.em-placeholder-img img{width:100%;height:100%;object-fit:cover}
.em-placeholder-img--rounded{border-radius:var(--radius-lg)}

.em-video__placeholder{aspect-ratio:16/9;flex-direction:column;gap:var(--space-4)}
.em-video__play{width:64px;height:64px;border-radius:var(--radius-full);background:var(--accent-primary);display:flex;align-items:center;justify-content:center}
.em-video__play img{width:22px;height:22px;filter:invert(1)}

.em-cmm__logo-wrap{text-align:center;margin-bottom:var(--space-7)}
.em-cmm__logo{width:180px;height:auto}

.em-marquee{overflow:hidden;width:100%}
.em-marquee__track{display:inline-flex;gap:var(--space-5);animation:em-marquee-scroll 30s linear infinite;white-space:nowrap}
.em-marquee:hover .em-marquee__track{animation-play-state:paused}

.em-carousel{display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-3);scrollbar-width:none}
.em-carousel::-webkit-scrollbar{display:none}
.em-carousel > *{scroll-snap-align:start;flex:none}

.em-visually-hidden{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
