/* Torrington S.A.S. — único archivo de estilos.
   Basado en el Brochure corporativo 2026: noche #15130F, crema #F1EBE1, oro #C9A15A.
   Montserrat (títulos, 800) + Source Sans 3 (texto). Tarjetas redondeadas, íconos en círculo oro.
   Texto oro solo sobre fondo oscuro; sobre crema se usa #7A5B26 (contraste AA). */

:root {
  --noche: #15130f;
  --noche-2: #1d1a16;
  --noche-3: #24211c;
  --noche-linea: #3a3632;
  --crema: #f1ebe1;
  --hueso: #fbf8f3;
  --arena: #e8e0d3;
  --blanco: #f7f3ec;
  --oro: #c9a15a;
  --oro-osc: #7a5b26;
  --texto: #3a3632;
  --gris: #6f6a63;
  --gris-claro: #bfbab2;
  --claro: #d8d3cb;
  --linea: #ddd4c5;

  --f-titulo: "Montserrat", "Century Gothic", Arial, sans-serif;
  --f-texto: "Source Sans 3", Arial, sans-serif;

  --ancho: 1280px;
  --gutter: clamp(16px, 4.5vw, 64px);
  --radio: 20px;
  --suave: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--crema); color: var(--noche); font-family: var(--f-texto); font-size: 18px; line-height: 1.6; }
img, svg { max-width: 100%; display: block; }
img { height: auto; }
a { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--oro); outline-offset: 3px; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { font-family: var(--f-titulo); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.3rem, 1.2rem + 4.4vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 1.1rem + 2.8vw, 3.3rem); }
h3 { font-size: 1.22rem; font-weight: 700; letter-spacing: -.01em; }
.oro { color: var(--oro); }
.num { font-variant-numeric: tabular-nums; }
.saltar { position: absolute; left: -999px; top: 0; background: var(--noche); color: var(--blanco); padding: 10px 16px; z-index: 200; }
.saltar:focus { left: 8px; top: 8px; }
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.contenedor { max-width: var(--ancho); margin: 0 auto; padding: 0 var(--gutter); }

.rotulo { font-family: var(--f-titulo); font-size: .76rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--oro-osc); margin: 0 0 18px; }
.oscuro .rotulo, .rotulo--claro { color: var(--oro); }

.icono { width: 24px; height: 24px; flex: none; }
.circulo { width: 60px; height: 60px; flex: none; border-radius: 50%; background: var(--oro); color: var(--noche); display: grid; place-items: center; }
.circulo .icono { width: 30px; height: 30px; }
.circulo--noche { background: var(--noche); color: var(--crema); }

/* Secciones */
.sec { padding: clamp(72px, 9vw, 130px) 0; }
.oscuro { background: var(--noche); color: var(--blanco); }
.oscuro p { color: var(--claro); }
.hueso { background: var(--hueso); }
.arena { background: var(--arena); }
.cab { display: grid; grid-template-columns: 1.1fr .9fr; gap: 32px 64px; align-items: end; margin-bottom: clamp(36px, 5vw, 64px); }
.cab h2 { margin: 0; }
.cab p { margin: 0; color: var(--texto); font-size: 1.08rem; }
.oscuro .cab p { color: var(--claro); }
@media (max-width: 860px) { .cab { grid-template-columns: 1fr; } }

/* Botones */
.boton { display: inline-flex; align-items: center; gap: 12px; padding: 17px 28px; border-radius: 999px; border: 1.5px solid var(--oro); background: var(--oro); color: var(--noche); font-family: var(--f-titulo); font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s var(--suave); }
.boton:hover { background: var(--blanco); border-color: var(--blanco); transform: translateY(-2px); }
.boton .icono { width: 18px; height: 18px; transition: transform .25s var(--suave); }
.boton:hover .icono { transform: translateX(4px); }
.boton--borde { background: transparent; color: inherit; border-color: currentColor; }
.boton--borde:hover { background: var(--noche); color: var(--blanco); border-color: var(--noche); }
.oscuro .boton--borde:hover, .cine .boton--borde:hover { background: var(--blanco); color: var(--noche); border-color: var(--blanco); }
.acciones { display: flex; flex-wrap: wrap; gap: 12px; }
.enlace-flecha { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-titulo); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--oro-osc); }
.oscuro .enlace-flecha { color: var(--oro); }
.enlace-flecha .icono { width: 18px; height: 18px; transition: transform .25s var(--suave); }
.enlace-flecha:hover .icono { transform: translateX(5px); }

/* ============ Encabezado ============ */
.header { position: sticky; top: 0; z-index: 100; background: var(--noche); color: var(--blanco); transition: background .35s, box-shadow .35s, padding .35s; }
.header__in { max-width: var(--ancho); margin: 0 auto; padding: 18px var(--gutter); display: flex; align-items: center; gap: 28px; transition: padding .35s; }
.header__logo img { width: 150px; transition: width .35s; }
.nav { display: flex; gap: 26px; margin-left: auto; }
.nav a { font-family: var(--f-titulo); font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; padding: 6px 0; position: relative; }
.nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--oro); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--suave); }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.header .boton { padding: 12px 20px; }
.header--sobre { position: fixed; left: 0; right: 0; background: transparent; }
.header--sobre + main { margin-top: 0; }
.header--bajo { background: rgba(21, 19, 15, .96); box-shadow: 0 1px 0 var(--noche-linea); }
.header--bajo .header__in { padding-top: 12px; padding-bottom: 12px; }
.header--bajo .header__logo img { width: 128px; }

