:root{
  --bosque:#1e3629; --bosque-2:#13241a; --oliva:#8a9644; --oliva-osc:#56621f; --oliva-cl:#dfe4c4;
  --crema:#f6f1e6; --papel:#fbf8f1; --arena:#e9e1cf; --tinta:#1b2620; --gris:#4f5a53; --linea:rgba(30,54,41,.16);
  --calido:#f2b84b; --alerta:#c9653b;
  --tit:'Fraunces',Georgia,serif; --txt:'Atkinson Hyperlegible',system-ui,sans-serif; --marca:'Montserrat',system-ui,sans-serif;
  --g:clamp(16px,4vw,56px); --ease:cubic-bezier(.2,.75,.2,1); --r:22px;
}
html{font-size:100%}
html.grande{font-size:118.75%}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--crema);color:var(--tinta);font:400 1.125rem/1.6 var(--txt);overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--tit);font-weight:500;margin:0;text-wrap:balance;letter-spacing:-.015em;font-variation-settings:"opsz" 96}
h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.08}
h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.005em;font-variation-settings:"opsz" 28}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;background:var(--bosque);color:var(--papel);padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--oliva);outline-offset:3px;border-radius:6px}
.eyebrow{font:700 .8rem/1.4 var(--txt);letter-spacing:.12em;text-transform:uppercase;color:var(--oliva-osc)}
.num{font:600 .95rem/1 var(--tit);color:var(--oliva-osc)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--bosque);color:var(--papel);padding:1rem 1.6rem;border-radius:999px;font:700 1.05rem/1.1 var(--txt);text-decoration:none;border:2px solid var(--bosque);cursor:pointer;transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s;min-height:52px;text-align:center}
.btn b{font-weight:700}
.btn:hover{background:var(--oliva-osc);border-color:var(--oliva-osc)}
.btn span{transition:transform .3s var(--ease)}.btn:hover span{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--bosque)}
.btn-ghost:hover{background:var(--bosque);color:var(--papel);border-color:var(--bosque)}
.btn-sm{padding:.6rem 1.15rem;font-size:.95rem;min-height:44px}
.link{font-weight:700;color:var(--bosque);text-decoration:underline;text-decoration-color:var(--oliva);text-decoration-thickness:2px;text-underline-offset:5px}
.link:hover{color:var(--oliva-osc)}

