:root {
  --bordo: #4a1621;
  --bordo2: #5c1d2a;
  --rosa: #e8c3cc;
  --rosa2: #d9a6b2;
  --crema: #f5ede4;
  --bg: #f5ede4;
  --ink: #4a1621;
  --muted: #7d4a54;
  --line: rgba(74, 22, 33, .14);
  --sand: #ead9cf;
  --acc: #4a1621;
  --acc2: #e8c3cc;
  --display: "Lilita One", "Inter", system-ui, sans-serif;
  --sans: "Inter", system-ui, sans-serif;
  --serif: "Caveat", cursive;
  --r: 4px;
  --r-sm: 4px;
}
body { background: var(--crema) !important; color: var(--ink); }
.mesh { display: none; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; letter-spacing: 0; text-transform: uppercase; line-height: .98; }
em, i { font-family: var(--serif); font-style: normal; font-weight: 500; text-transform: none; letter-spacing: 0; }
h1 i, h2 i, h1 em, h2 em { color: var(--rosa); font-size: 1.05em; }
.label, .lead, .note { color: var(--muted); }

.glass, .glass.pc, .glass.coach, .glass.det, .glass.bloque, .glass.so, .glass.tourl, .legal-in { background: #fbf6f0 !important; border: 1px solid var(--line) !important; border-radius: 6px !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.cab h2 em, .pag h1 em, .coach h2 em, .coach h1 em, .so h1 em { color: #a0475a; }

.top { padding: 0; background: var(--bordo) !important; }
.top .wrap { border-radius: 0; height: 60px; padding: 0 var(--g); background: transparent !important; border: 0 !important; box-shadow: none !important; max-width: 1180px; }
.brand { font: 400 20px/1 var(--display); color: var(--crema); text-transform: uppercase; }
.brand b { color: var(--crema); font-weight: 400; }
.top .nav-d a { font: 500 12px var(--sans); color: var(--rosa); border-radius: 999px; }
.top .nav-d a:hover, .top .nav-d a[aria-current] { background: rgba(232,195,204,.15); color: var(--crema); }
.nav-r .btn { background: var(--rosa); color: var(--bordo); }
.menu-b { background: var(--rosa); }
.menu-b i { background: var(--bordo); }
.menu { background: var(--bordo2) !important; border: 0 !important; border-radius: 0 0 24px 24px !important; left: 0; right: 0; top: 60px; padding: 8px var(--g) 18px; }
.menu-velo { background: rgba(74,22,33,.45); }
.menu nav a { font: 400 26px var(--display); text-transform: uppercase; color: var(--crema); border-radius: 0; border-bottom: 1px solid rgba(232,195,204,.2); padding: 16px 2px; }
.menu nav a b { background: rgba(232,195,204,.15); color: var(--rosa); }
.menu nav a[aria-current] { background: none; color: var(--rosa); }
.menu nav a[aria-current] b { background: var(--rosa); color: var(--bordo); }
.menu-pie { border-color: rgba(232,195,204,.2); }
.menu-pie .lang { background: rgba(232,195,204,.15); }
.menu-pie .lang button { color: var(--rosa); }
.menu-pie .lang button[aria-pressed="true"] { background: var(--rosa); color: var(--bordo); }
.menu-pie .btn { background: var(--rosa); color: var(--bordo); }

.lang { background: rgba(74,22,33,.08); }
.lang button[aria-pressed="true"] { background: var(--bordo); color: var(--crema); box-shadow: none; }

.btn { border-radius: 999px; background: var(--bordo); color: var(--crema); border: 0; box-shadow: none; font: 600 13px var(--sans); text-transform: uppercase; letter-spacing: .02em; height: 46px; }
.btn.acc { background: var(--bordo); color: var(--crema); box-shadow: none; }
.btn.rosa { background: var(--rosa); color: var(--bordo); }
.btn.ghost { background: transparent; color: var(--bordo); border: 1.5px solid var(--bordo); }
.btn.sm { height: 38px; font-size: 11.5px; }
.btn.wa, .btn.ok { background: var(--bordo) !important; color: var(--crema) !important; }
.ul { color: var(--bordo); text-decoration-color: var(--rosa2); }
.chip { border-radius: 999px; background: rgba(74,22,33,.08); color: var(--bordo); }
.chip.acc { background: var(--rosa); color: var(--bordo); }
.precio { font-family: var(--display); font-weight: 400; color: var(--bordo); }

.field input, .field select, .field textarea { background: #fff; border-color: rgba(74,22,33,.18); }
.field input:focus { border-color: var(--bordo); }
.sheet { background: var(--crema); }
.stepper i.on, .prog i { background: var(--bordo); }
.op { border-radius: 999px; background: #fff; }
.op[aria-pressed="true"] { border-color: var(--bordo); }
.op[aria-pressed="true"]::after { background: var(--bordo); border-color: var(--bordo); }
.acepto input { accent-color: var(--bordo); }
.done .ic { background: var(--bordo); box-shadow: none; }
.toast { background: var(--bordo); color: var(--crema); }
.lista li { background: #fff; }
.lista li i { background: var(--rosa); color: var(--bordo); }
.pc .ph img, .det .ph img, .so .ph img, .coach .ph img, .tono { filter: saturate(.85) sepia(.12); }
.weeks button.on, .tabs button.on, .seg button.on { background: var(--bordo) !important; color: var(--crema) !important; }
.chart .bar, .hb-t i { fill: var(--bordo); background: var(--bordo) !important; }
.barra-compra { background: var(--bordo) !important; color: var(--crema); border: 0 !important; }
.barra-compra small { color: var(--rosa); }
.barra-compra .btn { background: var(--rosa); color: var(--bordo); }
.lfoot { background: var(--bordo); color: var(--crema); }
.lfoot .marca { font: 400 20px var(--display); text-transform: uppercase; color: var(--crema); }
.lfoot .marca b { color: var(--crema); font-weight: 400; }
.lfoot nav a, .lfoot small, .lfoot small a { color: var(--rosa); }

.bh { position: relative; background: var(--bordo); color: var(--crema); padding: 40px 0 46px; overflow: hidden; min-height: 92svh; display: grid; align-content: center; }
.bh .fotos img { position: absolute; object-fit: cover; filter: saturate(.85) sepia(.12); box-shadow: 0 14px 30px rgba(0,0,0,.25); }
.bh .f1 { width: 30%; aspect-ratio: 1; left: 6%; top: 6%; }
.bh .f2 { width: 26%; aspect-ratio: 3 / 4; right: 7%; top: 3%; }
.bh .f3 { width: 24%; aspect-ratio: 1; left: 4%; bottom: 6%; }
.bh .f4 { width: 34%; aspect-ratio: 4 / 3; right: 5%; bottom: 17%; }
.bh .in { position: relative; z-index: 1; text-align: center; padding: 0 var(--g); }
.bh h1 { font-size: clamp(42px, 12vw, 84px); line-height: .95; color: var(--crema); text-shadow: 0 2px 20px rgba(74,22,33,.45); }
.bh h1 i { color: var(--rosa); font-size: 1.02em; text-transform: none; display: inline-block; transform: rotate(-4deg); }
.bh .cta { position: relative; z-index: 1; margin: 26px auto 0; max-width: 260px; text-align: center; }
.bh .cta p { font-size: 13px; color: var(--rosa); margin-bottom: 12px; }
@media (min-width: 900px) { .bh .cta { position: absolute; right: 6%; bottom: 8%; margin: 0; text-align: left; } .bh .f4 { bottom: 30%; } }

.bm { background: var(--rosa); overflow: hidden; padding: 18px 0 6px; }
.bm .pista { display: flex; width: max-content; animation: bmarq 22s linear infinite; }
.bm .pista span { font: 400 clamp(64px, 19vw, 150px)/1 var(--display); text-transform: uppercase; color: var(--bordo); white-space: nowrap; padding-right: 30px; }
.bm .pista span b { font-weight: 400; color: var(--bordo2); padding: 0 24px; }
@keyframes bmarq { to { transform: translateX(-50%); } }
.bsplit { display: grid; }
.bsplit .lado { background: var(--rosa); padding: 30px var(--g) 40px; }
.bsplit .lado p { font: 600 14px var(--sans); color: var(--bordo); margin-bottom: 12px; }
.bsplit .lado ul { list-style: none; display: grid; gap: 8px; margin-bottom: 24px; }
.bsplit .lado li { display: flex; gap: 10px; font-size: 14.5px; color: var(--bordo); }
.bsplit .lado li::before { content: "✓"; font-weight: 700; }
.bsplit .foto { position: relative; min-height: 460px; overflow: hidden; display: flex; align-items: flex-end; }
.bsplit .foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) sepia(.12); }
.bsplit .foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(74,22,33,.7)); }
.bsplit .foto h2 { position: relative; z-index: 1; padding: 0 var(--g) 30px; color: var(--crema); font-size: clamp(32px, 9vw, 52px); }
.bsplit .foto h2 i { color: var(--rosa); }
@media (min-width: 900px) { .bsplit { grid-template-columns: 1fr 1fr; } .bsplit .lado { padding: 60px; } }