.menu-movil { display: none; margin-left: auto; }
.menu-movil summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; font-family: var(--f-titulo); font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 8px 0; }
.menu-movil summary::-webkit-details-marker { display: none; }
.menu-movil__icono { width: 24px; height: 14px; position: relative; border-top: 2px solid var(--oro); border-bottom: 2px solid var(--oro); }
.menu-movil__panel { position: fixed; inset: 64px 0 0 0; background: var(--noche); padding: 16px var(--gutter) 32px; display: flex; flex-direction: column; overflow-y: auto; }
.menu-movil__panel a { padding: 16px 0; border-bottom: 1px solid var(--noche-linea); text-decoration: none; font-family: var(--f-titulo); font-weight: 700; font-size: 1.4rem; }
.menu-movil__panel .boton { margin-top: 24px; justify-content: center; font-size: .82rem; border-bottom: 1.5px solid var(--oro); }
@media (max-width: 1080px) { .nav, .header__cta { display: none; } .menu-movil { display: block; } .header__logo img { width: 124px; } }

/* ============ Portada: cine ============ */
.cine { position: relative; min-height: max(100svh, 640px); overflow: hidden; background: var(--noche); color: var(--blanco); }
.cine__fotos, .cine__foto { position: absolute; inset: 0; margin: 0; }
.cine__foto { opacity: 0; animation: fundido 28s infinite; animation-delay: calc(var(--i) * 7s); }
.cine__foto:first-child { opacity: 1; }
.cine__foto img { width: 100%; height: 100%; object-fit: cover; animation: acercar 28s infinite; animation-delay: calc(var(--i) * 7s); }
.cine__foto figcaption { position: absolute; z-index: 3; right: var(--gutter); top: 112px; text-align: right; font-family: var(--f-titulo); font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gris-claro); line-height: 1.9; }
.cine__foto figcaption b { color: var(--oro); font-weight: 700; }
@keyframes fundido { 0%, 100% { opacity: 0; } 4%, 25% { opacity: 1; } 29% { opacity: 0; } }
@keyframes acercar { 0% { transform: scale(1.08); } 30% { transform: scale(1); } 100% { transform: scale(1); } }
.cine::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(21,19,15,.95) 0%, rgba(21,19,15,.78) 40%, rgba(21,19,15,.15) 80%), linear-gradient(0deg, rgba(21,19,15,.7) 0%, rgba(21,19,15,0) 35%); }
.cine__txt { position: relative; z-index: 2; min-height: max(100svh, 640px); max-width: var(--ancho); margin: 0 auto; padding: 150px var(--gutter) 72px; display: flex; flex-direction: column; justify-content: flex-end; }
.cine__txt .rotulo { color: var(--oro); }
.cine h1 { max-width: 15ch; margin-bottom: 26px; font-size: clamp(2.5rem, 1.2rem + 5vw, 5.6rem); line-height: 1.02; color: var(--blanco); }
.cine__sub { max-width: 40em; font-size: clamp(1.05rem, .9rem + .5vw, 1.35rem); color: var(--claro); margin-bottom: 34px; }
.cine__datos { margin: 34px 0 0; font-family: var(--f-titulo); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gris-claro); }
.rotador { display: block; white-space: nowrap; font-size: min(1em, 8.2vw); color: var(--oro); }
.rotador__palabra { display: inline-block; transition: opacity .35s, transform .35s var(--suave); }
.rotador__palabra.sale { opacity: 0; transform: translateY(.3em); }
.cine__baja { position: absolute; z-index: 3; left: 50%; bottom: 20px; width: 24px; height: 40px; margin-left: -12px; border: 1.5px solid var(--gris-claro); border-radius: 14px; }
.cine__baja::after { content: ""; position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: var(--oro); animation: baja 1.8s infinite; }
@keyframes baja { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }
@media (max-width: 700px) { .cine__foto figcaption { display: none; } .cine::after { background: linear-gradient(0deg, rgba(21,19,15,.97) 0%, rgba(21,19,15,.8) 55%, rgba(21,19,15,.35) 100%); } }

