@charset "UTF-8";
/* GENERADO por tools/generar-sitio.mjs desde css/componentes/ — NO EDITAR A MANO.
   Se edita el componente y se vuelve a ejecutar el generador.
   34 componentes. */

/* 00-tokens.css */
@font-face {
font-family: 'Bricolage Grotesque';
src: url('../assets/fonts/bricolage-grotesque-var-latin.woff2') format('woff2');
font-weight: 400 800;
font-style: normal;
font-display: swap;
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF, U+2212, U+2215, U+2248, U+2264-2265;
}
@font-face {
font-family: 'Bricolage Fallback';
src: local('Arial'), local('ArialMT'), local('Helvetica'), local('Liberation Sans'), local('Roboto');
font-weight: 400 549;
font-style: normal;
size-adjust: 104.9%;
ascent-override: 88.7%;
descent-override: 25.7%;
line-gap-override: 0%;
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF, U+2212, U+2215;
}
@font-face {
font-family: 'Bricolage Fallback';
src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Liberation Sans Bold'), local('Roboto Bold');
font-weight: 550 800;
font-style: normal;
size-adjust: 101.8%;
ascent-override: 91.4%;
descent-override: 26.5%;
line-gap-override: 0%;
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF, U+2212, U+2215;
}
@font-face {
font-family: 'Bricolage Fallback';
src: local('Arial'), local('ArialMT'), local('Helvetica'), local('Liberation Sans'), local('Roboto');
font-weight: 400 549;
font-style: normal;
size-adjust: 94.5%;
ascent-override: 98.4%;
descent-override: 28.6%;
line-gap-override: 0%;
unicode-range: U+0041-005A, U+00C0-00D6, U+00D8-00DE, U+011E, U+0130, U+015E, U+1E9E;
}
@font-face {
font-family: 'Bricolage Fallback';
src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Liberation Sans Bold'), local('Roboto Bold');
font-weight: 550 800;
font-style: normal;
size-adjust: 95%;
ascent-override: 97.9%;
descent-override: 28.4%;
line-gap-override: 0%;
unicode-range: U+0041-005A, U+00C0-00D6, U+00D8-00DE, U+011E, U+0130, U+015E, U+1E9E;
}
@font-face {
font-family: 'Bricolage Fallback XL';
src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Bold'), local('Liberation Sans Bold'), local('Roboto Bold');
font-weight: 550 800;
font-style: normal;
size-adjust: 97.2%;
ascent-override: 95.7%;
descent-override: 27.8%;
line-gap-override: 0%;
unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF, U+2212, U+2215;
}
:root {
--black:          #000000;
--black-pure:     #050505;
--black-soft:     #0a0a0a;
--black-mid:      #101010;
--black-raised:   #141414;
--ink:            #1a1a1a;
--ink-2:          #222222;
--border:         #2a2a2a;
--border-soft:    rgba(255,255,255,0.06);
--border-gold:    rgba(201,169,110,0.22);
--gold:           #c9a96e;
--gold-soft:      #b89a5f;
--gold-bright:    #e2c792;
--gold-pale:      #f0dcb0;
--gold-dim:       rgba(201,169,110,0.35);
--gold-glow:      rgba(201,169,110,0.15);
--gold-veil:      rgba(201,169,110,0.06);
--white:          #ffffff;
--cream:          #f5f1e8;
--grey:           #a6a6a6;
--grey-2:         #7a7a7a;
--grey-3:         #555555;
--cream-bg:        #f5f1e8;
--gold-pale-bg:    #f0dcb0;
--ink-on-light:    #141414;
--muted-on-light:  #565049;
--gold-ink:        #6b5220;
--border-on-light: rgba(20,20,20,0.14);
--grad-gold:      linear-gradient(135deg, #d9bd85 0%, #c9a96e 45%, #9c7f4a 100%);
--grad-gold-soft: linear-gradient(135deg, rgba(217,189,133,0.15), rgba(156,127,74,0.02));
--font-sans:    'Bricolage Grotesque', 'Bricolage Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-serif:   var(--font-sans);
--fs-hero:      clamp(3rem, 10vw, 7.5rem);
--fs-h1:        clamp(2.25rem, 6vw, 4.25rem);
--fs-h2:        clamp(2.05rem, 1.15rem + 3.7vw, 4rem);
--fs-h3:        clamp(1.4rem, 1.1rem + 1.2vw, 2.1rem);
--fs-body:      clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
--fs-small:     0.875rem;
--fs-micro:     0.8125rem;
--fs-figure:    clamp(2.5rem, 7vw, 4.5rem);
--ls-normal:    0.01em;
--ls-wide:      0.04em;
--ls-xl:        0.09em;
--ls-xxl:       0.23em;
--lh-tight:     1.08;
--lh-snug:      1.25;
--lh-body:      1.65;
--sp-1: 0.25rem;  --sp-2: 0.5rem;  --sp-3: 0.75rem;  --sp-4: 1rem;
--sp-5: 1.5rem;   --sp-6: 2rem;    --sp-7: 3rem;     --sp-8: 4rem;
--sp-9: 6rem;     --sp-10: 8rem;
--radius-sm:   4px;
--radius:      10px;
--radius-lg:   20px;
--radius-xl:   28px;
--radius-ui:   12px;
--hair:        rgba(255,255,255,0.08);
--hair-gold-2: rgba(201,169,110,0.5);
--text-hi:     #e9e4d8;
--radius-card: 16px;
--shadow-card: 0 18px 40px -24px rgba(0,0,0,0.85);
--ease-silk:   cubic-bezier(0.22, 1, 0.36, 1);
--ease-soft:   cubic-bezier(0.4, 0, 0.2, 1);
--ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
--ease-spring-linear: linear(0, 0.62 18%, 0.98 32%, 1.02 46%, 0.99 60%, 1);
--dur-fast:    220ms;
--dur-base:    420ms;
--dur-slow:    720ms;
--dur-xslow:   1200ms;
--dur-reveal:  600ms;
--dur-reduced: 150ms;
--stagger:     80ms;
--container:        1240px;
--container-narrow: 760px;
--gutter:      clamp(1.25rem, 4vw, 2.5rem);
--header-h:    4rem;
--tap:         44px;
--z-header:    700;
--z-float:     800;
--z-cookie:    950;
--safe-top:    env(safe-area-inset-top);
--safe-bottom: env(safe-area-inset-bottom);
--safe-left:   env(safe-area-inset-left);
--safe-right:  env(safe-area-inset-right);
}
@media (min-width: 1000px) { :root { --header-h: 4.5rem; } }
html[lang="ar"] {
--font-sans:  'Bricolage Grotesque', 'Bricolage Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

/* 01-base.css */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
scroll-padding-top: calc(var(--header-h) + var(--sp-4) + var(--sn, 0px));
scroll-padding-bottom: 6rem;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
.skip-link { transition: none; }
}
body {
font-family: var(--font-sans);
font-size: var(--fs-body);
font-weight: 400;
line-height: var(--lh-body);
color: var(--cream);
background: var(--black);
min-height: 100vh;
min-height: 100dvh;
overflow-x: hidden;
padding-inline: 0;
-webkit-tap-highlight-color: transparent;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { background: none; border: 0; color: inherit; cursor: pointer; font: inherit; }
input, textarea, select { font: inherit; color: inherit; }
ul, ol { list-style: none; }
::selection { background: var(--gold); color: var(--black); }
html {
overflow-wrap: break-word;
font-synthesis: weight;
}
h1, h2, h3, h4,
.fact-table th, .fact-table td,
.faq__item summary {
hyphens: auto;
-webkit-hyphens: auto;
}
.cifra,
.fact-table__cifra,
.anchor-compare__cifra,
.price-table__cifra,
code, kbd, samp { hyphens: manual; -webkit-hyphens: manual; }
h1, h2, h3, h4 {
font-family: var(--font-serif);
font-weight: 800;
line-height: var(--lh-snug);
color: var(--white);
text-wrap: balance;
overflow-wrap: break-word;
}
h1 { font-size: var(--fs-h1); line-height: var(--lh-tight); }
h1 { letter-spacing: -0.01em; }
h2 { font-size: var(--fs-h2); line-height: 1.03; letter-spacing: -0.01em; }
h3 { font-size: var(--fs-h3); line-height: 1.15; }
h3, h4 { font-weight: 700; letter-spacing: -0.01em; }
@media (min-width: 1200px) {
h1, h2 { font-family: 'Bricolage Grotesque', 'Bricolage Fallback XL', var(--font-sans); }
}
h1 em, h2 em, h3 em { font-style: normal; color: var(--gold); }
p { text-wrap: pretty; }
p + p { margin-block-start: var(--sp-4); }
strong { font-weight: 500; color: var(--white); }
main > * {
--pad-seccion: clamp(var(--sp-7), 8vw, var(--sp-9));
padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
padding-block: var(--pad-seccion);
}
.a-sangre { padding-inline: 0; }
.contenedor {
inline-size: 100%;
max-inline-size: var(--container);
margin-inline: auto;
}
.contenedor--estrecho { max-inline-size: var(--container-narrow); }
.rejilla {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-5);
}
@media (min-width: 640px) {
.rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); }
}
@media (min-width: 900px) {
.rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rejilla--dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.seccion__etiqueta {
display: block;
margin-block-end: var(--sp-3);
font-family: var(--font-sans);
font-size: var(--fs-micro);
font-weight: 500;
letter-spacing: var(--ls-xxl);
text-transform: uppercase;
color: var(--gold);
}
.seccion__titulo { margin-block-end: var(--sp-4); }
.seccion__texto {
max-inline-size: 36rem;
color: var(--grey);
}
.cifra {
font-family: var(--font-serif);
font-weight: 800;
font-size: var(--fs-figure);
line-height: var(--lh-tight);
font-variant-numeric: tabular-nums;
font-feature-settings: 'tnum' 1;
color: var(--gold);
}
.skip-link {
position: absolute;
inset-block-start: -64px;
inset-inline-start: var(--sp-4);
z-index: 1000;
padding: var(--sp-3) var(--sp-5);
min-block-size: var(--tap);
display: inline-flex;
align-items: center;
background: var(--gold);
color: var(--black);
font-size: var(--fs-small);
font-weight: 500;
border-radius: var(--radius-sm);
transition: inset-block-start var(--dur-fast) var(--ease-soft);
}
.skip-link:focus-visible {
inset-block-start: var(--sp-2);
box-shadow: 0 0 0 7px var(--black);
}
:focus-visible {
outline: 2px solid var(--gold);
outline-offset: 3px;
border-radius: var(--radius-sm);
}
main:focus, main:focus-visible { outline: none; }
.bloque-claro :focus-visible,
.cta-band :focus-visible,
.benefit-grid :focus-visible { outline-color: var(--gold-ink); }
@media (prefers-contrast: more) {
:root {
--border:          #4a4a4a;
--border-soft:     rgba(255,255,255,0.22);
--border-gold:     rgba(201,169,110,0.55);
--grey:            #cfcfcf;
--muted-on-light:  #3a352f;
--border-on-light: rgba(20,20,20,0.4);
}
}
.bloque-claro {
background: var(--cream-bg);
color: var(--ink-on-light);
}
.bloque-claro--oro { background: var(--gold-pale-bg); }
.bloque-claro h1,
.bloque-claro h2,
.bloque-claro h3 { color: var(--ink-on-light); }
.bloque-claro h1 em,
.bloque-claro h2 em,
.bloque-claro h3 em { color: var(--gold-ink); }
.bloque-claro .seccion__etiqueta { color: var(--gold-ink); }
.bloque-claro .seccion__texto { color: var(--muted-on-light); }
.bloque-claro .cifra { color: var(--gold-ink); }
.aviso-provisional {
margin: 0;
padding: var(--sp-3) var(--gutter);
background: var(--gold-pale-bg);
color: var(--ink-on-light);
font-size: var(--fs-small);
font-weight: 500;
text-align: center;
}
.solo-lectores {
position: absolute;
inline-size: 1px;
block-size: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
@media (max-width: 640px) {
.aviso-provisional {
padding: var(--sp-2) var(--gutter);
font-size: var(--fs-micro);
line-height: 1.4;
}
}
main :is(p, li, td, dd, figcaption, blockquote) a:not([class]):not(:is(.guide-toc, .seiten-nav) a) {
text-decoration-line: underline;
text-decoration-thickness: 1px;
text-decoration-color: rgba(201,169,110,0.55);
text-underline-offset: 0.22em;
text-decoration-skip-ink: auto;
transition: text-decoration-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
main :is(p, li, td, dd, figcaption, blockquote) a:not([class]):not(:is(.guide-toc, .seiten-nav) a):is(:hover, :focus-visible) {
color: var(--gold-bright);
text-decoration-color: currentColor;
}
.bloque-claro :is(p, li, td, dd, figcaption, blockquote) a:not([class]) { text-decoration-color: rgba(107,82,32,0.55); }
.bloque-claro :is(p, li, td, dd, figcaption, blockquote) a:not([class]):is(:hover, :focus-visible) { color: var(--gold-ink); text-decoration-color: currentColor; }
@media (prefers-reduced-motion: no-preference) {
.lang > summary:active,
.menu-btn:active,
.cookie-bar__btn:active { transform: translateY(1px) scale(0.985); transition-duration: 80ms; }
.service-card:has(a:active),
.segment-card:has(a:active),
.case-card:has(a:active) { transform: translateY(1px) scale(0.995); transition-duration: 80ms; }
}
@media (prefers-reduced-motion: reduce) {
.lang > summary:active,
.menu-btn:active,
.cookie-bar__btn:active,
.service-card:has(a:active),
.segment-card:has(a:active),
.case-card:has(a:active) { filter: brightness(0.92); }
}
.mehr { display: none; }
.mas > summary { list-style: none; }
.mas > summary::-webkit-details-marker { display: none; }
.mas > summary,
.mehr {
position: relative;
align-items: center;
min-block-size: var(--tap);
color: var(--gold-bright);
font: 500 var(--fs-small)/1.2 var(--font-sans);
text-decoration: underline;
text-underline-offset: 0.22em;
cursor: pointer;
}
.mas > summary { display: inline-flex; }
.mas__zu,
.mas[open] > summary .mas__auf { display: none; }
.mas[open] > summary .mas__zu { display: inline; }
.bloque-claro :is(.mehr, .mas > summary) { color: var(--gold-ink); }
.mehr > input { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer; }
@supports selector(:has(*)) {
.mehr:has(:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; border-radius: var(--radius-sm); }
.mehr > span + span,
.mehr:has(:checked) > input + span { display: none; }
.mehr:has(:checked) > span + span { display: inline; }
}
.mas > summary + p { margin-block-start: var(--sp-4); }
.mas--bloque { margin-block-start: var(--sp-5); }
.mas--bloque > summary {
display: flex;
justify-content: space-between;
gap: 1rem;
border-block: 1px solid var(--hair);
color: var(--text-hi);
text-decoration: none;
}
.mas--bloque > summary::after { content: "+"; content: "+" / ""; color: var(--gold); font-size: 1.4rem; line-height: 1; }
.mas--bloque[open] > summary::after { content: "–"; content: "–" / ""; }
.bloque-claro .mas--bloque > summary { border-color: var(--border-on-light); color: var(--ink-on-light); }
.bloque-claro .mas--bloque > summary::after { color: var(--gold-ink); }
.volver { padding-block: 0 var(--sp-6); }
.volver a { display: inline-flex; align-items: center; min-block-size: var(--tap); color: var(--gold); font-size: var(--fs-small); }
@media print { .mas::details-content { content-visibility: visible !important; block-size: auto !important; } }

/* 02-boton.css */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.65rem;
min-block-size: 3rem;
padding: 0.7rem 1.35rem;
font-family: var(--font-sans);
font-size: 0.96875rem;
font-weight: 600;
line-height: 1.2;
letter-spacing: 0.005em;
text-align: center;
border-radius: var(--radius-ui);
border: 1px solid transparent;
cursor: pointer;
-webkit-user-select: none;
user-select: none;
transition: transform var(--dur-fast) var(--ease-silk),
box-shadow var(--dur-fast) var(--ease-silk),
background-color var(--dur-fast) var(--ease-soft),
border-color var(--dur-fast) var(--ease-soft),
color var(--dur-fast) var(--ease-soft);
}
.btn--primario,
.btn--whatsapp {
background: var(--grad-gold);
color: var(--black);
box-shadow: 0 10px 30px -12px rgba(201,169,110,0.5);
}
@media (hover: hover) {
.btn--primario:hover,
.btn--whatsapp:hover {
transform: translate3d(0, -2px, 0);
box-shadow: 0 18px 38px -12px rgba(201,169,110,0.6),
0 0 0 6px var(--gold-glow);
will-change: transform, box-shadow;
}
}
.btn--primario:focus-visible,
.btn--whatsapp:focus-visible {
box-shadow: 0 0 0 6px var(--gold-glow);
}
.btn--fantasma,
.btn--tel {
background: transparent;
color: var(--cream);
border-color: var(--border-gold);
}
@media (hover: hover) {
.btn--fantasma:hover,
.btn--tel:hover {
color: var(--gold);
border-color: var(--gold);
transform: translate3d(0, -2px, 0);
}
}
.bloque-claro .btn--fantasma,
.bloque-claro .btn--tel {
color: var(--ink-on-light);
border-color: var(--border-on-light);
}
@media (hover: hover) {
.bloque-claro .btn--fantasma:hover,
.bloque-claro .btn--tel:hover {
color: var(--gold-ink);
border-color: var(--gold-ink);
}
}
.enlace-oro {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
min-block-size: var(--tap);
color: var(--gold);
font-size: var(--fs-small);
font-weight: 500;
letter-spacing: var(--ls-wide);
text-transform: uppercase;
border-block-end: 1px solid transparent;
}
.enlace-oro:hover { border-block-end-color: var(--gold); }
.bloque-claro .enlace-oro { color: var(--gold-ink); }
.bloque-claro .enlace-oro:hover { border-block-end-color: var(--gold-ink); }
.btn__flecha { flex: none; transition: transform var(--dur-fast) var(--ease-spring); }
@media (hover: hover) {
.btn:hover .btn__flecha { transform: translate3d(4px, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
.btn,
.btn__flecha { transition: color var(--dur-reduced) linear, border-color var(--dur-reduced) linear; }
.btn--primario:hover,
.btn--whatsapp:hover,
.btn--fantasma:hover,
.btn--tel:hover,
.btn:hover .btn__flecha { transform: none; }
.btn--primario:hover,
.btn--whatsapp:hover { box-shadow: 0 10px 30px -12px rgba(201,169,110,0.5); }
}
.btn--gold {
background: var(--grad-gold);
color: #0a0a0a;
box-shadow: 0 14px 34px -16px rgba(201,169,110,0.7), inset 0 1px 0 rgba(255,255,255,0.4);
}
.btn--ghost {
background: rgba(255,255,255,0.025);
color: var(--cream);
border-color: var(--hair-gold-2);
}
.btn--icon { padding-inline: 0; inline-size: 3rem; }
.btn .ico { inline-size: 1.3rem; block-size: 1.3rem; }
@media (hover: hover) {
.btn--gold:hover {
transform: translate3d(0, -2px, 0);
box-shadow: 0 20px 40px -14px rgba(201,169,110,0.75), 0 0 0 5px rgba(201,169,110,0.14), inset 0 1px 0 rgba(255,255,255,0.4);
}
.btn--ghost:hover { border-color: var(--gold); color: var(--gold-pale); }
}
@media (prefers-reduced-motion: reduce) {
.btn--gold:hover { transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
.btn:active { transform: translate3d(0, 1px, 0) scale(0.985); transition-duration: 80ms; }
}
@media (prefers-reduced-motion: reduce) {
.btn:active { filter: brightness(0.92); }
}

/* 03-site-header.css */
.vh {
position: absolute !important;
clip-path: inset(50%);
overflow: hidden;
inline-size: 1px;
block-size: 1px;
margin: -1px;
padding: 0;
border: 0;
white-space: nowrap;
}
.sprite { position: absolute; inline-size: 0; block-size: 0; overflow: hidden; }
.ico {
inline-size: 1.25rem;
block-size: 1.25rem;
fill: none;
stroke: currentColor;
stroke-width: 1.4;
stroke-linecap: round;
stroke-linejoin: round;
flex: none;
}
.ico--fill { fill: currentColor; stroke: none; }
.site-header {
position: sticky;
inset-block-start: 0;
z-index: var(--z-header);
background: rgba(5,5,5,0.94);
border-block-end: 1px solid var(--border-gold);
transition: box-shadow var(--dur-base) var(--ease-soft);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
.site-header {
background: rgba(5,5,5,0.8);
-webkit-backdrop-filter: blur(16px) saturate(1.3);
backdrop-filter: blur(16px) saturate(1.3);
}
.site-header:has(.site-nav.is-open) { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(5,5,5,0.97); }
}
.site-header.is-scrolled { box-shadow: 0 12px 30px -22px rgba(0,0,0,0.95); }
.site-header__inner {
display: flex;
align-items: center;
gap: 0.5rem;
block-size: var(--header-h);
padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
}
.logo {
display: inline-flex;
align-items: center;
gap: 0.65rem;
margin-inline-end: auto;
min-block-size: var(--tap);
color: var(--cream);
text-decoration: none;
}
.logo__mark {
display: grid;
place-items: center;
inline-size: 2.15rem;
block-size: 2.15rem;
border: 1px solid var(--gold);
border-radius: 7px;
font: 800 1.25rem/1 var(--font-serif);
font-variation-settings: "opsz" 20;
color: var(--gold);
}
.logo__mark::before { content: "M"; content: "M" / ""; }
.logo__text { font: 800 1.24rem/1 var(--font-serif); letter-spacing: -0.015em; font-variation-settings: "opsz" 20; white-space: nowrap; }
.logo__text em { font-style: normal; font-weight: 400; color: var(--gold); }
@media (hover: hover) { .logo:hover .logo__text { color: var(--gold-pale); } }
.menu-btn,
.hdr-btn,
.site-nav__suche {
display: inline-flex;
align-items: center;
gap: 0.4rem;
min-block-size: var(--tap);
padding-inline: 0.75rem;
border: 1px solid var(--border-gold);
border-radius: var(--radius-ui);
background: rgba(255,255,255,0.03);
color: var(--cream);
font: 500 0.8125rem/1 var(--font-sans);
letter-spacing: 0.08em;
cursor: pointer;
transition: border-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-silk);
}
@media (hover: hover) { .menu-btn:hover, .hdr-btn:hover { border-color: var(--gold); } }
.site-nav { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; }
.site-nav__list { display: flex; flex-wrap: nowrap; align-items: center; gap: 0.15rem; }
.site-nav__link,
.site-nav summary {
display: inline-flex;
align-items: center;
gap: 0.35rem;
min-block-size: var(--tap);
padding: 0.5rem 0.8rem;
border-radius: var(--radius-ui);
font: 500 0.9375rem/1.2 var(--font-sans);
color: var(--text-hi);
text-decoration: none;
cursor: pointer;
list-style: none;
white-space: nowrap;
}
.site-nav summary::-webkit-details-marker { display: none; }
.site-nav summary .ico { inline-size: 0.9rem; block-size: 0.9rem; transition: rotate var(--dur-fast) var(--ease-silk); }
.site-nav details[open] > summary .ico { rotate: 180deg; }
.site-nav details { position: relative; }
.site-nav__sub { display: grid; gap: 0.1rem; padding: 0.4rem; }
.site-nav__sub a {
display: flex;
align-items: center;
min-block-size: var(--tap);
padding: 0.4rem 0.8rem;
border-radius: var(--radius-ui);
color: var(--text-hi);
font-size: 0.9375rem;
text-decoration: none;
}
.site-nav summary:hover,
.site-nav__alle:hover,
.nav-zeile:hover { background: rgba(255,255,255,0.06); }
.site-nav summary:hover,
.nav-zeile:hover > a { color: var(--gold-pale); }
.site-nav__link[aria-current="page"],
.site-nav__sub a[aria-current="page"] { color: var(--gold); }
@media (max-width: 999.98px) {
.site-nav:is(:popover-open, .is-open) {
position: fixed;
inset: var(--hb, var(--header-h)) 0 auto 0;
display: flex;
flex-direction: column;
inline-size: 100%;
block-size: calc(100dvh - var(--hb, var(--header-h)));
overflow-y: auto;
overscroll-behavior: contain;
padding: 0.75rem var(--gutter) 0;
background: var(--black-soft);
border-block-end: 1px solid var(--hair-gold-2);
box-shadow: 0 40px 80px -20px rgba(0,0,0,0.9);
}
.site-nav:not(:is(:popover-open, .is-open)) { display: none; }
.site-nav__list { flex: none; flex-direction: column; align-items: stretch; gap: 0; }
.site-nav__list > li { border-block-end: 1px solid var(--hair); }
.site-nav__link,
.site-nav summary {
inline-size: 100%;
justify-content: space-between;
min-block-size: 3.25rem;
padding-inline: 0.25rem;
border-radius: 0;
font-size: 1.0625rem;
white-space: normal;
}
.site-nav__sub { padding-block: 0.25rem 0.75rem; padding-inline: 0.75rem 0; }
}
@media (max-width: 559.98px) {
.site-header__inner { gap: 0.4rem; }
.menu-btn { inline-size: var(--tap); padding-inline: 0; justify-content: center; }
.menu-btn span { position: absolute; clip-path: inset(50%); inline-size: 1px; block-size: 1px; overflow: hidden; white-space: nowrap; }
}
@media (max-width: 350px) {
.logo { gap: 0.45rem; }
.logo__mark { inline-size: 1.95rem; block-size: 1.95rem; font-size: 1.1rem; }
.logo__text { font-size: 1.12rem; }
}
@media (min-width: 1000px) {
.menu-btn { display: none; }
.site-nav,
.site-nav:not(:is(:popover-open, .is-open)) {
display: block;
position: relative;
inset: auto;
inline-size: auto;
overflow: visible;
background: transparent;
}
.site-nav__list { gap: 0.05rem; }
.site-nav__link,
.site-nav summary { padding-inline: 0.6rem; }
.site-nav details[open] .site-nav__sub {
position: absolute;
inset-block-start: calc(100% + 0.35rem);
inset-inline-start: 0;
z-index: 2;
min-inline-size: 14rem;
background: var(--black-mid);
border: 1px solid var(--hair-gold-2);
border-radius: var(--radius-lg);
box-shadow: 0 30px 60px -20px rgba(0,0,0,0.9);
}
}
@media (min-width: 1180px) {
.site-nav__link,
.site-nav summary { padding-inline: 0.85rem; }
}
@media (prefers-reduced-motion: reduce) {
.site-header,
.menu-btn,
.hdr-btn,
.site-nav__suche,
.site-nav summary .ico { transition: none; }
}
@supports not selector(:popover-open) {
@media (max-width: 999.98px) {
html:not(.js) .site-header { position: static; }
html:not(.js) .site-header__inner { flex-wrap: wrap; block-size: auto; min-block-size: var(--header-h); }
html:not(.js) .menu-btn { display: none; }
html:not(.js) .site-nav,
html:not(.js) .site-nav:not(.is-open) { display: block; flex: 1 1 100%; position: static; padding-block-end: 0.75rem; }
}
}
.hdr-btn { justify-content: center; inline-size: var(--tap); padding-inline: 0; }
.hdr-btn[hidden], .site-nav__suche[hidden] { display: none; }
.preis-btn { color: var(--gold); }
.logo { flex: 0 1 auto; min-inline-size: 0; }
.logo__text { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; }
.menu-btn .ico--zu, .menu-btn[aria-expanded="true"] .ico--auf { display: none; }
.menu-btn[aria-expanded="true"] .ico--zu { display: block; }
.site-header:has(:popover-open) .ico--auf { display: none; }
.site-header:has(:popover-open) .ico--zu { display: block; }
.site-nav { overflow-wrap: anywhere; }
.nav-zeile { position: relative; display: flex; flex-wrap: wrap; align-items: center; border-radius: var(--radius-ui); }
.nav-zeile > a { flex: 1; min-inline-size: 0; hyphens: auto; }
.nav-zeile > a::after { content: ""; position: absolute; inset: 0; }
.nav-preis { padding-inline: 0.5rem 0.8rem; color: var(--gold); font: 500 var(--fs-small)/1.1 var(--font-sans); font-variant-numeric: tabular-nums; }
.nav-gruppe__titel { margin: 0.8rem 0.8rem 0.2rem; color: var(--gold); font: 600 var(--fs-micro)/1.3 var(--font-sans); letter-spacing: 0.04em; }
.site-nav__sub .site-nav__alle { color: var(--gold-bright); font-weight: 600; }
.nav-nota { margin: 0; padding: 0.6rem 0.8rem 0.2rem; color: var(--grey); font: 400 var(--fs-micro)/1.3 var(--font-sans); }
.site-nav__suche, .site-nav__fuss { display: none; }
@media (max-width: 999.98px) {
.site-nav__suche { display: flex; flex: none; justify-content: flex-start; gap: 0.6rem; inline-size: 100%; min-block-size: 3rem; margin-block-end: 0.5rem; color: var(--grey); font-size: var(--fs-body); letter-spacing: 0; }
.site-nav__list > li > .nav-zeile { border-radius: 0; }
.site-nav__list > li > .nav-zeile > .nav-preis { padding-inline-end: 0.25rem; font-size: var(--fs-body); }
.site-nav__fuss { position: sticky; inset-block-end: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem; margin-block-start: auto; padding-block: 0.6rem calc(0.75rem + env(safe-area-inset-bottom, 0px)); background: var(--black-soft); }
.site-nav__fuss .site-nav__cta { flex: 1 1 0; min-inline-size: 0; padding-inline: 0.5rem; }
.site-nav__sub .nav-nota { display: none; }
.site-nav__fuss .nav-nota { flex: 0 0 100%; padding: 0; }
}
@media (max-width: 479.98px) { .site-header .suche-btn { display: none; } }
@media (max-width: 389.98px) { .site-header__inner { gap: 0.25rem; padding-inline: 0.875rem; } }
@media (max-width: 349.98px) { .preis-btn { display: none; } }
@media (min-width: 1000px) {
.preis-btn, .site-nav__list > li > .nav-zeile > .nav-preis { display: none; }
.site-nav details[open] .site-nav__sub { inline-size: max-content; min-inline-size: 16rem; max-inline-size: min(26rem, calc(100vw - 2 * var(--gutter))); }
.site-nav__list > li:nth-child(n+3) details[open] .site-nav__sub { inset-inline: auto 0; }
.site-nav details.nav-mega { position: static; }
.site-nav details[open] .site-nav__sub--mega { inset-inline: auto 0; display: grid; grid-template-columns: repeat(3, auto); gap: 0 1.25rem; max-inline-size: calc(100vw - 2 * var(--gutter)); max-block-size: calc(100dvh - var(--header-h) - 2rem); overflow-y: auto; padding: 0.5rem 0.9rem 0.9rem; }
.site-nav__sub--mega :is(.site-nav__alle, .nav-nota) { grid-column: 1 / -1; }
}
@media (min-width: 1000px) and (max-width: 1179.98px) { .site-nav__link, .site-nav summary { padding-inline: 0.5rem; } }

/* 04-lang-switch.css */
.lang { position: relative; }
.lang > summary {
display: inline-flex;
align-items: center;
gap: 0.4rem;
min-block-size: var(--tap);
padding-inline: 0.75rem;
border: 1px solid var(--border-gold);
border-radius: var(--radius-ui);
background: rgba(255,255,255,0.03);
color: var(--cream);
font: 500 0.8125rem/1 var(--font-sans);
letter-spacing: 0.08em;
cursor: pointer;
list-style: none;
transition: border-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-silk);
}
.lang > summary::-webkit-details-marker { display: none; }
.lang > summary .ico { inline-size: 1.05rem; block-size: 1.05rem; }
.lang > summary .ico:last-child { transition: rotate var(--dur-fast) var(--ease-silk); }
.lang[open] > summary .ico:last-child { rotate: 180deg; }
.lang[open] > summary { border-color: var(--gold); }
@media (hover: hover) { .lang > summary:hover { border-color: var(--gold); } }
.lang > summary span,
.lang__panel small { text-transform: uppercase; }
.lang__panel {
position: absolute;
inset-inline: auto 0;
inset-block-start: calc(100% + 0.5rem);
z-index: 3;
display: grid;
min-inline-size: 13rem;
max-block-size: calc(100dvh - 5rem);
overflow-y: auto;
padding: 0.5rem;
background: var(--black-mid);
border: 1px solid var(--hair-gold-2);
border-radius: var(--radius-lg);
box-shadow: 0 30px 60px -20px rgba(0,0,0,0.9);
}
.lang__panel a {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
min-block-size: var(--tap);
padding: 0.5rem 0.9rem;
border-radius: var(--radius-ui);
color: var(--text-hi);
text-decoration: none;
}
.lang__panel a[aria-current="true"] { color: var(--gold); background: rgba(201,169,110,0.08); }
.lang__panel a:hover { background: rgba(255,255,255,0.05); }
.lang__panel small { color: var(--grey); font-size: var(--fs-micro); letter-spacing: 0.1em; }
@media (max-width: 559.98px) {
.lang > summary { padding-inline: 0.6rem; gap: 0.3rem; }
.lang > summary .ico:last-child { display: none; }
}
@media (max-width: 429.98px) {
.lang > summary { justify-content: center; inline-size: var(--tap); padding-inline: 0; }
.lang > summary span { display: none; }
}
@media (min-width: 1000px) and (max-width: 1179.98px) { .lang > summary .ico:last-child { display: none; } }
@media (prefers-reduced-motion: reduce) {
.lang > summary,
.lang > summary .ico:last-child { transition: none; }
}

/* 05-breadcrumbs.css */
.breadcrumbs {
inline-size: 100%;
padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
padding-block: var(--sp-4) 0;
}
.breadcrumbs ol {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-2) 6px;
font-size: var(--fs-micro);
letter-spacing: 0;
color: var(--grey);
}
.breadcrumbs li {
display: inline-flex;
align-items: center;
gap: 6px;
}
.breadcrumbs li + li::before {
content: "\203A" / "";
color: var(--grey-2);
font-size: 1.1em;
line-height: 1;
}
.breadcrumbs a {
display: inline-flex;
align-items: center;
min-block-size: var(--tap);
color: var(--grey);
border-block-end: 1px solid transparent;
}
.breadcrumbs a:hover { color: var(--gold); border-block-end-color: var(--gold-dim); }
.breadcrumbs [aria-current="page"] { color: var(--cream); }
@media (min-width: 360px) {
.breadcrumbs li:last-child { flex: 1 1 12em; min-inline-size: 0; }
.breadcrumbs [aria-current="page"] { min-inline-size: 0; line-height: 1.3; }
}
@media (max-width: 640px) {
.breadcrumbs { padding-block: var(--sp-2) 0; }
}

/* 06-hero.css */
.hero {
position: relative;
padding-block: clamp(var(--sp-6), 6vw, var(--sp-8)) clamp(var(--sp-7), 8vw, var(--sp-9));
}
.hero__eyebrow {
margin-block-end: var(--sp-4);
font-size: var(--fs-micro);
font-weight: 500;
letter-spacing: var(--ls-xxl);
text-transform: uppercase;
color: var(--gold);
}
.hero__h1 {
max-inline-size: calc(12.67em + 4.1rem);
font-size: var(--fs-h1);
line-height: 1.06;
}
.hero--grande .hero__h1 { font-size: var(--fs-hero); }
.hero__intro {
margin-block-start: var(--sp-4);
max-inline-size: 37.6em;
font-size: clamp(1rem, 1.6vw, 1.25rem);
font-weight: 400;
color: var(--grey);
}
.hero__insignia {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
margin-block-start: var(--sp-5);
padding: var(--sp-2) var(--sp-4);
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
background: var(--gold-veil);
border: 1px solid var(--border-gold);
border-radius: var(--radius-sm);
}
.hero__cta {
display: flex;
flex-wrap: wrap;
gap: var(--sp-4);
margin-block-start: var(--sp-5);
}
.hero__cta .btn { flex: 1 1 auto; max-inline-size: 22rem; }
@media (min-width: 640px) {
.hero__cta .btn { flex: 0 0 auto; }
}
.hero__media { margin-block-start: var(--sp-7); }
.hero__media img,
.hero__picture img {
inline-size: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
border-radius: var(--radius-card);
}
.hero__media--video {
position: relative;
inline-size: min(100%, 22rem);
margin-inline: auto;
aspect-ratio: 9 / 16;
border-radius: var(--radius-card);
overflow: hidden;
box-shadow: 0 30px 80px -30px rgb(0 0 0 / 0.9), 0 0 0 1px var(--border-gold);
}
.hero__media--video img {
aspect-ratio: 9 / 16;
block-size: 100%;
}
.hero__video {
position: absolute;
inset: 0;
inline-size: 100%;
block-size: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 600ms var(--ease-soft);
}
.hero__video.is-playing { opacity: 1; }
.hero__rotulo { display: none; }
.hero__pausa {
position: absolute;
z-index: 2;
inset-block-start: var(--sp-3);
inset-inline-end: var(--sp-3);
display: grid;
place-items: center;
inline-size: var(--tap);
block-size: var(--tap);
border: 1px solid var(--border-gold);
border-radius: var(--radius-sm);
background: rgb(0 0 0 / 0.55);
color: var(--cream);
cursor: pointer;
}
.hero__pausa[hidden] { display: none; }
.hero__pausa-icono {
inline-size: 0.8rem;
block-size: 0.95rem;
background: linear-gradient(90deg, currentColor 0 34%, transparent 34% 66%, currentColor 66% 100%);
}
.hero__pausa[aria-pressed="true"] .hero__pausa-icono {
background: currentColor;
clip-path: polygon(10% 0, 100% 50%, 10% 100%);
}
@media (hover: hover) { .hero__pausa:hover { border-color: var(--gold); color: var(--gold-bright); } }
@media (forced-colors: active) { .hero__pausa-icono { forced-color-adjust: none; } }
@media print { .hero__pausa { display: none; } }
@media (min-width: 1024px) {
.hero--video {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
column-gap: var(--sp-8);
align-items: center;
}
.hero--video > :not(.hero__media) { grid-column: 1; }
.hero--video > .hero__insignia { justify-self: start; }
.hero--video > .hero__media {
grid-column: 2;
grid-row: 1 / span 9;
margin-block-start: 0;
}
}
.hero__media figcaption {
margin-block-start: var(--sp-3);
font-size: var(--fs-micro);
color: var(--grey);
}
@media (prefers-reduced-motion: no-preference) {
@keyframes hero-entrada {
from { opacity: 0; transform: translate3d(0, 24px, 0); }
to   { opacity: 1; transform: none; }
}
.hero__eyebrow,
.hero__insignia,
.hero__cta {
animation: hero-entrada var(--dur-reveal) var(--ease-silk) backwards;
}
.hero__eyebrow  { animation-delay: 0ms; }
.hero__insignia { animation-delay: calc(var(--stagger) * 2); }
.hero__cta      { animation-delay: calc(var(--stagger) * 3); }
@supports (animation-timing-function: linear(0, 1)) {
.hero__eyebrow,
.hero__insignia,
.hero__cta { animation-timing-function: var(--ease-spring-linear); }
}
}
@media (prefers-reduced-motion: reduce) {
@keyframes hero-fundido { from { opacity: 0; } to { opacity: 1; } }
.hero__eyebrow,
.hero__insignia,
.hero__cta { animation: hero-fundido 150ms linear backwards; }
}
@media (max-width: 640px) {
.hero { padding-block: var(--sp-2) var(--sp-6); }
.hero__h1 { font-size: clamp(1.645rem, 7.05vw, 2.115rem); max-inline-size: none; }
.hero__eyebrow { margin-block-end: var(--sp-1); }
.hero__intro { margin-block-start: var(--sp-2); font-size: 1rem; line-height: 1.5; }
.hero__insignia { margin-block-start: var(--sp-3); }
.hero__cta { margin-block-start: var(--sp-3); gap: var(--sp-2); }
.hero__cta .btn { padding-block: 12px; }
.hero__media { margin-block-start: var(--sp-5); }
}
@media (max-width: 374px) {
.hero { padding-block-start: 0; }
.hero__h1 { font-size: clamp(1.41rem, 7.52vw, 1.88rem); }
.hero__intro { font-size: 0.9375rem; }
}
.hero__preis {
display: flex;
flex-wrap: wrap;
align-items: baseline;
column-gap: 0.5rem;
margin-block-start: var(--sp-4);
color: var(--cream);
font-size: var(--fs-body);
line-height: 1.3;
}
.hero__preis b {
color: var(--gold-bright);
font: 700 var(--fs-h3)/1.05 var(--font-serif);
white-space: nowrap;
}
.hero__preis-enlace {
display: inline-flex;
align-items: center;
min-block-size: var(--tap);
color: var(--gold);
font-size: var(--fs-small);
text-decoration: underline;
text-underline-offset: 0.22em;
}
.hero__preis-paquete::after { content: "·"; content: "·" / ""; margin-inline-start: 0.5rem; color: var(--gold); }
.hero__preis + .hero__cta { margin-block-start: var(--sp-3); }
[lang="tr"] .hero__insignia { text-transform: none; }
@media (max-width: 639.98px) {
.hero { display: flex; flex-direction: column; }
.hero > :is(.hero__insignia, .mehr) { align-self: flex-start; }
.hero__insignia { order: 1; margin-block-start: var(--sp-4); }
.hero > .mehr { margin-block: -0.15rem -0.35rem; }
.hero__preis { margin-block-start: var(--sp-2); }
@supports selector(:has(*)) {
.hero > .mehr { display: inline-flex; }
.hero:has(> .mehr > input:not(:checked)) > .hero__intro {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
line-clamp: 3;
overflow: hidden;
}
}
}
@media (min-width: 1024px) {
.hero--dos {
display: grid;
grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
column-gap: var(--sp-8);
align-content: start;
}
.hero--dos > * { grid-column: 1; justify-self: start; }
.hero--dos > .hero__cta { justify-self: stretch; }
.hero--dos > .hero__insignia { order: 1; }
.hero--dos > .hero__media {
grid-column: 2;
grid-row: 1 / span 9;
align-self: center;
justify-self: stretch;
margin-block-start: 0;
}
.hero--dos > .hero__h1 { max-inline-size: calc(11.88em + 2.6rem); font-size: min(var(--fs-h1), clamp(2.25rem, 3.9vw, 3.5rem)); }
}

/* 07-proof-bar.css */
.proof-bar {
border-block: 1px solid var(--border-soft);
background: var(--black-soft);
padding-block: var(--sp-5);
}
.proof-bar__lista {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-4) var(--sp-7);
}
.proof-bar__item {
display: flex;
align-items: center;
gap: var(--sp-3);
font-size: var(--fs-small);
color: var(--grey);
}
.proof-bar__cifra {
font-family: var(--font-serif);
font-weight: 700;
font-size: 1.5rem;
color: var(--gold);
line-height: 1;
}
.proof-bar__etiqueta {
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--grey);
}
.proof-bar a {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
min-block-size: var(--tap);
color: var(--cream);
border-block-end: 1px solid transparent;
}
.proof-bar a:hover { color: var(--gold); border-block-end-color: var(--gold-dim); }

