/* vietnamese */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/anton-00.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/anton-01.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/anton-02.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;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-grotesk-03.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-grotesk-04.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-grotesk-05.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;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/space-grotesk-03.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/space-grotesk-04.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/space-grotesk-05.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;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-grotesk-03.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-grotesk-04.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-grotesk-05.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;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-mono-06.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-mono-07.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/space-mono-08.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;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-mono-09.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-mono-10.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/space-mono-11.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;
}

.process-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px;align-items:center}
.process-copy h2{font-size:clamp(32px,3.8vw,58px)}
.process-copy .lead{font-size:clamp(17px,1.45vw,21px);max-width:610px}
.process-visual{margin:0;min-width:0}
.process-visual img{display:block;width:100%;height:auto;object-fit:contain}
.process-visual figcaption{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;gap:6px;color:var(--teal);font-family:var(--f-mono);font-size:clamp(9px,.82vw,13px);letter-spacing:.6px;margin-top:-5px}
#proceso .process-grid{margin-top:38px}
@media(max-width:900px){.process-intro{grid-template-columns:1fr;gap:24px}.process-visual{width:100%;max-width:680px;margin:auto}.process-copy h2{font-size:clamp(32px,6vw,52px)}.process-visual figcaption{font-size:12px}}
@media(max-width:480px){.process-visual figcaption{font-size:9px;letter-spacing:0}.process-copy h2{font-size:36px}#proceso .process-grid{margin-top:28px}}

/* Jerarquía editorial para explicar el vínculo con el patrón. */
#hero h1{font-size:clamp(44px,5.7vw,78px);line-height:1.1}
#hero .hero-lead{max-width:560px}
#proceso .process-copy h2{font-size:clamp(30px,3.3vw,48px)}
.pattern-key{padding:16px 0 16px 20px;border-left:2px solid var(--teal);color:var(--teal);font-size:17px;line-height:1.5}
#contacto h2{font-size:clamp(30px,3.5vw,48px)}
#clubes .club-overlay .lead{max-width:520px}
@media(max-width:600px){#hero h1{font-size:clamp(34px,9.5vw,52px)}#hero .sec-tag{line-height:1.6}#proceso .process-copy h2{font-size:34px}#clubes .club-banner{min-height:680px}.pattern-key{font-size:16px}#contacto h2{font-size:34px}}

/* Cabecera: titular breve y descripción con mayor legibilidad. */
#hero .hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,4vw,56px)}
#hero h1{font-size:clamp(42px,4.5vw,66px);line-height:1.08;letter-spacing:0}
#hero .hero-lead{font-size:clamp(19px,1.5vw,22px);line-height:1.65;color:rgba(242,245,244,.88);max-width:540px;margin-top:26px}
#hero .hero-lead strong{font-weight:400;display:block;margin-top:12px}
@media(max-width:960px){#hero .hero-grid{grid-template-columns:1fr}#hero h1{font-size:clamp(42px,7vw,64px)}}
@media(max-width:600px){#hero h1{font-size:clamp(34px,9vw,48px);line-height:1.1}#hero .hero-lead{font-size:18px;line-height:1.6;margin-top:22px}}

/* Selector animado de equipaciones, integrado en la tarjeta original. */
#club-color-demo .garments{position:relative;aspect-ratio:668/373;width:100%}
#club-color-demo .garments img,#club-color-demo .garments canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#club-color-demo .garments canvas{opacity:0;transition:opacity 1.4s ease}
#club-color-demo .controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
#club-color-demo .color{width:27px;height:27px;border:1px solid #ffffff65;border-radius:50%;background:var(--swatch);cursor:pointer;padding:0;flex-shrink:0}
#club-color-demo .color[aria-pressed=true]{outline:2px solid var(--teal);outline-offset:3px}
#club-color-demo button:focus-visible{outline:2px solid white;outline-offset:4px}
#club-color-demo .play{background:#06151bc9;color:#d4f9fc;border:1px solid #4dd8e65c;border-radius:4px;padding:7px 10px;cursor:pointer;font:11px var(--f-body);min-width:80px}
#club-color-demo .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){#club-color-demo{width:min(330px,88vw)}#club-color-demo .controls{gap:10px;margin-top:14px}#club-color-demo .color{width:23px;height:23px}#club-color-demo .play{min-width:72px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){#club-color-demo .garments canvas{transition:none}}

/* Movimiento fotográfico de cabecera: zoom y desplazamiento contenidos. */
@keyframes hero-photo-drift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.065) translate3d(-.6%,.4%,0)}}
@keyframes runner-photo-drift{from{transform:scale(1.02) translate3d(0,.3%,0)}to{transform:scale(1.075) translate3d(-.8%,-.6%,0)}}
#hero .hero-media-main img{animation:hero-photo-drift 15s ease-in-out infinite alternate;transform-origin:50% 40%}
#hero .hero-media-sm img{animation:runner-photo-drift 12s ease-in-out infinite alternate;transform-origin:50% 40%}
#hero .hero-motion-toggle{display:block;margin:14px 0 0 auto;padding:8px 12px;background:#071719;color:#bcebf0;border:1px solid #4dd8e64d;border-radius:4px;font:11px var(--f-mono);cursor:pointer;letter-spacing:.3px}
#hero .hero-motion-toggle:hover{border-color:var(--teal)}
#hero .hero-motion-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
#hero.motion-paused .hero-media-main img,#hero.motion-paused .hero-media-sm img,#hero.motion-offscreen .hero-media-main img,#hero.motion-offscreen .hero-media-sm img{animation-play-state:paused}
@media(max-width:600px){#hero .hero-motion-toggle{font-size:10px}#hero .hero-media-main img{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){#hero .hero-media-main img,#hero .hero-media-sm img{animation:none!important;transform:none!important}#hero .hero-motion-toggle{display:none}}

/* Entrada progresiva, una vez al abrir la página. */
#hero .hero-media-main img,#hero .hero-media-sm img{animation:none;transform:none}
#hero .hero-copy.rv,#hero .hero-media-wrap.rv{opacity:1;transform:none;transition:none}
.headline-word{display:inline-block;white-space:nowrap}
.headline-letter{display:inline-block}
@keyframes visualook-letter-in{from{opacity:0;transform:translateY(.22em);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes visualook-runner-in{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
#hero.reveal-playing .headline-letter{animation:visualook-letter-in .65s ease-out var(--delay) both}
/* Runner reveal belongs to the sequential image animation. */
@media(prefers-reduced-motion:reduce){#hero.reveal-playing .headline-letter,#hero.reveal-playing .hero-media-sm{animation:none!important;opacity:1;transform:none;filter:none}}

/* Fundido escalonado de la ilustración, activado al entrar en pantalla. */
.process-fade-stage{position:relative;overflow:hidden;background:#000}
.process-fade-cover{position:absolute;top:0;bottom:0;width:33.334%;background:#000;pointer-events:none;opacity:0}
.process-fade-cover.cover-1{left:0}
.process-fade-cover.cover-2{left:33.333%}
.process-fade-cover.cover-3{left:66.666%}
.process-visual.fade-ready .process-fade-cover{opacity:1;transition:opacity 2.8s ease-in-out}
.process-visual.fade-ready .cover-2{transition-delay:.8s}
.process-visual.fade-ready .cover-3{transition-delay:1.6s}
.process-visual.fade-ready.fade-visible .process-fade-cover{opacity:0}
@media(prefers-reduced-motion:reduce){.process-visual .process-fade-cover{display:none!important}}

/* Entradas fotográficas: fundido y acercamiento suave sin mover el contenido. */
#club-color-demo .controls{width:100%;justify-content:center;gap:15px}
@keyframes editorial-photo-enter{from{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
.editorial-motion.motion-prepared{opacity:0}
.editorial-motion.motion-prepared.motion-entered{animation:editorial-photo-enter 2.2s ease-out var(--entrance-delay,0s) both}
@media(prefers-reduced-motion:reduce){.editorial-motion.motion-prepared{opacity:1;transform:none;animation:none!important}}

#clubes .club-overlay h2{font-size:clamp(28px,3.3vw,48px)}
#clubes .club-overlay .lead{font-size:clamp(17px,1.45vw,21px);line-height:1.55}
.club-automation-note{max-width:500px;margin-top:16px;font-size:15px;line-height:1.6;color:rgba(242,245,244,.72)}
@media(min-width:901px){#clubes .club-overlay .lead,#clubes .club-automation-note{max-width:43%}#clubes .club-overlay h2{max-width:55%}}
@media(max-width:900px){#clubes .club-banner{min-height:760px}#clubes .club-overlay{justify-content:flex-start;padding-top:36px}#clubes .club-swatch{bottom:18px;width:min(340px,78vw)}}
@media(max-width:600px){#clubes .club-banner{min-height:740px}.club-automation-note{font-size:14px;max-width:100%}#clubes .club-overlay .lead{font-size:17px}#clubes .club-overlay h2{font-size:32px}}

/* Movimiento continuo muy suave dentro de las tarjetas de catálogo. */
#catalogo .catalog-photo-motion{position:absolute;inset:0;animation:catalog-drift var(--motion-duration,16s) ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center 45%}
#catalogo .catalog-card.catalog-in-view .catalog-photo-motion{animation-play-state:running}
@keyframes catalog-drift{from{transform:scale(1.012) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(var(--motion-x,0%),-.4%,0)}}
@media(prefers-reduced-motion:reduce){#catalogo .catalog-photo-motion{animation:none!important;transform:none!important}}

.logo[href]{text-decoration:none;color:inherit}
.logo[href]:focus-visible{outline:2px solid var(--teal);outline-offset:6px}
#hero .sport-tags{line-height:1.8}
#hero .future-sectors{display:block;margin-top:12px;font-family:var(--f-body);font-size:13px;letter-spacing:.15px;text-transform:none;color:rgba(242,245,244,.74)}
#hero .future-sectors a{text-decoration:none;border-bottom:1px solid rgba(77,216,230,.4);padding-bottom:3px}
#hero .future-sectors a:hover{color:var(--teal)}
@media(max-width:600px){#hero .future-sectors{font-size:12px;line-height:1.65}}

/* Pie de la imagen principal: alineación y legibilidad. */
#hero .sport-tags{width:100%;text-align:center;padding-right:0;min-height:0;margin-top:24px;font-size:12px;line-height:1.9;letter-spacing:1.1px}
#hero .future-sectors{margin-top:15px;font-size:17px;font-weight:500;line-height:1.6;letter-spacing:0;color:rgba(242,245,244,.94)}
#hero .future-sectors a{border-bottom-color:rgba(77,216,230,.65);box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(max-width:600px){#hero .sport-tags{font-size:11px;line-height:1.9;margin-top:24px;padding:0 6px}#hero .future-sectors{font-size:16px;line-height:1.6;margin-top:14px}}

/* Recomendación de talla: visual de prenda y secuencia XS–XL. */
#talla h2{font-size:clamp(30px,3.5vw,48px)}
.sizing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:14px}
.sizing-controls{min-width:0}.sizing-controls .talla-opts{gap:8px}
#talla .talla-opt{width:42px;height:44px;font-size:12px;font-family:var(--f-mono)}
#talla .talla-opt:focus-visible{outline:2px solid white;outline-offset:3px}
.sizing-benefit{font-size:15px;line-height:1.7;color:rgba(242,245,244,.74);margin-top:22px}
.sizing-visual{text-align:center;min-width:0}.sizing-visual svg{display:block;width:100%;max-width:250px;margin:auto}
#size-garment{transform-origin:130px 130px;transform:scale(.84);transition:transform 1.4s ease}
.sizing-visual-caption{display:block;color:var(--teal);font-size:10px;line-height:1.5;letter-spacing:.5px;font-family:var(--f-mono)}
@media(min-width:801px) and (max-width:1100px){.sizing-layout{grid-template-columns:1fr}.sizing-visual svg{max-width:180px}}
@media(max-width:480px){.sizing-layout{grid-template-columns:1fr}.sizing-controls{text-align:center}.sizing-controls .talla-opts{justify-content:center}.sizing-visual svg{max-width:195px}.sizing-benefit{margin-top:16px}}
@media(prefers-reduced-motion:reduce){#size-garment{transition:none}}

.sizing-visual{position:relative;padding-left:48px}
.sizing-visual-caption{font-family:var(--f-body);font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0;margin-top:8px;color:rgba(242,245,244,.92)}
.size-step-controls{position:absolute;left:0;top:50%;transform:translateY(-70%);display:flex;flex-direction:column;gap:10px}
.size-step-controls button{width:40px;height:44px;display:grid;place-items:center;border:1px solid var(--line-hot);border-radius:5px;background:var(--panel);color:var(--teal);font:22px var(--f-body);cursor:pointer}
.size-step-controls button:hover:not(:disabled){background:rgba(77,216,230,.12)}
.size-step-controls button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.size-step-controls button:disabled{opacity:.3;cursor:default}
@media(max-width:480px){.sizing-visual-caption{font-size:15px}.sizing-visual{padding-left:46px}.size-step-controls button{width:40px;height:44px}}

/* Navegación global entre secciones. El panel de tallas vuelve a su composición sin flechas. */
.sizing-visual{padding-left:0}
.section-navigation{position:fixed;left:10px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:8px}
.section-navigation button{width:38px;height:44px;display:grid;place-items:center;border:1px solid rgba(77,216,230,.45);border-radius:5px;background:rgba(6,16,19,.9);color:var(--teal);font:24px var(--f-body);cursor:pointer;box-shadow:0 3px 14px #0006}
.section-navigation button:hover:not(:disabled){background:#123238}
.section-navigation button:focus-visible{outline:2px solid white;outline-offset:3px}
.section-navigation button:disabled{opacity:.25;cursor:default}
@media(max-width:800px){.section-navigation{top:auto;bottom:max(14px,env(safe-area-inset-bottom));left:10px;transform:none;gap:6px}.section-navigation button{width:44px;height:44px}.sizing-visual{padding-left:0}}

/* Navegación lateral derecha con chevrones y botones circulares. */
.section-navigation{left:auto;right:16px;gap:10px}
.section-navigation button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(77,216,230,.4);background:rgba(9,23,27,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 18px rgba(0,0,0,.28);transition:background .2s,border-color .2s,box-shadow .2s}
.section-navigation button svg{display:block;transition:transform .2s}
.section-navigation button:hover:not(:disabled){background:rgba(26,63,69,.95);border-color:var(--teal);box-shadow:0 0 18px rgba(77,216,230,.16)}
#section-previous:hover:not(:disabled) svg{transform:translateY(-2px)}
#section-next:hover:not(:disabled) svg{transform:translateY(2px)}
@media(max-width:800px){.section-navigation{left:auto;right:12px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.section-navigation button{width:44px;height:44px}}

/* Ajuste editorial: mayor aire entre letras, líneas y descripción. */
#hero h1{letter-spacing:.45px;word-spacing:.035em;line-height:1.15}
section h2,#proceso .process-copy h2,#clubes .club-overlay h2{letter-spacing:.55px;word-spacing:.035em;line-height:1.16}
#hero .hero-lead{margin-top:32px;line-height:1.75;letter-spacing:.12px}
section .lead,#proceso .process-copy .lead,#clubes .club-overlay p.lead,#moda .moda-head .lead{margin-top:25px;line-height:1.75;letter-spacing:.12px}
.process-grid h3{line-height:1.4;letter-spacing:.15px;margin-bottom:15px}
.process-grid p,.process-note,.club-automation-note,.sizing-benefit{line-height:1.8;letter-spacing:.1px}
#hero .hero-lead strong{margin-top:16px}
@media(max-width:600px){#hero h1{letter-spacing:.25px;word-spacing:.02em;line-height:1.15}section h2,#proceso .process-copy h2,#clubes .club-overlay h2{letter-spacing:.3px;word-spacing:.02em;line-height:1.18}#hero .hero-lead{margin-top:26px;line-height:1.7}section .lead,#proceso .process-copy .lead,#clubes .club-overlay p.lead,#moda .moda-head .lead{margin-top:21px;line-height:1.7}#clubes .club-banner{min-height:800px}}

/* Información legal y privacidad: mismo lenguaje visual, lectura cómoda. */
footer{flex-direction:column;gap:15px;border-top:1px solid var(--line);padding:42px 6vw 36px;text-align:center}
.brand-ownership{font-size:14px;color:var(--white);line-height:1.6}.footer-contact,.footer-copy{font-size:12px;line-height:1.8;color:var(--muted)}
.legal-links{display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap}
.legal-links button,.legal-inline{border:0;background:none;color:var(--teal);font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0}
.legal-links button{font-size:13px;padding:8px 0}.legal-inline{display:inline;text-align:inherit}
.legal-dialog{width:min(900px,calc(100% - 32px));max-height:88svh;padding:0;margin:auto;background:#0b1518;color:var(--white);border:1px solid var(--line-hot);border-radius:12px;box-shadow:0 24px 80px #0009;overflow:auto}
.legal-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}
.legal-dialog-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;background:#0b1518;border-bottom:1px solid var(--line);z-index:1}
.legal-dialog h2{font-family:var(--f-body);font-size:24px;line-height:1.3;text-transform:none;font-weight:600;letter-spacing:0}
.legal-dialog-header button{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line-hot);border-radius:50%;background:transparent;color:var(--teal);font-size:28px;cursor:pointer}
.legal-content{padding:26px 28px;font-size:15px;line-height:1.8;color:rgba(242,245,244,.86)}
.legal-content p{margin:0 0 16px}.legal-content h3{font-size:18px;color:var(--white);margin:28px 0 12px;line-height:1.5}.legal-content a{color:var(--teal)}
.legal-date{font-size:12px;color:var(--muted)}.legal-identity{display:grid;grid-template-columns:170px 1fr;gap:8px 20px;margin:24px 0}.legal-identity dt{color:var(--teal)}.legal-identity dd{margin:0}
.legal-table-wrap{overflow-x:auto;margin:20px 0}.legal-content table{width:100%;border-collapse:collapse;font-size:13px}.legal-content td,.legal-content th{border:1px solid var(--line-hot);padding:12px;text-align:left;vertical-align:top}.legal-content th{color:var(--teal)}
.legal-action{padding:11px 17px;min-height:44px;border:1px solid var(--line-hot);border-radius:5px;background:#102a30;color:var(--white);font:14px var(--f-body);cursor:pointer}.legal-action:hover{border-color:var(--teal)}
.form-privacy{font-size:12px;line-height:1.65;color:var(--muted)}.form-privacy p{margin-top:14px}.privacy-check{display:flex;gap:12px;align-items:flex-start;color:var(--white);font-size:13px;line-height:1.65}.privacy-check input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--teal)}
.privacy-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:120;width:min(930px,calc(100% - 100px));display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 24px;background:#0e1c20;border:1px solid var(--line-hot);border-radius:10px;box-shadow:0 8px 40px #0009}
.privacy-notice[hidden]{display:none!important}.privacy-notice strong{font-size:15px;color:var(--teal)}.privacy-notice p{font-size:13px;line-height:1.65;margin-top:5px}.notice-actions{display:flex;gap:10px;flex-shrink:0}
.legal-action:focus-visible,.legal-inline:focus-visible,.legal-links button:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
@media(max-width:600px){.legal-dialog{width:calc(100% - 20px);max-height:92svh}.legal-dialog-header,.legal-content{padding:18px}.legal-dialog h2{font-size:20px}.legal-identity{grid-template-columns:1fr;gap:3px}.legal-identity dd{margin-bottom:10px}.privacy-notice{bottom:12px;left:12px;transform:none;width:calc(100% - 76px);padding:16px;flex-direction:column;align-items:stretch;gap:12px}.notice-actions{flex-wrap:wrap}.notice-actions button{flex:1;font-size:12px;padding:9px 10px}}

/* Pie compacto: información corporativa en una línea cuando cabe. */
footer .footer-contact{width:100%;max-width:none;line-height:1.8;font-size:12px;text-align:center;text-wrap:wrap}
footer .footer-contact a{white-space:nowrap}
footer .footer-sep{margin:0 5px}
@media(min-width:1280px){footer .footer-contact{white-space:nowrap}}
@media(max-width:600px){footer .footer-contact{font-size:12px;line-height:1.9}footer .footer-sep{margin:0 2px}}