/* Cinta en movimiento */
.cinta { overflow: hidden; padding: 22px 0; background: var(--oro); color: var(--noche); }
.cinta__pista { list-style: none; margin: 0; padding: 0; display: flex; width: max-content; animation: deslizar 60s linear infinite; }
.cinta:hover .cinta__pista { animation-play-state: paused; }
.cinta li { display: flex; align-items: center; white-space: nowrap; font-family: var(--f-titulo); font-size: .82rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cinta li::after { content: "◆"; margin: 0 28px; font-size: .55rem; opacity: .6; }
@keyframes deslizar { to { transform: translateX(-50%); } }

/* ============ Selector "¿Qué necesita resolver?" ============ */
.selector { display: grid; grid-template-columns: 340px 1fr; gap: 0; background: var(--hueso); border-radius: var(--radio); overflow: hidden; }
.selector__tabs { display: flex; flex-direction: column; padding: 16px; gap: 6px; background: var(--noche); }
.selector__tab { display: flex; align-items: center; gap: 14px; text-align: left; width: 100%; padding: 16px 18px; border: 0; border-radius: 14px; background: transparent; color: var(--claro); font-family: var(--f-titulo); font-size: .95rem; font-weight: 600; line-height: 1.25; cursor: pointer; transition: background .25s, color .25s; }
.selector__tab .icono { color: var(--oro); }
.selector__tab:hover { background: var(--noche-3); color: var(--blanco); }
.selector__tab[aria-selected="true"] { background: var(--oro); color: var(--noche); }
.selector__tab[aria-selected="true"] .icono { color: var(--noche); }
.selector__panel { display: grid; grid-template-columns: 1fr 1fr; min-height: 460px; }
.selector__panel[hidden] { display: none; }
.selector--activo .selector__panel:not([hidden]) .selector__txt > * { animation: subir .6s var(--suave) both; }
.selector--activo .selector__panel:not([hidden]) .selector__txt > *:nth-child(2) { animation-delay: .06s; }
.selector--activo .selector__panel:not([hidden]) .selector__txt > *:nth-child(3) { animation-delay: .12s; }
.selector--activo .selector__panel:not([hidden]) .selector__txt > *:nth-child(4) { animation-delay: .18s; }
.selector--activo .selector__panel:not([hidden]) .selector__foto img { animation: aparecer .8s var(--suave) both; }
@keyframes subir { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes aparecer { from { opacity: 0; transform: scale(1.05); } to { opacity: 1; transform: none; } }
.selector__txt { padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; }
.selector__txt h3 { font-size: clamp(1.4rem, 1rem + 1vw, 1.9rem); font-weight: 800; line-height: 1.12; }
.selector__txt p { color: var(--texto); }
.selector__prueba { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--linea); font-size: .95rem; color: var(--gris); }
.selector__prueba b { color: var(--noche); }
.selector__foto { position: relative; overflow: hidden; background: var(--arena); }
.selector__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.selector:not(.selector--activo) .selector__panel { border-top: 1px solid var(--linea); }
@media (max-width: 1200px) {
  .selector__panel { grid-template-columns: 1fr; }
  .selector__foto { min-height: 260px; order: -1; }
}
@media (max-width: 1000px) {
  .selector { grid-template-columns: 1fr; }
  .selector__tabs { flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; }
  .selector__tab { flex: 0 0 auto; width: auto; scroll-snap-align: start; white-space: nowrap; }
  .selector__panel { grid-template-columns: 1fr; }
  .selector__foto { min-height: 240px; order: -1; }
}

/* Lista con viñeta */
.lista { list-style: none; padding: 0; margin: 0 0 1.4em; }
.lista li { position: relative; padding: 9px 0 9px 32px; }
.lista li::before { content: ""; position: absolute; left: 0; top: 14px; width: 18px; height: 18px; border-radius: 50%; background: var(--oro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315130f' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 11px no-repeat; }
.lista--linea li { border-bottom: 1px solid var(--linea); padding-top: 14px; padding-bottom: 14px; }
.lista--linea li::before { top: 19px; }
.oscuro .lista--linea li { border-color: var(--noche-linea); }

/* ============ Portafolio: dos familias con foto que sigue al cursor ============ */
.familias { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); }
.familia h3 { font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); font-weight: 800; margin-bottom: 24px; }
.lineas { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--noche-linea); }
.lineas a { position: relative; display: grid; grid-template-columns: 40px 1fr 28px; gap: 2px 14px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--noche-linea); text-decoration: none; transition: padding .35s var(--suave); }
.lineas__num { font-family: var(--f-titulo); font-size: .74rem; font-weight: 700; color: var(--oro); letter-spacing: .08em; }
.lineas__t { font-family: var(--f-titulo); font-size: 1.12rem; font-weight: 700; color: var(--blanco); transition: color .25s; }
.lineas__d { grid-column: 2; font-size: .95rem; color: var(--gris-claro); }
.lineas .icono { grid-row: 1; grid-column: 3; color: var(--oro); opacity: 0; transform: translateX(-10px); transition: opacity .3s, transform .3s var(--suave); }
.lineas a:hover { padding-left: 12px; }
.lineas a:hover .lineas__t { color: var(--oro); }
.lineas a:hover .icono { opacity: 1; transform: none; }
.visor { position: fixed; z-index: 90; left: 0; top: 0; width: 320px; height: 220px; border-radius: 16px; overflow: hidden; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.85) rotate(-2deg); transition: opacity .25s, transform .3s var(--suave); }
.visor.activo { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }
.visor img { width: 100%; height: 100%; object-fit: cover; }
.portafolio__pie { margin-top: 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 28px 36px; border-radius: var(--radio); background: var(--oro); color: var(--noche); }
.portafolio__pie b { font-family: var(--f-titulo); font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem); font-weight: 800; display: block; }
.portafolio__pie span { color: var(--noche); }
.portafolio__pie .boton { background: var(--noche); color: var(--blanco); border-color: var(--noche); }
.portafolio__pie .boton:hover { background: var(--blanco); color: var(--noche); border-color: var(--blanco); }
@media (max-width: 900px) { .familias { grid-template-columns: 1fr; } }

