/* QKStudio — Landings sueltas (Google Partner Premier · Nearshore ES/EN). Solo se carga en esas páginas; todas las clases llevan el prefijo .ln- */

.ln-main{ padding-top:0; overflow-x:clip; }

/* ---------- Hero ---------- */
.ln-hero{ position:relative; isolation:isolate; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(120px,16vh,180px) 0 0; overflow:hidden; }
.ln-hero__bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.ln-orb{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.5; will-change:transform; transform:translate3d(0,calc(var(--py,0) * 1px),0); }
.ln-orb--a{ width:min(60vw,760px); aspect-ratio:1; right:-12vw; top:-10vh; background:radial-gradient(circle at 40% 40%, rgba(145,143,167,.9), rgba(145,143,167,0) 68%); animation:lnFloat 16s ease-in-out infinite alternate; }
.ln-orb--b{ width:min(46vw,560px); aspect-ratio:1; left:-14vw; bottom:6vh; background:radial-gradient(circle at 50% 50%, rgba(241,241,241,.5), rgba(241,241,241,0) 68%); opacity:.22; animation:lnFloat 20s ease-in-out -6s infinite alternate-reverse; }
.ln-grid{ position:absolute; inset:0; background-image:linear-gradient(var(--light-08) 1px, transparent 1px), linear-gradient(90deg, var(--light-08) 1px, transparent 1px); background-size:72px 72px; -webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%, #000 0, transparent 75%); mask-image:radial-gradient(ellipse 70% 60% at 70% 30%, #000 0, transparent 75%); opacity:.55; }
@keyframes lnFloat{ from{ margin-top:0; margin-left:0; } to{ margin-top:34px; margin-left:-26px; } }

.ln-hero__in{ padding-bottom:clamp(40px,7vw,90px); }
.ln-crumbs ol{ list-style:none; margin:0 0 clamp(22px,3vw,34px); padding:0; display:flex; flex-wrap:wrap; gap:8px; font-size:.82rem; color:var(--gray-light); }
.ln-crumbs li + li::before{ content:"/"; margin-right:8px; opacity:.5; }
.ln-crumbs a{ color:var(--gray-light); border-bottom:1px solid transparent; transition:border-color .3s ease, color .3s ease; }
.ln-crumbs a:hover{ color:var(--white); border-color:var(--light-30); }
.ln-hero__row{ display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(24px,5vw,80px); }
.ln-hero__txt{ min-width:0; }
.ln-badge{ display:inline-flex; align-items:center; gap:12px; margin:0; padding:9px 18px 9px 14px; border:1px solid var(--light-15); border-radius:999px; background:rgba(241,241,241,.04); font-size:.8rem; letter-spacing:.05em; color:var(--gray-light); }
.ln-badge__dot{ width:8px; height:8px; border-radius:50%; background:var(--white); box-shadow:0 0 0 0 rgba(241,241,241,.6); animation:lnPulse 2.2s ease-out infinite; }
@keyframes lnPulse{ 0%{ box-shadow:0 0 0 0 rgba(241,241,241,.55); } 80%,100%{ box-shadow:0 0 0 12px rgba(241,241,241,0); } }
.ln-h1{ font-size:clamp(2.3rem,4.9vw,4.7rem); line-height:1.05; letter-spacing:-.03em; margin:clamp(20px,2.4vw,30px) 0 0; max-width:15em; }
.ln-h1 .qk-hand{ display:inline-block; font-size:.92em; }
.ln-lead{ color:var(--gray-light); font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.6; max-width:41em; margin:clamp(18px,2.2vw,28px) 0 0; }
.ln-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(22px,3vw,36px); }
.ln-seal{ flex:none; width:clamp(120px,15vw,200px); }
.ln-seal a{ display:block; }
.ln-seal img{ width:100%; height:auto; display:block; filter:drop-shadow(0 18px 40px rgba(0,0,0,.45)); transition:transform .6s var(--ease); }
.ln-seal a:hover img{ transform:translateY(-4px) rotate(-2deg); }
.ln-proof{ list-style:none; margin:clamp(30px,4.4vw,56px) 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 28px; color:var(--gray-light); font-size:.9rem; }
.ln-proof li{ position:relative; padding-left:18px; }
.ln-proof li::before{ content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; border:1px solid var(--gray-light); }

