/* ============================================================
   KÓRTEX v2 — Experiencia
   Cinematic bone/teal · scroll narrativo · iconografía propia
   ============================================================ */
:root{
  --bone:#F2EFE8;
  --bone-2:#EAE6DC;
  --paper:#FBF9F4;
  --ink:#0A1F2E;
  --ink-2:#33505E;
  --ink-dim:#6B7F89;
  --line:rgba(10,31,46,0.10);
  --line-2:rgba(10,31,46,0.20);
  --teal:#0F3D35;
  --teal-2:#1B5E52;
  --mint:#C7E6DD;
  --navy:#0A1F2E;
  --lime:#9CC96B;
  --white:#FFFFFF;
  --serif:"Instrument Serif","Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --r-lg:28px; --r-md:20px; --r-sm:14px;
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--bone); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
::selection{background:var(--teal); color:var(--bone)}
.container{max-width:1280px; margin:0 auto; padding:0 20px}

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:.24em; color:var(--ink-dim);
  text-transform:uppercase; display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:26px; height:1px; background:var(--teal); flex-shrink:0}
.eyebrow.on-dark{color:rgba(242,239,232,0.65)}
.eyebrow.on-dark::before{background:var(--mint)}
h1,h2,h3,h4{font-weight:500; letter-spacing:-0.025em; color:var(--navy); text-wrap:balance}
h1 em,h2 em,h3 em{font-style:normal; color:var(--teal)}
section{padding:110px 0}

.section-head{display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:end; margin-bottom:54px}
.section-head h2{font-size:clamp(38px,4.6vw,68px); line-height:1.02; margin-top:14px}
.section-head .lead{color:var(--ink-2); font-size:16px; line-height:1.65; max-width:44ch; justify-self:end; text-wrap:pretty}
@media (max-width:880px){
  .section-head{grid-template-columns:1fr; gap:18px}
  .section-head .lead{justify-self:start}
}

/* ---------- icons ---------- */
.ico{
  width:44px; height:44px; border-radius:13px; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ico svg{width:22px; height:22px}
.ico.on-dark{background:rgba(199,230,221,0.16); color:var(--mint)}
.ico.sm{width:36px; height:36px; border-radius:11px}
.ico.sm svg{width:18px; height:18px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:12px; padding:15px 24px;
  border-radius:999px; font-size:14px; font-weight:500; border:1px solid transparent;
  transition:transform .2s, background .2s, border-color .2s;
}
.btn .arr{
  width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center;
  justify-content:center; font-size:13px; transition:transform .2s; flex-shrink:0;
}
.btn:hover .arr{transform:translateX(3px)}
.btn.dark{background:var(--navy); color:var(--bone)}
.btn.dark .arr{background:var(--bone); color:var(--navy)}
.btn.dark:hover{background:var(--teal); transform:translateY(-1px)}
.btn.light{background:var(--bone); color:var(--navy)}
.btn.light .arr{background:var(--navy); color:var(--bone)}
.btn.light:hover{background:var(--white); transform:translateY(-1px)}
.btn.ghost{background:transparent; border-color:var(--line-2); color:var(--ink)}
.btn.ghost:hover{background:var(--white)}
.btn.ghost.on-dark{border-color:rgba(242,239,232,0.35); color:var(--bone)}
.btn.ghost.on-dark:hover{background:rgba(255,255,255,0.1)}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:90;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:min(1280px, calc(100% - 32px));
  padding:8px 8px 8px 20px;
  background:rgba(251,249,244,0.9); backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid var(--line); border-radius:999px;
  box-shadow:0 12px 40px -22px rgba(10,31,46,0.35);
}
.logo{
  display:inline-flex; align-items:center; font-family:var(--serif); font-size:23px;
  letter-spacing:-0.01em; line-height:1; color:var(--bone);
  background:var(--teal); padding:7px 16px 9px; border-radius:12px;
  transition:background .25s ease, transform .25s ease;
}
.logo:hover{background:var(--teal-2)}
.logo .word{display:inline-block}
.logo em{font-style:italic; color:var(--mint)}
.nav ul{display:flex; gap:2px; list-style:none; font-size:13px; color:var(--ink-2)}
.nav ul a{display:block; padding:9px 14px; border-radius:999px; transition:background .2s}
.nav ul a:hover{background:rgba(10,31,46,0.06); color:var(--navy)}
.nav .primary{
  padding:10px 8px 10px 18px; font-size:13px; font-weight:500;
  background:var(--navy); color:var(--bone); border-radius:999px;
  display:inline-flex; align-items:center; gap:10px; transition:background .2s;
}
.nav .primary:hover{background:var(--teal)}
.nav .primary .arr{
  width:24px; height:24px; border-radius:50%; background:var(--bone); color:var(--navy);
  display:inline-flex; align-items:center; justify-content:center; font-size:12px;
}
@media (max-width:980px){ .nav ul{display:none} }

/* ---------- hero cinematic ---------- */
.xhero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  justify-content:flex-end; overflow:hidden; color:var(--bone);
}
.xhero .bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.xhero .veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,31,46,0.62) 0%, rgba(10,31,46,0.30) 42%, rgba(10,31,46,0.92) 100%);
}
.xhero .content{position:relative; z-index:2; padding-top:140px; width:100%}
.xhero .badges{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px}
.badge{
  display:inline-flex; align-items:center; gap:8px; padding:8px 15px;
  background:rgba(242,239,232,0.1); border:1px solid rgba(242,239,232,0.22);
  backdrop-filter:blur(6px); border-radius:999px; font-size:12.5px; color:rgba(242,239,232,0.92);
}
.badge .dot{width:7px; height:7px; border-radius:50%; background:var(--lime); flex-shrink:0}
.badge.live .dot{background:#FF7A66; animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.xhero h1{
  font-size:clamp(46px,6.4vw,104px); line-height:0.99; letter-spacing:-0.035em;
  color:var(--bone); max-width:13ch;
}
.xhero h1 em{color:var(--mint)}
.xhero h1 .under{background:linear-gradient(transparent 70%, color-mix(in oklab, var(--lime) 45%, transparent) 70%)}
.xhero .sub{
  margin-top:28px; font-size:clamp(15px,1.4vw,17.5px); line-height:1.65;
  color:rgba(242,239,232,0.82); max-width:54ch; text-wrap:pretty;
}
.xhero .sub b{color:var(--bone); font-weight:600}
.xhero .ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:34px}
.ecg{display:block; margin-top:30px; width:230px; height:30px; color:var(--mint)}