/* Navegación */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--g);transition:background .3s,padding .3s,box-shadow .3s}
.nav.solid{background:rgba(251,248,241,.94);backdrop-filter:blur(12px);padding-block:8px;box-shadow:0 1px 0 var(--linea)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo svg{width:52px;height:auto}
.logo span{font:700 1.05rem/.95 var(--marca);color:var(--bosque);letter-spacing:.02em;display:flex;flex-direction:column}
.logo b{font-weight:700;color:var(--bosque)}
.nav nav{display:flex;gap:28px}
.nav nav a{font:700 1rem var(--txt);text-decoration:none;color:var(--tinta);position:relative;padding:6px 0}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--oliva);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav nav a:hover::after{transform:scaleX(1)}
.nav-acc{display:flex;align-items:center;gap:10px}
.btn-txt{width:48px;height:44px;border-radius:12px;border:2px solid var(--linea);background:var(--papel);color:var(--bosque);font:700 .9rem var(--txt);cursor:pointer}
.btn-txt b{font-size:1.25em}
.btn-txt[aria-pressed=true]{background:var(--bosque);color:var(--papel);border-color:var(--bosque)}
.btn-menu{display:none;width:48px;height:44px;border-radius:12px;border:2px solid var(--linea);background:var(--papel);cursor:pointer;position:relative}
.btn-menu>span:first-child,.btn-menu>span:first-child::before,.btn-menu>span:first-child::after{position:absolute;left:13px;right:13px;height:2px;background:var(--bosque);border-radius:2px;content:"";transition:transform .3s var(--ease),opacity .2s}
.btn-menu>span:first-child{top:50%}
.btn-menu>span:first-child::before{left:0;right:0;top:-7px}
.btn-menu>span:first-child::after{left:0;right:0;top:7px}
.btn-menu[aria-expanded=true]>span:first-child{background:transparent}
.btn-menu[aria-expanded=true]>span:first-child::before{transform:translateY(7px) rotate(45deg)}
.btn-menu[aria-expanded=true]>span:first-child::after{transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(24px,4vw,64px);padding:110px var(--g) 56px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-12%;top:-18%;width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(138,150,68,.18),transparent 62%);z-index:-1}
h1{font-size:clamp(2.9rem,6.4vw,5.8rem);line-height:1;font-weight:500;margin:18px 0 24px;color:var(--bosque)}
h1 em{font-style:italic;color:var(--oliva-osc);font-weight:400}
.ln{display:block;overflow:hidden;padding-bottom:.1em}
.ln>span{display:block;transform:translateY(105%);animation:sube 1.1s var(--ease) forwards}
.ln:nth-child(2)>span{animation-delay:.14s}
@keyframes sube{to{transform:none}}
.hero-sub{font-size:clamp(1.1rem,1.4vw,1.3rem);max-width:34em;color:var(--gris);opacity:0;animation:aparece .9s .5s forwards}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;opacity:0;animation:aparece .9s .7s forwards}
@keyframes aparece{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.antesdespues{margin:0;opacity:0;animation:aparece 1s .35s forwards}
.ad-lienzo{position:relative;border-radius:var(--r);overflow:hidden;background:var(--papel);box-shadow:0 30px 60px -30px rgba(30,54,41,.45),0 0 0 1px var(--linea)}
.escena{width:100%;height:auto}
.ad-tag{position:absolute;top:14px;padding:6px 14px;border-radius:999px;font:700 .85rem var(--txt);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.ad-antes{left:14px;background:rgba(251,248,241,.9);color:var(--gris)}
.ad-despues{right:14px;background:var(--bosque);color:var(--papel)}
.ad-rango{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.ad-rango:focus-visible+*{outline:none}
.ad-lienzo:has(.ad-rango:focus-visible){outline:3px solid var(--oliva);outline-offset:4px}
.antesdespues figcaption{margin-top:12px;font-size:.95rem;color:var(--gris);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.antesdespues figcaption span{opacity:.75}
.escena .luz{animation:luz 3s ease-in-out infinite}
@keyframes luz{50%{opacity:.55}}
.escena .gotas path{animation:gota 1.2s linear infinite}
.escena .gotas path:nth-child(2){animation-delay:.3s}.escena .gotas path:nth-child(3){animation-delay:.6s}.escena .gotas path:nth-child(4){animation-delay:.9s}
@keyframes gota{from{transform:translateY(-6px);opacity:0}30%{opacity:1}to{transform:translateY(40px);opacity:0}}
.escena .alerta{animation:late 1.6s ease-in-out infinite;transform-origin:190px 356px}
@keyframes late{50%{transform:scale(1.15)}}
.escena .etq>g{opacity:0;transition:opacity .4s,transform .4s var(--ease);transform:translateY(6px)}
.escena.ver-etq .etq>g{opacity:1;transform:none}
.escena.ver-etq .etq .e2{transition-delay:.1s}.escena.ver-etq .etq .e3{transition-delay:.2s}.escena.ver-etq .etq .e4{transition-delay:.3s}

/* Valores */
.valores{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(20px,5vw,72px);padding:28px var(--g);background:var(--bosque);color:var(--papel)}
.valores li{display:flex;align-items:center;gap:12px;font:500 1.2rem var(--tit)}
.valores svg{width:34px;height:34px;fill:none;stroke:var(--oliva-cl);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Secciones */
section{padding:clamp(72px,10vw,130px) var(--g)}
.sec-head{max-width:760px;margin-bottom:clamp(32px,4vw,56px)}
.sec-head h2{margin:14px 0 16px;color:var(--bosque)}
.sec-head p:not(.eyebrow){color:var(--gris);font-size:1.15rem;max-width:40em}

/* Señales */
.senales{background:var(--papel)}
.senales-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:start}
.checks{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.check{position:relative;display:flex;gap:14px;align-items:flex-start;padding:18px 18px;border-radius:16px;border:2px solid var(--linea);background:var(--crema);cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease);font-size:1.05rem;line-height:1.4;min-height:84px}
.check:hover{border-color:var(--oliva)}
.check input{position:absolute;opacity:0;pointer-events:none}
.check .caja{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid var(--bosque);display:grid;place-items:center;background:var(--papel);transition:background .2s}
.check .caja svg{width:16px;height:16px;stroke:var(--papel);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.5);transition:.25s var(--ease)}
.check:has(input:checked){border-color:var(--bosque);background:var(--oliva-cl)}
.check:has(input:checked) .caja{background:var(--bosque)}
.check:has(input:checked) .caja svg{opacity:1;transform:none}
.check:has(input:focus-visible){outline:3px solid var(--oliva);outline-offset:3px}
.sugerencia{position:sticky;top:96px;background:var(--bosque);color:var(--papel);border-radius:var(--r);padding:clamp(24px,3vw,36px);min-height:320px}
.sug-vacia{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;min-height:260px;color:#d4dccf}
.sug-vacia svg{width:120px;opacity:.9;filter:drop-shadow(0 0 0 #fff)}
.sug-vacia svg{background:var(--papel);border-radius:20px;padding:14px}
.sugerencia .eyebrow{color:var(--oliva-cl)}
#sugLista{margin:16px 0 18px;display:grid;gap:10px}
#sugLista li{display:flex;gap:12px;align-items:flex-start;font-size:1.1rem;animation:aparece .5s var(--ease) both}
#sugLista li::before{content:"";flex:none;width:22px;height:22px;margin-top:3px;border-radius:50%;background:var(--oliva) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-9' stroke='%2313241a' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}
#sugLista small{display:block;color:#c3cdbd;font-size:.9rem}
.sug-nota{font-size:.92rem;color:#c3cdbd;margin-bottom:20px}
.sugerencia .btn{background:var(--oliva);border-color:var(--oliva);color:var(--bosque-2)}
.sugerencia .btn:hover{background:var(--papel);border-color:var(--papel)}

/* Servicios */
.serv-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.serv{grid-column:span 2;background:var(--papel);border-radius:var(--r);padding:28px;border:1px solid var(--linea);display:flex;flex-direction:column;gap:12px;transition:transform .4s var(--ease),box-shadow .4s}
.serv:nth-child(4),.serv:nth-child(5){grid-column:span 3}
.serv:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(30,54,41,.5)}
.serv svg{width:56px;height:56px;fill:none;stroke:var(--bosque);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;padding:8px;border-radius:16px;background:var(--oliva-cl);box-sizing:content-box}
.serv h3{color:var(--bosque);margin-top:6px}
.serv p{color:var(--gris)}
.serv ul{display:grid;gap:8px;margin-top:6px}
.serv li{padding-left:22px;position:relative}
.serv li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;border-radius:3px;background:var(--oliva)}
.serv-dest{background:var(--bosque);color:var(--papel);border:0;justify-content:center}
.serv-dest h3{color:var(--papel)}.serv-dest p{color:#d4dccf;font-size:1.15rem}
.serv-dest svg{background:var(--oliva);stroke:var(--bosque-2)}
.serv-dest .link{color:var(--papel);margin-top:8px}

/* Recorrido */
.recorrido{background:var(--arena)}
.rec{display:grid;grid-template-columns:minmax(220px,3fr) minmax(0,8fr);gap:clamp(16px,3vw,32px);align-items:start}
.rec-tabs{display:grid;gap:8px}
.rec-tab{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:2px solid transparent;background:rgba(251,248,241,.6);font:700 1.1rem var(--txt);color:var(--tinta);cursor:pointer;text-align:left;transition:background .25s,border-color .25s}
.rec-tab svg{width:34px;height:34px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rec-tab .cnt{margin-left:auto;min-width:28px;height:28px;border-radius:14px;background:var(--oliva);color:var(--bosque-2);font-size:.85rem;display:grid;place-items:center;padding:0 8px;transform:scale(0);transition:transform .3s var(--ease)}
.rec-tab .cnt.si{transform:none}
.rec-tab:hover{background:var(--papel)}
.rec-tab[aria-selected=true]{background:var(--bosque);color:var(--papel)}
.rec-panel{background:var(--papel);border-radius:var(--r);padding:clamp(22px,3vw,40px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,3vw,40px);min-height:420px;align-items:start}
.rec-panel:focus-visible{outline:3px solid var(--oliva)}
.rec-ilus{background:var(--crema);border-radius:18px;aspect-ratio:1;display:grid;place-items:center;padding:20px;animation:aparece .5s var(--ease)}
.rec-ilus svg{width:100%;height:auto}
.rec-ilus.foto{padding:0;overflow:hidden;aspect-ratio:4/3}
.rec-ilus.foto img{width:100%;height:100%;object-fit:cover}
.rec-info h3{font-size:1.8rem;color:var(--bosque)}
.rec-info .riesgo{margin:10px 0 20px;color:var(--gris)}
.rec-info .riesgo b{color:var(--alerta)}
.rec-items{display:grid;gap:10px}
.rec-items .check{min-height:0;padding:14px 16px;background:var(--crema)}
.rec-items .check small{display:block;color:var(--gris);font-size:.92rem;margin-top:2px}
.milista{position:sticky;bottom:18px;margin:28px auto 0;width:max-content;max-width:100%;display:flex;gap:22px;align-items:center;background:var(--bosque);color:var(--papel);padding:12px 14px 12px 24px;border-radius:999px;box-shadow:0 18px 40px -16px rgba(19,36,26,.6);transform:translateY(20px);opacity:0;pointer-events:none;transition:.4s var(--ease);z-index:5}
.milista.si{transform:none;opacity:1;pointer-events:auto}
.milista b{font-family:var(--tit);font-size:1.3rem;color:var(--oliva-cl)}
.milista .link{color:var(--bosque-2);background:var(--oliva);padding:10px 18px;border-radius:999px;text-decoration:none}
.milista .link:hover{background:var(--papel)}
.milista.pulso{animation:pulso .5s var(--ease)}
@keyframes pulso{50%{transform:scale(1.05)}}

/* Precios */
.precios-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tabla-precios,.factores{background:var(--papel);border-radius:var(--r);padding:clamp(24px,3vw,38px);border:1px solid var(--linea)}
.tabla-precios{grid-column:1/-1}
table{width:100%;border-collapse:collapse}
caption{text-align:left;font:500 1.45rem var(--tit);color:var(--bosque);margin-bottom:12px}
th,td{text-align:left;padding:14px 4px;border-bottom:1px solid var(--linea)}
th{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gris)}
td:last-child,th:last-child{text-align:right;white-space:nowrap}
td:last-child{font:600 1.2rem var(--tit);color:var(--bosque)}
.nota{font-size:.92rem;color:var(--gris);margin-top:12px}
.factores h3{color:var(--bosque);margin-bottom:18px}
.factores ul{display:grid;gap:16px}
.factores li{padding-left:42px;position:relative;color:var(--gris)}
.factores li b{color:var(--tinta);display:block}
.factores li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;border:5px solid var(--oliva)}
.garantias{background:var(--oliva);color:var(--bosque-2);border-radius:var(--r);padding:clamp(24px,3vw,38px);display:grid;gap:18px;align-content:center}
.garantias li{display:flex;gap:16px;align-items:center;font:500 clamp(1.3rem,2vw,1.7rem)/1.2 var(--tit)}
.garantias span{flex:none;width:44px;height:44px;border-radius:50%;background:var(--bosque);color:var(--papel);display:grid;place-items:center;font:600 1.1rem var(--txt)}

/* Evaluación */
.evaluacion{background:var(--papel)}
.eval-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start}
.eval-foto{margin:0;position:sticky;top:96px}
.eval-foto img{width:100%;height:auto;border-radius:var(--r);box-shadow:0 30px 60px -34px rgba(30,54,41,.55)}
.eval-txt h3{color:var(--bosque);margin-bottom:16px}
.revisamos{display:grid;gap:4px}
.revisamos li{padding:14px 0 14px 44px;position:relative;border-bottom:1px solid var(--linea);color:var(--gris)}
.revisamos li b{display:block;color:var(--tinta);font-size:1.15rem}
.revisamos li::before{content:"";position:absolute;left:0;top:16px;width:28px;height:28px;border-radius:50%;background:var(--oliva) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-9' stroke='%2313241a' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat}
.obtienes{margin-top:clamp(40px,5vw,64px);background:var(--bosque);color:var(--papel);border-radius:var(--r);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:auto 1fr auto;gap:24px 40px;align-items:center}
.obtienes .eyebrow{color:var(--oliva-cl);font-size:.95rem}
.obtienes ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.obtienes li{display:flex;flex-direction:column;gap:10px;font-weight:700;line-height:1.3}
.obtienes svg{width:38px;height:38px;fill:none;stroke:var(--oliva-cl);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.obtienes .btn{background:var(--oliva);border-color:var(--oliva);color:var(--bosque-2)}
.obtienes .btn:hover{background:var(--papel);border-color:var(--papel)}

/* Planes */
.planes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.plan{background:var(--papel);border-radius:var(--r);overflow:hidden;border:1px solid var(--linea);display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 40px -26px rgba(30,54,41,.5)}
.plan img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.plan-in{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.plan-sub{font-weight:700;color:var(--oliva-osc);font-size:.95rem}
.plan h3{font-size:1.75rem;color:var(--bosque)}
.plan ul{display:grid;gap:8px;margin:6px 0 14px;flex:1;align-content:start}
.plan li{padding-left:30px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--oliva) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-9' stroke='%2313241a' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}
.plan-dest{background:var(--bosque);color:var(--papel);border:0}
.plan-dest h3{color:var(--papel)}.plan-dest .plan-sub{color:var(--oliva-cl)}.plan-dest .link{color:var(--papel)}

/* Trabajos */
.trabajos{background:var(--papel)}
.trab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.trab{margin:0;border-radius:var(--r);overflow:hidden;background:var(--crema)}
.trab img{width:100%;aspect-ratio:4/3;object-fit:cover}
.trab figcaption{padding:16px 18px}
.trab figcaption b{display:block;font:500 1.2rem var(--tit);color:var(--bosque)}

/* Proceso */
.proceso{background:var(--bosque);color:var(--papel)}
.proceso .sec-head h2{color:var(--papel)}
.proceso .eyebrow,.proceso .num{color:var(--oliva-cl)}
.proc-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center;margin-bottom:clamp(36px,5vw,64px)}
.proc-head .sec-head{margin:0}
.proc-head .sec-head p:not(.eyebrow){color:#cdd6c8}
.proc-foto{width:100%;height:auto;border-radius:var(--r)}
.por-que{margin-top:clamp(40px,5vw,64px)}
.por-que h3{font-size:1.6rem}
.por-que .ventajas{margin-top:18px}
.pasos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:p}
.pasos li{border-top:2px solid rgba(223,228,196,.35);padding-top:22px;position:relative}
.pasos li::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:0;background:var(--oliva);transition:width 1.2s var(--ease) .2s}
.pasos li:not(.oculto)::before{width:100%}
.pasos h3{margin:14px 0 10px;font-size:1.35rem}
.pasos p{color:#cdd6c8}
.ventajas{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(40px,5vw,64px)}
.ventajas li{display:flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border-radius:999px;background:rgba(223,228,196,.1);border:1px solid rgba(223,228,196,.25);font-weight:700}
.ventajas li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--oliva) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-9' stroke='%2313241a' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}

/* Contacto */
.consulta{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:start}
.cons-campos{display:grid;gap:26px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend,.lbl,.campo label{font-weight:700;color:var(--bosque);margin-bottom:10px;display:block;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border-radius:999px;border:2px solid var(--linea);background:var(--papel);cursor:pointer;transition:.2s;font-size:1.02rem}
.chip span:hover{border-color:var(--oliva)}
.chip input:checked+span{background:var(--bosque);border-color:var(--bosque);color:var(--papel)}
.chip input:focus-visible+span{outline:3px solid var(--oliva);outline-offset:2px}
.campos2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.campo input,.campo select,textarea{width:100%;font:400 1.05rem var(--txt);color:var(--tinta);background:var(--papel);border:2px solid var(--linea);border-radius:14px;padding:13px 15px;min-height:52px;transition:border-color .2s}
.campo input:focus,.campo select:focus,textarea:focus{outline:none;border-color:var(--bosque)}
.lista-cons{background:var(--papel);border-radius:18px;padding:20px;border:2px dashed var(--linea)}
#listaCons{display:grid;gap:8px}
#listaCons li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:12px;background:var(--oliva-cl)}
#listaCons li small{color:var(--gris)}
#listaCons button{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--papel);cursor:pointer;font-size:1.1rem;color:var(--bosque)}
#listaCons button:hover{background:var(--bosque);color:var(--papel)}
.lista-vacia{color:var(--gris)}
.lista-vacia[hidden]{display:none}
.cons-vista{position:sticky;top:96px;background:var(--papel);border-radius:var(--r);padding:clamp(20px,2.4vw,30px);border:1px solid var(--linea);display:grid;gap:14px}
textarea{resize:none;font-size:.98rem;line-height:1.5;background:var(--crema)}
.cons-acc{display:flex;gap:10px;flex-wrap:wrap}
.cons-acc .btn:first-child{flex:1}
.datos{margin:6px 0 0;display:grid;gap:10px;border-top:1px solid var(--linea);padding-top:16px}
.datos div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.datos dt{color:var(--gris)}
.datos dd{margin:0;font-weight:700}
.datos a{color:var(--bosque)}

/* Pie */
.pie{background:var(--bosque-2);color:var(--papel);padding:56px var(--g) 40px;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.pie-marca{display:flex;align-items:center;gap:18px}
.pie-marca svg{width:110px;background:var(--papel);border-radius:20px;padding:12px}
.pie-nombre{font:700 2rem/.95 var(--marca);letter-spacing:.02em}
.pie-nombre b{display:block}
.pie-lema{margin-top:10px;color:#cdd6c8}
.pie-lema em{color:var(--oliva-cl);font-style:normal}
.legal{color:#9fae9a;font-size:.92rem}

.wa-flot{position:fixed;right:18px;bottom:18px;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.4);z-index:40}

/* Aparición */
.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.oculto{opacity:0;transform:translateY(26px)}

/* Responsivo */
@media (max-width:1100px){
  .nav nav{gap:18px}
  .serv{grid-column:span 3}
  .serv:nth-child(5){grid-column:1/-1}
  .pasos{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
  .obtienes{grid-template-columns:1fr}
}
@media (max-width:980px){
  .btn-menu{display:block}
  .nav nav{position:fixed;inset:68px 12px auto 12px;flex-direction:column;gap:0;background:var(--papel);border-radius:18px;padding:8px;box-shadow:0 24px 50px -20px rgba(19,36,26,.5);transform:translateY(-10px);opacity:0;pointer-events:none;transition:.3s var(--ease)}
  .nav nav.abierto{transform:none;opacity:1;pointer-events:auto}
  .nav nav a{padding:14px 16px;font-size:1.1rem;border-radius:12px}
  .nav nav a::after{display:none}
  .nav nav a:hover{background:var(--crema)}
  .nav-acc .btn-sm{display:none}
  .hero{grid-template-columns:1fr;padding-top:100px;min-height:0}
  .senales-grid,.consulta,.rec{grid-template-columns:1fr}
  .sugerencia,.cons-vista{position:static}
  .sugerencia{min-height:0}.sug-vacia{min-height:0}
  .rec-tabs{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;margin-inline:calc(var(--g)*-1);padding-inline:var(--g)}
  .rec-tab{padding:10px 14px}
  .rec-panel{grid-template-columns:1fr}
  .rec-ilus{aspect-ratio:16/10;max-height:240px}
  .rec-ilus svg{height:100%;width:auto}
  .pasos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
  .precios-grid{grid-template-columns:1fr}
  .eval-grid,.proc-head{grid-template-columns:1fr}
  .eval-foto{position:static}
  .obtienes{grid-template-columns:1fr}
  .obtienes ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planes{grid-template-columns:1fr}
  .plan{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .plan img{height:100%;aspect-ratio:auto}
}
@media (max-width:640px){
  .logo span{font-size:.92rem}
  .logo svg{width:44px}
  .checks{grid-template-columns:1fr}
  .check{min-height:0}
  .serv,.serv:nth-child(4),.serv:nth-child(5){grid-column:1/-1}
  .campos2{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .plan{display:flex}
  .plan img{height:auto;aspect-ratio:16/10}
  .valores{justify-content:flex-start;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
  .valores li{font-size:1.05rem}
  .ad-tag{font-size:.7rem;top:10px;padding:4px 10px}
  .milista{gap:10px;padding:10px 10px 10px 18px;font-size:.95rem;white-space:nowrap;width:calc(100% - 64px);margin-left:0;justify-content:space-between}
  .milista .link{padding:10px 14px;flex:none}
  .milista>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .hero-cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