/* 08-marquee.css */
.marquee {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-4);
border-block: 1px solid var(--border-soft);
padding-block: var(--sp-5);
}
.marquee__ventana {
flex: 1 1 100%;
min-inline-size: 0;
overflow: hidden;
-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
@media (min-width: 640px) { .marquee__ventana { flex: 1 1 0; } }
.marquee__pista {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-3) var(--sp-6);
inline-size: 100%;
}
.marquee__item {
display: inline-flex;
align-items: center;
gap: var(--sp-3);
font-size: var(--fs-small);
letter-spacing: var(--ls-wide);
color: var(--grey);
white-space: nowrap;
}
.marquee__item::after {
content: "";
inline-size: 4px;
block-size: 4px;
border-radius: 50%;
background: var(--gold-dim);
}
.marquee__pista[aria-hidden="true"] { display: none; }
@media (prefers-reduced-motion: no-preference) {
@keyframes marquee-desplazar {
from { transform: translate3d(0, 0, 0); }
to   { transform: translate3d(-100%, 0, 0); }
}
.marquee__ventana { display: flex; gap: var(--sp-6); }
.marquee__pista {
flex: none;
flex-wrap: nowrap;
inline-size: max-content;
animation: marquee-desplazar 60s linear infinite;
}
.marquee__pista[aria-hidden="true"] { display: flex; }
.marquee:hover .marquee__pista,
.marquee:focus-within .marquee__pista { animation-play-state: paused; }
@keyframes marquee-desplazar-rtl {
from { transform: translate3d(0, 0, 0); }
to   { transform: translate3d(100%, 0, 0); }
}
[dir="rtl"] .marquee__pista { animation-name: marquee-desplazar-rtl; }
}
.marquee:has(.marquee__pausa__casilla:checked) .marquee__pista,
.marquee.esta-pausada .marquee__pista { animation-play-state: paused; }
.marquee__pausa {
flex: none;
align-self: center;
display: inline-flex;
align-items: center;
gap: var(--sp-2);
min-block-size: var(--tap);
min-inline-size: var(--tap);
font-size: var(--fs-micro);
letter-spacing: var(--ls-wide);
text-transform: uppercase;
color: var(--grey);
cursor: pointer;
}
.marquee__pausa:hover { color: var(--gold); }
.marquee__pausa__casilla { accent-color: var(--gold); inline-size: 16px; block-size: 16px; }
@media (prefers-reduced-motion: reduce) {
.marquee__pausa { display: none; }
}

