/* Liger · ligerapp.com · estilos. Sin recursos externos. */
@font-face{font-family:'Fraunces';src:url('fuentes/fraunces-latin-opsz-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Fraunces';src:url('fuentes/fraunces-latin-opsz-italic.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap;}
@font-face{font-family:'Plus Jakarta Sans';src:url('fuentes/plus-jakarta-sans-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;}

:root{
  --navy:#0F2A4A; --navy-deep:#0A1E38; --yellow:#FFCC00; --white:#FFFFFF; --off:#F7F8FA;
  --ink:#101A2B; --ink-soft:#5B6B80; --error:#B3261E;
  --serif:'Fraunces', Georgia, serif; --sans:'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-padding-top:66px;}
body{margin:0; background:var(--white); color:var(--ink); font-family:var(--sans); line-height:1.55; -webkit-font-smoothing:antialiased;}
body.modal-abierto{overflow:hidden;}
.page-body{overflow-x:hidden; width:100%;}
img{max-width:100%; height:auto; display:block;}
a{color:inherit;}
.wrap{max-width:1100px; margin:0 auto; padding:0 24px;}
section{padding:72px 0;}
h1,h2,h3{font-family:var(--serif); font-weight:800; margin:0; color:var(--navy); letter-spacing:-0.01em;}
p{margin:0 0 1em 0; max-width:62ch;}
.eyebrow{font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; display:block;}
.eyebrow.yellow{color:#B8900A;}
.bg-navy .eyebrow.yellow{color:var(--yellow);}
.solo-lectores{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

header{position:sticky; top:0; background:var(--navy); z-index:50; border-bottom:1px solid rgba(255,255,255,0.1);}
header .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:20px;}
.logo-img{height:30px; width:auto; display:block;}
.logo-pie{height:34px; width:auto;}
nav{display:flex; gap:28px; font-size:14px; font-weight:600;}
nav a{text-decoration:none; color:#D7E0EA;}
nav a:hover{color:var(--white);}

.btn{background:var(--yellow); color:var(--navy); border:none; padding:13px 22px; font-family:var(--sans); font-weight:800; font-size:14.5px; border-radius:4px; cursor:pointer; white-space:nowrap; text-decoration:none; display:inline-block;}
.btn:hover{filter:brightness(0.95);}
.btn:disabled{opacity:0.55; cursor:wait;}
.btn-dark{background:var(--navy); color:var(--white);}
.btn:focus-visible,.chip:focus-visible,.link-inline:focus-visible,.link-close:focus-visible,a:focus-visible{outline:3px solid var(--yellow); outline-offset:2px;}

.hero{padding-top:56px;}
.hero h1{font-size:34px; line-height:1.1; max-width:28ch;}
.hero .subtitle{font-size:18px; color:var(--ink); margin-top:20px; max-width:38ch;}
.hero-form{margin-top:26px; display:flex; gap:10px; flex-wrap:wrap; max-width:420px;}
.hero-note{margin-top:14px; font-size:13px; color:var(--ink-soft); max-width:46ch;}
.hero-note a{text-decoration:underline; text-underline-offset:2px;}
.hero-note-legal{margin-top:6px;}
.link-inline{background:none; border:none; padding:0; font:inherit; font-weight:700; color:var(--navy); text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
.cta-note{margin-top:16px; font-size:13.5px; color:#C3D1DE; max-width:52ch;}
.cta-note .link-inline{color:var(--yellow);}
.share-box{background:var(--off); border-radius:6px; padding:18px; margin:4px 0 20px;}
.share-title{font-weight:800; color:var(--navy); font-size:15px; margin:0 0 6px;}
.share-text{font-size:14px; color:var(--ink-soft); margin:0 0 14px;}
.photo-frame{margin-top:36px; border-radius:6px; overflow:hidden;}
.photo-frame img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-photo-frame{background:var(--white);}
.hero-photo-frame img{object-fit:contain;}
.hero-photo-wrap{position:relative;}
.hero-photo-wrap::before{content:""; position:absolute; inset:10% -7% -7% 9%; background:var(--off); border-radius:30px; z-index:0;}
.hero-photo-wrap::after{content:""; position:absolute; width:46%; padding-top:46%; top:-9%; right:-9%; border:3px solid var(--yellow); border-radius:50%; z-index:0;}
.hero-photo-wrap .photo-frame{position:relative; z-index:1;}

.bg-off{background:var(--off);}
.bg-navy{background:var(--navy); color:#E8EEF4;}
.bg-navy h1,.bg-navy h2,.bg-navy h3{color:var(--white);}
.bg-navy p{color:#C3D1DE;}

h2.section-title{font-size:30px; margin-bottom:18px;}
.lede{font-size:18px;}

.vida-titulo{font-size:36px;}
.vida-list{font-size:14.5px; font-weight:700; margin:18px 0 0; max-width:40ch; border-bottom:1px solid var(--yellow);}
.vida-list span{display:block; padding:11px 0; border-top:1px solid var(--yellow);}
.vida-close{font-family:var(--serif); font-weight:700; font-style:italic; font-size:19px; margin-top:20px;}
.bg-navy .vida-close{color:#FFCC00;}
.vida-tuya-grid{display:grid; grid-template-columns:1fr; gap:36px; align-items:center; margin-top:10px;}
.vida-tuya-text .eyebrow{font-size:17px;}

.coincidir-grid{display:grid; grid-template-columns:1fr; gap:40px; align-items:center;}
.coincidir-grid .section-title{font-size:38px;}
.coincidir-grid .lede{font-size:22px;}
.coincidir-grid .body-copy{font-size:18.5px;}
.eyebrow-grande{font-size:18px; color:var(--navy); margin-bottom:22px;}
.link-row{display:flex; align-items:center; gap:7px; margin-top:26px; font-weight:800; font-size:11px; letter-spacing:0.02em; flex-wrap:nowrap;}
.link-row span.arrow{color:var(--yellow);}
.phone-shot-wrap{position:relative; max-width:380px; margin:0 auto; padding:10px 46px;}
.phone-shot-wrap svg.scribble{position:absolute; inset:0; width:100%; height:100%; z-index:0;}
.phone-shot{position:relative; z-index:1; border-radius:10px; overflow:hidden;}

.mcrd-section{padding:36px 0;}
.mcrd-section .wrap{max-width:1280px;}
.mcrd-intro{text-align:center; max-width:720px; margin:0 auto 8px;}
.mcrd-intro p{margin-left:auto; margin-right:auto;}
.mcrd-intro .eyebrow{font-size:17px; margin-bottom:30px;}
.mcrd-section .section-title{margin-bottom:6px;}
.mcrd-section .lede{font-size:17px; max-width:52ch; margin-bottom:0;}
.mcrd-section .mcrd-title{font-size:32px; line-height:1.15;}
.mcrd-row{display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap;}
.mcrd-arrow{color:var(--yellow);}
.amarillo{color:var(--yellow);}
.mcrd-body{display:grid; grid-template-columns:1fr; gap:22px; margin-top:22px; align-items:start;}
.mcrd-figure{width:100%; margin:0 auto;}
.mcrd-photo{margin:0; border-radius:6px; overflow:hidden;}
.mcrd-photo img{width:100%; height:auto; display:block;}
.mcrd-labels{position:relative; height:1.7em; margin-top:8px; font-family:var(--serif); font-weight:800; font-size:15px; letter-spacing:0.02em; color:var(--white);}
.mcrd-labels span{position:absolute; top:0; transform:translateX(-50%); white-space:nowrap;}
.mcrd-labels .l1{left:14.8%;} .mcrd-labels .l2{left:49.5%;} .mcrd-labels .l3{left:85%; color:var(--yellow);}
.steps-grid{display:flex; flex-direction:column; gap:12px;}
.step-card{background:var(--white); border:1px solid rgba(15,42,74,0.12); border-radius:10px; padding:18px 22px; display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; max-width:420px; width:100%; margin:0 auto;}
.step-card.active{background:var(--yellow); border-color:var(--yellow);}
.step-card h3{color:var(--navy); font-size:min(20px, 4.4vw); line-height:1.2; white-space:nowrap; margin:0;}
.bg-navy .step-card h3{color:var(--navy);}
.step-card p{color:var(--ink-soft); font-size:17px; margin:0; line-height:1.4;}
.bg-navy .step-card p{color:var(--ink-soft);}
.bg-navy .step-card.active p{color:#3A2F00;}
.step-card .hl-word .hl-mark{height:7px; bottom:-3px;}

.vuestra-grid{display:grid; grid-template-columns:1fr; grid-template-areas:"copy" "deck" "cont" "deck2"; gap:16px; position:relative;}
.vuestra-copy{grid-area:copy; position:relative;}
.vuestra-copy .eyebrow{font-size:17px; color:var(--navy);}
.vuestra-copy h2{font-size:30px;}
.vuestra-copy .lede{font-size:17px; max-width:36ch;}
.vuestra-cont{grid-area:cont;}
.vuestra-cont .lede{font-size:17px; max-width:36ch; margin:0 0 4px;}
.vuestra-cont .lede:last-child{margin-bottom:0;}
.vuestra-arrow-h{display:none;}
.hl-word{position:relative; display:inline-block; color:var(--navy);}
.hl-word .hl-mark{position:absolute; left:-3%; bottom:-10px; width:106%; height:16px; pointer-events:none;}
.vuestra-cont .hl-word .hl-mark{height:9px; bottom:-5px;}
.eyebrow .hl-word .hl-mark{height:9px; bottom:-7px;}
.vida-vuestra-deck{grid-area:deck; position:relative; height:300px; max-width:260px; touch-action:pan-y;}
.vida-vuestra-deck2{grid-area:deck2; position:relative; height:300px; max-width:260px;}
.deck-card{position:absolute; top:0; left:0; width:100%; height:100%; border-radius:10px; overflow:hidden; box-shadow:0 14px 30px rgba(0,0,0,0.3); transition:transform 0.5s ease, opacity 0.5s ease; cursor:pointer; border:0; padding:0; background:#dfe5ec; display:block; text-align:left; font:inherit;}
.deck-card img{width:100%; height:100%; object-fit:cover;}
.deck-cap{position:absolute; right:12px; bottom:12px; background:var(--white); color:var(--navy); font-family:var(--serif); font-style:italic; font-weight:700; font-size:14px; padding:5px 13px; border-radius:3px;}

.sec-section{padding:28px 0;}
.sec-section .eyebrow{font-size:17px;}
.sec-section .section-title{font-size:24px; margin-bottom:10px;}
.sec-grid{display:grid; grid-template-columns:1fr; gap:14px; margin-top:4px; align-items:stretch;}
.sec-list{display:flex; flex-direction:column; justify-content:center;}
.sec-row{padding:7px 0; border-top:1px solid rgba(255,255,255,0.16);}
.sec-row:last-child{border-bottom:1px solid rgba(255,255,255,0.16);}
.sec-row .tag{font-size:11px; font-weight:800; letter-spacing:0.05em; color:#9FB3C4;}
.sec-row h3{font-size:17px; margin:2px 0 1px; color:var(--white);}
.sec-row p{font-size:14px; color:#C3D1DE; margin:0;}
.sec-photo{border-radius:8px; overflow:hidden; position:relative; height:260px; min-height:260px;}
.sec-photo img{position:absolute; inset:0; height:100%; width:100%; object-fit:cover;}

.framed{position:relative; padding:44px 32px;}
.framed svg.frame{position:absolute; inset:-12px; width:calc(100% + 24px); height:calc(100% + 24px); z-index:0;}
.framed-inner{position:relative; z-index:1;}
.framed-navy{padding:38px; border-radius:6px;}
.framed-navy h2{color:var(--white); font-size:30px;}
.waitlist-grid{display:grid; grid-template-columns:1fr; gap:30px;}
.waitlist-grid p{font-size:18px;}
.waitlist-grid h2{font-size:38px;}
.waitlist-grid .eyebrow{color:#5B6B80;}
.negrita{font-weight:600;}
.nota-navy{margin-top:18px; color:var(--navy); font-weight:600;}
.dot-tag{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:700; letter-spacing:0.03em; color:#B8900A; margin-bottom:12px;}
.dot-tag::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--yellow);}

footer{border-top:1px solid rgba(15,42,74,0.12); padding:32px 0;}
footer .wrap{display:flex; flex-direction:column; gap:10px;}
.foot-claim{font-family:var(--serif); font-style:italic; font-size:14px; color:var(--ink-soft); margin:-2px 0 6px;}
.foot-links{font-size:13px; color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:6px 14px;}
.foot-links a{text-decoration:underline; text-underline-offset:2px;}
.foot-disclaimer{font-size:11.5px; color:var(--ink-soft); margin-top:10px; max-width:70ch;}

/* Ventana del formulario */
.overlay{position:fixed; inset:0; background:rgba(10,20,35,0.74); display:none; align-items:center; justify-content:center; z-index:100; padding:20px;}
.overlay.open{display:flex;}
.modal{background:var(--white); border-radius:8px; max-width:440px; width:100%; padding:30px 26px; max-height:90vh; overflow-y:auto;}
.modal h3{font-size:20px; margin-bottom:6px; font-weight:800;}
.modal .sub{font-size:14px; color:var(--ink-soft); margin-bottom:18px;}
.field-label{display:block; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft); margin:14px 0 8px;}
fieldset{border:0; padding:0; margin:0; min-width:0;}
legend{padding:0;}
.chip-row{display:flex; gap:10px; flex-wrap:wrap;}
.chip{border:1.5px solid rgba(15,42,74,0.25); padding:9px 15px; border-radius:20px; font-size:14px; background:transparent; cursor:pointer; font-family:var(--sans); font-weight:600; color:var(--ink);}
.chip[aria-pressed="true"]{background:var(--navy); color:var(--white); border-color:var(--navy);}
.consent{font-size:12.5px; color:var(--ink); display:flex; gap:10px; align-items:flex-start; margin:20px 0 10px; line-height:1.45;}
.consent input{margin-top:3px; width:18px; height:18px; flex:none; accent-color:var(--navy);}
.info-legal{font-size:11.5px; color:var(--ink-soft); line-height:1.45; margin:0 0 16px;}
.info-legal a{color:var(--navy);}
.modal-actions{display:flex; justify-content:space-between; align-items:center; gap:12px;}
.modal-actions.derecha{justify-content:flex-end;}
.link-close{font-size:13px; color:var(--ink-soft); text-decoration:underline; background:none; border:none; cursor:pointer; font-family:var(--sans); padding:8px 0;}
.modal-step{display:none;}
.modal-step.active{display:block;}
.text-input{width:100%; padding:14px 16px; border:1.5px solid rgba(15,42,74,0.2); background:var(--off); font-family:var(--sans); font-size:16px; border-radius:4px; color:var(--ink); margin:0;}
.text-input::placeholder{color:var(--ink-soft);}
.dob-row{display:flex; gap:8px;}
.dob-row .text-input{padding:14px 10px; min-width:0;}
.dob-row .dob-day{flex:0.8 1 0;}
.dob-row .dob-month{flex:1.5 1 0;}
.dob-row .dob-year{flex:1 1 0;}
.range-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px;}
.range-val{font-size:15px; font-weight:800; color:var(--navy); margin:14px 0 8px;}
.age-range{position:relative; height:44px;}
.age-range .track{position:absolute; left:0; right:0; top:50%; height:4px; margin-top:-2px; background:rgba(15,42,74,0.18); border-radius:2px;}
.age-range .fill{position:absolute; top:50%; height:4px; margin-top:-2px; background:var(--navy); border-radius:2px;}
.age-range input[type=range]{position:absolute; left:0; top:0; width:100%; height:44px; margin:0; padding:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none;}
.age-range input[type=range]::-webkit-slider-runnable-track{background:none; height:44px;}
.age-range input[type=range]::-moz-range-track{background:none;}
.age-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; pointer-events:auto; width:26px; height:26px; margin-top:9px; border-radius:50%; background:var(--yellow); border:3px solid var(--navy); cursor:pointer;}
.age-range input[type=range]::-moz-range-thumb{pointer-events:auto; width:20px; height:20px; border-radius:50%; background:var(--yellow); border:3px solid var(--navy); cursor:pointer;}
.range-scale{display:flex; justify-content:space-between; font-size:12.5px; color:var(--ink-soft); font-weight:600;}
.nota-quien{font-size:13.5px; color:var(--ink-soft); margin:14px 0 0;}
.error{color:var(--error); font-size:13.5px; font-weight:600; margin:10px 0 0; min-height:1em;}
.error:empty{display:none;}
.antibots{margin:6px 0 14px;}
altcha-widget{display:block; --altcha-max-width:100%;}

/* Páginas de texto (privacidad, aviso legal, cookies, confirmar, baja) */
.doc{padding:48px 0 72px;}
.doc .wrap{max-width:780px;}
.doc h1{font-size:34px; margin-bottom:8px;}
.doc h2{font-size:22px; margin:36px 0 12px;}
.doc h3{font-size:18px; margin:24px 0 10px;}
.doc p,.doc li{font-size:16px; max-width:none;}
.doc ul{padding-left:22px;}
.doc li{margin-bottom:6px;}
.doc a{color:var(--navy); text-underline-offset:2px;}
.doc .version{color:var(--ink-soft); font-size:14px; margin-bottom:28px;}
.doc blockquote{margin:16px 0; padding:14px 18px; border-left:4px solid var(--yellow); background:var(--off); font-weight:600;}
.tabla{width:100%; overflow-x:auto; margin:12px 0 20px;}
.doc table{border-collapse:collapse; width:100%; font-size:15px;}
.doc th,.doc td{border:1px solid rgba(15,42,74,0.15); padding:10px 12px; text-align:left; vertical-align:top;}
.doc th{background:var(--off); font-weight:700;}
.caja{background:var(--off); border-radius:8px; padding:28px 24px; margin-top:24px; text-align:center;}
.caja p{margin-left:auto; margin-right:auto;}
.caja .btn{margin-top:8px;}
.oculto{display:none !important;}

/* Preguntas frecuentes */
.faq-section{padding:72px 0 80px;}
.faq-wrap{max-width:820px;}
.faq-section .eyebrow{font-size:17px; color:var(--navy);}
.faq-section h1{font-size:34px;}
.faq-list{margin-top:10px; border-top:1px solid rgba(15,42,74,0.15);}
.faq-item{border-bottom:1px solid rgba(15,42,74,0.15);}
.faq-item summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; min-height:44px; font-weight:700; font-size:18px; line-height:1.35; color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; flex:none; width:32px; height:32px; border-radius:50%; background:var(--yellow); color:var(--navy); font-size:24px; font-weight:600; line-height:32px; text-align:center; transition:transform 0.2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{margin:0 0 22px; font-size:16.5px; color:var(--ink); max-width:68ch;}
.faq-item p a{color:var(--navy); text-decoration:underline; text-underline-offset:2px;}

@media(min-width:860px){
  .hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
  .hero h1{font-size:46px;}
  .photo-frame{margin-top:0; height:480px;}
  .vida-tuya-grid{grid-template-columns:1fr 1fr;}
  .vida-tuya-text{order:2; align-self:stretch; display:flex; flex-direction:column; justify-content:space-between;}
  .vida-tuya-text .eyebrow{margin-bottom:0; line-height:1.2;}
  .vida-tuya-text .vida-list{margin-top:0;}
  .vida-tuya-text .vida-close{margin:0;}
  .vida-tuya-photo{order:1;}
  .vida-list{font-size:21px;}
  .vida-list span{padding:14px 0;}
  .coincidir-grid{grid-template-columns:1fr 1fr;}
  .link-row{gap:14px; font-size:16px; letter-spacing:0.04em;}
  .sec-grid{grid-template-columns:1fr 1.1fr; align-items:stretch;}
  .sec-photo{height:100%;}
  .waitlist-grid{grid-template-columns:1fr 1fr;}
  .vuestra-grid{grid-template-columns:1fr 100px 1fr; grid-template-areas:"copy . cont" "deck arrow deck2"; row-gap:18px; column-gap:0;}
  .vuestra-copy{align-self:end;}
  .vuestra-cont{align-self:end;}
  .vuestra-copy h2{font-size:44px;}
  .vuestra-copy .lede{font-size:23px;}
  .vuestra-cont .lede{font-size:23px;}
  .vida-vuestra-deck2{margin-top:54px;}
  .vuestra-arrow-h{display:flex; align-items:stretch; justify-content:center; grid-area:arrow; align-self:stretch; transform:translateX(-60px);}
  .vuestra-arrow-h svg{width:100%; height:100%;}
  .mcrd-section{padding:24px 0;}
  .mcrd-intro{max-width:none;}
  .mcrd-row{flex-wrap:nowrap; white-space:nowrap;}
  .mcrd-section .mcrd-title{font-size:clamp(34px, 4vw, 52px);}
  .mcrd-section .lede{font-size:clamp(16px, 1.7vw, 20px); max-width:none; white-space:nowrap;}
  .mcrd-body{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:36px; align-items:center; margin-top:14px;}
  .mcrd-figure{width:min(100%, max(320px, calc((100vh - 280px) * 1.866)));}
  .mcrd-labels{font-size:clamp(14px, 1.6vw, 20px);}
  .step-card{max-width:none; padding:clamp(12px, 1.4vw, 22px) clamp(16px, 1.8vw, 26px);}
  .step-card h3{font-size:clamp(15px, 1.4vw, 20px);}
  .step-card p{font-size:clamp(16px, 1.35vw, 19px);}
  .steps-grid{gap:14px;}
  .keep-line{white-space:nowrap;}
}
@media(max-width:859px){
  nav{display:none;}
  .vida-vuestra-deck{margin:10px 0 64px;}
  .vuestra-cont{margin-bottom:28px;}
  .mcrd-row{flex-direction:column; align-items:center; gap:4px;}
  .mcrd-row .mcrd-arrow{display:block; transform:rotate(90deg); margin:2px 0 2px 10px;}
}
@media(max-width:420px){
  header .btn{padding:11px 14px; font-size:13.5px;}
}
@media(prefers-reduced-motion:reduce){
  .deck-card{transition:none;}
}

/* Campos que faltan por completar */
.text-input.campo-error{border-color:var(--error); background:#FDF1F0;}
.chip-row.campo-error .chip{border-color:var(--error); color:var(--error);}
.consent.campo-error{color:var(--error);}
.consent.campo-error input{outline:2px solid var(--error); outline-offset:2px;}