/* ---------- journey ---------- */
.journey{padding-top:60px}
.j-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(32px,5vw,80px); align-items:start}
.j-visual{
  position:sticky; top:104px; height:min(calc(100svh - 140px), 680px);
  border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:var(--navy);
}
.j-visual img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .7s ease, transform .9s ease; transform:scale(1.04);
}
.j-visual img.on{opacity:1; transform:scale(1)}
.j-visual .tag{
  position:absolute; left:18px; bottom:18px; z-index:3;
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(251,249,244,0.94); border-radius:999px; padding:8px 16px 8px 10px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal);
}
.j-visual .tag::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--teal)}
.j-visual .veil{position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, transparent 60%, rgba(10,31,46,0.45))}
.j-steps{display:flex; flex-direction:column}
.j-step{
  display:grid; grid-template-columns:44px 1fr; gap:20px; align-items:start;
  padding:38px 0; border-bottom:1px solid var(--line);
  opacity:.32; transition:opacity .45s ease;
}
.j-step:first-child{padding-top:8px}
.j-step.on{opacity:1}
.j-step .n{
  font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--teal); margin-bottom:10px; display:block;
}
.j-step h3{font-size:clamp(22px,2.2vw,30px); line-height:1.1; margin-bottom:10px}
.j-step p{font-size:14.5px; line-height:1.65; color:var(--ink-2); max-width:52ch; text-wrap:pretty}
.j-step .agentchip{
  display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  font-size:12px; color:var(--teal); font-weight:500;
  padding:7px 14px; border:1px solid rgba(15,61,53,0.25); border-radius:999px; background:var(--paper);
}
.j-step .agentchip::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--lime)}
@media (max-width:920px){
  .j-grid{grid-template-columns:1fr}
  .j-visual{position:relative; top:0; height:320px}
  .j-step{opacity:1}
}

/* ---------- agents: stacked cards ---------- */
.agents{background:var(--navy); border-radius:var(--r-lg) var(--r-lg) 0 0; color:var(--bone)}
.agents .section-head h2{color:var(--bone)}
.agents .section-head h2 em{color:var(--mint)}
.agents .section-head .lead{color:rgba(242,239,232,0.7)}
.agents .eyebrow{color:rgba(242,239,232,0.6)}
.agents .eyebrow::before{background:var(--mint)}
.stack{display:flex; flex-direction:column; gap:22px}
.scard{
  position:sticky; top:calc(96px + var(--i) * 16px);
  background:var(--paper); color:var(--ink);
  border-radius:var(--r-md); overflow:hidden;
  display:grid; grid-template-columns:0.92fr 1.08fr; min-height:400px;
  box-shadow:0 -20px 60px -30px rgba(0,0,0,0.55);
}
.scard .ph{position:relative; min-height:260px}
.scard .ph::after{content:""; position:absolute; inset:0; background:linear-gradient(120deg, transparent 65%, rgba(10,31,46,0.18))}
.scard .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.scard .ph .idx{
  position:absolute; top:16px; left:16px; font-family:var(--mono); font-size:10px;
  letter-spacing:.2em; color:var(--navy); background:rgba(251,249,244,0.94);
  padding:7px 13px; border-radius:999px;
}
.scard .tx{padding:clamp(28px,3.4vw,52px); display:flex; flex-direction:column; gap:16px}
.scard .toprow{display:flex; align-items:center; gap:14px}
.scard .toprow .role{font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim)}
.scard h3{font-size:clamp(26px,2.6vw,38px); line-height:1.08}
.scard p{font-size:15px; line-height:1.65; color:var(--ink-2); max-width:52ch; text-wrap:pretty}
.scard ul{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:2px}
.scard li{
  font-size:12.5px; color:var(--ink-2); padding:7px 13px;
  border:1px solid var(--line); border-radius:999px; background:var(--bone);
}
.scard .kpi{
  margin-top:auto; padding-top:18px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:12px; color:var(--ink-dim);
}
.scard .kpi b{font-family:var(--serif); font-style:italic; font-size:22px; color:var(--teal); font-weight:400}
.scard.dark{background:var(--teal); color:var(--bone)}
.scard.dark h3{color:var(--bone)}
.scard.dark h3 em{color:var(--mint)}
.scard.dark p{color:rgba(242,239,232,0.8)}
.scard.dark li{background:rgba(255,255,255,0.07); border-color:rgba(255,255,255,0.16); color:rgba(242,239,232,0.85)}
.scard.dark .kpi{border-top-color:rgba(255,255,255,0.16); color:rgba(242,239,232,0.6)}
.scard.dark .kpi b{color:var(--mint)}
.scard.dark .toprow .role{color:rgba(242,239,232,0.55)}
@media (max-width:880px){
  .scard{grid-template-columns:1fr; position:relative; top:0}
  .stack{gap:16px}
}

