/* ============================================================
   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(900px 620px at 92% -8%, oklch(0.66 0.08 78 / 0.14), transparent 62%),
    var(--paper);
  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:1200px; 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: var(--mm-paper-2);
  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:1300px; 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: var(--mm-night); 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: var(--paper); 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:1100px; 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: var(--mm-paper-2); padding: clamp(3rem,5vw,4rem) 1.5rem; text-align:center; border-top:1px solid var(--mm-line); }
.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 / .3) !important;
}
.last-fold-mm__btns .btn-mm--ghost:hover{
  background: oklch(0.22 0.03 255 / .06) !important;
  color: var(--mm-ink) !important;
}

/* ---------- TESTIMONIALS ---------- */
.testi-mm{ background: var(--mm-paper-2); 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:1300px; 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: .7rem;
}
.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: var(--mm-paper-2); }

/* ---------- 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:1300px; 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 (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:14px; 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:18px; 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:1300px; margin:0 auto; 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:2.75rem; padding-right:2.75rem; 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:1200px; 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:3rem; padding-right:3rem; 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;
  margin: 34px 0 0;
}
.media-network__stat {
  background: #ffffff;
  border: 1px solid var(--mm-line);
  border-radius: 14px;
  padding: 22px 16px;
  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; }
}