/* 09-bloque.css */
.bloque { --aire-banda-lista: var(--sp-6); }
.bloque + .bloque { padding-block-start: 0; }
.bloque-claro + .bloque:not(.bloque-claro),
.bloque:not(.bloque-claro) + .bloque-claro,
.bloque-claro--oro + .bloque-claro:not(.bloque-claro--oro),
.bloque-claro:not(.bloque-claro--oro) + .bloque-claro--oro { padding-block-start: var(--pad-seccion); }
.bloque--lista:not(.bloque-claro) + .bloque:not(.bloque--lista, .bloque-claro),
.bloque:not(.bloque--lista, .bloque-claro) + .bloque--lista:not(.bloque-claro) { padding-block-start: var(--aire-banda-lista); }
.bloque > h2 { margin-block-end: var(--sp-5); }
.bloque > p { max-inline-size: 36rem; color: var(--grey); }
.bloque > p + p { margin-block-start: var(--sp-4); }
.bloque > p + .rejilla,
.bloque > .mas + .rejilla { margin-block-start: var(--sp-5); }
.bloque--lista:not(.bloque-claro) { background: var(--black-soft); }
.bloque__rejilla {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-5);
margin-block-start: var(--sp-6);
}
@media (min-width: 640px) {
.bloque__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); }
}
@media (min-width: 900px) {
.bloque__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.guia .bloque__rejilla,
.guia .rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.bloque__item,
.tarjeta {
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-6);
background: var(--black-soft);
border: 1px solid var(--border);
border-radius: var(--radius-card);
box-shadow: var(--shadow-card);
transition: transform var(--dur-fast) var(--ease-silk),
border-color var(--dur-fast) var(--ease-soft),
background-color var(--dur-fast) var(--ease-soft);
}
.bloque__item h3,
.tarjeta h3 { font-size: var(--fs-h3); }
.bloque__item p,
.tarjeta p { color: var(--grey); font-size: var(--fs-body); }
@media (hover: hover) {
.bloque__item:hover,
.tarjeta:hover {
transform: translate3d(0, -4px, 0);
border-color: var(--border-gold);
background: var(--black-mid);
}
}
@media (prefers-reduced-motion: reduce) {
.bloque__item,
.tarjeta { transition: border-color var(--dur-reduced) linear; }
.bloque__item:hover,
.tarjeta:hover { transform: none; }
}
.bloque__precio {
font-size: var(--fs-small);
font-weight: 500;
letter-spacing: var(--ls-wide);
color: var(--gold);
}
.bloque__item a,
.tarjeta a {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
min-block-size: var(--tap);
margin-block-start: auto;
color: var(--gold);
font-size: var(--fs-small);
letter-spacing: var(--ls-wide);
}
.bloque__item a:hover,
.tarjeta a:hover { text-decoration: underline; text-underline-offset: 4px; }
.tarjeta p > a { display: inline; padding-block: 0.8rem; font-size: inherit; letter-spacing: inherit; overflow-wrap: anywhere; }
.bloque__media {
margin-block-start: var(--sp-6);
max-inline-size: 100%;
}
.bloque__media:not(:last-child) { margin-block-end: var(--sp-6); }
.bloque__media img {
inline-size: 100%;
border-radius: var(--radius-card);
}
.bloque__media .media--hochformat img {
inline-size: min(100%, 26rem);
block-size: auto;
}
.bloque__media .media--mitte img {
display: block;
margin-inline: auto;
}
.bloque__media:has(.media--mitte) figcaption { text-align: center; }
.bloque__media figcaption {
margin-block-start: var(--sp-3);
font-size: var(--fs-micro);
color: var(--grey);
}
.bloque-claro .bloque__media figcaption { color: var(--muted-on-light); }
.bloque__retrato {
display: block;
max-inline-size: 480px;
}
.bloque__retrato img {
aspect-ratio: 4 / 5;
object-fit: cover;
filter: grayscale(1) contrast(1.05);
}
@media (hover: hover) {
.bloque__retrato img { transition: filter var(--dur-slow) var(--ease-silk); }
.bloque__retrato:hover img { filter: grayscale(0) contrast(1); }
}
@media (prefers-reduced-motion: reduce) {
.bloque__retrato img { transition: none; }
}
.bloque__enlaces {
display: grid;
gap: var(--sp-2);
margin-block-start: var(--sp-5);
max-inline-size: 36rem;
}
.bloque__enlaces li { color: var(--grey); font-size: var(--fs-small); }
@media (max-width: 639.98px) {
.enl { display: grid; padding-block-end: 0.35rem; }
.enl > a { justify-self: start; margin-block-end: -0.45rem; overflow-wrap: anywhere; }
.enl > span { display: none; }
}
.bloque__enlaces a {
display: inline-flex;
align-items: center;
min-block-size: var(--tap);
color: var(--gold);
text-decoration-line: underline;
text-decoration-thickness: 1px;
text-decoration-color: rgba(201,169,110,0.5);
text-underline-offset: 0.22em;
transition: text-decoration-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.bloque__enlaces a:is(:hover, :focus-visible) { color: var(--gold-bright); text-decoration-color: currentColor; }
.bloque-claro > p { color: var(--muted-on-light); }
.bloque-claro :is(.tarjeta, .bloque__item, .service-card, .segment-card, .case-card) {
--ink-on-light:    var(--white);
--muted-on-light:  var(--grey);
--gold-ink:        var(--gold);
--border-on-light: var(--border);
}
.bloque-claro .bloque__enlaces li { color: var(--muted-on-light); }
.bloque-claro .bloque__enlaces a { color: var(--gold-ink); text-decoration-color: rgba(107,82,32,0.5); }
.bloque-claro .bloque__enlaces a:is(:hover, :focus-visible) { color: var(--gold-ink); text-decoration-color: currentColor; }

/* 10-service-card.css */
.service-card {
position: relative;
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-6);
background: var(--black-soft);
border: 1px solid var(--border);
border-radius: var(--radius-card);
box-shadow: var(--shadow-card);
transition: transform var(--dur-fast) var(--ease-silk),
border-color var(--dur-fast) var(--ease-soft),
background-color var(--dur-fast) var(--ease-soft);
}
.service-card__icono {
inline-size: 28px;
block-size: 28px;
color: var(--gold);
}
.service-card__titulo { font-size: var(--fs-h3); }
.service-card__titulo a::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
}
.service-card__titulo a {
text-decoration: underline;
text-decoration-thickness: 1px;
text-decoration-color: var(--border-gold);
text-underline-offset: 0.22em;
}
.service-card__texto { color: var(--grey); }
.service-card__lista { display: grid; gap: var(--sp-2); margin-block-start: var(--sp-2); }
.service-card__lista li {
position: relative;
min-inline-size: 0;
overflow-wrap: anywhere;
padding-inline-start: var(--sp-5);
font-size: var(--fs-small);
color: var(--cream);
}
.service-card__lista li::before {
content: "";
position: absolute;
inset-block-start: 0.62em;
inset-inline-start: 0;
inline-size: 8px;
block-size: 1px;
background: var(--gold);
}
.service-card__precio {
margin-block-start: auto;
padding-block-start: var(--sp-4);
border-block-start: 1px solid var(--border);
font-size: var(--fs-small);
font-weight: 500;
letter-spacing: var(--ls-wide);
color: var(--gold);
}
.service-card__precio b,
.bloque__precio b {
font-family: var(--font-serif);
font-size: 1.35rem;
font-weight: 700;
white-space: nowrap;
}
@media (hover: hover) {
.service-card:hover {
transform: translate3d(0, -4px, 0);
border-color: var(--border-gold);
background: var(--black-mid);
}
}
.service-card:focus-within {
border-color: var(--gold);
}
@media (prefers-reduced-motion: reduce) {
.service-card { transition: border-color var(--dur-reduced) linear; }
.service-card:hover { transform: none; }
}