/* ============ Cifras ============ */
.cifras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.cifra { border-top: 3px solid var(--oro); padding-top: 22px; }
.cifra b { display: block; font-family: var(--f-titulo); font-size: clamp(3rem, 2rem + 4vw, 6rem); font-weight: 800; line-height: 1; color: var(--oro); letter-spacing: -.03em; }
.cifra span { display: block; margin-top: 10px; color: var(--claro); font-size: 1.02rem; line-height: 1.4; }
.cifras-sec { position: relative; overflow: hidden; }
.cifras-sec__foto { position: absolute; top: 0; right: 0; bottom: 0; width: 42%; }
.cifras-sec__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.cifras-sec__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--noche) 0%, rgba(21,19,15,.3) 50%, rgba(21,19,15,0) 100%); }
.cifras-sec .contenedor { position: relative; z-index: 1; }
@media (max-width: 900px) { .cifras { grid-template-columns: 1fr 1fr; } .cifras-sec__foto { display: none; } }

/* ============ Película de proyectos ============ */
.pelicula__pista { --inicio: max(var(--gutter), calc((100vw - var(--ancho)) / 2 + var(--gutter))); scroll-padding-left: var(--inicio); list-style: none; margin: 0; padding: 0 var(--gutter) 24px var(--inicio); display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--oro) var(--arena); cursor: grab; }
.pelicula__pista:active { cursor: grabbing; }
.pelicula__pista li { flex: 0 0 min(80vw, 440px); scroll-snap-align: start; }
.pelicula__pista li:nth-child(3n+1) { flex-basis: min(86vw, 620px); }
.pelicula__pista a { display: block; text-decoration: none; }
.pelicula__foto { display: block; height: min(60vh, 520px); border-radius: var(--radio); overflow: hidden; background: var(--arena); }
.pelicula__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--suave); }
.pelicula__pista a:hover img { transform: scale(1.05); }
.pelicula__txt { display: block; padding-top: 16px; font-family: var(--f-titulo); font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gris); }
.pelicula__txt b { display: block; margin-bottom: 4px; font-size: 1.15rem; font-weight: 800; letter-spacing: -.01em; text-transform: none; color: var(--noche); }

/* ============ Método ============ */
.metodo { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px; counter-reset: paso; }
.paso { counter-increment: paso; display: flex; flex-direction: column; gap: 14px; padding: 30px 26px; background: var(--hueso); border-top: 6px solid var(--oro); border-radius: 0 0 var(--radio) var(--radio); transition: transform .35s var(--suave); }
.paso:hover { transform: translateY(-6px); }
.paso__cab { display: flex; justify-content: space-between; align-items: center; }
.paso__cab::before { content: counter(paso, decimal-leading-zero); font-family: var(--f-titulo); font-size: 3.2rem; font-weight: 800; line-height: 1; color: var(--oro); }
.paso h3 { margin: 0; }
.paso p { margin: 0; color: var(--texto); font-size: 1rem; }

/* ============ Frase sobre foto ============ */
.frase { position: relative; overflow: hidden; padding: clamp(120px, 16vw, 200px) 0; color: var(--blanco); background: var(--noche); }
.frase__foto { position: absolute; inset: -10% 0; }
.frase__foto img { width: 100%; height: 100%; object-fit: cover; }
.frase::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,19,15,.92) 0%, rgba(21,19,15,.5) 70%, rgba(21,19,15,.25) 100%); }
.frase .contenedor { position: relative; z-index: 1; }
.frase__texto { margin: 0 0 28px; font-family: var(--f-titulo); font-size: clamp(2.6rem, 1rem + 6.5vw, 7rem); font-weight: 800; line-height: .95; letter-spacing: -.04em; text-transform: uppercase; }
.frase__texto span { color: transparent; -webkit-text-stroke: 2px var(--oro); }
.frase p { max-width: 46em; color: var(--claro); }

/* ============ Dos mitades: para quién ============ */
.dos { display: grid; grid-template-columns: 1fr 1fr; }
.dos__item { position: relative; display: flex; align-items: flex-end; min-height: 72vh; overflow: hidden; color: var(--blanco); text-decoration: none; background: var(--noche); }
.dos__item > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--suave); }
.dos__item::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(21,19,15,.96) 0%, rgba(21,19,15,.35) 60%, rgba(21,19,15,.15) 100%); }
.dos__item:hover > img { transform: scale(1.06); }
.dos__txt { position: relative; z-index: 2; display: grid; gap: 8px; padding: clamp(32px, 5vw, 64px) var(--gutter); }
.dos__txt b { font-family: var(--f-titulo); font-size: clamp(1.7rem, 1.1rem + 2vw, 2.8rem); font-weight: 800; line-height: 1.05; }
.dos__txt .rotulo { margin: 0; }
.dos__mas { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; font-family: var(--f-titulo); font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--oro); }
@media (max-width: 860px) { .dos { grid-template-columns: 1fr; } .dos__item { min-height: 60vh; } }