/* ---------- verticals ---------- */
.verticals{background:var(--navy); color:var(--bone); padding-top:30px; border-radius:0 0 var(--r-lg) var(--r-lg)}
.vert-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.vert{
  border-radius:var(--r-md); border:1px solid rgba(242,239,232,0.14);
  background:rgba(255,255,255,0.04); padding:30px; display:flex; flex-direction:column; gap:16px;
  transition:background .3s, transform .3s;
}
.vert:hover{background:rgba(255,255,255,0.07); transform:translateY(-3px)}
.vert h3{color:var(--bone); font-size:22px}
.vert .vn{font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--mint)}
.vert ul{list-style:none; display:flex; flex-direction:column; gap:10px; margin-top:2px}
.vert li{font-size:13.5px; color:rgba(242,239,232,0.75); line-height:1.5; display:flex; gap:10px}
.vert li::before{content:"→"; color:var(--lime); flex-shrink:0; font-size:12px; margin-top:1px}
@media (max-width:920px){ .vert-grid{grid-template-columns:1fr} }

/* ---------- method ---------- */
.method .steps{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--line); display:flex; flex-direction:column; gap:1px;
}
.step{
  background:var(--bone); padding:36px 0;
  display:grid; grid-template-columns:120px 1.1fr 1.3fr 170px; gap:28px; align-items:start;
  transition:background .3s;
}
.step:hover{background:var(--paper)}
.step .num{font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--teal); display:flex; align-items:center; gap:12px; padding-top:8px}
.step .num .o{width:10px; height:10px; border-radius:50%; border:2px solid var(--teal); flex-shrink:0}
.step h3{font-size:clamp(22px,2.2vw,34px); line-height:1.08}
.step .what{color:var(--ink-2); font-size:14.5px; line-height:1.65; text-wrap:pretty}
.step .tick{text-align:right; font-size:12px; color:var(--ink-dim)}
.step .tick b{display:block; font-family:var(--serif); font-style:italic; font-size:26px; color:var(--navy); font-weight:400}
@media (max-width:900px){
  .step{grid-template-columns:1fr; gap:12px}
  .step .tick{text-align:left}
}

/* ---------- security ---------- */
.security .wrap{
  background:var(--teal); color:var(--bone); border-radius:var(--r-lg);
  padding:clamp(36px,5vw,72px); position:relative; overflow:hidden;
}
.security .wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 85% 0%, rgba(199,230,221,0.14), transparent 50%);
}
.sec-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(28px,4vw,72px); position:relative; z-index:2}
.security h2{color:var(--bone); font-size:clamp(34px,4vw,58px); line-height:1.05; margin-top:14px}
.security h2 em{color:var(--mint)}
.security .intro{color:rgba(242,239,232,0.78); font-size:15.5px; line-height:1.7; margin-top:18px; max-width:42ch; text-wrap:pretty}
.sec-items{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-content:start}
.sec-item{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
  border-radius:var(--r-sm); padding:24px;
}
.sec-item .ico{margin-bottom:16px}
.sec-item h4{color:var(--bone); font-size:15.5px; margin-bottom:7px}
.sec-item p{color:rgba(242,239,232,0.7); font-size:13px; line-height:1.55; text-wrap:pretty}
@media (max-width:980px){
  .sec-grid{grid-template-columns:1fr}
  .sec-items{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){ .sec-items{grid-template-columns:1fr} }

/* ---------- faq ---------- */
.faq .container{max-width:860px}
.faq-head{text-align:center; margin-bottom:44px}
.faq-head h2{font-size:clamp(36px,4.4vw,60px); line-height:1.05; margin-top:14px}
.qa{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:22px 26px; cursor:pointer; margin-bottom:10px; transition:background .25s, border-color .25s;
}
.qa .q{display:flex; align-items:center; gap:18px}
.qa .q .n{font-family:var(--mono); font-size:11px; color:var(--teal); letter-spacing:.12em; flex-shrink:0}
.qa .q h3{font-size:16.5px; font-weight:500; line-height:1.35; flex:1}
.qa .q .plus{
  width:28px; height:28px; border-radius:50%; background:var(--bone); color:var(--navy); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:14px;
  transition:transform .3s, background .25s, color .25s;
}
.qa .a{max-height:0; overflow:hidden; transition:max-height .4s ease, margin .3s}
.qa .a p{font-size:14.5px; line-height:1.65; color:var(--ink-2); text-wrap:pretty}
.qa.open{background:var(--teal); border-color:var(--teal)}
.qa.open .q h3{color:var(--bone)}
.qa.open .q .n{color:var(--mint)}
.qa.open .q .plus{transform:rotate(45deg); background:var(--mint); color:var(--teal)}
.qa.open .a{max-height:220px; margin-top:14px}
.qa.open .a p{color:rgba(242,239,232,0.85)}

/* ---------- cta ---------- */
.cta-final{padding-bottom:40px; padding-top:0}
.cta-wrap{
  position:relative; border-radius:var(--r-lg); padding:clamp(50px,7vw,96px) clamp(24px,5vw,60px);
  background:var(--navy); color:var(--bone); overflow:hidden; text-align:center;
}
.cta-wrap .bgimg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.18}
.cta-wrap::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 130%, color-mix(in oklab, var(--lime) 20%, transparent), transparent 55%);
}
.cta-wrap .inner{position:relative; z-index:2; display:flex; flex-direction:column; align-items:center}
.cta-wrap h2{font-size:clamp(44px,6.4vw,100px); color:var(--bone); line-height:1; letter-spacing:-0.035em; margin-top:22px}
.cta-wrap h2 em{color:var(--mint)}
.cta-wrap p{color:rgba(242,239,232,0.74); font-size:16.5px; margin-top:20px; max-width:52ch; line-height:1.65; text-wrap:pretty}
.cta-wrap .btns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:36px}
.cta-pill{
  display:inline-flex; align-items:center; gap:10px; padding:7px 16px 7px 8px;
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16); border-radius:999px;
  font-size:12.5px; color:rgba(242,239,232,0.85);
}
.cta-pill .tag{background:var(--mint); color:var(--teal); padding:4px 10px; border-radius:999px; font-size:11px; font-weight:600}