/* 11-segment-card.css */
.segment-card {
position: relative;
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-6);
background: var(--black-raised);
border: 1px solid var(--border);
border-radius: var(--radius-card);
box-shadow: var(--shadow-card);
overflow: hidden;
transition: transform var(--dur-fast) var(--ease-silk),
border-color var(--dur-fast) var(--ease-soft);
}
.segment-card::before {
content: "";
position: absolute;
inset-block-start: 0;
inset-inline: 0;
block-size: 2px;
background: var(--grad-gold);
transform: scaleX(0);
transform-origin: 0 50%;
transition: transform var(--dur-base) var(--ease-silk);
}
@media (hover: hover) {
.segment-card:hover { transform: translate3d(0, -4px, 0); border-color: var(--border-gold); }
.segment-card:hover::before { transform: scaleX(1); }
}
.segment-card:focus-within::before { transform: scaleX(1); }
.segment-card__sector {
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
}
.segment-card__titulo { font-size: var(--fs-h3); }
.segment-card__titulo a::after { content: ""; position: absolute; inset: 0; }
.segment-card__texto { color: var(--grey); }
.segment-card__dato {
margin-block-start: auto;
padding-block-start: var(--sp-4);
border-block-start: 1px solid var(--border);
font-size: var(--fs-small);
color: var(--cream);
}
.segment-card__fuente { font-size: var(--fs-micro); color: var(--grey); }
@media (prefers-reduced-motion: reduce) {
.segment-card { transition: border-color var(--dur-reduced) linear; }
.segment-card:hover { transform: none; }
.segment-card::before { transition: none; transform: scaleX(1); }
}

