@charset "UTF-8";

/* Identidad y base. Distribución con Flexbox, sin dependencias. */
:root {
    --fondo: #101513;
    --profundo: #0b100e;
    --panel: #19201b;
    --texto: #f2eee4;
    --suave: #b2b9ae;
    --linea: #ffffff20;
    --acento: #dfc28b;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: 'Segoe UI', Arial, sans-serif;
    --margen: clamp(24px, 6vw, 112px);
    color-scheme: dark;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; scroll-padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
body { margin: 0; background: var(--fondo); color: var(--texto); font: 15px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
body.dialogo-abierto { overflow: hidden; }
button, input, select { font: inherit; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button, a { color: inherit; touch-action: manipulation; }
a { text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; width: 24px; height: 24px; flex-shrink: 0; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.08; }
h1 { font-size: clamp(52px, 6vw, 90px); letter-spacing: -.045em; }
h2 { font-size: clamp(36px, 4.3vw, 62px); letter-spacing: -.035em; }
h3 { font-size: 30px; letter-spacing: -.025em; }
em { font-weight: 400; color: var(--acento); }
p { color: var(--suave); }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 5px; }
button:disabled { opacity: .4; cursor: not-allowed; }
[hidden] { display: none !important; }
::selection { background: var(--acento); color: var(--profundo); }
.solo-lectores { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.saltar { position: fixed; top: 10px; left: var(--margen); z-index: 30; padding: 12px 20px; background: var(--acento); color: #111; transform: translateY(-160%); }
.saltar:focus { transform: none; }

/* Navegación y emblemas existentes. */
@property --presencia-encabezado { syntax: '<number>'; inherits: true; initial-value: 1; }
.encabezado { --presencia-encabezado: 1; position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 80px; padding: 0 var(--margen); background: rgba(11,16,14,calc(.94 * var(--presencia-encabezado))); border-bottom: 1px solid rgba(255,255,255,calc(.07 * var(--presencia-encabezado))); backdrop-filter: blur(calc(14px * var(--presencia-encabezado))); transition: --presencia-encabezado .7s ease; }
.marca { display: flex; align-items: center; gap: 15px; flex-shrink: 0; }
.marca-simbolo { width: 40px; height: 40px; object-fit: contain; }
.marca-nombre { width: 151px; height: auto; filter: brightness(0) invert(.96); }
.encabezado .marca-simbolo { opacity: calc(.26 + .74 * var(--presencia-encabezado)); }
.encabezado .marca-nombre, .encabezado-controles { opacity: var(--presencia-encabezado); }
.encabezado-desplazado { --presencia-encabezado: 0; transition-duration: .28s; pointer-events: none; }
.encabezado-desplazado .marca-nombre, .encabezado-desplazado .encabezado-controles { visibility: hidden; }
.encabezado-desplazado .marca-simbolo { pointer-events: auto; }
.encabezado-controles { display: flex; align-items: center; justify-content: flex-end; gap: 36px; margin-left: auto; min-width: 0; }
.navegacion { display: flex; gap: 30px; align-items: center; }
.navegacion a { display: inline-flex; align-items: center; gap: 12px; font-size: 14px; padding: 26px 0; color: #b8bcb4; white-space: nowrap; transition: color .35s, text-shadow .4s; }
.navegacion-gema { display: flex; flex: 0 0 8px; width: 8px; height: 13px; opacity: .42; transition: transform .6s, opacity .4s, filter .6s; }
.navegacion-gema::before { content: ''; width: 100%; height: 100%; background: conic-gradient(#ffe1aa 0deg 90deg,#d88936 90deg 180deg,#78401e 180deg 270deg,#efb365 270deg 360deg); clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); }
.navegacion a[aria-current], .navegacion a:hover { color: #fff0d9; text-shadow: 0 0 18px #f0a45130; }
.navegacion a[aria-current] .navegacion-gema, .navegacion a:hover .navegacion-gema { opacity: 1; transform: scale(1.15); filter: drop-shadow(0 0 5px #ffbb6270); }
.encabezado-acciones { display: flex; align-items: center; gap: 24px; }
.menu-boton { display: none; }

/* Controles y espaciado compartidos. */
.boton { display: inline-flex; justify-content: center; align-items: center; gap: 18px; min-height: 52px; padding: 15px 26px; border: 1px solid #d0b78055; border-radius: 999px; background: linear-gradient(145deg,#d1b87412,transparent),#18201bad; color: #f1e6ce; font-size: 13px; font-weight: 500; line-height: 1.4; text-align: center; transition: border-color .35s, background-color .35s, box-shadow .4s, transform .35s; }
.boton:hover { background-color: #c4a97020; border-color: #dfc28b99; box-shadow: 0 0 28px #d7ac6618; transform: translateY(-2px); }
.boton-principal { background: linear-gradient(145deg,#b18b4140,#4a402bb3); border-color: #ddbe8380; }
.boton-ancho { width: 100%; }
.boton svg { width: 20px; height: 20px; }
.etiqueta { font: 500 11px/1.6 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--acento); margin-bottom: 22px; }
.linea { display: inline-block; background: var(--acento); width: 30px; height: 1px; vertical-align: middle; margin-right: 14px; }
.enlace-flecha { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 7px 0; border-bottom: 1px solid #ffffff4d; font-size: 13px; }
.enlace-flecha svg { width: 20px; height: 20px; transition: transform .3s; }
.enlace-flecha:hover { color: var(--acento); border-color: var(--acento); }
.enlace-flecha:hover svg { transform: translateX(4px); }
.enlace-sencillo { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; border-bottom: 1px solid #ffffff55; }
.enlace-sencillo:hover { color: var(--acento); }
.acciones { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 30px; }
.seccion { padding: 100px var(--margen); }
.seccion-cabecera { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 46px; }
.seccion-cabecera .etiqueta { margin-bottom: 18px; }
.cabecera-lateral p { font-size: 14px; margin-bottom: 20px; }
.texto-lateral { font-size: 15px; }

/* Colección. Las esculturas se muestran completas, sin recortes. */
.productos-lista { display: flex; flex-wrap: wrap; gap: 42px 24px; }
.producto-tarjeta { flex: 0 1 calc((100% - 72px)/4); min-width: 0; }
.producto-imagen { display: flex; align-items: stretch; aspect-ratio: 4/5; overflow: hidden; background: #0a100f; border-radius: 14px; border: 1px solid #ffffff0b; }
.producto-imagen img { width: 100%; height: 100%; object-fit: contain; transition: filter .5s; }
.producto-imagen:hover img { filter: brightness(1.12); }
.producto-imagen.tableros { aspect-ratio: 4/3; }
.producto-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 10px; margin: 19px 0 9px; font-size: 10px; color: #a6afa2; }
.producto-meta span:last-child { color: #c6b58d; white-space: nowrap; }
.producto-titulo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.producto-titulo h3 { font-size: clamp(23px,2.15vw,32px); overflow-wrap: break-word; }
.producto-titulo h3 a:hover { color: var(--acento); }
.producto-abrir { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 44px; color: var(--acento); }
.producto-abrir svg { width: 20px; transform: rotate(-35deg); }
.producto-tarjeta>p { font-size: 12px; line-height: 1.8; }

/* Escena y recorrido de inicio. */
.escena-destacada { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: flex-end; width: 100%; min-width: 0; aspect-ratio: 16/9; min-height: 600px; overflow: hidden; }
.escena-arte { position: absolute; inset: 0; z-index: -2; }
.escena-arte img { width: 100%; height: 100%; object-fit: cover; object-position: 35% center; }
.escena-destacada::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,transparent 20%,#0d131145 48%,#0d1311f0),linear-gradient(0deg,#101513aa,transparent 50%); }
.escena-contenido { width: 47%; padding: 70px var(--margen) 70px 35px; }
.escena-contenido h2 { font-size: clamp(38px,4vw,60px); }
.escena-contenido>p:not(.etiqueta) { margin: 26px 0; color: #d2d6cd; }
.caminos { background: #e5dfd2; color: #263228; color-scheme: light; }
.caminos .etiqueta, .caminos h2 em { color: #70623e; }
.caminos p { color: #596152; }
.caminos-lista { display: flex; border-top: 1px solid #a8ac9c; }
.camino { display: flex; width: 50%; gap: 28px; padding: 38px 5% 0 0; }
.camino+.camino { padding: 38px 0 0 5%; border-left: 1px solid #b5b9aa; }
.camino-numero { font-size: 12px; color: #716347; padding-top: 8px; }
.camino h3 { font-size: 34px; margin-bottom: 18px; }
.camino p { max-width: 430px; font-size: 14px; margin-bottom: 24px; }
.camino .enlace-flecha { border-color: #8f9884; }
.camino:hover .enlace-flecha { color: #716347; }
.historias-inicio { border-top: 1px solid var(--linea); }
.historias-avances { display: flex; gap: 25px; }
.historia-avance { flex: 1; min-width: 0; }
.historia-avance>div { border-radius: 12px; overflow: hidden; aspect-ratio: 16/10; }
.historia-avance img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.historia-avance:hover img { transform: scale(1.025); }
.historia-avance .etiqueta { margin: 24px 0 12px; }
.historia-avance h3 { font-size: 30px; }
.historia-avance .enlace-flecha { margin-top: 14px; }

/* Catálogo, búsqueda y estados pendientes. */
.pagina-intro { display: flex; position: relative; isolation: isolate; align-items: center; overflow: hidden; padding-block: 72px; border-bottom: 1px solid var(--linea); background: radial-gradient(ellipse at 20% 30%,#27302555,transparent 65%); }
.intro-contenido { max-width: 900px; }
.intro-contenido>p:last-child { margin-top: 26px; max-width: 620px; font-size: 15px; }
.intro-esculturas .intro-contenido { width: 70%; }
.intro-figura { position: absolute; right: 8%; bottom: -55%; width: 28%; z-index: -1; }
.intro-figura img { width: 100%; mask-image: linear-gradient(#000 40%,transparent 90%); }
.catalogo-seccion { padding-top: 36px; }
.catalogo-herramientas { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; margin-bottom: 38px; }
.catalogo-barra { display: flex; flex: 1; align-items: center; gap: 24px; flex-wrap: wrap; }
.filtros { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.filtros button, .filtro-familia select, .galeria-opciones button { min-height: 44px; border: 1px solid #aeb79d40; border-radius: 999px; background: transparent; font-size: 12px; padding: 10px 20px; color: #bac3b2; transition: background .3s, border-color .3s; }
.filtros button.activo, .galeria-opciones button.activo { background: #c9b87919; color: #f0e0ba; border-color: #c9b87980; }
.filtros button:hover, .galeria-opciones button:hover { border-color: #c9b87980; }
.filtro-familia select { max-width: 100%; padding-right: 30px; cursor: pointer; }
.filtro-familia option { background: var(--fondo); }
.catalogo-conteo { font-size: 12px; color: #aeb6a6; white-space: nowrap; }
.busqueda { display: flex; align-items: center; width: 235px; border-bottom: 1px solid #ffffff55; }
.busqueda input { width: 100%; min-width: 0; border: 0; background: none; color: var(--texto); padding: 12px 5px; font-size: 13px; }
.busqueda svg { width: 19px; height: 19px; margin-left: 10px; color: var(--suave); }
.catalogo-vacio { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: 55px 0; }
.catalogo-vacio h2 { font-size: 36px; }
.nota-catalogo { margin-top: 48px; font-size: 12px; border-top: 1px solid var(--linea); padding-top: 24px; }
.imagen-pendiente { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: clamp(14px,2.5vw,32px); width: 100%; min-height: 260px; text-align: center; background: radial-gradient(ellipse at center,#313a2a55,transparent),#111913; border: 1px dashed #aaa17650; border-radius: 14px; }
.imagen-pendiente .etiqueta { margin: 0; font-size: 10px; }
.pendiente-linea { width: 28px; height: 1px; background: #d8bd84; margin-bottom: 10px; }
.pendiente-nombre { font: clamp(21px,2.2vw,30px)/1.2 var(--serif); max-width: 100%; overflow-wrap: break-word; }
.pendiente-nota { font-size: 12px; color: #adb6a5; }

/* Ficha de producto. Galería, formatos y consulta de preventa. */
.migas { display: flex; gap: 13px; align-items: center; flex-wrap: wrap; padding: 27px var(--margen); font-size: 12px; color: #aeb79e; }
.migas a:hover { color: var(--acento); }
.migas span:last-child { color: #e1e4d7; }
.detalle-producto { display: flex; align-items: flex-start; gap: 6vw; padding: 0 var(--margen) 80px; }
.detalle-galeria { flex: 1; min-width: 0; }
.galeria-panel { background: #0b100e; border: 1px solid #ffffff10; border-radius: 14px; overflow: hidden; }
.imagen-ampliable { display: flex; flex-direction: column; align-items: stretch; padding: 0; border: 0; background: none; width: 100%; cursor: zoom-in; }
.imagen-ampliable img { width: 100%; height: min(720px,74vw); object-fit: contain; }
.imagen-ampliable>span { padding: 13px 18px; font-size: 12px; text-align: right; color: var(--acento); border-top: 1px solid #ffffff10; }
.galeria-opciones { display: flex; justify-content: center; gap: 10px; padding-top: 18px; }
/* Galería comercial: fotografías completas y miniaturas en Flexbox. */
.galeria-comercial .imagen-ampliable img { height: auto; aspect-ratio: 3/2; object-fit: contain; }
.galeria-opciones.galeria-miniaturas { flex-wrap: wrap; justify-content: flex-start; gap: 12px; }
.galeria-miniaturas button { display: flex; flex: 0 0 calc((100% - 36px)/4); min-width: 0; flex-direction: column; align-items: stretch; padding: 5px; border-radius: 10px; }
.galeria-miniaturas img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; border-radius: 6px; }
.galeria-miniaturas span { padding: 8px 3px 4px; font-size: 10px; line-height: 1.5; text-align: left; }
.detalle-galeria>p { font-size: 12px; line-height: 1.8; padding-top: 18px; }
.detalle-galeria>.imagen-pendiente { min-height: 530px; }
.detalle-compra { width: 41%; min-width: 0; padding-top: 20px; }
.detalle-compra h1 { font-size: clamp(42px,4.5vw,70px); }
.detalle-compra .etiqueta { margin-bottom: 18px; }
.detalle-subtitulo { font: 22px/1.5 var(--serif); color: #dedccf; margin: 20px 0; }
.detalle-compra>p:not(.detalle-subtitulo):not(.formulario-nota) { font-size: 14px; line-height: 1.85; }
.formatos { display: flex; gap: 10px; padding: 0; margin: 30px 0 18px; border: 0; }
.formatos legend { font-size: 12px; padding: 0; margin-bottom: 12px; color: #bbc4b0; }
.formatos label { flex: 1; display: flex; align-items: flex-start; gap: 10px; padding: 16px 12px; border: 1px solid #ffffff30; border-radius: 12px; background: #1d241c; cursor: pointer; min-width: 0; }
.formatos input { flex: 0 0 15px; width: 15px; height: 15px; margin: 4px 0 0; accent-color: var(--acento); }
.formatos label>span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.formatos label:has(input:checked) { border-color: #d9bd81aa; background: #ccb56713; }
.formatos strong { font-size: 13px; font-weight: 500; }
.formatos small { font-size: 11px; color: #adb7a0; }
.detalle-formato { min-height: 70px; font-size: 12px; }
.detalle-formato strong { color: #d7dcca; font-weight: 500; }
.detalle-formato p { font-size: 12px; margin-top: 5px; }
.detalle-precio { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; align-items: center; border-top: 1px solid var(--linea); padding: 24px 0; }
.detalle-precio strong { font: 24px/1.3 var(--serif); }
.detalle-precio span { font-size: 11px; color: #aeb69e; }
.detalle-compra>details:first-of-type { margin-top: 32px; }
details { border-bottom: 1px solid var(--linea); }
summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 22px 0; list-style: none; font-size: 14px; }
summary::-webkit-details-marker { display: none; }
summary span { font-size: 20px; color: var(--acento); }
details[open]>summary { color: var(--acento); }
details[open]>summary span { transform: rotate(45deg); }
details>p { font-size: 13px; padding-bottom: 24px; line-height: 1.9; }
.puente-historia { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-block: 55px; background: #1d251e; border-block: 1px solid var(--linea); }
.puente-historia h2 { font-size: 45px; }
.puente-historia .etiqueta { margin-bottom: 12px; }

/* Acerca, ayuda, comunidad y pie. */
.acerca-portada { display: flex; align-items: center; justify-content: space-between; gap: 8vw; background: #e5dfd2; color: #303a2d; }
.acerca-portada>div:first-child { width: 65%; }
.acerca-portada .etiqueta, .acerca-portada em { color: #746748; }
.acerca-portada p:not(.etiqueta) { max-width: 520px; margin-top: 30px; color: #596250; }
.acerca-logo { width: 27%; padding: 30px; }
.acerca-logo img { width: 100%; }
.manifiesto { background: #1a231b; }
.manifiesto h2 { max-width: 1100px; line-height: 1.2; }
.manifiesto-columnas { display: flex; gap: 60px; margin-top: 45px; max-width: 1000px; }
.manifiesto-columnas p { flex: 1; font-size: 15px; line-height: 1.9; }
.proceso-lista { display: flex; gap: 50px; padding-top: 35px; border-top: 1px solid var(--linea); }
.proceso-lista>div { flex: 1; }
.proceso-lista span { font-size: 12px; color: var(--acento); }
.proceso-lista h3 { font-size: 36px; margin: 25px 0 20px; }
.proceso-lista p { font-size: 14px; max-width: 320px; }
.ayuda { max-width: 1100px; margin: auto; padding-top: 30px; }
.ayuda summary { font-size: 19px; padding: 28px 0; }
.ayuda details>p { font-size: 15px; max-width: 780px; }
.vacio { min-height: 65vh; }
.vacio .boton { margin-top: 35px; }
.comunidad { display: flex; justify-content: space-between; align-items: center; gap: 60px; background: radial-gradient(ellipse at 80% 20%,#2a362650,transparent 60%),#121a14; border-block: 1px solid var(--linea); }
.comunidad>div>p:last-child { font-size: 14px; margin-top: 22px; }
.formulario-comunidad { width: 42%; max-width: 480px; }
.formulario-comunidad>label { font-size: 12px; color: #b9c1ac; }
.campo-correo { display: flex; align-items: center; border-bottom: 1px solid #89937c; margin: 8px 0 23px; }
.campo-correo input { width: 100%; min-width: 0; border: 0; background: none; color: var(--texto); padding: 17px 0; font: 27px/1.4 var(--serif); }
.campo-correo input::placeholder { color: #9ba58d; }
.campo-correo button { background: none; color: var(--acento); border: 0; padding: 18px 6px 18px 20px; }
.consentimiento { display: flex; align-items: center; gap: 10px; }
.consentimiento input { accent-color: var(--acento); width: 16px; height: 16px; flex-shrink: 0; }
.formulario-nota { font-size: 12px; color: #a5af99; line-height: 1.7; margin-top: 16px; }
.resultado-comunidad { font-size: 13px; color: var(--acento); margin-top: 12px; }
.pie { padding: 58px var(--margen) calc(90px + env(safe-area-inset-bottom, 0px)); background: #0a0f0c; }
.pie-superior { display: flex; justify-content: space-between; gap: 38px; align-items: flex-start; padding-bottom: 45px; }
.pie-superior>p { font: 19px/1.5 var(--serif); color: #b9c0ae; }
.pie-superior>div { display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: #b3bca6; }
.pie-superior a:hover { color: var(--acento); }
.pie-inferior { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--linea); padding: 22px 0; font-size: 11px; color: #a2ad96; }

/* Contacto persistente: cápsula inferior compartida por todo el sitio. */
.sociales-flotantes {
    position: fixed;
    z-index: 20;
    left: 50%;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 5px;
    max-width: calc(100% - 32px);
    padding: 6px;
    border: 1px solid #dfc28b50;
    border-radius: 999px;
    background: #101813ed;
    box-shadow: 0 8px 28px #0007, inset 0 1px 0 #f6dfb518;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.social-enlace {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border: 1px solid transparent;
    border-radius: 50%;
    color: var(--acento);
    transition: color .2s, background-color .2s, border-color .2s;
}
.social-enlace:hover, .social-enlace:focus-visible { background: #dfc28b12; border-color: #dfc28b30; }
.social-facebook:hover, .social-facebook:focus-visible { color: #a9c8ff; }
.social-instagram:hover, .social-instagram:focus-visible { color: #f5b8d5; }
.social-whatsapp:hover, .social-whatsapp:focus-visible { color: #a1e3b3; }
.social-enlace:focus-visible { outline-offset: 1px; }

/* Ventanas nativas: ampliación de imágenes, foco y cierre. */
dialog { color: var(--texto); }
dialog::backdrop { background: #040805c9; backdrop-filter: blur(6px); }
.cerrar { background: none; border: 0; color: var(--texto); font-size: 32px; line-height: 1; width: 44px; height: 44px; font-weight: 200; flex-shrink: 0; }
.zoom { background: #0c110feb; border: 1px solid #a99a6655; border-radius: 16px; padding: 15px; max-width: 95vw; max-height: 95svh; overflow: auto; }
.zoom[open] { display: flex; flex-direction: column; gap: 5px; }
.zoom .cerrar { align-self: flex-end; }
.zoom>img { max-height: 80svh; width: auto; max-width: min(1300px,calc(95vw - 34px)); object-fit: contain; margin: auto; }

/* Adaptación de escritorio a móvil. */
@media (min-width: 1800px) {
    :root { --margen: max(7vw,calc((100vw - 1600px)/2)); }
}
@media (max-width: 1180px) {
    :root { --margen: 40px; }
    .encabezado { gap: 24px; }
    .marca-nombre { width: 135px; }
    .navegacion { gap: 22px; }
    .encabezado-controles { gap: 24px; }
    .producto-titulo h3 { font-size: 25px; }
    .escena-contenido { width: 48%; }
    .pie-superior>.enlace-flecha { display: none; }
    .detalle-producto { gap: 4vw; }
    .detalle-compra { width: 44%; }
    .catalogo-herramientas { flex-wrap: wrap; }
    .catalogo-barra { min-width: 330px; }
}
@media (max-width: 1000px) {
    .producto-tarjeta { flex-basis: calc((100% - 48px)/3); }
    .coleccion .producto-tarjeta { flex-basis: calc((100% - 24px)/2); }
    .coleccion .producto-imagen { max-height: 560px; }
    .escena-destacada { min-height: 570px; }
    .escena-contenido { width: 52%; }
    .historia-avance h3 { font-size: 27px; }
    .camino h3 { font-size: 30px; }
}
@media (max-width: 900px) {
    .encabezado { min-height: 70px; flex-wrap: wrap; gap: 0 20px; }
    .encabezado-controles { display: contents; }
    .encabezado>.marca, .encabezado-acciones { min-height: 69px; }
    .encabezado-acciones { margin-left: auto; }
    .navegacion { display: none; order: 3; flex: 0 0 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 0 20px; border-top: 1px solid var(--linea); }
    .navegacion.abierta { display: flex; }
    .navegacion a { padding: 14px 0; font-size: 17px; }
    .menu-boton { display: flex; flex-direction: column; justify-content: center; gap: 6px; background: none; border: 0; width: 44px; height: 44px; padding: 10px; }
    .menu-boton span { width: 24px; height: 1px; background: #dedfce; transition: transform .3s; }
    .menu-boton[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .menu-boton[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
    .seccion { padding-block: 75px; }
    .seccion-cabecera { gap: 24px; }
    .comunidad { gap: 35px; }
    .comunidad h2 { font-size: 48px; }
    .formulario-comunidad { width: 48%; }
    .detalle-producto { flex-direction: column; gap: 35px; }
    .detalle-galeria { width: 100%; }
    .imagen-ampliable img { height: 620px; }
    .detalle-compra { width: 100%; max-width: 720px; padding: 0; }
    .detalle-compra h1 { font-size: 60px; }
    .detalle-galeria>.imagen-pendiente { min-height: 350px; }
    .acerca-logo { padding: 0; }
    .acerca-portada h1 { font-size: 64px; }
}
@media (max-width: 700px) {
    .escena-destacada { align-items: flex-end; aspect-ratio: auto; min-height: 640px; }
    .escena-arte img { object-position: 29% top; height: 65%; }
    .escena-destacada::before { background: linear-gradient(0deg,#101513 24%,#101513e6 40%,transparent 78%); }
    .escena-contenido { width: 100%; padding: 310px var(--margen) 45px; }
    .escena-contenido h2 { font-size: 44px; }
    .historias-avances { flex-direction: column; gap: 42px; }
    .historia-avance>div { aspect-ratio: 16/9; }
    .historia-avance h3 { font-size: 34px; }
    .galeria-miniaturas span { font-size: 9px; padding-inline: 0; }
    .galeria-opciones.galeria-miniaturas { gap: 8px; }
    .galeria-miniaturas button { flex-basis: calc((100% - 24px)/4); }
    .intro-figura { right: -7%; width: 44%; bottom: -15%; opacity: .5; }
    .intro-esculturas .intro-contenido { width: 100%; }
    .intro-esculturas .intro-contenido>p:last-child { max-width: 65%; }
}
@media (max-width: 600px) {
    :root { --margen: 22px; }
    body { font-size: 14px; }
    .encabezado { min-height: 64px; }
    .encabezado>.marca, .encabezado-acciones { min-height: 63px; }
    .marca { gap: 10px; }
    .marca-simbolo { width: 30px; height: 30px; }
    .marca-nombre { width: 113px; }
    .encabezado-acciones { gap: 10px; }
    .seccion { padding-block: 58px; }
    h2 { font-size: 40px; }
    .etiqueta { font-size: 10px; letter-spacing: .13em; margin-bottom: 18px; }
    .seccion-cabecera { flex-direction: column; align-items: flex-start; gap: 22px; margin-bottom: 30px; }
    .cabecera-lateral p, .texto-lateral { display: none; }
    .productos-lista { gap: 32px 15px; }
    .producto-tarjeta, .coleccion .producto-tarjeta { flex-basis: calc((100% - 15px)/2); }
    .producto-imagen { border-radius: 9px; }
    .producto-meta { flex-direction: column; gap: 2px; margin-top: 13px; font-size: 10px; }
    .producto-titulo { gap: 4px; }
    .producto-titulo h3 { font-size: 25px; }
    .producto-abrir { flex-basis: 25px; width: 25px; }
    .producto-abrir svg { width: 18px; }
    .producto-tarjeta>p { font-size: 12px; }
    .caminos-lista { flex-direction: column; }
    .camino { width: 100%; padding: 28px 0; gap: 20px; }
    .camino+.camino { padding: 28px 0 0; border-left: 0; border-top: 1px solid #b5b9aa; }
    .camino h3 { font-size: 30px; }
    .camino p { font-size: 14px; }
    .comunidad { flex-direction: column; align-items: stretch; gap: 35px; }
    .formulario-comunidad { width: 100%; max-width: none; }
    .comunidad h2 { font-size: 50px; }
    .pie { padding-top: 42px; }
    .pie-superior { flex-wrap: wrap; gap: 28px; }
    .pie-superior>.marca { width: 100%; }
    .pie-superior>p, .pie-superior>div { flex: 1; }
    .pie-superior>p { font-size: 18px; }
    .pie-superior>div { font-size: 12px; }
    .pie-inferior { flex-wrap: wrap; gap: 14px; font-size: 10px; }
    .pie-inferior>span:nth-child(2) { order: 3; width: 100%; }
    .pie-inferior>a { margin-left: auto; }
    .pagina-intro { padding-block: 48px; }
    .pagina-intro h1 { font-size: 52px; }
    .intro-contenido>p:last-child { font-size: 14px; }
    .intro-esculturas .intro-contenido>p:last-child { max-width: 90%; }
    .catalogo-herramientas { flex-direction: column; align-items: stretch; gap: 22px; }
    .catalogo-barra { min-width: 0; gap: 15px; }
    .filtros { gap: 7px; }
    .filtros button, .filtro-familia select { font-size: 12px; padding-inline: 15px; }
    .busqueda { width: 100%; }
    .catalogo-seccion { padding-top: 28px; }
    .catalogo-vacio h2 { font-size: 31px; }
    .migas { font-size: 11px; gap: 8px; padding-block: 20px; }
    .detalle-producto { padding-bottom: 50px; }
    .imagen-ampliable img { height: 510px; max-height: 135vw; }
    .galeria-escena .imagen-ampliable img { height: 300px; }
    .detalle-compra h1 { font-size: 50px; }
    .detalle-subtitulo { font-size: 22px; }
    .formatos label { padding: 14px 10px; gap: 8px; }
    .formatos strong { font-size: 12px; }
    .formatos small { font-size: 11px; }
    .detalle-precio strong { font-size: 23px; }
    .puente-historia { flex-direction: column; align-items: flex-start; padding-block: 40px; gap: 25px; }
    .puente-historia h2 { font-size: 37px; }
    .acerca-portada { flex-direction: column; gap: 45px; }
    .acerca-portada>div:first-child { width: 100%; }
    .acerca-portada h1 { font-size: 54px; }
    .acerca-logo { width: 160px; padding: 10px 0; }
    .manifiesto-columnas, .proceso-lista { flex-direction: column; gap: 30px; }
    .manifiesto-columnas { margin-top: 30px; }
    .proceso-lista h3 { margin-top: 15px; }
    .proceso-lista p { max-width: none; }
    .ayuda summary { font-size: 17px; }
}
@media (max-width: 370px) {
    :root { --margen: 18px; }
    .producto-titulo h3 { font-size: 22px; }
    .producto-abrir { display: none; }
    .marca-nombre { width: 103px; }
    .encabezado-acciones { gap: 5px; }
    .pagina-intro h1 { font-size: 46px; }
    .filtros { gap: 6px; }
    .filtros button, .filtro-familia select { padding-inline: 12px; font-size: 11px; }
    .formatos { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; animation: none !important; }
}

