/* ============================================================
   Mariela Grossi — editorial web. Pairs with colors_and_type.css.
   Hard edges · paper texture · Kanit display · pink highlight.
   ============================================================ */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--mm-black);
  color: #fff;
  font-family: var(--mm-font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  position: relative;
  overflow-x: hidden;
}
/* paper grain — present, like the carousels (not the faint old 25%) */
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: var(--mm-texture-paper);
  background-size: 680px;
  opacity: .55;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: 0;
}
/* top + bottom vignette */
body::after {
  content: '';
  position: fixed; inset: 0;
  background:
    radial-gradient(120% 60% at 80% -10%, rgba(201,131,154,.12) 0%, transparent 55%),
    linear-gradient(180deg, rgba(7,6,10,.6) 0%, transparent 18%);
  pointer-events: none; z-index: 0;
}
main, nav, footer, section { position: relative; z-index: 1; }
::selection { background: var(--mm-pink); color: #0d0b11; }

.wrap { max-width: 1240px; margin: 0 auto; padding: 0 40px; width: 100%; }
@media (max-width: 640px){ .wrap { padding: 0 24px; } }

.mk { background: rgba(201,131,154,.40); color: #fff; padding: 0 .1em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* ---------------- Buttons (hard-edge rosa slab — signature) ---------------- */
.btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase;
  font-size: 15px; letter-spacing: .01em; line-height: 1;
  padding: 17px 28px; border: none; cursor: pointer; text-decoration: none;
  background: var(--mm-pink); color: #1a0f13;
  transition: transform var(--mm-dur-2) var(--mm-ease), background var(--mm-dur-2);
}
.btn .ar { transition: transform var(--mm-dur-2) var(--mm-ease); }
.btn:hover { transform: translateY(-2px); background: #d895a9; }
.btn:hover .ar { transform: translateX(4px); }
.btn:active { transform: translateY(0) scale(.99); }
.btn--ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.28); }
.btn--ghost:hover { background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); }
.btn--lg { font-size: 17px; padding: 20px 34px; }

/* ---------------- Eyebrow ---------------- */
.eyebrow {
  font-family: var(--mm-font-body); font-weight: 500; font-size: 13px;
  letter-spacing: .22em; text-transform: uppercase; color: var(--mm-pink);
  display: inline-flex; align-items: center; gap: 14px;
}
.eyebrow::before { content:''; width: 34px; height: 2px; background: var(--mm-pink); }

/* ---------------- Section + header ---------------- */
.section { padding: 110px 0; }
.section--tight { padding: 80px 0; }
.shead { border-top: 1px solid var(--mm-hairline); padding-top: 28px; margin-bottom: 56px;
  display: grid; grid-template-columns: auto 1fr; gap: 28px 48px; align-items: start; }
.shead__idx { font-family: var(--mm-font-body); font-size: 13px; letter-spacing: .14em;
  color: var(--mm-pink); padding-top: 10px; white-space: nowrap; }
.shead__title { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(38px, 5.2vw, 76px); line-height: .98; letter-spacing: -.025em; color: #fff; margin: 0; }
.shead__lead { grid-column: 2; font-family: var(--mm-font-body); font-size: 16px; line-height: 1.65;
  color: rgba(255,255,255,.66); max-width: 52ch; margin: 6px 0 0; }
@media (max-width: 720px){
  .shead { grid-template-columns: 1fr; gap: 16px; }
  .shead__lead { grid-column: 1; }
}

/* ---------------- Nav ---------------- */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 60; padding: 20px 0;
  transition: background var(--mm-dur-2) var(--mm-ease), padding var(--mm-dur-2), box-shadow var(--mm-dur-2); }
