
:root {
  --mmm-black:  #111311;
  --mmm-lime:   #C8F02A;
  --mmm-orange: #FF6A1F;
  --mmm-bone:   #F5F2EA;
  --mmm-ash:    #8C8F8A;
  --mmm-black-90: #191c19;
  --mmm-black-80: #23261f;
  --mmm-line:     rgba(245, 242, 234, 0.14);
  --mmm-line-dk:  rgba(17, 19, 17, 0.14);
  --bg:          var(--mmm-bone);
  --bg-alt:      var(--mmm-black);
  --text:        var(--mmm-black);
  --text-invert: var(--mmm-bone);
  --accent:      var(--mmm-lime);
  --font-display: 'Archivo Black', 'Arial Black', system-ui, sans-serif;
  --font-body:    'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-xs:  0.8rem;
  --fs-sm:  1rem;
  --fs-md:  1.25rem;
  --fs-lg:  clamp(1.35rem, 1.1rem + 1.1vw, 1.563rem);
  --fs-xl:  clamp(1.6rem, 1.2rem + 1.9vw, 1.953rem);
  --fs-2xl: clamp(1.95rem, 1.3rem + 3vw, 2.441rem);
  --fs-3xl: clamp(2.3rem, 1.3rem + 4.6vw, 3.052rem);
  --fs-4xl: clamp(2.7rem, 1.2rem + 6.6vw, 3.815rem);
  --fs-mega: clamp(3.2rem, 0.8rem + 9.4vw, 8rem);
  --sp-1: 8px;  --sp-2: 16px; --sp-3: 24px; --sp-4: 32px;
  --sp-6: 48px; --sp-8: 64px; --sp-12: 96px; --sp-16: 128px;
  --sp-section: clamp(72px, 9vw, 144px);
  --radius: 4px;
  --radius-pill: 999px;
  --border: 2px solid var(--mmm-black);
  --maxw: 1200px;
  --maxw-wide: 1480px;
  --nav-h: 76px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-h) + 24px);
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 0.94;
  margin: 0;
  text-wrap: balance;
}
p { margin: 0 0 var(--sp-2); text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }
::selection { background: var(--mmm-lime); color: var(--mmm-black); }
:focus-visible {
  outline: 3px solid var(--mmm-lime);
  outline-offset: 3px;
  border-radius: 2px;
}
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--mmm-black); }
::-webkit-scrollbar-thumb { background: var(--mmm-ash); }
::-webkit-scrollbar-thumb:hover { background: var(--mmm-lime); }
.wrap { width: min(100% - 40px, var(--maxw)); margin-inline: auto; }
.wrap-wide { width: min(100% - 40px, var(--maxw-wide)); margin-inline: auto; }
.section { padding-block: var(--sp-section); position: relative; }
.section--tight { padding-block: clamp(48px, 6vw, 88px); }
.dark { background: var(--mmm-black); color: var(--text-invert); }
.dark h1, .dark h2, .dark h3 { color: var(--text-invert); }
.grid { display: grid; gap: var(--sp-4); }
.center { text-align: center; }
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 0.8125rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mmm-ash);
  margin-bottom: var(--sp-3);
}
.kicker::before {
  content: "";
  width: 30px; height: 11px;
  background-color: var(--mmm-lime);
  -webkit-mask: url("../img/grecas.svg?v=2aea98e0") no-repeat left bottom / 90px 11px;
  mask: url("../img/grecas.svg?v=2aea98e0") no-repeat left bottom / 90px 11px;
  display: block;
  flex: none;
}
.dark .kicker { color: var(--mmm-bone); opacity: 0.7; }
.lead {
  font-size: var(--fs-md);
  line-height: 1.55;
  max-width: 60ch;
  color: color-mix(in srgb, var(--mmm-black) 78%, transparent);
}
.dark .lead { color: color-mix(in srgb, var(--mmm-bone) 78%, transparent); }
.hl { color: var(--mmm-lime); }
.hl-mark {
  background-image: linear-gradient(var(--mmm-lime), var(--mmm-lime));
  background-repeat: no-repeat;
  background-position: 0 94%;
  background-size: 100% 30%;
  transition: background-size 0.7s var(--ease) 0.15s;
}
.js .hl-mark { background-size: 0% 36%; }
.is-in .hl-mark, .hl-mark.is-in { background-size: 100% 36%; }
.btn {
  --btn-bg: var(--mmm-lime);
  --btn-fg: var(--mmm-black);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-family: var(--font-display);
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-radius: var(--radius);
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.35s var(--ease), color 0.3s var(--ease);
  will-change: transform;
}
.btn > * { position: relative; z-index: 2; }
.btn::after {
  content: "";
  position: absolute; inset: 0;
  background: var(--mmm-black);
  transform: translateY(101%);
  transition: transform 0.45s var(--ease);
  z-index: 1;
}
.btn:hover { color: var(--mmm-lime); }
.btn:hover::after { transform: translateY(0); }
.btn:active { transform: scale(0.97); }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--mmm-black);
  box-shadow: inset 0 0 0 2px currentColor;
}
.btn--ghost:hover { color: var(--mmm-lime); }
.dark .btn--ghost,
.hero .btn--ghost,
.cta .btn--ghost,
.phead .btn--ghost,
.founder .btn--ghost,
.aval .btn--ghost,
.vslider .btn--ghost,
.altmap .btn--ghost { --btn-fg: var(--mmm-bone); }
.dark .btn--ghost::after,
.hero .btn--ghost::after,
.cta .btn--ghost::after,
.phead .btn--ghost::after,
.founder .btn--ghost::after,
.aval .btn--ghost::after,
.vslider .btn--ghost::after,
.altmap .btn--ghost::after { background: var(--mmm-bone); }
.dark .btn--ghost:hover,
.hero .btn--ghost:hover,
.cta .btn--ghost:hover,
.phead .btn--ghost:hover,
.founder .btn--ghost:hover,
.aval .btn--ghost:hover,
.vslider .btn--ghost:hover,
.altmap .btn--ghost:hover { color: var(--mmm-black); }
.btn--lg { padding: 20px 36px; font-size: 1.05rem; }
.btn--block { width: 100%; }
.btn-row { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--mmm-lime);
  transition: gap 0.3s var(--ease);
}
.arrow-link:hover { gap: 18px; }
.progress {
  position: fixed; top: 0; left: 0;
  height: 3px; width: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: var(--mmm-lime);
  z-index: 120;
  pointer-events: none;
}
.nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h);
  z-index: 100;
  display: flex;
  align-items: center;
  transition: background 0.4s var(--ease), box-shadow 0.4s var(--ease), height 0.4s var(--ease);
}
.nav::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--mmm-black);
  opacity: 0;
  transition: opacity 0.4s var(--ease);
  border-bottom: 1px solid var(--mmm-line);
}
.nav.is-stuck { --nav-h: 66px; }
.nav.is-stuck::before { opacity: 1; }
.nav.is-hidden { transform: translateY(-100%); transition: transform 0.4s var(--ease); }
.nav__inner {
  position: relative;
  z-index: 2;
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand img {
  width: 46px; height: 46px;
  object-fit: contain;
  transition: transform 0.5s var(--ease);
}
.brand:hover img { transform: rotate(-8deg) scale(1.06); }
.brand__txt {
  font-family: var(--font-display);
  font-size: 0.82rem;
  line-height: 1;
  color: var(--mmm-bone);
  letter-spacing: -0.01em;
  text-shadow: 0 2px 12px rgba(17,19,17,0.9);
}
.brand__txt small {
  display: block;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  color: var(--mmm-lime);
  margin-top: 4px;
}
.nav__links { display: flex; align-items: center; gap: var(--sp-3); }
.nav__link {
  position: relative;
  color: var(--mmm-bone);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 6px 0;
}
.nav__link::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: 2px;
  background: var(--mmm-lime);
  transform: scaleX(0);
  transform-origin: 100% 50%;
  transition: transform 0.4s var(--ease);
}
.nav__link:hover::after, .nav__link[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: 0 50%;
}
.nav__link[aria-current="page"] { color: var(--mmm-lime); }
.nav__cta { display: inline-flex; }
.nav__burger {
  display: none;
  width: 46px; height: 46px;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 6px;
  border-radius: var(--radius);
}
.nav__burger span {
  display: block;
  width: 24px; height: 2px;
  background: var(--mmm-bone);
  transition: transform 0.4s var(--ease), opacity 0.25s var(--ease);
}
body.menu-open .nav__burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.menu-open .nav__burger span:nth-child(2) { opacity: 0; }
body.menu-open .nav__burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.menu {
  position: fixed; inset: 0;
  background: var(--mmm-black);
  z-index: 99;
  padding: calc(var(--nav-h) + 32px) 24px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.65s var(--ease);
  visibility: hidden;
  overflow-y: auto;
}
body.menu-open .menu { clip-path: inset(0 0 0 0); visibility: visible; }
.menu__links { display: flex; flex-direction: column; gap: 4px; }
.menu__links a {
  font-family: var(--font-display);
  font-size: clamp(2rem, 9vw, 3.2rem);
  color: var(--mmm-bone);
  padding: 8px 0;
  border-bottom: 1px solid var(--mmm-line);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s var(--ease), transform 0.5s var(--ease), color 0.3s;
}
body.menu-open .menu__links a { opacity: 1; transform: none; transition-delay: calc(0.08s * var(--i, 0) + 0.18s); }
.menu__links a:hover, .menu__links a[aria-current="page"] { color: var(--mmm-lime); }
.menu__foot { color: var(--mmm-ash); font-size: 0.85rem; padding-top: 24px; }
.menu__foot strong { color: var(--mmm-lime); display: block; font-size: 1.4rem; font-family: var(--font-display); }
@media (max-width: 960px) {
  .nav__links { display: none; }
  .nav__burger { display: flex; }
  .nav__cta { display: none; }
}
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  background: var(--mmm-black);
  overflow: hidden;
  isolation: isolate;
}
.hero__media { position: absolute; inset: -10% 0 0; z-index: 0; }
.hero__media img {
  width: 100%; height: 115%;
  object-fit: cover;
  object-position: 50% 42%;
  filter: saturate(0.72) contrast(1.05) brightness(0.8);
  will-change: transform;
}
.hero__scrim {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(17,19,17,0.75) 0%, rgba(17,19,17,0.12) 34%, rgba(17,19,17,0.34) 66%, rgba(17,19,17,0.94) 100%),
    linear-gradient(100deg, rgba(17,19,17,0.86) 0%, rgba(17,19,17,0.42) 40%, rgba(17,19,17,0) 68%),
    radial-gradient(120% 80% at 18% 88%, rgba(17,19,17,0.62), transparent 60%);
}
.hero__ridges { position: absolute; inset: auto 0 -2px; z-index: 2; pointer-events: none; }
.hero__ridge { position: absolute; left: -5%; right: -5%; bottom: 0; width: 110%; will-change: transform; }
.hero__ridge svg { width: 100%; height: auto; display: block; }
.hero__inner {
  position: relative;
  z-index: 4;
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  padding-block: clamp(90px, 12vh, 150px) clamp(48px, 7vh, 88px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--sp-6);
}
.hero__title {
  font-size: var(--fs-mega);
  color: var(--mmm-bone);
  line-height: 0.86;
  letter-spacing: -0.035em;
  margin-bottom: var(--sp-3);
}
.hero__title .line { display: block; overflow: hidden; }
.hero__title .line > span {
  display: block;
  transition: transform 1.05s var(--ease);
  transition-delay: calc(0.1s * var(--i, 0) + 0.15s);
}
.js .hero__title .line > span { transform: translateY(105%); }
.is-loaded .hero__title .line > span { transform: none; }
.hero__title em {
  font-style: normal;
  -webkit-text-stroke: 2px var(--mmm-lime);
  color: transparent;
  paint-order: stroke fill;
}
.hero__title { text-shadow: 0 14px 50px rgba(17,19,17,0.85), 0 2px 12px rgba(17,19,17,0.7); }
.hero__sub { text-shadow: 0 6px 24px rgba(17,19,17,0.9); }
.hero__courses {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--sp-4);
}
.hero__course {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 11px 16px;
  border: 1px solid rgba(245,242,234,0.28);
  border-radius: var(--radius);
  background: rgba(17,19,17,0.42);
  color: var(--mmm-bone);
  transition: border-color 0.35s var(--ease), background 0.35s var(--ease), transform 0.35s var(--ease);
}
.hero__course:hover { border-color: var(--mmm-lime); background: rgba(17,19,17,0.75); transform: translateY(-3px); }
.hero__course b { font-family: var(--font-display); font-size: 0.86rem; text-transform: uppercase; }
.hero__course span { font-size: 0.86rem; color: var(--mmm-lime); font-weight: 700; }
@media (max-width: 560px) { .hero__course { padding: 9px 12px; } .hero__course b { font-size: 0.76rem; } }
.hero__sub {
  color: color-mix(in srgb, var(--mmm-bone) 82%, transparent);
  font-size: var(--fs-md);
  max-width: 46ch;
  margin-bottom: var(--sp-4);
  transition: opacity 0.8s var(--ease) 0.55s, transform 0.8s var(--ease) 0.55s;
}
.hero__ctas {
  transition: opacity 0.8s var(--ease) 0.7s, transform 0.8s var(--ease) 0.7s;
}
.js .hero__sub, .js .hero__ctas { opacity: 0; transform: translateY(20px); }
.is-loaded .hero__sub, .is-loaded .hero__ctas { opacity: 1; transform: none; }
.hero__monkey {
  width: clamp(110px, 13vw, 190px);
  align-self: end;
  filter: drop-shadow(0 24px 40px rgba(0,0,0,0.55));
  transform: translateY(30%);
  animation: bob 6s ease-in-out infinite;
  transition: opacity 0.9s var(--ease) 0.9s;
}
.js .hero__monkey { opacity: 0; }
.is-loaded .hero__monkey { opacity: 1; }
@keyframes bob {
  0%, 100% { transform: translateY(30%) rotate(-1.5deg); }
  50%      { transform: translateY(24%) rotate(1.5deg); }
}
.hero__note {
  position: absolute;
  right: 0; top: 34%;
  z-index: 5;
  max-width: 22ch;
  text-align: right;
  font-size: 0.95rem;
  line-height: 1.5;
  color: color-mix(in srgb, var(--mmm-bone) 82%, transparent);
}
.hero__note::before {
  content: "";
  display: block;
  width: 44px; height: 2px;
  background: var(--mmm-lime);
  margin: 0 0 14px auto;
}
.hero__note b { color: var(--mmm-bone); font-weight: 600; }
@media (max-width: 1100px) { .hero__note { display: none; } }
.hero__scroll {
  position: absolute;
  left: 50%; bottom: 22px;
  transform: translateX(-50%);
  z-index: 5;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: color-mix(in srgb, var(--mmm-bone) 60%, transparent);
  font-size: 0.62rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.hero__scroll i {
  display: block; width: 1px; height: 44px;
  background: linear-gradient(var(--mmm-lime), transparent);
  animation: drop 2s var(--ease-in-out) infinite;
  transform-origin: top;
}
@keyframes drop { 0% { transform: scaleY(0); } 45% { transform: scaleY(1); } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (max-width: 860px) {
  .hero__inner { grid-template-columns: 1fr; align-items: start; padding-bottom: 132px; }
  .hero__monkey { position: absolute; right: 0; bottom: 0; width: 108px; opacity: 0.95; }
  .hero__scroll { display: none; }
}
.marquee {
  background: var(--mmm-lime);
  color: var(--mmm-black);
  padding: 14px 0;
  overflow: hidden;
  display: flex;
  gap: 0;
  border-block: 2px solid var(--mmm-black);
  user-select: none;
}
.marquee__track {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-right: 28px;
  flex: none;
  animation: slide 34s linear infinite;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee span {
  font-family: var(--font-display);
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.marquee i { width: 9px; height: 9px; background: var(--mmm-black); transform: rotate(45deg); flex: none; }
@keyframes slide { to { transform: translateX(-100%); } }
.marquee--dark { background: var(--mmm-black); color: var(--mmm-bone); border-color: var(--mmm-lime); }
.marquee--dark i { background: var(--mmm-lime); }
.trust {
  background: var(--mmm-black);
  color: var(--mmm-bone);
  padding-block: var(--sp-6);
}
.trust__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--mmm-line);
  border: 1px solid var(--mmm-line);
}
.trust__item {
  background: var(--mmm-black);
  padding: var(--sp-4) var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: background 0.4s var(--ease);
}
.trust__item:hover { background: var(--mmm-black-80); }
.trust__item svg { width: 30px; height: 30px; stroke: var(--mmm-lime); fill: none; stroke-width: 1.7; }
.trust__item b {
  font-family: var(--font-display);
  font-size: 0.95rem;
  text-transform: uppercase;
  line-height: 1.15;
}
.trust__item small { color: var(--mmm-ash); font-size: 0.8rem; line-height: 1.45; }
@media (max-width: 800px) { .trust__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .trust__grid { grid-template-columns: 1fr; } }
.obj { background: var(--mmm-bone); position: relative; overflow: hidden; }
.obj__head { max-width: 62ch; margin-bottom: var(--sp-8); }
.obj__head h2 { font-size: var(--fs-3xl); margin-bottom: var(--sp-3); }
.obj__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
@media (max-width: 1080px) { .obj__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .obj__grid { grid-template-columns: 1fr; } }
.obj-card {
  position: relative;
  background: var(--mmm-black);
  color: var(--mmm-bone);
  padding: clamp(28px, 4vw, 52px);
  border-radius: var(--radius);
  overflow: hidden;
  isolation: isolate;
}
.obj-card::before {
  content: "“";
  position: absolute;
  top: -0.28em; right: 0.06em;
  font-family: var(--font-display);
  font-size: 16rem;
  line-height: 1;
  color: var(--mmm-lime);
  opacity: 0.09;
  pointer-events: none;
}
.obj-card__tag {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mmm-orange);
  margin-bottom: var(--sp-2);
}
.obj-card h3 {
  position: relative;
  display: inline;
  font-size: var(--fs-2xl);
  color: var(--mmm-bone);
  background-image: linear-gradient(var(--mmm-lime), var(--mmm-lime));
  background-repeat: no-repeat;
  background-position: 0 52%;
  background-size: 100% 8px;
  transition: background-size 0.85s var(--ease) 0.25s;
}
.js .obj-card h3 { background-size: 0% 8px; }
.obj-card.is-in h3 { background-size: 100% 8px; }
.obj-card__body { margin-top: var(--sp-3); }
.obj-card__body p { color: color-mix(in srgb, var(--mmm-bone) 80%, transparent); font-size: var(--fs-sm); }
.obj-card__answer {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  color: var(--mmm-lime);
  margin-bottom: var(--sp-2);
}
.obj-card__answer svg { width: 26px; height: 26px; stroke: var(--mmm-lime); fill: none; stroke-width: 2.4; }
.slot {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #1b1f1a 0%, #0d0f0d 100%);
  isolation: isolate;
}
.slot::after {
  content: "";
  position: absolute; inset: 0;
  opacity: 0.16;
  background-image: radial-gradient(rgba(245,242,234,0.5) 0.5px, transparent 0.6px);
  background-size: 3px 3px;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.slot__sun {
  position: absolute;
  width: 34%; aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,106,31,0.85), rgba(255,106,31,0) 68%);
  top: 12%; right: 12%;
  filter: blur(2px);
}
.slot__r {
  position: absolute; left: -2%; right: -2%; bottom: 0; height: 78%;
  background: var(--mmm-black-80);
  clip-path: polygon(0 62%, 12% 40%, 24% 55%, 38% 22%, 52% 48%, 66% 28%, 80% 52%, 92% 34%, 100% 50%, 100% 100%, 0 100%);
  opacity: 0.75;
}
.slot__r--2 {
  height: 58%;
  background: #171a16;
  clip-path: polygon(0 70%, 10% 52%, 22% 66%, 36% 38%, 48% 60%, 62% 44%, 76% 66%, 88% 50%, 100% 62%, 100% 100%, 0 100%);
  opacity: 1;
}
.slot__r--3 {
  height: 34%;
  background: var(--mmm-black);
  clip-path: polygon(0 72%, 14% 48%, 30% 70%, 46% 44%, 60% 66%, 74% 46%, 88% 68%, 100% 54%, 100% 100%, 0 100%);
}
.slot--b .slot__sun { background: radial-gradient(circle, rgba(200,240,42,0.55), rgba(200,240,42,0) 68%); left: 14%; right: auto; top: 18%; }
.slot--b .slot__r { clip-path: polygon(0 48%, 16% 66%, 30% 34%, 44% 58%, 58% 30%, 72% 56%, 86% 38%, 100% 60%, 100% 100%, 0 100%); }
.slot--c .slot__sun { top: 22%; right: 24%; width: 22%; background: radial-gradient(circle, rgba(245,242,234,0.5), rgba(245,242,234,0) 70%); }
.slot--c .slot__r--2 { clip-path: polygon(0 58%, 18% 34%, 34% 62%, 50% 30%, 64% 58%, 78% 36%, 92% 60%, 100% 44%, 100% 100%, 0 100%); }
.slot__tag {
  position: absolute;
  right: 12px; top: 12px;
  z-index: 3;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mmm-black);
  background: var(--mmm-lime);
  padding: 4px 8px;
  border-radius: 2px;
  opacity: 0.9;
}
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
@media (max-width: 900px) { .tiles { grid-template-columns: 1fr; } }
.tile {
  position: relative;
  display: block;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--mmm-black);
  color: var(--mmm-bone);
  min-height: clamp(340px, 42vw, 460px);
  isolation: isolate;
}
.tile .slot,
.tile__img { position: absolute; inset: 0; z-index: 0; transition: transform 1.1s var(--ease); }
.tile__img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.88) brightness(0.92); }
.tile:hover .slot,
.tile:hover .tile__img { transform: scale(1.06); }
.adv-card__img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); filter: saturate(0.9); }
.adv-card:hover .adv-card__img { transform: scale(1.05); }
.tile__scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(17,19,17,0.1) 30%, rgba(17,19,17,0.9) 100%);
}
.tile__body {
  position: relative; z-index: 2;
  height: 100%;
  padding: var(--sp-4);
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: inherit;
}
.tile__num {
  position: absolute; top: var(--sp-4); left: var(--sp-4);
  font-family: var(--font-display);
  font-size: 0.8rem;
  color: var(--mmm-lime);
}
.tile h3 { font-size: var(--fs-xl); margin-bottom: 10px; }
.tile p { color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); font-size: 0.95rem; margin-bottom: var(--sp-2); }
.tile__go {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-display); font-size: 0.8rem; text-transform: uppercase;
  color: var(--mmm-lime);
  transition: gap 0.35s var(--ease);
}
.tile:hover .tile__go { gap: 18px; }
.why { background: var(--mmm-black); color: var(--mmm-bone); }
.why__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: var(--sp-8); align-items: start; }
.why__sticky { position: sticky; top: calc(var(--nav-h) + 48px); }
.why__sticky h2 { font-size: var(--fs-3xl); margin-bottom: var(--sp-3); }
.why__list { display: flex; flex-direction: column; }
.why__item {
  padding: clamp(28px, 4vw, 48px) 0;
  border-top: 1px solid var(--mmm-line);
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: var(--sp-3);
  transition: opacity 0.6s var(--ease);
}
.js .why__item { opacity: 0.42; }
.why__item:last-child { border-bottom: 1px solid var(--mmm-line); }
.why__item.is-active { opacity: 1; }
.why__item b {
  font-family: var(--font-display);
  font-size: 0.85rem;
  color: var(--mmm-lime);
  padding-top: 6px;
}
.why__item h3 { font-size: var(--fs-xl); margin-bottom: 12px; }
.why__item p { color: color-mix(in srgb, var(--mmm-bone) 72%, transparent); margin: 0; }
.why__item:has(.why__media) { grid-template-columns: 64px minmax(0, 1fr) clamp(118px, 12vw, 180px); align-items: start; }
.why__media {
  margin: 0;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--mmm-black-80);
  position: relative;
}
.why__media.vcard { aspect-ratio: 3 / 4; }
.why__media img, .why__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) {
  .why__grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .why__sticky { position: static; }
  .why__item, .js .why__item { opacity: 1; grid-template-columns: 44px 1fr; }
  .why__item:has(.why__media) { grid-template-columns: 44px minmax(0, 1fr); }
  .why__media, .why__media.vcard { grid-column: 2; width: min(100%, 300px); aspect-ratio: 4 / 5; }
}
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); }
@media (max-width: 820px) { .stats { grid-template-columns: repeat(2, 1fr); } }
.stat {
  padding: var(--sp-4) 0;
  border-top: 3px solid var(--mmm-lime);
}
.stat__n {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 6vw, 4rem);
  line-height: 1;
  letter-spacing: -0.04em;
  display: block;
}
.stat__l { font-size: 0.85rem; color: var(--mmm-ash); margin-top: 8px; display: block; line-height: 1.4; }
.rail {
  display: flex;
  gap: var(--sp-3);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: var(--sp-3);
  cursor: grab;
  scrollbar-width: none;
}
.rail::-webkit-scrollbar { display: none; }
.rail.is-drag { cursor: grabbing; scroll-snap-type: none; }
.rail > * { scroll-snap-align: start; flex: 0 0 min(420px, 82vw); }
.quote {
  background: var(--mmm-bone);
  color: var(--mmm-black);
  border-radius: var(--radius);
  padding: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  min-height: 260px;
  border: 1px solid var(--mmm-line-dk);
}
.quote p {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  line-height: 1.2;
  text-transform: none;
  letter-spacing: -0.02em;
  margin: 0;
  flex: 1;
}
.quote footer { display: flex; align-items: center; gap: 12px; font-size: 0.82rem; color: var(--mmm-ash); }
.quote footer i {
  width: 38px; height: 38px; flex: none;
  border-radius: 50%;
  background: var(--mmm-black);
  color: var(--mmm-lime);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-style: normal;
  font-size: 0.9rem;
}
.quote footer b { color: var(--mmm-black); display: block; }
.courses { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); align-items: stretch; }
@media (max-width: 960px) { .courses { grid-template-columns: 1fr; } }
.course {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--mmm-bone);
  border: 2px solid var(--mmm-black);
  border-radius: var(--radius);
  padding: var(--sp-4);
  transition: transform 0.5s var(--ease), background 0.5s var(--ease), color 0.5s var(--ease);
  overflow: hidden;
}
.course:hover { transform: translateY(-8px); }
.course--feat { background: var(--mmm-black); color: var(--mmm-bone); }
.course--feat h3 { color: var(--mmm-bone); }
.course__badge {
  position: absolute; top: 0; right: 0;
  background: var(--mmm-orange);
  color: var(--mmm-black);
  font-size: 0.62rem; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 7px 12px;
}
.course__lvl { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mmm-ash); }
.course h3 { font-size: var(--fs-2xl); margin: 10px 0 var(--sp-2); }
.course__price {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
  display: flex; align-items: baseline; gap: 8px;
}
.course__price small { font-family: var(--font-body); font-size: 0.8rem; font-weight: 700; color: var(--mmm-ash); letter-spacing: 0.1em; }
.course__desc { margin: var(--sp-3) 0; font-size: 0.95rem; color: color-mix(in srgb, currentColor 78%, transparent); }
.course__list { display: flex; flex-direction: column; gap: 10px; margin-bottom: var(--sp-4); font-size: 0.9rem; }
.course__list li { display: flex; gap: 10px; align-items: flex-start; }
.course__list svg { width: 17px; height: 17px; flex: none; margin-top: 4px; stroke: var(--mmm-orange); fill: none; stroke-width: 2.6; }
.course--feat .course__list svg { stroke: var(--mmm-lime); }
.course .btn { margin-top: auto; }
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
@media (max-width: 780px) { .duo { grid-template-columns: 1fr; } }
.panel {
  border: 2px solid var(--mmm-black);
  border-radius: var(--radius);
  padding: var(--sp-4);
  background: var(--mmm-bone);
}
.panel--dark { background: var(--mmm-black); color: var(--mmm-bone); border-color: var(--mmm-black); }
.panel h3 { font-size: var(--fs-lg); margin-bottom: var(--sp-3); }
.panel ul { display: flex; flex-direction: column; gap: 12px; }
.panel li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.95rem; }
.panel li::before { content: "▲"; color: var(--mmm-lime); font-size: 0.6rem; line-height: 1.9; }
.panel--light li::before { color: var(--mmm-orange); }
.adv { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-3); }
@media (max-width: 820px) { .adv { grid-template-columns: 1fr; } }
.adv-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: clamp(300px, 34vw, 420px);
  color: var(--mmm-bone);
  isolation: isolate;
  display: flex; align-items: flex-end;
}
.adv-card .slot { position: absolute; inset: 0; z-index: 0; transition: transform 1s var(--ease); }
.adv-card:hover .slot { transform: scale(1.05); }
.adv-card__scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(17,19,17,0.15) 35%, rgba(17,19,17,0.92) 100%); }
.adv-card__body { position: relative; z-index: 2; padding: var(--sp-4); width: 100%; }
.adv-card h3 { font-size: var(--fs-xl); }
.adv-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 var(--sp-2); }
.chip {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  padding: 6px 10px; border-radius: var(--radius-pill);
  background: rgba(245,242,234,0.12); color: var(--mmm-bone);
  border: 1px solid var(--mmm-line);
}
.chip--lime { background: var(--mmm-lime); color: var(--mmm-black); border-color: var(--mmm-lime); }
.chip--orange { background: var(--mmm-orange); color: var(--mmm-black); border-color: var(--mmm-orange); }
.adv-card__price { font-family: var(--font-display); font-size: var(--fs-lg); color: var(--mmm-lime); }
.adv-card__price small { font-family: var(--font-body); font-size: 0.7rem; color: var(--mmm-ash); letter-spacing: 0.1em; display: block; text-transform: uppercase; }
.founder { position: relative; background: var(--mmm-black); color: var(--mmm-bone); overflow: hidden; }
.founder__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); align-items: center; }
@media (max-width: 900px) { .founder__grid { grid-template-columns: 1fr; gap: var(--sp-4); } }
.founder__media { position: relative; border-radius: var(--radius); overflow: hidden; }
.founder__media img { width: 100%; aspect-ratio: 3/4; object-fit: cover; filter: saturate(0.85) contrast(1.03); }
.founder__stamp {
  position: absolute; left: 16px; bottom: 16px;
  background: var(--mmm-lime); color: var(--mmm-black);
  font-family: var(--font-display); font-size: 0.7rem; text-transform: uppercase;
  padding: 8px 12px; border-radius: 2px;
}
.timeline { border-left: 2px solid var(--mmm-line); padding-left: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-4); }
.timeline li { position: relative; }
.timeline li::before {
  content: ""; position: absolute; left: calc(-1 * var(--sp-4) - 7px); top: 8px;
  width: 12px; height: 12px; background: var(--mmm-lime); transform: rotate(45deg);
}
.timeline b { font-family: var(--font-display); font-size: 0.8rem; color: var(--mmm-lime); display: block; margin-bottom: 6px; letter-spacing: 0.1em; }
.timeline h3 { font-size: var(--fs-lg); margin-bottom: 6px; }
.timeline p { color: color-mix(in srgb, var(--mmm-bone) 72%, transparent); margin: 0; font-size: 0.95rem; }
.certs { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }
@media (max-width: 700px) { .certs { grid-template-columns: 1fr; } }
.cert {
  border: 1px solid var(--mmm-line);
  border-left: 3px solid var(--mmm-lime);
  padding: var(--sp-3);
  background: var(--mmm-black-90);
}
.cert b { font-family: var(--font-display); font-size: 0.95rem; display: block; margin-bottom: 6px; }
.cert small { color: var(--mmm-ash); }
.shop { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
@media (max-width: 900px) { .shop { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .shop { grid-template-columns: 1fr; } }
.product { display: flex; flex-direction: column; }
.product__media { position: relative; aspect-ratio: 4/5; border-radius: var(--radius); overflow: hidden; background: var(--mmm-black); }
.product__media .slot { position: absolute; inset: 0; transition: transform 0.9s var(--ease); }
.product:hover .product__media .slot { transform: scale(1.05); }
.product__media img {
  position: absolute; inset: 0; margin: auto;
  width: 62%; height: auto; z-index: 2;
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.5));
  transition: transform 0.7s var(--ease);
}
.product:hover .product__media img { transform: translateY(-8px) scale(1.03); }
.product__body { padding-top: var(--sp-3); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.product h3 { font-size: var(--fs-md); }
.product__price { font-family: var(--font-display); font-size: var(--fs-lg); }
.product small { color: var(--mmm-ash); font-size: 0.82rem; }
.product .btn { margin-top: auto; }
.product--soon .product__media { opacity: 0.55; }
.form { display: grid; gap: var(--sp-3); }
.field { display: flex; flex-direction: column; gap: 8px; }
.field label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mmm-ash); }
.field input, .field textarea, .field select {
  font: inherit;
  font-size: 1rem;
  padding: 14px 16px;
  background: transparent;
  color: inherit;
  border: 2px solid var(--mmm-line);
  border-radius: var(--radius);
  transition: border-color 0.3s var(--ease);
  width: 100%;
}
.field input::placeholder, .field textarea::placeholder { color: color-mix(in srgb, var(--mmm-ash) 80%, transparent); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--mmm-lime); outline: none; }
.field textarea { min-height: 130px; resize: vertical; }
.field select option { background: var(--mmm-black); color: var(--mmm-bone); }
.field--row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
@media (max-width: 640px) { .field--row { grid-template-columns: 1fr; } }
.form__note { font-size: 0.8rem; color: var(--mmm-ash); }
.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
@media (max-width: 900px) { .contact__grid { grid-template-columns: 1fr; gap: var(--sp-6); } }
.contact__item { padding: var(--sp-3) 0; border-bottom: 1px solid var(--mmm-line); }
.contact__item b { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mmm-ash); display: block; margin-bottom: 6px; }
.contact__item a, .contact__item span { font-family: var(--font-display); font-size: var(--fs-md); }
.contact__item a:hover { color: var(--mmm-lime); }
.cta {
  background: var(--mmm-black);
  color: var(--mmm-bone);
  text-align: center;
  padding-block: clamp(80px, 11vw, 160px);
  position: relative;
  overflow: hidden;
}
.cta__bg {
  position: absolute; inset: 0;
  background: radial-gradient(60% 60% at 50% 110%, rgba(200,240,42,0.16), transparent 70%);
  pointer-events: none;
}
.cta h2 { font-size: var(--fs-mega); color: var(--mmm-lime); line-height: 0.85; margin-bottom: var(--sp-3); }
.cta p { max-width: 46ch; margin-inline: auto; color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); margin-bottom: var(--sp-4); }
.foot { background: var(--mmm-black); color: var(--mmm-bone); border-top: 1px solid var(--mmm-line); padding-top: var(--sp-8); }
.foot__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: var(--sp-6); padding-bottom: var(--sp-8); }
@media (max-width: 900px) { .foot__top { grid-template-columns: 1fr 1fr; gap: var(--sp-4); } }
@media (max-width: 560px) { .foot__top { grid-template-columns: 1fr; } }
.foot h4 { font-size: 0.75rem; letter-spacing: 0.18em; color: var(--mmm-ash); margin-bottom: var(--sp-3); font-family: var(--font-body); font-weight: 700; }
.foot ul { display: flex; flex-direction: column; gap: 12px; }
.foot a:hover { color: var(--mmm-lime); }
.foot__brand img { width: 88px; margin-bottom: var(--sp-3); }
.foot__brand p { color: var(--mmm-ash); font-size: 0.9rem; max-width: 30ch; }
.foot__mark {
  height: 70px;
  margin-bottom: var(--sp-3);
  background-color: var(--mmm-line);
  -webkit-mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 70px;
  mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 70px;
}
.foot__wordmark {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 6.8vw, 6.4rem);
  line-height: 0.8;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1px var(--mmm-line);
  text-align: center;
  padding-bottom: 12px;
  user-select: none;
  overflow: hidden;
  white-space: nowrap;
}
.foot__legal {
  border-top: 1px solid var(--mmm-line);
  padding-block: var(--sp-3);
  display: flex; flex-wrap: wrap; gap: var(--sp-2);
  justify-content: space-between;
  font-size: 0.78rem; color: var(--mmm-ash);
}
.social { display: flex; gap: 10px; }
.social a {
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border: 1px solid var(--mmm-line);
  border-radius: var(--radius);
  transition: background 0.3s var(--ease), color 0.3s var(--ease), transform 0.3s var(--ease);
}
.social a:hover { background: var(--mmm-lime); color: var(--mmm-black); transform: translateY(-3px); }
.social svg { width: 19px; height: 19px; }
.wa-float {
  position: fixed;
  right: 18px; bottom: 18px;
  z-index: 90;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 20px 14px 16px;
  background: var(--mmm-lime);
  color: var(--mmm-black);
  border-radius: var(--radius-pill);
  font-family: var(--font-display);
  font-size: 0.85rem;
  text-transform: uppercase;
  box-shadow: 0 12px 30px rgba(17,19,17,0.35);
  transition: transform 0.55s var(--ease), box-shadow 0.3s var(--ease);
}
.js .wa-float { transform: translateY(140%); }
.wa-float.is-on { transform: none; }
.js .wa-float.is-off { transform: translateY(160%); }
.wa-float:hover { box-shadow: 0 16px 40px rgba(17,19,17,0.5); }
.wa-float svg { width: 22px; height: 22px; }
@media (max-width: 520px) { .wa-float span { display: none; } .wa-float { padding: 16px; } }
.phead {
  position: relative;
  background: var(--mmm-black);
  color: var(--mmm-bone);
  padding-block: calc(var(--nav-h) + clamp(60px, 9vw, 120px)) clamp(56px, 7vw, 100px);
  overflow: hidden;
}
.phead__bg { position: absolute; inset: 0; opacity: 0.5; }
.phead__bg .slot { position: absolute; inset: 0; }
.phead__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,19,17,0.92), rgba(17,19,17,0.65) 60%, var(--mmm-black)); }
.phead__inner { position: relative; z-index: 2; }
.phead h1 { font-size: var(--fs-4xl); margin-bottom: var(--sp-3); }
.phead .lead { color: color-mix(in srgb, var(--mmm-bone) 78%, transparent); }
.crumbs { display: flex; gap: 10px; font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mmm-ash); margin-bottom: var(--sp-3); }
.crumbs a:hover { color: var(--mmm-lime); }
.js [data-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
  transition-delay: calc(0.075s * var(--i, 0));
}
.js [data-reveal].is-in { opacity: 1; transform: none; }
.js [data-reveal="mask"] { opacity: 1; transform: none; clip-path: inset(0 0 100% 0); transition: clip-path 1s var(--ease); }
.js [data-reveal="mask"].is-in { clip-path: inset(0 0 0 0); }
.js [data-reveal="scale"] { opacity: 0; transform: scale(1.06); }
.js [data-reveal="scale"].is-in { opacity: 1; transform: none; }
.split-line { display: block; overflow: hidden; }
.js .split-line > span {
  display: block;
  transform: translateY(105%);
  transition: transform 0.9s var(--ease);
  transition-delay: calc(0.08s * var(--i, 0));
}
.js .is-in .split-line > span { transform: none; }
.cursor {
  position: fixed; top: 0; left: 0;
  width: 26px; height: 26px;
  border: 1.5px solid var(--mmm-lime);
  border-radius: 50%;
  pointer-events: none;
  z-index: 200;
  mix-blend-mode: difference;
  transform: translate(-50%, -50%);
  transition: width 0.3s var(--ease), height 0.3s var(--ease), background 0.3s var(--ease), opacity 0.3s;
  opacity: 0;
  will-change: transform;
}
.cursor.is-on { opacity: 1; }
.cursor.is-hot { width: 52px; height: 52px; background: rgba(200,240,42,0.18); }
@media (hover: none), (pointer: coarse) { .cursor { display: none; } }
html.has-ring, html.has-ring * { cursor: none !important; }
html.has-ring :focus-visible { outline-offset: 4px; }
.curtain__panel {
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 100%;
  background: var(--mmm-black);
  will-change: transform;
  transform: translateY(100%);
}
.curtain__ridge {
  position: absolute;
  left: 0; right: 0;
  bottom: calc(100% - 1px);
  height: clamp(56px, 8vh, 96px);
  background-color: var(--mmm-lime);
  -webkit-mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 100%;
  mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 100%;
}
.curtain__ridge::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 7px;
  height: 100%;
  background-color: var(--mmm-black);
  -webkit-mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 100%;
  mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 900px 100%;
}
.curtain__mark {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(0.86);
  width: clamp(78px, 10vw, 120px);
  opacity: 0;
  transition: opacity 0.35s var(--ease), transform 0.5s var(--ease);
}
body.is-leaving .curtain__panel,
.js body:not(.is-loaded) .curtain__panel { transform: translateY(0); }
body.is-leaving .curtain__mark,
.js body:not(.is-loaded) .curtain__mark { opacity: 1; transform: translate(-50%, -50%) scale(1); }
body.is-loaded .curtain__panel { transform: translateY(-100%); }
body.is-leaving .curtain__panel { transition: transform 0.55s var(--ease-in-out); }
body.is-loaded .curtain__panel { transition: transform 0.9s var(--ease-in-out); }
.curtain {
  position: fixed; inset: 0;
  z-index: 300;
  pointer-events: none;
  overflow: hidden;
}
.curtain { transform: none; }
.js body:not(.is-loaded) .curtain,
body.is-leaving .curtain { visibility: visible; }
body.is-loaded .curtain { transition: visibility 0s linear 0.85s; }
.altmap {
  position: relative;
  background: var(--mmm-black);
  color: var(--text-invert);
  height: 250vh;
}
.altmap__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  overflow: hidden;
  display: grid;
}
.altmap__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.altmap__grad {
  position: absolute; inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, var(--mmm-black) 0%, rgba(17,19,17,0) 26%),
    linear-gradient(0deg, var(--mmm-black) 0%, rgba(17,19,17,0) 22%);
}
.altmap__inner {
  position: relative;
  z-index: 3;
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  align-self: start;
  padding-top: calc(var(--nav-h) + 28px);
  pointer-events: none;
}
.altmap__inner h2 { font-size: var(--fs-2xl); margin-bottom: var(--sp-2); max-width: 16ch; }
.altmap__inner p { max-width: 42ch; color: color-mix(in srgb, var(--mmm-bone) 74%, transparent); font-size: 0.95rem; }
.altmap__read {
  position: absolute;
  right: 0; bottom: 0;
  z-index: 3;
  text-align: right;
  padding: 0 max(20px, calc((100vw - var(--maxw-wide)) / 2)) clamp(92px, 13vh, 132px) 0;
  pointer-events: none;
}
.altmap__num {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6.6vw, 5rem);
  line-height: 0.85;
  letter-spacing: -0.04em;
  color: var(--mmm-lime);
  font-variant-numeric: tabular-nums;
  display: block;
  text-shadow: 0 6px 34px rgba(17, 19, 17, 0.95), 0 0 12px rgba(17, 19, 17, 0.8);
}
.altmap__unit {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mmm-ash);
  margin-top: 10px;
  text-shadow: 0 2px 16px rgba(17, 19, 17, 0.95);
}
.altmap__pins { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.altmap__pin {
  position: absolute;
  top: 0; left: 0;
  transform: translate3d(-50%, -100%, 0);
  will-change: transform;
  text-align: center;
  opacity: 0.35;
  transition: opacity 0.4s var(--ease);
}
.altmap__pin.is-on { opacity: 1; }
.altmap__pin b {
  display: block;
  font-family: var(--font-display);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--mmm-bone);
}
.altmap__pin span {
  display: block;
  font-size: 0.68rem;
  color: var(--mmm-ash);
  white-space: nowrap;
  margin-top: 2px;
}
.altmap__pin i {
  display: block;
  width: 1px; height: 26px;
  margin: 8px auto 0;
  background: var(--mmm-lime);
  opacity: 0.5;
}
.altmap__pin::after {
  content: "";
  display: block;
  width: 9px; height: 9px;
  margin: 0 auto;
  background: var(--mmm-lime);
  transform: rotate(45deg) translateY(-3px);
}
.altmap__pin.is-on b { color: var(--mmm-lime); }
.altmap__pin--goal::after { background: var(--mmm-orange); }
.altmap__pin--goal i { background: var(--mmm-orange); }
.altmap__pin--goal.is-on b { color: var(--mmm-orange); }
.altmap__pin--goal span { color: color-mix(in srgb, var(--mmm-orange) 80%, var(--mmm-bone)); }
.altmap-foot { background: var(--mmm-black); color: var(--text-invert); }
.altmap-foot__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
@media (max-width: 820px) { .altmap-foot__grid { grid-template-columns: 1fr; } }
.altmap-foot__item { border-top: 3px solid var(--mmm-lime); padding-top: var(--sp-3); }
.altmap-foot__item--goal { border-top-color: var(--mmm-orange); }
.altmap-foot__item b { font-family: var(--font-display); font-size: var(--fs-lg); display: block; margin-bottom: 8px; }
.altmap-foot__item p { color: color-mix(in srgb, var(--mmm-bone) 72%, transparent); font-size: 0.95rem; margin: 0; }
@media (max-width: 720px) {
  .altmap { height: 210vh; }
  .altmap__inner p { display: none; }
  .altmap__pin span { display: none; }
}
.vband { position: relative; height: 240vh; background: var(--mmm-black); }
.vband__sticky {
  position: sticky; top: 0;
  height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.vband__frame {
  position: relative;
  width: var(--vw, 52vw);
  height: var(--vh, 58svh);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--mmm-black);
  will-change: width, height;
}
.vband__frame video,
.vband__frame img.vband__poster {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.05);
}
.vband__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(17,19,17,0.55) 0%, rgba(17,19,17,0.05) 40%, rgba(17,19,17,0.85) 100%);
}
.vband__cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: clamp(20px, 4vw, 56px);
  color: var(--mmm-bone);
}
.vband__cap h2 { font-size: var(--fs-2xl); margin-bottom: 10px; }
.vband__cap p { max-width: 46ch; color: color-mix(in srgb, var(--mmm-bone) 78%, transparent); margin: 0; }
.vband__tag {
  position: absolute; top: 0; left: 0;
  margin: clamp(16px, 3vw, 32px);
  font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--mmm-black); background: var(--mmm-lime);
  padding: 6px 10px; border-radius: 2px;
}
@media (max-width: 720px) { .vband { height: 180vh; } }
.vcard {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--mmm-black);
  aspect-ratio: 9 / 16;
}
.vcard video, .vcard img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.9);
}
.vcard__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,19,17,0.1) 45%, rgba(17,19,17,0.9) 100%); }
.vcard__body { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--sp-3); color: var(--mmm-bone); }
.vcard__body b { font-family: var(--font-display); font-size: var(--fs-md); display: block; text-transform: uppercase; }
.vcard__body span { font-size: 0.85rem; color: color-mix(in srgb, var(--mmm-bone) 74%, transparent); }
.vcard__live {
  position: absolute; top: 14px; left: 14px;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--mmm-bone);
}
.vcard__live::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--mmm-lime);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.25; } }
.zones { position: relative; }
.zones__list { border-top: 1px solid var(--mmm-line); }
.zones__item {
  position: relative;
  display: grid;
  grid-template-columns: 3.2rem 1fr auto;
  align-items: center;
  gap: var(--sp-3);
  padding: clamp(18px, 2.6vw, 32px) 0;
  border-bottom: 1px solid var(--mmm-line);
  transition: color 0.4s var(--ease), padding-left 0.5s var(--ease);
}
.zones__item b {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 3.4vw, 2.4rem);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  transition: color 0.35s var(--ease);
}
.zones__item i {
  font-style: normal;
  font-family: var(--font-display);
  font-size: 0.72rem;
  color: var(--mmm-ash);
}
.zones__item small { color: var(--mmm-ash); font-size: 0.85rem; text-align: right; }
.zones__list:hover .zones__item { opacity: 0.4; }
.zones__list .zones__item:hover { opacity: 1; padding-left: 18px; }
.zones__list .zones__item:hover b { color: var(--mmm-lime); }
.zones__item img { display: none; }
.zones__peek {
  position: fixed;
  top: 0; left: 0;
  width: clamp(240px, 22vw, 380px);
  aspect-ratio: 4 / 3;
  z-index: 60;
  pointer-events: none;
  border-radius: var(--radius);
  overflow: hidden;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scale(0.92);
  transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
  will-change: transform;
  box-shadow: 0 30px 60px rgba(0,0,0,0.55);
}
.zones__peek.is-on { opacity: 1; }
.zones__peek img { width: 100%; height: 100%; object-fit: cover; }
@media (hover: none), (pointer: coarse), (max-width: 860px) {
  .zones__peek { display: none; }
  .zones__item { grid-template-columns: 1fr; gap: 12px; }
  .zones__item small { text-align: left; }
  .zones__item i { display: none; }
  .zones__item img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: var(--radius);
    margin-top: 6px;
  }
  .zones__list:hover .zones__item { opacity: 1; }
}
.mosaic { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--sp-2); align-items: start; }
.mosaic figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius); background: var(--mmm-black); }
.mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.1s var(--ease); }
.mosaic figure:hover img { transform: scale(1.05); }
.mosaic figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 14px;
  font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--mmm-bone);
  background: linear-gradient(0deg, rgba(17,19,17,0.9), transparent);
}
.m-a { grid-column: span 7; aspect-ratio: 16/10; }
.m-b { grid-column: span 5; aspect-ratio: 4/5; }
.m-c { grid-column: span 4; aspect-ratio: 3/4; }
.m-d { grid-column: span 8; aspect-ratio: 16/9; }
@media (max-width: 780px) {
  .mosaic { grid-template-columns: repeat(2, 1fr); }
  .m-a, .m-b, .m-c, .m-d { grid-column: span 1; aspect-ratio: 3/4; }
}
.grecas {
  height: 42px;
  background-color: var(--mmm-lime);
  -webkit-mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 660px 42px;
  mask: url("../img/grecas.svg?v=2aea98e0") repeat-x bottom / 660px 42px;
}
.grecas--ink { background-color: var(--mmm-black); }
.grecas-band {
  background: var(--mmm-black);
  padding-block: var(--sp-3);
  overflow: hidden;
}
.grecas-band--light { background: var(--mmm-bone); }
.skyclouds {
  position: fixed;
  inset: 0;
  z-index: 88;
  pointer-events: none;
}
.skyclouds canvas { width: 100%; height: 100%; display: block; }
.clouds { display: none; }
.has-clouds { position: relative; isolation: isolate; }
.has-clouds > .wrap,
.has-clouds > .wrap-wide { position: relative; z-index: 2; }
.bg-photo { position: relative; overflow: hidden; isolation: isolate; }
.bg-photo__img {
  position: absolute;
  inset: -12% 0 -12%;
  width: 100%;
  height: 124%;
  object-fit: cover;
  z-index: 0;
  will-change: transform;
  filter: saturate(0.72) contrast(1.05) brightness(0.62);
}
.bg-photo__scrim {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(17,19,17,0.94) 0%, rgba(17,19,17,0.62) 42%, rgba(17,19,17,0.95) 100%),
    linear-gradient(90deg, rgba(17,19,17,0.85) 0%, rgba(17,19,17,0.25) 62%, rgba(17,19,17,0.6) 100%);
}
.bg-photo > .wrap,
.bg-photo > .wrap-wide { position: relative; z-index: 2; }
.bg-photo__credit {
  position: absolute;
  right: max(20px, calc((100vw - var(--maxw-wide)) / 2));
  bottom: 18px;
  z-index: 2;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--mmm-bone) 45%, transparent);
}
.floaty { text-shadow: 0 10px 40px rgba(17,19,17,0.9), 0 2px 10px rgba(17,19,17,0.7); }
[data-float] { will-change: transform; }
.floatimg {
  position: absolute;
  z-index: 1;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
  will-change: transform;
  pointer-events: none;
  opacity: 0.62;
  filter: saturate(0.75);
}
.floatimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.floatimg--tl { top: 8%;  left: 2%;  width: clamp(120px, 13vw, 210px); aspect-ratio: 3/4; }
.floatimg--tr { top: 12%; right: 2%; width: clamp(130px, 15vw, 240px); aspect-ratio: 4/3; }
.floatimg--bl { bottom: 8%; left: 4%; width: clamp(130px, 14vw, 220px); aspect-ratio: 4/3; }
.floatimg--br { bottom: 6%; right: 3%; width: clamp(120px, 13vw, 200px); aspect-ratio: 3/4; }
@media (max-width: 900px) { .floatimg { display: none; } }
.vslider { position: relative; height: 170vh; background: var(--mmm-black); }
.vslider__sticky {
  position: sticky;
  top: calc(var(--nav-h) + 8px);
  height: 80svh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sp-3);
}
.vslider__head {
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  color: var(--mmm-bone);
}
.vslider__head h2 { font-size: var(--fs-2xl); margin-bottom: 8px; }
.vslider__head p { color: color-mix(in srgb, var(--mmm-bone) 70%, transparent); margin: 0; max-width: 52ch; font-size: 0.95rem; }
.vslider__rail {
  display: flex;
  gap: 10px;
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  height: var(--vsh, 56svh);
  will-change: height;
}
.vslide {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--mmm-black-80);
  transition: flex-grow 0.6s var(--ease), filter 0.5s var(--ease);
  filter: saturate(0.55) brightness(0.6);
}
.vslide.is-active { flex-grow: 3.4; filter: none; }
.vslide video, .vslide img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.vslide__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,19,17,0.2) 40%, rgba(17,19,17,0.9) 100%); }
.vslide__body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: clamp(14px, 2vw, 28px);
  color: var(--mmm-bone);
}
.vslide__body b {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(0.9rem, 1.5vw, 1.4rem);
  text-transform: uppercase;
  white-space: nowrap;
}
.vslide__body span {
  display: block;
  font-size: 0.82rem;
  color: color-mix(in srgb, var(--mmm-bone) 72%, transparent);
  opacity: 0;
  max-height: 0;
  transition: opacity 0.45s var(--ease), max-height 0.45s var(--ease);
}
.vslide.is-active .vslide__body span { opacity: 1; max-height: 4em; margin-top: 4px; }
@media (min-width: 861px) {
  .vslide:not(.is-active) .vslide__body b {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    max-height: 60svh;
  }
  .vslide:not(.is-active) .vslide__body { padding-bottom: clamp(18px, 2.4vw, 32px); }
}
.vslide__num {
  position: absolute; top: 14px; left: 14px;
  font-family: var(--font-display);
  font-size: 0.72rem;
  color: var(--mmm-lime);
}
.vslider__hint {
  width: min(100% - 40px, var(--maxw-wide));
  margin-inline: auto;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mmm-ash);
}
@media (max-width: 860px) {
  .vslider { height: auto; }
  .vslider__sticky { position: static; height: auto; padding-block: var(--sp-8); }
  .vslider__rail { flex-direction: column; height: auto; }
  .vslide { flex: none; height: 46svh; filter: none; }
  .vslide__body span { opacity: 1; max-height: 4em; margin-top: 4px; }
  .vslider__hint { display: none; }
}
.zones__item { cursor: pointer; }
.zones__dots {
  display: flex; gap: 5px;
  margin-top: 8px;
}
.zones__dots i {
  width: 16px; height: 2px;
  background: var(--mmm-line);
  display: block;
  transition: background 0.3s var(--ease);
}
.zones__dots i.is-on { background: var(--mmm-lime); }
.zmodal {
  position: fixed; inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s var(--ease), visibility 0.4s;
}
.zmodal.is-open { visibility: visible; opacity: 1; }
.zmodal__bg { position: absolute; inset: 0; background: rgba(9,10,9,0.86); }
.zmodal__box {
  position: relative;
  width: min(980px, 100%);
  max-height: 86svh;
  overflow-y: auto;
  background: var(--mmm-black);
  border: 1px solid var(--mmm-line);
  border-radius: var(--radius);
  color: var(--mmm-bone);
  transform: translateY(24px) scale(0.98);
  transition: transform 0.5s var(--ease);
}
.zmodal.is-open .zmodal__box { transform: none; }
.zmodal__hero { position: relative; aspect-ratio: 16/7; overflow: hidden; }
.zmodal__hero img { width: 100%; height: 100%; object-fit: cover; }
.zmodal__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,19,17,0.2), rgba(17,19,17,0.95)); }
.zmodal__title {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  padding: var(--sp-4);
}
.zmodal__title h3 { font-size: var(--fs-2xl); }
.zmodal__title span { color: var(--mmm-lime); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; }
.zmodal__body { padding: var(--sp-4); display: grid; gap: var(--sp-3); }
.zmodal__body p { color: color-mix(in srgb, var(--mmm-bone) 78%, transparent); margin: 0; }
.zmodal__facts { display: flex; flex-wrap: wrap; gap: 8px; }
.zmodal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.zmodal__grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 2px; }
@media (max-width: 640px) { .zmodal__grid { grid-template-columns: repeat(2, 1fr); } }
.zmodal__close {
  position: absolute; top: 12px; right: 12px; z-index: 3;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  background: var(--mmm-black);
  border: 1px solid var(--mmm-line);
  border-radius: var(--radius);
  color: var(--mmm-bone);
  font-family: var(--font-display);
}
.zmodal__close:hover { background: var(--mmm-lime); color: var(--mmm-black); }
.level {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  padding-block: clamp(40px, 6vw, 88px);
  border-top: 1px solid var(--mmm-line);
}
.level:first-of-type { border-top: 0; }
.level--flip .level__media { order: 2; }
@media (max-width: 900px) {
  .level { grid-template-columns: 1fr; gap: var(--sp-4); }
  .level--flip .level__media { order: 0; }
}
.level__media {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--mmm-black-80);
}
.level__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.level:hover .level__media img { transform: scale(1.05); }
.level__price {
  position: absolute; right: 0; top: 0;
  background: var(--mmm-lime);
  color: var(--mmm-black);
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.4vw, 1.9rem);
  padding: 10px 16px;
  letter-spacing: -0.02em;
}
.level__n {
  font-family: var(--font-display);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--mmm-lime);
  display: block;
  margin-bottom: 10px;
}
.level h3 { font-size: var(--fs-3xl); margin-bottom: var(--sp-2); }
.level__desc { color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); margin-bottom: var(--sp-3); }
.level__list { display: grid; gap: 10px; margin-bottom: var(--sp-4); }
.level__list li { display: flex; gap: 0; align-items: flex-start; font-size: 0.95rem; }
.level__list svg { width: 17px; height: 17px; flex: none; margin: 4px 12px 0 0; stroke: var(--mmm-lime); fill: none; stroke-width: 2.6; }
.level__monkey {
  position: absolute;
  right: -6%;
  bottom: -4%;
  width: clamp(90px, 11vw, 160px);
  z-index: 2;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,0.55));
  pointer-events: none;
}
.syllabus { border-top: 1px solid var(--mmm-line); }
.mod {
  border-bottom: 1px solid var(--mmm-line);
}
.mod > summary {
  display: grid;
  grid-template-columns: 3.4rem 1fr auto;
  align-items: baseline;
  gap: var(--sp-3);
  padding: clamp(18px, 2.4vw, 28px) 0;
  cursor: pointer;
  list-style: none;
  transition: padding-left 0.4s var(--ease);
}
.mod > summary::-webkit-details-marker { display: none; }
.mod > summary:hover { padding-left: 14px; }
.mod__n {
  font-family: var(--font-display);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  color: var(--mmm-lime);
}
.mod__t {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.2vw, 1.65rem);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.mod__t em {
  display: block;
  font-style: normal;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.85rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mmm-ash);
  margin-top: 6px;
}
.deal {
  margin-bottom: var(--sp-3);
  border: 1px solid var(--mmm-line);
  border-left: 3px solid var(--mmm-lime);
  border-radius: 4px;
  font-size: 0.86rem;
  line-height: 1.5;
}
.deal p {
  margin: 0;
  padding: var(--sp-2) var(--sp-3);
}
.deal p + p { border-top: 1px solid var(--mmm-line); }
.deal b { color: var(--mmm-bone); }
.mod__more {
  font-family: var(--font-display);
  font-size: 1.4rem;
  line-height: 1;
  color: var(--mmm-lime);
  transition: transform 0.35s var(--ease);
}
.mod[open] .mod__more { transform: rotate(45deg); }
.mod__body {
  padding: 0 0 var(--sp-4) 3.4rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--sp-3) var(--sp-4);
}
@media (max-width: 700px) {
  .mod > summary { grid-template-columns: 2.4rem 1fr auto; gap: var(--sp-2); }
  .mod__body { padding-left: 0; }
}
.mod__group b {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mmm-lime);
  margin-bottom: 10px;
}
.mod__group ul { display: grid; gap: 7px; }
.mod__group li {
  font-size: 0.92rem;
  color: color-mix(in srgb, currentColor 76%, transparent);
  display: flex;
  gap: 9px;
}
.mod__group li::before { content: "·"; color: var(--mmm-lime); font-weight: 700; }
.cycle {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  background: var(--mmm-line);
  border: 1px solid var(--mmm-line);
}
.cycle__step {
  background: var(--mmm-black);
  padding: var(--sp-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cycle__step b {
  font-family: var(--font-display);
  font-size: 0.95rem;
  text-transform: uppercase;
  color: var(--mmm-bone);
}
.cycle__step i {
  font-style: normal;
  font-family: var(--font-display);
  font-size: 0.7rem;
  color: var(--mmm-lime);
}
.cycle__step span { font-size: 0.85rem; color: var(--mmm-ash); line-height: 1.45; }
.creed {
  font-family: var(--font-display);
  font-size: var(--fs-2xl);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.05;
  max-width: 22ch;
}
.creed small {
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.95rem;
  text-transform: none;
  letter-spacing: 0;
  color: var(--mmm-ash);
  margin-top: var(--sp-3);
  max-width: 46ch;
  line-height: 1.6;
}
.quiz {
  position: relative;
  border: 2px solid var(--mmm-lime);
  border-radius: var(--radius);
  background: var(--mmm-black);
  color: var(--mmm-bone);
  padding: clamp(24px, 4vw, 52px);
  overflow: hidden;
}
.quiz__bar { height: 3px; background: var(--mmm-line); margin-bottom: var(--sp-4); }
.quiz__bar i { display: block; height: 100%; background: var(--mmm-lime); width: 0; transition: width 0.5s var(--ease); }
.quiz__step { display: none; }
.quiz__step.is-on { display: block; animation: qin 0.5s var(--ease); }
@keyframes qin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.quiz__count { font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mmm-ash); }
.quiz h3 { font-size: var(--fs-xl); margin: 10px 0 var(--sp-3); max-width: 26ch; }
.quiz__opts { display: grid; gap: 10px; }
.quiz__opt {
  display: flex; align-items: center; gap: 14px;
  width: 100%;
  text-align: left;
  padding: 16px 18px;
  border: 1px solid var(--mmm-line);
  border-radius: var(--radius);
  color: inherit;
  transition: border-color 0.3s var(--ease), background 0.3s var(--ease), transform 0.3s var(--ease);
}
.quiz__opt:hover { border-color: var(--mmm-lime); background: var(--mmm-black-80); transform: translateX(6px); }
.quiz__opt b { font-family: var(--font-display); font-size: 0.78rem; color: var(--mmm-lime); flex: none; }
.quiz__nav { display: flex; justify-content: space-between; align-items: center; margin-top: var(--sp-4); gap: var(--sp-2); }
.quiz__back { font-size: 0.8rem; color: var(--mmm-ash); text-decoration: underline; }
.quiz__back:hover { color: var(--mmm-lime); }
.quiz__result { display: none; }
.quiz__result.is-on { display: block; animation: qin 0.5s var(--ease); }
.quiz__result-head { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.quiz__result-head img { width: clamp(90px, 12vw, 150px); }
.quiz__badge {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--mmm-lime);
  color: var(--mmm-black);
  padding: 6px 12px;
  border-radius: 2px;
  margin-bottom: 10px;
}
.quiz__result h3 { font-size: var(--fs-2xl); margin: 0 0 10px; }
.quiz__why { display: grid; gap: 8px; margin: var(--sp-3) 0; }
.quiz__why li { display: flex; gap: 10px; font-size: 0.92rem; color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); }
.quiz__why li::before { content: "▲"; color: var(--mmm-lime); font-size: 0.55rem; line-height: 1.9; flex: none; }
.aval {
  position: relative;
  background: var(--mmm-black);
  color: var(--mmm-bone);
  border-block: 1px solid var(--mmm-line);
  padding-block: var(--sp-6);
  overflow: hidden;
}
.aval__grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--sp-4);
}
@media (max-width: 820px) {
  .aval__grid { grid-template-columns: auto 1fr; }
  .aval__cta { grid-column: 1 / -1; }
}
.aval__face {
  width: clamp(72px, 9vw, 104px);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--mmm-lime);
  flex: none;
}
.aval__face img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.aval__txt b {
  display: block;
  font-family: var(--font-display);
  font-size: var(--fs-md);
  text-transform: uppercase;
}
.aval__txt span { color: color-mix(in srgb, var(--mmm-bone) 72%, transparent); font-size: 0.92rem; }
.aval__txt em { font-style: normal; color: var(--mmm-lime); }
.product__media img.product__photo {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  margin: 0;
  object-fit: cover;
  filter: none;
  z-index: 1;
}
.product:hover .product__media img.product__photo { transform: scale(1.04); }
.product__tag {
  position: absolute; top: 10px; left: 10px; z-index: 3;
  font-size: 0.6rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  background: var(--mmm-black); color: var(--mmm-lime);
  padding: 5px 9px; border-radius: 2px;
}
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip {
  position: absolute; top: 8px; left: 8px;
  transform: translateY(-200%);
  background: var(--mmm-lime); color: var(--mmm-black);
  padding: 12px 18px; z-index: 400; border-radius: var(--radius);
  font-weight: 700;
}
.skip:focus { transform: none; }
.note {
  border-left: 3px solid var(--mmm-orange);
  padding: var(--sp-2) var(--sp-3);
  background: color-mix(in srgb, var(--mmm-orange) 8%, transparent);
  font-size: 0.9rem;
}
.dark .note { background: rgba(255,106,31,0.1); }
.divider { height: 1px; background: var(--mmm-line-dk); border: 0; margin: 0; }
.dark .divider { background: var(--mmm-line); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  [data-reveal], .split-line > span, .hero__title .line > span,
  .hero__sub, .hero__ctas, .hero__monkey { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .curtain { display: none; }
  .cursor { display: none; }
  .marquee__track { animation: none; }
}
.pinned { position: relative; }
.pinbar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--mmm-line);
  z-index: 5;
}
.pinbar i {
  display: block;
  height: 100%;
  width: 0;
  background: var(--mmm-lime);
  transform-origin: 0 50%;
}
.pinhint {
  position: absolute;
  left: 50%; bottom: 14px;
  transform: translateX(-50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  background: rgba(17, 19, 17, 0.72);
  border: 1px solid var(--mmm-line);
  color: color-mix(in srgb, var(--mmm-bone) 78%, transparent);
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
}
.pinhint svg { width: 13px; height: 13px; stroke: var(--mmm-lime); fill: none; stroke-width: 2.2; }
.pinhint.is-done { opacity: 0; transform: translateX(-50%) translateY(10px); }
@media (max-width: 620px) { .pinhint { font-size: 0.55rem; padding: 7px 11px; } }
.soon {
  position: relative;
  opacity: 0.62;
}
.soon .level__price { background: var(--mmm-ash); color: var(--mmm-black); }
.soon .level__media img { filter: grayscale(1) contrast(0.95); }
.badge-soon {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.66rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  background: var(--mmm-orange);
  color: var(--mmm-black);
  padding: 6px 11px;
  border-radius: 2px;
  margin-bottom: 12px;
}
@media (max-width: 860px) {
  .vslider .pinbar,
  .vslider .pinhint { display: none; }
}
.cx { padding-block: clamp(56px, 6.5vw, 104px); }
.cx-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--sp-3) clamp(32px, 5vw, 96px);
  align-items: end;
  margin-bottom: clamp(32px, 4vw, 56px);
}
.cx-head .kicker { margin-bottom: var(--sp-2); }
.cx-head h2 { font-size: var(--fs-3xl); }
.cx-head .lead { margin: 0; font-size: 1.08rem; }
@media (max-width: 900px) { .cx-head { grid-template-columns: 1fr; } }
.cx-hero { padding-bottom: calc(clamp(64px, 7vw, 104px) + clamp(40px, 5vw, 72px)); }
.cx-hero h1 { font-size: clamp(3rem, 1rem + 7vw, 7rem); line-height: 0.86; max-width: 11ch; }
.cx-hero__lead { max-width: 62ch; }
.ficha-band { background: var(--mmm-black); position: relative; z-index: 3; }
.ficha {
  position: relative;
  margin-top: calc(-1 * clamp(64px, 7vw, 104px));
  display: grid;
  grid-template-columns: minmax(170px, auto) minmax(0, 1fr) auto;
  background: var(--mmm-bone);
  color: var(--mmm-black);
  border-radius: var(--radius);
  box-shadow: 0 34px 70px -28px rgba(0, 0, 0, 0.75);
}
.ficha__name {
  margin: 0;
  padding: 22px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  max-width: 19ch;
  font-family: var(--font-display);
  font-size: 0.92rem;
  line-height: 1.08;
  text-transform: uppercase;
  border-right: 1px solid var(--mmm-line-dk);
}
.ficha__name b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.64rem;
  letter-spacing: 0.18em;
}
.ficha__name b::before { content: ""; width: 8px; height: 8px; background: var(--mmm-orange); transform: rotate(45deg); }
.ficha__facts { margin: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ficha__facts > div {
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  border-right: 1px solid var(--mmm-line-dk);
}
.ficha__facts dt {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--mmm-black) 64%, var(--mmm-bone));
}
.ficha__facts dd {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1rem, 0.7rem + 0.7vw, 1.3rem);
  line-height: 1.05;
  text-transform: uppercase;
}
.ficha__facts s {
  font-size: 0.7em;
  margin-right: 4px;
  color: color-mix(in srgb, var(--mmm-black) 55%, var(--mmm-bone));
  text-decoration-thickness: 2px;
}
.ficha__go { padding: 18px 22px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.ficha .btn { --btn-bg: var(--mmm-black); --btn-fg: var(--mmm-bone); white-space: nowrap; }
.ficha .btn::after { background: var(--mmm-lime); }
.ficha .btn:hover { color: var(--mmm-black); }
.ficha__link { font-size: 0.78rem; font-weight: 600; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.ficha__link:hover { text-decoration-thickness: 2px; }
@media (max-width: 1180px) {
  .ficha { grid-template-columns: 1fr; }
  .ficha__name { max-width: none; flex-direction: row; justify-content: space-between; align-items: center; border-right: 0; border-bottom: 1px solid var(--mmm-line-dk); }
  .ficha__facts { grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--mmm-line-dk); }
  .ficha__facts > div:last-child { border-right: 0; }
  .ficha__go { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (max-width: 760px) {
  .ficha__name { flex-direction: column; align-items: flex-start; }
  .ficha__facts { grid-template-columns: 1fr 1fr; }
  .ficha__facts > div { border-bottom: 1px solid var(--mmm-line-dk); }
  .ficha__facts > div:nth-child(2n) { border-right: 0; }
  .ficha__facts > div:first-child { grid-column: 1 / -1; border-right: 0; }
  .ficha__facts > div:first-child dd { font-size: 1.9rem; }
  .ficha__facts > div:nth-last-child(-n+2) { border-bottom: 0; }
  .ficha__go { flex-direction: column; align-items: stretch; }
}
.ruta__perfil { position: relative; height: clamp(150px, 15vw, 210px); margin-top: 28px; }
.ruta__perfil svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.ruta__cerro { fill: var(--mmm-black-80); }
.ruta__cerro--lejos { fill: var(--mmm-black-90); }
.ruta__linea { fill: none; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.ruta__linea--inst { stroke: var(--mmm-ash); stroke-dasharray: 0.018 0.014; }
.ruta__linea--tu { stroke: var(--mmm-lime); stroke-width: 3.6; stroke-dasharray: 1; stroke-dashoffset: 0; }
.ruta__pto {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 16px; height: 16px;
  margin: -8px 0 0 -8px;
  border-radius: 50%;
  background: var(--mmm-black);
  border: 3px solid var(--mmm-ash);
  z-index: 2;
}
.ruta__pto--tu { border-color: var(--mmm-lime); }
.ruta__pto--cima { width: 22px; height: 22px; margin: -11px 0 0 -11px; background: var(--mmm-lime); }
.ruta__pto em {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-style: normal;
  font-family: var(--font-display);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mmm-lime);
  background: var(--mmm-black);
  border: 1px solid var(--mmm-lime);
  padding: 5px 9px;
  border-radius: 2px;
}
.ruta__pto--cima em { bottom: auto; top: 50%; left: auto; right: calc(100% + 12px); transform: translateY(-50%); }
.ruta__mono {
  position: absolute;
  left: calc(87.5% + 4px);
  top: calc(15% - clamp(70px, 7vw, 104px));
  width: clamp(76px, 7.6vw, 116px);
  pointer-events: none;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.6));
}
.js .ruta__perfil .ruta__linea--tu { stroke-dashoffset: 1; transition: stroke-dashoffset 1.7s var(--ease-in-out) 0.3s; }
.js .ruta__perfil.is-in .ruta__linea--tu { stroke-dashoffset: 0; }
.js .ruta__perfil .ruta__pto,
.js .ruta__perfil .ruta__mono { opacity: 0; transform: scale(0.4); transition: opacity 0.4s var(--ease), transform 0.5s var(--ease); }
.js .ruta__perfil.is-in .ruta__pto,
.js .ruta__perfil.is-in .ruta__mono { opacity: 1; transform: none; }
.js .ruta__perfil.is-in .ruta__pto:nth-of-type(2) { transition-delay: 0.55s; }
.js .ruta__perfil.is-in .ruta__pto:nth-of-type(3) { transition-delay: 1.05s; }
.js .ruta__perfil.is-in .ruta__pto:nth-of-type(4) { transition-delay: 1.6s; }
.js .ruta__perfil.is-in .ruta__mono { transition-delay: 1.85s; }
.ruta__leyenda {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 26px;
  margin: 14px 0 var(--sp-4);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mmm-ash);
}
.ruta__leyenda span { display: inline-flex; align-items: center; gap: 10px; }
.ruta__leyenda span::before { content: ""; width: 30px; border-top: 3px dashed var(--mmm-ash); }
.ruta__leyenda .is-tu::before { border-top-style: solid; border-color: var(--mmm-lime); }
.ruta__stops {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 24px);
  align-items: start;
}
.stop {
  position: relative;
  background: var(--mmm-black-90);
  border: 1px solid var(--mmm-line);
  border-top: 3px dashed var(--mmm-ash);
  border-radius: var(--radius);
}
.stop--tu { border-top: 3px solid var(--mmm-lime); }
.stop__img { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mmm-black-80); }
.stop__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.stop:hover .stop__img img { transform: scale(1.05); }
.stop__body { padding: 18px 20px 20px; }
.stop__n {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 10px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mmm-ash);
}
.stop__n b { font-family: var(--font-display); font-weight: 400; color: var(--mmm-lime); }
.stop h3 { font-size: clamp(1.15rem, 0.9rem + 0.6vw, 1.4rem); margin-bottom: 10px; }
.stop__txt { font-size: 0.9rem; color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); }
.stop__txt b { color: var(--mmm-lime); font-weight: 700; }
.stop__meta {
  margin: 16px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--mmm-line);
  border: 1px solid var(--mmm-line);
}
.stop__meta > div { background: var(--mmm-black-90); padding: 10px 12px; }
.stop__meta dt { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mmm-ash); margin-bottom: 4px; }
.stop__meta dd { margin: 0; font-family: var(--font-display); font-size: 0.8rem; text-transform: uppercase; }
.stop__meta dd.is-tu { color: var(--mmm-lime); }
.stop__more > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--mmm-line);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.stop__more > summary::-webkit-details-marker { display: none; }
.stop__more > summary::after {
  content: "+";
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1;
  color: var(--mmm-lime);
  transition: transform 0.35s var(--ease);
}
.stop__more[open] > summary::after { transform: rotate(45deg); }
.stop__more > summary:hover { color: var(--mmm-lime); }
.stop__mods { padding-top: 16px; display: grid; gap: 20px; }
.stop__mod { font-size: 0.95rem; line-height: 1.08; }
.stop__mod i { display: block; margin-bottom: 5px; font-style: normal; font-family: var(--font-body); font-weight: 700; font-size: 0.6rem; letter-spacing: 0.18em; color: var(--mmm-lime); }
.stop__mod em { display: block; margin-top: 5px; font-style: normal; font-family: var(--font-body); font-weight: 400; font-size: 0.8rem; text-transform: none; letter-spacing: 0; color: var(--mmm-ash); }
.stop__groups { display: grid; gap: 14px; }
.stop__groups .mod__group li { font-size: 0.84rem; }
.ruta__notas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 24px);
  margin-top: clamp(24px, 2.6vw, 40px);
}
.ruta__nota { border-top: 1px solid var(--mmm-line); padding-top: 16px; }
.ruta__nota--key { border-top: 3px solid var(--mmm-lime); }
.ruta__nota b { display: block; margin-bottom: 8px; font-family: var(--font-display); font-weight: 400; font-size: 0.92rem; line-height: 1.1; text-transform: uppercase; }
.ruta__nota p { font-size: 0.86rem; color: color-mix(in srgb, var(--mmm-bone) 72%, transparent); }
.ruta__nota strong { color: var(--mmm-bone); }
@media (max-width: 1100px) {
  .ruta__perfil, .ruta__leyenda { display: none; }
  .ruta__stops { grid-template-columns: 1fr; gap: 18px; padding-left: 36px; }
  .stop { display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); border-top: 1px solid var(--mmm-line); }
  .stop__img { aspect-ratio: auto; min-height: 100%; }
  .stop::before {
    content: "";
    position: absolute;
    left: -26px;
    top: 24px;
    bottom: -18px;
    border-left: 3px dashed var(--mmm-ash);
  }
  .stop--tu::before { border-left-style: solid; border-color: var(--mmm-lime); }
  .stop:last-child::before { display: none; }
  .stop::after {
    content: "";
    position: absolute;
    left: -34px;
    top: 16px;
    width: 19px; height: 19px;
    border-radius: 50%;
    background: var(--mmm-black);
    border: 3px solid var(--mmm-ash);
  }
  .stop--tu::after { border-color: var(--mmm-lime); }
  .stop:last-child::after { background: var(--mmm-lime); }
  .ruta__notas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .ruta__stops { padding-left: 30px; }
  .stop { grid-template-columns: 1fr; }
  .stop__img { aspect-ratio: 16 / 9; }
  .stop::before { left: -22px; }
  .stop::after { left: -30px; }
  .ruta__notas { grid-template-columns: 1fr; }
}
.bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.bento .vcard { aspect-ratio: auto; min-height: 320px; }
.tile-m {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 2.2vw, 32px);
  border: 1.5px solid var(--mmm-black);
  border-radius: var(--radius);
}
.tile-m h3 { font-size: var(--fs-lg); }
.tile-m p { font-size: 0.92rem; }
.tile-m__tag {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--mmm-black) 62%, var(--mmm-bone));
}
.tile-m__seq { font-family: var(--font-display); font-size: 0.88rem; line-height: 1.4; letter-spacing: 0.01em; }
.tile-m__creed { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1; text-transform: uppercase; letter-spacing: -0.02em; }
.tile-m__big { font-family: var(--font-display); font-size: var(--fs-md); line-height: 1.05; text-transform: uppercase; margin-top: 4px; }
.tile-m__list { display: grid; gap: 10px; margin-top: 4px; }
.tile-m__list li { position: relative; padding-left: 18px; font-size: 0.9rem; }
.tile-m__list li::before { content: "▲"; position: absolute; left: 0; top: 0.5em; font-size: 0.55rem; color: var(--mmm-lime); }
.tile-m--ink { background: var(--mmm-black); border-color: var(--mmm-black); color: var(--mmm-bone); }
.tile-m--ink h3 { color: var(--mmm-bone); }
.tile-m--ink .tile-m__tag { color: var(--mmm-ash); }
.tile-m--ink .tile-m__creed { color: var(--mmm-lime); }
.tile-m--ink p { color: color-mix(in srgb, var(--mmm-bone) 78%, transparent); }
.tile-m--alert { background: var(--mmm-orange); border-color: var(--mmm-orange); color: var(--mmm-black); }
.tile-m--alert .tile-m__tag { color: var(--mmm-black); }
.bento__ciclo { grid-column: span 8; }
.bento__vid { grid-column: span 4; }
.bento__bases { grid-column: span 5; }
.bento__frases { grid-column: span 4; }
.bento__vid2 { grid-column: span 3; }
.ciclo {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: var(--mmm-line);
  border: 1px solid var(--mmm-line);
}
.ciclo li { background: var(--mmm-black); padding: 14px 12px; display: flex; flex-direction: column; gap: 6px; }
.ciclo i { font-style: normal; font-family: var(--font-display); font-size: 0.66rem; color: var(--mmm-lime); }
.ciclo b { font-family: var(--font-display); font-weight: 400; font-size: 0.82rem; text-transform: uppercase; color: var(--mmm-bone); }
.ciclo span { font-size: 0.76rem; line-height: 1.4; color: var(--mmm-ash); }
@media (max-width: 1100px) {
  .bento { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .bento__ciclo, .bento__bases { grid-column: span 6; }
  .tile-m, .bento__vid, .bento__frases, .bento__vid2 { grid-column: span 3; }
  .ciclo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .bento { grid-template-columns: 1fr; }
  .bento > * { grid-column: auto !important; }
  .bento .vcard { min-height: 420px; }
  .ciclo { grid-template-columns: 1fr 1fr; }
}
.dudas__lead { display: flex; align-items: flex-end; gap: clamp(16px, 2vw, 28px); }
.dudas__mono { width: clamp(84px, 9vw, 136px); flex: none; filter: drop-shadow(0 14px 26px rgba(0, 0, 0, 0.55)); }
.dudas .obj-card { background: var(--mmm-black-90); border: 1px solid var(--mmm-line); }
.dudas__precio {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--sp-3) clamp(32px, 5vw, 80px);
  align-items: start;
  margin-top: clamp(36px, 4vw, 64px);
}
.dudas__precio h3 { font-size: var(--fs-xl); padding-top: 18px; }
@media (max-width: 900px) { .dudas__precio { grid-template-columns: 1fr; } }
.lugar__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(20px, 3vw, 48px);
  align-items: start;
}
.seat {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: clamp(24px, 2.6vw, 40px);
  background: var(--mmm-black);
  color: var(--mmm-bone);
  border-radius: var(--radius);
}
@media (min-width: 1001px) and (min-height: 860px) {
  .seat { position: sticky; top: calc(var(--nav-h) + 20px); }
}
.seat__name { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mmm-ash); }
.seat__price {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 1.4rem + 3.6vw, 4.6rem);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: var(--mmm-lime);
}
.seat__price s { font-size: 0.36em; vertical-align: middle; margin-right: 8px; color: var(--mmm-ash); text-decoration-thickness: 2px; }
.seat__price small { display: block; margin-top: 10px; font-family: var(--font-body); font-weight: 500; font-size: 0.8rem; letter-spacing: 0.04em; color: var(--mmm-ash); }
.seat__ratio {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding-block: 18px;
  border-block: 1px solid var(--mmm-line);
}
.seat__ratio b { font-family: var(--font-display); font-weight: 400; font-size: 2.7rem; line-height: 0.85; letter-spacing: -0.04em; }
.seat__ratio p { font-size: 0.86rem; color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); }
.seat__ratio strong { color: var(--mmm-bone); }
.seat .deal { margin: 0; }
.seat .btn::after { background: var(--mmm-bone); }
.seat .btn:hover { color: var(--mmm-black); }
.lugar__info { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 1.6vw, 24px); }
.req { padding: clamp(20px, 2.2vw, 30px); border: 1.5px solid var(--mmm-black); border-radius: var(--radius); }
.req--wide { grid-column: 1 / -1; }
.req--alert { border-color: var(--mmm-orange); background: color-mix(in srgb, var(--mmm-orange) 9%, transparent); }
.req h3 { font-size: var(--fs-lg); margin-bottom: 14px; }
.req p { font-size: 0.92rem; }
.req__sub { color: color-mix(in srgb, var(--mmm-black) 64%, var(--mmm-bone)); margin-bottom: 14px; }
.req ul { display: grid; gap: 10px; }
.req li { position: relative; padding-left: 18px; font-size: 0.92rem; }
.req li::before { content: "▲"; position: absolute; left: 0; top: 0.5em; font-size: 0.55rem; color: var(--mmm-orange); }
.req__cols { grid-template-columns: 1fr 1fr; column-gap: 28px; }
@media (max-width: 1000px) { .lugar__grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .lugar__info { grid-template-columns: 1fr; }
  .req__cols { grid-template-columns: 1fr; }
}
.quizrow { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.quizrow__intro h2 { font-size: var(--fs-3xl); margin-bottom: var(--sp-3); }
@media (max-width: 1000px) { .quizrow { grid-template-columns: 1fr; } }
.next { margin-top: clamp(56px, 6vw, 96px); padding-top: clamp(40px, 4vw, 64px); border-top: 1px solid var(--mmm-line); }
.next__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 0 clamp(32px, 5vw, 96px);
  align-items: end;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.next__head .kicker { grid-column: 1; margin-bottom: var(--sp-2); }
.next__head h2 { grid-column: 1; font-size: var(--fs-2xl); }
.next__head .lead { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: 1.02rem; }
.next__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }
.next__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--mmm-black-90);
  border: 1px solid var(--mmm-line);
  border-radius: var(--radius);
}
.next__card--atajo { border-color: var(--mmm-lime); }
.next__img { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.next__img img { width: 100%; height: 100%; object-fit: cover; }
.next__card.soon .next__img img { filter: grayscale(1) contrast(0.95); }
.next__body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2vw, 28px); }
.next__body .badge-soon { align-self: flex-start; margin-bottom: 0; }
.next__body .level__n { margin-bottom: 0; }
.next__body h3 { font-size: var(--fs-xl); }
.next__body p { font-size: 0.9rem; color: color-mix(in srgb, var(--mmm-bone) 76%, transparent); }
.next__body .level__list { margin: 4px 0 10px; }
.next__body .btn { margin-top: auto; align-self: flex-start; }
@media (max-width: 1000px) {
  .next__head { grid-template-columns: 1fr; }
  .next__head .lead { grid-column: 1; grid-row: auto; margin-top: var(--sp-2); }
  .next__grid { grid-template-columns: 1fr 1fr; }
  .next__card--atajo { grid-column: 1 / -1; }
}
@media (max-width: 640px) { .next__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .js .ruta__perfil .ruta__linea--tu { stroke-dashoffset: 0; transition: none; }
  .js .ruta__perfil .ruta__pto,
  .js .ruta__perfil .ruta__mono { opacity: 1; transform: none; transition: none; }
}