/* 12-steps.css */
.steps {
display: grid;
gap: var(--sp-6);
counter-reset: paso;
margin-block-start: var(--sp-6);
}
.steps__paso {
position: relative;
counter-increment: paso;
padding-inline-start: calc(var(--sp-8) + var(--sp-2));
}
.steps__paso::before {
content: counter(paso);
position: absolute;
inset-block-start: 0;
inset-inline-start: 0;
inline-size: 48px;
block-size: 48px;
display: grid;
place-items: center;
font-family: var(--font-serif);
font-weight: 700;
font-size: 1.25rem;
color: var(--gold);
background: var(--black-soft);
border: 1px solid var(--border-gold);
border-radius: var(--radius-card);
}
.steps__paso:not(:last-child)::after {
content: "";
position: absolute;
inset-block-start: 56px;
inset-inline-start: 23px;
inline-size: 1px;
block-size: calc(100% - 40px);
background: var(--border-gold);
transform-origin: top;
}
.steps__titulo { font-size: var(--fs-h3); margin-block-end: var(--sp-2); }
.steps__texto { color: var(--grey); }
.bloque-claro .steps__texto { color: var(--muted-on-light); }
.steps__paso--activo::before {
color: var(--black);
background: var(--grad-gold);
border-color: transparent;
box-shadow: 0 0 0 6px var(--gold-glow);
}
@media (min-width: 640px) {
.steps:not(:has(> .steps__paso:nth-child(5))) { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--sp-6); }
.steps:not(:has(> .steps__paso:nth-child(5))) > .steps__paso { padding-inline-start: 0; padding-block-start: calc(48px + var(--sp-4)); }
.steps:not(:has(> .steps__paso:nth-child(5))) > .steps__paso::before { inset-inline-start: 0; }
.steps:not(:has(> .steps__paso:nth-child(5))) > .steps__paso:not(:last-child)::after {
inset-block-start: 23px;
inset-inline-start: 56px;
inline-size: calc(100% - 56px);
block-size: 1px;
transform-origin: 0 50%;
}
}
@media (prefers-reduced-motion: no-preference) {
.steps__paso::after { --linea-cerrada: scaleY(0); }
@media (min-width: 640px) {
.steps:not(:has(> .steps__paso:nth-child(5))) > .steps__paso::after { --linea-cerrada: scaleX(0); }
}
html.js .steps.reveal .steps__paso::after { transform: var(--linea-cerrada); }
html.js .steps.reveal.is-revealed .steps__paso::after {
transform: none;
transition: transform var(--dur-slow) var(--ease-silk);
}
html.js .steps.reveal .steps__paso:nth-child(2)::after { transition-delay: 120ms; }
html.js .steps.reveal .steps__paso:nth-child(3)::after { transition-delay: 240ms; }
}

/* 13-anchor-compare.css */
.anchor-compare__rejilla {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-6);
margin-block-start: var(--sp-6);
}
@media (min-width: 640px) {
.anchor-compare__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-7); }
}
.anchor-compare__lado {
min-inline-size: 0;
padding: var(--sp-6);
background: rgba(255,255,255,0.45);
border: 1px solid var(--border-on-light);
border-radius: var(--radius-card);
}
.anchor-compare__lado--makhu {
background: var(--gold-pale-bg);
border-color: var(--gold-ink);
}
.anchor-compare__etiqueta {
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--muted-on-light);
}
.anchor-compare__cifra {
display: block;
margin-block: var(--sp-2);
font-family: var(--font-serif);
font-weight: 800;
font-size: var(--fs-figure);
line-height: var(--lh-tight);
font-variant-numeric: tabular-nums;
color: var(--ink-on-light);
}
.anchor-compare__lado--makhu .anchor-compare__cifra { color: var(--gold-ink); }
.anchor-compare__lado { container-type: inline-size; }
.anchor-compare__cifra {
font-variant-numeric: lining-nums proportional-nums;
letter-spacing: -0.015em;
}
@supports (font-size: 1cqi) {
.anchor-compare__cifra { font-size: min(var(--fs-figure), calc(100cqi / 5.7)); }
}
.anchor-compare__detalle { color: var(--muted-on-light); font-size: var(--fs-small); }
.anchor-compare__barra {
block-size: 10px;
margin-block-start: var(--sp-4);
background: rgba(20,20,20,0.10);
border-radius: var(--radius-sm);
overflow: hidden;
}
.anchor-compare__barra::before {
content: "";
display: block;
block-size: 100%;
inline-size: var(--barra, 100%);
background: var(--ink-on-light);
transform-origin: 0 50%;
}
.anchor-compare__lado--makhu .anchor-compare__barra::before { background: var(--gold-ink); }
.anchor-compare__fuente {
margin-block-start: var(--sp-4);
font-size: var(--fs-micro);
color: var(--muted-on-light);
}
.anchor-compare__fuente a { display: inline-flex; align-items: center; min-block-size: 24px; text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
html.js .anchor-compare.reveal .anchor-compare__barra::before { transform: scaleX(0); }
html.js .anchor-compare.reveal.is-revealed .anchor-compare__barra::before {
transform: none;
transition: transform 900ms var(--ease-silk);
}
html.js .anchor-compare.reveal.is-revealed .anchor-compare__lado:nth-child(2) .anchor-compare__barra::before {
transition-delay: 200ms;
}
}

/* 14-benefit-grid.css */
.benefit-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-5);
margin-block-start: var(--sp-6);
}
@media (min-width: 640px) {
.benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); }
}
@media (min-width: 900px) {
.benefit-grid--tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.benefit-grid__item {
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-6);
background: rgba(255,255,255,0.5);
border: 1px solid var(--border-on-light);
border-radius: var(--radius-card);
}
.benefit-grid__icono {
inline-size: 28px;
block-size: 28px;
color: var(--gold-ink);
}
.benefit-grid__titulo {
font-size: var(--fs-h3);
color: var(--ink-on-light);
}
.benefit-grid__texto { color: var(--muted-on-light); }

/* 15-case-carousel.css */
.case-carousel { position: relative; }
.case-carousel__pista {
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(260px, 80%);
gap: var(--sp-5);
margin-block-start: var(--sp-6);
padding-block-end: var(--sp-4);
overflow-x: auto;
overscroll-behavior-inline: contain;
scroll-snap-type: x mandatory;
scroll-padding-inline: var(--gutter);
scrollbar-width: thin;
scrollbar-color: var(--border-gold) transparent;
}
@media (min-width: 640px) { .case-carousel__pista { grid-auto-columns: minmax(280px, 46%); } }
@media (min-width: 900px) { .case-carousel__pista { grid-auto-columns: minmax(300px, 31%); } }
@media (min-width: 900px) {
.case-carousel__pista:has(> :nth-child(2):last-child) { grid-auto-columns: minmax(300px, calc(50% - var(--sp-5) / 2)); }
.case-carousel__pista:has(> :only-child) { grid-auto-columns: minmax(300px, 46%); }
}
@media (min-width: 1100px) {
.case-carousel__pista:has(> :nth-child(4):last-child) { grid-auto-columns: minmax(240px, calc(25% - var(--sp-5) * 3 / 4)); }
}
.case-carousel__pista > * { scroll-snap-align: start; }
@media (prefers-reduced-motion: reduce) {
.case-carousel__pista { scroll-behavior: auto; }
}

