/* Componentes globales: nav, menú móvil, stats, formulario, footer. */

/* ---- Nav ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px);transition:background .45s ease,color .45s ease,border-color .45s;border-bottom:1px solid transparent}
.nav.solid{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(12px) saturate(1.1);border-bottom:1px solid var(--line)}
.nav.dark{color:#fff}
.nav.light{color:var(--ink)}
.wm{font-weight:600;font-size:21px;letter-spacing:-.03em;display:inline-flex}
.wm-g{color:var(--wmg,var(--green))}
.wm-c{color:currentColor}
.nlinks{display:flex;gap:clamp(20px,3vw,44px);align-items:center}
.nlink{font-size:14px;letter-spacing:.005em;position:relative;opacity:.82;cursor:pointer;background:none;border:0;color:inherit;font-family:inherit;padding:8px 0}
.nlink:hover{opacity:1}
.nlink.act{opacity:1}
.nlink.act::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor}
.menu-btn{display:none;font-size:14px;letter-spacing:.02em;background:none;border:0;color:inherit;cursor:pointer;font-family:inherit}

/* ---- Menú móvil ---- */
.menu-panel{position:fixed;inset:0;z-index:80;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;padding:0 clamp(20px,6vw,56px)}
.menu-panel[hidden]{display:none}
.menu-panel .menu-btn{display:inline-flex}
.menu-top{height:72px;display:flex;align-items:center;justify-content:space-between}
.menu-links{margin-top:6vh;display:flex;flex-direction:column}
.mlink{font-size:clamp(32px,9vw,58px);font-weight:600;letter-spacing:-.03em;line-height:1;padding:26px 0;border-top:1px solid var(--line);text-align:left;background:none;border-left:0;border-right:0;border-bottom:0;color:inherit;cursor:pointer;font-family:inherit}

/* ---- Franja de cifras ---- */
.stats{background:var(--ink);color:var(--paper)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,56px);padding:clamp(72px,11vh,128px) 0}
.stat .num{font-size:clamp(42px,6vw,96px);font-weight:600;letter-spacing:-.035em;line-height:.95}
.stat .lbl{margin-top:16px;color:#A7A59A;font-size:14px;letter-spacing:.01em;max-width:14ch}

/* ---- Formulario ---- */
.field{border:0;border-bottom:1px solid var(--line);background:none;padding:15px 0;font-family:inherit;font-size:17px;color:var(--ink);width:100%;letter-spacing:-.005em}
.field::placeholder{color:#A9A79C}
.field:focus{outline:none;border-color:var(--ink)}
.fl{margin-top:22px}
.fl:first-child{margin-top:0}
.submit{margin-top:30px;font-size:14px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:none;border:0;color:inherit;padding:14px 26px;border:1px solid var(--ink);transition:background .3s,color .3s}
.submit:hover{background:var(--ink);color:var(--paper)}
.sent{font-size:clamp(20px,2.2vw,30px);font-weight:500;letter-spacing:-.02em;max-width:24ch}

/* ---- Footer ---- */
.foot{border-top:1px solid var(--line);margin-top:0}
.foot .wm{font-size:24px}
.foot .fsub{letter-spacing:.02em}
.footrow{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:clamp(56px,8vh,90px) 0 22px}
.footcol{display:flex;flex-direction:column;gap:12px}
.footcol .fh{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.footlink{cursor:pointer;background:none;border:0;color:inherit;font-family:inherit;font-size:15px;text-align:left;padding:0;opacity:.85}
.footlink:hover{opacity:1}
.footc{font-size:15px;opacity:.85}
.footbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:22px 0 46px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