.ln-ticker{ border-top:1px solid var(--light-15); border-bottom:1px solid var(--light-15); overflow:hidden; background:rgba(38,30,37,.4); }
.ln-ticker__track{ display:flex; width:max-content; animation:lnTick 46s linear infinite; }
.ln-ticker__list{ list-style:none; margin:0; padding:0; display:flex; flex:none; }
.ln-ticker__list li{ font-family:var(--font-display); font-size:clamp(1rem,1.5vw,1.3rem); padding:18px 0; white-space:nowrap; color:var(--gray-light); }
.ln-ticker__list li::after{ content:"/"; margin:0 clamp(18px,2.4vw,34px); opacity:.45; }
@keyframes lnTick{ to{ transform:translateX(-50%); } }

/* ---------- Cabeceras de sección ---------- */
.ln-head{ display:flex; flex-direction:column; gap:16px; margin-bottom:clamp(32px,5vw,64px); }
.ln-head h2{ font-size:clamp(1.9rem,4vw,3.1rem); line-height:1.08; letter-spacing:-.02em; max-width:15em; margin:0; }
.ln-head__lead{ color:var(--gray-light); font-size:clamp(1rem,1.25vw,1.12rem); line-height:1.65; max-width:40em; margin:0; }
.ln-note{ color:var(--gray-light); font-size:.86rem; line-height:1.6; max-width:52em; margin:clamp(22px,3vw,36px) 0 0; }

/* ---------- Tesis (frase que se llena con el scroll) ---------- */
.ln-thesis{ padding:clamp(80px,13vw,190px) 0; background:var(--gray-dark); position:relative; z-index:1; }
.ln-thesis__big{ font-family:var(--font-display); font-weight:600; font-size:clamp(1.8rem,4.5vw,4rem); line-height:1.13; letter-spacing:-.022em; max-width:20em; margin:0; }
html.js .ln-w{ opacity:.16; transition:opacity .45s ease; }
html.js .ln-w.is-on{ opacity:1; }
.ln-thesis__small{ color:var(--gray-light); font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.7; max-width:34em; margin:clamp(30px,4vw,56px) 0 0 auto; }

/* ---------- Cifras ---------- */
.ln-stats__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--light-15); }
.ln-stat{ display:flex; flex-direction:column; gap:14px; padding:clamp(24px,3vw,40px) clamp(16px,2.2vw,32px) clamp(24px,3vw,40px) 0; border-bottom:1px solid var(--light-08); }
.ln-stat + .ln-stat{ padding-left:clamp(16px,2.2vw,32px); border-left:1px solid var(--light-08); }
.ln-stat__v{ font-family:var(--font-display); font-weight:600; font-size:clamp(2rem,3.9vw,3.5rem); line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.ln-stat__l{ color:var(--gray-light); line-height:1.55; font-size:.95rem; }

/* ---------- Lista con línea que avanza ---------- */
.ln-pillars__grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,7vw,120px); align-items:start; }
.ln-pillars__head{ position:sticky; top:clamp(96px,14vh,140px); }
.ln-pillars__head .ln-head{ margin-bottom:0; }
.ln-pillars__list{ --p:0; list-style:none; margin:0; padding:0 0 0 clamp(24px,3.4vw,52px); position:relative; }
.ln-pillars__list::before, .ln-pillars__list::after{ content:""; position:absolute; left:0; top:0; width:1px; height:100%; background:var(--light-15); }
.ln-pillars__list::after{ background:var(--white); transform-origin:top; transform:scaleY(var(--p)); }
.ln-pillar{ padding:clamp(26px,3.4vw,46px) 0; border-bottom:1px solid var(--light-08); }
.ln-pillar:last-child{ border-bottom:0; }
.ln-pillar__n{ font-family:var(--font-display); font-size:.9rem; letter-spacing:.14em; color:var(--gray-light); }
.ln-pillar h3{ font-size:clamp(1.5rem,2.8vw,2.4rem); letter-spacing:-.02em; line-height:1.08; margin:10px 0 14px; }
.ln-pillar p{ color:var(--gray-light); font-size:clamp(1rem,1.2vw,1.1rem); line-height:1.65; max-width:32em; margin:0; }
html.js .ln-pillar{ opacity:.28; transition:opacity .6s var(--ease); }
html.js .ln-pillar.is-on{ opacity:1; }