/* ---------- footer ---------- */
footer{padding:64px 0 32px; color:var(--ink-2); font-size:13.5px}
footer .top{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:44px; border-bottom:1px solid var(--line);
}
footer .brand-block .biglogo{display:inline-block; font-family:var(--serif); font-size:34px; color:var(--bone); background:var(--teal); padding:9px 20px 11px; border-radius:14px; letter-spacing:-0.02em; line-height:1}
footer .brand-block .biglogo em{font-style:italic; color:var(--mint)}
footer .brand-block p{margin-top:14px; max-width:36ch; line-height:1.6; text-wrap:pretty}
footer h5{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-dim); margin-bottom:16px; font-weight:500;
}
footer ul{list-style:none; display:flex; flex-direction:column; gap:10px}
footer ul a:hover{color:var(--navy)}
footer .bottom{
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding-top:24px; font-size:12px; color:var(--ink-dim);
}
@media (max-width:880px){ footer .top{grid-template-columns:1fr 1fr} }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease}
  .reveal.in{opacity:1; transform:none}

  @keyframes riseIn{from{opacity:0; transform:translateY(26px)} to{opacity:1; transform:none}}
  .rise{animation:riseIn .9s cubic-bezier(.22,.7,.3,1) both}

  @keyframes slowZoom{from{transform:scale(1.1)} to{transform:scale(1)}}
  .xhero .bg{animation:slowZoom 14s ease-out both}

  .ecg path{stroke-dasharray:300; stroke-dashoffset:300; animation:ecgdraw 2.4s ease forwards .6s}
  @keyframes ecgdraw{to{stroke-dashoffset:0}}
}

/* ---------- tweaks: motion off ---------- */
.no-motion *,
.no-motion *::before,
.no-motion *::after{animation:none !important; transition:none !important}
.no-motion .reveal{opacity:1 !important; transform:none !important}
.no-motion .rise{opacity:1 !important; transform:none !important}

/* ============================================================
   KÓRTEX v3 — accesibilidad, estándares, animación premium
   ============================================================ */

/* ---- skip link ---- */
.skip-link{
  position:fixed; top:-120px; left:16px; z-index:200;
  background:var(--navy); color:var(--bone); padding:12px 18px; border-radius:12px;
  font-size:14px; font-weight:500; box-shadow:0 12px 40px -18px rgba(10,31,46,.6);
  transition:top .22s ease;
}
.skip-link:focus{top:14px}

/* ---- focus-visible (a11y) ---- */
:focus-visible{outline:3px solid var(--teal-2); outline-offset:3px; border-radius:8px}
.nav .primary:focus-visible,
.agents :focus-visible, .verticals :focus-visible,
.security :focus-visible, .cta-wrap :focus-visible,
.xhero :focus-visible{outline-color:var(--mint)}

/* ---- FAQ accordion as accessible button ---- */
.qa .q{
  width:100%; padding:0; text-align:left; background:none; border:0;
  font:inherit; color:inherit; cursor:pointer;
}
.qa .q h3{margin:0}

/* ---- magnetic CTAs ---- */
.magnetic{transition:transform .3s cubic-bezier(.22,.7,.3,1), background .2s, border-color .2s, color .2s}
@media (hover:hover) and (pointer:fine){
  .magnetic:hover{will-change:transform}
}

/* ---- agent card image: gentle zoom on hover ---- */
.scard .ph img{transition:transform .7s cubic-bezier(.22,.7,.3,1)}
@media (hover:hover){
  .scard:hover .ph img{transform:scale(1.045)}
}

/* ---- security icons: duotone-style chip + micro lift ---- */
.ico.duo{
  background:rgba(199,230,221,0.14);
  box-shadow:inset 0 0 0 1px rgba(199,230,221,0.22);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.sec-item:hover .ico.duo{
  background:rgba(199,230,221,0.26);
  box-shadow:inset 0 0 0 1px rgba(199,230,221,0.45);
  transform:translateY(-2px);
}
.sec-item{transition:background .3s ease, border-color .3s ease}
.sec-item:hover{background:rgba(255,255,255,0.09); border-color:rgba(255,255,255,0.22)}

/* ---- nav: condensed state on scroll ---- */
.nav{transition:box-shadow .3s ease, background .3s ease, padding .3s ease}
.nav.scrolled{
  background:rgba(251,249,244,0.96);
  box-shadow:0 16px 50px -26px rgba(10,31,46,0.5);
}

/* ---- vertical cards: staggered reveal ---- */
.vert-grid .vert.reveal{transition-delay:0s}
@media (prefers-reduced-motion: no-preference){
  .vert-grid .vert:nth-child(2){transition-delay:.09s}
  .vert-grid .vert:nth-child(3){transition-delay:.18s}
}

/* ---- reduced motion: neutralize new transforms ---- */
@media (prefers-reduced-motion: reduce){
  .magnetic{transform:none !important}
  .scard:hover .ph img{transform:none}
}

/* ============================================================
   KÓRTEX v4 — pilares (flip cards), iconos 3D, héroe limpio
   ============================================================ */

/* hero breathing room now that the stats strip is gone */
.xhero{justify-content:center}
.xhero .content{padding-top:0; padding-bottom:clamp(40px,8vh,96px)}

/* ---------- pillars (flip cards) ---------- */
.pillars{padding:100px 0 92px}
.pillars-title{
  font-size:clamp(28px,3.4vw,50px); line-height:1.12; letter-spacing:-0.025em;
  color:var(--navy); max-width:24ch; text-wrap:balance; margin-bottom:46px;
}
.pillars-title em{font-style:normal; color:var(--teal)}
.pill-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
@media (max-width:880px){ .pill-grid{grid-template-columns:1fr} }

.flip{
  appearance:none; border:0; background:none; padding:0; cursor:pointer; width:100%;
  perspective:1400px; text-align:left; font:inherit; color:inherit;
}
.flip-inner{
  position:relative; display:block; width:100%; min-height:316px;
  transition:transform .6s cubic-bezier(.22,.7,.3,1); transform-style:preserve-3d;
}
@media (hover:hover){ .flip:hover .flip-inner{transform:rotateY(180deg)} }
.flip.is-flipped .flip-inner{transform:rotateY(180deg)}
.flip-face{
  position:absolute; inset:0; -webkit-backface-visibility:hidden; backface-visibility:hidden;
  display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  border-radius:var(--r-md); padding:30px; border:1px solid var(--line);
  background:var(--paper); overflow:hidden;
}
.flip-back{
  transform:rotateY(180deg); background:var(--teal); border-color:var(--teal);
  color:var(--bone); justify-content:center;
}
.flip-h{font-family:var(--serif); font-size:clamp(22px,2.2vw,29px); line-height:1.1; color:var(--navy); letter-spacing:-0.02em}
.flip-back .flip-h{color:var(--bone)}
.flip-sub{font-size:13.5px; color:var(--ink-dim); margin-top:-4px}
.flip-back p{font-size:14.5px; line-height:1.62; color:rgba(242,239,232,0.88); text-wrap:pretty}
.flip-hint{
  margin-top:auto; font-family:var(--mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--teal); display:inline-flex; align-items:center; gap:7px;
}
.flip:focus-visible{outline:3px solid var(--teal-2); outline-offset:3px; border-radius:var(--r-md)}
@media (hover:hover){ .flip:hover .flip-face{box-shadow:0 24px 60px -34px rgba(10,31,46,.5)} }

/* pillar icon tile (3D-ready; line icon shows until the PNG lands) */
.pill-ico{
  width:64px; height:64px; border-radius:16px; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}
.pill-ico svg{width:32px; height:32px}
.pill-ico img.ico3d{width:100%; height:100%; object-fit:contain}

/* ---------- 3D icon slots (for agentes / verticales / seguridad when PNGs arrive) ---------- */
.ico3d{display:block}
.ico3d-slot img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 6px 14px rgba(10,31,46,.18))}