/* ============ Razones ============ */
.razones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 40px; counter-reset: razon; }
.razon { counter-increment: razon; border-top: 2px solid var(--noche-linea); padding-top: 22px; }
.razon::before { content: counter(razon, decimal-leading-zero); display: block; font-family: var(--f-titulo); font-size: 3rem; font-weight: 800; line-height: 1; color: var(--oro); margin-bottom: 14px; }
.razon h3 { font-size: 1.35rem; color: var(--blanco); }
.razon p { margin: 0; }
@media (max-width: 900px) { .razones { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .razones { grid-template-columns: 1fr; } }

/* ============ Tarjetas ============ */
.rejilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rejilla--2 { grid-template-columns: repeat(2, 1fr); }
.rejilla--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .rejilla, .rejilla--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .rejilla, .rejilla--2, .rejilla--4 { grid-template-columns: 1fr; } }
.tarjeta { display: flex; flex-direction: column; gap: 14px; padding: 30px; background: var(--hueso); border-radius: var(--radio); text-decoration: none; transition: transform .35s var(--suave), background .25s; }
a.tarjeta:hover { transform: translateY(-6px); }
.tarjeta h3, .tarjeta h2 { margin: 0; font-size: 1.22rem; font-weight: 700; }
.tarjeta p { margin: 0; color: var(--texto); font-size: 1rem; }
.tarjeta .enlace-flecha { margin-top: auto; padding-top: 8px; }
.oscuro .tarjeta { background: var(--noche-3); }
.oscuro .tarjeta h3, .oscuro .tarjeta h2 { color: var(--blanco); }
.oscuro .tarjeta p { color: var(--gris-claro); }
.tarjeta--foto { padding: 0; overflow: hidden; }
.tarjeta--foto .tarjeta__img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--arena); }
.tarjeta--foto .tarjeta__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--suave); }
.tarjeta--foto:hover .tarjeta__img img { transform: scale(1.05); }
.tarjeta--foto .tarjeta__cuerpo { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 12px; flex: 1; }

/* ============ Cabecera de páginas internas ============ */
.cabecera { position: relative; overflow: hidden; background: var(--noche); color: var(--blanco); padding: clamp(150px, 16vw, 200px) 0 clamp(56px, 7vw, 96px); }
.cabecera__foto { position: absolute; inset: 0; }
.cabecera__foto img { width: 100%; height: 100%; object-fit: cover; animation: aparecer 1.4s var(--suave) both; }
.cabecera--foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,19,15,.96) 0%, rgba(21,19,15,.82) 45%, rgba(21,19,15,.25) 100%); }
.cabecera .contenedor { position: relative; z-index: 1; }
.cabecera h1 { max-width: 18ch; color: var(--blanco); }
.cabecera .rotulo { color: var(--oro); }
.cabecera__lead { max-width: 44em; font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); color: var(--claro); }
.respuesta { max-width: 46em; font-size: clamp(1.08rem, 1rem + .3vw, 1.28rem); line-height: 1.55; border-left: 3px solid var(--oro); padding: 4px 0 4px 22px; color: var(--claro); }
.migas { font-family: var(--f-titulo); font-size: .76rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gris-claro); margin-bottom: 28px; }
.migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.migas li + li::before { content: "/"; margin-right: 8px; color: var(--oro); }
.migas a { text-decoration: none; }
.migas a:hover { color: var(--oro); }
.cabecera .acciones { margin-top: 30px; }

/* Dos columnas */
.dos-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 88px); align-items: start; }
.dos-col--foto { align-items: stretch; }
@media (max-width: 860px) { .dos-col { grid-template-columns: 1fr; } }
.foto-redonda { border-radius: var(--radio); overflow: hidden; background: var(--arena); }
.foto-redonda img { width: 100%; height: 100%; object-fit: cover; }

/* Galería de proyecto */
.galeria { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 12px; }
.galeria figure { margin: 0; border-radius: 16px; overflow: hidden; background: var(--arena); }
.galeria figure:first-child { grid-row: span 2; }
.galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--suave); }
.galeria figure:hover img { transform: scale(1.05); }
@media (max-width: 760px) { .galeria { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 160px 160px; } .galeria figure:first-child { grid-column: span 2; grid-row: auto; } }
.proyecto { padding: clamp(56px, 7vw, 96px) 0; border-bottom: 1px solid var(--linea); }
.proyecto:last-child { border-bottom: 0; }
.proyecto__meta { font-family: var(--f-titulo); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--oro-osc); margin-bottom: 12px; }
.etiquetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.etiquetas a { display: inline-block; font-family: var(--f-titulo); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border: 1px solid var(--linea); border-radius: 999px; padding: 7px 14px; transition: background .2s, border-color .2s; }
.etiquetas a:hover { background: var(--oro); border-color: var(--oro); }