.nav.is-scrolled { background: rgba(13,11,17,.8); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  padding: 12px 0; box-shadow: 0 1px 0 rgba(255,255,255,.06); }
.nav__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nav__brand { font-family: var(--mm-font-display); font-weight: var(--mm-w-bold); font-style: normal;
  font-size: 22px; color: #fff; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }
.nav__links { display: flex; gap: 30px; }
.nav__link { font-family: var(--mm-font-body); font-size: 13px; letter-spacing: .03em; text-transform: lowercase;
  color: rgba(255,255,255,.64); text-decoration: none; transition: color var(--mm-dur-1); }
.nav__link:hover { color: var(--mm-pink); }
.nav__cta { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 13px;
  letter-spacing: .02em; color: #1a0f13; background: var(--mm-pink); padding: 11px 20px; text-decoration: none;
  transition: transform var(--mm-dur-2) var(--mm-ease); }
.nav__cta:hover { transform: translateY(-2px); }

/* burger — hidden on desktop */
.nav__burger { display: none; width: 42px; height: 42px; padding: 0; background: none; border: 0; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin-left: 4px; }
.nav__burger span { display: block; width: 22px; height: 2px; background: #fff; transition: transform var(--mm-dur-2) var(--mm-ease), opacity var(--mm-dur-1); }
.nav.is-open .nav__burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav.is-open .nav__burger span:nth-child(2) { opacity: 0; }
.nav.is-open .nav__burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobile sheet — sibling of nav, fixed full-screen, solid bg (no backdrop-filter: iOS nested-fixed bug) */
.nav__sheet { display: none; position: fixed; inset: 0; z-index: 55;
  background: #0d0b11;
  opacity: 0; pointer-events: none; transition: opacity var(--mm-dur-2) var(--mm-ease); }
.nav__sheet.is-open { opacity: 1; pointer-events: auto; }
.nav__sheet-in { display: flex; flex-direction: column; gap: 4px; padding: 96px 24px 40px; }
.nav__sheet-link { font-family: var(--mm-font-display); font-weight: var(--mm-w-bold); text-transform: uppercase;
  font-size: 30px; letter-spacing: -.02em; color: #fff; text-decoration: none; padding: 12px 0;
  border-bottom: 1px solid var(--mm-hairline); }
.nav__sheet-link:active { color: var(--mm-pink); }
.nav__sheet-cta { margin-top: 28px; font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase;
  font-size: 15px; letter-spacing: .02em; color: #1a0f13; background: var(--mm-pink); padding: 16px 20px;
  text-align: center; text-decoration: none; }

@media (max-width: 980px){
  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__burger { display: flex; }
  .nav__sheet { display: block; }
}

/* ---------------- Hero ---------------- */
.hero { padding: 188px 0 96px; position: relative; overflow: hidden; }
.hero__glow { position: absolute; width: 1000px; height: 1000px; right: -340px; top: -300px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,131,154,.18) 0%, transparent 62%); pointer-events: none; z-index: -1; }
.hero__eyebrow { margin-bottom: 30px; }
.hero__kick { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(48px, 8vw, 104px); line-height: .94; letter-spacing: -.03em; color: #fff; margin: 0; }
.hero__slabline { margin-top: 14px; display: flex; }
.hero__slab { font-family: var(--mm-font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(48px, 8vw, 104px); line-height: .9; letter-spacing: -.035em; color: #16090d;
  background: var(--mm-pink); padding: 6px 26px 16px; overflow: hidden; position: relative; display: inline-block; }
.hero__word { display: inline-block; animation: wordIn .5s var(--mm-ease); }
@keyframes wordIn { from { opacity: 0; transform: translateY(38%);} to { opacity:1; transform: none;} }
.hero__row { display: flex; align-items: flex-end; gap: 48px; flex-wrap: wrap; margin-top: 44px; }
.hero__sub { font-family: var(--mm-font-body); font-size: 17px; line-height: 1.65; color: rgba(255,255,255,.72);
  max-width: 44ch; margin: 0; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero__scroll { margin-top: 64px; font-family: var(--mm-font-body); font-size: 13px; letter-spacing: .18em;
  color: rgba(255,255,255,.45); text-transform: lowercase; display: inline-flex; align-items: center; gap: 10px; }
.hero__scroll .a { animation: bob 1.8s var(--mm-ease-in-out) infinite; }
@keyframes bob { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(4px);} }

/* ---------------- Stats band ---------------- */
.stats { border-top: 1px solid var(--mm-hairline); border-bottom: 1px solid var(--mm-hairline); }
.stats__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.stat { padding: 56px 40px; border-left: 1px solid var(--mm-hairline); }
.stat:first-child { border-left: none; padding-left: 0; }
.stat__v { font-family: var(--mm-font-display); font-weight: 800; font-size: clamp(54px, 7vw, 92px);
  letter-spacing: -.04em; line-height: .9; color: var(--mm-pink); }
.stat__l { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.6);
  margin-top: 16px; max-width: 22ch; }
@media (max-width: 760px){
  .stats__grid { grid-template-columns: 1fr; }
  .stat { border-left: none; border-top: 1px solid var(--mm-hairline); padding: 32px 0; }
  .stat:first-child { border-top: none; }
}

/* ---------------- Services ---------------- */
.svcs { display: flex; flex-direction: column; }
.svc { display: grid; grid-template-columns: 64px 1fr auto; gap: 32px; align-items: baseline;
  padding: 34px 8px; border-top: 1px solid var(--mm-hairline); cursor: default;
  transition: background var(--mm-dur-2) var(--mm-ease), padding var(--mm-dur-2) var(--mm-ease); }
.svc:last-child { border-bottom: 1px solid var(--mm-hairline); }
.svc:hover { background: rgba(201,131,154,.06); padding-left: 22px; padding-right: 22px; }
.svc__n { font-family: var(--mm-font-body); font-size: 14px; color: var(--mm-pink); letter-spacing: .1em; }
.svc__main { display: flex; flex-direction: column; gap: 12px; }
.svc__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(26px, 3vw, 40px);
  letter-spacing: -.02em; line-height: 1; color: #fff; margin: 0; transition: color var(--mm-dur-2); }
.svc:hover .svc__t { color: var(--mm-pink); }
.svc__d { font-family: var(--mm-font-body); font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.66);
  margin: 0; max-width: 64ch; }
