 
:root{
  --mz-navy:#061122;
  --mz-navy-2:#0a1828;
  --mz-red:#ef4933;
  --mz-red-d:#8f2315;
  --mz-light:#f6f7f8;
  --mz-ink:#0f172a;
  --mz-soft:#64748b;
  --mz-line:#e6e8ec;
}

body.mainz{
  font-family:'Inter', system-ui, -apple-system, sans-serif;
  color:var(--mz-ink);
  background:#fff;
}
body.mainz h1, body.mainz h2, body.mainz h3{
  font-family:'Plus Jakarta Sans', system-ui, sans-serif;
  color:var(--mz-ink);
  line-height:1.1;
} 
/* ---------- shared bits ---------- */
.mz-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.76rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--mz-red);
}
.mz-eyebrow.dark{ color:var(--mz-red-d); }
.mz-eyebrow.light{ color:#fff; }
.mz-eyebrow.light .mz-dot, .mz-eyebrow .mz-dot{
  width:9px; height:9px; border-radius:50%; background:var(--mz-red);
  box-shadow:0 0 0 0 rgba(239,73,51,.6); animation:mzPulse 2s infinite;
}
@keyframes mzPulse{
  0%{ box-shadow:0 0 0 0 rgba(239,73,51,.55); }
  70%{ box-shadow:0 0 0 12px rgba(239,73,51,0); }
  100%{ box-shadow:0 0 0 0 rgba(239,73,51,0); }
}
.mz-hl{ color:var(--mz-red); }

/* ---------- sections ---------- */
.mz-section{ padding:96px 0; }
.mz-section--alt{ background:var(--mz-light); }
.mz-head{ max-width:680px; margin:0 0 3rem; }
.mz-head .mz-eyebrow{ margin-bottom:.9rem; }
.mz-head h2{
  font-size:clamp(1.8rem, 3.2vw, 2.6rem);
  margin:0 0 1rem;
  position:relative; padding-left:1.1rem;
}
.mz-head h2::before{
  content:""; position:absolute; left:0; top:.15em; bottom:.15em;
  width:5px; border-radius:3px; background:var(--mz-red);
}
.mz-head p{ color:var(--mz-soft); font-size:1.05rem; margin:0; line-height:1.65; }

/* ============================================================
   HERO
   ============================================================ */
.mz-hero{
  position:relative;
  background:var(--mz-navy);
  color:#fff;
  overflow:hidden;
  padding:7rem 0 5rem;
}
.mz-hero__bg{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(239,73,51,.28), transparent 60%),
    radial-gradient(700px 500px at 5% 110%, rgba(239,73,51,.16), transparent 55%),
    linear-gradient(160deg, var(--mz-navy) 0%, var(--mz-navy-2) 100%);
}
.mz-hero__bg::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(circle at 50% 40%, #000, transparent 75%);
          mask-image:radial-gradient(circle at 50% 40%, #000, transparent 75%);
  opacity:.5;
}
.mz-hero__grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center;
}
.mz-hero__text .mz-eyebrow{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  color:#fff; padding:.45rem .9rem; border-radius:999px;
}
body.mainz .mz-hero__text h1{
  color:#fff;
  font-size:clamp(2.2rem, 4.6vw, 3.7rem);
  margin:1.3rem 0 1.2rem;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.mz-lead{
  color:#cbd5e1; font-size:1.12rem; line-height:1.7; max-width:560px; margin:0 0 1.8rem;
}
.mz-lead strong{ color:#fff; }
.mz-hero__ctas{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2rem; }
.mz-hero__ctas .mz-wa.btn-outline{
  background:#25D366; border-color:#25D366; color:#fff;
}
.mz-hero__ctas .mz-wa.btn-outline:hover{ background:#1ebe5d; border-color:#1ebe5d; }
.mz-hero__bullets{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(2, max-content); gap:.7rem 2rem;
}
.mz-hero__bullets li{ display:flex; align-items:center; gap:.6rem; color:#e2e8f0; font-weight:500; }
.mz-hero__bullets i{ color:var(--mz-red); font-size:1.15rem; }

/* glass emergency card */
.mz-hero__card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:1.8rem;
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
body.mainz .mz-hero__card-top h2{ color:#fff; font-size:1.5rem; margin:.6rem 0 .4rem; }
.mz-hero__card-top p{ color:#cbd5e1; font-size:.95rem; margin:0 0 1.3rem; }
.mz-live{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#fff; background:rgba(239,73,51,.22); border:1px solid rgba(239,73,51,.4);
  padding:.35rem .7rem; border-radius:999px;
}
.mz-hero__phone{
  display:flex; align-items:center; gap:.9rem;
  background:var(--mz-red); color:#fff;
  padding:1rem 1.2rem; border-radius:14px;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:1.3rem;
  box-shadow:0 12px 30px rgba(239,73,51,.4);
  transition:transform .2s, box-shadow .2s;
}
.mz-hero__phone:hover{ transform:translateY(-2px); box-shadow:0 16px 38px rgba(239,73,51,.5); }
.mz-hero__phone i{ font-size:1.5rem; }
.mz-hero__phone small{ display:block; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; opacity:.85; }
.mz-hero__mini{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin:1.3rem 0 1.1rem;
}
.mz-hero__mini div{
  text-align:center; padding:.9rem .4rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
}
.mz-hero__mini strong{ display:block; color:#fff; font-family:'Plus Jakarta Sans', sans-serif; font-size:1.15rem; }
.mz-hero__mini span{ font-size:.74rem; color:#94a3b8; }
.mz-hero__trust{ display:flex; align-items:center; gap:.55rem; color:#94a3b8; font-size:.82rem; }
.mz-hero__trust i{ color:#fff; font-size:1rem; }

/* ============================================================
   STATS BAR
   ============================================================ */
.mz-stats{ background:var(--mz-navy-2); }
.mz-stats__row{
  display:grid; grid-template-columns:repeat(5,1fr);
  padding:2.2rem 0;
}
.mz-stat{ text-align:center; position:relative; padding:.3rem 1rem; }
.mz-stat + .mz-stat::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  height:46px; width:1px; background:rgba(255,255,255,.12);
}
.mz-stat__num{
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800;
  font-size:clamp(1.7rem, 2.6vw, 2.3rem); color:#fff;
}
.mz-stat__label{ font-size:.84rem; color:#94a3b8; margin-top:.25rem; }

/* ============================================================
   INTRO
   ============================================================ */
.mz-intro{ padding:80px 0; }
.mz-intro__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;
}
.mz-breadcrumb{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--mz-soft); margin-bottom:1.1rem; }
.mz-breadcrumb a{ color:var(--mz-red-d); font-weight:600; }
.mz-breadcrumb i{ font-size:.7rem; }
.mz-intro__head .mz-eyebrow{ margin-bottom:.8rem; }
.mz-intro__head h2{ font-size:clamp(1.7rem, 3vw, 2.4rem); }
.mz-intro__lead{ color:var(--mz-soft); font-size:1.08rem; line-height:1.8; }
.mz-intro__lead strong{ color:var(--mz-ink); }

/* ============================================================
   SERVICES
   ============================================================ */
.mz-services{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.mz-service{
  position:relative; background:#fff;
  border:1px solid var(--mz-line); border-radius:16px;
  padding:1.6rem 1.4rem 1.4rem;
  overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.mz-service::before{
  content:""; position:absolute; left:0; top:0; height:3px; width:0;
  background:var(--mz-red); transition:width .3s;
}
.mz-service:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(6,17,34,.1); border-color:transparent; }
.mz-service:hover::before{ width:100%; }
.mz-service__no{
  position:absolute; top:1.1rem; right:1.2rem;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:1.4rem;
  color:var(--mz-line);
}
.mz-service__icon{
  width:54px; height:54px; border-radius:13px;
  display:grid; place-items:center; font-size:1.5rem;
  background:rgba(239,73,51,.1); color:var(--mz-red);
  margin-bottom:1rem;
}
.mz-service h3{ font-size:1.15rem; margin:0 0 .5rem; }
.mz-service p{ color:var(--mz-soft); font-size:.92rem; line-height:1.6; margin:0 0 1rem; }
.mz-tag{
  display:inline-block; font-weight:700; font-size:.8rem;
  color:var(--mz-red-d); background:rgba(239,73,51,.1);
  padding:.35rem .7rem; border-radius:999px;
}
.mz-tag--accent{ background:var(--mz-red); color:#fff; }
.mz-service--accent{ background:linear-gradient(160deg, #fff5f3, #fff); border-color:rgba(239,73,51,.35); }

/* ============================================================
   PORTFOLIO
   ============================================================ */
.mz-portfolio{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.mz-pcard{
  background:#fff; border:1px solid var(--mz-line); border-radius:16px;
  padding:1.8rem 1.6rem;
  transition:transform .25s, box-shadow .25s;
}
.mz-pcard:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(6,17,34,.1); }
.mz-pcard__icon{
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; font-size:1.5rem;
  background:var(--mz-red); color:#fff; margin-bottom:1.1rem;
  box-shadow:0 10px 24px rgba(239,73,51,.3);
}
.mz-pcard h3{ font-size:1.2rem; margin:0 0 .6rem; }
.mz-pcard p{ color:var(--mz-soft); font-size:.93rem; line-height:1.65; margin:0 0 1.1rem; }
.mz-link{ display:inline-flex; align-items:center; gap:.4rem; color:var(--mz-red-d); font-weight:700; font-size:.92rem; }
.mz-link:hover{ gap:.7rem; }

/* ============================================================
   PRICING
   ============================================================ */
.mz-pricing{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.mz-plan{
  position:relative; background:#fff;
  border:1px solid var(--mz-line); border-radius:18px;
  padding:1.8rem 1.5rem; display:flex; flex-direction:column;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.mz-plan:hover{ transform:translateY(-5px); box-shadow:0 18px 44px rgba(6,17,34,.12); }
.mz-plan--featured{ border-color:var(--mz-red); box-shadow:0 22px 50px rgba(239,73,51,.18); }
.mz-plan__pop{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--mz-red); color:#fff; font-weight:800; font-size:.7rem;
  letter-spacing:.1em; text-transform:uppercase; padding:.35rem .9rem; border-radius:999px;
}
.mz-plan__label{ font-family:'Plus Jakarta Sans', sans-serif; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mz-red-d); font-weight:700; }
.mz-plan h3{ font-size:1.2rem; margin:.4rem 0 .15rem; }
.mz-plan__sub{ color:var(--mz-soft); font-size:.85rem; margin:0 0 1rem; }
.mz-plan__price{ display:flex; align-items:flex-end; gap:.25rem; margin-bottom:1.1rem; }
.mz-amount{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:2.3rem; line-height:1; color:var(--mz-ink); }
.mz-cur{ font-weight:700; font-size:1.1rem; color:var(--mz-soft); margin-bottom:.3rem; }
.mz-plan ul{ list-style:none; padding:0; display:grid; gap:.55rem; margin:0 0 1.4rem; }
.mz-plan li{ display:flex; gap:.55rem; align-items:flex-start; font-size:.9rem; color:var(--mz-soft); }
.mz-plan li i{ color:#16a34a; font-size:1.05rem; flex:0 0 auto; }
.mz-plan li i.mz-muted{ color:#cbd5e1; }
.mz-plan .btn{ margin-top:auto; }
.mz-price-foot{ text-align:center; margin-top:1.6rem; color:var(--mz-soft); font-size:.9rem; }
.mz-price-foot i{ color:var(--mz-red-d); margin-right:.35rem; }

/* ============================================================
   PREISLISTE
   ============================================================ */
.mz-pl{ display:grid; gap:.7rem; max-width:820px; }
.mz-pl__row{
  display:flex; align-items:center; gap:1.1rem;
  background:#fff; border:1px solid var(--mz-line); border-left:4px solid var(--mz-red);
  border-radius:12px; padding:1rem 1.3rem;
  transition:transform .2s, box-shadow .2s;
}
.mz-pl__row:hover{ transform:translateX(5px); box-shadow:0 12px 28px rgba(6,17,34,.08); }
.mz-pl__no{
  flex:0 0 auto; width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; background:var(--mz-red); color:#fff;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:.95rem;
}
.mz-pl__label{ flex:1; font-weight:600; color:var(--mz-ink); }
.mz-pl__pill{ flex:0 0 auto; background:rgba(239,73,51,.1); color:var(--mz-red-d); font-weight:800; font-size:.85rem; padding:.4rem .9rem; border-radius:999px; }
.mz-hinweis{
  margin-top:2rem; background:#fff; border:1px dashed var(--mz-line);
  border-radius:14px; padding:1.6rem 1.8rem; max-width:820px;
}
.mz-hinweis h3{ font-size:1.05rem; color:var(--mz-red-d); margin:0 0 .8rem; }
.mz-hinweis ul{ margin:0; padding-left:1.1rem; display:grid; gap:.5rem; }
.mz-hinweis li{ color:var(--mz-soft); font-size:.9rem; line-height:1.55; }

/* ============================================================
   PROCESS — vertical timeline
   ============================================================ */
.mz-timeline{ list-style:none; padding:0; margin:0; max-width:760px; position:relative; }
.mz-timeline::before{
  content:""; position:absolute; left:26px; top:10px; bottom:10px; width:2px;
  background:repeating-linear-gradient(var(--mz-red) 0 8px, transparent 8px 16px);
}
.mz-timeline > li{ position:relative; padding-left:0; margin-bottom:1.4rem; }
.mz-timeline > li:last-child{ margin-bottom:0; }
.mz-timeline__no{
  position:absolute; left:0; top:14px; z-index:1;
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center; background:#fff;
  border:2px solid var(--mz-red); color:var(--mz-red);
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:1.05rem;
}
.mz-timeline__body{
  display:flex; align-items:center; gap:1.1rem;
  margin-left:78px; background:#fff;
  border:1px solid var(--mz-line); border-radius:16px;
  padding:1.2rem 1.4rem;
  transition:transform .2s, box-shadow .2s;
}
.mz-timeline__body:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(6,17,34,.1); }
.mz-timeline__icon{
  flex:0 0 auto; width:48px; height:48px; border-radius:12px;
  display:grid; place-items:center; font-size:1.3rem;
  background:rgba(239,73,51,.1); color:var(--mz-red);
}
.mz-timeline__body h3{ font-size:1.1rem; margin:0 0 .25rem; }
.mz-timeline__body p{ color:var(--mz-soft); font-size:.92rem; margin:0; line-height:1.55; }

/* ============================================================
   WHY US — dark
   ============================================================ */
.mz-why{ background:var(--mz-navy); color:#fff; padding:96px 0; position:relative; overflow:hidden; }
.mz-why::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(700px 400px at 90% 0%, rgba(239,73,51,.2), transparent 60%);
}
.mz-why__grid{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
body.mainz .mz-why__text h2{ color:#fff; font-size:clamp(1.8rem, 3.2vw, 2.6rem); margin:.9rem 0 1rem; }
.mz-why__lead{ color:#cbd5e1; line-height:1.7; margin:0 0 1.6rem; }
.mz-why__list{ list-style:none; padding:0; margin:0 0 1.6rem; display:grid; gap:.9rem; }
.mz-why__list li{
  display:flex; gap:.9rem; align-items:flex-start;
  padding:.95rem 1.1rem; background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08); border-radius:12px;
  transition:background .2s, border-color .2s;
}
.mz-why__list li:hover{ background:rgba(239,73,51,.1); border-color:rgba(239,73,51,.4); }
.mz-why__list i{ color:var(--mz-red); font-size:1.4rem; margin-top:2px; }
.mz-why__list strong{ display:block; color:#fff; font-family:'Plus Jakarta Sans', sans-serif; }
.mz-why__list span{ color:#cbd5e1; font-size:.9rem; }
.mz-why__cta{ display:flex; flex-wrap:wrap; gap:.6rem; }

.mz-why__cards{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.mz-bcard{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:16px; padding:1.5rem 1.2rem; text-align:center;
}
.mz-bcard--accent{ background:linear-gradient(135deg, rgba(239,73,51,.2), rgba(239,73,51,.05)); border-color:rgba(239,73,51,.35); }
.mz-bcard__circle{
  width:92px; height:92px; border-radius:50%;
  background:var(--mz-red); color:#fff;
  display:grid; place-items:center; align-content:center; margin:0 auto 1rem;
  box-shadow:0 12px 30px rgba(239,73,51,.4);
}
.mz-bcard__num{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:1.8rem; line-height:1; }
.mz-bcard__unit{ font-size:.78rem; font-weight:700; }
.mz-bcard__stars{ color:#facc15; font-size:1.15rem; margin-bottom:.4rem; display:flex; gap:2px; justify-content:center; }
.mz-bcard__icon{
  width:60px; height:60px; border-radius:14px;
  background:rgba(255,255,255,.08); color:var(--mz-red);
  display:grid; place-items:center; margin:0 auto 1rem; font-size:1.6rem;
}
.mz-bcard strong{ display:block; color:#fff; font-family:'Plus Jakarta Sans', sans-serif; font-size:1.05rem; }
.mz-bcard p{ color:#cbd5e1; font-size:.85rem; margin:.35rem 0 0; }

/* ============================================================
   SERVICE AREAS
   ============================================================ */
.mz-areas{ display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:2.5rem; }
.mz-areas span{
  display:inline-flex; align-items:center; gap:.45rem;
  background:#fff; border:1px solid var(--mz-line); border-radius:999px;
  padding:.55rem 1rem; font-size:.9rem; font-weight:500; color:var(--mz-ink);
  transition:border-color .2s, color .2s, transform .2s;
}
.mz-areas span:hover{ border-color:var(--mz-red); color:var(--mz-red-d); transform:translateY(-2px); }
.mz-areas i{ color:var(--mz-red); }
.mz-map{ position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--mz-line); }
.mz-map__canvas{ width:100%; height:440px; display:block; background:#eef0f2; }
.mz-map__card{
  position:absolute; top:20px; left:20px; z-index:500;
  background:#fff; border-radius:14px; padding:1.2rem 1.4rem;
  box-shadow:0 18px 40px rgba(6,17,34,.18); max-width:240px;
}
.mz-map__card i{ font-size:1.4rem; color:var(--mz-red); }
.mz-map__card strong{ display:block; font-family:'Plus Jakarta Sans', sans-serif; margin:.4rem 0 .25rem; }
.mz-map__card p{ color:var(--mz-soft); font-size:.88rem; margin:0 0 .9rem; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.mz-reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.mz-review{
  background:#fff; border:1px solid var(--mz-line); border-radius:16px;
  padding:1.6rem 1.5rem; position:relative;
  transition:transform .25s, box-shadow .25s;
}
.mz-review::before{
  content:"\201C"; position:absolute; top:.4rem; right:1.2rem;
  font-family:Georgia, serif; font-size:3.5rem; color:rgba(239,73,51,.14); line-height:1;
}
.mz-review:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(6,17,34,.1); }
.mz-review__stars{ color:#facc15; display:flex; gap:2px; margin-bottom:.8rem; }
.mz-review p{ color:var(--mz-ink); line-height:1.65; font-size:.95rem; margin:0 0 1.2rem; }
.mz-review footer{ display:flex; align-items:center; gap:.8rem; }
.mz-review__av{
  width:46px; height:46px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--mz-navy); color:#fff;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:.95rem;
}
.mz-review footer strong{ display:block; font-family:'Plus Jakarta Sans', sans-serif; font-size:.95rem; }
.mz-review footer span{ color:var(--mz-soft); font-size:.85rem; }

/* ============================================================
   FAQ
   ============================================================ */
.mz-faq{ display:grid; gap:.8rem; max-width:860px; }
.mz-faq__item{
  background:#fff; border:1px solid var(--mz-line);
  border-left:4px solid var(--mz-line); border-radius:12px; overflow:hidden;
  transition:border-color .2s, box-shadow .2s;
}
.mz-faq__item[open]{ border-left-color:var(--mz-red); box-shadow:0 12px 30px rgba(6,17,34,.08); }
.mz-faq__item summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  list-style:none; cursor:pointer; padding:1.1rem 1.4rem;
  font-family:'Plus Jakarta Sans', sans-serif; font-weight:700; font-size:1rem; color:var(--mz-ink);
}
.mz-faq__item summary::-webkit-details-marker{ display:none; }
.mz-faq__item summary i{
  flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  background:var(--mz-light); color:var(--mz-ink);
  display:grid; place-items:center; transition:transform .25s, background .25s, color .25s;
}
.mz-faq__item[open] summary i{ transform:rotate(45deg); background:var(--mz-red); color:#fff; }
.mz-faq__item p{ padding:0 1.4rem 1.2rem; margin:0; color:var(--mz-soft); line-height:1.65; }

/* ============================================================
   CTA STRIP
   ============================================================ */
.mz-cta{ background:linear-gradient(135deg, var(--mz-red), var(--mz-red-d)); color:#fff; padding:64px 0; }
.mz-cta__inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
body.mainz .mz-cta__inner h2{ color:#fff; font-size:clamp(1.6rem, 3vw, 2.3rem); margin:.6rem 0 .5rem; }
.mz-cta__inner p{ margin:0; color:rgba(255,255,255,.9); font-weight:500; }
.mz-cta__hl{ background:rgba(255,255,255,.2); padding:0 .4rem; border-radius:6px; }
.mz-cta__buttons{ display:flex; flex-wrap:wrap; gap:.9rem; }

/* ============================================================
   CONTACT
   ============================================================ */
.mz-contact{ max-width:1000px; }
.mz-contact__list{ list-style:none; padding:0; margin:0 0 2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.mz-contact__list li{
  display:flex; gap:.85rem; align-items:flex-start;
  background:#fff; border:1px solid var(--mz-line); border-radius:14px;
  padding:1.1rem 1.2rem; transition:transform .2s, box-shadow .2s, border-color .2s;
}
.mz-contact__list li:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(6,17,34,.08); border-color:var(--mz-red); }
.mz-contact__list li > span{
  flex:0 0 auto; width:46px; height:46px; border-radius:12px;
  background:rgba(239,73,51,.1); color:var(--mz-red-d);
  display:grid; place-items:center; font-size:1.15rem;
}
.mz-contact__list strong{ display:block; font-family:'Plus Jakarta Sans', sans-serif; font-size:.95rem; margin-bottom:.15rem; }
.mz-contact__list a{ color:var(--mz-red-d); font-weight:600; word-break:break-word; }
.mz-contact__actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .mz-hero__grid{ grid-template-columns:1fr; gap:2.5rem; }
  .mz-hero__card{ max-width:480px; }
  .mz-intro__grid{ grid-template-columns:1fr; gap:1.2rem; }
  .mz-services{ grid-template-columns:repeat(2,1fr); }
  .mz-portfolio{ grid-template-columns:repeat(2,1fr); }
  .mz-pricing{ grid-template-columns:repeat(2,1fr); }
  .mz-why__grid{ grid-template-columns:1fr; gap:2.5rem; }
  .mz-reviews{ grid-template-columns:repeat(2,1fr); }
  .mz-contact__list{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px){
  .mz-section{ padding:64px 0; }
  .mz-stats__row{ grid-template-columns:repeat(2,1fr); gap:1.5rem 0; }
  .mz-stat:nth-child(odd)::before{ display:none; }
  .mz-stat:nth-child(5){ grid-column:1 / -1; }
  .mz-services{ grid-template-columns:1fr; }
  .mz-portfolio{ grid-template-columns:1fr; }
  .mz-pricing{ grid-template-columns:1fr; }
  .mz-reviews{ grid-template-columns:1fr; }
  .mz-contact__list{ grid-template-columns:1fr; }
  .mz-hero__bullets{ grid-template-columns:1fr; }
  .mz-cta__inner{ flex-direction:column; align-items:flex-start; }
  .mz-timeline__body{ flex-direction:column; align-items:flex-start; gap:.7rem; }
}