/* Ficha de datos */
.ficha { background: var(--hueso); border-radius: var(--radio); overflow: hidden; }
.ficha dl { margin: 0; display: grid; grid-template-columns: 190px 1fr; }
.ficha dt, .ficha dd { margin: 0; padding: 15px 22px; border-bottom: 1px solid var(--linea); }
.ficha dt { font-family: var(--f-titulo); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--oro-osc); }
.ficha dl > :nth-last-child(-n+2) { border-bottom: 0; }
.oscuro .ficha { background: var(--noche-3); }
.oscuro .ficha dt { color: var(--oro); }
.oscuro .ficha dt, .oscuro .ficha dd { border-color: var(--noche-linea); }
@media (max-width: 560px) { .ficha dl { grid-template-columns: 1fr; } .ficha dt { border-bottom: 0; padding-bottom: 0; } }

/* Preguntas frecuentes */
.faq { border-top: 1px solid var(--linea); }
.faq details { border-bottom: 1px solid var(--linea); }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; font-family: var(--f-titulo); font-weight: 700; font-size: 1.05rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--oro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315130f' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .3s var(--suave); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 24px; color: var(--texto); max-width: 52em; }
.oscuro .faq, .oscuro .faq details { border-color: var(--noche-linea); }
.oscuro .faq details p { color: var(--claro); }

/* Guías */
.guias-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linea); }
.guias-lista a { display: grid; grid-template-columns: 140px 1fr 28px; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--linea); text-decoration: none; transition: padding .3s var(--suave); }
.guias-lista a:hover { padding-left: 12px; }
.guias-lista__f { font-family: var(--f-titulo); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--oro-osc); }
.guias-lista__t { font-family: var(--f-titulo); font-size: clamp(1.05rem, .9rem + .6vw, 1.45rem); font-weight: 700; }
.guias-lista .icono { color: var(--oro-osc); }
@media (max-width: 640px) { .guias-lista a { grid-template-columns: 1fr 24px; } .guias-lista__f { grid-column: 1 / -1; } }

/* Artículo */
.articulo { max-width: 780px; margin: 0 auto; padding: clamp(48px, 6vw, 80px) var(--gutter); }
.articulo h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-top: 1.8em; }
.articulo h3 { margin-top: 1.5em; }
.articulo ul, .articulo ol { padding-left: 1.2em; }
.articulo li { margin-bottom: .4em; }
.articulo table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 1.5em 0; background: var(--hueso); border-radius: 12px; overflow: hidden; }
.articulo th, .articulo td { border-bottom: 1px solid var(--linea); padding: 12px 14px; text-align: left; vertical-align: top; }
.articulo th { background: var(--noche); color: var(--blanco); font-family: var(--f-titulo); font-weight: 700; font-size: .82rem; }
.articulo blockquote { margin: 1.6em 0; padding: 20px 24px; border-left: 3px solid var(--oro); background: var(--hueso); border-radius: 0 12px 12px 0; }
.articulo blockquote p:last-child { margin: 0; }
.articulo .respuesta { color: var(--texto); }
.tabla-scroll { overflow-x: auto; }

/* Contacto */
.canales { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.canal { display: flex; flex-direction: column; gap: 10px; padding: 32px; background: var(--hueso); border-radius: var(--radio); text-decoration: none; transition: transform .35s var(--suave); }
a.canal:hover { transform: translateY(-6px); }
.canal__dato { font-family: var(--f-titulo); font-weight: 800; font-size: 1.25rem; word-break: break-word; }
@media (max-width: 860px) { .canales { grid-template-columns: 1fr; } }

/* Llamado final */
.cta { position: relative; overflow: hidden; background: var(--noche); color: var(--blanco); padding: clamp(80px, 10vw, 140px) 0; }
.cta__foto { position: absolute; inset: 0; }
.cta__foto img { width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21,19,15,.95) 0%, rgba(21,19,15,.6) 100%); }
.cta .contenedor { position: relative; z-index: 1; }
.cta h2 { max-width: 16ch; color: var(--blanco); }
.cta p { max-width: 40em; color: var(--claro); font-size: 1.1rem; margin-bottom: 30px; }