/* reduced motion: el flip sigue funcionando (hover y clic), pero instantáneo */
@media (prefers-reduced-motion: reduce){
  .flip-inner{transition:none}
}

/* pillars-title word reveal (reuses #statement reveal JS) */
@media (prefers-reduced-motion: no-preference){
  .pillars-title .w{display:inline-block; opacity:.14; transition:opacity .5s ease; transition-delay:calc(var(--i) * 30ms)}
  .pillars-title.in .w{opacity:1}
}
.no-motion .pillars-title .w{opacity:1 !important}

/* ============================================================
   KÓRTEX v5 — iconos 3D integrados + espaciado nav/hero
   ============================================================ */

/* fix: la nav fija ya no se superpone con el contenido */
html{scroll-padding-top:96px}
.xhero{padding-top:88px}

/* contenedor genérico de icono 3D */
.i3{display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; line-height:0}
.i3 img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 6px 13px rgba(10,31,46,.16))}

/* pilares: icono grande flotante (sin tile de color) */
.pill-ico{background:none !important; width:86px; height:86px; border-radius:0}
.pill-ico img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 9px 18px rgba(10,31,46,.16))}

/* recorrido del paciente */
.j-step .i3{width:42px; height:42px}

/* agentes (tarjetas claras) */
.scard .toprow .i3{width:52px; height:52px}

/* superficies oscuras: placa suave para contraste (agente oscuro, verticales, seguridad) */
.scard.dark .toprow .i3, .vert .i3, .sec-item .i3{
  background:rgba(242,239,232,0.10); border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(199,230,221,0.22);
}
.scard.dark .toprow .i3{width:54px; height:54px}
.vert .i3{width:60px; height:60px}
.sec-item .i3{width:60px; height:60px; margin-bottom:14px; transition:background .3s ease, transform .3s ease}
.scard.dark .toprow .i3 img, .vert .i3 img, .sec-item .i3 img{width:74%; height:74%; filter:none}
.sec-item:hover .i3{background:rgba(242,239,232,0.17); transform:translateY(-2px)}

/* ============================================================
   KÓRTEX v6 — responsive (móvil + tablet)
   ============================================================ */

/* ---- hamburguesa (oculta en escritorio) ---- */
.nav-toggle{display:none}
.nav-toggle span{display:block; width:18px; height:2px; background:var(--bone); border-radius:2px; transition:transform .3s ease, opacity .2s ease}
.nav-toggle span + span{margin-top:4px}

/* ---- menú overlay a pantalla completa ---- */
.mobile-menu{
  position:fixed; inset:0; z-index:120; background:var(--bone);
  display:flex; flex-direction:column; padding:18px 22px calc(28px + env(safe-area-inset-bottom,0px));
  opacity:0; transform:translateY(-8px); transition:opacity .3s ease, transform .3s ease;
}
.mobile-menu.is-open{opacity:1; transform:none}
.mobile-menu::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 100% 0%, rgba(15,61,53,.10), transparent 55%)}
.mm-top{display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2}
.mm-close{width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; position:relative}
.mm-close span{position:absolute; width:20px; height:2px; background:var(--navy); border-radius:2px}
.mm-close span:first-child{transform:rotate(45deg)}
.mm-close span:last-child{transform:rotate(-45deg)}
.mm-links{display:flex; flex-direction:column; margin-top:auto; margin-bottom:22px; position:relative; z-index:2}
.mm-links a{
  display:flex; align-items:baseline; gap:14px; padding:14px 0;
  font-family:var(--serif); font-size:clamp(30px,8vw,44px); color:var(--navy); line-height:1;
  border-bottom:1px solid var(--line);
}
.mm-links a:active{color:var(--teal)}
.mm-n{font-family:var(--mono); font-size:12px; color:var(--teal); letter-spacing:.1em}
.mm-cta{width:100%; justify-content:center; position:relative; z-index:2}
body.menu-open{overflow:hidden}
@media (prefers-reduced-motion: reduce){ .mobile-menu{transition:none; transform:none} }

