/* JMREY · Landing captación "El CRM no falla" — mobile-first, mockup 853×1750. Todo escala con --u para caber sin scroll. */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#0E1F3D;--navy-deep:#0A1830;--gold:#C9A55A;--gold-text:#BE9A50;--ink:#14171C;--ink-500:#4A4A4A;--line:#D9DEE6;--white:#FFFFFF;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;
--u:min(100vw / 853, 100vh / 1780);--w:min(100vw,calc(853*var(--u)))}
@supports(height:100dvh){:root{--u:min(100vw / 853, 100dvh / 1780)}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:#EEF3FB url('/assets/jmrey/landing-onepage/bg-waves.png') center bottom / cover no-repeat fixed;color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;display:flex;justify-content:center}
a{color:var(--navy);text-decoration:none}a:hover{color:var(--gold-text)}
img{display:block}
.page{width:100vw;position:relative}
@media(min-width:900px){.page{width:var(--w)}}
#bookedTxt strong{display:inline;font-size:inherit}
.top{background:var(--white);height:calc(130*var(--u));display:flex;align-items:center;justify-content:space-between;padding:0 calc(28*var(--u)) 0 calc(55*var(--u))}
.top-logo{width:calc(282*var(--u));height:auto}
.hero{position:relative;width:100%;aspect-ratio:16/9;background:#0B1524;cursor:pointer;overflow:hidden}
.hero img.pv{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero video{width:100%;height:100%;object-fit:contain;object-position:center;background:#0B1524;display:block;pointer-events:none}
.hero .play{position:absolute;left:50%;top:45%;width:calc(340*var(--u));height:auto;transform:translate(-50%,-50%);pointer-events:none;transition:transform .15s}
.hero:hover .play{transform:translate(-50%,-50%) scale(1.04)}
.hero .dur{position:absolute;left:50%;top:64%;transform:translateX(-50%);background:var(--navy);color:var(--white);font-weight:700;font-size:calc(22*var(--u));letter-spacing:.06em;padding:calc(12*var(--u)) calc(30*var(--u));border-radius:999px;pointer-events:none;white-space:nowrap}
.hero.playing{cursor:default}.hero.playing .play,.hero.playing .dur{display:none}
.direct-play{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;border:0;background:rgba(8,22,42,.12);cursor:pointer;display:flex;align-items:center;justify-content:center}.direct-play img{width:calc(340*var(--u));height:auto;transition:transform .15s}.direct-play:hover img{transform:scale(1.04)}
.top .fs{display:none;width:calc(64*var(--u));height:calc(64*var(--u));padding:calc(14*var(--u));border:0;border-radius:calc(8*var(--u));background:var(--navy);color:var(--white);cursor:pointer;align-items:center;justify-content:center}
.page.playing .top .fs{display:flex}.top .fs svg{width:100%;height:100%}.top .fs:hover{background:var(--navy-deep)}
video:fullscreen,video:-webkit-full-screen{object-fit:contain;background:#000}
.hero:fullscreen,.hero:-webkit-full-screen{background:#000;width:100vw;height:100vh}.hero:fullscreen video,.hero:-webkit-full-screen video{object-fit:contain;object-position:center;background:#000}
.hero.pseudo-fs{position:fixed;inset:0;z-index:9999;height:100vh;height:100dvh;width:100vw;background:#000;cursor:default}.hero.pseudo-fs video{object-fit:contain;object-position:center;pointer-events:auto}
.pfs-close{position:absolute;top:calc(16*var(--u));right:calc(16*var(--u));width:calc(72*var(--u));height:calc(72*var(--u));border:0;border-radius:50%;background:rgba(255,255,255,.15);color:var(--white);font-size:calc(48*var(--u));line-height:1;cursor:pointer;z-index:2}
body.no-scroll{overflow:hidden}
.booking{display:none;margin-top:calc(36*var(--u));text-align:left}.booking.open{display:block}
.cal{background:var(--white);border:calc(1.5*var(--u)) solid var(--gold);border-radius:calc(14*var(--u));padding:calc(30*var(--u)) calc(30*var(--u)) calc(22*var(--u))}
.cal-head{display:flex;align-items:center;justify-content:space-between}
.cal-month{margin:0;font-family:var(--serif);font-weight:500;font-size:calc(34*var(--u));color:var(--navy)}
.cal-nav{display:flex;gap:calc(10*var(--u))}.cal-nav button{width:calc(52*var(--u));height:calc(52*var(--u));border:0;background:transparent;color:var(--navy);font-size:calc(38*var(--u));line-height:1;cursor:pointer;border-radius:50%}.cal-nav button:hover{background:#EEF3FB}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(6*var(--u)) 0;margin-top:calc(22*var(--u))}
.cal-dow span{text-align:center;font-weight:700;font-size:calc(19*var(--u));letter-spacing:.08em;color:var(--ink-500)}
.day{height:calc(66*var(--u));border:0;background:transparent;border-radius:50%;font-family:var(--sans);font-size:calc(24*var(--u));color:#B9BFC9;cursor:default;justify-self:center;width:calc(66*var(--u))}
.day.avail{color:var(--navy);font-weight:600;cursor:pointer}.day.avail:hover{background:#EEF3FB}.day.sel{background:#B08A45;color:var(--white)}
.cal-tz{margin:calc(18*var(--u)) 0 0;font-size:calc(22*var(--u));color:var(--ink-500)}
.slots-title{margin:calc(30*var(--u)) 0 calc(16*var(--u));font-weight:700;font-size:calc(28*var(--u));color:var(--navy)}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:calc(14*var(--u)) calc(20*var(--u))}
.slot{height:calc(64*var(--u));border:calc(1.5*var(--u)) solid var(--line);border-radius:calc(8*var(--u));background:var(--white);font-family:var(--sans);font-size:calc(24*var(--u));color:var(--navy);cursor:pointer}
.slot:hover{border-color:var(--gold)}.slot.sel{background:var(--navy);border-color:var(--navy);color:var(--white)}
.confirm{display:block;width:100%;margin-top:calc(26*var(--u));height:calc(90*var(--u));border:0;border-radius:calc(10*var(--u));background:#B08A45;color:var(--white);font-family:var(--sans);font-weight:700;font-size:calc(30*var(--u));cursor:pointer}
.confirm:hover{background:#BE9A50}.confirm:disabled{opacity:.45;cursor:not-allowed}.confirm[hidden]{display:none}.confirm-top{margin:calc(26*var(--u)) 0 0}
.booked{display:none;align-items:center;gap:calc(18*var(--u));margin-top:calc(26*var(--u));padding:calc(24*var(--u)) calc(28*var(--u));background:var(--white);border:calc(1.5*var(--u)) solid var(--gold);border-radius:calc(12*var(--u));color:var(--navy);font-size:calc(24*var(--u));line-height:1.35}
.booked img{width:calc(64*var(--u));height:calc(64*var(--u));margin:calc(-10*var(--u));flex:none}.booked strong{display:block;font-size:calc(27*var(--u))}
.booking.done .cal,.booking.done .slots-title,.booking.done .slots,.booking.done .confirm{display:none!important}.booking.done .booked{display:flex}
.card{position:relative;margin:calc(-55*var(--u)) auto 0;width:calc(800*var(--u));background:transparent;padding:0;transition:margin .3s}
.card-body{background:var(--white);border-radius:calc(14*var(--u));padding:calc(56*var(--u)) calc(48*var(--u)) calc(52*var(--u));box-shadow:0 calc(18*var(--u)) calc(50*var(--u)) calc(-22*var(--u)) rgba(10,24,48,.35)}
.page.playing .card{margin-top:calc(-55*var(--u))}
.card .frame{display:none}
.card h1{font-family:var(--serif);font-weight:500;font-size:calc(66*var(--u));line-height:1.06;color:var(--navy);text-align:center;margin:0;letter-spacing:-.01em;text-wrap:balance}
.desc{font-size:calc(27*var(--u));line-height:1.42;color:var(--ink-500);text-align:center;margin:calc(32*var(--u)) auto 0;max-width:calc(520*var(--u));text-wrap:pretty}
.free{display:flex;align-items:center;justify-content:center;gap:calc(12*var(--u));margin-top:calc(40*var(--u));color:var(--navy);font-weight:700;font-size:calc(20*var(--u));letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.free img{width:calc(48*var(--u));height:calc(48*var(--u));margin:calc(-9*var(--u))}
form{margin-top:calc(42*var(--u))}
label{display:block;font-weight:700;font-size:calc(22*var(--u));color:var(--navy);margin:0 0 calc(12*var(--u))}
input{width:100%;height:calc(75*var(--u));border:calc(1.5*var(--u)) solid var(--line);border-radius:calc(10*var(--u));padding:0 calc(24*var(--u));font:inherit;font-size:calc(26*var(--u));color:var(--ink);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}
input::placeholder{color:#8E939C}
input:focus{border-color:var(--gold);box-shadow:0 0 0 calc(3*var(--u)) rgba(201,165,90,.2)}
.field+.field{margin-top:calc(34*var(--u))}
.btn{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:calc(76*var(--u));margin-top:calc(40*var(--u));background:var(--navy);color:var(--white);border:0;border-radius:calc(10*var(--u));font-family:var(--sans);font-weight:800;font-size:calc(25*var(--u));letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,transform .1s}
.btn:hover{background:var(--navy-deep)}.btn:active{transform:scale(.99)}
.btn svg{position:absolute;right:calc(38*var(--u));top:50%;width:calc(22*var(--u));height:calc(22*var(--u));transform:translateY(-50%)}
.lock{display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));margin-top:calc(28*var(--u));font-size:calc(22*var(--u));color:#2A2F3A}
.lock img{width:calc(56*var(--u));height:calc(56*var(--u));margin:calc(-14*var(--u)) calc(-10*var(--u));flex:none}
.lock .lock-need{display:none;text-align:left;line-height:1.35}
.card.nudge .lock .lock-default{display:none}.card.nudge .lock .lock-need{display:block;color:var(--navy);font-weight:600}
.card.nudge .card-body{animation:cardNudge .5s cubic-bezier(.36,.07,.19,.97);box-shadow:0 0 0 calc(3*var(--u)) var(--gold),0 calc(18*var(--u)) calc(50*var(--u)) calc(-22*var(--u)) rgba(10,24,48,.35)}
.card.nudge input:invalid{border-color:var(--gold);box-shadow:0 0 0 calc(3*var(--u)) rgba(201,165,90,.28);animation:fieldPulse 1.3s ease-in-out 2}
.card.nudge label{color:var(--gold-text)}
@keyframes cardNudge{10%,90%{transform:translateX(calc(-2*var(--u)))}20%,80%{transform:translateX(calc(3*var(--u)))}30%,50%,70%{transform:translateX(calc(-5*var(--u)))}40%,60%{transform:translateX(calc(5*var(--u)))}}
@keyframes fieldPulse{0%,100%{box-shadow:0 0 0 calc(3*var(--u)) rgba(201,165,90,.28)}50%{box-shadow:0 0 0 calc(7*var(--u)) rgba(201,165,90,.08)}}
@media(prefers-reduced-motion:reduce){.card.nudge .card-body,.card.nudge input:invalid{animation:none}}
.ok{display:none;text-align:center;margin-top:calc(42*var(--u));padding:calc(28*var(--u));border:calc(1.5*var(--u)) solid var(--gold);border-radius:calc(10*var(--u));color:var(--navy);font-weight:600;font-size:calc(24*var(--u));line-height:1.4}
.card.sent form,.card.sent .lock,.card.sent h1,.card.sent .desc,.card.sent .free-default,.card.sent .free-ico-default{display:none}.card.sent .ok{display:block}.card.sent .free{margin-top:0}.free-sent,.free-ico-sent{display:none}.card.sent .free-sent{display:inline}.card.sent .free-ico-sent{display:block}
.card.sent .card-body{padding:calc(36*var(--u)) calc(48*var(--u)) calc(34*var(--u))}
.card.sent .free{font-size:calc(26*var(--u));letter-spacing:.06em;gap:calc(18*var(--u))}.card.sent .free img{width:calc(56*var(--u));height:calc(56*var(--u));margin:calc(-6*var(--u))}
.card.sent .ok{margin-top:calc(16*var(--u));padding:0;border:0;font-weight:500;color:var(--ink-500);font-size:calc(25*var(--u));line-height:1.4}
.spacer{height:calc(30*var(--u))}
.cta{display:none;width:calc(920*var(--u));max-width:100%;margin:calc(40*var(--u)) auto 0;padding:0 calc(20*var(--u));text-align:center}.page.playing .cta,.page.direct .cta{display:block}
.cta-title{font-family:var(--serif);font-weight:500;font-size:calc(58*var(--u));line-height:1.1;color:var(--navy);margin:0}
.cta-sub{margin:calc(18*var(--u)) auto 0;max-width:calc(760*var(--u));font-size:calc(26*var(--u));line-height:1.35;color:var(--ink-500);text-wrap:pretty}
.steps{display:flex;align-items:flex-start;justify-content:center;gap:calc(6*var(--u));margin-top:calc(26*var(--u))}
.step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}
.step img{width:calc(180*var(--u));height:calc(180*var(--u));margin:calc(-28*var(--u)) 0 calc(-22*var(--u))}
.step strong{font-size:calc(24*var(--u));color:var(--navy);font-weight:700;line-height:1.3}
.step span{font-size:calc(21*var(--u));color:var(--ink-500);line-height:1.35;margin-top:calc(4*var(--u))}
.step-arrow{width:calc(190*var(--u));height:auto;flex:none;margin:calc(38*var(--u)) calc(-62*var(--u)) 0;position:relative;z-index:1}
.cta-btn{display:flex;align-items:center;justify-content:center;gap:calc(26*var(--u));margin:calc(34*var(--u)) 0 0;background:#B08A45;color:var(--white);text-decoration:none;font-weight:700;font-size:calc(31*var(--u));line-height:1;padding:calc(30*var(--u)) calc(24*var(--u));border-radius:calc(10*var(--u))}
.cta-btn:hover{background:#BE9A50;color:var(--white)}.cta-btn img{width:calc(56*var(--u));height:calc(56*var(--u));margin:calc(-10*var(--u)) 0}.cta-btn svg{width:calc(40*var(--u));height:calc(40*var(--u))}
.cta-trust{display:flex;justify-content:space-between;gap:calc(14*var(--u));margin-top:calc(30*var(--u));color:var(--navy);font-weight:500;font-size:calc(22*var(--u))}
.cta-trust span{display:flex;align-items:center;gap:calc(10*var(--u))}.cta-trust img{width:calc(60*var(--u));height:calc(60*var(--u));margin:calc(-14*var(--u));flex:none}
