/* ============================================================
   ANKORA — sistema visual
   Tokens · base · componentes · responsive
   ============================================================ */

:root{
  /* Tinta y superficies */
  --ink:#06171D;
  --ink-2:#0C2A33;
  --ink-3:#2A4A52;
  --canvas:#F3F7F6;
  --canvas-2:#E8F0EE;
  --surface:#FFFFFF;
  --line:#DFE8E6;
  --line-strong:#C6D6D3;
  --muted:#557069;

  /* Marca */
  --brand:#0B7A6B;
  --brand-2:#13B39B;
  --brand-soft:#E4F4F0;
  --brand-ink:#053C35;

  /* Acción */
  --action:#FF6A3D;
  --action-2:#E8542A;
  --action-soft:#FFEDE6;

  /* Semántica */
  --ok:#0E8A5F;
  --warn:#B4740A;

  /* Forma */
  --r-sm:10px;
  --r:14px;
  --r-lg:20px;
  --r-xl:28px;
  --maxw:1220px;

  --sh-1:0 1px 2px rgba(6,23,29,.05), 0 2px 6px rgba(6,23,29,.04);
  --sh-2:0 2px 6px rgba(6,23,29,.06), 0 12px 28px -12px rgba(6,23,29,.18);
  --sh-3:0 6px 18px rgba(6,23,29,.08), 0 32px 64px -24px rgba(6,23,29,.30);
  --sh-brand:0 10px 30px -10px rgba(11,122,107,.45);
  --sh-action:0 10px 26px -10px rgba(255,106,61,.55);

  --display:"Bricolage Grotesque","Plus Jakarta Sans",-apple-system,Segoe UI,Roboto,sans-serif;
  --sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --t-xs:.78rem;
  --t-sm:.875rem;
  --t-0:clamp(1rem,.97rem + .14vw,1.06rem);
  --t-1:clamp(1.12rem,1.06rem + .28vw,1.28rem);
  --t-2:clamp(1.4rem,1.26rem + .66vw,1.9rem);
  --t-3:clamp(1.8rem,1.5rem + 1.4vw,2.85rem);
  --t-4:clamp(2.35rem,1.8rem + 2.7vw,4.15rem);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--sans);font-size:var(--t-0);line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.06;letter-spacing:-.028em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--t-4);letter-spacing:-.038em}
