@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/3578a2b6.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/12b53b2e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/e51539db.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: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/3578a2b6.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/12b53b2e.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/e51539db.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/570a2bdd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/71e69e06.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/3644d51c.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/c010f9b7.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/9ea68c62.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/530d036b.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/570a2bdd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/71e69e06.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/3644d51c.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/c010f9b7.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/9ea68c62.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/530d036b.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/c4fcfea4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/2ee17598.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/c4fcfea4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/2ee17598.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: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/c4fcfea4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/2ee17598.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 {
  color-scheme: dark;
  --ink:        #DAD7CF;
  --paper:      #121211;
  --cobalt:     #FFFFFF;
  --vermillion: #F4F2EC;
  --graphite:   #918E86;
  --ash:        #35332E;
  --hueso:      #1D1C1A;
  --ocre:       #A9A59B;
  
  --trama: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 5 5-1M2 8 8 2' stroke='rgba(218,215,207,.04)' stroke-width='.5' fill='none'/%3E%3C/svg%3E");
  --mono:  "Commit Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --serif: "Newsreader", "Source Serif 4", Georgia, "Times New Roman", serif;
  --grot:  "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  
  --apretado: -0.032em;
  --gap: clamp(1.5rem, 4vw, 4rem);
  --rail: clamp(3.25rem, 5vw, 4.75rem);
  
  --z-campo: 0;
  --z-contenido: 2;
  --z-columna-app: 3;
  --z-rail: 4;
  --rule: 0.5px;
  
  --puntero:        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='19'%3E%3Cpath d='M2 2 2 15 5.1 12.2 7.3 17.1 9.5 16.1 7.4 11.3 11.4 11.3Z' fill='%23121211' stroke='%23DAD7CF' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto;
  --puntero-activo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='19'%3E%3Cpath d='M2 2 2 15 5.1 12.2 7.3 17.1 9.5 16.1 7.4 11.3 11.4 11.3Z' fill='%23FFFFFF' stroke='%23DAD7CF' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto;
}
:root[data-theme="light"] {
  color-scheme: light;
  --ink:        #24231F;
  --paper:      #E9E7E2;
  --cobalt:     #000000;
  --vermillion: #100F0D;
  --graphite:   #5D5B55;
  --ash:        #C0BDB6;
  --hueso:      #F2F1ED;
  --ocre:       #6E6B64;
  --trama: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M-1 5 5-1M2 8 8 2' stroke='rgba(36,35,31,.04)' stroke-width='.5' fill='none'/%3E%3C/svg%3E");
  --puntero:        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='19'%3E%3Cpath d='M2 2 2 15 5.1 12.2 7.3 17.1 9.5 16.1 7.4 11.3 11.4 11.3Z' fill='%23E9E7E2' stroke='%2324231F' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto;
  --puntero-activo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='19'%3E%3Cpath d='M2 2 2 15 5.1 12.2 7.3 17.1 9.5 16.1 7.4 11.3 11.4 11.3Z' fill='%23000000' stroke='%2324231F' stroke-width='1' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, auto;
}
:root[data-app] { --trama: none; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background-color: var(--paper);
  background-image: var(--trama);
  color: var(--ink);
  font-family: var(--grot);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.rail {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--rail);
  background-color: var(--paper);
  background-image: var(--trama);
  border-right: var(--rule) solid var(--ash);
  z-index: var(--z-rail);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 0 1.35rem;
}
.rail__tools {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
  margin-top: auto;
}
.rail__mark {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .7rem;
  color: var(--ink);
  text-decoration: none;
  transition: color 180ms ease-out;
}
.rail__mark svg { width: 2.45rem; height: 2.45rem; display: block; }
.rail__mark:hover, .rail__mark:focus-visible { color: var(--cobalt); }
.rail__mark:hover .rail__word, .rail__mark:focus-visible .rail__word { color: var(--cobalt); }
.rail__mark:focus-visible { outline: 1.5px solid var(--cobalt); outline-offset: 6px; border-radius: 4px; }
.rail__mark .rail__tip {
  top: 1.2rem;
  transform: translate(-.25rem, -50%);
}
.rail__mark:hover .rail__tip,
.rail__mark:focus-visible .rail__tip { opacity: 1; transform: translate(0, -50%); }
.rail__word {
  font-family: var(--mono);
  font-size: .74rem;
  letter-spacing: .2em;
  color: var(--graphite);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transition: color 180ms ease-out;
}
.rail__tool {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  color: var(--graphite);
  text-decoration: none;
  transition: color 180ms ease-out;
}
.rail__ico svg { width: 1.75rem; height: 1.75rem; display: block; }
.rail__tool:hover, .rail__tool:focus-visible { color: var(--cobalt); }
.rail__tool:focus-visible { outline: none; }
.rail__anillo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.6rem;
  height: 2.6rem;
  transform: translate(-50%, -50%) rotate(-90deg);
  fill: none;
  stroke: currentColor;
  pointer-events: none;
  overflow: visible;
}
.rail__anillo circle {
  stroke-width: .5;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition: stroke-dashoffset 220ms ease-out;
}
.rail__tool:hover .rail__anillo circle,
.rail__tool:focus-visible .rail__anillo circle,
.rail__app:hover .rail__anillo circle,
.rail__app:focus-visible .rail__anillo circle { stroke-dashoffset: 0; }
.rail__tool[aria-current="page"] { color: var(--ink); }
.rail__tool[aria-current="page"] .rail__anillo circle,
.rail__app[aria-current="page"] .rail__anillo circle { stroke-dashoffset: 0; }
.rail__tip {
  position: absolute;
  left: calc(100% + .85rem);
  white-space: nowrap;
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--ink);
  background: var(--paper);
  padding: .3rem .5rem;
  border: var(--rule) solid var(--ash);
  opacity: 0;
  transform: translateX(-.25rem);
  pointer-events: none;
  transition: opacity 160ms ease-out, transform 160ms ease-out;
}
.rail__tool:hover .rail__tip,
.rail__tool:focus-visible .rail__tip { opacity: 1; transform: none; }
.rail__rotulo--dentro { display: none; }
:root[data-sesion] .rail__rotulo--fuera { display: none; }
:root[data-sesion] .rail__rotulo--dentro { display: inline; }
.rail__apps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .7rem;
  margin-top: 1.9rem;
}
.rail__apps:empty { display: none; }
.rail__servicios {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .95rem;
  margin-top: 1.9rem;
}
:root[data-sesion] .rail__servicios { display: none; }
 