/* ============ Pie ============ */
.footer { background: var(--noche); color: var(--gris-claro); font-size: .95rem; border-top: 1px solid var(--noche-linea); }
.footer__in { max-width: var(--ancho); margin: 0 auto; padding: 72px var(--gutter) 36px; display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; }
.footer img { width: 170px; margin-bottom: 22px; }
.footer h2 { font-family: var(--f-titulo); font-size: .68rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--oro); margin: 0 0 16px; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li { margin-bottom: 8px; }
.footer a { text-decoration: none; }
.footer a:hover { color: var(--blanco); }
.footer__nap { font-style: normal; line-height: 1.75; }
.footer__base { max-width: var(--ancho); margin: 0 auto; padding: 22px var(--gutter) 34px; border-top: 1px solid var(--noche-linea); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .82rem; color: var(--gris); }
@media (max-width: 960px) { .footer__in { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer__in { grid-template-columns: 1fr; } }

/* WhatsApp flotante */
.wa-flotante { position: fixed; right: 18px; bottom: 18px; z-index: 95; width: 60px; height: 60px; border-radius: 50%; background: #1f8f4e; color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.25); transition: transform .3s var(--suave); }
.wa-flotante:hover { transform: scale(1.08); color: #fff; }
.wa-flotante::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #1f8f4e; animation: pulso 2.4s infinite; }
@keyframes pulso { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }

/* Puntos de navegación (portada, escritorio) */
.puntos { position: fixed; z-index: 80; right: 22px; top: 50%; transform: translateY(-50%); display: none; flex-direction: column; gap: 14px; }
@media (min-width: 1200px) and (hover: hover) { .puntos { display: flex; } }
.puntos a { position: relative; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--gris-claro); background: rgba(21,19,15,.4); transition: background .3s, border-color .3s, transform .3s; }
.puntos a span { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); white-space: nowrap; font-family: var(--f-titulo); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--blanco); background: var(--noche); padding: 5px 10px; border-radius: 999px; opacity: 0; pointer-events: none; transition: opacity .25s; }
.puntos a:hover span { opacity: 1; }
.puntos a.activo { background: var(--oro); border-color: var(--oro); transform: scale(1.3); }

/* Aparición al hacer scroll (solo con JavaScript activo) */
.js .revela { opacity: 0; transform: translateY(28px); transition: opacity .9s var(--suave), transform .9s var(--suave); transition-delay: var(--d, 0s); }
.js .revela.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .cine__foto { opacity: 0; } .cine__foto:first-child { opacity: 1; }
  .js .revela { opacity: 1; transform: none; }
}
.menu-movil__icono span { position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: var(--oro); }

/* ============ Qué hacemos: mosaico de fotos por familia ============ */
.mosaico__tabs { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin-bottom: 28px; border-radius: 999px; background: var(--noche-3); }
.mosaico__tab { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--claro); font-family: var(--f-titulo); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s; }
.mosaico__tab span { display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 999px; background: var(--noche-linea); color: var(--blanco); font-size: .72rem; }
.mosaico__tab:hover { color: var(--blanco); }
.mosaico__tab[aria-selected="true"] { background: var(--oro); color: var(--noche); }
.mosaico__tab[aria-selected="true"] span { background: var(--noche); color: var(--oro); }
.mosaico__panel[hidden] { display: none; }
.mosaico:not(.selector--activo) .mosaico__panel + .mosaico__panel { margin-top: 12px; }
.mosaico__rejilla { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 230px; grid-auto-flow: dense; gap: 12px; }
.mosaico__item--grande { grid-column: span 2; grid-row: span 2; }
.mosaico__item--ancho { grid-column: span 2; }
.mosaico__item a { position: relative; display: block; height: 100%; overflow: hidden; border-radius: var(--radio); background: var(--noche-3); color: var(--blanco); text-decoration: none; isolation: isolate; }
.mosaico__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--suave), filter .6s; filter: saturate(.85) brightness(.9); }
.mosaico__item a::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(21,19,15,.92) 0%, rgba(21,19,15,.35) 45%, rgba(21,19,15,0) 75%); transition: background .5s; }
.mosaico__item a:hover img { transform: scale(1.07); filter: none; }
.mosaico__item a:hover::after { background: linear-gradient(0deg, rgba(21,19,15,.95) 0%, rgba(21,19,15,.6) 60%, rgba(21,19,15,.15) 100%); }
.mosaico__txt { position: absolute; z-index: 2; left: 22px; right: 70px; bottom: 20px; display: flex; flex-direction: column; gap: 4px; }
.mosaico__num { font-family: var(--f-titulo); font-size: .7rem; font-weight: 700; letter-spacing: .14em; color: var(--oro); }
.mosaico__txt b { font-family: var(--f-titulo); font-size: 1.15rem; font-weight: 800; line-height: 1.12; letter-spacing: -.01em; }
.mosaico__item--grande .mosaico__txt b { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.3rem); }
.mosaico__d { max-height: 0; overflow: hidden; opacity: 0; font-size: .95rem; line-height: 1.4; color: var(--claro); transition: max-height .5s var(--suave), opacity .4s, margin .4s; }
.mosaico__item a:hover .mosaico__d, .mosaico__item a:focus-visible .mosaico__d, .mosaico__item--grande .mosaico__d { max-height: 4.5em; opacity: 1; margin-top: 4px; }
.mosaico__flecha { position: absolute; z-index: 2; right: 18px; bottom: 18px; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--oro); color: var(--noche); transform: scale(.6) rotate(-45deg); opacity: 0; transition: transform .4s var(--suave), opacity .3s; }
.mosaico__item a:hover .mosaico__flecha, .mosaico__item a:focus-visible .mosaico__flecha { transform: none; opacity: 1; }
.mosaico__flecha .icono { width: 20px; height: 20px; }
.mosaico.visible .mosaico__panel:not([hidden]) .mosaico__item { animation: ficha .7s var(--suave) both; animation-delay: calc(var(--n) * 55ms); }
@keyframes ficha { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 1000px) { .mosaico__rejilla { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; } }
@media (max-width: 600px) {
  .mosaico__tabs { display: flex; border-radius: 18px; }
  .mosaico__tab { flex: 1; justify-content: center; padding: 12px 10px; font-size: .7rem; }
  .mosaico__rejilla { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; gap: 8px; }
  .mosaico__item--grande { grid-column: span 2; grid-row: span 1; }
  .mosaico__item--grande .mosaico__d { display: none; }
  .mosaico__txt { left: 14px; right: 14px; bottom: 14px; }
  .mosaico__txt b { font-size: .98rem; }
  .mosaico__flecha { display: none; }
}
.cifra b { white-space: nowrap; font-size: clamp(2.4rem, 1.4rem + 3vw, 4.6rem); }
.persona { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 26px 32px; background: var(--noche); color: var(--blanco); border-left: 6px solid var(--oro); border-radius: 0 var(--radio) var(--radio) 0; }
.persona b { display: block; font-family: var(--f-titulo); font-size: 1.35rem; font-weight: 800; }
.persona span { color: var(--gris-claro); }
.cta .cta__persona { font-size: 1rem; color: var(--gris-claro); margin-bottom: 26px; }
.cta__persona b { color: var(--blanco); }