/* 16-case-card.css */
.case-card {
position: relative;
display: flex;
flex-direction: column;
background: var(--black-soft);
border: 1px solid var(--border);
border-radius: var(--radius-card);
box-shadow: var(--shadow-card);
overflow: hidden;
transition: transform var(--dur-fast) var(--ease-silk),
border-color var(--dur-fast) var(--ease-soft);
}
.case-card__medios {
position: relative;
aspect-ratio: 4 / 3;
background: var(--black-mid);
overflow: hidden;
}
.case-card__medios img {
inline-size: 100%;
block-size: 100%;
object-fit: cover;
object-position: top center;
}
.case-card__medios picture {
inline-size: 100%;
block-size: 100%;
}
.case-card__medios::after {
content: "";
position: absolute;
inset-block-end: -6px;
inset-inline: var(--sp-5);
block-size: 8px;
background: var(--black-raised);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
}
.case-card__cuerpo {
display: flex;
flex-direction: column;
gap: var(--sp-2);
padding: var(--sp-5);
}
.case-card__sector {
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
}
.case-card__lugar { font-size: var(--fs-small); color: var(--grey); }
.case-card__titulo { font-size: var(--fs-h3); }
.case-card__titulo a::after { content: ""; position: absolute; inset: 0; }
.case-card__texto { color: var(--grey); font-size: var(--fs-small); }
.case-card__resultado {
margin-block-start: var(--sp-3);
padding-block-start: var(--sp-3);
border-block-start: 1px solid var(--border);
font-size: var(--fs-small);
color: var(--cream);
}
.case-card__resultado b {
font-family: var(--font-serif);
font-size: 1.35rem;
font-weight: 700;
color: var(--gold);
}
.case-card__resultado--sin-cifra { color: var(--grey); }
@media (hover: hover) {
.case-card:hover { transform: translate3d(0, -4px, 0); border-color: var(--border-gold); }
}
@media (prefers-reduced-motion: reduce) {
.case-card { transition: border-color var(--dur-reduced) linear; }
.case-card:hover { transform: none; }
}

/* 17-person-block.css */
.person-block__rejilla {
display: grid;
gap: var(--sp-6);
align-items: center;
margin-block-start: var(--sp-6);
}
@media (min-width: 900px) {
.person-block__rejilla { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: var(--sp-8); }
}
.person-block__retrato {
position: relative;
aspect-ratio: 4 / 5;
max-inline-size: 320px;
border-radius: var(--radius-card);
overflow: hidden;
background: var(--black-mid);
filter: grayscale(1) contrast(1.05);
}
.person-block__retrato img {
inline-size: 100%;
block-size: 100%;
object-fit: cover;
}
@media (hover: hover) {
.person-block__retrato { transition: filter var(--dur-slow) var(--ease-silk); }
.person-block__retrato:hover { filter: grayscale(0) contrast(1); }
}
.person-block__nombre { font-size: var(--fs-h2); }
.person-block__cargo {
margin-block-start: var(--sp-2);
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
}
.person-block__texto { margin-block-start: var(--sp-4); color: var(--grey); max-inline-size: 60ch; }
.person-block__firma {
margin-block-start: var(--sp-5);
font-family: var(--font-serif);
font-weight: 600;
font-size: 1.25rem;
color: var(--gold);
}
@media (prefers-reduced-motion: no-preference) {
html.js .person-block.reveal .person-block__retrato img { clip-path: inset(8%); }
html.js .person-block.reveal.is-revealed .person-block__retrato img {
clip-path: inset(0%);
transition: clip-path var(--dur-slow) var(--ease-silk);
}
}
@media (prefers-reduced-motion: reduce) {
.person-block__retrato { transition: none; }
}
.person-block--duo .person-block__personas {
display: grid;
gap: var(--sp-6);
margin-block-start: var(--sp-5);
}
.person-block--duo .person-block__persona {
display: grid;
grid-template-columns: 6.5rem minmax(0, 1fr);
grid-template-areas:
"retrato cabecera"
"cuerpo  cuerpo";
column-gap: var(--sp-4);
row-gap: var(--sp-4);
align-items: center;
}
.person-block--duo .person-block__retrato { grid-area: retrato; inline-size: 100%; max-inline-size: none; }
.person-block--duo .person-block__cabecera { grid-area: cabecera; }
.person-block--duo .person-block__cuerpo { grid-area: cuerpo; }
.person-block--duo .person-block__nombre {
font-size: var(--fs-h3);
font-weight: 700;
line-height: 1.15;
letter-spacing: -0.01em;
hyphens: manual;
-webkit-hyphens: manual;
}
.person-block--duo .person-block__texto { margin-block-start: 0; }
.person-block--duo .person-block__firma { margin-block-start: var(--sp-3); }
.person-block--duo .person-block__persona[id] { scroll-margin-block-start: var(--sp-6); }
@media (min-width: 640px) {
.person-block--duo .person-block__persona {
grid-template-columns: 10rem minmax(0, 1fr);
grid-template-areas:
"retrato cabecera"
"retrato cuerpo";
grid-template-rows: auto 1fr;
column-gap: var(--sp-6);
row-gap: var(--sp-3);
align-items: start;
}
}
@media (min-width: 1200px) {
.person-block--duo .person-block__personas { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-8); }
.person-block--duo .person-block__persona { grid-template-columns: 12.5rem minmax(0, 1fr); }
}

/* 18-faq.css */
.faq__item {
border-block-end: 1px solid var(--border);
}
.faq__item:first-of-type { border-block-start: 1px solid var(--border); }
.faq__item summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--sp-4);
min-block-size: var(--tap);
padding-block: var(--sp-4);
font-family: var(--font-serif);
font-weight: 600;
font-size: 1.125rem;
line-height: 1.35;
color: var(--white);
cursor: pointer;
list-style: none;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--gold); }
.faq__item summary::after {
content: "";
flex: none;
inline-size: 16px;
block-size: 16px;
background:
linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
color: var(--gold);
transition: transform var(--dur-fast) var(--ease-soft);
}
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__item > p,
.faq__item__cuerpo {
padding-block-end: var(--sp-5);
max-inline-size: 72ch;
color: var(--grey);
}
@supports (interpolate-size: allow-keywords) {
@media (prefers-reduced-motion: no-preference) {
:root { interpolate-size: allow-keywords; }
.faq__item::details-content {
block-size: 0;
overflow: hidden;
transition: block-size var(--dur-fast) var(--ease-soft),
content-visibility var(--dur-fast) allow-discrete;
}
.faq__item[open]::details-content { block-size: auto; }
}
}
@media (prefers-reduced-motion: reduce) {
.faq__item summary::after { transition: none; }
}
.faq summary > .faq__q {
min-inline-size: 0;
margin: 0;
font: inherit;
letter-spacing: inherit;
color: inherit;
text-wrap: inherit;
}

/* 19-cta-band.css */
.cta-band {
background: var(--cream-bg);
color: var(--ink-on-light);
text-align: center;
display: grid;
grid-template-columns: minmax(0, 1fr);
justify-items: center;
align-content: center;
gap: var(--sp-4);
}
.cta-band--oro { background: var(--gold-pale-bg); }
.cta-band h2 {
color: var(--ink-on-light);
max-inline-size: 22ch;
overflow-wrap: anywhere;
}
.cta-band h2 em { color: var(--gold-ink); }
.cta-band p {
max-inline-size: 56ch;
color: var(--muted-on-light);
}
.cta-band .btn { margin-block-start: var(--sp-2); }
.cta-band .btn--tel {
color: var(--ink-on-light);
border-color: var(--border-on-light);
}
@media (hover: hover) {
.cta-band .btn--tel:hover { color: var(--gold-ink); border-color: var(--gold-ink); }
}
.cta-band__acciones {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--sp-4);
}
.cta-band__telefono {
font-size: var(--fs-small);
color: var(--muted-on-light);
}
@media (min-width: 900px) {
.cta-band { min-block-size: 60vh; }
}

/* 20-price-table.css */
.price-table {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-5);
margin-block-start: var(--sp-6);
}
@media (min-width: 640px) { .price-table { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); } }
@media (min-width: 900px) { .price-table { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.price-table__paquete {
display: flex;
flex-direction: column;
gap: var(--sp-3);
padding: var(--sp-6);
background: var(--black-soft);
border: 1px solid var(--border);
border-radius: var(--radius-card);
box-shadow: var(--shadow-card);
}
.price-table__paquete--destacado {
border-color: var(--gold-dim);
background: var(--black-raised);
}
.price-table__nombre {
font-size: var(--fs-h3);
}
.price-table__insignia {
align-self: start;
padding: var(--sp-1) var(--sp-3);
font-size: var(--fs-micro);
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--black);
background: var(--gold);
border-radius: var(--radius-sm);
}
.price-table__cifra {
font-family: var(--font-serif);
font-weight: 800;
font-size: var(--fs-figure);
line-height: var(--lh-tight);
font-variant-numeric: tabular-nums;
color: var(--gold);
}
.price-table__paquete { container-type: inline-size; }
.price-table__cifra {
font-variant-numeric: lining-nums proportional-nums;
letter-spacing: -0.015em;
}
@supports (font-size: 1cqi) {
.price-table__cifra { font-size: min(var(--fs-figure), calc(100cqi / 3.7)); }
}
.price-table__desde {
display: block;
font-family: var(--font-sans);
font-size: var(--fs-micro);
font-weight: 500;
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--grey);
}
.price-table__nota { font-size: var(--fs-small); color: var(--grey); }
.price-table__incluye { display: grid; gap: var(--sp-2); margin-block-start: var(--sp-3); }
.price-table__incluye li {
position: relative;
padding-inline-start: var(--sp-5);
font-size: var(--fs-small);
color: var(--cream);
}
.price-table__incluye li::before {
content: "";
position: absolute;
inset-block-start: 0.62em;
inset-inline-start: 0;
inline-size: 8px;
block-size: 1px;
background: var(--gold);
}
.price-table__excluye li::before { background: var(--grey-3); }
.price-table__excluye li { color: var(--grey); }
.price-table__paquete .btn { margin-block-start: auto; }

/* 21-pricing-faq.css */
.pricing-faq {
background: var(--black-soft);
}
.pricing-faq .faq__item summary { font-size: 1.0625rem; }
.pricing-faq__pie {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-4);
margin-block-start: var(--sp-6);
padding-block-start: var(--sp-5);
border-block-start: 1px solid var(--border);
color: var(--grey);
font-size: var(--fs-small);
}

/* 22-guide-toc.css */
.guia { --container: var(--container-narrow); }
.guide-toc {
margin-block: var(--sp-6);
padding: var(--sp-5);
background: var(--black-soft);
border: 1px solid var(--border);
border-inline-start: 2px solid var(--gold-dim);
border-radius: var(--radius-sm);
}
.guide-toc__titulo {
font-family: var(--font-sans);
font-size: var(--fs-micro);
font-weight: 500;
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
cursor: pointer;
min-block-size: var(--tap);
display: flex;
align-items: center;
}
.guide-toc__lista { display: grid; gap: var(--sp-1); margin-block-start: var(--sp-3); }
.guide-toc__lista a {
display: flex;
overflow-wrap: anywhere;
align-items: center;
min-block-size: var(--tap);
font-size: var(--fs-small);
color: var(--grey);
border-inline-start: 1px solid transparent;
padding-inline-start: var(--sp-3);
}
.guide-toc__lista a:hover { color: var(--gold); border-inline-start-color: var(--gold-dim); }
.guide-toc__lista a[aria-current] { color: var(--cream); border-inline-start-color: var(--gold); }
@supports (float: inline-start) {
@media (min-width: 1280px) {
.guia .guide-toc {
position: sticky;
inset-block-start: calc(var(--header-h) + var(--sp-4));
float: inline-start;
inline-size: 200px;
margin-inline-start: -232px;
margin-block-start: 0;
background: transparent;
border: 0;
border-inline-start: 1px solid var(--border);
padding: 0 var(--sp-4);
}
}
}

/* 23-guide-steps.css */
.guide-respuesta {
padding: var(--sp-5);
margin-block-end: var(--sp-6);
background: var(--gold-veil);
border-inline-start: 2px solid var(--gold);
border-radius: var(--radius-sm);
font-size: 1.0625rem;
color: var(--cream);
}
.guide-steps {
counter-reset: guia-paso;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--sp-6);
}
.guide-steps__paso {
counter-increment: guia-paso;
position: relative;
padding-inline-start: var(--sp-7);
}
.guide-steps__paso::before {
content: counter(guia-paso);
position: absolute;
inset-inline-start: 0;
inset-block-start: 0;
font-family: var(--font-serif);
font-size: 1.5rem;
font-weight: 700;
color: var(--gold);
font-variant-numeric: tabular-nums;
}
.guide-steps__titulo { font-size: var(--fs-h3); margin-block-end: var(--sp-2); }
.guide-steps__paso p { color: var(--grey); }
.guide-steps__paso p,
.guide-respuesta,
.guide-aviso { max-inline-size: 34rem; }
.guide-steps__paso a {
color: var(--gold);
text-decoration: underline;
text-underline-offset: 3px;
}
.guide-aviso {
margin-block-start: var(--sp-6);
padding: var(--sp-4) var(--sp-5);
border: 1px dashed var(--border-gold);
border-radius: var(--radius-sm);
font-size: var(--fs-small);
color: var(--grey);
}
.guide-errores { display: grid; gap: var(--sp-3); margin-block-start: var(--sp-5); }
.guide-errores li {
position: relative;
padding-inline-start: var(--sp-6);
color: var(--cream);
}
.guide-errores li::before {
content: "";
position: absolute;
inset-inline-start: 0;
inset-block-start: 0.5em;
inline-size: 10px;
block-size: 10px;
border: 1px solid var(--gold);
border-radius: 2px;
}