.bp { padding: 56px 0 40px; background: var(--crema); }
.bp .cab2 h2 { font-size: clamp(42px, 12vw, 84px); line-height: .92; color: var(--bordo); }
.bp .cab2 p { color: var(--muted); margin: 14px 0 10px; max-width: 44ch; }
.bp .cab2 ul { list-style: none; display: grid; gap: 6px; margin-bottom: 26px; }
.bp .cab2 li { display: flex; gap: 10px; font-size: 14.5px; color: var(--bordo); }
.bp .cab2 li::before { content: "✓"; font-weight: 700; }
.bpc { display: grid; gap: 16px; }
@media (min-width: 760px) { .bpc { grid-template-columns: repeat(3, 1fr); } }
.bpcard { background: #fff; border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.bpcard .ph { aspect-ratio: 4 / 4.4; overflow: hidden; }
.bpcard .ph img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) sepia(.12); transition: transform .8s var(--soft); }
.bpcard:hover .ph img { transform: scale(1.04); }
.bpcard .bd { padding: 16px; display: grid; gap: 8px; }
.bpcard h3 { font-size: 26px; color: var(--bordo); }
.bpcard p { font-size: 13.5px; color: var(--muted); }
.bpcard .pie { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }

.bc { position: relative; background: var(--bordo); color: var(--crema); padding: 70px 0 50px; overflow: hidden; }
.bc > img { position: absolute; inset: 0; width: 100%; height: 56%; object-fit: cover; filter: saturate(.8) sepia(.15) brightness(.7); }
.bc::before { content: ""; position: absolute; inset: 0; height: 56%; background: linear-gradient(180deg, rgba(74,22,33,.2), var(--bordo)); }
.bc .wrap { position: relative; z-index: 1; text-align: center; }
.bc .pre { font: 500 32px var(--serif); color: var(--rosa); display: block; }
.bc h2 { font-size: clamp(36px, 10.5vw, 64px); color: var(--crema); margin-bottom: 12px; }
.bc .lead { color: var(--rosa); max-width: 40ch; margin: 0 auto 26px; font-size: 14px; }
.bc .quiz { background: var(--crema); color: var(--bordo); border-radius: 10px; padding: 22px 16px; text-align: left; max-width: 560px; margin: 0 auto; }
.bc .quiz .paso h2 { font: 500 26px/1.15 var(--serif); text-transform: none; color: var(--bordo); margin-bottom: 12px; }
.bc .quiz .prog { background: rgba(74,22,33,.1); }
.bc .quiz .note, .bc .quiz .field span { color: var(--muted); }