.svc__tag { font-family: var(--mm-font-body); font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.4); white-space: nowrap; align-self: center; }
@media (max-width: 720px){
  .svc { grid-template-columns: 1fr; gap: 14px; }
  .svc__tag { display: none; }
}

/* ---------------- About ---------------- */
.about__grid { display: grid; grid-template-columns: 420px 1fr; gap: 64px; align-items: stretch; }
.about__portrait { position: relative; align-self: start; }
.about__portrait img { width: 100%; display: block; filter: grayscale(.15) contrast(1.02); }
.about__portrait::after { content:''; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
  background: linear-gradient(180deg, transparent 60%, rgba(13,11,17,.5)); pointer-events: none; }
.about__sig { position: absolute; left: 20px; bottom: 18px; z-index: 2;
  font-family: var(--mm-font-display); font-weight: var(--mm-w-bold); text-transform: uppercase; letter-spacing: .03em; font-size: 24px; color: #fff; }
.about__tag { position: absolute; top: 16px; right: 16px; z-index: 3;
  background: var(--mm-pink); color: #16090d; font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: 13px; letter-spacing: .04em; padding: 8px 14px; }
.about__body { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; justify-content: center; }
.about__p { font-family: var(--mm-font-body); font-size: 16px; line-height: 1.75; color: rgba(255,255,255,.78);
  margin: 0; max-width: 54ch; }
.about__big { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(24px,2.6vw,34px);
  letter-spacing: -.02em; line-height: 1.1; color: #fff; margin: 0 0 6px; }
@media (max-width: 860px){ .about__grid { grid-template-columns: 1fr; gap: 40px; } .about__portrait { max-width: 360px; } }

/* ---------------- Process (with ghost word) ---------------- */
.proc { position: relative; }
.proc__ghost { position: absolute; right: -4%; top: 30px; font-family: var(--mm-font-display); font-weight: 900;
  text-transform: uppercase; font-size: clamp(120px, 24vw, 360px); line-height: .8; letter-spacing: -.04em;
  color: rgba(255,255,255,.035); white-space: nowrap; pointer-events: none; z-index: 0; user-select: none; }
@media (max-width: 720px){ .proc__ghost { display: none; } }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 1; }
.step { padding: 36px 26px 36px 0; border-top: 2px solid var(--mm-pink);
  display: flex; flex-direction: column; gap: 16px; }
.step + .step { padding-left: 26px; border-left: 1px solid var(--mm-hairline); }
.step__n { font-family: var(--mm-font-display); font-weight: 800; font-size: 18px; color: var(--mm-pink); letter-spacing: .08em; }
.step__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 21px;
  letter-spacing: -.01em; line-height: 1.1; color: #fff; margin: 0; }
.step__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.66); margin: 0; }
@media (max-width: 860px){ .steps { grid-template-columns: 1fr 1fr; } .step:nth-child(3){ }
  .step + .step { padding-left: 26px; } .step:nth-child(odd){ padding-left: 0; border-left: none; } }
@media (max-width: 520px){ .steps { grid-template-columns: 1fr; } .step, .step + .step { padding-left: 0; border-left: none; } }

/* ---------------- Rupture quote band ---------------- */
.rupture { padding: 120px 0; border-top: 1px solid var(--mm-hairline); border-bottom: 1px solid var(--mm-hairline);
  position: relative; overflow: hidden; }
.rupture__label { position: relative; display: inline-block; margin-bottom: 24px; font-family: var(--mm-font-body);
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-pink); }
.rupture__q { position: relative; font-family: var(--mm-font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(40px, 6.2vw, 96px); line-height: .98; letter-spacing: -.03em; color: #fff; margin: 0; max-width: 16ch; }

/* ---------------- Testimonials ---------------- */
.tst__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--mm-hairline);
  border: 1px solid var(--mm-hairline); }