/* 24-fact-table.css */
.fact-table__scroll {
overflow-x: auto;
overscroll-behavior-inline: contain;
margin-block-start: var(--sp-5);
}
.fact-table {
inline-size: 100%;
border-collapse: collapse;
font-size: var(--fs-small);
}
.fact-table:has(tr > :nth-child(3)) { min-inline-size: 21rem; }
.fact-table:has(tr > :nth-child(4)) { min-inline-size: 36rem; }
.fact-table td:not(.fact-table__cifra),
.fact-table th { hyphens: auto; -webkit-hyphens: auto; }
.fact-table caption {
text-align: start;
padding-block-end: var(--sp-3);
color: var(--grey);
font-size: var(--fs-micro);
letter-spacing: var(--ls-wide);
}
.fact-table th,
.fact-table td {
padding: var(--sp-3) var(--sp-4);
text-align: start;
vertical-align: top;
border-block-end: 1px solid var(--border);
overflow-wrap: break-word;
}
@media (max-width: 30rem) {
.fact-table th,
.fact-table td { padding-inline: var(--sp-2); }
.fact-table:has(tr > :nth-child(3)):not(:has(tr > :nth-child(4))) tbody th { overflow-wrap: anywhere; }
}
.fact-table td.fact-table__fuente,
.fact-table td:has(a) { overflow-wrap: anywhere; }
.fact-table td.fact-table__fuente { min-inline-size: 11ch; }
.fact-table th { overflow-wrap: break-word; }
.fact-table tbody th { min-inline-size: 8.5em; }
.fact-table thead th {
font-family: var(--font-sans);
font-size: var(--fs-micro);
font-weight: 500;
letter-spacing: var(--ls-xl);
text-transform: uppercase;
color: var(--gold);
border-block-end-color: var(--border-gold);
}
.fact-table tbody th {
font-family: var(--font-sans);
font-weight: 400;
color: var(--cream);
}
.fact-table td { color: var(--grey); }
.fact-table__cifra {
font-variant-numeric: tabular-nums;
color: var(--cream);
white-space: normal;
min-inline-size: 7.5em;
}
.fact-table td.fact-table__cifra { overflow-wrap: break-word; }
.fact-table__sin-dato { color: var(--grey); }
.fact-table__fuente a {
display: inline-flex;
align-items: center;
min-block-size: 24px;
color: var(--gold);
text-decoration: underline;
text-underline-offset: 3px;
}
.fact-table__pie {
margin-block-start: var(--sp-3);
font-size: var(--fs-small);
color: var(--grey);
}
.bloque-claro .fact-table th,
.bloque-claro .fact-table td { border-block-end-color: var(--border-on-light); }
.bloque-claro .fact-table thead th { color: var(--gold-ink); }
.bloque-claro .fact-table tbody th,
.bloque-claro .fact-table__cifra { color: var(--ink-on-light); }
.bloque-claro .fact-table td,
.bloque-claro .fact-table caption,
.bloque-claro .fact-table__pie { color: var(--muted-on-light); }
.bloque-claro .fact-table__fuente a { color: var(--gold-ink); }
.fact-table--preise td:nth-child(2) { color: var(--gold-bright); font-weight: 600; white-space: nowrap; }
.bloque-claro .fact-table--preise td:nth-child(2) { color: var(--gold-ink); }
@media (max-width: 39.98rem) {
.fact-table:is(.fact-table--fija, .fact-table--apilada):has(tr > :nth-child(3)) { min-inline-size: 0; }
.fact-table--fija { table-layout: fixed; }
.fact-table--fija thead th:first-child { inline-size: 38%; }
.fact-table--fija :is(th, td) { overflow-wrap: anywhere; }
.guide-steps__paso > .fact-table__scroll { margin-inline-start: calc(-1 * var(--sp-7)); }
.fact-table--apilada,
.fact-table--apilada :is(caption, tbody, tr, th, td) { display: block; }
.fact-table--apilada thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.fact-table--apilada tr {
margin-block-end: var(--sp-4);
padding: var(--sp-4) var(--sp-5) var(--sp-3);
border: 1px solid var(--border);
border-radius: var(--radius-card);
background: var(--black-soft);
}
.fact-table--apilada tbody th {
padding: 0 0 var(--sp-2);
border: 0;
color: var(--cream);
font: 700 var(--fs-body)/1.3 var(--font-serif);
overflow-wrap: anywhere;
}
.fact-table--apilada td {
padding: var(--sp-3) 0 var(--sp-2);
border: 0;
border-block-start: 1px solid var(--hair);
font-size: var(--fs-body);
line-height: 1.6;
overflow-wrap: anywhere;
}
.fact-table--apilada td:empty { display: none; }
.fact-table--apilada td::before {
content: attr(data-label);
display: block;
margin-block-end: 0.2rem;
color: var(--gold);
font: 500 var(--fs-micro)/1.3 var(--font-sans);
letter-spacing: var(--ls-wide);
}
.fact-table--apilada[role] td::before { content: attr(data-label) / ""; }
.fact-table--apilada td > span:first-child { display: block; }
.bloque-claro .fact-table--apilada tr { background: rgba(255,255,255,0.5); border-color: var(--border-on-light); }
.bloque-claro .fact-table--apilada td { border-block-start-color: var(--border-on-light); }
.bloque-claro .fact-table--apilada td::before { color: var(--gold-ink); }
@supports selector(:has(*)) {
.fact-table--apilada .mehr { display: inline-flex; }
.fact-table--apilada tr:has(input:not(:checked)) > td:not(:has(.mehr)) { display: none; }
.fact-table--apilada tr:has(input:not(:checked)) > td > span:first-child {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
line-clamp: 4;
overflow: hidden;
}
}
}
@media (max-width: 30rem) {
.fact-table--preise td:nth-child(2) { white-space: normal; }
.fact-table--preise thead th:first-child { inline-size: 37%; }
.fact-table--preise thead th:nth-child(2) { inline-size: 36%; }
}
@media (max-width: 22.49rem) {
.fact-table--preise :is(th, td) { padding-inline: 0.375rem; }
.fact-table--preise thead th:first-child { inline-size: 32%; }
.fact-table--preise thead th:nth-child(2) { inline-size: 38%; }
}