/* ---- barra CTA fija inferior (móvil) ---- */
.mobile-cta{
  display:none; position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:80;
  justify-content:center; align-items:center; gap:10px;
  padding:15px 22px; border-radius:999px; font-size:15px; font-weight:600;
  background:var(--navy); color:var(--bone); box-shadow:0 14px 40px -12px rgba(10,31,46,.6);
  transition:transform .35s cubic-bezier(.22,.7,.3,1), opacity .3s ease;
}
.mobile-cta .arr{width:24px; height:24px; border-radius:50%; background:var(--bone); color:var(--navy); display:inline-flex; align-items:center; justify-content:center; font-size:12px}
.mobile-cta.hide{transform:translateY(150%); opacity:0; pointer-events:none}

/* ---- flip cards: pista táctil + FAQ sin recortes ---- */
.flip-hint .ht{display:none}
@media (hover:none){ .flip-hint .hh{display:none} .flip-hint .ht{display:inline} }
.qa.open .a{max-height:600px}

/* ============ ≤1024 tablet horizontal ============ */
@media (max-width:1024px){
  section{padding:88px 0}
  .section-head{margin-bottom:40px}
}

/* ============ ≤980 nav → hamburguesa ============ */
@media (max-width:980px){
  .nav ul, .nav .primary{display:none}
  .nav{padding:8px}
  .nav-toggle{
    display:inline-flex; flex-direction:column; justify-content:center; align-items:center;
    width:46px; height:46px; border-radius:13px; background:var(--teal); flex-shrink:0;
  }
}

/* ============ ≤768 tablet vertical ============ */
@media (max-width:768px){
  section{padding:64px 0}
  .journey{padding-top:44px}
  .section-head{margin-bottom:28px}
  .mobile-cta{display:inline-flex}
  footer{padding-bottom:104px}

  /* recorrido: ocultar visual sticky → lista limpia */
  .j-visual{display:none}
  .j-grid{display:block}
  .j-step{padding:26px 0}

  /* agentes: imagen arriba contenida */
  .scard .ph{min-height:208px}
  .scard .tx{padding:26px}

  /* método */
  .step{padding:26px 0}
}

/* ============ ≤520 móvil ============ */
@media (max-width:520px){
  section{padding:52px 0}
  .container{padding:0 16px}
  .xhero h1{font-size:clamp(38px,9vw,56px)}
  .xhero .sub{font-size:16px}
  .xhero .ctas{flex-direction:column; align-items:stretch}
  .xhero .ctas .btn{width:100%; justify-content:center}
  .cta-wrap .btns{flex-direction:column; align-items:stretch}
  .cta-wrap .btns .btn{width:100%; justify-content:center}
  .pillars{padding:60px 0 52px}
  .vert{padding:24px}
  .qa{padding:18px}
  .qa.open .a p{padding-left:0}
  .faq-head{margin-bottom:26px}
  footer .top{grid-template-columns:1fr; gap:28px}
  footer .brand-block p{max-width:none}
}

/* ============================================================
   KÓRTEX v7 — multipágina: nav activa, cabecera de subpágina,
   bloques de la home (Problema · Solución · Resultado)
   ============================================================ */

/* ---- nav: enlace de la página activa ---- */
.nav ul a.is-active{background:rgba(10,31,46,0.07); color:var(--navy)}
.mm-links a[aria-current="page"]{color:var(--teal)}

/* ---- cabecera de subpágina (producto / confianza) ---- */
.page-hero{padding:150px 0 8px}
.page-hero h1{
  font-size:clamp(40px,5.4vw,80px); line-height:1.0; letter-spacing:-0.03em;
  color:var(--navy); max-width:20ch; text-wrap:balance; margin-top:18px;
}
.page-hero .ph-lead{
  margin-top:20px; color:var(--ink-2); font-size:clamp(16px,1.4vw,18px);
  line-height:1.62; max-width:56ch; text-wrap:pretty;
}
@media (max-width:768px){ .page-hero{padding-top:120px} }

/* ---- home: bloques Problema · Solución · Resultado ---- */
.hblock{padding:84px 0}
.hb-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px);
  align-items:center;
}
.hb-text .eyebrow{margin-bottom:18px}
.hb-text h2{font-size:clamp(30px,3.8vw,54px); line-height:1.05; margin-bottom:18px; letter-spacing:-0.025em}
.hb-text p{color:var(--ink-2); font-size:clamp(15.5px,1.4vw,17.5px); line-height:1.65; max-width:52ch; text-wrap:pretty}
.hb-text .btn{margin-top:26px}
.hb-visual img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-md); border:1px solid var(--line)}

/* B1 problema (claro), imagen a la derecha */
.hblock-problem{background:var(--paper)}

/* B2 solución (panel oscuro redondeado, estética .agents) */
.hblock-solution .container{
  background:var(--navy); color:var(--bone); border-radius:var(--r-lg);
  padding:clamp(36px,5vw,72px);
}
.hblock-solution h2{color:var(--bone)}
.hblock-solution p{color:rgba(242,239,232,0.82)}
.hblock-solution .eyebrow{color:rgba(242,239,232,0.65)}
.hblock-solution .eyebrow::before{background:var(--mint)}
.hblock-solution .hb-visual{display:flex; justify-content:center}
.hblock-solution .hb-ico{
  width:clamp(180px,26vw,300px); height:auto; aspect-ratio:1; object-fit:contain;
  border:0; border-radius:0; filter:drop-shadow(0 18px 36px rgba(0,0,0,.4));
}

