/* ============================================================
   CN NEWSWIRE — Homepage styles (marketersmedia.com inspired)
   Light editorial theme, red accent, high-contrast readable text.
   ============================================================ */

/* Local tokens: inherit from style.css but allow homepage tuning */
:root{
  --mm-accent: var(--red);
  --mm-accent-deep: var(--red-deep);
  --mm-ink: var(--ink);
  --mm-ink-soft: var(--ink-soft);
  --mm-muted: var(--muted);
  --mm-line: var(--line);
  --mm-paper: #ffffff;
  --mm-paper-2: var(--paper-2);
  --mm-night: var(--night);
  --mm-night-2: var(--night-2);
}

/* ---------- HERO (light) ---------- */
.hero-mm{
  background:
    radial-gradient(1100px 640px at 90% -10%, oklch(0.66 0.08 78 / 0.20), transparent 60%),
    radial-gradient(900px 560px at -6% 115%, oklch(0.53 0.19 27 / 0.10), transparent 55%),
    repeating-linear-gradient(115deg, oklch(0.66 0.08 78 / 0.05) 0 1px, transparent 1px 30px),
    linear-gradient(155deg, oklch(0.992 0.004 85) 0%, oklch(0.972 0.010 80) 46%, oklch(0.952 0.016 74) 100%);
  color: var(--mm-ink);
  padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(3rem, 5vw, 4rem);
  position:relative;
  overflow:hidden;
  min-height: 660px;
}
.hero-mm__inner{
  max-width:1440px; margin:0 auto; padding:0 2rem;
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem;
  position:relative; z-index:1;
}
@media(max-width:899px){
  .hero-mm__inner{ flex-direction:column; text-align:center; }
  .hero-mm .btns{ justify-content:center; }
  .hero-mm__trust{ justify-content:center; }
}

/* Kicker badge */
.hero-mm__kicker{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem 1.1rem; border-radius:999px;
  background: oklch(0.53 0.19 27 / .08);
  border:1px solid oklch(0.53 0.19 27 / .25);
  font-size:.78rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color: var(--red-deep);
  margin-bottom:1.5rem;
}
.hero-mm__kicker::before{
  content:''; width:7px; height:7px; border-radius:50%;
  background: var(--red);
  box-shadow: 0 0 8px oklch(0.53 0.19 27 / .55);
}

.hero-mm h1{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight:700; line-height:1.08; letter-spacing:-0.02em;
  margin:0 0 1.2rem;
  color: var(--mm-ink);
  max-width: 600px;
}
.hero-mm h1 .accent{ color: var(--mm-accent); }
.hero-mm .sub{
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  line-height:1.65; color: var(--mm-ink-soft); max-width:520px; margin:0 0 2rem;
}
.hero-mm .btns{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.8rem; }