h2{font-size:var(--t-3)}
h3{font-size:var(--t-1);letter-spacing:-.015em}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
strong,b{font-weight:700}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2.5px solid var(--action);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:22px}
.section{padding-block:clamp(54px,6.5vw,104px)}
.section--tight{padding-block:clamp(38px,4.5vw,68px)}
.lede{font-size:var(--t-1);line-height:1.5;color:var(--muted);max-width:60ch}
.center{text-align:center}
.center .lede{margin-inline:auto}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;
  font-size:var(--t-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand);background:var(--brand-soft);padding:6px 12px;border-radius:99px;
}
.eyebrow svg{width:13px;height:13px;flex-shrink:0}
.dark .eyebrow{color:#7FE6D2;background:rgba(19,179,155,.14)}

/* ── Header ─────────────────────────────────────────────── */
.hdr{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--canvas) 84%,transparent);
  backdrop-filter:saturate(1.7) blur(16px);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s;
}
.hdr.is-stuck{border-bottom-color:var(--line);box-shadow:0 1px 24px rgba(6,23,29,.05)}
.hdr__in{display:flex;align-items:center;gap:26px;height:72px}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:1.32rem;font-weight:700;letter-spacing:-.03em;color:var(--ink);flex-shrink:0}
.logo__mark{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;color:#fff;
  background:linear-gradient(140deg,var(--brand-2),var(--brand));box-shadow:var(--sh-brand);
}
.logo__mark svg{width:18px;height:18px}
.logo>svg{width:20px;height:20px}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:9px 13px;border-radius:9px;font-size:.92rem;font-weight:600;color:var(--muted);transition:color .16s,background .16s}
.nav a:hover{color:var(--ink);background:var(--canvas-2)}
.nav a[aria-current="page"]{color:var(--brand);background:var(--brand-soft)}
.hdr__act{display:flex;align-items:center;gap:8px}
.lang{display:flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;font-size:.76rem;font-weight:700}
.lang a{padding:7px 10px;color:var(--muted);transition:.15s}
.lang a.on{background:var(--ink);color:#fff}
.lang a:not(.on):hover{background:var(--canvas-2);color:var(--ink)}
.burger{display:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:17px;height:2px;background:var(--ink);border-radius:2px;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;height:2px;background:var(--ink);border-radius:2px}
.burger span::before{top:-5px}.burger span::after{top:5px}

/* ── Botones ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 24px;border-radius:12px;border:1.5px solid transparent;
  font-size:.95rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;
  transition:transform .15s cubic-bezier(.2,.9,.3,1.2),box-shadow .22s,background .2s,border-color .2s,color .2s;
  white-space:nowrap;
}
.btn svg{width:17px;height:17px;flex-shrink:0}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--action{background:var(--action);color:#fff;box-shadow:var(--sh-action)}
.btn--action:hover{background:var(--action-2)}
.btn--brand{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}
.btn--brand:hover{background:var(--brand-ink)}
.btn--ink{background:var(--ink);color:#fff;box-shadow:var(--sh-2)}
.btn--ink:hover{background:var(--ink-2)}
.btn--ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn--light{background:#fff;color:var(--ink)}
.btn--quiet{background:transparent;color:var(--muted);padding-inline:6px}
.btn--quiet:hover{color:var(--brand)}
.btn--sm{padding:9px 15px;font-size:.85rem;border-radius:10px}
.btn--lg{padding:17px 30px;font-size:1.02rem;border-radius:14px}
.btn--block{width:100%}

/* ── Hero ───────────────────────────────────────────────── */
.hero{position:relative;overflow:clip;padding-block:clamp(40px,5vw,74px) clamp(48px,6vw,86px)}
.hero::before{
  content:"";position:absolute;inset:-30% -10% auto -10%;height:120%;pointer-events:none;
  background:
    radial-gradient(42% 44% at 78% 8%,rgba(19,179,155,.20),transparent 70%),
    radial-gradient(38% 46% at 8% 0%,rgba(255,106,61,.13),transparent 68%),
    radial-gradient(60% 40% at 50% 100%,rgba(11,122,107,.07),transparent 70%);
}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(28px,4vw,60px);align-items:center}
.hero h1{max-width:15ch;margin-bottom:.34em}
.hero h1 em{font-style:normal;color:var(--brand);position:relative;white-space:nowrap}
.hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;border-radius:99px;
  background:linear-gradient(90deg,var(--brand-2),rgba(19,179,155,.25));opacity:.45;
}
.hero .lede{max-width:48ch;font-size:clamp(1.05rem,.98rem + .42vw,1.24rem);color:var(--ink-3)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip-t{
  display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:99px;
  background:var(--surface);border:1px solid var(--line);font-size:.83rem;font-weight:600;color:var(--ink-3);
  box-shadow:var(--sh-1);
}
.chip-t svg{width:14px;height:14px;color:var(--brand)}

/* ── Calculadora ────────────────────────────────────────── */
.calc{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--sh-3);overflow:hidden;position:relative;
}
.calc::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-2),var(--brand) 55%,var(--action))}
.calc__hd{padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.calc__hd h3{margin:0 0 4px;font-size:1.1rem}
.calc__hd p{margin:0;font-size:var(--t-sm);color:var(--muted)}
.calc__body{padding:20px 24px}
.fieldrow{display:grid;gap:7px;margin-bottom:16px}
.fieldrow>label{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seg{display:grid;grid-auto-flow:column;gap:5px;background:var(--canvas-2);padding:4px;border-radius:12px}
.seg button{
  border:0;background:transparent;border-radius:9px;padding:9px 6px;cursor:pointer;
  font-size:.86rem;font-weight:700;color:var(--muted);transition:.18s;
}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--brand);box-shadow:var(--sh-1)}
select.input,input.input,textarea.input{
  width:100%;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:12px;background:var(--surface);
  font-size:.95rem;font-weight:600;transition:border-color .18s,box-shadow .18s;
}
select.input:focus,input.input:focus,textarea.input:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);
}
textarea.input{min-height:130px;resize:vertical;font-weight:400}
.calc__lines{margin-top:4px;border-top:1px dashed var(--line-strong);padding-top:14px}
.cline{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:6px 0;color:var(--muted)}
.cline b{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.cline small{display:block;font-size:.76rem;color:var(--muted);font-weight:500}
.cline--total{
  margin-top:10px;padding-top:14px;border-top:2px solid var(--ink);
  font-size:1.05rem;color:var(--ink);font-weight:700;align-items:baseline;
}
.cline--total b{font-family:var(--display);font-size:1.9rem;letter-spacing:-.03em;line-height:1}
.calc__ft{padding:0 24px 22px}
.calc__note{margin-top:12px;font-size:.76rem;color:var(--muted);display:flex;gap:7px;align-items:flex-start}
.calc__note svg{width:13px;height:13px;color:var(--brand);flex-shrink:0;margin-top:3px}

/* ── Barra de confianza ─────────────────────────────────── */
.trustbar{border-block:1px solid var(--line);background:var(--surface)}
.trustbar__in{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.tb{background:var(--surface);padding:22px 20px;display:flex;gap:13px;align-items:flex-start}
.tb__ico{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.tb__ico svg{width:17px;height:17px}
.tb h4{margin:0 0 3px;font-family:var(--sans);font-size:.92rem;font-weight:700;letter-spacing:0}
.tb p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}

/* ── Línea de tiempo ────────────────────────────────────── */
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;margin-top:44px}
.tl::before{content:"";position:absolute;left:24px;right:24px;top:21px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand-2) 60%,var(--line-strong))}
.tl__i{position:relative;padding-top:0}
.tl__dot{
  width:44px;height:44px;border-radius:50%;background:var(--surface);border:2px solid var(--brand);
  color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:.78rem;
  position:relative;z-index:1;box-shadow:0 0 0 6px var(--canvas);
}
.tl__i:last-child .tl__dot{border-color:var(--line-strong);color:var(--muted)}
.tl__when{margin-top:16px;font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.tl__i:last-child .tl__when{color:var(--muted)}
.tl__i h3{margin:6px 0 6px;font-size:1.02rem}
.tl__i p{margin:0;font-size:.9rem;color:var(--muted)}

/* ── Qué recibes: pila de documentos ────────────────────── */
.deliver{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:center}
.docs{display:grid;gap:11px}
.doc{
  display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:15px 17px;box-shadow:var(--sh-1);
  transition:transform .3s cubic-bezier(.2,.9,.3,1.2),box-shadow .3s;
}
.doc:hover{transform:translateX(5px);box-shadow:var(--sh-2)}
.doc__ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:var(--brand-soft);color:var(--brand)}
.doc__ico svg{width:18px;height:18px}
.tl__dot svg{width:16px;height:16px}
.plan__plus svg,.plan li svg{flex-shrink:0}
.doc b{display:block;font-size:.94rem;font-weight:700}
.doc span{display:block;font-size:.82rem;color:var(--muted)}
.doc__tag{margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:var(--brand-soft);padding:4px 9px;border-radius:99px;flex-shrink:0}