/* B3 resultado (bone), KPI grande en serif; texto a la derecha */
.hblock-result .hb-grid{grid-template-columns:.95fr 1.05fr}
.kpi-big{display:flex; flex-direction:column; align-items:flex-start; gap:8px}
.kpi-big b{
  font-family:var(--serif); font-style:normal; font-weight:400;
  font-size:clamp(96px,17vw,210px); line-height:.82; color:var(--teal); letter-spacing:-0.02em;
}
.kpi-big span{font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim)}

@media (max-width:880px){
  .hb-grid, .hblock-result .hb-grid{grid-template-columns:1fr; gap:28px}
}

/* ============================================================
   KÓRTEX v8 — landing limpia: verticales + bloque "Qué ganas"
   ============================================================ */

/* verticales: "tu" en verde claro (contraste sobre navy) */
.verticals h2 em{color:var(--mint)}

/* verticales: icono grande, sin placa de fondo */
.vert .i3{width:96px; height:96px; background:none; box-shadow:none; border-radius:0}
.vert .i3 img{width:100%; height:100%; filter:drop-shadow(0 12px 22px rgba(0,0,0,.28))}

/* agentes: CTA al detalle */
.agents-cta{display:flex; justify-content:center; margin-top:36px}
/* tarjeta de agente (home): enlace a su ficha */
.scard-link{
  font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--teal); display:inline-flex; align-items:center; gap:9px; margin-top:6px;
}
.scard-link .arr{transition:transform .2s}
.scard-link:hover .arr{transform:translateX(3px)}
.scard.dark .scard-link{color:var(--mint)}

/* subpágina agentes: bloque demo */
.demo .demo-wrap{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(32px,5vw,56px); display:flex; align-items:center; justify-content:space-between;
  gap:32px; flex-wrap:wrap;
}
.demo .demo-wrap h2{font-size:clamp(28px,3.4vw,46px); line-height:1.05; margin:12px 0 10px}
.demo .demo-wrap p{color:var(--ink-2); font-size:15.5px; line-height:1.6; max-width:46ch; text-wrap:pretty}
.demo .demo-wrap .btn{flex-shrink:0}

/* ============================================================
   KÓRTEX v9 — ficha de agente (subpágina por agente)
   ============================================================ */

/* lista de capacidades con check */
.a-caps{list-style:none; display:flex; flex-direction:column; gap:15px; margin-top:6px}
.a-caps li{position:relative; padding-left:36px; font-size:16px; line-height:1.5; color:var(--ink-2); text-wrap:pretty}
.a-caps li::before{
  content:"✓"; position:absolute; left:0; top:0; width:23px; height:23px; border-radius:50%;
  background:var(--mint); color:var(--teal); display:inline-flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700;
}

/* ejemplo real (mini línea de tiempo) */
.a-example .ex-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:ex}
.ex-step{
  position:relative; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-md); padding:30px 28px;
}
.ex-step::before{
  counter-increment:ex; content:counter(ex); position:absolute; top:24px; right:26px;
  font-family:var(--serif); font-size:34px; line-height:1; color:var(--line-2);
}
.ex-time{font-family:var(--mono); font-size:13px; letter-spacing:.14em; color:var(--teal); display:block; margin-bottom:14px}
.ex-step p{font-size:15px; line-height:1.55; color:var(--ink-2); max-width:30ch; text-wrap:pretty}
@media (max-width:880px){ .a-example .ex-grid{grid-template-columns:1fr} }

/* ============================================================
   KÓRTEX v10 — ficha de agente v2: icono grande + "pantalla"
   ============================================================ */

/* hero con icono grande */
.agent-hero{padding:138px 0 24px}
.agent-hero .ah-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:center}
.agent-hero h1{font-size:clamp(42px,5.6vw,82px); line-height:1.0; letter-spacing:-0.03em; color:var(--navy); margin:14px 0 0}
.agent-hero .ah-lead{margin-top:20px; color:var(--ink-2); font-size:clamp(16px,1.5vw,19px); line-height:1.55; max-width:42ch; text-wrap:pretty}
.agent-hero .ah-ico{position:relative; display:flex; justify-content:center; align-items:center}
.agent-hero .ah-ico::before{content:""; position:absolute; width:72%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, color-mix(in oklab, var(--mint) 60%, transparent), transparent 68%); filter:blur(6px)}
.agent-hero .ah-ico img{position:relative; width:clamp(220px,32vw,360px); height:auto; filter:drop-shadow(0 30px 52px rgba(10,31,46,.28))}
@media (max-width:880px){
  .agent-hero{padding-top:116px}
  .agent-hero .ah-grid{grid-template-columns:1fr; gap:14px}
  .agent-hero .ah-ico{order:-1; justify-content:flex-start}
  .agent-hero .ah-ico img{width:clamp(170px,44vw,230px)}
}

/* sección "en acción": puntos + pantalla */
.in-action .ia-grid{display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(32px,5vw,68px); align-items:center}
.ia-points{list-style:none; display:flex; flex-direction:column; gap:18px}
.ia-points li{display:flex; align-items:center; gap:14px; font-size:17px; line-height:1.35; color:var(--ink)}
.ia-points .pico{width:30px; height:30px; border-radius:9px; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; font-size:13px; font-weight:700}
.in-action .screen{justify-self:end; width:100%; max-width:540px}
@media (max-width:880px){
  .in-action .ia-grid{grid-template-columns:1fr; gap:34px}
  .in-action .screen{justify-self:stretch; max-width:none}
}

/* "pantalla" (mockup) */
.screen{background:var(--paper); border:1px solid var(--line); border-radius:20px;
  box-shadow:0 44px 90px -44px rgba(10,31,46,.5); overflow:hidden}
.screen-bar{display:flex; align-items:center; gap:7px; padding:14px 18px; border-bottom:1px solid var(--line); background:var(--bone)}
.screen-bar i{width:11px; height:11px; border-radius:50%; background:var(--line-2); display:block}
.screen-bar .live{margin-left:auto; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal); display:inline-flex; align-items:center; gap:8px}
.screen-bar .live::after{content:""; width:7px; height:7px; border-radius:50%; background:var(--lime); animation:blink 1.6s ease-in-out infinite}
.screen-body{padding:24px; display:flex; flex-direction:column; gap:13px; min-height:316px}
.screen-title{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:2px}

