:root {
  --m3ss-red: #b1141a;
  --m3ss-black: #121212;
  --m3ss-white: #ffffff;
  --m3ss-gray: #f4f4f4;
  --m3ss-border: #dedede;
  --m3ss-text: #222222;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--m3ss-text);
  background: #fff;
  line-height: 1.6;
}
a { color: var(--m3ss-red); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.narrow-container { width: min(860px, calc(100% - 2rem)); margin: 0 auto; }
.topbar { background: var(--m3ss-black); color: #fff; font-size: .9rem; }
.topbar__inner { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; align-items:center; }
.topbar__cta { color:#fff; font-weight:700; }
.site-header { border-bottom: 1px solid var(--m3ss-border); background: #fff; position: sticky; top: 0; z-index: 50; }
.header__inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
.site-title { font-size:1.75rem; font-weight:700; color:var(--m3ss-black); }
.site-description { margin:.25rem 0 0; color:#666; font-size:.95rem; }
.nav-toggle { display:none; border:1px solid var(--m3ss-black); background:#fff; padding:.6rem .9rem; }
.primary-nav .menu { display:flex; gap:1rem; list-style:none; padding:0; margin:0; align-items:center; }
.primary-nav a { color:var(--m3ss-black); font-weight:700; }
.hero { background: linear-gradient(135deg, #111 0%, #1b1b1b 62%, #2b0003 100%); color:#fff; padding:5rem 0; }
.hero__grid { display:grid; grid-template-columns: 1.6fr 1fr; gap:2rem; align-items:center; }
.hero h1 { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height:1.1; margin:.5rem 0 1rem; }
.eyebrow { display:inline-block; color:#ffb3b7; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:700; }
.hero__actions, .cta-band__inner { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.button { display:inline-block; padding:.85rem 1.2rem; border-radius:4px; font-weight:700; }
.button--primary { background:var(--m3ss-red); color:#fff; }
.button--secondary { border:1px solid #fff; color:#fff; }
.hero__card, .content-card, .service-card, .panel-accent { background:#fff; color:var(--m3ss-text); border:1px solid var(--m3ss-border); border-radius:8px; padding:1.5rem; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.section { padding:4rem 0; }
.section--light { background:var(--m3ss-gray); }
.section-heading { margin-bottom:1.5rem; }
.card-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:1.25rem; }
.split-panel { display:grid; grid-template-columns:1.4fr 1fr; gap:1.5rem; align-items:start; }
.panel-accent { border-top:4px solid var(--m3ss-red); }
.cta-band { background:var(--m3ss-black); color:#fff; }
.cta-band__inner { justify-content:space-between; }
.site-main { padding: 2rem 0; }
.content-grid { display:grid; grid-template-columns: minmax(0, 1fr) 300px; gap:1.5rem; }
.sidebar .widget, .site-footer .widget { background:#fff; border:1px solid var(--m3ss-border); padding:1rem; border-radius:8px; }
.site-footer { background:#111; color:#fff; margin-top:3rem; }
.footer__grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:1.5rem; padding:3rem 0; }
.site-footer a { color:#fff; }
.site-info { border-top:1px solid rgba(255,255,255,.15); padding:1rem 0; }
.text-center { text-align:center; }
.site-main--shop ul.products { margin-top:1.5rem; }
@media (max-width: 900px) {
  .hero__grid, .split-panel, .content-grid, .footer__grid, .card-grid { grid-template-columns: 1fr; }
  .nav-toggle { display:block; }
  .primary-nav { display:none; width:100%; }
  .primary-nav.is-open { display:block; }
  .header__inner { flex-wrap:wrap; }
  .primary-nav .menu { flex-direction:column; align-items:flex-start; padding-top:1rem; }
  .topbar__inner { flex-direction:column; align-items:flex-start; }
}