/* ── Tarjetas de servicio ───────────────────────────────── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.1),box-shadow .28s,border-color .28s;
}
.card--link:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--brand)}
.card__ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;
  background:linear-gradient(140deg,var(--brand-2),var(--brand));color:#fff;box-shadow:var(--sh-brand);
}
.card__ico svg{width:21px;height:21px}
.card h3{margin-bottom:.4em}
.card p{color:var(--muted);font-size:.94rem;flex:1;margin:0}
.card__cta{margin-top:20px;font-size:.9rem;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:7px}
.card__cta svg{width:15px;height:15px;transition:transform .22s}
.card--link:hover .card__cta svg{transform:translateX(5px)}

/* ── Banda oscura ───────────────────────────────────────── */
.dark{background:var(--ink);color:#B7CCC9}
.dark h1,.dark h2,.dark h3,.dark h4{color:#fff}
.dark .lede{color:#8FADA9}
.grad{background:linear-gradient(150deg,var(--ink) 0%,#08343A 48%,var(--brand-ink) 100%);color:#C3DBD6;position:relative;overflow:clip}
.grad::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:110%;background:radial-gradient(50% 60% at 50% 100%,rgba(19,179,155,.28),transparent 70%);pointer-events:none}
.grad h2,.grad h3{color:#fff}
.grad .lede{color:#9EC2BC}

.why{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:var(--r-lg);overflow:hidden}
.why__i{background:var(--ink);padding:30px 28px}
.why__i h3{font-size:1.1rem;margin-bottom:.45em;display:flex;align-items:center;gap:10px}
.why__i h3 svg{width:19px;height:19px;color:var(--brand-2);flex-shrink:0}
.why__i p{color:#8FADA9;font-size:.93rem;margin:0}

/* ── Precios ────────────────────────────────────────────── */
.toggle{display:inline-flex;gap:4px;background:var(--canvas-2);padding:5px;border-radius:13px;margin-bottom:34px}
.toggle button{
  border:0;background:transparent;border-radius:9px;padding:10px 18px;cursor:pointer;
  font-size:.88rem;font-weight:700;color:var(--muted);transition:.18s;
}
.toggle button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}

.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.plan{
  background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-xl);
  padding:30px 26px;display:flex;flex-direction:column;position:relative;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.1),box-shadow .28s,border-color .28s;
}
.plan:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.plan--pop{border-color:var(--brand);box-shadow:var(--sh-2)}
.plan--pop::before{content:"";position:absolute;inset:-1.5px;border-radius:var(--r-xl);padding:1.5px;background:linear-gradient(150deg,var(--brand-2),var(--brand),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.plan__badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--brand);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:99px;box-shadow:var(--sh-brand);white-space:nowrap;
}
.plan__name{font-family:var(--display);font-size:1.45rem;letter-spacing:-.03em;margin-bottom:5px}
.plan__tag{font-size:.88rem;color:var(--muted);margin-bottom:22px;min-height:2.6em;line-height:1.4}
.plan__price{display:flex;align-items:baseline;gap:4px}
.plan__cur{font-size:1.1rem;font-weight:700;color:var(--muted)}
.plan__amt{font-family:var(--display);font-size:3rem;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.plan__per{font-size:.88rem;color:var(--muted);font-weight:600}
.plan__plus{font-size:.82rem;color:var(--muted);margin:8px 0 6px;display:flex;align-items:center;gap:6px}
.plan__plus svg{width:13px;height:13px;color:var(--brand)}
.plan__all{
  font-size:.83rem;font-weight:700;color:var(--brand);background:var(--brand-soft);
  padding:9px 12px;border-radius:10px;margin-bottom:22px;display:flex;justify-content:space-between;gap:8px;
}
.plan__all span:last-child{font-variant-numeric:tabular-nums}
.plan ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px;flex:1}
.plan li{display:flex;gap:10px;font-size:.91rem;line-height:1.45;color:var(--ink-3)}
.plan li svg{width:17px;height:17px;flex-shrink:0;margin-top:2px;color:var(--brand)}
.plan li.is-off{color:#9BADAA}
.plan li.is-off svg{color:#C3D2CF}

/* ── Comparativa ────────────────────────────────────────── */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-1)}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:540px}
th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line)}
th{font-weight:700;font-size:var(--t-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--canvas)}
th.is-us{background:var(--brand);color:#fff}
td.is-us{background:var(--brand-soft);font-weight:700;color:var(--brand-ink)}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{font-variant-numeric:tabular-nums}
td:first-child{font-weight:600}

/* ── Prosa interior ─────────────────────────────────────── */
.prose{display:grid;gap:40px}
.prose__i{display:grid;grid-template-columns:minmax(0,8rem) 1fr;gap:32px;align-items:start}
.prose__i h3{margin:0;font-size:var(--t-1);position:sticky;top:94px;color:var(--brand)}
.prose__i p{color:var(--ink-3);margin:0;font-size:1.01rem;line-height:1.7}

/* ── FAQ ────────────────────────────────────────────────── */
.faq{display:grid;gap:10px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:var(--brand);box-shadow:var(--sh-1)}
.faq summary{
  padding:19px 52px 19px 22px;cursor:pointer;list-style:none;position:relative;
  font-family:var(--display);font-size:1.03rem;font-weight:600;letter-spacing:-.015em;line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:20px;top:50%;width:11px;height:11px;margin-top:-6px;
  border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);
  transform:rotate(45deg);transition:transform .22s;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq__a{padding:0 22px 20px;color:var(--muted);max-width:76ch;font-size:.95rem}
.faq__a p{margin:0}

/* ── Formulario ─────────────────────────────────────────── */
.field{display:grid;gap:7px;margin-bottom:15px}
.field label{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.formmsg{padding:13px 16px;border-radius:11px;font-size:.9rem;margin-top:14px;display:none}
.formmsg.ok{display:block;background:rgba(14,138,95,.1);color:#0A6446;border:1px solid rgba(14,138,95,.25)}
.formmsg.err{display:block;background:var(--action-soft);color:#9E3415;border:1px solid rgba(255,106,61,.3)}

/* ── CTA final ──────────────────────────────────────────── */
.final{text-align:center;padding-block:clamp(58px,7vw,110px);position:relative}
.final h2{max-width:17ch;margin-inline:auto}
.final__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px;position:relative}

/* ── Footer ─────────────────────────────────────────────── */
.ftr{background:var(--ink);color:#8FADA9;padding-block:58px 28px;font-size:.9rem}
.ftr__top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr .logo{color:#fff;margin-bottom:14px}
.ftr h4{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 15px;font-weight:700}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr a:hover{color:var(--brand-2)}
.ftr__dis{padding-top:24px;font-size:.78rem;line-height:1.6;color:#6A8A85}
.ftr__btm{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;font-size:.79rem;color:#6A8A85}

/* ── Carrito ────────────────────────────────────────────── */
.cartbtn{position:relative}
.cartbtn__n{
  position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;
  background:var(--action);color:#fff;border-radius:99px;font-size:.68rem;font-weight:800;
  display:grid;place-items:center;transform:scale(0);transition:transform .24s cubic-bezier(.2,1.6,.4,1);
}
.cartbtn__n.on{transform:scale(1)}
.scrim{position:fixed;inset:0;background:rgba(6,23,29,.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.3s;z-index:90}
.scrim.on{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--canvas);z-index:100;
  transform:translateX(102%);transition:transform .4s cubic-bezier(.3,.9,.3,1);
  display:flex;flex-direction:column;box-shadow:var(--sh-3);
}
.drawer.on{transform:none}
.drawer__hd{display:flex;align-items:center;justify-content:space-between;padding:21px 22px;border-bottom:1px solid var(--line);background:var(--surface)}
.drawer__hd h3{margin:0;font-size:1.2rem}
.iconbtn{background:none;border:0;cursor:pointer;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--muted);transition:.15s}
.iconbtn:hover{background:var(--canvas-2);color:var(--ink)}
.iconbtn svg{width:18px;height:18px}
.drawer__body{flex:1;overflow-y:auto;padding:18px 22px}
.drawer__empty{text-align:center;color:var(--muted);padding:50px 0;font-size:.93rem}
.ci{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px;margin-bottom:10px}
.ci__main{flex:1;min-width:0}
.ci__name{font-weight:700;font-size:.95rem}
.ci__meta{font-size:.8rem;color:var(--muted);margin-top:2px}
.ci__price{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.ci__rm{background:none;border:0;color:var(--muted);font-size:.79rem;cursor:pointer;padding:5px 0 0;text-decoration:underline}
.ci__rm:hover{color:var(--action-2)}
.drawer__ft{border-top:1px solid var(--line);padding:18px 22px;background:var(--surface)}
.sumrow{display:flex;justify-content:space-between;font-size:.89rem;margin-bottom:8px;color:var(--muted)}
.sumrow span:last-child{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-3)}
.sumrow--tot{font-size:1.1rem;font-weight:800;color:var(--ink);padding-top:12px;margin-top:6px;border-top:2px solid var(--ink)}
.sumrow--tot span:last-child{font-family:var(--display);font-size:1.5rem;letter-spacing:-.03em}
.drawer__note{font-size:.75rem;color:var(--muted);margin-top:11px;line-height:1.5;display:flex;gap:7px}
.drawer__note svg{width:13px;height:13px;color:var(--brand);flex-shrink:0;margin-top:2px}
.selrow{display:grid;gap:6px;margin:14px 0 4px}
.selrow label{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* ── Barra fija móvil ───────────────────────────────────── */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;align-items:center;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(6,23,29,.08);
  transform:translateY(110%);transition:transform .32s cubic-bezier(.3,.9,.3,1);
}
.stickybar.on{transform:none}
.stickybar__p{flex:1;min-width:0;font-size:.8rem;color:var(--muted);line-height:1.3}
.stickybar__p b{display:block;font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums}

/* ── Chat ───────────────────────────────────────────────── */
.chatfab{
  position:fixed;right:20px;bottom:20px;z-index:80;height:54px;padding:0 20px 0 16px;border-radius:99px;
  background:var(--ink);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;gap:10px;
  box-shadow:var(--sh-3);transition:transform .24s cubic-bezier(.2,.9,.3,1.4);font-weight:700;font-size:.9rem;
}
.chatfab:hover{transform:translateY(-3px) scale(1.03)}
.chatfab svg{width:21px;height:21px}
.chatfab.hide{transform:scale(0);opacity:0}
.chatpanel{
  position:fixed;right:20px;bottom:20px;z-index:81;width:min(390px,calc(100vw - 32px));
  height:min(600px,calc(100vh - 40px));background:var(--canvas);border-radius:22px;
  box-shadow:var(--sh-3);display:flex;flex-direction:column;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(18px) scale(.96);transition:.3s cubic-bezier(.2,.9,.3,1);
}
.chatpanel.on{opacity:1;visibility:visible;transform:none}
.chat__hd{background:linear-gradient(135deg,var(--ink),var(--brand-ink));color:#fff;padding:16px 18px;display:flex;align-items:center;gap:11px}
.chat__hd .dot{width:9px;height:9px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 3px rgba(74,222,128,.25)}
.chat__hd strong{font-family:var(--display);font-size:1.05rem;flex:1;letter-spacing:-.02em}
.chat__hd .iconbtn{color:rgba(255,255,255,.75)}
.chat__hd .iconbtn:hover{background:rgba(255,255,255,.14);color:#fff}
.chat__body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:11px}
.msg{max-width:87%;padding:12px 15px;border-radius:16px;font-size:.91rem;line-height:1.5;animation:pop .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}}
.msg--bot{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}
.msg--me{background:var(--brand);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg a{color:var(--brand);font-weight:700;text-decoration:underline}
.msg--me a{color:#CFF5EE}
.chat__chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 12px}
.chip{background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:8px 13px;font-size:.81rem;font-weight:600;cursor:pointer;color:var(--ink-3);transition:.16s}
.chip:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
.chat__ft{border-top:1px solid var(--line);padding:12px 14px;background:var(--surface)}
.chat__form{display:flex;gap:8px}
.chat__form input{flex:1;padding:11px 14px;border:1.5px solid var(--line-strong);border-radius:11px;background:var(--canvas);font-size:.9rem}
.chat__form input:focus{outline:none;border-color:var(--brand);background:var(--surface)}
.chat__send{width:42px;height:42px;border-radius:11px;background:var(--brand);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:.18s}
.chat__send:hover{background:var(--brand-ink)}
.chat__send svg{width:17px;height:17px}
.chat__dis{font-size:.7rem;color:var(--muted);text-align:center;margin-top:8px}
.typing{display:flex;gap:4px;padding:14px 16px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bounce 1.3s infinite}
.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}
@keyframes bounce{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ── Reveal (solo con JS; sin JS todo es visible) ───────── */
.js [data-rv]{opacity:0;transform:translateY(16px);transition:opacity .65s cubic-bezier(.2,.8,.3,1),transform .65s cubic-bezier(.2,.8,.3,1)}
.js [data-rv].in{opacity:1;transform:none}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width:1020px){
  .hero__grid{grid-template-columns:1fr;gap:34px}
  .hero h1{max-width:18ch}
  .deliver{grid-template-columns:1fr;gap:30px}
  .trustbar__in{grid-template-columns:repeat(2,1fr)}
  .ftr__top{grid-template-columns:1fr 1fr}
  .prose__i{grid-template-columns:1fr;gap:10px}
  .prose__i h3{position:static}
  .tl{grid-template-columns:repeat(2,1fr);gap:28px 18px}
  .tl::before{display:none}
}
@media (max-width:860px){
  .nav{
    position:fixed;inset:72px 0 auto;flex-direction:column;gap:0;background:var(--canvas);
    border-bottom:1px solid var(--line);padding:10px 22px 20px;margin:0;
    transform:translateY(-130%);transition:transform .32s cubic-bezier(.3,.9,.3,1);z-index:55;
  }
  .nav.on{transform:none}
  .nav a{padding:15px 0;border-bottom:1px solid var(--line);border-radius:0;font-size:1.02rem}
  .burger{display:flex}
  .grid-3,.grid-2,.plans,.why{grid-template-columns:1fr}
  .stickybar{display:flex}
  .chatfab{bottom:78px;height:48px;padding:0 16px 0 14px}
  .chatfab span{display:none}
  .chatfab{padding:0;width:48px;justify-content:center}
  .chatpanel{bottom:76px}
}
@media (max-width:640px){
  .toggle{display:flex;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:13px}
  .toggle button{flex:0 0 auto;padding-inline:14px;font-size:.83rem}
  .seg{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-flow:column}
}
@media (max-width:560px){
  .wrap{padding-inline:17px}
  .hdr__in{height:62px;gap:12px}
  .nav{inset-block-start:62px}
  .trustbar__in{grid-template-columns:1fr}
  .tl{grid-template-columns:1fr;gap:24px}
  .ftr__top{grid-template-columns:1fr;gap:26px}
  .plan{padding:26px 22px}
  .calc__hd,.calc__body,.calc__ft{padding-inline:19px}
  .chatpanel{right:10px;left:10px;width:auto;height:min(74vh,540px)}
  .lang{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-rv]{opacity:1;transform:none}
}

/* ── Compatibilidad y remates ───────────────────────────── */
.hero > .wrap{position:relative;z-index:1}
.hero__in{position:relative;z-index:1}
.final .lede{margin-inline:auto}

/* Campos de formulario sin clase explícita */
.field input,.field textarea,.field select,.selrow select{
  width:100%;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:12px;
  background:var(--surface);font-size:.95rem;transition:border-color .18s,box-shadow .18s;
}
.field input:focus,.field textarea:focus,.field select:focus,.selrow select:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);
}
.field textarea{min-height:130px;resize:vertical}

/* Aviso destacado (páginas legales, notas sueltas) */
.note{
  display:flex;gap:18px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--r);padding:22px 24px;box-shadow:var(--sh-1);
}
.note__ico{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:var(--brand);color:#fff;display:grid;place-items:center}
.note__ico svg{width:17px;height:17px}
.note h3{font-size:1.05rem;margin-bottom:.3em}
.note p{font-size:.93rem;color:var(--muted);margin:0}
.note a{color:var(--brand);font-weight:700;text-decoration:underline}

/* ── Tabla de tasas de los 50 estados ───────────────────── */
.statesbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.statesbar .input{max-width:300px}
.statesbar__meta{font-size:var(--t-xs);color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.statesbar__meta b{color:var(--ink-3);font-variant-numeric:tabular-nums}

#statesTable thead th{position:sticky;top:0;z-index:1}
#statesTable td:first-child{white-space:nowrap}
#statesTable td.statenote{color:var(--muted);font-size:.84rem;font-weight:400;line-height:1.45;min-width:240px;white-space:normal}
#statesTable td:nth-child(4){white-space:nowrap;color:var(--muted);font-size:.86rem}
#statesTable th,#statesTable td{padding-block:11px}
#statesTable tbody tr:hover{background:var(--canvas)}

.src{
  display:inline-block;margin-left:8px;padding:2px 7px;border-radius:99px;
  font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;
}
.src--oficial{background:var(--brand-soft);color:var(--brand-ink)}
.src--compilado{background:var(--canvas-2);color:var(--muted)}

.tableempty{padding:26px;text-align:center;color:var(--muted);font-size:.92rem;margin:0}

.toggle__more{color:var(--brand)!important}
.toggle__more:hover{background:var(--surface);box-shadow:var(--sh-1)}

@media (max-width:640px){
  #statesTable{min-width:640px}
  .statesbar .input{max-width:none;width:100%}
}

/* ── Documentos legales ─────────────────────────────────────────────── */
.legal__meta{
  margin:-6px 0 22px;font-size:var(--t-xs);letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);font-weight:700;
}
.legal{margin-top:40px;color:var(--ink-3)}
.legal h2{
  font-family:var(--sans);font-size:1.06rem;font-weight:800;letter-spacing:-.01em;
  line-height:1.35;color:var(--ink);margin:38px 0 12px;
  padding-top:22px;border-top:1px solid var(--line);
}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal p{margin:0 0 14px;line-height:1.7}
.legal ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal li{
  position:relative;padding-left:22px;margin-bottom:9px;line-height:1.65;
}
.legal li::before{
  content:'';position:absolute;left:4px;top:.72em;
  width:6px;height:6px;border-radius:50%;background:var(--brand-2);
}
.legal__nav{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  font-size:var(--t-sm);
}
.legal__nav span{
  color:var(--muted);font-size:var(--t-xs);letter-spacing:.11em;
  text-transform:uppercase;font-weight:700;
}
.legal__nav a{color:var(--brand);font-weight:600;border-bottom:1px solid var(--line-strong)}
.legal__nav a:hover{border-bottom-color:var(--brand)}
