/* ═══════════════════════════════════════════════════════════
   AppsMedi — sistema visual
   Claro, aireado, redondeado. Azul clínico sobre cielo.
   ═══════════════════════════════════════════════════════════ */

:root{
  /* fondos */
  --sky:#F3F9FD;
  --sky-2:#E7F3FB;
  --surface:#FFFFFF;
  --surface-2:#F7FBFE;

  /* tinta */
  --ink:#10263A;
  --ink-2:#54697C;
  --ink-3:#8AA0B2;
  --line:#DDEAF4;
  --line-soft:#EAF3F9;

  /* marca */
  --brand:#1B87D9;
  --brand-deep:#0F6DB8;
  --brand-soft:#E3F2FD;
  --brand-tint:#F0F8FE;
  --teal:#17A29B;
  --teal-soft:#E2F5F3;
  --danger:#E2483C;
  --danger-soft:#FDEDEB;
  --warn:#B87A0B;
  --warn-soft:#FDF3E0;
  --ok:#1E9E62;
  --ok-soft:#E6F6EE;

  /* pie */
  --dark:#101D2E;
  --dark-2:#1A2A3E;
  --dark-line:#28394F;
  --dark-ink:#EAF2F9;
  --dark-ink-2:#9DB2C6;

  --r-sm:12px;
  --r:20px;
  --r-lg:28px;
  --r-xl:36px;
  --r-pill:999px;

  --sh-sm:0 2px 8px rgba(16,38,58,.05);
  --sh:0 6px 24px rgba(16,38,58,.07);
  --sh-lg:0 16px 48px rgba(16,38,58,.10);

  --f-display:"Poppins","Helvetica Neue",Arial,sans-serif;
  --f-body:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --pad:clamp(20px,5vw,44px);

  /* alias semánticos usados en línea por las calculadoras */
  --acid:#E2483C;      --acid-bg:#FDEDEB;
  --alkali:#0F6DB8;    --alkali-bg:#E3F2FD;
  --steady:#1E9E62;    --steady-bg:#E6F6EE;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none!important;transition:none!important;}
}

body{
  margin:0;
  background:var(--sky);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--brand);text-underline-offset:3px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2.5px solid var(--brand);outline-offset:2px;border-radius:4px;
}

.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:12px 18px;z-index:99;font-family:var(--f-display);font-weight:600;font-size:14px;border-radius:0 0 var(--r-sm) 0;}
.skip:focus{left:0;top:0;}

.shell{max-width:1180px;margin:0 auto;padding:0 var(--pad);}
.narrow{max-width:66ch;}

/* ───────────── cabecera ───────────── */
header.site{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.bar{max-width:1180px;margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:18px;}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none;}
.logo img{width:42px;height:42px;border-radius:11px;display:block;}
.logo .wm{font-family:var(--f-display);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--ink);line-height:1;}
.logo .wm span{color:var(--brand);}

.navwrap{margin-left:auto;min-width:0;}
nav.main{display:flex;align-items:center;gap:6px;}
nav.main a.nav{
  font-family:var(--f-display);font-weight:500;font-size:14.5px;
  color:var(--ink-2);text-decoration:none;white-space:nowrap;
  padding:9px 14px;border-radius:var(--r-pill);
}
nav.main a.nav:hover{background:var(--brand-tint);color:var(--brand-deep);}
nav.main a.nav[aria-current="page"]{background:var(--brand-soft);color:var(--brand-deep);font-weight:600;}

/* En pantallas pequeñas los enlaces bajan a una fila propia y desplazable,
   en vez de desaparecer detrás de un menú. */