.tst { background: var(--mm-black); padding: 38px 34px; display: flex; flex-direction: column; gap: 20px;
  min-height: 280px; transition: background var(--mm-dur-2); }
.tst:hover { background: #100d15; }
.tst__mark { font-family: var(--mm-font-script); font-style: italic; font-size: 64px; line-height: .4; color: var(--mm-pink); height: 26px; }
.tst__q { font-family: var(--mm-font-body); font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.86); margin: 0; flex: 1; }
.tst__by { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--mm-hairline); padding-top: 18px; }
.tst__n { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 15px; letter-spacing: .01em; color: #fff; }
.tst__r { font-family: var(--mm-font-body); font-size: 12px; color: rgba(255,255,255,.5); letter-spacing: .04em; }
@media (max-width: 720px){ .tst__grid { grid-template-columns: 1fr; } }

/* ---------------- Recursos teaser ---------------- */
.recursos { display: block; border: 1px solid var(--mm-hairline);
  background: radial-gradient(120% 140% at 88% 20%, rgba(201,131,154,.14), transparent 58%); }
.recursos__l { padding: 56px; display: flex; flex-direction: column; gap: 22px; align-items: flex-start; justify-content: center; }
.recursos__badge { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: 12px;
  letter-spacing: .06em; color: #16090d; background: var(--mm-pink); padding: 6px 12px; }
.recursos__t { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(32px, 4vw, 52px);
  line-height: .98; letter-spacing: -.025em; color: #fff; margin: 0; }
.recursos__d { font-family: var(--mm-font-body); font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.68); margin: 0; max-width: 44ch; }
@media (max-width: 820px){ .recursos__l { padding: 40px; } }

/* ---------------- Contact ---------------- */
.cond { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mm-hairline);
  border: 1px solid var(--mm-hairline); margin-bottom: 64px; }
.cond__i { background: var(--mm-black); padding: 30px 26px; display: flex; flex-direction: column; gap: 12px; }
.cond__n { font-family: var(--mm-font-display); font-weight: 800; font-size: 28px; color: var(--mm-pink); letter-spacing: -.02em; line-height: 1; }
.cond__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 16px; letter-spacing: -.01em; color: #fff; margin: 0; }
.cond__d { font-family: var(--mm-font-body); font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.62); margin: 0; }
@media (max-width: 760px){ .cond { grid-template-columns: 1fr; } }

.formwrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--mm-hairline); }
.form { padding: 44px; display: flex; flex-direction: column; gap: 22px; border-right: 1px solid var(--mm-hairline); }
.form__t { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: 30px; letter-spacing: -.02em; color: #fff; margin: 0; }
.form__sub { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.66); margin: 0; }
.form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field--full { grid-column: 1 / -1; }
.field label { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.field input, .field select, .field textarea { font-family: var(--mm-font-body); font-size: 14px; color: #fff;
  background: rgba(255,255,255,.04); border: 1px solid var(--mm-hairline); border-radius: 0; padding: 13px 14px;
  outline: none; transition: border-color var(--mm-dur-2), background var(--mm-dur-2); resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--mm-pink); background: rgba(201,131,154,.06); }
