/* MeatBox — estilos del landing (front-page). Cargado solo si is_front_page(). */

.meatbox-landing { font-family: 'Inter', system-ui, sans-serif; background: #f5f0e8; color: #1a1a1a; }
.meatbox-landing * , .meatbox-landing *::before, .meatbox-landing *::after { box-sizing: border-box; }

/* Grain overlay */
.meatbox-landing::after {
	content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 9998;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
}

/* ── HERO ── */
.mb-hero { min-height: 640px; display: flex; align-items: stretch; position: relative; overflow: hidden; }
.mb-hero__bg { position: absolute; inset: 0; z-index: 0; background: #e8e3d5; }
.mb-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 68% top; display: block; }
.mb-hero__bg::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(to right, rgba(232,227,213,.95) 0%, rgba(232,227,213,.80) 38%, rgba(232,227,213,.15) 62%, transparent 100%);
}
.mb-hero__partners {
	position: absolute; top: 28px; right: 36px;
	display: flex; align-items: center; gap: 0;
	z-index: 4;
	opacity: 0; animation: mbFadeIn .5s ease .4s forwards;
}
.mb-hero__partners-label {
	font-size: .6rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
	color: #888; white-space: nowrap; margin-right: 6px;
}
.mb-partner-logo {
	width: 88px; height: 44px; object-fit: contain;
	transition: transform .2s ease;
}
.mb-partner-logo:last-child {
	width: 100px; height: 50px; margin-left: -10px;
}
.mb-partner-logo:hover { transform: scale(1.08); }
.mb-hero__content {
	flex-shrink: 0; width: 38%; min-width: 320px;
	padding: 64px 40px 80px 72px;
	display: flex; flex-direction: column; justify-content: center;
	position: relative; z-index: 3; text-align: left;
}
.mb-hero__eyebrow {
	font-size: .68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	color: #2d6a4f; margin-bottom: 18px;
	opacity: 0; animation: mbFadeUp .5s ease .2s forwards;
}
.mb-hero h1 {
	font-size: clamp(2.4rem, 3.8vw, 3.7rem); font-weight: 900;
	line-height: 1.12; letter-spacing: -2px; max-width: 480px; margin-bottom: 18px; color: #1a1a1a;
	padding-bottom: .08em;
}
.mb-hero__alliance {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	margin-bottom: 32px;
	opacity: 0; animation: mbFadeUp .5s ease .85s forwards;
}
.mb-hero__alliance-label {
	font-size: .68rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase;
	color: #888; white-space: nowrap;
}
.mb-origin-logo {
	width: 90px; height: 90px; object-fit: contain;
	transition: transform .2s ease;
}
.mb-origin-logo:hover { transform: scale(1.05); }
.mb-hero__ctas {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.mb-btn-hero-secondary {
	color: #2d6a4f; background: transparent; border: 2px solid #2d6a4f; border-radius: 50px;
	padding: 15px 32px; font-size: .95rem; font-weight: 700;
	cursor: pointer; text-decoration: none; display: inline-block;
	letter-spacing: .2px; white-space: nowrap;
	opacity: 0; transform: translateY(8px);
	animation: mbFadeUp .55s cubic-bezier(.34,1.56,.64,1) 1.12s forwards;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.mb-btn-hero-secondary:hover {
	background: #2d6a4f; color: #fff;
	transform: translateY(-3px);
}
.mb-btn-hero {
	background: #2d6a4f; color: #fff; border: none; border-radius: 50px;
	padding: 15px 38px; font-size: .95rem; font-weight: 700;
	cursor: pointer; text-decoration: none; display: inline-block; align-self: flex-start;
	position: relative; overflow: hidden; letter-spacing: .2px;
	white-space: nowrap;
	opacity: 0; transform: translateY(8px);
	animation: mbFadeUp .55s cubic-bezier(.34,1.56,.64,1) 1.06s forwards;
	transition: background .2s ease, box-shadow .25s ease, transform .2s ease;
}
.mb-btn-hero:hover {
	background: #235540;
	box-shadow: 0 14px 40px rgba(45,106,63,.38);
	color: #fff;
	transform: translateY(-3px);
}
.mb-btn-hero:active { transform: translateY(-1px); }
.mb-btn-hero::after {
	content: ''; position: absolute; top: -50%; left: -80%; width: 50%; height: 200%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
	transform: skewX(-20deg); transition: left .48s ease;
}
.mb-btn-hero:hover::after { left: 160%; }

.mb-hero__bullets {
	list-style: none; padding: 0; margin: 16px 0 0 0;
	display: flex; flex-direction: column; gap: 6px;
	opacity: 0; animation: mbFadeUp .5s ease 1.3s forwards;
}
.mb-hero__bullets li {
	font-size: .82rem; color: #888; font-weight: 400;
	display: flex; align-items: center; gap: 8px;
}
.mb-hero__bullets li::before {
	content: ''; width: 5px; height: 5px; border-radius: 50%;
	background: #2d6a4f; flex-shrink: 0;
}
.mb-hero__trust {
	display: flex; align-items: center; gap: 8px; margin-top: 16px; flex-wrap: wrap;
	opacity: 0; animation: mbFadeUp .5s ease 1.3s forwards;
}
.mb-hero__trust span { font-size: .74rem; color: #888; font-weight: 400; }
.mb-ht-dot { width: 3px; height: 3px; border-radius: 50%; background: #bbb; flex-shrink: 0; }

.mb-scroll-hint {
	position: absolute; bottom: 28px; left: 84px;
	display: flex; align-items: center; gap: 10px; z-index: 3;
	opacity: 0; animation: mbFadeIn .5s ease 1.7s forwards;
}
.mb-scroll-hint span { font-size: .6rem; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: #aaa; }
.mb-scroll-arrow {
	width: 14px; height: 14px;
	border-right: 1.5px solid #aaa; border-bottom: 1.5px solid #aaa;
	transform: rotate(45deg);
	animation: mbArrowBounce 1.5s ease-in-out 1.7s infinite;
}
@keyframes mbArrowBounce {
	0%,100% { transform: rotate(45deg) translate(0,0); }
	50%     { transform: rotate(45deg) translate(3px,3px); }
}

/* ── WORD REVEAL ── */
.mb-word-wrap  { display: inline-block; overflow: hidden; vertical-align: bottom; }
.mb-word-inner { display: inline-block; animation: mbWordUp .65s cubic-bezier(.22,.68,0,1.2) forwards; opacity: 0; }
@keyframes mbWordUp { from{transform:translateY(105%);opacity:0} to{transform:none;opacity:1} }
.mb-u-word { position: relative; display: inline-block; }
.mb-u-word svg { position: absolute; bottom: -2px; left: 0; width: 100%; height: 8px; overflow: visible; pointer-events: none; }
.mb-u-word path { stroke: #2d6a4f; stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-dasharray: 140; stroke-dashoffset: 140; }
@keyframes mbDrawUnder { to { stroke-dashoffset: 0; } }

/* ── TRUST STRIP ── */
.mb-trust-strip {
	background: #1a3d2a; padding: 0 64px;
	display: flex; align-items: center; justify-content: center; gap: 0;
	overflow: hidden; height: 56px;
}
.mb-ts-item {
	display: flex; align-items: center; gap: 10px;
	padding: 0 36px; position: relative;
	color: rgba(255,255,255,.8); font-size: .8rem; font-weight: 500;
	white-space: nowrap;
	opacity: 0; transform: translateY(6px);
}
.mb-ts-item:nth-child(1){animation:mbFadeUp .4s ease .2s forwards}
.mb-ts-item:nth-child(2){animation:mbFadeUp .4s ease .35s forwards}
.mb-ts-item:nth-child(3){animation:mbFadeUp .4s ease .5s forwards}
.mb-ts-item:nth-child(4){animation:mbFadeUp .4s ease .65s forwards}
.mb-ts-item + .mb-ts-item::before {
	content: ''; position: absolute; left: 0; top: 22%; height: 56%;
	width: 1px; background: rgba(255,255,255,.12);
}
.mb-ts-item svg { width: 15px; height: 15px; stroke: #4ade80; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

/* ── SUPPLIERS ── */
.mb-suppliers { background: #fff; padding: 100px 24px 88px; position: relative; overflow: hidden; }
.mb-suppliers__wm {
	position: absolute; font-size: 34vw; font-weight: 900; color: rgba(45,106,79,.028);
	top: 50%; left: 50%; transform: translate(-50%,-50%);
	line-height: 1; pointer-events: none; user-select: none; letter-spacing: -8px; will-change: transform;
}
.mb-suppliers__inner { max-width: 1060px; margin: 0 auto; position: relative; z-index: 1; }
.mb-suppliers__header { text-align: center; margin-bottom: 72px; }

.mb-s-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: .7rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #2d6a4f; margin-bottom: 20px;
	clip-path: inset(0 100% 0 0); transition: clip-path .75s cubic-bezier(.22,.68,0,1.2);
}
.mb-s-eyebrow::before, .mb-s-eyebrow::after { content:''; display:block; width:28px; height:1px; background:#2d6a4f; opacity:.4; }
.mb-suppliers.vis .mb-s-eyebrow { clip-path: inset(0 0% 0 0); }

.mb-s-title { font-size: clamp(2rem,4.5vw,3rem); font-weight: 900; letter-spacing: -1.5px; line-height: 1.08; color: #1a1a1a; margin-bottom: 16px; }
.mb-s-title .mb-word-inner { animation:none; transition: transform .7s cubic-bezier(.22,.68,0,1.2), opacity .7s ease; }
.js-landing .mb-s-title .mb-word-inner { opacity:0; transform:translateY(105%); }
.mb-suppliers.vis .mb-s-title .mb-word-inner { transform: none; opacity: 1; }
.mb-s-title em { font-style: normal; color: #2d6a4f; }

.mb-s-sub { font-size:.97rem; color:#999; max-width:500px; margin:0 auto; line-height:1.8; font-weight:300; font-style:italic; transition: opacity .65s ease .44s, transform .65s ease .44s; }
.js-landing .mb-s-sub { opacity:0; transform:translateY(14px); }
.mb-suppliers.vis .mb-s-sub { opacity: 1; transform: none; }

.mb-suppliers__grid { display: grid; grid-template-columns: 1fr 88px 1fr; align-items: center; margin-bottom: 64px; gap: 16px; }
@media(max-width:700px){ .mb-suppliers__grid { grid-template-columns:1fr; gap:28px; } }

.mb-card-wrap { transition: opacity .82s ease, transform .82s cubic-bezier(.22,.68,0,1.2); }
.js-landing .mb-card-wrap { opacity:0; transform:translateY(52px); }
.mb-suppliers.vis .mb-card-wrap:nth-child(1){ opacity:1; transform:none; transition-delay:.31s; }
.mb-suppliers.vis .mb-card-wrap:nth-child(3){ opacity:1; transform:none; transition-delay:.48s; }

.mb-supplier-card {
	background:#faf9f6; border:1.5px solid #ede8df; border-radius:20px;
	padding:44px 36px 36px; position:relative; overflow:hidden;
	transform: perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));
	transition: transform .18s ease, box-shadow .3s ease, border-color .3s ease;
	will-change: transform;
}
.mb-supplier-card:hover { box-shadow:0 24px 64px rgba(0,0,0,.09); border-color:#b8d9c6; }
.mb-supplier-card::before {
	content:''; position:absolute; top:0; left:28px; right:28px; height:2px;
	background:linear-gradient(to right, transparent, rgba(45,106,79,.28), transparent);
	border-radius:0 0 2px 2px; opacity:0; transition:opacity .3s ease;
}
.mb-supplier-card:hover::before { opacity:1; }
.mb-card-shine {
	position:absolute; inset:0; border-radius:inherit; pointer-events:none;
	background:radial-gradient(circle at var(--sx,50%) var(--sy,50%), rgba(255,255,255,.15) 0%, transparent 55%);
	opacity:0; transition:opacity .3s ease;
}
.mb-supplier-card:hover .mb-card-shine { opacity:1; }

.mb-card-logo {
	width:114px; height:114px; background:#fff; border-radius:18px; border:1px solid #ede8df;
	display:flex; align-items:center; justify-content:center; padding:14px; margin-bottom:28px;
	box-shadow:0 4px 18px rgba(0,0,0,.07);
	transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
.mb-supplier-card:hover .mb-card-logo { transform:scale(1.07) translateY(-3px); box-shadow:0 12px 36px rgba(45,106,79,.13); }
.mb-card-logo img, .mb-card-logo svg { width:100%; height:100%; object-fit:contain; }
.mb-card-logo__img { width:100%; height:100%; object-fit:contain; border-radius: 12px; }

.mb-card-badge { display:inline-flex; align-items:center; gap:6px; background:#e6f2eb; color:#2d6a4f; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 12px; border-radius:99px; margin-bottom:14px; }
.mb-badge-dot { width:5px; height:5px; background:#2d6a4f; border-radius:50%; animation:mbPulse 2.6s ease-in-out infinite; }
@keyframes mbPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.2;transform:scale(.6)} }

.mb-card-name  { font-size:1.35rem; font-weight:800; color:#1a1a1a; letter-spacing:-.4px; margin-bottom:5px; }
.mb-card-role  { font-size:.73rem; color:#bbb; font-weight:500; text-transform:uppercase; letter-spacing:.9px; margin-bottom:16px; }
.mb-card-desc  { font-size:.87rem; color:#777; line-height:1.75; margin-bottom:24px; font-weight:300; }
.mb-card-divider { height:1px; background:#ede8df; margin-bottom:20px; }
.mb-card-attrs { display:flex; flex-direction:column; gap:8px; }
.mb-card-attr  { display:flex; align-items:center; gap:10px; font-size:.8rem; color:#555; font-weight:500; }
.mb-attr-icon  { width:28px; height:28px; border-radius:8px; background:#f0faf5; border:1px solid #ddf0e5; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mb-attr-icon svg { width:13px; height:13px; stroke:#2d6a4f; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.mb-suppliers__seal { display:flex; flex-direction:column; align-items:center; gap:14px; transition: opacity .5s ease .62s, transform .65s cubic-bezier(.34,1.56,.64,1) .62s; }
.js-landing .mb-suppliers__seal { opacity:0; transform:scale(.5); }
.mb-suppliers.vis .mb-suppliers__seal { opacity:1; transform:scale(1); }
.mb-seal-ring { width:66px; height:66px; border-radius:50%; border:1.5px dashed rgba(45,106,79,.3); display:flex; align-items:center; justify-content:center; position:relative; flex-shrink:0; animation:mbRotateSeal 22s linear infinite; }
.mb-seal-core { width:44px; height:44px; border-radius:50%; background:#fff; border:1.5px solid rgba(45,106,79,.15); display:flex; align-items:center; justify-content:center; font-size:1.1rem; font-weight:900; color:#2d6a4f; position:absolute; box-shadow:0 2px 10px rgba(45,106,79,.1); animation:mbRotateSealBack 22s linear infinite; }
@keyframes mbRotateSeal     { to{transform:rotate(360deg)}  }
@keyframes mbRotateSealBack { to{transform:rotate(-360deg)} }
.mb-seal-line { width:1px; height:40px; background:linear-gradient(to bottom, transparent, rgba(45,106,79,.22), transparent); }
@media(max-width:700px){ .mb-suppliers__seal{display:none} }

.mb-suppliers__divider { height:1px; background:linear-gradient(to right, transparent, #ede8df 20%, #ede8df 80%, transparent); margin-bottom:48px; }
.mb-suppliers__stats { display:grid; grid-template-columns:repeat(4,1fr); }
@media(max-width:600px){ .mb-suppliers__stats{grid-template-columns:repeat(2,1fr)} }
.mb-stat { text-align:center; padding:28px 16px; position:relative; cursor:default; transition:opacity .45s ease, transform .45s ease; }
.js-landing .mb-stat { opacity:0; transform:translateY(12px); }
.mb-stat+.mb-stat::before { content:''; position:absolute; left:0; top:26%; height:48%; width:1px; background:#ede8df; }
.mb-suppliers.vis .mb-stat:nth-child(1){opacity:1;transform:none;transition-delay:.66s}
.mb-suppliers.vis .mb-stat:nth-child(2){opacity:1;transform:none;transition-delay:.76s}
.mb-suppliers.vis .mb-stat:nth-child(3){opacity:1;transform:none;transition-delay:.86s}
.mb-suppliers.vis .mb-stat:nth-child(4){opacity:1;transform:none;transition-delay:.96s}
.mb-stat__n { font-size:2.1rem; font-weight:900; color:#1a1a1a; letter-spacing:-2px; display:block; margin-bottom:5px; line-height:1; transition:color .2s; }
.mb-stat:hover .mb-stat__n { color:#2d6a4f; }
.mb-stat__l { font-size:.71rem; color:#bbb; font-weight:500; text-transform:uppercase; letter-spacing:.9px; }

/* ── PROOF / TESTIMONIO ── */
.mb-proof { background: #f5f0e8; padding: 96px 24px; position: relative; overflow: hidden; }
.mb-proof::before {
	content: '"'; position: absolute; top: -20px; left: 50%; transform: translateX(-50%);
	font-size: 20rem; font-weight: 900; color: rgba(45,106,79,.04);
	line-height: 1; pointer-events: none; user-select: none;
}
.mb-proof__inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1px 1fr; gap: 64px; align-items: center; }
@media(max-width:680px){ .mb-proof__inner{grid-template-columns:1fr; gap:48px;} .mb-proof__sep{display:none;} }
.mb-proof__sep { width:1px; background:linear-gradient(to bottom, transparent, #d4cec4, transparent); height:100%; }
.mb-proof__quote { transition: opacity .7s ease, transform .7s ease; }
.js-landing .mb-proof__quote { opacity:0; transform:translateY(20px); }
.mb-proof__quote.vis { opacity:1; transform:none; }
.mb-proof__stars { color: #B87333; font-size: 1rem; letter-spacing: 2px; margin-bottom: 18px; }
.mb-proof__quote blockquote { font-size: 1.05rem; color: #333; font-style: italic; font-weight: 300; line-height: 1.78; margin-bottom: 18px; }
.mb-proof__quote cite { font-size: .75rem; font-style: normal; font-weight: 600; color: #888; text-transform: uppercase; letter-spacing: 1px; }
.mb-proof__numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; transition: opacity .7s ease .15s, transform .7s ease .15s; }
.js-landing .mb-proof__numbers { opacity:0; transform:translateY(20px); }
.mb-proof__numbers.vis { opacity:1; transform:none; }
.mb-proof__num { text-align: center; }
.mb-proof__num .n { font-size: 2.4rem; font-weight: 900; color: #1a1a1a; letter-spacing: -2px; display: block; line-height: 1; margin-bottom: 6px; }
.mb-proof__num .l { font-size: .72rem; color: #aaa; font-weight: 500; text-transform: uppercase; letter-spacing: .9px; line-height: 1.5; }

/* Footer styles movidos a assets/footer.css (global) */

/* ── HERO mobile ── */
@media (max-width: 768px) {
	.mb-hero { min-height: auto; padding-bottom: 52px; }

	/* Ocultar logos de alianza — se superponen con el contenido en móvil */
	.mb-hero__partners { display: none !important; }

	.mb-hero__content {
		width: 100%;
		min-width: 0;
		padding: 44px 22px 36px;
	}
	.mb-hero__eyebrow {
		margin-bottom: 14px;
		font-size: .72rem;
		letter-spacing: 2px;
	}
	.mb-hero h1 {
		max-width: none;
		letter-spacing: -.8px;
		font-size: clamp(1.75rem, 8vw, 2.4rem);
		line-height: 1.18;
		margin-bottom: 20px;
		padding-bottom: .1em;
	}
	.mb-hero__ctas {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.mb-btn-hero { padding: 15px 28px; font-size: .93rem; width: 100%; text-align: center; }
	.mb-btn-hero-secondary { padding: 14px 28px; font-size: .93rem; width: 100%; text-align: center; }
	.mb-hero__bullets { margin-top: 18px; gap: 8px; }
	.mb-hero__bullets li { font-size: .85rem; }
	.mb-hero__trust { margin-top: 18px; }
	.mb-hero__trust span {
		color: #1a1a1a; font-weight: 600; font-size: .8rem;
		text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 6px rgba(255,255,255,.95);
	}
	.mb-ht-dot { background: #2d6a4f; width: 4px; height: 4px; }
	.mb-scroll-hint { display: none; }
	.mb-hero__bg::after {
		background: linear-gradient(to bottom, rgba(232,227,213,.98) 0%, rgba(232,227,213,.95) 55%, rgba(232,227,213,.75) 100%);
	}
}

@media (max-width: 400px) {
	.mb-hero h1 {
		font-size: clamp(1.6rem, 8.5vw, 2rem);
	}
	.mb-hero__content {
		padding: 38px 18px 32px;
	}
}

/* ── STICKY CTA (aparece al scrollear pasado el hero) ── */
.mb-sticky-cta {
	position: fixed; left: 50%; bottom: 24px;
	transform: translate(-50%, 120px);
	z-index: 9996; display: none;
	align-items: center; gap: 8px;
	padding: 14px 28px;
	background: #2d6a4f; color: #fff;
	border-radius: 999px;
	font-weight: 700; font-size: .95rem;
	letter-spacing: -.2px; text-decoration: none;
	box-shadow: 0 8px 28px rgba(45,106,79,.42), 0 2px 8px rgba(0,0,0,.08);
	transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .2s, background .2s;
	will-change: transform;
}
.mb-sticky-cta.is-visible { transform: translate(-50%, 0); }
.mb-sticky-cta:hover {
	background: #1e5738;
	box-shadow: 0 12px 36px rgba(45,106,79,.55);
}
.mb-sticky-cta__arrow { display: inline-block; transition: transform .2s; }
.mb-sticky-cta:hover .mb-sticky-cta__arrow { transform: translateX(4px); }
@media (max-width: 768px) {
	.mb-sticky-cta { display: inline-flex; }
	body:has(.mb-sticky-cta.is-visible) .mb-wa-btn { bottom: 90px; }
}

/* ── CÓMO FUNCIONA ── */
.mb-how { background: #fff; padding: 96px 24px; position: relative; overflow: hidden; }
.mb-how__inner { max-width: 960px; margin: 0 auto; }
.mb-how__header { text-align: center; margin-bottom: 64px; }
.mb-how__eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: .7rem; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #2d6a4f; margin-bottom: 20px;
	clip-path: inset(0 100% 0 0); transition: clip-path .75s cubic-bezier(.22,.68,0,1.2);
}
.mb-how__eyebrow::before, .mb-how__eyebrow::after { content:''; display:block; width:28px; height:1px; background:#2d6a4f; opacity:.4; }
.mb-how.vis .mb-how__eyebrow { clip-path: inset(0 0% 0 0); }
.mb-how__title {
	font-size: clamp(2rem, 4vw, 3rem); font-weight: 900;
	letter-spacing: -1.5px; line-height: 1.1; color: #1a1a1a;
}
.mb-how__title em { font-style: normal; color: #2d6a4f; }

.mb-how__steps {
	display: flex; align-items: flex-start; gap: 0; margin-bottom: 56px;
}
.mb-how__step {
	flex: 0 0 260px; text-align: center; padding: 0 20px;
	transition: opacity .6s ease, transform .65s cubic-bezier(.22,.68,0,1.2);
}
.js-landing .mb-how__step { opacity: 0; transform: translateY(28px); }
.mb-how.vis .mb-how__step:nth-child(1) { opacity:1; transform:none; transition-delay:.12s; }
.mb-how.vis .mb-how__step:nth-child(3) { opacity:1; transform:none; transition-delay:.3s; }
.mb-how.vis .mb-how__step:nth-child(5) { opacity:1; transform:none; transition-delay:.48s; }

.mb-how__connector {
	flex: 1; display: flex; align-items: center; padding-top: 36px;
}
.mb-how__connector span {
	display: block; height: 1px; width: 100%;
	background: linear-gradient(to right, rgba(45,106,63,.3), rgba(45,106,63,.12));
	transform-origin: left;
	transition: transform .75s ease .35s, opacity .4s ease .35s;
	position: relative;
}
.js-landing .mb-how__connector span { transform: scaleX(0); opacity: 0; }
.mb-how__connector span::after {
	content: ''; position: absolute; right: -4px; top: -3px;
	width: 7px; height: 7px;
	border-top: 1px solid rgba(45,106,63,.4); border-right: 1px solid rgba(45,106,63,.4);
	transform: rotate(45deg);
}
.mb-how.vis .mb-how__connector:nth-child(2) span { transform: scaleX(1); opacity: 1; transition-delay: .28s; }
.mb-how.vis .mb-how__connector:nth-child(4) span { transform: scaleX(1); opacity: 1; transition-delay: .46s; }

.mb-how__step-num {
	font-size: .62rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase;
	color: #2d6a4f; opacity: .45; margin-bottom: 14px;
}
.mb-how__step-icon {
	width: 72px; height: 72px; background: #f5f0e8; border-radius: 20px;
	border: 1.5px solid #ede8df; display: flex; align-items: center; justify-content: center;
	margin: 0 auto 20px; box-shadow: 0 4px 16px rgba(0,0,0,.05);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.mb-how__step:hover .mb-how__step-icon {
	transform: translateY(-5px);
	box-shadow: 0 14px 36px rgba(45,106,63,.15);
	border-color: #b8d9c6;
	background: #fff;
}
.mb-how__step-icon svg {
	width: 28px; height: 28px; stroke: #2d6a4f; fill: none;
	stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.mb-how__step h3 {
	font-size: 1rem; font-weight: 700; color: #1a1a1a;
	margin-bottom: 10px; letter-spacing: -.3px;
}
.mb-how__step p { font-size: .85rem; color: #888; line-height: 1.75; font-weight: 300; }
.mb-how__cta { text-align: center; }
.mb-btn-how {
	display: inline-block; background: transparent; color: #2d6a4f;
	border: 1.5px solid rgba(45,106,63,.35); border-radius: 50px;
	padding: 12px 36px; font-size: .9rem; font-weight: 700;
	text-decoration: none; letter-spacing: .2px;
	transition: background .2s, color .2s, border-color .2s, box-shadow .2s, transform .2s;
}
.mb-btn-how:hover {
	background: #2d6a4f; color: #fff; border-color: #2d6a4f;
	box-shadow: 0 10px 28px rgba(45,106,63,.28); transform: translateY(-2px);
}

@media (max-width: 760px) {
	.mb-how__steps { flex-direction: column; align-items: center; gap: 36px; }
	.mb-how__connector { display: none; }
	.mb-how__step { flex: 0 0 auto; width: 100%; max-width: 320px; padding: 0; }
}

/* ── Secciones interiores mobile ── */
@media (max-width: 768px) {
	/* Trust strip: ocultar cuando está vacío */
	.mb-trust-strip:not(:has(.mb-ts-item)) { display: none; }

	/* Cómo funciona: reducir padding */
	.mb-how { padding: 60px 20px; }

	/* Proveedores: reducir padding y espaciado del header */
	.mb-suppliers { padding: 60px 20px 52px; }
	.mb-suppliers__header { margin-bottom: 44px; }
	.mb-s-title { font-size: clamp(1.7rem, 6vw, 2.5rem); }

	/* Testimonios: reducir padding */
	.mb-proof { padding: 56px 20px; }
}

@media (max-width: 480px) {
	.mb-how { padding: 48px 16px; }
	.mb-suppliers { padding: 48px 16px 44px; }
	.mb-proof { padding: 44px 16px; }
}

/* Keyframes */
@keyframes mbFadeIn { to{opacity:1} }
@keyframes mbFadeUp { to{opacity:1;transform:none} }

/* ═════════════════════════════════════════════════════════════════
   PREMIUM POLISH LAYER v3.5
   10 iteraciones consolidadas — gold accents, depth, ornaments,
   refined typography, premium shadows, smoother reveals.
   ═════════════════════════════════════════════════════════════════ */

/* ── Iteración 1: Sistema de color premium ── */
.meatbox-landing {
    --mb-gold:       #b88a4e;
    --mb-gold-soft:  #d4a76a;
    --mb-gold-deep:  #8a6433;
    --mb-cream-warm: #f7f1e6;
    --mb-cream-deep: #ede5d2;
    --mb-green-soft: #4a8463;
    --mb-shadow-warm: 24px 32px 80px -24px rgba(120, 84, 38, .14), 0 8px 24px -8px rgba(0,0,0,.08);
}

/* ── Iteración 2: Hero — fondo más cálido + textura sutil ── */
.meatbox-landing { background: var(--mb-cream-warm); }
.mb-hero__bg { background: var(--mb-cream-deep); }
.mb-hero__bg::after {
    background: linear-gradient(to right,
        rgba(247,241,230,.97) 0%,
        rgba(247,241,230,.85) 38%,
        rgba(247,241,230,.22) 62%,
        transparent 100%);
}

/* ── Iteración 3: Hero eyebrow refinado con punto gold ── */
.mb-hero__eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    color: var(--mb-gold-deep);
}
.mb-hero__eyebrow::before {
    content: ''; width: 24px; height: 1px;
    background: linear-gradient(to right, transparent, var(--mb-gold));
}

/* ── Iteración 4: Underline gold con glow detrás de "premium" ── */
.mb-u-word path { stroke: var(--mb-gold) !important; stroke-width: 3.5 !important; filter: drop-shadow(0 1px 4px rgba(184,138,78,.4)); }

/* ── Iteración 5: Botón hero — shadow premium con gold-tint + sheen mejorado ── */
.mb-btn-hero {
    background: linear-gradient(180deg, #2f7150 0%, #265e42 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.18) inset,
        0 -2px 8px rgba(0,0,0,.18) inset,
        0 12px 30px -6px rgba(45,106,63,.50),
        0 4px 12px -2px rgba(0,0,0,.18);
}
.mb-btn-hero:hover {
    background: linear-gradient(180deg, #347a58 0%, #235540 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.22) inset,
        0 -2px 10px rgba(0,0,0,.20) inset,
        0 18px 48px -8px rgba(45,106,63,.62),
        0 6px 16px -3px rgba(0,0,0,.22);
}
.mb-btn-hero-secondary {
    background: rgba(255,255,255,.5);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}

/* ── Iteración 6: Step numbers (01, 02, 03) — gold gradient con tipografía serif ── */
.mb-how__step-num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.05rem; font-weight: 800;
    letter-spacing: 0; text-transform: none;
    background: linear-gradient(135deg, var(--mb-gold) 0%, var(--mb-gold-deep) 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 1; margin-bottom: 10px;
}
.mb-how__step-icon {
    border-color: rgba(184,138,78,.22);
    background: linear-gradient(180deg, #fff 0%, var(--mb-cream-warm) 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.8) inset,
        0 6px 20px -4px rgba(120, 84, 38, .12),
        0 2px 6px -1px rgba(0,0,0,.04);
}
.mb-how__step:hover .mb-how__step-icon {
    border-color: var(--mb-gold-soft);
    box-shadow:
        0 1px 0 rgba(255,255,255,.9) inset,
        0 18px 48px -8px rgba(184,138,78,.30),
        0 6px 14px -3px rgba(0,0,0,.10);
}
.mb-how__step-icon svg { stroke: var(--mb-gold-deep); }

/* ── Iteración 7: Supplier cards — depth + gold accent en hover ── */
.mb-supplier-card {
    background: linear-gradient(180deg, #ffffff 0%, #faf7f0 100%);
    border-color: rgba(184,138,78,.16);
    box-shadow:
        0 1px 0 rgba(255,255,255,.9) inset,
        0 4px 16px -4px rgba(120, 84, 38, .08);
}
.mb-supplier-card:hover {
    border-color: var(--mb-gold-soft);
    box-shadow:
        0 1px 0 rgba(255,255,255,.95) inset,
        0 32px 80px -16px rgba(120, 84, 38, .18),
        0 8px 24px -6px rgba(0,0,0,.08);
}
.mb-supplier-card::before {
    background: linear-gradient(to right, transparent, var(--mb-gold-soft), transparent);
}
.mb-card-badge {
    background: linear-gradient(135deg, rgba(184,138,78,.10), rgba(184,138,78,.18));
    color: var(--mb-gold-deep);
    border: 1px solid rgba(184,138,78,.20);
}
.mb-badge-dot { background: var(--mb-gold); }

/* ── Iteración 8: Stats — números con tratamiento premium ── */
.mb-stat__n {
    font-feature-settings: 'tnum' 1, 'lnum' 1;
    transition: color .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
}
.mb-stat:hover .mb-stat__n {
    color: var(--mb-gold-deep);
    transform: scale(1.06);
}
.mb-suppliers__stats .mb-stat + .mb-stat::before {
    background: linear-gradient(to bottom, transparent, rgba(184,138,78,.22), transparent);
}

/* ── Iteración 9: Proof / testimonio — estrellas gold + comilla premium ── */
.mb-proof__stars {
    color: var(--mb-gold);
    text-shadow: 0 1px 3px rgba(184,138,78,.3);
}
.mb-proof::before { color: rgba(184,138,78,.06); }
.mb-proof__num .n { transition: color .3s; }
.mb-proof__num:hover .n { color: var(--mb-gold-deep); }

/* ── Iteración 10: Ornamento sutil entre secciones + scroll smoothing ── */
.mb-suppliers, .mb-proof, .mb-how { scroll-margin-top: 80px; }
.mb-suppliers__divider {
    background: none; height: auto; position: relative; margin: 20px 0 48px;
    display: flex; align-items: center; justify-content: center; gap: 14px;
}
.mb-suppliers__divider::before, .mb-suppliers__divider::after {
    content: ''; height: 1px; flex: 1; max-width: 120px;
    background: linear-gradient(to right, transparent, rgba(184,138,78,.35), transparent);
}
.mb-suppliers__divider::after {
    background: linear-gradient(to right, rgba(184,138,78,.35), transparent);
}
.mb-suppliers__divider::before {
    background: linear-gradient(to right, transparent, rgba(184,138,78,.35));
}
/* Diamante dorado central */
.mb-suppliers__divider {
    --d-size: 6px;
}
.mb-suppliers__divider {
    position: relative;
}
.mb-suppliers__divider > * { display: none; }

/* Bullets del hero con gold tint */
.mb-hero__bullets li::before {
    background: var(--mb-gold);
    box-shadow: 0 0 0 3px rgba(184,138,78,.12);
}

/* CTA "Ver todos los planes" pulido */
.mb-btn-how {
    border-color: rgba(45,106,63,.30);
    box-shadow:
        0 1px 0 rgba(255,255,255,.6) inset,
        0 4px 14px -4px rgba(45,106,63,.18);
}
.mb-btn-how:hover {
    background: linear-gradient(180deg, #2f7150 0%, #265e42 100%);
    box-shadow:
        0 12px 32px -6px rgba(45,106,63,.42),
        0 4px 10px -2px rgba(0,0,0,.14);
}

/* Mobile refinements para el polish layer */
@media (max-width: 768px) {
    .mb-hero__eyebrow::before { display: none; }
    .mb-btn-hero, .mb-btn-hero-secondary { width: 100%; }
}