/* ---------- Tarjetas ---------- */
.ln-cards__grid{ list-style:none; margin:0; padding:0; display:grid; gap:clamp(14px,1.8vw,24px); grid-template-columns:repeat(3,minmax(0,1fr)); }
.ln-cards__grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ln-cards__grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.ln-card{ display:flex; flex-direction:column; gap:14px; padding:clamp(22px,2.4vw,34px); border:1px solid var(--light-15); border-radius:24px; background:rgba(241,241,241,.04); transition:border-color .4s ease, transform .5s var(--ease), background-color .4s ease; }
.ln-card:hover{ border-color:var(--light-30); background:rgba(241,241,241,.07); transform:translateY(-4px); }
.ln-card__n{ font-family:var(--font-display); font-size:.85rem; letter-spacing:.14em; color:var(--gray-light); }
.ln-card h3{ font-size:clamp(1.15rem,1.7vw,1.45rem); line-height:1.15; margin:0; }
.ln-card p{ color:var(--gray-light); line-height:1.6; font-size:.96rem; margin:0; }
.ln-card__cta{ align-self:flex-start; margin-top:auto; padding-top:6px; display:inline-flex; align-items:center; gap:.5em; }

/* ---------- Pasos ---------- */
.ln-steps__list{ --p:0; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,3vw,44px); position:relative; }
.ln-steps__list::before, .ln-steps__list::after{ content:""; position:absolute; left:0; right:0; top:22px; height:1px; background:var(--light-15); }
.ln-steps__list::after{ background:var(--white); transform-origin:left; transform:scaleX(var(--p)); }
.ln-step{ position:relative; padding-top:68px; }
.ln-step__n{ position:absolute; left:0; top:0; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-family:var(--font-display); font-weight:600; background:var(--gray-dark); border:1px solid var(--light-30); transition:background-color .4s ease, color .4s ease, border-color .4s ease; z-index:1; }
.ln-step.is-on .ln-step__n{ background:var(--white); color:var(--gray-dark); border-color:var(--white); }
.ln-step h3{ font-size:clamp(1.1rem,1.7vw,1.4rem); margin:0 0 10px; line-height:1.15; }
.ln-step p{ color:var(--gray-light); line-height:1.6; margin:0; font-size:.98rem; }

/* ---------- Husos horarios ---------- */
.ln-clocks{ list-style:none; margin:0 0 clamp(26px,3.4vw,44px); padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.6vw,20px); }
.ln-clock{ display:flex; flex-direction:column; gap:6px; padding:clamp(18px,2vw,28px); border:1px solid var(--light-15); border-radius:20px; background:rgba(241,241,241,.04); }
.ln-clock__t{ font-family:var(--font-display); font-weight:600; font-size:clamp(1.8rem,3.4vw,3rem); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ln-clock__c{ color:var(--gray-light); font-size:.9rem; }
.ln-tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-top:1px solid var(--light-15); }
.ln-tbl{ width:100%; border-collapse:collapse; min-width:560px; }
.ln-tbl th, .ln-tbl td{ text-align:left; padding:18px 18px 18px 0; border-bottom:1px solid var(--light-08); font-size:.98rem; line-height:1.5; vertical-align:top; }
.ln-tbl thead th{ font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gray-light); font-weight:600; }
.ln-tbl tbody th{ font-weight:600; font-family:var(--font-display); }
.ln-tbl td{ color:var(--gray-light); }
.ln-tbl td:last-child{ color:var(--white); font-weight:600; }

/* ---------- Bloque destacado ---------- */
.ln-callout__box{ padding:clamp(28px,4.4vw,64px); border-radius:32px; background:linear-gradient(135deg, rgba(145,143,167,.28), rgba(145,143,167,.06)); border:1px solid var(--light-30); }
.ln-callout__box h2{ font-size:clamp(1.7rem,3.4vw,2.8rem); line-height:1.08; letter-spacing:-.02em; margin:14px 0 18px; max-width:16em; }
.ln-callout__box p{ color:var(--gray-light); line-height:1.7; font-size:clamp(1rem,1.25vw,1.12rem); max-width:44em; margin:0; }
.ln-callout__box .ln-actions{ margin-top:clamp(24px,3vw,36px); }