/* chat */
.bubble{max-width:84%; padding:12px 16px; border-radius:16px; font-size:14.5px; line-height:1.42}
.bubble.in{align-self:flex-start; background:var(--bone-2); color:var(--ink); border-bottom-left-radius:5px}
.bubble.out{align-self:flex-end; background:var(--teal); color:var(--bone); border-bottom-right-radius:5px}
.b-meta{font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; opacity:.55; display:block; margin-top:5px}
.s-chip{align-self:center; display:inline-flex; align-items:center; gap:8px; padding:9px 17px; border-radius:999px;
  background:color-mix(in oklab, var(--lime) 22%, transparent); color:var(--teal); font-size:13px; font-weight:600; margin-top:4px}
.s-chip::before{content:"✓"; font-weight:700}

/* checklist */
.checks{display:flex; flex-direction:column; gap:14px}
.check{display:flex; align-items:center; gap:13px; font-size:15px; color:var(--ink)}
.check .tk{width:24px; height:24px; border-radius:50%; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0}
.check .tk::before{content:"✓"}
.check .muted{margin-left:auto; font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:var(--ink-dim)}

/* progreso (sesiones) */
.prog-top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px}
.prog-top b{font-family:var(--serif); font-size:30px; color:var(--teal); font-weight:400}
.prog-top span{font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--ink-dim)}
.bar{height:12px; border-radius:999px; background:var(--bone-2); overflow:hidden}
.bar > span{display:block; height:100%; background:linear-gradient(90deg,var(--teal),var(--teal-2)); border-radius:999px}

/* timeline */
.tl{display:flex; flex-direction:column}
.tl-item{display:flex; gap:14px; padding-bottom:18px; position:relative}
.tl-item:last-child{padding-bottom:0}
.tl-item:not(:last-child)::before{content:""; position:absolute; left:11px; top:26px; bottom:0; width:2px; background:var(--line)}
.tl-dot{width:24px; height:24px; border-radius:50%; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; font-size:11px; font-weight:700; z-index:1}
.tl-item.done .tl-dot{background:var(--teal); color:var(--bone)}
.tl-item p{font-size:14.5px; line-height:1.4; color:var(--ink)}
.tl-item .when{font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:var(--ink-dim); display:block; margin-top:3px}

/* reseñas */
.rev-top{display:flex; align-items:center; gap:14px; margin-bottom:4px}
.rev-top b{font-family:var(--serif); font-size:40px; color:var(--teal); font-weight:400; line-height:1}
.stars{font-size:22px; letter-spacing:3px; color:var(--lime); line-height:1}
.rev{background:var(--bone); border:1px solid var(--line); border-radius:12px; padding:13px 15px}
.rev .stars{font-size:13px; letter-spacing:2px; margin-bottom:6px}
.rev p{font-size:13.5px; line-height:1.4; color:var(--ink-2)}
.rev .who{font-family:var(--mono); font-size:10px; color:var(--ink-dim); margin-top:8px; letter-spacing:.05em}

/* variante de pantalla oscura */
.screen.dark{background:var(--navy); border-color:rgba(255,255,255,.12)}
.screen.dark .screen-bar{background:rgba(255,255,255,.05); border-bottom-color:rgba(255,255,255,.12)}
.screen.dark .screen-body, .screen.dark .check, .screen.dark .tl-item p, .screen.dark .prog-top b{color:var(--bone)}
.screen.dark .bar{background:rgba(255,255,255,.1)}

@media (prefers-reduced-motion: reduce){ .screen-bar .live::after{animation:none} }

/* ============================================================
   KÓRTEX v11 — formulario de contacto (en el CTA final)
   ============================================================ */
.cta-form{display:flex; flex-direction:column; gap:12px; max-width:460px; margin:34px auto 0; text-align:left}
.cta-form input, .cta-form textarea{
  width:100%; padding:14px 16px; border-radius:12px; font:inherit; font-size:15px;
  border:1px solid rgba(242,239,232,.28); background:rgba(242,239,232,.08); color:var(--bone);
}
.cta-form input::placeholder, .cta-form textarea::placeholder{color:rgba(242,239,232,.55)}
.cta-form input:focus, .cta-form textarea:focus{outline:none; border-color:var(--mint); background:rgba(242,239,232,.13)}
.cta-form textarea{resize:vertical; min-height:96px}
.cta-form .btn{margin-top:6px; justify-content:center; width:100%}
.cta-form .hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}

/* ============================================================
   KÓRTEX v12 — FIX: el menú móvil oculto tapaba toda la página
   (display:flex anulaba el atributo [hidden] y bloqueaba clics)
   ============================================================ */
.mobile-menu[hidden]{display:none !important}

/* ============================================================
   KÓRTEX v13 — página de gracias (tras enviar el formulario)
   ============================================================ */
.gracias{min-height:86vh; display:flex; align-items:center; text-align:center; padding:130px 0 80px}
.gracias .container{max-width:680px}
.g-ico{width:84px; height:84px; border-radius:50%; background:var(--mint); color:var(--teal);
  display:inline-flex; align-items:center; justify-content:center; margin-bottom:28px}
.g-ico svg{width:40px; height:40px}
.gracias .eyebrow{justify-content:center; margin-bottom:18px}
.gracias h1{font-size:clamp(40px,5.4vw,72px); line-height:1.02; letter-spacing:-0.03em; color:var(--navy); margin:0 auto; max-width:18ch}
.g-lead{margin:22px auto 0; color:var(--ink-2); font-size:clamp(16px,1.5vw,19px); line-height:1.6; max-width:52ch; text-wrap:pretty}
.g-btns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:34px}