.field select { appearance: none; color-scheme: dark;
  background-image: linear-gradient(45deg, transparent 50%, #c9839a 50%), linear-gradient(135deg, #c9839a 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 36px; }
.field select option { background: #16121b; color: #fff; }
.form__note { font-family: var(--mm-font-body); font-size: 11px; color: rgba(255,255,255,.5); margin: 0; letter-spacing: .04em; }
.form__err { color: var(--mm-error); }
.aside { padding: 44px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; justify-content: center;
  background: radial-gradient(120% 120% at 90% 10%, rgba(201,131,154,.1), transparent 60%); }
.aside__sep { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.aside__t { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: 26px; letter-spacing: -.02em; color: #fff; margin: 0; }
.aside__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.7); margin: 0; max-width: 42ch; }
@media (max-width: 820px){ .formwrap { grid-template-columns: 1fr; } .form { border-right: none; border-bottom: 1px solid var(--mm-hairline); } .form__grid { grid-template-columns: 1fr; } }

/* ---------------- FAQ ---------------- */
.faq__list { display: flex; flex-direction: column; max-width: 920px; }
.faq__i { border-top: 1px solid var(--mm-hairline); }
.faq__i:last-child { border-bottom: 1px solid var(--mm-hairline); }
.faq__h { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%;
  padding: 26px 6px; background: transparent; border: none; cursor: pointer; text-align: left; }
.faq__q { font-family: var(--mm-font-display); font-weight: 600; text-transform: uppercase; font-size: clamp(17px,2vw,22px);
  letter-spacing: -.01em; color: #fff; transition: color var(--mm-dur-2); }
.faq__i.is-open .faq__q, .faq__h:hover .faq__q { color: var(--mm-pink); }
.faq__ico { width: 30px; height: 30px; flex-shrink: 0; position: relative; }
.faq__ico::before, .faq__ico::after { content:''; position: absolute; background: var(--mm-pink); transition: transform var(--mm-dur-2) var(--mm-ease), opacity var(--mm-dur-2); }
.faq__ico::before { left: 0; right: 0; top: 50%; height: 2px; transform: translateY(-50%); }
.faq__ico::after { top: 0; bottom: 0; left: 50%; width: 2px; transform: translateX(-50%); }
.faq__i.is-open .faq__ico::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }
.faq__a { overflow: hidden; max-height: 0; transition: max-height var(--mm-dur-3) var(--mm-ease); }
.faq__inner { font-family: var(--mm-font-body); font-size: 15px; line-height: 1.75; color: rgba(255,255,255,.72);
  padding: 0 6px 28px; max-width: 72ch; }

/* ---------------- Footer ---------------- */
.footer { border-top: 1px solid var(--mm-hairline); padding: 64px 0 40px; margin-top: 40px; }
.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.footer__brand { font-family: var(--mm-font-display); font-weight: var(--mm-w-bold); text-transform: uppercase; letter-spacing: .04em; font-size: 26px; color: #fff; }
.footer__tag { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.6); margin: 16px 0 0; max-width: 34ch; }
.footer__col h4 { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.4); margin: 0 0 16px; }
.footer__col a { display: block; font-family: var(--mm-font-body); font-size: 14px; color: rgba(255,255,255,.7); text-decoration: none; padding: 5px 0; transition: color var(--mm-dur-1); }
.footer__col a:hover { color: var(--mm-pink); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
  border-top: 1px solid var(--mm-hairline); padding-top: 28px; }
.footer__c { font-family: var(--mm-font-body); font-size: 12px; color: rgba(255,255,255,.45); margin: 0; letter-spacing: .03em; }
.footer__social { display: flex; gap: 10px; }
.footer__social a { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #fff;
  box-shadow: inset 0 0 0 1px var(--mm-hairline); transition: all var(--mm-dur-2); }
.footer__social a:hover { background: var(--mm-pink); color: #16090d; box-shadow: inset 0 0 0 1px var(--mm-pink); }
.footer__social svg { width: 17px; height: 17px; }
@media (max-width: 760px){ .footer__top { grid-template-columns: 1fr 1fr; } }

/* ---------------- Reveal on scroll ---------------- */
.reveal { opacity: 0; transform: translateY(26px); }
@media (prefers-reduced-motion: no-preference){
  .reveal { transition: opacity .7s var(--mm-ease), transform .7s var(--mm-ease); }
}
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .reveal { opacity: 1; transform: none; } }
@media print { .reveal { opacity: 1 !important; transform: none !important; } }

/* ============================================================
   INNER PAGES (auditoría · asesoría · recursos)
   ============================================================ */
.phero { padding: 176px 0 64px; position: relative; overflow: hidden; }
.phero__glow { position: absolute; width: 900px; height: 900px; right: -340px; top: -340px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,131,154,.16) 0%, transparent 62%); pointer-events: none; z-index: -1; }
.phero__back { font-family: var(--mm-font-body); font-size: 13px; letter-spacing: .04em; color: rgba(255,255,255,.5);
  text-decoration: none; text-transform: lowercase; display: flex; width: fit-content; gap: 8px; align-items: center; margin-bottom: 30px; transition: color var(--mm-dur-1); }
.phero__back:hover { color: var(--mm-pink); }
.phero__title { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(46px, 7vw, 92px); line-height: .94; letter-spacing: -.03em; color: #fff; margin: 18px 0 0; max-width: 16ch; }
.phero__sub { font-family: var(--mm-font-body); font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.74);
  max-width: 56ch; margin: 28px 0 0; }
.phero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 40px; }