.btn-mm{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.9rem 2.2rem; border-radius:999px;
  font-weight:700; font-size:1rem; min-height:52px;
  transition: all .2s ease;
}
.btn-mm--red{ background: var(--mm-accent); color:#fff; }
.btn-mm--red:hover{ background: var(--mm-accent-deep); transform: translateY(-2px); box-shadow: 0 8px 30px oklch(0.53 0.19 27 / .2); }
.btn-mm--ghost{
  background:transparent; color: var(--mm-ink);
  box-shadow: inset 0 0 0 2px oklch(0.22 0.03 255 / .3);
}
.btn-mm--ghost:hover{ background: oklch(0.22 0.03 255 / .05); box-shadow: inset 0 0 0 2px oklch(0.22 0.03 255 / .55); }

/* Trust checklist */
.hero-mm__trust{
  display:flex; flex-wrap:wrap; gap:1.2rem;
  list-style:none; padding:0; margin:0;
  font-size:.88rem; font-weight:600; color: var(--mm-ink-soft);
}
.hero-mm__trust li{
  display:flex; align-items:center; gap:.45rem;
}
.hero-mm__trust li::before{
  content:''; display:inline-block; width:18px; height:18px;
  background: var(--mm-accent); border-radius:50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  background-size:12px; background-position:center; background-repeat:no-repeat;
  flex-shrink:0;
}

/* ---------- HERO MEDIA MARQUEE ("As featured on" outlet logos) ---------- */
.hero-marquee{
  position:relative; margin-top: clamp(2rem, 4vw, 3rem);
  padding: 1.5rem 0 2rem;
  overflow:hidden;
  max-width:100vw;
}
.hero-marquee__title{
  text-align:center; font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em;
  color: var(--mm-muted); margin-bottom:1.5rem;
  max-width:100%;
}
.hero-marquee__track{
  display:flex; gap:2.5rem; align-items:center;
  width:max-content;
  min-width:100%;
  overflow:hidden;
  animation: mmScroll 45s linear infinite;
}
.hero-marquee__track:hover{ animation-play-state: paused; }
.hero-marquee__track img{
  height: 34px; width:auto; flex-shrink:0; max-width: none; min-width:0;
  background: #fff;
  padding: 6px 14px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
  object-fit: contain;
  opacity: .95;
  display:block;
  white-space: nowrap;
}
.hero-marquee__track img:hover{ transform: translateY(-2px); opacity: 1; }
@keyframes mmScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .hero-marquee__track{ animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
  .hero-marquee__track img{ max-width: 140px; }
}
@media(max-width:768px){
  .hero-marquee__track{ gap:1.2rem; overflow-x:auto; }
  .hero-marquee__track img{ height: 28px; padding: 4px 10px; max-width: 110px; }
}

/* ---------- REVIEW TOP ---------- */
.review-top{
  background:#fff; padding: clamp(2.5rem,5vw,4rem) 1.5rem;
  text-align:center;
  overflow:hidden;
}
.review-top__inner{ max-width:1000px; margin:0 auto; }
.review-top__text{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  font-style:italic; line-height:1.6; color: var(--mm-ink);
  margin:0 0 1.5rem;
}
.review-top__text .black{ font-style:normal; font-weight:700; color:#000; }
.review-top__author{ display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
.review-top__author img{ width:56px; height:56px; border-radius:50%; object-fit:cover; }
.review-top__name{ font-weight:700; color:var(--mm-ink); }

/* ---------- HERO MEDIA WALL (extends to viewport edge) ---------- */
.hero-mm__visual{
  position:absolute;
  right:0; top:50%; transform:translateY(-50%);
  width: 52%;
  max-width: 760px;
  z-index:0;
}
@media(max-width:899px){
  .hero-mm__visual{
    position:relative; right:auto; top:auto; transform:none;
    width:100%; max-width:100%;
    margin-top:2rem;
  }
}
/* ---------- CLIENT LOGO STRIP ---------- */
.logo-strip-mm{
  background: var(--mm-paper);
  padding: clamp(2.5rem,4vw,3rem) 1.5rem;
  border-top:1px solid var(--mm-line);
  border-bottom:1px solid var(--mm-line);
  overflow:hidden;
}
.logo-strip-mm__title{
  text-align:center; font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em;
  color: var(--mm-muted); margin-bottom:2rem;
}
.logo-strip-mm__track{
  display: flex;
  width: max-content;
  animation: brandScroll 40s linear infinite;
}
.logo-strip-mm__track:hover{ animation-play-state: paused; }
.logo-strip-mm__row{ display: flex; align-items: center; gap: clamp(2.5rem, 5vw, 4.5rem); padding-right: clamp(2.5rem, 5vw, 4.5rem); }
.logo-strip-mm__row img{
  height: 44px; width: auto; flex-shrink: 0;
  object-fit: contain;
  opacity: .95;
  transition: opacity .2s ease, transform .2s ease;
}
.logo-strip-mm__row img:hover{ opacity: 1; transform: translateY(-2px); }
@keyframes brandScroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- NEWSROOM (light) ---------- */
.newsroom-mm{
  background: oklch(0.975 0.008 85);
  color: var(--mm-ink);
  padding: clamp(3rem,6vw,5rem) 0 clamp(3rem,6vw,5rem);
  overflow:hidden;
}
.newsroom-mm__head{
  max-width:1200px; margin:0 auto 2.5rem;
  padding: 0 1.5rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.newsroom-mm__head .label{
  color: var(--mm-muted); font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:.5rem;
}
.newsroom-mm__head h2{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem,3vw,2.4rem); font-weight:700; margin:0;
  color: var(--mm-ink);
}
.newsroom-mm__head a.view{
  color: var(--mm-ink-soft); font-size:.9rem; font-weight:600;
  display:inline-flex; align-items:center; gap:.4rem;
}
.newsroom-mm__head a.view:hover{ color: var(--mm-accent); }
.newsroom-mm__carousel{
  display:flex; gap:1.5rem; overflow-x:auto; padding:0 1.5rem 1rem;
  scroll-snap-type:x mandatory; max-width:1200px; margin:0 auto;
  scrollbar-width:thin; scrollbar-color: oklch(0.22 0.03 255 / .2) transparent;
}
.newsroom-mm__carousel::-webkit-scrollbar{ height:6px; }
.newsroom-mm__carousel::-webkit-scrollbar-thumb{ background:oklch(0.22 0.03 255 / .2); border-radius:3px; }
.news-slide{
  flex: 0 0 240px; height: 300px; border-radius:16px;
  background-color: var(--paper-2);
  background-size:cover; background-position:center;
  position:relative; overflow:hidden; scroll-snap-align:start;
  text-decoration:none; color:#fff;
  transition: transform .25s;
}
.news-slide:hover{ transform: translateY(-4px); }
.news-slide::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.85) 90%);
}
.news-slide h4{
  position:absolute; bottom:3rem; left:1.2rem; right:1.2rem;
  font-size:1.15rem; font-weight:700; z-index:2; margin:0;
  color:#fff;
}
.news-slide .cta{
  position:absolute; bottom:1.2rem; left:1.2rem; z-index:2;
  font-size:.85rem; color: rgba(255,255,255,.82); display:flex; align-items:center; gap:.4rem;
}

/* ---------- SUCCESS STORIES ---------- */
.success-mm{ background: #ffffff; padding: clamp(3rem,6vw,5rem) 1.5rem; text-align:center; }
.success-mm .label{
  color: var(--mm-accent); font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:.6rem;
}
.success-mm h2{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem,3vw,2.4rem); font-weight:700;
  color: var(--mm-ink); margin:0 0 clamp(2rem,4vw,3rem); max-width:800px; margin-left:auto; margin-right:auto;
}
.success-mm__grid{
  display:grid; grid-template-columns:1fr; gap:1.25rem;
  max-width:1200px; margin:0 auto;
}
@media(min-width:700px){ .success-mm__grid{ grid-template-columns: repeat(3, 1fr); } }
.success-card{
  display:block; position:relative; border-radius:16px; overflow:hidden;
  min-height:360px; text-decoration:none; color:#fff;
  background-size:cover; background-position:center;
  transition: transform .25s;
}
.success-card:hover{ transform: translateY(-4px); }
.success-card::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.85) 90%);
}
.success-card h4{
  position:absolute; bottom:3rem; left:1.2rem; right:1.2rem;
  font-size:1.05rem; font-weight:700; z-index:2; margin:0; line-height:1.4;
  color:#fff;
}
.success-card .rcs{
  position:absolute; bottom:1.2rem; left:1.2rem; z-index:2;
  font-size:.85rem; color: rgba(255,255,255,.85); display:flex; align-items:center; gap:.4rem;
}

