@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fuentes/dm-mono-400-400-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fuentes/dm-mono-400-400-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: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/dm-mono-500-500-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/dm-mono-500-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: 'Inter'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/fuentes/inter-400-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/fuentes/inter-400-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: 'Jost'; font-style: normal; font-weight: 200 600; font-display: swap; src: url(/fuentes/jost-200-600-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 200 600; font-display: swap; src: url(/fuentes/jost-200-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; }
html { background: #1C1A17; }
:root { padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
body { margin: 0; min-height: 100vh; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:root { --papel: #FBF8F2; --blanco: #FFFFFF; --tinta: #1C1A17; --texto: #3D3832; --gris: #5E574F; --tenue: #5E574F; --suave: #E4DCCD; --a2: #F8E6C9; --miel: #E4BC90; --gris-neutro: #6E6E6E; --papel-acuarela: #F5F1EA; --fondo-inicio: #FAFBFB; --fondo-final: #EEF2F4; --linea-clara: rgba(251, 248, 242, 0.35); --sobre-gris: #FFFFFF; --fucsia: #E0007A; --fucsia-texto: #C2005F; --sobre-fucsia: #FFFFFF; --sobre-tinta: #FBF8F2; --f-display: 'Jost', 'Futura', 'Century Gothic', 'Trebuchet MS', sans-serif; --f-texto: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; --f-mono: 'DM Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace; --linea: 1.5px solid var(--tinta); --canal: max(16px, env(safe-area-inset-left, 0px)); --canal-d: max(16px, env(safe-area-inset-right, 0px)); color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
@media (min-width: 1100px) {
html { font-size: clamp(12.5px, min(calc(100vw / 90), calc(100vh / 48.75)), 48px); }
}
body { background: var(--papel); color: var(--tinta); font-family: var(--f-texto); font-size: 1rem; line-height: 1.55; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a { color: var(--tinta); }
a:focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; }
.envoltura { max-width: 90rem; margin-inline: auto; padding-left: var(--canal); padding-right: var(--canal-d); }
@media (min-width: 900px) {
.envoltura { padding-left: max(4rem, env(safe-area-inset-left, 0px)); padding-right: max(4rem, env(safe-area-inset-right, 0px)); }
}
.flecha { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; }
.etiqueta { margin: 0; font-family: var(--f-mono); font-size: 0.8125rem; font-weight: 500; color: var(--tenue); }
.titulo-seccion { margin: 0.875rem 0 0; font-family: var(--f-display); font-weight: 400; font-size: clamp(2rem, 4.2vw, 2.75rem); line-height: 1.05; letter-spacing: -0.015em; }
.nw { white-space: nowrap; }
.vevi { background: var(--tinta); color: var(--sobre-tinta); }
.vevi__fila { display: grid; gap: 0.75rem; padding-block: 1rem; align-items: center; }
.vevi__etiqueta { margin: 0; font-family: var(--f-mono); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.vevi__texto { margin: 0; display: grid; gap: 2px; font-family: var(--f-display); font-size: 1.3125rem; font-weight: 500; line-height: 1.25; }
.vevi__url { font-family: var(--f-mono); font-size: 0.8125rem; font-weight: 400; letter-spacing: 0.02em; }
.vevi__boton { display: flex; align-items: center; justify-content: center; gap: 0.625rem; min-height: 3.5rem; padding: 0 1.5rem; background: var(--fucsia); color: var(--sobre-fucsia); font-size: 1rem; font-weight: 600; text-decoration: none; }
.vevi__boton:focus-visible { outline-color: var(--sobre-tinta); }
@media (min-width: 640px) and (max-width: 899px) {
.vevi__fila { grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; row-gap: 0.5rem; }
.vevi__etiqueta { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
.vevi__fila { grid-template-columns: repeat(8, 1fr); gap: 0; }
.vevi__etiqueta { grid-column: 1 / 3; }
.vevi__texto { grid-column: 3 / 7; padding-left: 1.5rem; border-left: 1.5px solid var(--sobre-tinta); }
.vevi__boton { grid-column: 7 / 9; }
}
.cabecera { display: grid; gap: 1.25rem; padding-block: 1.75rem 1.5rem; align-items: center; }
.marca { padding-block: 0.25rem; font-family: var(--f-display); font-weight: 300; font-size: clamp(2.5rem, 8vw, 3.5rem); line-height: 1; letter-spacing: 0.06em; text-decoration: none; white-space: nowrap; }
.menu { display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--linea); border-left: var(--linea); font-size: 0.9375rem; font-weight: 500; }
.menu a { min-height: 3.25rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0 0.625rem; border-right: var(--linea); border-bottom: var(--linea); text-decoration: none; text-align: center; }
@media (min-width: 1100px) {
.cabecera { grid-template-columns: repeat(8, 1fr); gap: 0; padding-block: 2.25rem 2rem; }
.marca { grid-column: 1 / 3; }
.menu { grid-column: 3 / 9; grid-template-columns: repeat(3, 1fr); border: 0; font-size: 1rem; }
.menu a { min-height: 3.5rem; border-right: 0; border-bottom: 0; border-left: var(--linea); }
.menu a:last-child { border-right: var(--linea); }
}
.hero { background: linear-gradient(180deg, #E3EAEC 0%, #F6F2EA 46%, #F8E6C9 100%); border-top: var(--linea); }
.hero__fila { display: grid; gap: 0.5rem; padding-block: 3rem 0; align-items: end; }
.hero__texto { min-width: 0; padding-bottom: 1.5rem; }
.hero__etiqueta { margin: 0 0 1.5rem; font-family: var(--f-mono); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.hero h1 { margin: 0; font-family: var(--f-display); font-weight: 500; font-size: clamp(2.75rem, 6.2vw, 5.25rem); line-height: 0.96; letter-spacing: -0.025em; }
.hero h1 span { font-weight: 300; }
.hero__bajada { margin: 1.75rem 0 0; max-width: 33.75rem; font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); line-height: 1.55; color: var(--texto); }
.botones { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.boton { display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem; min-height: 3.375rem; padding: 0 1.625rem; font-size: 1rem; font-weight: 600; text-decoration: none; }
.boton--tinta { background: var(--tinta); color: var(--sobre-tinta); }
.boton--tinta:focus-visible { outline-color: var(--tinta); }
.boton--linea { border: var(--linea); }
.hero__abanico { min-width: 0; max-width: 37.5rem; width: 100%; justify-self: center; }
.hero__abanico > svg { display: block; width: 100%; height: auto; }
@media (min-width: 600px) and (max-width: 999px) {
.hero__abanico { max-width: 26.25rem; }
}
@media (max-width: 639px) {
.hero__abanico svg text { font-size: 1.375rem; }
}
@media (min-width: 1000px) {
.hero__fila { grid-template-columns: minmax(0, 1fr) minmax(0, 27.5rem); gap: 1.5rem; padding-block: 4.5rem 0; }
.hero__texto { padding-bottom: 4.5rem; }
}
.franja { background: var(--tinta); color: var(--sobre-tinta); }
.franja__lista { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--linea-clara); }
.franja__lista li { min-width: 0; padding: 0.875rem 1rem; display: grid; gap: 0.25rem; align-content: start; border-right: 1px solid var(--linea-clara); border-bottom: 1px solid var(--linea-clara); font-family: var(--f-display); font-size: 1.125rem; font-weight: 500; line-height: 1.2; }
.franja__lista li:nth-last-child(-n+2) { border-bottom: 0; }
.franja__lista span { font-family: var(--f-mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--miel); }
@media (min-width: 900px) {
.franja__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.franja__lista li { padding: 0.75rem 1.25rem; border-bottom: 0; font-size: 1.0625rem; line-height: 1.3; }
}
.degradado-fondo { background: linear-gradient(180deg, var(--fondo-inicio) 0%, var(--fondo-final) 100%); }
.dos { display: grid; gap: 2.5rem; padding-block: clamp(4.5rem, 9vw, 7.5rem); }
.dos__lado { min-width: 0; max-width: 35rem; }
.dos__principal { min-width: 0; }
@media (min-width: 1100px) {
.dos { grid-template-columns: 18.5rem minmax(0, 1fr); gap: 4rem; }
}
.sv-grande { margin: 1.5rem 0 0; font-family: var(--f-display); font-weight: 300; font-size: clamp(1.75rem, 2.4vw, 2.125rem); line-height: 1.12; letter-spacing: -0.01em; text-wrap: balance; }
.sv-media { margin: 1rem 0 0; padding-top: 1rem; border-top: var(--linea); font-family: var(--f-display); font-weight: 500; font-size: 1.1875rem; line-height: 1.3; }
.sv-texto { margin: 0.75rem 0 0; font-size: 0.9375rem; line-height: 1.6; color: var(--texto); }
.sv-vita { margin: 1.75rem 0 0; padding-top: 1rem; border-top: var(--linea); display: flex; align-items: center; gap: 0.375rem; }
.sv-vita span { margin-right: 0.75rem; font-family: var(--f-display); font-weight: 200; font-size: 3.25rem; line-height: 0.9; letter-spacing: 0.04em; }
.sv-vita i { width: 1.5rem; height: 2.25rem; border-radius: 0.25rem 0.25rem 0.75rem 0.75rem; box-shadow: inset 0 0 0 1px rgba(28,26,23,.15); }
.fichas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; }
@media (min-width: 760px) {
.fichas { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem 1.5rem; }
}
.sv-cierre { margin-top: 1.75rem; }
.ficha__imagen { position: relative; aspect-ratio: 1 / 1; max-width: 100%; overflow: hidden; background: var(--papel-acuarela); }
.ficha__imagen img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ficha__num { position: absolute; top: 0.625rem; right: 0.625rem; padding: 0.125rem 0.375rem; background: var(--papel-acuarela); font-family: var(--f-mono); font-size: 0.8125rem; }
.fichas__nota { grid-column: 1 / -1; margin: 0; font-family: var(--f-mono); font-size: 0.75rem; color: var(--tenue); }
.ficha__cat { margin: 0.75rem 0 0; font-family: var(--f-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tenue); }
.ficha h3 { margin: 0.25rem 0 0; font-family: var(--f-display); font-size: 1.25rem; font-weight: 500; line-height: 1.2; }
.ficha h3 + p { margin: 0.375rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--gris); }
.revision { border-top: var(--linea); border-bottom: var(--linea); }
.revision .envoltura { padding-block: clamp(3rem, 5vw, 4.5rem); }
.revision__titulo { margin: 0.5rem 0 0; font-family: var(--f-display); font-weight: 500; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.05; letter-spacing: -0.02em; }
.aprobar { margin-top: 2rem; display: grid; gap: 2.5rem; }
@media (min-width: 900px) {
.aprobar { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
.aprobar__lado { min-width: 0; }
.aprobar__lado h3 { margin: 0.25rem 0 0; font-family: var(--f-display); font-size: 1.375rem; font-weight: 500; line-height: 1.2; }
.aprobar__lado > p:not(.ficha__cat) { margin: 0.5rem 0 0; max-width: 34rem; font-size: 0.9375rem; line-height: 1.6; color: var(--texto); }
.aprobar__media { position: relative; aspect-ratio: 4 / 3; max-width: 100%; overflow: hidden; border: var(--linea); background: var(--papel-acuarela); }
.aprobar__media--acuarela { background: #FCFBF8; }
.aprobar__media.aprobar__media--acuarela img { object-fit: contain; }
.aprobar__media img, .aprobar__media iframe, .visor3d__marca { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.aprobar__media img { object-fit: cover; }
.visor3d { background: #463B6C; }
.visor3d__nota { position: absolute; right: 0.75rem; top: 9%; padding: 0.375rem 0.625rem; background: var(--blanco); color: var(--fucsia-texto); font-size: 0.8125rem; font-weight: 600; white-space: nowrap; box-shadow: 0 1px 0 rgba(28,26,23,.15); }
.visor3d__activar { position: absolute; right: 0.75rem; bottom: 0.75rem; min-height: 2.75rem; padding: 0 1rem; border: 0; background: var(--tinta); color: var(--sobre-tinta); font: 600 0.875rem/1 var(--f-texto); cursor: pointer; }
.visor3d__activar:focus-visible { outline: 2px solid var(--sobre-tinta); outline-offset: 2px; }
.aprobar__rotulo { position: absolute; left: 0.75rem; bottom: 0.75rem; padding: 0.25rem 0.5rem; background: var(--blanco); font-family: var(--f-mono); font-size: 0.75rem; color: var(--texto); }
.visor3d .aprobar__rotulo { max-width: calc(100% - 9rem); }
.pie { background: var(--tinta); color: var(--sobre-tinta); }
.pie .envoltura { padding-block: 3.5rem 2.5rem; }
.pie__marca { margin: 0; overflow: hidden; font-family: var(--f-display); font-weight: 200; font-size: clamp(3.25rem, calc(21vw - 1.5rem), 17.5rem); line-height: 0.85; letter-spacing: 0.02em; white-space: nowrap; }
.pie__base { margin-top: 2rem; padding-top: 1rem; border-top: 1.5px solid var(--sobre-tinta); display: grid; gap: 0.5rem; font-family: var(--f-mono); font-size: 0.8125rem; }
.pie__base a { justify-self: start; min-height: 2.75rem; display: inline-flex; align-items: center; text-underline-offset: 0.2em; }
@media (min-width: 760px) {
.pie__base { grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; }
.pie__base a { justify-self: center; }
.pie__base span:last-child { justify-self: end; }
}
.pie__marca sup { font-size: 0.12em; font-weight: 300; line-height: 1; vertical-align: top; position: relative; top: 0.95em; margin-left: 0.15em; }
.pie a { color: var(--sobre-tinta); }
.pie a:focus-visible { outline-color: var(--sobre-tinta); }
.ficha__cat { font-size: max(0.6875rem, 11px); }
.fichas__nota, .aprobar__rotulo { font-size: max(0.75rem, 11px); }
.etiqueta, .ficha__num { font-size: max(0.8125rem, 12px); }
.ficha h3 + p, .sv-texto, .aprobar__lado > p:not(.ficha__cat) { font-size: max(0.875rem, 13px); }
@media (min-width: 1100px) {
.vevi__fila { padding-block: 0.625rem; }
.vevi__texto { font-size: 1.125rem; }
.vevi__boton { min-height: 3rem; }
.cabecera { padding-block: 1.25rem; }
.marca { font-size: 3rem; }
.menu a { min-height: 3rem; }
.hero__fila { padding-block: 2.5rem 0; grid-template-columns: minmax(0, 1fr) minmax(0, 27.5rem); }
.hero__texto { padding-bottom: 2.5rem; }
.hero__etiqueta { margin-bottom: 1rem; }
.hero h1 { font-size: 4.5rem; }
.hero__bajada { margin-top: 1.25rem; max-width: 40rem; font-size: 1.1875rem; line-height: 1.55; }
.hero .botones { margin-top: 1.5rem; }
.hero__abanico { max-width: 27.5rem; }
}
@media (min-width: 1100px) and (max-height: 620px) {
.hero__fila { padding-top: 1.25rem; }
}
.t-d8b58f { background: #D8B58F; }
.t-efc99c { background: #EFC99C; }
.t-f2e2cb { background: #F2E2CB; }
.t-f6dbba { background: #F6DBBA; }
.no-encontrada { padding-block: 6rem; }
.visor-abierto, .visor-abierto body { overflow: hidden; }
.visor-capa { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; gap: 0.75rem; padding: max(1rem, env(safe-area-inset-top, 0px)) max(1rem, env(safe-area-inset-right, 0px)) max(1rem, env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px)); background: rgba(28, 26, 23, 0.94); }
.visor-capa__barra { width: 100%; max-width: 90rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.visor-capa__rotulo { margin: 0; min-width: 0; font-family: var(--f-mono); font-size: 0.8125rem; color: var(--sobre-tinta); }
.visor-capa__cerrar { flex: 0 0 auto; min-height: 2.75rem; padding: 0 1.25rem; border: 1.5px solid var(--sobre-tinta); background: transparent; color: var(--sobre-tinta); font: 600 0.9375rem/1 var(--f-texto); cursor: pointer; }
.visor-capa__cerrar:hover { background: var(--sobre-tinta); color: var(--tinta); }
.visor-capa__cerrar:focus-visible { outline: 2px solid var(--sobre-tinta); outline-offset: 3px; }
.visor-capa__marco { position: relative; flex: 1 1 auto; width: 100%; max-width: 90rem; margin: 0 auto; background: #463B6C; }
.visor-capa__marco iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 639px) { .visor-capa { background: var(--tinta); gap: 0.5rem; padding: max(0.5rem, env(safe-area-inset-top, 0px)) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); } .visor-capa__barra { padding-inline: 0.75rem; } .visor-capa__rotulo { font-size: 0.75rem; } }
#servicios { scroll-margin-top: calc(1.5rem - clamp(4.5rem, 9vw, 7.5rem)); }
#revision { scroll-margin-top: calc(1.5rem - clamp(3rem, 5vw, 4.5rem)); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (max-width: 759px) {
  .pie__marca { text-align: center; padding-left: 0.12em; }
  .pie__base { justify-items: center; text-align: center; }
  .pie__base a { justify-self: center; }
}