@media (max-width:900px){
  .bar{flex-wrap:wrap;row-gap:10px;padding-bottom:11px;gap:12px;}
  .navwrap{
    order:3;width:100%;margin-left:0;
    overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .navwrap::-webkit-scrollbar{display:none;}
  .bar > .btn{margin-left:auto;}
  nav.main a.nav{
    font-size:13.5px;padding:7px 14px;
    background:var(--brand-tint);border:1px solid var(--line-soft);
  }
  nav.main a.nav[aria-current="page"]{border-color:#C6E4F8;}
}

/* ───────────── botones ───────────── */
.btn{
  font-family:var(--f-display);font-weight:600;font-size:15px;
  text-decoration:none;padding:12px 22px;border-radius:var(--r-pill);
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  white-space:nowrap;border:1.5px solid transparent;cursor:pointer;line-height:1.2;
}
.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 4px 14px rgba(27,135,217,.28);}
.btn-primary:hover{background:var(--brand-deep);border-color:var(--brand-deep);}
.btn-ghost{background:#fff;color:var(--brand-deep);border-color:var(--line);box-shadow:var(--sh-sm);}
.btn-ghost:hover{border-color:var(--brand);background:var(--brand-tint);}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);}
.btn-dark:hover{background:#0A1A28;}
.btn-ghost-dark{background:transparent;color:var(--dark-ink);border-color:var(--dark-line);}
.btn-ghost-dark:hover{border-color:var(--dark-ink-2);background:rgba(255,255,255,.06);}
.btn-sm{font-size:13.5px;padding:9px 16px;}

/* tienda */
.store{display:inline-flex;align-items:center;gap:9px;background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:10px 18px;text-decoration:none;font-family:var(--f-display);font-weight:600;font-size:14px;}
.store:hover{background:#0A1A28;}
.store svg{width:18px;height:18px;fill:currentColor;flex:none;}

/* ───────────── hero ───────────── */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(1100px 480px at 78% -12%, #DBEEFA 0%, rgba(219,238,250,0) 62%),
    linear-gradient(180deg, var(--sky-2) 0%, var(--sky) 58%, var(--sky) 100%);
  border-bottom:1px solid var(--line-soft);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='97' viewBox='0 0 112 97'%3E%3Cg fill='none' stroke='%23A9D4EE' stroke-width='1.1'%3E%3Cpath d='M28 1 56 17v32L28 65 0 49V17z'/%3E%3Cpath d='M84 1l28 16v32L84 65 56 49V17z'/%3E%3Cpath d='M56 49l28 16v32L56 113 28 97V65z'/%3E%3C/g%3E%3C/svg%3E");
}
.hero-in{position:relative;padding:clamp(44px,6.5vw,86px) 0 clamp(40px,6vw,74px);}
.hero-sm .hero-in{padding:clamp(30px,4.5vw,54px) 0 clamp(30px,4.5vw,50px);}
.hero-sm h1{font-size:clamp(29px,4vw,44px);}
.hero-grid{display:grid;gap:clamp(30px,4.5vw,52px);align-items:center;}
@media (min-width:1000px){ .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;} }

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-weight:600;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:8px 16px;margin:0 0 22px;box-shadow:var(--sh-sm);
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);flex:none;}

h1{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(31px,4.1vw,47px);line-height:1.1;letter-spacing:-.03em;
  margin:0 0 20px;text-wrap:balance;color:var(--ink);
}
h1 .hl{color:var(--brand);}
.lede{font-size:19px;color:var(--ink-2);margin:0 0 28px;max-width:52ch;}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px;}
.trustline{
  display:flex;flex-wrap:wrap;gap:10px 24px;
  font-family:var(--f-display);font-size:13.5px;color:var(--ink-2);
  border-top:1px solid var(--line);padding-top:18px;
}
.trustline b{color:var(--ink);font-weight:600;}

/* ───────────── tipografía de sección ───────────── */
section.band{padding:clamp(52px,6.5vw,90px) 0;}
section.band.alt{background:var(--surface);}
section.band.tint{background:linear-gradient(180deg,var(--brand-tint),var(--sky));}

.kicker{
  font-family:var(--f-display);font-weight:600;font-size:12px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--brand);
  margin:0 0 12px;
}
h2.sec{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(26px,3.5vw,40px);line-height:1.16;letter-spacing:-.025em;
  margin:0 0 16px;text-wrap:balance;color:var(--ink);
}
h3{font-family:var(--f-display);font-weight:600;font-size:19px;letter-spacing:-.012em;margin:0 0 9px;color:var(--ink);}
h4{font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:28px 0 10px;}
p{margin:0 0 18px;max-width:66ch;}
.lead{font-size:19.5px;color:var(--ink-2);}
.muted{color:var(--ink-2);}
.small{font-size:15px;}
ul.prose,ol.prose{max-width:66ch;padding-left:22px;margin:0 0 20px;}
ul.prose li,ol.prose li{margin-bottom:9px;}
ul.prose li::marker,ol.prose li::marker{color:var(--brand);}