/* lead statement (phrase propia) */
.lead { padding: 96px 0; border-top: 1px solid var(--mm-hairline); border-bottom: 1px solid var(--mm-hairline); }
.lead__q { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(28px, 3.8vw, 54px); line-height: 1.04; letter-spacing: -.025em; color: #fff; margin: 0; max-width: 24ch; }

/* numbered feature list */
.plist { display: flex; flex-direction: column; }
.pitem { display: grid; grid-template-columns: 72px 1fr; gap: 28px; padding: 32px 6px; border-top: 1px solid var(--mm-hairline); }
.pitem:last-child { border-bottom: 1px solid var(--mm-hairline); }
.pitem__n { font-family: var(--mm-font-display); font-weight: 800; font-size: 22px; color: var(--mm-pink); letter-spacing: .04em; }
.pitem__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(20px,2.4vw,30px);
  letter-spacing: -.015em; line-height: 1.05; color: #fff; margin: 0 0 10px; }
.pitem__d { font-family: var(--mm-font-body); font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.68); margin: 0; max-width: 64ch; }

/* two-column include/forwhom */
.twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.twocol__c { background: var(--mm-black); padding: 40px; }
.twocol__h { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 20px; letter-spacing: -.01em; color: var(--mm-pink); margin: 0 0 22px; }
.checks { display: flex; flex-direction: column; gap: 16px; }
.check { display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start; font-family: var(--mm-font-body);
  font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.82); }
.check__b { width: 22px; height: 22px; background: rgba(201,131,154,.16); color: var(--mm-pink); display: flex;
  align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.check__b svg { width: 13px; height: 13px; }
@media (max-width: 760px){ .twocol { grid-template-columns: 1fr; } }

/* price card */
.price { display: grid; grid-template-columns: 1fr 360px; gap: 0; border: 1px solid var(--mm-hairline); }
.price__l { padding: 44px; display: flex; flex-direction: column; gap: 16px; justify-content: center; }
.price__r { border-left: 1px solid var(--mm-hairline); border-top: 3px solid var(--mm-pink); padding: 44px;
  display: flex; flex-direction: column; gap: 8px; justify-content: center; background: radial-gradient(120% 120% at 90% 10%, rgba(201,131,154,.1), transparent 60%); }
.price__label { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.price__v { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(34px,4vw,52px); letter-spacing: -.03em; color: #fff; line-height: 1; }
.price__n { font-family: var(--mm-font-body); font-size: 14px; font-weight: 500; color: rgba(255,255,255,.72); line-height: 1.5; }
.price__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 24px; letter-spacing: -.01em; color: #fff; margin: 0; }
.price__d { font-family: var(--mm-font-body); font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.68); margin: 0; }
@media (max-width: 760px){ .price { grid-template-columns: 1fr; } .price__r { border-left: none; } }

/* CTA band */
.ctaband { padding: 100px 0; text-align: left; }
.ctaband__t { font-family: var(--mm-font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(36px, 5.5vw, 80px); line-height: .98; letter-spacing: -.03em; color: #fff; margin: 0 0 28px; max-width: 18ch; }
.ctaband__d { font-family: var(--mm-font-body); font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.7); max-width: 52ch; margin: 0 0 36px; }

/* resource cards */
.rgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.rcard { background: var(--mm-black); padding: 32px 28px; display: flex; flex-direction: column; gap: 16px; min-height: 240px;
  text-decoration: none; transition: background var(--mm-dur-2); position: relative; }
.rcard:hover { background: #100d15; }
.rcard__cat { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-pink); }
.rcard__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 24px; letter-spacing: -.015em;
  line-height: 1.05; color: #fff; margin: 0; flex: 1; }
.rcard__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.64); margin: 0; }
.rcard__go { font-family: var(--mm-font-body); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.55);
  display: inline-flex; gap: 8px; align-items: center; transition: color var(--mm-dur-2); }
.rcard:hover .rcard__go { color: var(--mm-pink); }
.rcard__meta { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.rcard--live { box-shadow: inset 0 0 0 1px var(--mm-border-pink); }
.rcard__free { position: absolute; top: 16px; right: 16px; font-family: var(--mm-font-body); font-size: 10px;
  font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-pink);
  box-shadow: inset 0 0 0 1px var(--mm-border-pink); padding: 5px 9px; }
.rcard--soon { cursor: default; }
.rcard--soon:hover { background: var(--mm-black); }
.rcard--soon .rcard__t, .rcard--soon .rcard__d, .rcard--soon .rcard__cat { opacity: .55; }
.rcard--soon .rcard__t { flex: 1; }
.rcard--live .rcard__go { align-self: flex-start; background: var(--mm-pink); color: #16090d; padding: 11px 18px;
  border-radius: 0; font-weight: 600; letter-spacing: .04em; transition: transform var(--mm-dur-1), box-shadow var(--mm-dur-1); }