/* ---------- HOW IT WORKS ---------- */
.how-mm{ background: oklch(0.975 0.008 85); padding: clamp(3rem,6vw,5rem) 1.5rem; text-align:center; }
.how-mm .label{
  color: var(--mm-accent); font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:.6rem;
}
.how-mm h2{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem,3vw,2.4rem); font-weight:700;
  color: var(--mm-ink); margin:0 0 clamp(2rem,4vw,3rem);
}
.how-mm__grid{
  display:grid; grid-template-columns:1fr; gap:2rem;
  max-width:1200px; margin:0 auto;
}
@media(min-width:800px){ .how-mm__grid{ grid-template-columns: repeat(3, 1fr); } }
.how-step__img{
  border-radius:16px; overflow:hidden; margin-bottom:1.2rem;
  background:#fff;
}
.how-step__img img{ width:100%; display:block; }
.how-step h4{ font-size:1.15rem; font-weight:700; color:var(--mm-ink); margin:0 0 .6rem; text-align:left; }
.how-step p{ color: var(--mm-ink-soft); line-height:1.6; text-align:left; margin:0; }
.how-step a{ color: var(--mm-accent); font-weight:600; }

/* ---------- LAST FOLD (G2 + CTA) ---------- */
.last-fold-mm{ background: oklch(0.975 0.008 85); padding: clamp(3rem,5vw,4rem) 1.5rem; text-align:center; border-top:1px solid oklch(1 0 0 / 0.08); }
.last-fold-mm__badges{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap: clamp(1rem,2vw,2rem); margin-bottom: clamp(2rem,4vw,3rem);
}
.last-fold-mm__badges img{ height: 90px; width:auto; }
.last-fold-mm h2{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.8rem,3.5vw,2.6rem); font-weight:700;
  color: var(--mm-ink); margin:0 0 1.5rem;
}
.last-fold-mm__btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.last-fold-mm__btns .btn-mm--ghost{
  color: var(--mm-ink) !important;
  box-shadow: inset 0 0 0 2px oklch(0.22 0.03 255 / .35) !important;
}
.last-fold-mm__btns .btn-mm--ghost:hover{
  background: oklch(0.22 0.03 255 / .06) !important;
  color: var(--mm-ink) !important;
  box-shadow: inset 0 0 0 2px oklch(0.22 0.03 255 / .7) !important;
}