/* ───────────── migas ───────────── */
.crumbs{font-family:var(--f-display);font-size:13.5px;color:var(--ink-3);margin:0 0 20px;}
.crumbs a{color:var(--ink-2);text-decoration:none;}
.crumbs a:hover{color:var(--brand);text-decoration:underline;}
.crumbs .s{opacity:.55;margin:0 8px;}

/* ───────────── tarjetas ───────────── */
.cards{display:grid;gap:20px;}
@media (min-width:700px){ .c2{grid-template-columns:repeat(2,1fr);} }
@media (min-width:900px){ .c3{grid-template-columns:repeat(3,1fr);} }
@media (min-width:1040px){ .c4{grid-template-columns:repeat(4,1fr);} }

.card{
  background:var(--surface);border:1px solid var(--line-soft);
  border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--sh);
}
.card h3{font-size:18px;}
.card p{font-size:15.5px;color:var(--ink-2);margin:0;}
.card ul{margin:0;padding:0;list-style:none;}
.card li{font-size:15px;line-height:1.6;color:var(--ink-2);padding:4px 0 4px 18px;position:relative;}
.card li::before{content:"";position:absolute;left:0;top:.78em;width:6px;height:6px;border-radius:50%;background:var(--brand);opacity:.5;}
.card li b{color:var(--ink);font-weight:600;}

.ico{
  width:52px;height:52px;border-radius:16px;background:var(--brand-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  font-size:24px;line-height:1;
}
.ico svg{width:26px;height:26px;fill:var(--brand);}
.ico.teal{background:var(--teal-soft);} .ico.teal svg{fill:var(--teal);}
.ico.red{background:var(--danger-soft);} .ico.red svg{fill:var(--danger);}

.step-n{
  font-family:var(--f-display);font-weight:700;font-size:13px;color:var(--brand);
  background:var(--brand-soft);border-radius:var(--r-pill);
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}

/* tarjetas de app */
.app-row{display:grid;gap:clamp(26px,4vw,52px);align-items:center;}
@media (min-width:900px){ .app-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);} }
.app-row.flip .app-art{order:2;}
.app-art{
  background:#fff;
  border:1px solid var(--line-soft);border-radius:var(--r-xl);
  padding:clamp(18px,3vw,32px);box-shadow:var(--sh-lg);
  display:flex;align-items:center;justify-content:center;
}
.app-art img{width:100%;max-width:260px;height:auto;border-radius:24px;display:block;}
.app-name{font-family:var(--f-display);font-weight:700;font-size:clamp(24px,3vw,32px);letter-spacing:-.025em;margin:0 0 6px;color:var(--ink);}
.app-tag{font-family:var(--f-display);font-weight:600;font-size:15px;color:var(--brand);margin:0 0 16px;}
.stores{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.pill{
  display:inline-block;font-family:var(--f-display);font-weight:600;font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:var(--r-pill);
  background:var(--warn-soft);color:var(--warn);
}

/* ───────────── calculadora ───────────── */
.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);}
.calc.light{}
.calc-head{padding:18px 24px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface-2);}
.calc-head h2{font-family:var(--f-display);font-weight:700;font-size:17px;margin:0;color:var(--ink);letter-spacing:-.015em;}
.calc-head .free{font-family:var(--f-display);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok);background:var(--ok-soft);padding:5px 12px;border-radius:var(--r-pill);}
.calc-body{padding:24px;}