/* ---------- Fuentes ---------- */
.ln-sources{ padding-top:0; }
.ln-sources__in{ border-top:1px solid var(--light-15); padding-top:clamp(28px,4vw,48px); max-width:60em; }
.ln-sources__t{ font-size:clamp(1.2rem,2vw,1.6rem); margin:0 0 10px; }
.ln-sources__in p{ color:var(--gray-light); font-size:.92rem; line-height:1.6; margin:0 0 14px; }
.ln-sources__in ul{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:10px; }
.ln-sources__in li a{ font-size:.94rem; color:var(--white); border-bottom:1px solid var(--light-30); padding-bottom:1px; transition:border-color .3s ease, opacity .3s ease; overflow-wrap:anywhere; }
.ln-sources__in li a:hover{ border-color:var(--white); opacity:.85; }
.ln-sources__in .ln-disclaimer{ font-size:.82rem; opacity:.85; margin:0; }

/* ---------- FAQ + cierre ---------- */
.ln-faq .section-head{ max-width:900px; margin-left:auto; margin-right:auto; }
.ln-cta .btn + .btn{ margin-left:12px; }

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .ln-pillars__grid{ grid-template-columns:minmax(0,1fr); }
  .ln-pillars__head{ position:static; }
  .ln-steps__list{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); row-gap:44px; }
  .ln-steps__list::before, .ln-steps__list::after{ display:none; }
  .ln-stats__list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ln-stat:nth-child(odd){ padding-left:0; border-left:0; }
  .ln-cards__grid, .ln-cards__grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ln-clocks{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ln-hero__row{ flex-direction:column-reverse; align-items:flex-start; }
  .ln-seal{ width:112px; }
}
@media (max-width:640px){
  .ln-steps__list{ grid-template-columns:minmax(0,1fr); }
  .ln-stats__list{ grid-template-columns:minmax(0,1fr); }
  .ln-stat + .ln-stat{ padding-left:0; border-left:0; }
  .ln-cards__grid, .ln-cards__grid--4, .ln-cards__grid--2{ grid-template-columns:minmax(0,1fr); }
  .ln-actions .btn{ flex:1 1 100%; justify-content:center; }
  .ln-cta .btn + .btn{ margin:12px 0 0; }
  .ln-hero{ padding-top:110px; }
  /* tabla: cada fila pasa a ser una tarjeta */
  .ln-tablewrap{ overflow:visible; border-top:0; }
  .ln-tbl{ min-width:0; }
  .ln-tbl thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .ln-tbl, .ln-tbl tbody, .ln-tbl tr, .ln-tbl th, .ln-tbl td{ display:block; width:100%; }
  .ln-tbl tr{ border:1px solid var(--light-15); border-radius:18px; padding:8px 18px; margin-bottom:12px; background:rgba(241,241,241,.04); }
  .ln-tbl th, .ln-tbl td{ border:0; padding:8px 0; }
  .ln-tbl td::before{ content:attr(data-label); display:block; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gray-light); margin-bottom:2px; }
}
@media (prefers-reduced-motion:reduce){
  .ln-orb, .ln-badge__dot, .ln-ticker__track{ animation:none; }
  html.js .ln-w, html.js .ln-pillar{ opacity:1; transition:none; }
  .ln-card, .ln-seal img{ transition:none; }
}

/* ---------- Acento lavanda (si está encendido en Configuración → Estilo) ---------- */
body.qk-accent .ln-pillars__list::after{ background:var(--ax); }
body.qk-accent .ln-step.is-on .ln-step__n{ background:var(--ax); border-color:var(--ax); color:var(--ax-ink); }
body.qk-accent .ln-steps__list::after{ background:var(--ax); }
body.qk-accent .ln-stat__v, body.qk-accent .ln-clock__t{ color:var(--ax); }
body.qk-accent .ln-badge__dot{ background:var(--ax); }
body.qk-accent .ln-card:hover{ border-color:var(--ax); }
body.qk-accent .ln-proof li::before{ border-color:var(--ax); }
