/* Encaja Nest · página de presentación y páginas legales */
:root{
  --graf:#1F2933; --graf-2:#2A3640; --ink:#1F2933; --muted:#52606D; --line:#D5E0DD; --bg:#F4F7F6; --paper:#FFFFFF;
  --teal:#14B8A6; --teal-hi:#2DD4BF; --teal-deep:#0F766E; --sheet:#E6ECEA; --sheet-line:#AEBBB7;
  --red:#E5484D; --yellow:#F2B705; --blue:#2F6FEB;
  --f-head:'Outfit','Aptos Display',Arial,sans-serif; --f-body:'Nunito Sans','Aptos',Arial,sans-serif;
  --pad:max(16px,env(safe-area-inset-left,0px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 var(--f-body)}
img,svg{max-width:100%}
a{color:var(--teal-deep)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding-left:var(--pad);padding-right:max(16px,env(safe-area-inset-right,0px))}

/* encabezado */
.top{background:var(--graf);color:#F7FAF9;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;color:#F7FAF9;text-decoration:none}
.brand img{height:28px;width:auto}
.brand span{font:300 22px/1 var(--f-head);letter-spacing:-.02em}.brand b{font-weight:700}.brand i{font-style:normal;color:var(--teal)}
.top nav{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.top nav a{color:#F7FAF9;text-decoration:none;font:600 16px var(--f-body);padding:8px 12px;border-radius:8px}
.top nav a:hover{background:rgba(255,255,255,.08)}
.top nav a.cta{background:var(--teal);color:var(--graf);font-family:var(--f-head);font-weight:700}
.top nav a.cta:hover{background:var(--teal-hi)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;border-radius:10px;font:700 18px var(--f-head);text-decoration:none;border:1px solid var(--teal);background:var(--teal);color:var(--graf)}
.btn:hover{background:var(--teal-hi);border-color:var(--teal-hi)}
.btn.line{background:transparent;color:#F7FAF9;border-color:rgba(247,250,249,.35)}
.btn.line:hover{border-color:#F7FAF9;background:transparent}

/* portada */
.hero{background:var(--graf);color:#F7FAF9;padding:56px 0 72px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}
.hero h1{font:700 clamp(38px,5.4vw,64px)/1.02 var(--f-head);letter-spacing:-.03em;margin:0 0 20px;text-wrap:balance}
.hero p.lead{font-size:21px;line-height:1.55;color:#D3DCDA;margin:0 0 30px;max-width:34em}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap}
.hero small{display:block;margin-top:16px;color:#B3C2BE;font-size:16px}
.mapa{background:var(--graf-2);border-radius:14px;padding:18px 18px 12px;margin:0}
.mapa-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:0 4px 12px;color:#D3DCDA;font:600 16px var(--f-body)}
.seg2{display:inline-flex;background:rgba(255,255,255,.07);border-radius:9px;padding:3px}
.seg2 button{border:0;background:transparent;color:#D3DCDA;font:700 15px var(--f-head);padding:7px 14px;border-radius:7px;cursor:pointer;min-height:36px}
.seg2 button[aria-pressed="true"]{background:#F7FAF9;color:var(--graf)}
.mapa svg{display:block;width:100%;height:auto}
.mapa .pz{vector-effect:non-scaling-stroke;stroke-width:1px;transform-origin:0 0;transform-box:view-box;transform:var(--a);transition:transform 1.6s cubic-bezier(.65,0,.35,1)}
.mapa.nest .pz{transform:var(--b)}
.mapa .ico,.mapa .let{transition:none}
.mapa.nest .ico{animation:icoN 2.4s both}
.mapa.armado .ico{animation:icoD 2.4s both}
.mapa.nest .let{animation:letN 2.4s both}
.mapa.armado .let{animation:letD 2.4s both}
@keyframes icoN{0%{transform:var(--a);animation-timing-function:cubic-bezier(.45,0,.25,1)}30%{transform:var(--c);animation-timing-function:cubic-bezier(.65,0,.35,1)}100%{transform:var(--b)}}
@keyframes icoD{0%{transform:var(--b);animation-timing-function:cubic-bezier(.65,0,.35,1)}70%{transform:var(--c);animation-timing-function:cubic-bezier(.45,0,.25,1)}100%{transform:var(--a)}}
@keyframes letN{0%{transform:var(--a)}30%{transform:var(--a);animation-timing-function:cubic-bezier(.65,0,.35,1)}100%{transform:var(--b)}}
@keyframes letD{0%{transform:var(--b);animation-timing-function:cubic-bezier(.65,0,.35,1)}70%{transform:var(--a)}100%{transform:var(--a)}}
.mapa .hoja{opacity:0;transition:opacity .4s}
.mapa.nest .hoja{opacity:1;transition:opacity .5s ease 2.4s}
@media (prefers-reduced-motion:reduce){.mapa .pz,.mapa .hoja,.mapa.nest .hoja{transition:none}.mapa .ico,.mapa .let{animation:none!important}.mapa.nest .ico,.mapa.nest .let{transform:var(--b)}}
.mapa figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 15.5px var(--f-body);color:#C9D4D1;padding:10px 4px 0}
.mapa figcaption b{color:#F7FAF9;font-family:var(--f-head)}

/* secciones */
section.blk{padding:84px 0}
section.blk + section.blk{border-top:1px solid var(--line)}
h2{font:700 clamp(30px,3.6vw,42px)/1.1 var(--f-head);letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
h3{font:700 23px/1.25 var(--f-head);margin:0 0 10px}
.intro{max-width:42em;color:#3E4C57;margin:0 0 44px;font-size:20px;line-height:1.55}
.cuerpo{font-size:19px;line-height:1.65;margin:0 0 16px;max-width:36em}

/* pasos (secuencia real) */
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:p}
.pasos li{counter-increment:p;padding:4px 28px 0 0;border-top:3px solid var(--graf)}
.pasos li::before{content:counter(p);display:block;font:700 54px/1 var(--f-head);color:var(--teal-deep);margin:18px 0 10px}
.pasos p{margin:0;color:#3E4C57;font-size:18px}

/* sobrantes */
.dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.lista{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:14px;font-size:18px}
.lista li{padding-left:26px;position:relative}
.lista li::before{content:"";position:absolute;left:3px;top:.55em;width:12px;height:7px;border-left:2.5px solid var(--teal-deep);border-bottom:2.5px solid var(--teal-deep);transform:rotate(-45deg)}
.inv{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:16.5px}
.inv table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.inv th{font:600 14.5px var(--f-head);color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);background:#FAFCFB}
.inv td{padding:12px 14px;border-bottom:1px solid var(--line)}
.inv tr:last-child td{border-bottom:0}
.inv .st{display:inline-block;border-radius:999px;padding:3px 11px;font-size:14.5px;font-weight:700;background:#E3F5F2;color:var(--teal-deep)}
.inv .st.u{background:#EEF1F0;color:var(--muted)}
.inv caption{caption-side:bottom;text-align:left;padding:13px 14px;color:var(--muted);font-size:15.5px;border-top:1px solid var(--line)}

/* puntos de valor */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.tres p{margin:0;color:#3E4C57;font-size:18px}
.tres .sw{display:flex;gap:6px;margin-bottom:14px}.tres .sw i{width:22px;height:22px;border-radius:5px;display:block}

/* precios */
.precios-h{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--paper)}
.seg button{font:700 16px var(--f-head);border:0;background:transparent;color:var(--muted);border-radius:8px;padding:9px 16px;cursor:pointer;min-height:42px}
.seg button[aria-pressed="true"]{background:var(--graf);color:#F7FAF9}
.planes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border:1px solid var(--line);border-radius:14px}
.plan{padding:28px 24px;display:flex;flex-direction:column;gap:14px;border-left:1px solid var(--line)}
.plan:first-child{border-left:0}
.plan.rec{background:#F0FAF8;box-shadow:inset 0 4px 0 var(--teal)}
.plan h3{margin:0}
.plan .rec-t{font:700 15.5px var(--f-body);color:var(--teal-deep);margin:-8px 0 0}
.precio{font:700 44px/1 var(--f-head);margin:0;font-variant-numeric:tabular-nums}.precio small{font:400 17px var(--f-body);color:var(--muted)}
.plan .eq{margin:-4px 0 0;font-size:16px;color:var(--muted);min-height:1.5em}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:17px;flex:1}
.plan li{padding-left:22px;position:relative}
.plan li::before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:6px;border-left:2px solid var(--teal-deep);border-bottom:2px solid var(--teal-deep);transform:rotate(-45deg)}
.plan li.no{color:var(--muted)}.plan li.no::before{border:0;height:2px;top:.75em;background:var(--muted);transform:none}
.plan .btn{width:100%}
.plan .btn.alt{background:transparent;color:var(--graf);border-color:var(--line)}.plan .btn.alt:hover{border-color:var(--teal)}
.nota{font-size:16px;color:var(--muted);margin:18px 0 0;max-width:58em}

/* preguntas */
.faq{max-width:780px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font:700 21px/1.4 var(--f-head);padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;color:var(--teal-deep);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 18px;color:#3E4C57;font-size:18px}

/* cierre */
.cierre{background:var(--graf);color:#F7FAF9;padding:72px 0}
.cierre .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cierre h2{margin:0;max-width:16em}

/* pie */
.pie{padding:36px 0 48px;font-size:16px;color:var(--muted)}
.pie .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pie nav{display:flex;gap:18px;flex-wrap:wrap}

/* páginas legales */
.legal{max-width:760px;margin:0 auto;padding:56px var(--pad) 72px}
.legal h1{font:700 clamp(32px,4vw,44px)/1.1 var(--f-head);letter-spacing:-.02em;margin:0 0 6px}
.legal .fecha{color:var(--muted);margin:0 0 32px}
.legal h2{font-size:23px;margin:36px 0 10px}
.legal p,.legal li{color:#33414C}
.legal ul{padding-left:22px}

@media (max-width:900px){
  .hero .wrap,.dos{grid-template-columns:minmax(0,1fr);gap:36px}
  .tres{grid-template-columns:minmax(0,1fr);gap:28px}
  .planes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan:nth-child(3){border-left:0}
  .plan:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:640px){
  body{font-size:17px}
  .hero p.lead{font-size:19px}.intro{font-size:18.5px}.cuerpo{font-size:18px}
  section.blk{padding:60px 0}
  .pasos{grid-template-columns:minmax(0,1fr);gap:24px}
  .pasos li{padding-right:0}
  .planes{grid-template-columns:minmax(0,1fr)}
  .plan{border-left:0}.plan+.plan{border-top:1px solid var(--line)}
  .top nav a:not(.cta):not(.keep){display:none}
  .inv th:nth-child(4),.inv td:nth-child(4){display:none}
}