.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:14px;margin-bottom:10px;}
.fields.wide{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));}
.field label{display:block;font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.03em;color:var(--ink-2);margin-bottom:7px;}
.field label .u{font-weight:400;color:var(--ink-3);}
.field input,.field select{
  width:100%;background:var(--surface-2);border:1.5px solid var(--line);
  color:var(--ink);border-radius:var(--r-sm);padding:11px 13px;
  font-family:var(--f-mono);font-size:15px;font-variant-numeric:tabular-nums;
}
.field input:hover,.field select:hover{border-color:#BCD8EC;}
.field input:focus,.field select:focus{background:#fff;border-color:var(--brand);}
.field input::placeholder{color:#A9BECE;}
.optional-note{font-size:13.5px;color:var(--ink-3);margin:8px 0 18px;line-height:1.6;}

.subhead{font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin:24px 0 12px;padding-top:18px;border-top:1px solid var(--line-soft);}
.subhead:first-child{margin-top:0;padding-top:0;border-top:none;}

.checks{display:grid;gap:10px;margin-bottom:6px;}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--ink);cursor:pointer;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:12px 14px;}
.check:hover{border-color:#BCD8EC;}
.check input{margin:2px 0 0;flex:none;width:18px;height:18px;accent-color:var(--brand);}
.check .h-t{display:block;font-family:var(--f-display);font-weight:600;font-size:15px;color:var(--ink);}
.check .h{color:var(--ink-3);font-size:13.5px;display:block;margin-top:2px;}

.calc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px;}
.linkbtn{background:var(--brand-tint);border:1px solid var(--line);padding:8px 14px;border-radius:var(--r-pill);cursor:pointer;font-family:var(--f-display);font-weight:500;font-size:13px;color:var(--brand-deep);}
.linkbtn:hover{background:var(--brand-soft);border-color:var(--brand);}
.sep{display:none;}

.out{margin-top:24px;border-top:1px solid var(--line-soft);padding-top:24px;}
.out:empty{display:none;border:none;padding:0;margin:0;}

.verdict{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.28;margin:0 0 6px;letter-spacing:-.02em;}
.verdict.acid{color:var(--danger);}
.verdict.alkali{color:var(--brand-deep);}
.verdict.steady{color:var(--ok);}
.verdict.mixed,.verdict.warn{color:var(--warn);}
.verdict-sub{font-size:14.5px;color:var(--ink-2);margin:0 0 20px;}

ul.findings{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:11px;}
ul.findings li{font-size:15.5px;line-height:1.6;color:var(--ink);padding:13px 16px;background:var(--surface-2);border-left:3px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;}
ul.findings li strong{font-family:var(--f-display);font-weight:600;}

.readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:12px;}
.readout{background:var(--brand-tint);border:1px solid var(--line-soft);border-radius:var(--r);padding:14px 16px;}
.readout .rv{font-family:var(--f-display);font-weight:700;font-size:21px;font-variant-numeric:tabular-nums;display:block;color:var(--ink);letter-spacing:-.02em;}
.readout .rv.hi{color:var(--danger);}
.readout .rv.ok{color:var(--ok);}
.readout .rk{font-family:var(--f-display);font-weight:500;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);display:block;margin-top:5px;line-height:1.45;}

.err{font-size:15px;color:var(--danger);margin:0;line-height:1.6;background:var(--danger-soft);padding:14px 16px;border-radius:var(--r-sm);}

.calc-foot{border-top:1px solid var(--line-soft);padding:16px 24px;font-size:13.5px;line-height:1.65;color:var(--ink-3);background:var(--surface-2);}
.calc-foot a{color:var(--brand);}

.bigscore{display:flex;align-items:baseline;gap:16px;margin:0 0 16px;flex-wrap:wrap;}
.bigscore .n{font-family:var(--f-display);font-weight:700;font-size:54px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.bigscore .of{font-family:var(--f-display);font-weight:500;font-size:13px;color:var(--ink-3);line-height:1.4;}

/* ───────────── fórmula ───────────── */
.formula{
  background:var(--dark);color:var(--dark-ink);border-radius:var(--r-lg);
  padding:24px 26px;margin:0 0 24px;overflow-x:auto;
  font-family:var(--f-mono);font-size:14px;line-height:1.95;
}
.formula b{color:#7FD3C9;font-weight:500;}
.formula .cm{color:var(--dark-ink-2);font-size:12.5px;display:block;margin-top:12px;}

/* ───────────── tablas ───────────── */
.tablewrap{overflow-x:auto;margin:0 0 28px;border:1px solid var(--line-soft);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh);}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px;}
th,td{text-align:left;padding:14px 20px;border-bottom:1px solid var(--line-soft);vertical-align:top;}
th{font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);background:var(--surface-2);white-space:nowrap;}
td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;}
tbody tr:last-child td{border-bottom:none;}
tr.mine td{background:var(--brand-tint);}
.sub{color:var(--ink-3);font-size:13.5px;display:block;}