/* ============ Nosotros: qué, cómo y por qué ============ */
.frase__texto--largo { font-size: clamp(2.2rem, 1rem + 4.6vw, 5.4rem); max-width: 14ch; line-height: 1; }
.qcp { background: var(--noche); color: var(--blanco); }
.qcp__fila { display: grid; grid-template-columns: 1fr 1fr; min-height: 78vh; }
.qcp__fila--inversa .qcp__foto { order: 2; }
.qcp__foto { position: relative; overflow: hidden; background: var(--noche-3); }
.qcp__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--suave); }
.qcp__fila:hover .qcp__foto img { transform: scale(1.04); }
.qcp__txt { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 7vw, 110px) clamp(24px, 6vw, 96px); }
.qcp__num { font-family: var(--f-titulo); font-size: clamp(4rem, 2rem + 6vw, 8rem); font-weight: 800; line-height: .9; color: transparent; -webkit-text-stroke: 2px var(--oro); margin-bottom: 18px; }
.qcp__txt h2 { color: var(--blanco); font-size: clamp(2rem, 1.2rem + 2.6vw, 3.6rem); margin-bottom: .45em; }
.qcp__txt p { max-width: 34em; color: var(--claro); font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); line-height: 1.6; margin: 0; }
.qcp__fila + .qcp__fila { border-top: 1px solid var(--noche-linea); }
@media (max-width: 860px) { .qcp__fila { grid-template-columns: 1fr; min-height: 0; } .qcp__foto { min-height: 300px; order: -1 !important; } }
.manifiesto { background: var(--oro); color: var(--noche); padding: clamp(80px, 11vw, 150px) 0; }
.manifiesto .rotulo { color: var(--noche); }
.manifiesto blockquote { margin: 0 0 32px; }
.manifiesto blockquote p { font-family: var(--f-titulo); font-size: clamp(2rem, 1rem + 4vw, 4.6rem); font-weight: 800; line-height: 1.04; letter-spacing: -.03em; max-width: 18ch; margin: 0; }
.manifiesto__texto { max-width: 46em; font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); line-height: 1.6; margin: 0; }

/* Rótulos sobre foto: etiqueta con fondo para que se lean siempre */
.dos__txt .rotulo { justify-self: start; padding: 8px 14px; border-radius: 999px; background: var(--oro); color: var(--noche); letter-spacing: .2em; }
.dos__item::before { background: linear-gradient(0deg, rgba(21,19,15,.97) 0%, rgba(21,19,15,.7) 45%, rgba(21,19,15,.2) 100%); }
.dos__mas { color: var(--blanco); }
.dos__mas .icono { color: var(--oro); }
/* Seis razones sobre fondo claro (alterna con las secciones oscuras) */
.razones-sec .razon { border-top-color: var(--linea); }
.razones-sec .razon::before { color: var(--oro-osc); }
.razones-sec .razon h3 { color: var(--noche); }
.razones-sec .razon p { color: var(--texto); }

/* Portada en celular: el texto arranca debajo del logo y la palabra que rota no mueve nada */
@media (max-width: 700px) {
  .cine__txt { justify-content: flex-start; padding-top: 128px; padding-bottom: 96px; }
  .cine h1 { font-size: clamp(2rem, 1.2rem + 4vw, 2.6rem); }
  .cine__sub { font-size: 1.02rem; }
  .cine__txt .rotulo { font-size: .68rem; letter-spacing: .2em; }
}
/* Frase de "Somos": parte destacada en oro sólido (se lee mejor que el calado) */
.frase__texto span { color: var(--oro); -webkit-text-stroke: 0; }
/* Portada en pantallas bajas (portátiles): el título se ajusta al alto para que se vean los botones */
@media (min-width: 701px) { .cine h1 { font-size: min(clamp(2.5rem, 1.2rem + 5vw, 5.6rem), 9.5vh); } .cine__sub { margin-bottom: 26px; } }