/* ---------- TESTIMONIALS ---------- */
.testi-mm{ background: #ffffff; padding: clamp(2rem,4vw,3rem) 1.5rem clamp(3rem,5vw,4rem); }
.testi-mm__head{ text-align:center; margin-bottom: clamp(2rem,4vw,3rem); }
.testi-mm__head .label{
  color: var(--mm-accent); font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; margin-bottom:.6rem;
}
.testi-mm__head h2{
  font-family:"Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem,3vw,2.4rem); font-weight:700;
  color: var(--mm-ink); margin:0;
}
.testi-mm__grid{
  display:grid; grid-template-columns:1fr; gap:1.5rem;
  max-width:none; margin:0 auto;
}
@media(min-width:700px){ .testi-mm__grid{ grid-template-columns: repeat(2, 1fr); } }
@media(min-width:1100px){ .testi-mm__grid{ grid-template-columns: repeat(3, 1fr); } }
.testi-card{
  background:#fff; border-radius:16px; padding:1.8rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  border:1px solid var(--mm-line);
  display:flex; flex-direction:column; gap:1rem;
}
.testi-card__head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.testi-card__user{ display:flex; align-items:center; gap:.9rem; }
.testi-card__user img{ width:48px; height:48px; border-radius:50%; object-fit:cover; }
.testi-card__name{ font-weight:700; color:var(--mm-ink); font-size:.95rem; margin:0; }
.testi-card__meta{ display:flex; align-items:center; gap:.5rem; }
.testi-card__meta img{ height:14px; }
.testi-card__date{ font-size:.8rem; color:var(--mm-muted); }
.testi-card__src{ height:24px; }
.testi-card__title{ font-weight:700; color:var(--mm-ink); font-size:1rem; margin:0; }
.testi-card__text{ color: var(--mm-ink-soft); line-height:1.6; font-size:.92rem; margin:0; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  
}

/* ---------- Responsive ---------- */
@media(max-width:768px){
  .hero-mm{ padding-top: 2.5rem; }
  .hero-mm h1{ font-size: clamp(1.9rem, 7vw, 2.6rem); }
  .hero-mm .btns{ flex-direction: column; }
  .btn-mm{ width:100%; justify-content:center; }
  
  
  .newsroom-mm__head{ flex-direction:column; align-items:flex-start; }
  .success-mm__grid{ grid-template-columns:1fr; }
  .testi-mm__grid{ grid-template-columns:1fr; }
}

/* ---------- HERO MEDIA WALL (3-col vertical scroll) - unified ---------- */
.hero-mm__visual{ align-self:center; }

/* ---------- VALUE GRID (compact solutions) ---------- */
.value-grid{
  max-width: 1200px; margin: 0 auto; padding: 0 1.5rem 1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.value-card{
  background: var(--mm-paper, var(--white-soft));
  border: 1px solid var(--mm-line, var(--line));
  border-radius: 16px;
  padding: 28px 26px 24px;
  display: flex; flex-direction: column; gap: 10px;
  box-shadow: 0 1px 3px oklch(0.22 0.03 255 / .04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.value-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 34px oklch(0.22 0.03 255 / .09);
  border-color: oklch(0.53 0.19 27 / .28);
}
.value-card__icon{
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  background: oklch(0.53 0.19 27 / .07);
  border-radius: 12px;
  margin-bottom: 4px;
}
.value-card__q{
  font-size: .8rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  color: var(--mm-accent, var(--red));
}
.value-card h3{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.28rem; line-height: 1.25;
  color: var(--mm-ink, var(--ink));
  margin: 0;
}
.value-card__text{
  font-size: .95rem; line-height: 1.65;
  color: var(--mm-ink-soft, var(--ink-soft));
  margin: 0 0 6px;
  flex: 1;
}
.value-card__cta{
  font-weight: 700; font-size: .92rem;
  color: var(--mm-accent-deep, var(--red-deep));
}
.value-card__cta:hover{ text-decoration: underline; }
.value-card--cta{
  background: linear-gradient(135deg, var(--mm-accent, var(--red)) 0%, var(--mm-accent-deep, var(--red-deep)) 100%);
  border: none;
  justify-content: center;
}
.value-card--cta .value-card__q{ color: rgba(255,255,255,.85); }
.value-card--cta h3{ color: #ffffff; }
.value-card--cta .value-card__text{ color: rgba(255,255,255,.92); }
.value-card--cta .btn-mm--red{
  background: #ffffff; color: var(--mm-accent-deep, var(--red-deep));
  display: inline-block; width: fit-content;
  padding: 12px 26px; border-radius: 10px;
  font-weight: 800; font-size: .95rem;
}
.value-card--cta .btn-mm--red:hover{ background: rgba(255, 245, 245, 0.95); }


/* ============================================================
   REDESIGN ADDITIONS — unified heads, hero trust, stats, quote
   ============================================================ */

/* ---------- unified section head ---------- */
.sec-head{
  max-width: 860px;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  padding: 0 1.5rem;
  text-align: center;
}
.sec-head__label{
  color: var(--mm-accent); font-size: .8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em; margin-bottom:1.2rem;
}
.sec-head h2{
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 700;
  color: var(--mm-ink); margin: 0 0 .9rem; line-height: 1.2;
}
.sec-head__sub{
  color: var(--mm-muted); font-size: 1.02rem; line-height: 1.65; margin: 0;
}
.solutions-mm{ padding: clamp(3rem, 6vw, 5rem) 0 0; background: oklch(0.975 0.008 85); }

/* ---------- hero kicker + trust chips ---------- */
.hero-mm__kicker{
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--red-deep);
  padding: .45rem 1.1rem; border-radius: 999px;
  background: oklch(0.53 0.19 27 / .08);
  box-shadow: inset 0 0 0 1px oklch(0.53 0.19 27 / .25);
  margin: 0 0 1.4rem;
}
.hero-mm__kicker::before{
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--red); box-shadow: 0 0 10px oklch(0.53 0.19 27 / .55);
}
.hero-mm__trust{
  display: flex; flex-wrap: wrap; gap: .8rem 1.8rem;
  list-style: none; margin: 1.6rem 0 0; padding: 0;
}
.hero-mm__trust li{
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .88rem; font-weight: 600; color: var(--mm-ink-soft);
}
.hero-mm__trust li::before{
  content: "\2713"; color: var(--mm-accent); font-weight: 800; font-size: .95rem;
}

/* ---------- stats band ---------- */
.stats-band{
  background:
    radial-gradient(ellipse at 85% 10%, oklch(0.66 0.08 78 / .18) 0%, transparent 55%),
    var(--mm-night-2);
  padding: clamp(2.6rem, 5vw, 4rem) 1.5rem;
}
.stats-band__inner{
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1rem;
}
@media(min-width:800px){ .stats-band__inner{ grid-template-columns: repeat(4, 1fr); } }
.stat{ text-align: center; }
.stat__num{
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 700;
  color: var(--white-soft); line-height: 1.05; margin-bottom: .45rem;
}
.stat__label{
  font-size: .82rem; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: oklch(0.85 0.02 250);
}

/* ---------- value card icons (SVG) ---------- */
.value-card__icon svg{ width: 24px; height: 24px; color: var(--mm-accent); }
.value-card--cta{ justify-content: center; text-align: left; }

/* ---------- testimonial marquee ---------- */
.testi-marquee{ overflow: hidden; }
.testi-marquee__track{
  display: flex;
  width: max-content;
  animation: testiScroll 70s linear infinite;
}
.testi-marquee__track:hover{ animation-play-state: paused; }
.testi-set{
  display: flex; align-items: stretch;
  gap: 1.5rem; padding-right: 1.5rem;
}
.testi-set .testi-card{ flex: 0 0 min(400px, 84vw); }
@keyframes testiScroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- marquee pause for reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .logo-strip-mm__track{ animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
}

/* ---------- responsive additions ---------- */
@media(max-width:768px){
  .hero-mm__kicker{ font-size: .7rem; }
  .hero-mm__trust{ gap: .5rem 1.2rem; }
  .stats-band__inner{ gap: 1.6rem .8rem; }
  .logo-strip-mm__row img{ height: 34px; }
}

/* ---------- newsroom category badge ---------- */
.news-slide__cat{
  position: absolute; top: 1.2rem; left: 1.2rem; z-index: 2;
  background: oklch(0.53 0.19 27 / .92); color: #fff;
  font-size: .68rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase;
  padding: .32rem .75rem; border-radius: 999px;
  max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ---------- media-wall mobile sizing ---------- */
@media(max-width:768px){
  .media-wall{ grid-template-columns: repeat(2, 1fr); height: 320px; padding: 10px; gap: 10px; border-radius: 16px; }
  .media-wall__col:nth-child(3){ display: none; }
  .media-wall__tile{ height: 62px; margin-bottom: 10px; border-radius: 10px; }
  .media-wall__tile img{ height: 34px; }
}

/* ============================================================
   POLISH — spacing, typography, visual hierarchy
   ============================================================ */

/* Improve section rhythm */
.solutions-mm + .stats-band{ margin-top: 0; }
.how-mm, .success-mm, .testi-mm{ scroll-margin-top: 80px; }

/* Better card hover states */
.value-card{ will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .value-card:hover{ transform: none; }
}

/* Improve newsroom carousel */
.newsroom-mm__carousel{ padding-bottom: 1.5rem; }
.news-slide{ will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .news-slide:hover{ transform: none; }
}

/* Improve success cards */
.success-card{ will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .success-card:hover{ transform: none; }
}

/* Better testimonial cards */
.testi-card{ transition: border-color .2s ease; }
.testi-card:hover{ border-color: oklch(0.53 0.19 27 / 0.2); }

/* Improve logo strip */
.logo-strip-mm__row img{ will-change: transform; }
@media (prefers-reduced-motion: reduce){
  .logo-strip-mm__row img:hover{ transform: none; }
}

/* ============================================================
   HOMEPAGE REDESIGN — unified rhythm & cleanup (2026-08-18)
   Vertical rhythm: desktop 96px / tablet 72px / mobile 48px
   ============================================================ */

/* 1. Unified section rhythm — root out zero-gap adjacency */
.hero-mm,
.solutions-mm,
.newsroom-mm,
.success-mm,
.how-mm,
.testi-mm,
.last-fold-mm{
  padding-top: 96px;
  padding-bottom: 96px;
}
.solutions-mm,
.success-mm,
.how-mm,
.testi-mm,
.last-fold-mm{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.hero-mm,
.newsroom-mm{
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 768px) and (max-width: 1199px){
  .hero-mm,
  .solutions-mm,
  .newsroom-mm,
  .success-mm,
  .how-mm,
  .testi-mm,
  .last-fold-mm{
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
@media (max-width: 767px){
  .hero-mm,
  .solutions-mm,
  .newsroom-mm,
  .success-mm,
  .how-mm,
  .testi-mm,
  .last-fold-mm{
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* Hero marquee sits inside hero padding — drop extra vertical padding */
.hero-marquee{
  padding: 0 0 6px;
}

/* 2. Merged review block inside testimonials (was review-top) */
.testi-mm__quote{
  max-width: 860px;
  margin: 0 auto clamp(2.5rem, 4vw, 3.5rem);
  text-align: center;
}
.testi-mm__quote-text{
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  font-style: italic;
  line-height: 1.6;
  color: var(--mm-ink);
  margin: 0 0 1.5rem;
}
.testi-mm__quote-text strong{
  font-style: normal;
  font-weight: 700;
  color: #000;
}
.testi-mm__quote-author{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.testi-mm__quote-author img{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}
.testi-mm__quote-author span{
  font-weight: 700;
  color: var(--mm-ink);
}

/* 3. Fix star rating aspect ratio (rate-orange.webp 76x12) */
.testi-card__meta img{
  height: 14px;
  width: auto;
  flex-shrink: 0;
  object-fit: contain;
}

/* 4. Unify news card title / Read More baseline */
.news-slide h4{
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-slide .cta{
  line-height: 1;
}

/* 5. Unified section heading rhythm */
.success-mm > .label,
.how-mm > .label,
.testi-mm__head > .label{
  letter-spacing: .14em;
  margin-bottom: .7rem;
}
.success-mm > h2,
.how-mm > h2,
.testi-mm__head h2{
  line-height: 1.2;
}


/* ==================== MEDIA NETWORK (independent section) ==================== */
.media-network{
  background: var(--mm-night);
  padding: clamp(2rem,4vw,3rem) 1.5rem clamp(3rem,5vw,4rem);
}
.media-network__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1rem 1.25rem;
  align-items:center;
  max-width:1300px; margin:0 auto;
}
.media-network__grid img{
  height:34px; width:auto; max-width:100%;
  object-fit:contain; margin:0 auto;
  filter:grayscale(1); opacity:.72;
  transition:opacity .2s ease, filter .2s ease;
}
.media-network__grid img:hover{ filter:grayscale(0); opacity:1; }

/* ==================== BRAND WALL ==================== */
.brand-wall{
  background: var(--mm-night);
  border-top:1px solid var(--mm-line, var(--line));
  padding: clamp(2rem,4vw,3rem) 1.5rem clamp(3rem,5vw,4rem);
}
.brand-wall__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:1.25rem 1.5rem;
  align-items:center;
  max-width:1100px; margin:0 auto;
}
.brand-wall__grid img{
  height:30px; width:auto; max-width:100%;
  object-fit:contain; margin:0 auto;
  filter:grayscale(1); opacity:.6;
  transition:opacity .2s ease, filter .2s ease;
}
.brand-wall__grid img:hover{ filter:grayscale(0); opacity:1; }

/* ==================== NEWSROOM latest 5 ==================== */
.newsroom-mm__list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.25rem;
  max-width:1300px; margin:0 auto;
  padding:0 1.5rem;
}
.news-card{
  background:#fff;
  border:1px solid var(--mm-line);
  border-radius:16px;
  padding:1.4rem 1.3rem;
  display:flex; flex-direction:column; gap:.55rem;
  color: var(--mm-ink); text-decoration:none;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.news-card:hover{ background:var(--paper-2); border-color: oklch(0.53 0.19 27 / .28); transform:translateY(-3px); }
.news-card__img{ width:100%; height:110px; object-fit:cover; border-radius:10px; }
.news-card__cat{
  align-self:flex-start;
  font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:#b45309; background:rgba(255,209,102,.25);
  padding:.25rem .6rem; border-radius:999px;
}
.news-card h4{
  font-size:1rem; line-height:1.35; margin:0;
  font-weight:700;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.news-card__sum{
  font-size:.86rem; line-height:1.5; color: var(--mm-muted); margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.news-card__date{ font-size:.76rem; color: var(--mm-muted); margin-top:auto; }
.newsroom-mm__empty{ color: var(--mm-muted); text-align:center; grid-column:1/-1; padding:2rem 0; }

/* ==================== TESTIMONIALS horizontal scroll ==================== */
.testi-mm__grid{
  display:flex !important;
  gap:1.5rem;
  overflow-x:auto;
  padding:0.25rem 1.5rem 1.25rem;
  scroll-padding-inline: 1.5rem;
  scroll-snap-type:x mandatory;
  max-width:none; margin:0 auto;
  scrollbar-width:thin;
  scrollbar-color: rgba(0,0,0,.18) transparent;
}
.testi-mm__grid::-webkit-scrollbar{ height:8px; }
.testi-mm__grid::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.18); border-radius:99px; }
.testi-mm__grid::-webkit-scrollbar-track{ background:transparent; }
.testi-mm__grid > .testi-card{
  flex:0 0 340px;
  scroll-snap-align:start;
}
@media(min-width:1600px){
  .testi-mm__grid > .testi-card{ flex:0 0 380px; }
}

@media (max-width: 900px){
  .newsroom-mm__list{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px){
  .newsroom-mm__list{ grid-template-columns:1fr; }
  .testi-mm__grid > .testi-card{ flex-basis: 82vw; }
}


/* ==================== G1-G6 / LIGHT THEME ADDITIONS ==================== */
/* G1: banner overflow guard — white magazine card container on deep ink hero */
.hero-mm__visual{
  overflow:hidden; border-radius:20px;
  background:#fff;
  padding:14px;
  box-shadow: 0 30px 60px oklch(0 0 0 / 0.28);
}
.hero-logo-wall{ overflow:hidden; }
.hero-logo-wall__track{ display:flex; flex-direction:column; gap:18px; width:100%; }
.hero-logo-wall__row{ display:flex; gap:16px; width:max-content; animation:heroLogoScroll 22s linear infinite; }
.hero-logo-wall__row--reverse{ animation-direction:reverse; animation-duration:30s; }
.hero-logo-wall__row:hover{ animation-play-state:paused; }
.hero-logo-wall__row img{ height:80px; width:auto; flex-shrink:0; max-width:none; background:#fff; border:1px solid oklch(0.22 0.03 255 / .1); border-radius:12px; padding:6px 12px; box-shadow:0 10px 24px oklch(0.22 0.03 255 / .12); }
.hero-logo-wall__caption{ margin-top:26px; text-align:center; font-size:.85rem; font-weight:600; letter-spacing:.04em; color:var(--mm-muted); }
@keyframes heroLogoScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media(max-width:899px){ .hero-logo-wall__row img{ height:60px; padding:6px 10px; } }
@media (prefers-reduced-motion: reduce){ .hero-logo-wall__row{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; } }

/* G3: media network two-row colored marquee */
.media-network__marquee{ overflow:hidden; max-width:none; margin:10px auto 0; padding:0.5rem 0 0.25rem; }
.media-network__marquee:hover .media-network__row{ animation-play-state: paused; }
.media-network__row{ display:flex; align-items:center; width:max-content; gap:3.25rem; padding-right:3.25rem; animation: mediaRowScroll 55s linear infinite; }
.media-network__row--reverse{ animation-direction: reverse; }
.media-network__row img{ height:64px; width:auto; max-width:none; object-fit:contain; filter:none; opacity:1; flex-shrink:0; transition: transform .2s ease; }
.media-network__row img:hover{ transform: translateY(-2px); }
@keyframes mediaRowScroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* G6: brand wall colored marquee */
.brand-wall__marquee{ overflow:hidden; max-width:none; margin:0 auto; padding:0.5rem 0 0.25rem; }
.brand-wall__marquee:hover .brand-wall__row{ animation-play-state: paused; }
.brand-wall__row{ display:flex; align-items:center; width:max-content; gap:3.5rem; padding-right:3.5rem; animation: brandWallScroll 45s linear infinite; }
.brand-wall__row img{ height:56px; width:auto; max-width:none; object-fit:contain; filter:none; opacity:1; flex-shrink:0; transition: transform .2s ease; }
.brand-wall__row img:hover{ transform: translateY(-2px); }
@keyframes brandWallScroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* G4: value grid responsive 3-col */
@media (max-width: 900px){ .value-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .value-grid{ grid-template-columns: 1fr; } }

/* reduced motion fallback */
@media (prefers-reduced-motion: reduce){
  .media-network__row, .brand-wall__row{ animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
}
/* ============================================================
   EMPHASIS PASS - homepage
   ============================================================ */
/* 1) Primary CTA emphasis */
.btn-mm--red {
  font-weight: 800;
  box-shadow: 0 10px 26px oklch(0.53 0.19 27 / 0.14);
}
.btn-mm--red:hover { box-shadow: 0 14px 34px oklch(0.53 0.19 27 / 0.22); }
.btn-mm--ghost { font-weight: 700; }

/* 2) Heading hierarchy: bold deep ink */
.hero-mm h1 { font-weight: 800; }
.newsroom-mm__head h2,
.solutions-mm__head h2,
.how-mm__head h2,
.success-mm__head h2,
.testi-mm__head h2,
.pricing-mm__head h2,
.faq-mm__head h2 {
  font-weight: 800;
  color: var(--mm-ink);
}

/* 3) Stat numbers: large bold brand red */
.stats-band .stat__num {
  font-weight: 800;
  color: var(--white-soft);
}
.stats-band .stat__label { font-weight: 700; color: oklch(0.85 0.02 250); }

/* 4) Card hover feedback: border + shadow */
.testi-card {
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.testi-card:hover {
  transform: translateY(-4px);
  border-color: oklch(0.53 0.19 27 / 0.35);
  box-shadow: 0 14px 30px oklch(0.22 0.03 255 / 0.10);
}

/* 5) Media wall / client logo strip: deeper border for pause */
.logo-strip-mm {
  border-top: 2px solid var(--mm-line);
  border-bottom: 2px solid var(--mm-line);
  box-shadow: inset 0 1px 0 #fff;
}

/* ============================================================
   STATS EMPHASIS (legacy acceptance - homepage stat number brand color)
   ============================================================ */
.sec-head__sub strong.mm-stat {
  color: var(--mm-accent, var(--red));
  font-weight: 800;
}
.media-network__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: none;
  margin: 44px auto 0;
}
.media-network__stat {
  background: #ffffff;
  border: 1px solid var(--mm-line);
  border-radius: 14px;
  padding: 24px 20px;
  text-align: center;
  box-shadow: 0 6px 18px oklch(0.22 0.03 255 / 0.08);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.media-network__stat:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px oklch(0.66 0.08 78 / 0.22);
}
.media-network__num {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.1;
  color: var(--mm-ink);
}
.media-network__label {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mm-muted);
}
@media (max-width: 700px) {
  .media-network__stats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ============================================================
   VISUAL POLISH — color harmony, logo walls, card tones (2026-08-28)
   Goals: unify logo strips to elegant grayscale, soften the red
   CTA block, tone dark case cards to ink-blue night, refine hero.
   ============================================================ */

/* 1. Brand wall (TRUSTED BY): original brand colors, uniform height */
.brand-wall__row img{
  height: 44px;
  filter: none;
  opacity: 1;
  transition: transform .2s ease;
}
.brand-wall__row img:hover{ transform: translateY(-2px); }

/* 2. Media network wall: original colors, uniform height */
.media-network__row img{
  height: 48px;
  filter: none;
  opacity: 1;
  transition: transform .2s ease;
}
.media-network__row img:hover{ transform: translateY(-2px); }

/* 3. Red CTA card: calmer, deeper gradient — less saturated mass */
.value-card--cta{
  background: linear-gradient(150deg, oklch(0.56 0.15 27) 0%, oklch(0.43 0.15 25) 100%);
}

/* 4. Success / news cards: unify photo tone to ink-blue night
   (fixes the odd green fiverr card; consistent editorial dark) */
.success-card{ background-color: oklch(0.3 0.025 258); }
.success-card::before{
  background: linear-gradient(180deg, oklch(0.3 0.025 258 / .38) 0%, oklch(0.22 0.03 258 / .93) 88%);
}
.news-slide{ background-color: oklch(0.3 0.025 258); }
.news-slide::before{
  background: linear-gradient(180deg, oklch(0.3 0.025 258 / .38) 0%, oklch(0.22 0.03 258 / .93) 88%);
}

/* 5. Hero marquee chips: lighter shadow, slightly receded */
.hero-marquee__track img{
  box-shadow: 0 2px 8px oklch(0.22 0.03 255 / .1);
  opacity: .92;
}

/* 6. Primary red button: soft resting shadow for affordance */
.btn-mm--red{ box-shadow: 0 4px 14px oklch(0.53 0.19 27 / .18); }

/* 7. Hero H1: slight optical tightening */
.hero-mm h1{ font-size: clamp(2.4rem, 5.2vw, 3.95rem); }

/* 8. Hero media-wall tiles: soften chip shadows to match marquee */

/* 9. Hero H1: balanced line breaks */
.hero-mm h1{ text-wrap: balance; }

/* ============================================================
   HERO COPY RESTRUCTURE (2026-08-28 am, tuned to PRCW reference:
   even, compact type scale — no oversized headline)
   kicker -> brand -> tagline -> H1 -> buttons (trust list removed)
   ============================================================ */
/* kicker: keep the original pill style, only adjust spacing */
.hero-mm__kicker{ margin: 0 0 1.6rem; }
.hero-mm__brand{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.7rem; font-weight: 700; line-height: 1.25;
  color: var(--mm-ink);
  margin: 0 0 .35rem;
}
.hero-mm__tagline{
  font-size: 1.08rem; line-height: 1.6;
  color: var(--mm-muted);
  margin: 0 0 1.9rem;
}
.hero-mm h1{
  font-size: clamp(1.7rem, 2.5vw, 2.25rem);
  line-height: 1.35;
  letter-spacing: -0.01em;
  max-width: 560px;
  margin: 0 0 2rem;
}
.hero-mm .btns{ margin-bottom: 0; gap: .8rem; }
.hero-mm .btns .btn-mm{
  padding: .62rem 1.6rem; min-height: 44px;
  font-size: .92rem; border-radius: 10px;
}

/* kicker: strip pill decoration — plain small uppercase label */
.hero-mm__kicker{
  padding: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}
.hero-mm__kicker::before{ content: none; }
.hero-mm__kicker{ border: none; }

/* ============================================================
   SUCCESS STORY — CASE CAROUSEL (2026-08-30)
   Full-width three-visible slider: 3 cards on desktop, 1 on mobile.
   Image slot: 2:3 portrait — watermarked before upload.
   ============================================================ */
.cases-mm{
  background: #ffffff;
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(3.2rem, 6vw, 5.5rem);
  overflow: hidden;
}
.cases-mm__head{
  max-width: 1200px; margin: 0 auto clamp(2rem, 4vw, 3rem);
  padding: 0 1.5rem; text-align: center;
}
.cases-mm__head .label{
  color: var(--mm-accent); font-size: .8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em; margin: 0 0 .7rem;
}
.cases-mm__head h2{
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 700; line-height: 1.2;
  color: var(--mm-ink); margin: 0;
}

.cases-mm__stage{ position: relative; }
.cases-mm__viewport{ overflow: hidden; padding-block: .5rem; }
.cases-mm__track{
  display: flex; align-items: stretch; gap: 24px;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

.case-slide{
  /* card width scales with viewport but stays between 280–380px,
     so wide screens get breathing room on both sides */
  flex: 0 0 clamp(280px, 24vw, 380px);
  width: clamp(280px, 24vw, 380px);
  opacity: 1;
  transition: opacity .45s ease, transform .45s cubic-bezier(.22,1,.36,1);
}
.case-slide.is-active{ opacity: 1; }

.case-slide__media{
  position: relative;
  aspect-ratio: 2 / 3;
  border-radius: 16px; overflow: hidden;
  background: oklch(0.96 0.004 255);
  box-shadow: 0 18px 40px oklch(0.22 0.03 255 / .12);
}
.case-slide__media img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}
/* placeholder state: image slot empty — neutral block, no dev-facing text */
.case-slide__ph{
  display: none;
  position: absolute; inset: 0;
  border-radius: 16px;
  background: linear-gradient(160deg, oklch(0.978 0.004 255) 0%, oklch(0.945 0.006 255) 100%);
  box-shadow: inset 0 0 0 1px oklch(0.9 0.006 255);
}
.case-slide__ph::after{
  content: "";
  position: absolute; left: 50%; top: 50%;
  width: 48px; height: 48px; transform: translate(-50%, -50%);
  opacity: .3;
  background: center / contain no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='15' rx='2.5'/%3E%3Ccircle cx='8.6' cy='9.8' r='1.6'/%3E%3Cpath d='M20.6 16.2l-4.8-4.6-5.4 5.2-2.6-2.4-4.4 4'/%3E%3C/svg%3E");
}
.case-slide__media.is-empty .case-slide__ph{ display: block; }

.case-slide__body{ padding: 1.15rem .5rem 0; text-align: center; }
.case-slide__body h3{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.12rem; line-height: 1.35; font-weight: 700;
  color: var(--mm-ink); margin: 0 0 .45rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.7em; /* reserve 2 lines so every card is the same height */
}
.case-slide__body p{
  font-size: .92rem; line-height: 1.6; color: var(--mm-muted);
  margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 3.2em; /* reserve 2 lines */
}
/* CTA removed 2026-08-30 per user request (was "Read The Case Study →") */

/* arrows */
.cases-mm__nav{
  position: absolute; top: 50%; transform: translateY(-70%);
  width: 46px; height: 46px; border: 1px solid var(--mm-line, var(--line));
  border-radius: 50%; background: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px oklch(0.22 0.03 255 / .1);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
  z-index: 3;
}
.cases-mm__nav:hover{ background: oklch(0.975 0.008 85); border-color: var(--mm-accent); transform: translateY(-70%) scale(1.06); }
.cases-mm__nav svg{ width: 20px; height: 20px; fill: none; stroke: var(--mm-ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cases-mm__nav--prev{ left: 8px; }
.cases-mm__nav--next{ right: 8px; }

/* dots */
.cases-mm__dots{
  display: flex; justify-content: center; gap: .55rem;
  margin-top: 1.8rem;
}
.cases-mm__dot{
  width: 8px; height: 8px; padding: 0; border: none; cursor: pointer;
  border-radius: 999px; background: oklch(0.85 0.008 255);
  transition: width .25s ease, background .25s ease;
}
.cases-mm__dot.is-active{ width: 26px; background: var(--mm-accent); }

/* responsive: mobile shows 1 card with side peek */
@media (max-width: 767px){
  .cases-mm__track{ gap: 16px; padding-inline: 12vw; }
  .case-slide{ flex: 0 0 calc(76vw); width: calc(76vw); opacity: 1; }
  .cases-mm__nav{ width: 38px; height: 38px; }
  .cases-mm__nav--prev{ left: 4px; }
  .cases-mm__nav--next{ right: 4px; }
  .case-slide__body h3{ font-size: 1.02rem; }
}
@media (prefers-reduced-motion: reduce){
  .cases-mm__track{ transition: none; }
  .case-slide{ transition: none; }
}