/* ───────────── FAQ ───────────── */
.faq{display:grid;gap:12px;margin-top:32px;}
details{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden;}
details[open]{border-color:var(--line);}
summary{font-family:var(--f-display);font-weight:600;font-size:16.5px;padding:20px 54px 20px 24px;cursor:pointer;position:relative;list-style:none;color:var(--ink);}
summary::-webkit-details-marker{display:none;}
summary::after{
  content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;
  border-right:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);
  transform:translateY(-70%) rotate(45deg);
}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
summary:hover{background:var(--brand-tint);}
details .ans{padding:0 24px 22px;}
details .ans p{font-size:16px;color:var(--ink-2);margin:0 0 12px;}
details .ans p:last-child{margin-bottom:0;}

/* ───────────── enlaces relacionados ───────────── */
.related{display:grid;gap:16px;margin-top:28px;}
@media (min-width:700px){ .related{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1000px){ .related{grid-template-columns:repeat(3,1fr);} }
.rel{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);
  padding:22px 24px;text-decoration:none;display:block;box-shadow:var(--sh-sm);
}
.rel:hover{border-color:var(--brand);box-shadow:var(--sh);}
.rel strong{font-family:var(--f-display);font-weight:600;font-size:16.5px;color:var(--ink);display:block;margin-bottom:5px;}
.rel span{font-size:14.5px;color:var(--ink-2);}

/* ───────────── aviso ───────────── */
.disclaimer{background:var(--warn-soft);border:1px solid #F0DCB4;border-radius:var(--r);padding:20px 24px;margin:28px 0 0;max-width:70ch;}
.disclaimer p{font-size:15px;color:#6B4E0A;margin:0;}

/* ───────────── CTA ───────────── */
.cta-wrap{padding:0 0 clamp(40px,6vw,72px);}
.cta{
  background:linear-gradient(150deg,var(--dark),#16293F);
  border-radius:var(--r-xl);padding:clamp(38px,5.5vw,68px) clamp(26px,5vw,60px);
  box-shadow:var(--sh-lg);
}
.cta h2{font-family:var(--f-display);font-weight:700;font-size:clamp(26px,3.4vw,38px);line-height:1.16;letter-spacing:-.025em;margin:0 0 16px;color:#fff;text-wrap:balance;}
.cta p{color:var(--dark-ink-2);font-size:18px;max-width:56ch;}
.cta .stores{margin-top:28px;}
.cta .store{background:#fff;color:var(--ink);}
.cta .store:hover{background:var(--brand-soft);}

/* ───────────── pie ───────────── */
footer.site{background:var(--sky);padding:0 0 clamp(24px,4vw,40px);}
.foot-in{
  background:var(--dark);color:var(--dark-ink-2);
  border-radius:var(--r-xl);padding:clamp(36px,5vw,56px) clamp(26px,5vw,52px) clamp(26px,4vw,38px);
}
.foot{display:grid;gap:34px;}
@media (min-width:820px){ .foot{grid-template-columns:1.5fr 1fr 1fr;gap:48px;} }
.foot .logo .wm{color:#fff;}
.foot .logo .wm span{color:#6FC0F0;}
.foot h4{font-family:var(--f-display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dark-ink-2);margin:0 0 16px;}
.foot ul{list-style:none;margin:0;padding:0;}
.foot li{margin-bottom:11px;}
.foot a{font-family:var(--f-body);font-size:15px;color:var(--dark-ink-2);text-decoration:none;}
.foot a:hover{color:#fff;}
.foot .about{font-size:15.5px;line-height:1.65;max-width:40ch;margin:16px 0 0;color:var(--dark-ink-2);}
.legal{border-top:1px solid var(--dark-line);margin-top:34px;padding-top:26px;font-size:13px;line-height:1.7;color:#7E93A8;display:grid;gap:14px;}
.legal p{margin:0;max-width:none;}
.legal strong{color:var(--dark-ink-2);}

/* ───────────── WhatsApp flotante ───────────── */
.wa{
  position:fixed;right:20px;bottom:20px;z-index:50;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(37,211,102,.4);
}
.wa svg{width:30px;height:30px;fill:#fff;}
.wa:hover{background:#1EBE5A;}
@media (max-width:640px){ .wa{right:14px;bottom:14px;width:52px;height:52px;} .wa svg{width:27px;height:27px;} }

@media (max-width:640px){
  body{font-size:16px;}
  .card{padding:24px 20px;}
  .calc-body{padding:18px;}
  .calc-head{padding:16px 18px;}
  .calc-foot{padding:14px 18px;}
}