.rcard--live:hover .rcard__go { color: #16090d; transform: translateY(-1px); box-shadow: var(--mm-glow-pink); }
.rcard__soon { align-self: flex-start; font-family: var(--mm-font-body); font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.5); box-shadow: inset 0 0 0 1px var(--mm-hairline); padding: 5px 9px; }
@media (max-width: 900px){ .rgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px){ .rgrid { grid-template-columns: 1fr; } }

.note { font-family: var(--mm-font-body); font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.5);
  border-left: 2px solid var(--mm-pink); padding: 4px 0 4px 16px; margin: 32px 0 0; max-width: 60ch; }
.note a { color: var(--mm-pink); text-decoration: none; border-bottom: 1px solid rgba(201,131,154,.4); }
.note a:hover { border-bottom-color: var(--mm-pink); }

/* tutorial email-gate modal */
.modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  padding: 24px; background: rgba(7,6,10,.82); backdrop-filter: blur(8px); }
.modal__card { position: relative; width: 100%; max-width: 560px; background: #0d0b11;
  border: 1px solid var(--mm-border-pink); padding: 40px; }
.modal__close { position: absolute; top: 10px; right: 14px; background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,.6); font-size: 28px; line-height: 1; padding: 4px; transition: color var(--mm-dur-1); }
.modal__close:hover { color: #fff; }
.gate { display: flex; flex-direction: column; gap: 16px; }
.gate__eyebrow { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-pink); }
.gate__t { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: 30px; letter-spacing: -.02em; color: #fff; margin: 0; }
.gate__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.66); margin: 0; }
.gate__form { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.gate__input { font-family: var(--mm-font-body); font-size: 14px; color: #fff; background: rgba(255,255,255,.04);
  border: 1px solid var(--mm-hairline); padding: 13px 14px; outline: none; transition: border-color var(--mm-dur-2), background var(--mm-dur-2); }
.gate__input:focus { border-color: var(--mm-pink); background: rgba(201,131,154,.06); }
.gate__btn { justify-content: center; margin-top: 4px; }
.gate__note { font-family: var(--mm-font-body); font-size: 11px; color: rgba(255,255,255,.5); letter-spacing: .04em; text-align: center; }
.gate__err { font-family: var(--mm-font-body); font-size: 12px; color: var(--mm-error); }
.gate__video { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.gate__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ============================================================
   AUDITORÍA PAGE — rich content
   ============================================================ */
/* hero stat row */
.ahstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mm-hairline);
  border: 1px solid var(--mm-hairline); margin-top: 56px; }
.ahstat { background: var(--mm-black); padding: 32px 30px; }
.ahstat__v { font-family: var(--mm-font-display); font-weight: 800; font-size: clamp(38px,4.5vw,60px);
  letter-spacing: -.03em; line-height: .95; color: var(--mm-pink); }
.ahstat__l { font-family: var(--mm-font-body); font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.62); margin-top: 14px; max-width: 30ch; }
@media (max-width: 760px){ .ahstats { grid-template-columns: 1fr; } }

/* problem cards 2x2 */
.probs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.prob { background: var(--mm-black); padding: 34px; display: flex; flex-direction: column; gap: 14px; }
.prob__k { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-error); }
.prob__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 22px; letter-spacing: -.015em; color: #fff; margin: 0; }
.prob__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.68); margin: 0; }
@media (max-width: 700px){ .probs { grid-template-columns: 1fr; } }

/* methodology — 8 areas */
.areas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.area { background: var(--mm-black); padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; }
.area__n { font-family: var(--mm-font-display); font-weight: 800; font-size: 16px; color: var(--mm-pink); letter-spacing: .06em; }
.area__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 17px; letter-spacing: -.01em; line-height: 1.1; color: #fff; margin: 0; }
.area__d { font-family: var(--mm-font-body); font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.6); margin: 0; }
@media (max-width: 980px){ .areas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px){ .areas { grid-template-columns: 1fr; } }