:root[data-servicio="sitios-web"] .rail__tool--sitios-web,
:root[data-servicio="agentes"]    .rail__tool--agentes,
:root[data-servicio="crm"]        .rail__tool--crm,
:root[data-servicio="publicidad"] .rail__tool--publicidad,
:root[data-servicio="software"]   .rail__tool--software { color: var(--ink); }
.rail__tool--sitios-web[aria-current="page"],
.rail__tool--agentes[aria-current="page"],
.rail__tool--crm[aria-current="page"],
.rail__tool--publicidad[aria-current="page"],
.rail__tool--software[aria-current="page"] { color: var(--ink); }
:root[data-servicio="sitios-web"] .rail__tool--sitios-web .rail__anillo circle,
:root[data-servicio="agentes"]    .rail__tool--agentes    .rail__anillo circle,
:root[data-servicio="crm"]        .rail__tool--crm        .rail__anillo circle,
:root[data-servicio="publicidad"] .rail__tool--publicidad .rail__anillo circle,
:root[data-servicio="software"]   .rail__tool--software   .rail__anillo circle { stroke-dashoffset: 0; }
.rail__tool--sitios-web[aria-current="page"] .rail__anillo circle,
.rail__tool--agentes[aria-current="page"]    .rail__anillo circle,
.rail__tool--crm[aria-current="page"]        .rail__anillo circle,
.rail__tool--publicidad[aria-current="page"] .rail__anillo circle,
.rail__tool--software[aria-current="page"]   .rail__anillo circle { stroke-dashoffset: 0; }
:root[data-servicio] .rail__mark { color: var(--graphite); }
:root[data-servicio] .rail__mark .mark__sym { color: inherit; }
:root[data-servicio="inicio"] .rail__mark,
:root[data-servicio="inicio"] .rail__word { color: var(--ink); }
@media (max-width: 34rem) {
  :root { --rail: 2.5rem; }
  .rail { padding: .85rem 0 1.1rem; }
  .rail__mark svg { width: 1.7rem; height: 1.7rem; }
  .rail__word { font-size: .64rem; letter-spacing: .14em; }
  .rail__ico svg { width: 1.5rem; height: 1.5rem; }
  .rail__anillo { width: 2.2rem; height: 2.2rem; }
  .rail__app-ico { width: 1.7rem; height: 1.7rem; }
  .rail__app-ico svg { width: 1rem; height: 1rem; }
}
@media (max-height: 46rem) {
  .rail__apps, .rail__servicios { margin-top: 1.35rem; gap: .7rem; }
  .rail__tool--servicio .rail__ico svg { width: 1.45rem; height: 1.45rem; }
}
@media (max-height: 34rem) {
  .rail__word { display: none; }
  .rail__mark svg { width: 1.7rem; height: 1.7rem; }
  .rail__servicios { gap: .5rem; }
  .rail__tool--servicio .rail__ico svg { width: 1.15rem; height: 1.15rem; }
  .rail__tools { gap: .9rem; }
  .rail__tool--servicio .rail__anillo { width: 1.65rem; height: 1.65rem; }
}
@media (max-height: 16rem) {
  .rail { padding: .5rem 0 .6rem; }
  .rail__mark svg { width: 1.35rem; height: 1.35rem; }
  .rail__servicios { margin-top: .6rem; gap: .25rem; }
  .rail__tool { min-width: 0; min-height: 0; }
  .rail__tool--servicio .rail__ico svg { width: 1rem; height: 1rem; }
  .rail__tools { gap: .6rem; }
  .rail__tools .rail__ico svg { width: 1.35rem; height: 1.35rem; }
}
.rail__app {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.rail__app-ico {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  transition: background 180ms ease-out;
}
.rail__app-ico svg { width: 1.2rem; height: 1.2rem; display: block; }
.rail__app-ico--letra {
  font-family: var(--mono);
  font-size: .95rem;
  line-height: 1;
}
.rail__app:hover .rail__app-ico,
.rail__app:focus-visible .rail__app-ico { background: var(--cobalt); }
.rail__app:focus-visible { outline: none; }
.rail__app .rail__tip { opacity: 0; transform: translateX(-.25rem); }
.rail__app:hover .rail__tip,
.rail__app:focus-visible .rail__tip { opacity: 1; transform: none; }
@media (max-width: 60rem) {
  .rail__app-ico { width: 1.95rem; height: 1.95rem; }
  .rail__app-ico svg { width: 1.1rem; height: 1.1rem; }
}
.head {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 1rem;
  margin-left: var(--rail);
  padding: var(--gap) var(--gap) 0 var(--gap);
  position: relative;
  z-index: var(--z-rail);
}
.mark {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  text-decoration: none;
  color: inherit;
}
.mark__sym { width: 1.35rem; height: 1.35rem; color: var(--ink); flex: none; }
.mark__word {
  font-family: var(--mono);
  font-size: .95rem;
  letter-spacing: .01em;
  transform: translateY(.04em);
}
.tools { display: flex; align-items: center; gap: .9rem; }
.theme {
  display: inline-flex;
  position: relative;
  padding: .6rem .5rem;
  border: 0;
  background: none;
  color: var(--graphite);
  cursor: pointer;
  transition: color 180ms ease-out, transform 320ms ease-out;
}
.theme svg { width: .82rem; height: .82rem; display: block; }
.theme:hover { color: var(--ink); }
.theme:focus-visible { outline: 1.5px solid var(--cobalt); outline-offset: 4px; }
:root:not([data-theme="light"]) .theme { transform: rotate(180deg); }
.bandera {
  width: 1.15rem;
  height: auto;
  display: block;
  border-radius: 1.5px;
  flex: none;
}
.lang { display: flex; align-items: center; gap: 0; }
.lang button {
  background: none;
  border: 0;
  padding: .6rem .2rem;
  line-height: 0;
  border-radius: 2px;
  cursor: pointer;
  opacity: .4;
  filter: saturate(.45);
  transition: opacity 160ms ease-out, filter 160ms ease-out;
}
.lang button[aria-pressed="true"] { opacity: 1; filter: none; }
.lang button:hover { opacity: 1; filter: none; }
.lang button:focus-visible { outline: 1.5px solid var(--cobalt); outline-offset: 3px; }
.sheet {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: var(--gap);
  padding: var(--gap) var(--gap) var(--gap) calc(var(--rail) + var(--gap));
  min-height: 0;
}
.field {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.say { max-width: 36ch; display: grid; gap: 1rem; }
.say__lead {
  margin: 0;
  position: relative;
  font-weight: 500;
  font-size: clamp(1.75rem, 3.6vw, 2.8rem);
  line-height: 1.08;
  letter-spacing: var(--apretado);
  text-wrap: balance;
}
.say__sub { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--graphite); max-width: 42ch; }
.say__go { margin: .9rem 0 0; }
.foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: .3rem .9rem;
  margin-left: var(--rail);
  margin-top: calc(var(--gap) * 2.4);
  padding: var(--gap);
  border-top: var(--rule) solid var(--ash);
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--graphite);
}
.foot__marca { font-weight: 600; color: var(--ink); }
.foot__donde { color: var(--graphite); }
.foot__mail { color: var(--graphite); text-decoration: none; border-bottom: var(--rule) solid var(--ash); }
.foot__mail:hover { color: var(--cobalt); border-color: var(--cobalt); }
@media (min-width: 60rem) {
  .sheet {
    grid-template-columns: minmax(0, 1.4fr) minmax(20rem, .8fr);
    align-items: center;
    gap: calc(var(--gap) * 1.15);
  }
  .say { align-self: center; grid-column: 2; }
  .sheet--page { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 48rem) {
  .field { opacity: .42; }
}
@media (max-width: 60rem) {
  :root:has(.baraja) .field { opacity: .42; }
}
.sheet--page {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  padding-top: calc(var(--gap) * 1.6);
  gap: calc(var(--gap) * .9);
}
.page__head { display: grid; gap: .55rem; max-width: 42ch; }
.page__eyebrow {
  margin: 0;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--graphite);
}
.page__title {
  margin: 0;
  font-weight: 500;
  overflow-wrap: anywhere;
  font-size: clamp(2.3rem, 5.6vw, 4rem);
  line-height: 1.03;
  letter-spacing: var(--apretado);
  text-wrap: balance;
}
.prose {
  max-width: 62ch;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
  font-size: 1.02rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.prose p { margin: 0; }
.prose h2 {
  margin: 1.5rem 0 0;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.25;
  letter-spacing: -0.018em;
}
.prose h3 {
  margin: 1rem 0 0;
  font-family: var(--mono);
  font-weight: 400;
  font-size: .8rem;
  letter-spacing: .05em;
  color: var(--graphite);
}
.prose a { color: var(--cobalt); text-decoration: none; border-bottom: var(--rule) solid currentColor; }
.prose ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.prose table { border-collapse: collapse; font-variant-numeric: tabular-nums; width: 100%; }
.prose th, .prose td { text-align: left; padding: .45rem .6rem .45rem 0; border-bottom: var(--rule) solid var(--ash); }
.prose th { font-family: var(--mono); font-weight: 400; font-size: .74rem; color: var(--graphite); }
.prose > * { min-width: 0; }
.prose__ancho { overflow-x: auto; }
.prose__ancho table { width: auto; min-width: 100%; }
.prose__ancho td, .prose__ancho th { overflow-wrap: normal; }
.nb { white-space: nowrap; }
.prose td code, .prose th code { overflow-wrap: anywhere; }
.prose ol {
  margin: 0;
  padding-left: 1.4rem;
  display: grid;
  gap: .4rem;
  font-variant-numeric: tabular-nums;
}
.prose blockquote {
  margin: .6rem 0;
  padding: 0;
  font-family: var(--serif);
  font-size: 1.22rem;
  line-height: 1.4;
  color: var(--ink);
  max-width: 30ch;
}
.prose figure { margin: .6rem 0; display: grid; gap: .5rem; }
.prose figure img, .prose img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-top: var(--rule) solid var(--ash);
  border-bottom: var(--rule) solid var(--ash);
}
.prose figcaption {
  font-family: var(--mono);
  font-size: .74rem;
  line-height: 1.5;
  color: var(--graphite);
}
.prose code {
  font-family: var(--mono);
  font-size: .88em;
  color: var(--ink);
}
.prose pre {
  margin: 0;
  padding: .9rem 1rem;
  overflow-x: auto;
  border-top: var(--rule) solid var(--ash);
  border-bottom: var(--rule) solid var(--ash);
  font-family: var(--mono);
  font-size: .82rem;
  line-height: 1.6;
  tab-size: 2;
}
.prose pre code { font-size: inherit; }
.prose hr {
  margin: .8rem 0;
  border: 0;
  border-top: var(--rule) solid var(--ash);
}
.prose h2[id], .prose h3[id], .conn__sec > h2[id] { scroll-margin-top: 5rem; }
.prose sup {
  font-family: var(--mono);
  font-size: .68em;
  color: var(--cobalt);
}
.page__note { color: var(--graphite); }
.auth { display: grid; gap: 1.1rem; max-width: 26rem; margin-top: .6rem; }
.field-row { display: grid; gap: .4rem; }
.field-row__label {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .04em;
  color: var(--graphite);
}
.input {
  font: inherit;
  font-size: 1rem;
  color: var(--ink);
  background: var(--paper);
  border: var(--rule) solid var(--ash);
  border-radius: 8px;
  padding: .68rem .8rem;
  transition: border-color 160ms ease-out;
}
.input:hover { border-color: var(--graphite); }
.input:focus { outline: none; border-color: var(--cobalt); box-shadow: none; }
.btn {
  justify-self: start;
  font-family: var(--grot);
  font-weight: 500;
  font-size: .92rem;
  letter-spacing: -0.008em;
  color: var(--paper);
  background: var(--ink);
  border: 0;
  border-radius: 8px;
  padding: .68rem 1.3rem;
  cursor: pointer;
  transition: background-color 170ms ease-out;
}
.btn:hover { background: var(--cobalt); }
.btn:focus-visible { outline: 1.5px solid var(--ink); outline-offset: 3px; }
.auth__note { margin: 0; font-size: .88rem; color: var(--graphite); }
.page__lead {
  margin: .5rem 0 0;
  max-width: 44ch;
  overflow-wrap: anywhere;
  font-size: 1.1rem;
  line-height: 1.55;
  color: var(--graphite);
}
.page__back { margin: calc(var(--gap) * .8) 0 0; font-family: var(--mono); font-size: .78rem; }
.page__back a { color: var(--graphite); text-decoration: none; display: inline-block; padding: .45rem .2rem; margin: -.45rem -.2rem; }
.page__back a:hover { color: var(--cobalt); }
.conn {
  gap: 0;
  max-width: 74rem;
  --margen: clamp(0px, 7vw, 5.5rem);
  --canal: clamp(0px, 2.5vw, 2rem);
  --medida: 34rem;
}
.conn__sec,
.conn .page__head {
  display: grid;
  grid-template-columns: var(--margen) minmax(0, var(--medida));
  column-gap: var(--canal);
  max-width: none;
}
.conn__fig {
  display: grid;
  grid-template-columns: var(--margen) minmax(0, 1fr);
  column-gap: var(--canal);
  max-width: none;
}
.conn__sec > *,
.conn .page__head > *,
.conn__fig > * { grid-column: 2; }
.conn__num {
  grid-column: 1;
  grid-row: 1 / 3;
  margin: .35rem 0 0;
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--ash);
  font-variant-numeric: tabular-nums;
  align-self: start;
}
.conn__title { max-width: 17ch; }
.conn .page__lead { max-width: 46ch; font-size: 1.12rem; }
.conn__nota {
  margin: 1.5rem 0 0;
  font-family: var(--mono);
  font-size: .74rem;
  line-height: 1.75;
  letter-spacing: .01em;
  color: var(--graphite);
  max-width: 46ch;
}
.conn__fig { margin: calc(var(--gap) * 1.5) 0 0; }
.conn__fig > .conn__canvas {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  height: clamp(190px, 30vw, 360px);
  border-top: var(--rule) solid var(--ash);
  border-bottom: var(--rule) solid var(--ash);
}
.conn__fignum {
  grid-column: 1;
  margin: .6rem 0 0;
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--ash);
}
.conn__figcap {
  margin: .6rem 0 0;
  font-size: .88rem;
  line-height: 1.6;
  color: var(--graphite);
  max-width: 56ch;
}
.tinta { font-weight: 400; }
.tinta--viva { color: var(--cobalt); }
.tinta--apagada { color: var(--graphite); }
.conn__sec { margin-top: calc(var(--gap) * 2.1); }
.conn__sec > h2 {
  margin: 0 0 1.15rem;
  font-weight: 500;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  line-height: 1.1;
  max-width: 24ch;
  letter-spacing: -0.026em;
}
.conn .prose { max-width: 58ch; }
.conn__punch {
  font-family: var(--serif);
  font-size: 1.3rem;
  line-height: 1.45;
  color: var(--ink);
  border-left: 1.5px solid var(--cobalt);
  padding-left: 1.05rem;
}
.conn__sec > .tres {
  grid-column: 1 / -1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.tres li {
  display: grid;
  grid-template-columns: var(--margen) minmax(0, var(--medida));
  column-gap: var(--canal);
  padding: 1.5rem 0;
  border-top: var(--rule) solid var(--ash);
}
.tres li:last-child { border-bottom: var(--rule) solid var(--ash); }
.tres__n {
  grid-column: 1;
  grid-row: 1 / 3;
  margin: .3rem 0 0;
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--ash);
  font-variant-numeric: tabular-nums;
  align-self: start;
}
.tres h2 {
  grid-column: 2;
  margin: 0;
  font-weight: 500;
  font-size: clamp(1.15rem, 1.9vw, 1.42rem);
  line-height: 1.22;
  letter-spacing: -0.016em;
}
.tres li > p:not(.tres__n) {
  grid-column: 2;
  margin: .45rem 0 0;
  color: var(--graphite);
  font-size: .95rem;
}
.conn__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .9rem;
  margin: 1.6rem 0 0;
}
.btn--link { display: inline-block; text-decoration: none; }
.conn__cta-note { font-size: .88rem; color: var(--graphite); }
.conn__close {
  margin-top: calc(var(--gap) * 2.4);
  border-top: var(--rule) solid var(--ash);
  padding-top: calc(var(--gap) * 1.1);
}
.figures {
  list-style: none;
  margin: 1.6rem 0 0;
  padding: 0;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  background: var(--ash);
  border: var(--rule) solid var(--ash);
}
.figures li { background: var(--paper); padding: 1.15rem 1.2rem; display: grid; gap: .35rem; }
.figures b {
  font-family: var(--mono);
  font-weight: 400;
  font-size: 1.75rem;
  font-variant-numeric: tabular-nums;
  color: var(--cobalt);
  line-height: 1;
}
.figures span { font-size: .88rem; color: var(--graphite); }
@media (max-width: 48rem) {
  .conn { --margen: 0px; --canal: 0px; --medida: 1fr; }
  .conn__num,
  .conn__fignum { grid-column: 2; grid-row: auto; margin: 0 0 .3rem; }
  .conn__fignum { margin: .6rem 0 .2rem; }
  .conn__sec > h2 { max-width: none; }
  .tres__n { grid-row: auto; margin: 0 0 .35rem; }
  .tres li { grid-template-columns: minmax(0, 1fr); }
  .tres__n, .tres h2, .tres li > p:not(.tres__n) { grid-column: 1; }
}
.baraja {
  position: fixed;
  inset: 0 0 0 var(--rail);
  z-index: var(--z-contenido);
  display: grid;
  align-content: center;
  padding: calc(var(--gap) + 3rem) var(--gap) calc(var(--gap) + 2.6rem);
  touch-action: pan-x pinch-zoom;
  overscroll-behavior: none;
  pointer-events: none;
}
.baraja__hoja {
  grid-area: 1 / 1;
  align-self: center;
  max-width: 38ch;
  max-height: 100%;
  display: grid;
  gap: 1rem;
  pointer-events: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 170ms ease-out, transform 170ms ease-out, visibility 0s linear 170ms;
}
.baraja__hoja:focus,
.baraja__hoja:focus-visible { outline: none; }
.baraja__hoja[data-activa] {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.baraja__hoja[data-lado="izq"] { justify-self: start; }
.baraja__hoja[data-lado="der"] { justify-self: end; }
@media (max-width: 60rem) {
  .baraja__hoja[data-lado] { justify-self: stretch; max-width: none; }
}
.baraja__cuenta {
  margin: 0;
  font-family: var(--mono);
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  color: var(--graphite);
  display: flex;
  align-items: center;
  gap: .85rem;
}
.baraja__cuenta::after {
  content: "";
  flex: 1 1 0;
  min-width: 0;
  height: 0;
  border-top: var(--rule) solid var(--ash);
}
.baraja__titulo {
  margin: 0;
  font-weight: 500;
  font-size: clamp(1.6rem, min(4.2vw, 6.4vh), 2.9rem);
  line-height: 1.06;
  letter-spacing: var(--apretado);
  text-wrap: balance;
}
.baraja__lead {
  margin: 0;
  max-width: 42ch;
  font-size: clamp(.95rem, min(1.5vw, 2.3vh), 1.05rem);
  line-height: 1.6;
  color: var(--graphite);
}
.baraja__lead__fuerte {
  display: block;
  color: var(--ink);
  font-weight: 500;
}
h1.baraja__lead {
  color: var(--ink);
  font-weight: 500;
  font-size: clamp(1.6rem, min(4.2vw, 6.4vh), 2.9rem);
  line-height: 1.06;
  letter-spacing: var(--apretado);
  text-wrap: balance;
}
h1.baraja__lead > span:first-child {
  display: block;
  color: var(--graphite);
  font-size: .72em;
  margin-bottom: .5em;
}
h1.baraja__lead .baraja__lead__fuerte {
  display: block;
  color: var(--ink);
  font-weight: inherit;
}
.baraja__cierre {
  margin: .35rem 0 0;
  font-family: var(--mono);
  font-size: .82rem;
  line-height: 1.5;
  color: color-mix(in srgb, var(--ink) 70%, var(--graphite));
}
.baraja__ficha {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem 1.1rem;
  margin-top: .6rem;
  font-family: var(--mono);
  font-size: .78rem;
  color: var(--graphite);
}
.baraja__ficha .foot__mail { padding: .15rem 0; }
.ficha__foco {
  flex: 0 0 100%;
  margin: .2rem 0 .35rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem 1.2rem;
}
.ficha__via {
  font-family: var(--grot);
  font-size: clamp(1rem, min(1.6vw, 2.4vh), 1.15rem);
  color: var(--ink);
  text-decoration: none;
  border-bottom: var(--rule) solid var(--graphite);
  padding-bottom: .1rem;
}
.ficha__via:hover { color: var(--cobalt); border-bottom-color: var(--cobalt); }
.ficha__cta {
  position: relative;
  flex: 0 0 auto;
  background: transparent;
  color: var(--ink);
  border: 0;
  border-radius: 0;
  padding: .85rem 1.15rem;
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .17em;
  text-transform: uppercase;
  font-weight: 400;
  text-decoration: none;
  transition: letter-spacing 220ms ease-out, color 170ms ease-out;
}
.ficha__cta::before,
.ficha__cta::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  transition: width 260ms ease-out, height 260ms ease-out, border-color 170ms ease-out;
}
.ficha__cta::before {
  left: 0;
  top: 0;
  border-left: 1px solid var(--ink);
  border-top: 1px solid var(--ink);
}
.ficha__cta::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.ficha__cta:hover,
.ficha__cta:focus-visible { letter-spacing: .2em; }
.ficha__cta:hover::before,
.ficha__cta:hover::after,
.ficha__cta:focus-visible::before,
.ficha__cta:focus-visible::after { width: 100%; height: 100%; }
.ficha__cta:focus-visible {
  outline: none;
  color: var(--cobalt);
}
.ficha__cta:focus-visible::before,
.ficha__cta:focus-visible::after { border-color: var(--cobalt); }
.baraja__llamada {
  margin: 1.35rem 0 0;
  align-self: stretch;
  width: 100%;
  display: flex;
  justify-content: center;
}
.baraja__hoja--portada { max-width: 36ch; }
.baraja__hoja--portada             { --hueco: 21; }
.baraja__hoja[data-slug="agentes"] { --hueco: 15; }
@media (width > 60rem) {
  .baraja__hoja[data-lado="der"] {
    translate: min(0px, calc(var(--gap) + 50% - var(--hueco) * 1vw)) 0;
  }
}
.baraja__hoja--portada .baraja__titulo { font-size: clamp(1.75rem, min(4.8vw, 7.2vh), 3.1rem); }
.baraja__aviso {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.baraja__baja {
  position: fixed;
  right: var(--gap);
  bottom: var(--gap);
  z-index: var(--z-contenido);
  margin: 0;
  color: var(--graphite);
  pointer-events: none;
}
.baraja__baja svg {
  display: block;
  width: 2.1rem;
  height: auto;
  overflow: visible;
}
.baraja__baja path {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: baja 2600ms ease-in-out infinite;
}
.baraja__baja path:nth-child(2) { animation-delay: 160ms; }
.baraja__baja path:nth-child(3) { animation-delay: 320ms; }
@keyframes baja {
  0%   { opacity: 0;           transform: translateY(-2px); }
  18%  { opacity: var(--pico); transform: translateY(0); }
  58%  { opacity: var(--pico); transform: translateY(0); }
  85%  { opacity: 0;           transform: translateY(3px); }
  100% { opacity: 0;           transform: translateY(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .baraja__baja path { animation: none; opacity: var(--pico); transform: none; }
}
.baraja__salida {
  position: fixed;
  left: calc(var(--rail) + var(--gap));
  right: var(--gap);
  bottom: var(--gap);
  z-index: var(--z-contenido);
  margin: 0;
  font-family: var(--mono);
  font-size: .78rem;
  pointer-events: none;
  visibility: hidden;
}
.baraja__salida[data-visible] { visibility: visible; }
.baraja__salida a {
  color: var(--graphite);
  pointer-events: auto;
  text-decoration: none;
}
.baraja__salida a:hover { color: var(--cobalt); }
@media (max-height: 34rem) {
  .baraja { padding-top: calc(var(--gap) + 2rem); align-content: start; touch-action: pan-y pinch-zoom; overflow-y: auto; }
}
:root[data-zoom] .baraja { touch-action: auto; overflow-y: auto; }
.puntero {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9998;
  opacity: 0;
  will-change: transform;
  transition: opacity 180ms ease-out, width 180ms ease-out,
              height 180ms ease-out, border-color 180ms ease-out;
}
:root[data-puntero-dentro] .puntero { opacity: 1; }
:root[data-puntero="texto"] .puntero { opacity: 0; }
.puntero--anillo {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: var(--rule) solid var(--graphite);
}
:root[data-puntero="tocable"] .puntero--anillo {
  width: 15px;
  height: 15px;
  border-color: var(--ink);
}
.puntero--onda {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9997;
  border-radius: 50%;
  border: var(--rule) solid var(--cobalt);
  will-change: width, height, opacity;
  animation: puntero-onda 620ms linear forwards;
}
.puntero--onda::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  border: var(--rule) solid var(--ink);
  transform: translate(-50%, -50%);
  animation: puntero-onda-dentro 620ms linear forwards;
}
@keyframes puntero-onda {
  0%   { width: 14px; height: 14px; opacity: 0; }
  7%   { opacity: .9; }
  40%  { width: 62px; height: 62px; }
  60%  { opacity: .55; }
  100% { width: 92px; height: 92px; opacity: 0; }
}
@keyframes puntero-onda-dentro {
  0%, 15% { width: 10px; height: 10px; opacity: 0; }
  22%     { opacity: .7; }
  100%    { width: 48px; height: 48px; opacity: 0; }
}
:root[data-puntero-pulsa] .puntero--anillo {
  width: 9px;
  height: 9px;
  border-color: var(--cobalt);
  transition-duration: 90ms;
}
:root[data-cursor] { cursor: var(--puntero); }
:root[data-cursor] :is(a[href], button, [role="button"], summary) {
  cursor: var(--puntero-activo);
}
:root[data-cursor] :is(input, textarea, select, [contenteditable]) { cursor: auto; }
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
.notas__lista,
.servicios__lista { margin: 0; padding: 0; list-style: none; display: grid; }
.notas__lista > li,
.servicios__lista > li { padding-bottom: calc(var(--gap) * 1.2); }
.notas__lista > li + li,
.servicios__lista > li + li {
  padding-top: calc(var(--gap) * 1.2);
  border-top: var(--rule) solid var(--ash);
}
.notas__lista h2,
.servicios__lista h2 { max-width: 26ch; }
.notas__lista h2 a,
.servicios__lista h2 a { color: var(--ink); text-decoration: none; }
.notas__lista h2 a:hover,
.servicios__lista h2 a:hover { color: var(--cobalt); }
.servicios__lista { margin-top: calc(var(--gap) * 2.1); }
.servicios__lista > li.conn__sec { margin-top: 0; }
.nota__sigue { margin-top: calc(var(--gap) * 1.6); }
.nota__sigue .prose { color: var(--graphite); }
@media print {
  :root {
    color-scheme: light;
    --ink:        #111111;
    --paper:      #FFFFFF;
    --cobalt:     #000000;
    --vermillion: #000000;
    --graphite:   #555555;
    --ash:        #999999;
  }
  .rail, .head, .field { display: none; }
  .sheet, .foot { margin-left: 0; }
  a { color: inherit; }
  .prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; color: #555555; }
}
@media (forced-colors: active) {
  .bandera { forced-color-adjust: none; }
}
.vende {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}
@media (min-width: 62rem) {
  .vende { grid-template-columns: minmax(0, 27rem) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
  .conn .page__head.vende {
    grid-template-columns: var(--margen) minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 0 clamp(2rem, 4vw, 3.5rem);
    align-items: start;
  }
  .conn .page__head.vende > :is(.habla, .buzon, .medicion, .cadena, .calculo) {
    grid-column: 3;
    grid-row: 1 / -1;
    align-self: center;
  }
}
.vende__acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.vende__accion {
  font: 500 0.95rem/1 var(--grot);
  letter-spacing: -0.01em;
  padding: 0.85rem 1.2rem;
  border: var(--rule) solid var(--ink);
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
.vende__accion--primaria { background: var(--ink); color: var(--paper); }
.vende__accion:hover { background: var(--ink); color: var(--paper); }
.vende__accion--primaria:hover { background: transparent; color: var(--ink); }
@media (prefers-reduced-motion: reduce) { .vende__accion { transition: none; } }
.vende__garantia {
  font: 0.8rem/1.5 var(--mono);
  color: var(--graphite);
  margin: 0.9rem 0 0;
  max-width: 34ch;
}
.habla {
  border: var(--rule) solid var(--ash);
  background: var(--hueso);
  display: grid;
  gap: 0;
  max-width: 100%;
  font-family: var(--grot);
}
.habla__barra {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.habla__quien { font: 500 0.85rem/1.2 var(--grot); color: var(--ink); }
.habla__canal { font: 0.7rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--graphite); margin-left: auto; }
.habla__hilo {
  display: grid;
  gap: 0.55rem;
  padding: 0.9rem;
  align-content: start;
}
.habla__msj {
  font-size: 0.87rem;
  line-height: 1.45;
  padding: 0.6rem 0.75rem;
  max-width: 85%;
  border: var(--rule) solid var(--ash);
  color: var(--ink);
  margin: 0;
}
.habla__msj--suyo { justify-self: start; background: var(--paper); }
.habla__msj--nuestro { justify-self: end; background: var(--ash); border-color: transparent; }
.habla__nota {
  font: 0.72rem/1.4 var(--mono);
  color: var(--graphite);
  text-align: center;
  padding: 0.35rem 0;
  margin: 0;
  letter-spacing: 0.02em;
}
.habla__nota b { color: var(--ink); font-weight: 500; }
.habla__pie {
  border-top: var(--rule) solid var(--ash);
  padding: 0.6rem 0.9rem;
  font: 0.72rem/1.4 var(--mono);
  color: var(--graphite);
}
.buzon {
  border: var(--rule) solid var(--ash);
  background: var(--hueso);
  max-width: 100%;
  font-family: var(--grot);
}
.buzon__barra {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.buzon__titulo { font: 500 0.85rem/1.2 var(--grot); color: var(--ink); }
.buzon__cuenta {
  font: 0.7rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--graphite);
  margin-left: auto;
}
.buzon__lista { list-style: none; margin: 0; padding: 0; }
.buzon__fila {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.1rem 0.6rem;
  padding: 0.7rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.buzon__lista > li:last-child .buzon__fila { border-bottom: 0; }
.buzon__quien {
  grid-column: 1;
  grid-row: 1;
  font: 500 0.85rem/1.3 var(--grot);
  color: var(--ink);
  min-width: 0;
  overflow-wrap: anywhere;
}
.buzon__hora {
  grid-column: 2;
  grid-row: 1;
  font: 0.7rem/1.5 var(--mono);
  color: var(--graphite);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.buzon__ultimo {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--graphite);
  overflow-wrap: anywhere;
}
.buzon__meta {
  grid-column: 1 / -1;
  margin: 0.2rem 0 0;
  font: 0.7rem/1.5 var(--mono);
  letter-spacing: 0.02em;
  color: var(--graphite);
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.45rem;
}
.buzon__meta > * { white-space: nowrap; }
.buzon__meta > *:not(:last-child)::after { content: "·"; margin-left: 0.45rem; }
.buzon__canal { text-transform: uppercase; letter-spacing: 0.08em; }
.buzon__meta b { color: var(--ink); font-weight: 500; }
.buzon__fila--sola {
  border-left: 1.5px solid var(--ink);
  padding-left: calc(0.9rem - 1.5px);
}
.buzon__sinnadie { color: var(--ink); font-weight: 500; }
.buzon__pie {
  border-top: var(--rule) solid var(--ash);
  padding: 0.6rem 0.9rem;
  margin: 0;
  font: 0.72rem/1.4 var(--mono);
  color: var(--graphite);
}
.medicion {
  border: var(--rule) solid var(--ash);
  background: var(--hueso);
  font-family: var(--grot);
  margin: 0;
  max-width: 100%;
}
.medicion__cabecera {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.medicion__url {
  font: 0.72rem/1.3 var(--mono);
  color: var(--ink);
  overflow-wrap: break-word;
}
.medicion__perfil {
  font: 0.7rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--graphite);
  margin-left: auto;
  white-space: nowrap;
}
.medicion__marca {
  padding: 1rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.medicion__rotulo {
  font: 0.7rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--graphite);
  margin: 0;
}
.medicion__cifra {
  font: 500 clamp(2.6rem, 9vw, 3.4rem)/1 var(--grot);
  letter-spacing: var(--apretado);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  margin: 0.35rem 0 0;
}
.medicion__de {
  font: 0.95rem/1 var(--mono);
  letter-spacing: 0;
  color: var(--graphite);
  margin-left: 0.4rem;
}
.medicion__rango {
  font: 0.72rem/1.5 var(--mono);
  color: var(--graphite);
  margin: 0.6rem 0 0;
}
.medicion__fila {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 0.75rem;
  padding: 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.medicion__sigla {
  font: 0.7rem/1 var(--mono);
  letter-spacing: 0.08em;
  color: var(--graphite);
  margin: 0;
}
.medicion__valor {
  grid-column: 2;
  grid-row: 1 / 3;
  font: 500 1.35rem/1 var(--grot);
  letter-spacing: var(--apretado);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  margin: 0;
  align-self: center;
  white-space: nowrap;
}
.medicion__que {
  grid-column: 1;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--ink);
  margin: 0.3rem 0 0;
}
.medicion__pista {
  grid-column: 1 / -1;
  position: relative;
  height: 0.5rem;
  margin: 0.85rem 0 0;
  background: var(--ash);
}
.medicion__lleno {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--valor, 0%);
  background: var(--ink);
}
.medicion__umbral {
  position: absolute;
  top: -0.3rem;
  left: var(--x, 50%);
  font: 0.68rem/1 var(--mono);
  color: var(--graphite);
  transform: translateX(-50%);
  padding-top: 1.35rem;
  white-space: nowrap;
}
.medicion__umbral::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: var(--rule);
  height: 1.1rem;
  background: var(--graphite);
}
.medicion__nota {
  grid-column: 1 / -1;
  font: 0.72rem/1.5 var(--mono);
  color: var(--graphite);
  margin: 1.5rem 0 0;
}
.medicion__pie {
  padding: 0.7rem 0.9rem;
  font: 0.72rem/1.5 var(--mono);
  color: var(--graphite);
}
.medicion__pie a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cadena {
  border: var(--rule) solid var(--ash);
  background: var(--hueso);
  display: grid;
  gap: 0;
  max-width: 100%;
  font-family: var(--grot);
}
.cadena__barra {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.cadena__quien { font: 500 0.85rem/1.2 var(--grot); color: var(--ink); }
.cadena__rotulo {
  font: 0.7rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--graphite);
  margin-left: auto;
}
.cadena__hilo { display: grid; gap: 0; align-content: start; }
.cadena__paso {
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  gap: 0.1rem 0.75rem;
  padding: 0.7rem 0.9rem;
  border-top: var(--rule) solid var(--ash);
}
.cadena__paso:first-child { border-top: 0; }
.cadena__orden {
  grid-row: 1 / span 2;
  font: 0.72rem/1.6 var(--mono);
  color: var(--graphite);
  letter-spacing: 0.02em;
  margin: 0;
}
.cadena__hecho { font: 500 0.87rem/1.35 var(--grot); color: var(--ink); margin: 0; }
.cadena__dato { font: 0.72rem/1.5 var(--mono); color: var(--graphite); margin: 0; }
.cadena__corte {
  border-top: var(--rule) dashed var(--ash);
  margin: 0;
  padding: 0.55rem 0.9rem 0.55rem 3.75rem;
  font: 0.72rem/1.4 var(--mono);
  letter-spacing: 0.02em;
  color: var(--graphite);
}
.cadena__paso--suelto {
  border-top: 0;
  padding-left: 1.85rem;
}
.cadena__paso--suelto .cadena__hecho { color: var(--cobalt); }
.cadena__paso--suelto .cadena__orden { color: var(--ink); }
.cadena__pie {
  border-top: var(--rule) solid var(--ash);
  padding: 0.6rem 0.9rem;
  font: 0.72rem/1.4 var(--mono);
  color: var(--graphite);
  margin: 0;
}
.calculo {
  margin: 0;
  max-width: 100%;
  min-width: 0;
}
.calculo__marco {
  border: var(--rule) solid var(--ash);
  background: var(--hueso);
  font-family: var(--mono);
}
.calculo__barra {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
}
.calculo__archivo {
  font: 500 0.78rem/1.3 var(--grot);
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calculo__quien {
  font: 0.68rem/1 var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--graphite);
  margin-left: auto;
  white-space: nowrap;
}
.calculo__formula {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.9rem;
  border-bottom: var(--rule) solid var(--ash);
  font: 0.72rem/1.4 var(--mono);
  overflow: hidden;
}
.calculo__ref,
.calculo__fx {
  color: var(--graphite);
  padding-right: 0.55rem;
  border-right: var(--rule) solid var(--ash);
  flex: none;
}
.calculo__fx { font-style: italic; }
.calculo__expr {
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.calculo__rejilla {
  display: grid;
  grid-template-columns:
    1.55rem
    minmax(0, 1.55fr)
    minmax(0, 0.9fr)
    minmax(0, 1.05fr)
    minmax(0, 0.95fr);
}
.calculo__letra,
.calculo__fila {
  font: 0.62rem/1 var(--mono);
  letter-spacing: 0.06em;
  color: var(--graphite);
  display: grid;
  place-items: center;
  padding: 0.42rem 0;
  background: var(--paper);
  border-bottom: var(--rule) solid var(--ash);
  border-right: var(--rule) solid var(--ash);
}
.calculo__celda {
  font-size: clamp(0.62rem, 1.75vw, 0.68rem);
  line-height: 1.5;
  padding: 0.34rem 0.42rem;
  color: var(--ink);
  border-bottom: var(--rule) solid var(--ash);
  border-right: var(--rule) solid var(--ash);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.calculo__celda--cabeza { color: var(--graphite); }
.calculo__celda--num { text-align: right; font-variant-numeric: tabular-nums; }
.calculo__celda--rota { color: var(--vermillion); }
.calculo__celda--foco {
  outline: 1.5px solid var(--cobalt);
  outline-offset: -1.5px;
}
.calculo__rejilla > :nth-child(5n) { border-right: 0; }
.calculo__rejilla > :nth-last-child(-n + 5) { border-bottom: 0; }
.calculo__pestanas {
  display: flex;
  border-top: var(--rule) solid var(--ash);
  background: var(--paper);
  overflow-x: auto;
  scrollbar-width: none;
}
.calculo__pestanas::-webkit-scrollbar { display: none; }
.calculo__pestana {
  font: 0.66rem/1 var(--mono);
  color: var(--graphite);
  padding: 0.55rem 0.7rem;
  border-right: var(--rule) solid var(--ash);
  white-space: nowrap;
}
.calculo__pestana:last-child { border-right: 0; }
.calculo__pestana--activa { color: var(--ink); background: var(--hueso); }
.calculo__pie {
  margin: 0.8rem 0 0;
  font: 0.72rem/1.5 var(--mono);
  color: var(--graphite);
  max-width: 42ch;
}
.plegadas { border-top: var(--rule) solid var(--ash); }
.plegadas details { border-bottom: var(--rule) solid var(--ash); }
.plegadas summary {
  font: 0.9rem/1.5 var(--grot);
  color: var(--ink);
  padding: 0.85rem 1.6rem 0.85rem 0;
  cursor: pointer;
  position: relative;
  list-style: none;
}
.plegadas summary::-webkit-details-marker { display: none; }
.plegadas summary::after {
  content: "";
  position: absolute;
  right: 0.3rem;
  top: 50%;
  width: 0.62rem;
  height: 0.62rem;
  margin-top: -0.31rem;
  background:
    linear-gradient(var(--graphite), var(--graphite)) center/100% var(--rule) no-repeat,
    linear-gradient(var(--graphite), var(--graphite)) center/var(--rule) 100% no-repeat;
  transition: transform 140ms ease-out;
}
.plegadas details[open] summary::after { transform: rotate(90deg); background-size: 100% var(--rule), 0 0; }
@media (prefers-reduced-motion: reduce) { .plegadas summary::after { transition: none; } }
.plegadas summary:focus-visible { outline: var(--rule) solid var(--ink); outline-offset: 3px; }
.plegadas p { margin: 0 0 0.9rem; max-width: var(--medida, 68ch); color: var(--graphite); font-size: 0.92rem; }
