@font-face{font-family:Tight,Inter,sans-serif;src:url(../fonts/InterTight.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/Inter.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:Ins,Georgia,serif;font-style:italic;src:url(../fonts/InstrumentSerif-Italic.ttf);font-display:swap}
:root{--hueso:#F3F1EC;--arena:#E3DDD2;--arena2:#EADFCC;--tinta:#141414;--gris:#6F6C66;--camel:#B9915F;--tostado:#86613A;--tabaco:#7A5634;--cobalto:#2F4BEA;--blanco:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:Inter,system-ui,sans-serif;background:var(--hueso);color:var(--tinta);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.t{font-family:Tight,Inter,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:.95}
.it{font-family:Ins,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.cap{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.dot{color:var(--cobalto)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--cobalto);color:#fff;font-weight:600;font-size:17px;padding:16px 28px;border-radius:999px;transition:transform .2s,box-shadow .2s;border:0;cursor:pointer;font-family:inherit}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,20,20,.16)}
.btn.ghost{background:transparent;color:var(--tinta);border:1.5px solid var(--tinta)}
.btn.ghost:hover{box-shadow:none;background:var(--tinta);color:var(--hueso)}
.pill{white-space:nowrap;display:inline-flex;align-items:center;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}

/* cabecera */
header{position:sticky;top:0;z-index:50;background:rgba(243,241,236,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
header.sc{border-color:var(--arena)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-size:30px}
.nav ul{display:flex;gap:34px;list-style:none;font-weight:500;font-size:15px}
.nav ul a:hover{color:var(--tostado)}
.nav .btn{padding:11px 20px;font-size:15px}

/* hero */
.hero{padding:70px 0 90px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(56px,8vw,112px)}
.hero h1 .it{display:block;font-size:1.08em;line-height:.9;color:var(--tostado)}
.hero p.lead{font-size:21px;line-height:1.5;color:#3f3d39;margin:30px 0 36px;max-width:520px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero .nota{margin-top:22px;font-size:14px;color:var(--gris)}
.stage{position:relative;height:600px;perspective:1300px}
.scene{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fl{position:absolute;transform-style:preserve-3d}
.fl img{filter:drop-shadow(0 26px 30px rgba(60,40,20,.20));animation:flota 7s ease-in-out infinite}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.card3d{position:absolute;background:var(--blanco);border-radius:22px;padding:18px 20px;box-shadow:0 24px 50px rgba(40,30,20,.12);width:250px}
.card3d .r{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;border-top:1px solid var(--arena)}
.card3d .r:first-of-type{border-top:0}
.card3d .r span:last-child{color:var(--gris)}
.card3d .tot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.blob{position:absolute;border-radius:50%;filter:blur(2px)}

/* bloques */
section{padding:110px 0}
.h2{font-size:clamp(42px,5.5vw,76px)}
.h2 .it{font-size:1.06em}
.sub{font-size:20px;line-height:1.5;color:#45433f;max-width:640px;margin-top:22px}

/* pasos */
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
.paso{background:var(--blanco);border-radius:28px;padding:36px 32px 40px;position:relative;overflow:hidden}
.paso .n{font-size:110px;color:var(--tabaco);line-height:.8}
.paso h3{font-family:Tight,Inter,sans-serif;font-weight:700;font-size:28px;letter-spacing:-.02em;margin:26px 0 10px}
.paso p{font-size:17px;line-height:1.55;color:#4a4843}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{background:var(--arena);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600}

/* demo */
#demo{background:var(--tinta);color:var(--hueso);border-radius:44px;margin:0 20px}
#demo .cap{color:#a9a49b}
#demo .sub{color:#cfcac0}
.demo{display:grid;grid-template-columns:330px 1fr;gap:50px;margin-top:60px;align-items:start}
.opts h4{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a9a49b;margin:0 0 12px}
.seg{display:flex;flex-direction:column;gap:8px;margin-bottom:34px}
.seg button{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:16px;border:1.5px solid #3a3835;font-weight:600;font-size:17px;transition:.2s}
.seg button:hover{border-color:#77736c}
.seg button[aria-pressed=true]{background:var(--hueso);color:var(--tinta);border-color:var(--hueso)}
.seg button small{font-weight:500;opacity:.6;font-size:14px}
.rango{display:flex;gap:8px}
.rango button{all:unset;cursor:pointer;flex:1;text-align:center;padding:12px 0;border-radius:999px;border:1.5px solid #3a3835;font-weight:600;font-size:15px}
.rango button[aria-pressed=true]{background:var(--tostado);border-color:var(--tostado);color:#fff}
.lookbox{background:var(--arena);color:var(--tinta);border-radius:32px;padding:34px 36px 30px;position:relative;min-height:640px}
.lookhead{display:flex;justify-content:space-between;align-items:flex-start}
.lookhead .num{font-size:96px;color:var(--tabaco);line-height:.8}
.lookhead h3{font-size:40px;margin-top:12px}
.lstage{position:relative;aspect-ratio:1080/760;margin:10px 0 18px}
.lstage .pz{position:absolute;transition:opacity .45s,transform .45s}
.lstage .pz img{width:100%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.16))}
.lstage.out .pz{opacity:0;transform:translateY(16px) scale(.97)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--blanco);border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:600;display:inline-flex;gap:8px;align-items:center}
.tag span{color:var(--gris);font-weight:500}
.tag a{color:var(--tostado);font-weight:600}
.lookfoot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:16px;flex-wrap:wrap}
.lookfoot .stock{font-size:14px;color:#4a4843;display:flex;align-items:center;gap:8px}
.lookfoot .stock i{width:9px;height:9px;border-radius:50%;background:#3E8E5A;display:inline-block}
.otros{display:flex;gap:8px;margin-top:20px}
.otros button{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Tight,Inter,sans-serif;font-weight:700;background:#2a2826;color:var(--hueso)}
.otros button[aria-pressed=true]{background:var(--hueso);color:var(--tinta)}

/* por qué */
.porque{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:60px}
.pq{border-top:2px solid var(--tinta);padding-top:22px}
.pq h3{font-family:Tight,Inter,sans-serif;font-weight:700;font-size:24px;letter-spacing:-.02em;margin-bottom:10px}
.pq p{font-size:16px;line-height:1.55;color:#4a4843}
.big{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.stat{background:var(--arena);border-radius:28px;padding:34px 36px}
.stat .t{font-size:72px}
.stat p{font-size:17px;color:#4a4843;margin-top:10px;line-height:1.5}

/* precios */
.precios{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px;align-items:stretch}
.pr{background:var(--blanco);border-radius:30px;padding:38px 34px;display:flex;flex-direction:column}
.pr.dest{background:var(--tostado);color:#fff}
.pr .cap{margin-bottom:18px}
.pr.dest .cap{color:#f0e2cf}
.pr .precio{font-size:68px}
.pr .precio small{font-size:20px;letter-spacing:0;font-weight:600;display:inline-block;white-space:nowrap}
.pr ul{list-style:none;margin:26px 0 30px;flex:1}
.pr li{padding:11px 0;border-top:1px solid var(--arena);font-size:16px;line-height:1.4}
.pr.dest li{border-color:rgba(255,255,255,.22)}
.pr .btn{justify-content:center}
.pr.dest .btn.ghost{color:#fff;border-color:#fff}
.pr.dest .btn.ghost:hover{background:#fff;color:var(--tostado)}
.pr .tagb{align-self:flex-start;background:var(--hueso);color:var(--tostado);margin-bottom:14px}

/* faq */
.faq{max-width:820px;margin-top:50px}
details{border-top:1px solid #d5cfc4;padding:24px 0}
details:last-child{border-bottom:1px solid #d5cfc4}
summary{list-style:none;cursor:pointer;font-family:Tight,Inter,sans-serif;font-weight:700;font-size:23px;letter-spacing:-.02em;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-weight:400;font-size:30px;line-height:.8;transition:transform .25s}
details[open] summary:after{transform:rotate(45deg)}
details p{font-size:17px;line-height:1.6;color:#4a4843;margin-top:12px;max-width:700px}

/* cierre */
.cierre{background:var(--tostado);color:#fff;border-radius:44px;margin:0 20px;text-align:center;padding:110px 30px}
.cierre .h2 .it{color:#F1DEC4}
.cierre p{font-size:20px;margin:24px auto 36px;max-width:520px;color:#f3e6d4;line-height:1.5}
footer{padding:60px 0 50px;font-size:14px;color:var(--gris)}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
footer nav{display:flex;gap:10px 22px;flex-wrap:wrap}
footer nav a:hover{color:var(--tinta)}

.rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.on{opacity:1;transform:none}

@media (max-width:960px){
  .nav ul{display:none}
  .hero .wrap{grid-template-columns:1fr}
  .stage{height:460px;margin-top:10px}
  .pasos,.precios{grid-template-columns:1fr}
  .porque{grid-template-columns:1fr 1fr}
  .big{grid-template-columns:1fr}
  .demo{grid-template-columns:minmax(0,1fr);gap:30px}.opts{min-width:0}
  .seg{flex-direction:row;overflow-x:auto;margin-bottom:22px}
  .seg button{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px}
  #demo,.cierre{margin:0 10px;border-radius:30px}
  section{padding:80px 0}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .porque{grid-template-columns:1fr}
  .stage{height:380px}
  .card3d{width:210px;padding:14px 16px;font-size:13px}.card3d .r{font-size:13px}.stage .fl:nth-child(3){display:none}
  .lookbox{padding:24px 20px;min-height:0}
  .lookhead .num{font-size:70px}.lookhead h3{font-size:30px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== v2: titulares editoriales, estilos, precios de 4, acceso ===== */
.ed{font-family:Tight,Inter,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:.88}
.ed em{font-style:normal;color:var(--tostado)}
.nav .acc{font-weight:600;font-size:15px;margin-right:18px}
.nav .acc:hover{color:var(--tostado)}
.nav .der{display:flex;align-items:center}
.btn.osc{background:var(--tinta)}
.btn.osc:hover{box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn[disabled]{opacity:.45;pointer-events:none}

/* 4 estilos */
.estilos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.est{background:var(--blanco);border-radius:28px;padding:26px 24px 28px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.est:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(60,40,20,.10)}
.est .num{font-family:Tight,Inter,sans-serif;font-weight:700;font-size:15px;color:var(--gris)}
.est .mini{position:relative;height:210px;margin:14px 0 18px}
.est .mini img{position:absolute;filter:drop-shadow(0 12px 14px rgba(0,0,0,.14))}
.est h3{font-family:Tight,Inter,sans-serif;font-weight:700;font-size:30px;letter-spacing:-.03em;line-height:1}
.est h3 .it{display:block;font-size:30px;color:var(--tostado)}
.est p{font-size:15.5px;line-height:1.5;color:#4a4843;margin-top:12px;flex:1}
.pal{display:flex;gap:6px;margin-top:16px}
.pal i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}

/* precios v2 */
.precios.cuatro{grid-template-columns:repeat(4,1fr);gap:16px}
.precios.cuatro .pr{padding:32px 26px}
.precios.cuatro .pr .precio{font-size:52px}
.pr .sub2{font-size:14px;color:var(--gris);margin-top:8px;min-height:40px;line-height:1.4}
.pr.dest .sub2{color:#f0e2cf}
.pr.osc{background:var(--tinta);color:var(--hueso)}
.pr.osc .cap,.pr.osc .sub2{color:#b9b4ab}
.pr.osc li{border-color:#2f2d2a}
.pr li b{font-weight:700}
.pr li.no{color:#a7a29a;text-decoration:line-through}
.pr.osc .btn.ghost{color:var(--hueso);border-color:var(--hueso)}
.pr.osc .btn.ghost:hover{background:var(--hueso);color:var(--tinta)}
.cmp{margin-top:26px;font-size:14px;color:var(--gris);line-height:1.5}

/* formularios */
.campo{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.campo label{font-size:14px;font-weight:600}
.campo input,.campo select{font:inherit;font-size:16px;padding:14px 16px;border-radius:14px;border:1.5px solid #d9d3c8;background:#fff;color:var(--tinta);outline:none;transition:border-color .2s}
.campo input:focus,.campo select:focus{border-color:var(--tostado)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#4a4843;margin:6px 0 18px}
.chk input{margin-top:3px;accent-color:var(--tostado);width:16px;height:16px}
.error{background:#F6E3DF;color:#7A2A1C;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:16px;display:none}
.error.on{display:block}
.aviso-proto{font-size:12.5px;color:var(--gris);line-height:1.45}

@media (max-width:1100px){.precios.cuatro{grid-template-columns:repeat(2,1fr)}}
@media (max-width:960px){.estilos{grid-template-columns:1fr 1fr}.nav .acc{margin-right:12px}}
@media (max-width:560px){.estilos,.precios.cuatro{grid-template-columns:1fr}.nav .btn.cta{display:none}}
@media print{body{background:#fff}}

.fade{animation:entra .45s cubic-bezier(.2,.7,.2,1)}
@keyframes entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