/* 6 strategic crosses */
.crosses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.cross { background: var(--mm-black); padding: 30px 26px; display: flex; flex-direction: column; gap: 12px; }
.cross__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 19px; letter-spacing: -.01em; color: var(--mm-pink); margin: 0; }
.cross__d { font-family: var(--mm-font-body); font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.66); margin: 0; }
@media (max-width: 900px){ .crosses { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .crosses { grid-template-columns: 1fr; } }

/* findings sample panel */
.findings { border: 1px solid var(--mm-hairline); }
.findings__h { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 26px;
  border-bottom: 1px solid var(--mm-hairline); background: rgba(255,255,255,.02); }
.findings__title { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 15px; letter-spacing: .02em; color: #fff; }
.findings__tag { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.finding { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 18px 26px; border-top: 1px solid var(--mm-hairline); }
.finding:first-child { border-top: none; }
.finding__t { font-family: var(--mm-font-body); font-size: 14px; color: rgba(255,255,255,.82); }
.finding__t b { color: #fff; font-weight: 500; }
.sev { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 11px; letter-spacing: .06em; padding: 5px 10px; white-space: nowrap; }
.sev--crit { color: #16090d; background: #e26d6d; }
.sev--alto { color: #16090d; background: #e8c267; }
.sev--medio { color: #fff; box-shadow: inset 0 0 0 1px var(--mm-hairline); }
/* SOI/SOR mini bars */
.sois { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--mm-hairline); border-top: 1px solid var(--mm-hairline); }
.soi { background: var(--mm-black); padding: 22px 26px; }
.soi__l { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.soi__v { font-family: var(--mm-font-display); font-weight: 800; font-size: 34px; letter-spacing: -.02em; color: #fff; margin: 8px 0 12px; }
.soi__bar { height: 8px; background: rgba(255,255,255,.08); position: relative; overflow: hidden; }
.soi__fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--mm-pink); }

/* deliverables 2x2 */
.delivs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.deliv { background: var(--mm-black); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.deliv__k { font-family: var(--mm-font-body); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--mm-pink); }
.deliv__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 21px; letter-spacing: -.01em; color: #fff; margin: 0; }
.deliv__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.66); margin: 0; }
@media (max-width: 700px){ .delivs { grid-template-columns: 1fr; } }

/* pricing plans */
.plans { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.plan { border: 1px solid var(--mm-hairline); padding: 40px 36px; display: flex; flex-direction: column; gap: 22px; position: relative; }
.plan--feat { border-color: var(--mm-pink); }
.plan--feat::before { content: 'Recomendado'; position: absolute; top: 0; right: 0; transform: translateY(-50%);
  background: var(--mm-pink); color: #16090d; font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase;
  font-size: 11px; letter-spacing: .06em; padding: 6px 12px; }
.plan__name { font-family: var(--mm-font-display); font-weight: 800; text-transform: uppercase; font-size: 24px; letter-spacing: -.02em; color: #fff; margin: 0; }
.plan__tag { font-family: var(--mm-font-body); font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.62); margin: -10px 0 0; }
.plan__price { display: flex; align-items: baseline; gap: 10px; border-top: 1px solid var(--mm-hairline); padding-top: 22px; }
.plan__v { font-family: var(--mm-font-display); font-weight: 800; font-size: 52px; letter-spacing: -.03em; line-height: 1; color: var(--mm-pink); }
.plan__cur { font-family: var(--mm-font-display); font-weight: 700; font-size: 20px; color: var(--mm-pink); }
.plan__ars { font-family: var(--mm-font-body); font-size: 15px; font-weight: 500; color: rgba(255,255,255,.72); white-space: nowrap; }
.plan__feats { display: flex; flex-direction: column; gap: 13px; }
.plan__f { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; font-family: var(--mm-font-body);
  font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.8); }
.plan__f .check__b { width: 20px; height: 20px; }
.plan__entrega { font-family: var(--mm-font-body); font-size: 12px; letter-spacing: .04em; color: rgba(255,255,255,.55); }
.plan .btn { margin-top: auto; justify-content: center; }
.plans--single { grid-template-columns: 1fr; max-width: 540px; margin: 0 auto; }
.plan--solo { border-color: var(--mm-pink); }
.downsell { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  border: 1px solid var(--mm-hairline); padding: 30px 36px; margin-top: 44px; }
.downsell__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase;
  font-size: 22px; letter-spacing: -.01em; color: #fff; margin: 0 0 8px; }
.downsell__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6;
  color: rgba(255,255,255,.62); margin: 0; max-width: 56ch; }
.downsell .btn { flex: none; }
@media (max-width: 760px){ .plans { grid-template-columns: 1fr; } }

/* audience 2x2 */
.aud { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--mm-hairline); border: 1px solid var(--mm-hairline); }
.aud__c { background: var(--mm-black); padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.aud__t { font-family: var(--mm-font-display); font-weight: 700; text-transform: uppercase; font-size: 18px; letter-spacing: -.01em; color: #fff; margin: 0; }
.aud__d { font-family: var(--mm-font-body); font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.66); margin: 0; }
@media (max-width: 700px){ .aud { grid-template-columns: 1fr; } }
