/* Fuentes servidas desde el propio sitio (SIL Open Font License 1.1, ver OFL-*.txt). Subset latin. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--bg:#F4F6F5;--surface:#FFFFFF;--ink:#0E1716;--ink-2:#2E3B39;--muted:#3F4D4B;--muted-small:#4B5856;--line:#DDE3E1;--accent:#0f766e;--accent-dark:#0B5A54;--accent-soft:#DDEFEC;}

body{margin:0;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
a{color:var(--accent)}a:hover{color:var(--accent-dark)}
.fx-btn{transition:transform .15s ease, background-color .15s ease}
.fx-btn:hover{transform:translateY(-1px)}

.home-001{font-family: 'IBM Plex Sans', system-ui, sans-serif; color: var(--ink); background: var(--bg); line-height: 1.55}
.home-002{position: absolute; left: -9999px; top: 8px}
.home-003{position: sticky; top: 0; z-index: 10; background: rgba(244,246,245,0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line)}
.home-004{max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap}
.home-005{display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink)}
.home-006{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -0.02em}
.home-007{display: flex; align-items: center; gap: 26px; flex-wrap: wrap}
.home-008{color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: 15px}
.home-009{background: var(--ink); color: var(--surface); text-decoration: none; font-weight: 600; font-size: 15px; padding: 11px 18px; border-radius: 10px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.home-010{max-width: 1200px; margin: 0 auto; padding: 88px 24px 96px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); gap: 64px; align-items: center}
.home-011{display: flex; flex-direction: column; gap: 28px}
.home-012{margin: 0; display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--accent-dark); background: var(--accent-soft); padding: 6px 12px; border-radius: 999px}
.home-013{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.5rem, 5.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.035em; text-wrap: balance}
.home-014{color: var(--accent)}
.home-015{margin: 0; font-size: 19px; color: var(--muted); max-width: 34em; text-wrap: pretty}
.home-016{display: flex; gap: 12px; flex-wrap: wrap}
.home-017{background: var(--accent); color: var(--surface); text-decoration: none; font-weight: 600; font-size: 17px; padding: 15px 26px; border-radius: 12px; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px}
.home-018{background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 17px; padding: 15px 24px; border-radius: 12px; border: 1px solid #CBD4D1; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center}
.home-019{display: flex; align-items: stretch; gap: 0; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; align-self: flex-start; overflow: hidden}
.home-020{padding: 12px 18px; display: flex; flex-direction: column; border-right: 1px solid var(--line)}
.home-021{font-size: 13px; color: var(--muted-small)}
.home-022{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 22px; color: var(--accent-dark)}
.home-023{padding: 12px 18px; display: flex; flex-direction: column}
.home-024{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 22px}
.home-025{font-family: 'IBM Plex Sans', system-ui, sans-serif; font-weight: 400; font-size: 14px; color: var(--muted-small)}
.home-026{margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 1px 0 var(--line), 0 24px 60px -24px rgba(14,23,22,0.28); overflow: hidden}
.home-027{display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 22px; border-bottom: 1px dashed #CBD4D1; flex-wrap: wrap}
.home-028{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: var(--muted-small)}
.home-029{font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 600; color: #8A3B0B; background: #FDEBD8; padding: 4px 10px; border-radius: 6px}
.home-030{display: flex; align-items: center; gap: 22px; padding: 24px 22px 8px; flex-wrap: wrap}
.home-031{display: flex; align-items: baseline; gap: 4px}
.home-032{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 88px; line-height: 0.9; letter-spacing: -0.04em; color: var(--ink)}
.home-033{font-family: 'IBM Plex Mono', monospace; font-size: 20px; color: var(--muted-small)}
.home-034{margin: 0; flex: 1 1 180px; font-size: 15px; color: var(--muted)}
.home-035{display: flex; flex-direction: column; gap: 4px; padding: 14px 22px 22px}
.home-036{display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; column-gap: 12px; padding: 8px 0}
.home-037{display: flex; flex-direction: column; gap: 6px}
.home-038{display: flex; justify-content: space-between; gap: 8px}
.home-039{font-weight: 600; font-size: 15px}
.home-040{font-size: 13px; font-weight: 600; color: #8A3B0B}
.home-041{height: 8px; background: #EEF1F0; border-radius: 99px}
.home-042{width: 52%; height: 8px; background: #C2570C; border-radius: 99px}
.home-043{font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 16px; min-width: 2.4em; text-align: right}
.home-044{width: 48%; height: 8px; background: #C2570C; border-radius: 99px}
.home-045{font-size: 13px; font-weight: 600; color: #475569}
.home-046{width: 60%; height: 8px; background: #64748B; border-radius: 99px}
.home-047{width: 74%; height: 8px; background: #64748B; border-radius: 99px}
.home-048{font-size: 13px; font-weight: 600; color: var(--accent-dark)}
.home-049{width: 95%; height: 8px; background: var(--accent); border-radius: 99px}
.home-050{width: 68%; height: 8px; background: #64748B; border-radius: 99px}
.home-051{padding: 12px 22px; background: var(--bg); border-top: 1px solid var(--line); font-size: 13px; color: var(--muted-small)}
.home-052{background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line)}
.home-053{max-width: 1200px; margin: 0 auto; padding: 96px 24px; display: flex; flex-direction: column; gap: 56px}
.home-054{display: flex; flex-direction: column; gap: 14px; max-width: 640px}
.home-055{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent-dark)}
.home-056{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.06; letter-spacing: -0.03em; text-wrap: balance}
.home-057{margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px}
.home-058{display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 16px; background: var(--bg)}
.home-059{display: flex; justify-content: space-between; align-items: center; gap: 12px}
.home-060{font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 15px; color: var(--surface); background: var(--ink); width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center}
.home-061{font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 600; color: var(--accent-dark); background: var(--accent-soft); padding: 4px 10px; border-radius: 6px}
.home-062{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 24px; letter-spacing: -0.02em}
.home-063{margin: 0; font-size: 16px; color: var(--muted)}
.home-064{display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 16px; background: var(--accent-soft)}
.home-065{font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 15px; color: var(--surface); background: var(--accent); width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center}
.home-066{font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 600; color: var(--surface); background: var(--accent-dark); padding: 4px 10px; border-radius: 6px}
.home-067{margin: 0; font-size: 16px; color: var(--ink-2)}
.home-068{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 18px; overflow: hidden}
.home-069{background: var(--surface); padding: 32px; display: flex; flex-direction: column; gap: 12px}
.home-070{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -0.02em}
.home-071{background: var(--ink); color: #EEF3F1}
.home-072{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 64px; align-items: center}
.home-073{display: flex; flex-direction: column; gap: 20px}
.home-074{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #5EEAD4}
.home-075{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.06; letter-spacing: -0.03em; color: var(--surface); text-wrap: balance}
.home-076{margin: 0; font-size: 18px; color: #B9C6C3; max-width: 30em; text-wrap: pretty}
.home-077{align-self: flex-start; background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 16px; padding: 14px 22px; border-radius: 12px; min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px}
.home-078{display: flex; flex-direction: column; gap: 12px}
.home-079{margin: 0 0 4px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #8FA19D}
.home-080{background: #17221F; border: 1px solid #26332F; border-radius: 14px; padding: 20px 22px; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; row-gap: 6px}
.home-081{grid-row: span 2; font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 13px; color: var(--ink); background: #FDBA74; padding: 4px 8px; border-radius: 6px; align-self: start}
.home-082{margin: 0; font-weight: 600; font-size: 16px; color: var(--surface)}
.home-083{margin: 0; font-size: 15px; color: #B9C6C3}
.home-084{grid-row: span 2; font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 13px; color: var(--ink); background: #CBD5E1; padding: 4px 8px; border-radius: 6px; align-self: start}
.home-085{max-width: 1200px; margin: 0 auto; padding: 104px 24px; display: flex; flex-direction: column; gap: 48px}
.home-086{display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap}
.home-087{margin: 0; max-width: 30em; font-size: 16px; color: var(--muted)}
.home-088{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 16px}
.home-089{background: var(--surface); border: 2px solid var(--accent); border-radius: 18px; padding: 26px; display: flex; flex-direction: column; gap: 12px}
.home-090{display: flex; justify-content: space-between; align-items: center; gap: 8px}
.home-091{font-family: 'IBM Plex Mono', monospace; font-size: 11px; font-weight: 600; color: var(--surface); background: var(--accent); padding: 3px 8px; border-radius: 6px}
.home-092{margin: 0; font-size: 15px; color: var(--muted); flex-grow: 1}
.home-093{margin: 0; padding-top: 14px; border-top: 1px solid #E6EBE9; font-size: 14px; color: var(--muted-small)}
.home-094{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 28px; color: var(--ink); letter-spacing: -0.02em}
.home-095{background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 26px; display: flex; flex-direction: column; gap: 12px}
.home-096{margin: 0; padding-top: 14px; border-top: 1px solid #E6EBE9; font-size: 15px; font-weight: 600; color: var(--ink-2); min-height: 42px; display: flex; align-items: center}
.home-097{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 16px}
.home-098{background: var(--surface); border: 1px dashed #B8C3C0; border-radius: 18px; padding: 26px; display: flex; gap: 18px; align-items: flex-start}
.home-099{flex: none}
.home-100{margin: 0; font-size: 15px; color: var(--muted)}
.home-101{margin: 0; font-size: 15px; font-weight: 600; color: var(--ink-2)}
.home-102{background: var(--ink); color: #EEF3F1; border-radius: 18px; padding: 26px; display: flex; flex-direction: column; gap: 14px}
.home-103{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 22px; letter-spacing: -0.02em; color: var(--surface)}
.home-104{margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px}
.home-105{font-size: 14px; background: #17221F; border: 1px solid #26332F; padding: 6px 12px; border-radius: 999px}
.home-106{max-width: 1000px; margin: 0 auto; padding: 96px 24px; display: flex; gap: 48px; align-items: center; flex-wrap: wrap}
.home-107{flex: none; width: 200px; height: 200px; border-radius: 24px; background: var(--accent-soft); border: 1px dashed var(--accent); display: flex; align-items: center; justify-content: center; font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: var(--accent-dark)}
.home-108{flex: 1 1 420px; display: flex; flex-direction: column; gap: 16px}
.home-109{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.06; letter-spacing: -0.03em}
.home-110{color: var(--muted-small)}
.home-111{margin: 0; font-size: 18px; color: var(--ink-2); text-wrap: pretty}
.home-112{display: flex; gap: 10px; flex-wrap: wrap}
.home-113{background: var(--bg); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15px; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--line); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px}
.home-114{max-width: 1200px; margin: 0 auto; padding: 104px 24px}
.home-115{background: var(--accent); color: var(--surface); border-radius: 28px; padding: clamp(36px, 6vw, 72px); display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap}
.home-116{display: flex; flex-direction: column; gap: 14px; max-width: 34em}
.home-117{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.4rem, 4.6vw, 3.8rem); line-height: 1; letter-spacing: -0.035em}
.home-118{margin: 0; font-size: 19px; color: #E6F5F2}
.home-119{background: transparent; color: var(--surface); text-decoration: none; font-weight: 600; font-size: 18px; padding: 18px 26px; border-radius: 14px; border: 1.5px solid rgba(255,255,255,0.7); min-height: 60px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px}
.home-120{background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 18px; padding: 18px 30px; border-radius: 14px; min-height: 60px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px}
.home-121{border-top: 1px solid var(--line); background: var(--surface)}
.home-122{max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap}
.home-123{display: flex; flex-direction: column; gap: 4px}
.home-124{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 20px; letter-spacing: -0.02em}
.home-125{font-size: 15px; color: var(--muted-small)}
.home-126{display: flex; gap: 24px; flex-wrap: wrap; font-size: 15px}
.home-127{color: var(--ink-2)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Contacto */
.fx-field:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.contact-001{font-family: 'IBM Plex Sans', system-ui, sans-serif; color: var(--ink); background: var(--bg); line-height: 1.55}
.contact-002{position: absolute; left: -9999px; top: 8px}
.contact-003{position: sticky; top: 0; z-index: 10; background: rgba(244,246,245,0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line)}
.contact-004{max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap}
.contact-005{display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink)}
.contact-006{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -0.02em}
.contact-007{display: flex; align-items: center; gap: 26px; flex-wrap: wrap}
.contact-008{color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: 15px}
.contact-009{color: var(--accent-dark); text-decoration: none; font-weight: 600; font-size: 15px; background: var(--accent-soft); padding: 8px 14px; border-radius: 10px}
.contact-010{max-width: 1200px; margin: 0 auto; padding: 72px 24px 88px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 56px; align-items: start}
.contact-011{display: flex; flex-direction: column; gap: 24px}
.contact-012{margin: 0; display: inline-flex; align-self: flex-start; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent-dark); background: var(--accent-soft); padding: 6px 12px; border-radius: 999px}
.contact-013{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.6rem, 5.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.035em; text-wrap: balance}
.contact-014{margin: 0; font-size: 19px; color: var(--muted); max-width: 28em}
.contact-015{display: flex; flex-direction: column; gap: 12px; max-width: 460px}
.contact-016{background: var(--accent); color: var(--surface); text-decoration: none; border-radius: 16px; padding: 20px 22px; display: flex; align-items: center; gap: 16px; min-height: 72px; box-sizing: border-box}
.contact-017{display: flex; flex-direction: column; flex: 1}
.contact-018{font-weight: 600; font-size: 18px}
.contact-019{font-size: 14px; color: #D6F0EC}
.contact-020{background: var(--surface); color: var(--ink); text-decoration: none; border: 1px solid #CBD4D1; border-radius: 16px; padding: 18px 22px; display: flex; align-items: center; gap: 16px; min-height: 68px; box-sizing: border-box}
.contact-021{display: flex; flex-direction: column}
.contact-022{font-size: 14px; color: var(--muted-small)}
.contact-023{font-weight: 600; font-size: 18px; font-family: 'IBM Plex Mono', monospace}
.contact-024{font-weight: 600; font-size: 17px}
.contact-025{background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 24px 60px -32px rgba(14,23,22,0.25)}
.contact-026{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.02em}
.contact-027{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 16px}
.contact-028{display: flex; flex-direction: column; gap: 6px}
.contact-029{font-weight: 600; font-size: 14px}
.contact-030{font: inherit; font-size: 16px; padding: 12px 14px; min-height: 48px; box-sizing: border-box; border: 1px solid #B8C3C0; border-radius: 10px; background: var(--surface); color: var(--ink)}
.contact-031{font-weight: 400; color: var(--muted-small)}
.contact-032{font: inherit; font-size: 16px; padding: 12px 14px; box-sizing: border-box; border: 1px solid #B8C3C0; border-radius: 10px; background: var(--surface); color: var(--ink); resize: vertical}
.contact-033{font: inherit; font-weight: 600; font-size: 17px; background: var(--ink); color: var(--surface); border: 0; border-radius: 12px; padding: 15px 22px; min-height: 52px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 10px}
.contact-034{margin: 0; font-size: 14px; color: var(--muted-small)}
.contact-035{background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line)}
.contact-036{max-width: 1200px; margin: 0 auto; padding: 88px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 56px; align-items: start}
.contact-037{display: flex; flex-direction: column; gap: 20px}
.contact-038{display: flex; gap: 20px; align-items: center; flex-wrap: wrap}
.contact-039{flex: none; width: 96px; height: 96px; border-radius: 20px; background: var(--accent-soft); border: 1px dashed var(--accent); display: flex; align-items: center; justify-content: center; font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: var(--accent-dark)}
.contact-040{display: flex; flex-direction: column; gap: 4px}
.contact-041{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent-dark)}
.contact-042{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.06; letter-spacing: -0.03em}
.contact-043{color: var(--muted-small)}
.contact-044{margin: 0; font-size: 17px; color: var(--ink-2); text-wrap: pretty}
.contact-045{display: flex; gap: 10px; flex-wrap: wrap}
.contact-046{background: var(--bg); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15px; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--line); min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px}
.contact-047{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column}
.contact-048{display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid #E6EBE9}
.contact-049{font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 14px; color: var(--surface); background: var(--ink); width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center}
.contact-050{font-size: 16px; color: var(--ink-2)}
.contact-051{display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: 14px 0}
.contact-052{font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 14px; color: var(--surface); background: var(--accent); width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center}
.contact-053{background: var(--surface)}
.contact-054{max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap}
.contact-055{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 20px; letter-spacing: -0.02em}
.contact-056{font-size: 15px; color: var(--muted-small)}
.contact-057{display: flex; gap: 24px; flex-wrap: wrap; font-size: 15px}
.contact-058{color: var(--ink-2)}
[hidden]{display:none!important}
.contact-context{margin:0;padding:12px 16px;background:var(--accent-soft);border-radius:10px;color:var(--accent-dark)}
.contact-bio{display:contents}
.contact-bio p{margin:0;font-size:17px;color:var(--ink-2);text-wrap:pretty}
.contact-process ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;counter-reset:contact-step}
.contact-process li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #E6EBE9;font-size:16px;color:var(--ink-2);counter-increment:contact-step}
.contact-process li::before{content:counter(contact-step,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:14px;color:var(--surface);background:var(--ink);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.contact-process li:last-child{border-bottom:0}
.contact-process li:last-child::before{background:var(--accent)}
.contact-process p{margin:0 0 16px}
#opc{margin:0;border:1px solid #B8C3C0;border-radius:10px;padding:12px 14px;min-width:0}
#opc legend{font-weight:600;font-size:14px;padding:0 6px}
#opcs{display:flex;flex-direction:column;gap:8px}
#opcs label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
#opcs input{accent-color:var(--accent);width:18px;height:18px;flex:none}

/* Aviso legal y privacidad */
.legal-001{font-family: 'IBM Plex Sans', system-ui, sans-serif; color: var(--ink); background: var(--bg); line-height: 1.6}
.legal-002{position: absolute; left: -9999px; top: 8px}
.legal-003{position: sticky; top: 0; z-index: 10; background: rgba(244,246,245,0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line)}
.legal-004{max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap}
.legal-005{display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink)}
.legal-006{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -0.02em}
.legal-007{background: var(--ink); color: var(--surface); text-decoration: none; font-weight: 600; font-size: 15px; padding: 11px 18px; border-radius: 10px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center}
.legal-008{max-width: 1200px; margin: 0 auto; padding: 72px 24px 96px; display: flex; flex-direction: column; gap: 48px}
.legal-009{display: flex; flex-direction: column; gap: 16px; max-width: 760px}
.legal-010{margin: 0; display: inline-flex; align-self: flex-start; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent-dark); background: var(--accent-soft); padding: 6px 12px; border-radius: 999px}
.legal-011{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.4rem, 4.8vw, 3.8rem); line-height: 1.03; letter-spacing: -0.035em}
.legal-012{display: flex; gap: 8px; flex-wrap: wrap}
.legal-013{display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--accent-dark); background: var(--surface); border: 1px solid var(--line); padding: 6px 12px; border-radius: 999px}
.legal-014{display: flex; gap: 40px; flex-wrap: wrap; align-items: flex-start}
.legal-015{flex: 1 1 220px; max-width: 280px; display: flex; flex-direction: column; gap: 4px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px}
.legal-016{margin: 0 0 6px; font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 600; letter-spacing: 0.05em; color: var(--muted-small)}
.legal-017{color: var(--ink); text-decoration: none; font-size: 15px; padding: 8px 10px; border-radius: 8px; min-height: 40px; box-sizing: border-box; display: flex; align-items: center}
.legal-018{flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 20px; max-width: 780px}
.legal-019{background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 18px; scroll-margin-top: 90px}
.legal-020{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.02em}
.legal-021{margin: 0; font-size: 16px; color: var(--ink-2)}
.legal-022{margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 1px; background: #E6EBE9; border: 1px solid #E6EBE9; border-radius: 14px; overflow: hidden}
.legal-023{background: #F9FAFA; padding: 14px 18px; display: flex; flex-direction: column; gap: 2px}
.legal-024{font-size: 13px; color: var(--muted-small)}
.legal-025{margin: 0; font-weight: 600; font-size: 16px}
.legal-026{margin: 0; font-weight: 600; font-size: 16px; font-family: 'IBM Plex Mono', monospace}
.legal-027{background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 90px}
.legal-028{margin: 0; font-size: 16px; color: var(--ink-2); background: var(--bg); border-radius: 12px; padding: 14px 16px}
.legal-029{background: var(--accent-soft); border-radius: 14px; padding: 18px 20px; display: flex; gap: 14px; align-items: flex-start}
.legal-030{flex: none; margin-top: 2px}
.legal-031{margin: 0; font-size: 16px; color: #0E3F3B}
.legal-032{background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 90px}
.legal-033{display: flex; flex-direction: column; gap: 10px}
.legal-034{margin: 0; padding: 0; list-style: none; display: flex; gap: 8px; flex-wrap: wrap}
.legal-035{font-size: 15px; font-weight: 500; background: var(--bg); border: 1px solid #E6EBE9; padding: 6px 14px; border-radius: 999px}
.legal-036{background: var(--ink); color: #EEF3F1; border-radius: 20px; padding: 32px; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; scroll-margin-top: 90px}
.legal-037{flex: none}
.legal-038{display: flex; flex-direction: column; gap: 4px}
.legal-039{margin: 0; font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.02em; color: var(--surface)}
.legal-040{margin: 0; font-size: 17px; color: #B9C6C3}
.legal-041{border-top: 1px solid var(--line); background: var(--surface)}
.legal-042{max-width: 1200px; margin: 0 auto; padding: 40px 24px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap}
.legal-043{font-family: 'Bricolage Grotesque', system-ui, sans-serif; font-weight: 800; font-size: 20px; letter-spacing: -0.02em}
.legal-044{font-size: 15px; color: var(--muted-small)}
.legal-045{display: flex; gap: 24px; flex-wrap: wrap; font-size: 15px}
.legal-046{color: var(--ink-2)}