/* 25-float-cta.css */
.float-cta { display: none !important; }
.dock {
position: fixed;
z-index: var(--z-float);
inset-inline: 0;
inset-block-end: 0;
display: flex;
gap: 0.6rem;
padding: 0.7rem var(--gutter) calc(0.7rem + env(safe-area-inset-bottom, 0px));
background: linear-gradient(180deg, rgba(5,5,5,0), rgba(5,5,5,0.92) 40%);
transition: translate var(--dur-base) var(--ease-silk), opacity 300ms var(--ease-soft), visibility var(--dur-base);
}
.dock .btn--gold { flex: 1 1 0; min-inline-size: 0; }
.dock .btn--icon { flex: none; }
@media (max-width: 359.98px) {
.dock .btn--gold { padding-inline: 0.5rem; gap: 0.4rem; font-size: 0.9375rem; }
.dock .btn--icon { inline-size: var(--tap); }
}
html.js .dock:not(.is-visible),
.site-header:has(.lang[open]) ~ .dock {
translate: 0 110%;
opacity: 0;
visibility: hidden;
pointer-events: none;
}
html:not(.js) .dock ~ .site-footer { padding-block-end: calc(6.5rem + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 900px) {
.dock { inset-inline: auto 0.25rem; inset-block-end: 1.25rem; flex-direction: column; gap: 0; inline-size: 2rem; padding: 0; border-radius: 1rem; background: #0c0c0c; box-shadow: 0 0 0 1px var(--hair-gold-2), 0 16px 34px -14px rgba(0,0,0,0.9); overflow: clip; }
.dock .btn { flex: none; inline-size: 100%; min-block-size: 2.5rem; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.dock .btn .ico { inline-size: 1.05rem; block-size: 1.05rem; }
.dock .btn--ghost { background: transparent; color: var(--gold-bright); }
.dock .btn:focus-visible { outline-offset: -4px; }
.dock .btn--gold:focus-visible { outline-color: #0a0a0a; }
.dock .btn--gold:hover { transform: none; box-shadow: none; filter: brightness(1.08); }
.dock__text { display: none; }
html.js .dock:not(.is-visible), .site-header:has(.lang[open]) ~ .dock { translate: 130% 0; }
[dir="rtl"].js .dock:not(.is-visible), [dir="rtl"] .site-header:has(.lang[open]) ~ .dock { translate: -130% 0; }
}
@media (min-width: 900px) and (max-width: 1399.98px) and (pointer: coarse) { .dock { inset-inline-end: 0; inline-size: min(2.5rem, var(--gutter)); border-radius: 0; border-start-start-radius: 1.125rem; border-end-start-radius: 1.125rem; } .dock .btn { min-block-size: 2.75rem; } .dock .btn .ico { inline-size: 1.2rem; block-size: 1.2rem; } }
@media (min-width: 1400px) { .dock { inset-inline-end: 1.25rem; inset-block-end: 1.5rem; inline-size: 2.75rem; border-radius: 1.375rem; } .dock .btn { min-block-size: 2.75rem; } .dock .btn .ico { inline-size: 1.25rem; block-size: 1.25rem; } }
@media (prefers-reduced-motion: reduce) {
.dock { transition: opacity var(--dur-reduced) linear, visibility var(--dur-reduced); }
html.js .dock:not(.is-visible),
.site-header:has(.lang[open]) ~ .dock { translate: none; }
}

/* 26-cookie-bar.css */
.cookie-bar {
position: relative;
z-index: var(--z-cookie);
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-2) var(--sp-4);
padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
padding-block: var(--sp-2);
padding-block-start: calc(var(--sp-2) + var(--safe-top));
background: var(--black-raised);
border-block-end: 1px solid var(--border-gold);
}
.cookie-bar[hidden] { display: none; }
html.consentimiento-pendiente .cookie-bar[hidden] { display: flex; }
.cookie-bar__texto {
flex: 1 1 22ch;
min-inline-size: 0;
margin-block-end: 0;
font-size: var(--fs-small);
line-height: 1.4;
color: var(--cream);
}
.cookie-bar__texto a {
color: var(--gold);
text-decoration: underline;
text-underline-offset: 3px;
}
.cookie-bar__acciones {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
}
.cookie-bar__btn {
position: relative;
flex: 1 1 auto;
min-block-size: 2.25rem;
padding: var(--sp-1) var(--sp-4);
font-size: var(--fs-small);
line-height: 1.2;
font-weight: 500;
letter-spacing: 0.01em;
color: var(--cream);
border: 1px solid var(--border);
border-radius: var(--radius-ui);
background: transparent;
transition: color var(--dur-fast) var(--ease-soft),
border-color var(--dur-fast) var(--ease-soft),
background-color var(--dur-fast) var(--ease-soft);
}
.cookie-bar__btn:hover { color: var(--white); border-color: var(--gold-dim); }
.cookie-bar__btn::after {
content: "";
position: absolute;
inset-inline: -1px;
inset-block: -0.3125rem;
}
@media (max-width: 640px) {
.cookie-bar {
gap: var(--sp-1);
padding-block: 0.375rem;
padding-block-start: calc(0.375rem + var(--safe-top));
}
.cookie-bar__texto {
flex: 1 1 100%;
font-size: var(--fs-micro);
line-height: 1.3;
}
.cookie-bar__acciones {
flex: 1 1 100%;
flex-wrap: nowrap;
gap: var(--sp-2);
}
.cookie-bar__btn {
flex: 1 1 0;
min-inline-size: 0;
min-block-size: 1.875rem;
padding: 0.125rem var(--sp-2);
font-size: 0.8125rem;
}
.cookie-bar__btn::after { inset-block: -0.1875rem -0.8125rem; }
}
@media (max-width: 374px) {
.cookie-bar__btn { letter-spacing: normal; padding-inline: var(--sp-1); }
}
@media (prefers-reduced-motion: reduce) {
.cookie-bar__btn { transition: none; }
}
.site-footer__consent {
margin-block: var(--sp-3) 0;
}
.cookie-reabrir {
min-block-size: var(--tap);
padding: 0;
border: 0;
background: none;
font: inherit;
font-size: var(--fs-small);
color: inherit;
text-decoration: underline;
text-underline-offset: 3px;
cursor: pointer;
}
.cookie-reabrir[hidden] { display: none; }
.cookie-bar--fija {
position: fixed;
inset-inline: 0;
inset-block-end: 0;
padding-block: var(--sp-3) calc(var(--sp-3) + var(--safe-bottom));
border-block-end: 0;
border-block-start: 1px solid var(--border-gold);
box-shadow: 0 -24px 60px -24px rgba(0,0,0,0.9);
}
body:has(.cookie-bar--fija:not([hidden])) { padding-block-end: 12rem; }
@media (min-width: 641px) {
body:has(.cookie-bar--fija:not([hidden])) { padding-block-end: 7rem; }
}

/* 27-site-footer.css */
.site-footer {
padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2));
padding-block: clamp(2.25rem, 6vw, 5rem) calc(1.5rem + env(safe-area-inset-bottom, 0px));
background: var(--black-pure);
border-block-start: 1px solid var(--border-gold);
font-size: 0.9375rem;
}
.site-footer__spalten {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.75rem 1.5rem;
}
@media (min-width: 900px) {
.site-footer__spalten { grid-template-columns: minmax(17rem, 24rem) repeat(auto-fit, minmax(9rem, 1fr)); gap: 2rem; }
}
@media (min-width: 900px) {
.site-footer__spalten:has(> :nth-child(6)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.site-footer__spalten:has(> :nth-child(6)) > .site-footer__kontakt { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
.site-footer__spalten:has(> :nth-child(6)) { grid-template-columns: minmax(17rem, 1.5fr) repeat(5, minmax(0, 1fr)); }
.site-footer__spalten:has(> :nth-child(6)) > .site-footer__kontakt { grid-column: auto; }
}
.site-footer h2 {
margin-block-end: 0.6rem;
font: 500 var(--fs-micro)/1.2 var(--font-sans);
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--gold);
}
.site-footer ul { display: grid; gap: 0.1rem; }
.site-footer li a {
display: inline-flex;
align-items: center;
min-block-size: 2.25rem;
color: var(--text-hi);
text-decoration: none;
text-wrap: balance;
overflow-wrap: anywhere;
hyphens: auto;
-webkit-hyphens: auto;
}
.site-footer li a:hover { color: var(--gold-pale); text-decoration: underline; text-underline-offset: 0.22em; }
.site-footer address {
display: grid;
gap: 0.35rem;
font-style: normal;
line-height: 1.55;
color: var(--text-hi);
}
.site-footer address a {
display: inline-flex;
align-items: center;
min-block-size: 2.25rem;
justify-self: start;
color: var(--cream);
text-decoration: underline;
text-decoration-color: rgba(201,169,110,0.55);
text-underline-offset: 0.22em;
}
.site-footer address a:hover { color: var(--gold-pale); text-decoration-color: currentColor; }
.site-footer__kontakt { grid-column: 1 / -1; }
@media (min-width: 900px) { .site-footer__kontakt { grid-column: auto; } }
.site-footer__logo { margin-block-end: 1rem; }
.site-footer .klein { font-size: var(--fs-small); line-height: 1.55; color: var(--grey); }
.site-footer .klein--luft { margin-block-start: 0.6rem; }
.site-footer__copyright {
display: flex;
flex-wrap: wrap;
gap: 0.5rem 1.5rem;
justify-content: space-between;
align-items: center;
margin-block-start: clamp(1.5rem, 4vw, 3rem);
padding-block-start: 1.25rem;
border-block-start: 1px solid var(--hair);
font-size: var(--fs-small);
color: var(--grey);
}
.site-footer__nota-ki { margin-block: 0.75rem 0; font-size: var(--fs-micro); line-height: 1.5; color: var(--grey); }
.site-footer .site-footer__perfiles {
display: flex;
flex-wrap: wrap;
gap: 0 1.25rem;
margin-block-start: 0.4rem;
}

/* 28-reveal.css */
@media (prefers-reduced-motion: no-preference) {
html.js .reveal {
opacity: 0;
transform: translate3d(0, 20px, 0);
}
html.js .reveal.is-revealed {
opacity: 1;
transform: none;
transition: opacity var(--dur-reveal) var(--ease-silk),
transform var(--dur-reveal) var(--ease-silk);
}
html.js .reveal:not(.is-revealed) { scroll-margin-top: 20px; }
html.js .reveal-hijos.is-revealed > * {
animation: reveal-entrada var(--dur-reveal) var(--ease-silk) backwards;
}
html.js .reveal-hijos > *:nth-child(1) { animation-delay: 0ms; }
html.js .reveal-hijos > *:nth-child(2) { animation-delay: calc(var(--stagger) * 1); }
html.js .reveal-hijos > *:nth-child(3) { animation-delay: calc(var(--stagger) * 2); }
html.js .reveal-hijos > *:nth-child(4) { animation-delay: calc(var(--stagger) * 3); }
html.js .reveal-hijos > *:nth-child(5) { animation-delay: calc(var(--stagger) * 4); }
html.js .reveal-hijos > *:nth-child(n + 6) { animation-delay: calc(var(--stagger) * 5); }
@keyframes reveal-entrada {
from { opacity: 0; transform: translate3d(0, 16px, 0); }
to   { opacity: 1; transform: none; }
}
@supports (transition-timing-function: linear(0, 1)) {
html.js .reveal--muelle.is-revealed {
transition-timing-function: var(--ease-spring-linear);
}
}
}
@media (prefers-reduced-motion: reduce) {
html.js .reveal { opacity: 0; }
html.js .reveal.is-revealed { opacity: 1; transition: opacity 150ms linear; }
html.js .reveal-hijos.is-revealed > * { animation: none; }
}
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) {
animation-duration: 200ms;
animation-timing-function: var(--ease-soft);
}
@media (prefers-reduced-motion: reduce) {
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 1ms; }
}

/* 29-rtl.css */
[dir="rtl"] .enlace-oro svg {
transform: scaleX(-1);
}
[dir="rtl"] .breadcrumbs li + li::before { content: "\2039" / ""; }
[dir="rtl"] .segment-card::before,
[dir="rtl"] .anchor-compare__barra::before {
transform-origin: 100% 50%;
}
@media (min-width: 640px) {
[dir="rtl"] .steps:not(:has(> .steps__paso:nth-child(5))) > .steps__paso:not(:last-child)::after { transform-origin: 100% 50%; }
}
[lang="ar"] {
line-height: 1.9;
letter-spacing: normal;
}
[lang="ar"] h1,
[lang="ar"] h2,
[lang="ar"] h3,
[lang="ar"] h4 {
font-family: var(--font-serif);
font-weight: 700;
line-height: 1.5;
letter-spacing: normal;
}
[lang="ar"] .hero__eyebrow,
[lang="ar"] .seccion__etiqueta,
[lang="ar"] .site-footer h2,
[lang="ar"] .lang__panel small,
[lang="ar"] .segment-card__sector,
[lang="ar"] .case-card__sector,
[lang="ar"] .proof-bar__etiqueta,
[lang="ar"] .price-table__desde,
[lang="ar"] .anchor-compare__cifra,
[lang="ar"] .price-table__cifra,
[lang="ar"] .fact-table thead th,
[lang="ar"] .btn,
[lang="ar"] .cookie-bar__btn {
text-transform: none;
letter-spacing: normal;
}
[lang="ar"] :is(.anchor-compare__cifra, .price-table__cifra) { font-weight: 700; }
[dir="rtl"] bdi,
[dir="rtl"] .price-table__cifra,
[dir="rtl"] .anchor-compare__cifra,
[dir="rtl"] .fact-table__cifra {
unicode-bidi: isolate;
}
[dir="rtl"] a[href^="tel:"] { unicode-bidi: isolate; direction: ltr; }
html[lang="ar"] { --fs-micro: 0.8125rem; }
@media (max-width: 640px) { [lang="ar"] .hero__h1 { font-size: clamp(1.75rem, 7.5vw, 2.25rem); } }
@media (max-width: 374px) { [lang="ar"] .hero__h1 { font-size: clamp(1.5rem, 8vw, 2rem); } }

/* 30-descargas.css */
.descargas {
display: grid;
gap: var(--sp-5);
margin-block: var(--sp-6) 0;
padding: 0;
list-style: none;
}
.descargas__item {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-3) var(--sp-4);
}
.descargas__enlace {
flex: 0 1 auto;
}
.descargas__meta {
font-size: var(--fs-small);
font-variant-numeric: tabular-nums;
color: inherit;
}
.descargas__texto {
flex: 1 1 100%;
margin: 0;
font-size: var(--fs-small);
line-height: 1.6;
}

/* 31-revision.css */
.revision {
padding-block: 0 var(--sp-5);
font-size: var(--fs-small);
line-height: 1.55;
color: var(--grey);
}
.revision a { color: var(--text-hi); }
.revision time { white-space: nowrap; }

/* 32-check.css */
body .chk-title { font-weight: 800; letter-spacing: -0.01em; line-height: 1.08; }
body .chk-title em,
body .chk-person__role { font-style: normal; }
body .chk-mark { font-weight: 800; font-variation-settings: "opsz" 20; }
body .chk-top__name { font-weight: 800; letter-spacing: -0.015em; font-variation-settings: "opsz" 20; }
body .chk-person__name { font-weight: 700; }

/* 32-seiten-nav.css */
.seiten-nav {
position: relative;
z-index: 5;
padding-block: 0.5rem;
background: var(--black-pure);
border-block: 1px solid var(--hair);
}
.seiten-nav ul {
display: flex;
gap: 0.5rem;
padding-block: 0.375rem;
overflow-x: auto;
scrollbar-width: none;
}
.seiten-nav ul::-webkit-scrollbar { display: none; }
.seiten-nav a {
display: inline-flex;
align-items: center;
min-block-size: var(--tap);
padding-inline: 0.95rem;
border: 1px solid var(--border-gold);
border-radius: var(--radius-ui);
background: rgba(255,255,255,0.03);
color: var(--text-hi);
font: 500 var(--fs-small)/1 var(--font-sans);
white-space: nowrap;
}
.seiten-nav a:is(:hover, :focus-visible, [aria-current]) { border-color: var(--gold); color: var(--gold-bright); }
.seiten-nav a.seiten-nav__preis { border-color: transparent; background: var(--grad-gold); color: var(--black); font-weight: 600; }
.seiten-nav a.seiten-nav__arriba {
display: none;
position: absolute;
inset-block-start: 0.875rem;
inset-inline-end: max(var(--gutter), calc((100% - var(--container)) / 2));
justify-content: center;
inline-size: var(--tap);
padding-inline: 0;
background: var(--black-raised);
}
.seiten-nav-fija .seiten-nav a.seiten-nav__arriba { display: inline-flex; }
.ico--arriba { rotate: 180deg; }
@media (max-width: 999.98px) {
.seiten-nav { padding-inline: 0; }
.seiten-nav ul {
padding-inline: var(--gutter) 2.5rem;
scroll-padding-inline: var(--gutter);
mask-image: linear-gradient(to var(--hacia, left), transparent, #000 2.25rem);
}
[dir="rtl"] .seiten-nav ul { --hacia: right; }
.seiten-nav-fija .seiten-nav ul { margin-inline-end: calc(var(--gutter) + var(--tap)); }
}
@media (max-width: 1179.98px) {
.seiten-nav.is-pinned {
position: sticky;
inset-block-start: var(--header-h);
box-shadow: 0 12px 30px -22px rgba(0,0,0,0.95);
}
}
@media (min-width: 1000px) {
.seiten-nav ul { flex-wrap: wrap; gap: 0.375rem; overflow: visible; margin-inline-end: calc(var(--tap) + 0.5rem); }
.seiten-nav li a { padding-inline: 0.75rem; }
}
@media (min-width: 1180px) {
.seiten-nav { position: sticky; inset-block-start: var(--header-h); }
html:not(.js) .seiten-nav { position: relative; inset-block-start: auto; }
}
@media (min-width: 1280px) {
.seiten-nav--guia { position: relative; inset-block-start: auto; --container: var(--container-narrow); }
}
@media print { .seiten-nav, .volver { display: none; } }
