/* Mónica Escobar | Speaker. Capa de efectos v4: escena masiva, glow animado, transiciones por sección. */

@property --a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes spinA { to { --a: 360deg; } }
html.js { scroll-behavior: auto; }

/* ===== Hero: auditorio lleno y luces de escenario ===== */
.hero__bg {
  inset: -3%;
  background: url("../assets/img/hero-sala.webp") 8% 34% / auto 116% no-repeat;
  opacity: 0; filter: contrast(1.05) brightness(0.62) saturate(0.9);
  translate: var(--bx, 0px) var(--by, 0px);
  transform: scale(1.22); animation: none;
  transition: opacity 2.6s 0.9s ease, transform 6.5s 0.9s var(--ease);
}
.is-ready .hero__bg { opacity: 0.72; transform: scale(1.04); animation: breathe 32s ease-in-out 7.5s infinite alternate; }
@keyframes breathe { from { transform: scale(1.04); } to { transform: scale(1.12) translate(-1.2%, 0.8%); } }
.hero__shade {
  background:
    linear-gradient(90deg, rgba(9, 9, 10, 0.95) 0%, rgba(9, 9, 10, 0.78) 34%, rgba(9, 9, 10, 0.5) 66%, rgba(9, 9, 10, 0.6) 100%),
    linear-gradient(180deg, rgba(9, 9, 10, 0.78), transparent 26%),
    linear-gradient(0deg, var(--ink) 0, rgba(9, 9, 10, 0.5) 12%, transparent 34%);
}
.hero__beam--3 { background: conic-gradient(from 168deg at 24% -4%, transparent 0deg, rgba(255, 236, 190, 0.07) 10deg, transparent 22deg, transparent 40deg, rgba(214, 184, 120, 0.05) 50deg, transparent 64deg); mix-blend-mode: screen; transform-origin: 24% 0; animation: sweep 14s ease-in-out -4s infinite alternate-reverse; }
.hero__spot { position: absolute; z-index: 1; pointer-events: none; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 2.4s 2s;
  background: radial-gradient(34vw 24vw at 48% 55%, rgba(255, 236, 190, 0.07), transparent 70%); mix-blend-mode: screen; animation: flicker 6s ease-in-out infinite; }
.is-ready .hero__spot { opacity: 1; }
@keyframes flicker { 0%, 100% { filter: brightness(1); } 45% { filter: brightness(1.35); } 55% { filter: brightness(0.85); } }
.hero__word { left: 66%; top: 50%; font-size: clamp(9rem, 25vw, 25rem); -webkit-text-stroke: 1.5px rgba(214, 184, 120, 0.5); animation: strokeGlow 6s ease-in-out infinite alternate; }
@keyframes strokeGlow { from { -webkit-text-stroke-color: rgba(214, 184, 120, 0.34); } to { -webkit-text-stroke-color: rgba(240, 214, 150, 0.62); } }

.kicker { gap: 12px; }
.eq { display: inline-flex; align-items: flex-end; gap: 3px; height: 16px; }
.eq i { display: block; width: 3px; height: 100%; background: var(--bronze-hi); box-shadow: 0 0 4px rgba(214, 184, 120, 0.4); transform-origin: bottom; animation: eq 1.15s ease-in-out infinite; }
.eq i:nth-child(2) { animation-delay: -0.3s; } .eq i:nth-child(3) { animation-delay: -0.6s; } .eq i:nth-child(4) { animation-delay: -0.15s; } .eq i:nth-child(5) { animation-delay: -0.8s; }
@keyframes eq { 0%, 100% { transform: scaleY(0.22); } 50% { transform: scaleY(1); } }
.kicker::before { display: none; }

.cue { position: absolute; z-index: 5; left: 50%; bottom: 112px; width: 26px; height: 42px; margin-left: -13px; border: 1px solid rgba(233, 230, 223, 0.5); border-radius: 14px; opacity: 0; transition: opacity 1s 3.4s; }
.is-ready .cue { opacity: 0.9; }
.cue span { position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 2px; background: var(--bronze-hi); box-shadow: 0 0 4px rgba(214, 184, 120, 0.5); animation: cue 1.8s ease-in-out infinite; }
@keyframes cue { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(16px); opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 860px), (max-height: 760px) { .cue { display: none; } }

/* ===== Texto con glow animado ===== */
.glow-t, .hero h1 em, .h2 em .w > span, .close h2 em .w > span, .cp__line, .fstep .n {
  background: linear-gradient(100deg, var(--bronze) 0%, #fff3cf 36%, var(--bronze-hi) 50%, var(--bronze) 100%) 0 0 / 260% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  animation: shim 7s linear infinite;
}
.sec--bone .h2 em .w > span { background-image: linear-gradient(100deg, var(--bronze-lo) 0%, #c9a55c 40%, var(--bronze) 52%, var(--bronze-lo) 100%); }
@keyframes shim { to { background-position: -260% 0; } }
.h2 em, .hero h1 em, .close h2 em { filter: drop-shadow(0 0 5px rgba(214, 184, 120, 0.2)); animation: halo 3.6s ease-in-out infinite alternate; }
.sec--bone .h2 em { filter: drop-shadow(0 0 4px rgba(184, 151, 90, 0.18)); animation: none; }
@keyframes halo { to { filter: drop-shadow(0 0 11px rgba(255, 226, 160, 0.34)); } }
.fstep .n { -webkit-text-stroke: 0; }

/* Titulares: cada palabra sube desde una máscara */
.split .w { display: inline-block; overflow: hidden; vertical-align: top; padding: 0.04em 0 0.16em; margin-bottom: -0.16em; }
.split .w > span { display: inline-block; transform: translateY(118%) rotate(5deg); transform-origin: 0 100%; transition: transform 1.05s var(--ease); transition-delay: calc(var(--wi, 0) * 70ms + 80ms); }
.is-in .split .w > span, .split.is-in .w > span { transform: none; }

/* ===== Íconos con glow y anillo de luz ===== */
.icon-box, .cp__tab .ico-wrap { position: relative; background: radial-gradient(circle at 50% 130%, rgba(214, 184, 120, 0.12), rgba(9, 9, 10, 0.4) 70%); animation: iconPulse 3.6s ease-in-out infinite; animation-delay: calc(var(--i, 0) * 0.45s); }
.icon-box::before, .cp__tab .ico-wrap::before {
  content: ""; position: absolute; inset: -1px; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--a), transparent 0 70%, #fff0c4 88%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: spinA 3.8s linear infinite;
}
@keyframes iconPulse { 50% { box-shadow: 0 0 14px 0 rgba(214, 184, 120, 0.13), inset 0 0 14px rgba(214, 184, 120, 0.06); } }
svg.ico { filter: drop-shadow(0 0 2px rgba(214, 184, 120, 0.28)); animation: icoGlow 3.2s ease-in-out infinite alternate; }
@keyframes icoGlow { to { filter: drop-shadow(0 0 5px rgba(255, 228, 165, 0.45)); } }
.sec--bone svg.ico { filter: drop-shadow(0 0 3px rgba(184, 151, 90, 0.5)); animation: none; }

/* ===== Botones: brillo, pulso y destello ===== */
.btn--solid { animation: ctaGlow 3.4s ease-in-out infinite; }
@keyframes ctaGlow { 0%, 100% { box-shadow: 0 0 0 rgba(214, 184, 120, 0); } 50% { box-shadow: 0 0 16px rgba(214, 184, 120, 0.2); } }
.btn--solid::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, 0.3) 50%, transparent 62%); transform: translateX(-130%); animation: shine 7s ease-in-out infinite; }
@keyframes shine { 0%, 62% { transform: translateX(-130%); } 100% { transform: translateX(130%); } }
.btn--line { backdrop-filter: blur(6px); }
.wa-float::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #25d366; animation: ripple 2.4s infinite; }
.burst { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 300; pointer-events: none; }

/* ===== Costuras de luz entre secciones ===== */
.seam { position: relative; z-index: 6; height: 1px; background: linear-gradient(90deg, transparent, rgba(214, 184, 120, 0.35), transparent); overflow: visible; }
.seam::before { content: ""; position: absolute; left: 50%; top: -1px; width: 0; height: 3px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, #fff3cf, transparent); box-shadow: 0 0 9px 1px rgba(214, 184, 120, 0.38); transition: width 1.6s var(--ease); }
.seam.is-in::before { width: min(70vw, 900px); }
.seam::after { content: ""; position: absolute; left: 50%; top: 0; width: 60vw; height: 120px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(214, 184, 120, 0.06), transparent); opacity: 0; transition: opacity 1.6s; pointer-events: none; }
.seam.is-in::after { opacity: 1; }

/* Secciones que se abren como cortina al entrar */
.wipe { clip-path: inset(calc((1 - var(--rv, 1)) * 14vh) calc((1 - var(--rv, 1)) * 6vw) 0 round calc((1 - var(--rv, 1)) * 44px) calc((1 - var(--rv, 1)) * 44px) 0 0); }

/* Franja con texto en contorno */
.marquee--out { background: var(--ink); border-block: 0; }
.marquee--out .marquee__set span { font-size: clamp(2.6rem, 6.5vw, 5.6rem); font-weight: 600; letter-spacing: 0.06em; color: transparent; -webkit-text-stroke: 1px rgba(214, 184, 120, 0.55); padding: 14px 34px; transition: color 0.4s, -webkit-text-stroke-color 0.4s; }
.marquee--out .marquee__set span:hover { color: rgba(214, 184, 120, 0.18); -webkit-text-stroke-color: #fff3cf; }
.marquee--out .marquee__set span::after { width: 9px; height: 9px; box-shadow: 0 0 6px rgba(214, 184, 120, 0.5); }
.marquee__track--rev { animation-direction: reverse; animation-duration: 70s; }

/* ===== Valor: borde de luz giratorio ===== */
.vc::after { content: ""; position: absolute; inset: 0; padding: 1px; pointer-events: none; opacity: 0; transition: opacity 0.5s;
  background: conic-gradient(from var(--a), transparent 0 62%, rgba(255, 232, 170, 0.95) 82%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: spinA 3.4s linear infinite; }
.vc:hover::after { opacity: 1; }
.vc h3, .vc p, .vc .icon-box { position: relative; z-index: 1; }
.vc:hover .icon-box { transform: translateY(-4px); }
.icon-box { transition: transform 0.5s var(--ease); }

/* ===== Formato: línea que se enciende con el scroll ===== */
.fsteps { position: relative; }
.fline { position: absolute; left: -30px; top: 0; bottom: 0; width: 2px; background: var(--line); }
.fline i { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(var(--bronze-hi), var(--bronze)); transform-origin: top; transform: scaleY(var(--p, 0)); box-shadow: 0 0 7px rgba(214, 184, 120, 0.45); }
.fline b { position: absolute; left: -5px; top: calc(var(--p, 0) * 100%); width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; background: #fff3cf; box-shadow: 0 0 9px 2px rgba(214, 184, 120, 0.45); }
@media (max-width: 1100px) { .fline { display: none; } }
.fstep .n { text-shadow: none; filter: drop-shadow(0 0 0 transparent); transition: filter 1s 0.3s; }
.fstep.is-in .n { filter: drop-shadow(0 0 7px rgba(214, 184, 120, 0.32)); }

/* ===== En escena: videos que se abren como pantalla ===== */
.cine { clip-path: inset(14% 10% 14% 10%); opacity: 0; transform: scale(0.94); transition: clip-path 1.5s var(--ease), opacity 1s, transform 1.5s var(--ease), box-shadow 0.5s; }
.cine.is-in { clip-path: inset(0); opacity: 1; transform: none; }
.player:hover { box-shadow: 0 0 0 1px rgba(214, 184, 120, 0.55), 0 30px 70px -26px rgba(214, 184, 120, 0.2); }
.player__play { box-shadow: 0 0 14px rgba(214, 184, 120, 0.15); }
.reel { cursor: grab; scroll-snap-type: none; }
.reel.is-drag { cursor: grabbing; }
.reel.is-drag .player { pointer-events: none; }

/* ===== Conferencias ===== */
.cp.is-open { box-shadow: inset 0 0 0 1px rgba(214, 184, 120, 0.3), 0 0 40px -14px rgba(214, 184, 120, 0.16); }
.cp.is-open .cp__img img { animation: kb 20s ease-in-out infinite alternate; }
@keyframes kb { from { transform: scale(1.05); } to { transform: scale(1.16) translate(-2%, -1%); } }
.cp__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 236, 190, 0.14) 50%, transparent 60%); transform: translateX(-120%); }
.cp.is-open .cp__img::after { animation: sheen 1.6s 0.15s var(--ease) both; }
@keyframes sheen { to { transform: translateX(120%); } }
.cp.is-open .cp__body > * { animation: rise 0.9s var(--ease) both; }
.cp.is-open .cp__body > :nth-child(1) { animation-delay: 0.5s; } .cp.is-open .cp__body > :nth-child(2) { animation-delay: 0.6s; } .cp.is-open .cp__body > :nth-child(3) { animation-delay: 0.7s; }
.cp.is-open .cp__body > :nth-child(4) { animation-delay: 0.8s; } .cp.is-open .cp__body > :nth-child(5) { animation-delay: 0.9s; } .cp.is-open .cp__body > :nth-child(6) { animation-delay: 1s; }
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.cp__line { -webkit-background-clip: text; }
.topics li { transition: border-color 0.3s, background 0.3s, transform 0.4s var(--ease); }
.topics li:hover { border-color: var(--bronze-hi); background: rgba(184, 151, 90, 0.18); transform: translateY(-3px); }

/* ===== Instituciones: el mosaico se llena de luz al pasar ===== */
.tile { isolation: isolate; }
.tile > * { position: relative; z-index: 2; }
.tile::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(135deg, #e3c887, var(--bronze) 60%, #8f7140); clip-path: circle(0 at var(--cx) var(--cy)); transition: clip-path 0.75s var(--ease); }
.tile:hover::after { clip-path: circle(160% at var(--cx) var(--cy)); }
.tile:hover h3 { color: var(--ink); }
.tile:hover .sub { color: rgba(9, 9, 10, 0.78); }
.tile:hover .ico path, .tile:hover .ico circle, .tile:hover .ico rect, .tile:hover .ico line, .tile:hover .ico polyline { stroke: var(--ink); }
.tile:hover .icon-box { border-color: var(--ink); animation: none; box-shadow: none; }
.tile h3, .tile .sub, .tile .ico path, .tile .ico circle, .tile .ico rect, .tile .ico line, .tile .ico polyline { transition: color 0.4s 0.1s, stroke 0.4s 0.1s; }
.aud__bg { transform: scale(1.08); translate: 0 calc((var(--p, 0.5) - 0.5) * -60px); }
.aud::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: conic-gradient(from 190deg at 20% -10%, transparent 0, rgba(255, 236, 190, 0.1) 8deg, transparent 18deg, transparent 40deg, rgba(214, 184, 120, 0.08) 48deg, transparent 60deg); transform-origin: 20% 0; animation: sweep 13s ease-in-out infinite alternate; mix-blend-mode: screen; }
.logos li { transition: transform 0.4s var(--ease), box-shadow 0.4s; }
.logos li:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -16px rgba(214, 184, 120, 0.22); }

/* ===== Testimonios ===== */
.quote::before { text-shadow: 0 0 24px rgba(214, 184, 120, 0.25); animation: halo2 4s ease-in-out infinite alternate; }
@keyframes halo2 { from { color: rgba(184, 151, 90, 0.12); } to { color: rgba(214, 184, 120, 0.22); } }
.quote p .wd { opacity: 0.16; transition: opacity 0.5s, text-shadow 0.5s; }
.quote p .wd.on { opacity: 1; text-shadow: 0 0 12px rgba(214, 184, 120, 0.16); }
.quote { box-shadow: inset 0 0 0 1px rgba(214, 184, 120, 0.12); }

/* ===== Trayectoria ===== */
.sec--bone::before { content: ""; position: absolute; z-index: 0; width: 70vw; max-width: 1000px; aspect-ratio: 1; top: -20%; left: -15%; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(184, 151, 90, 0.2), transparent 66%); animation: drift 18s ease-in-out infinite alternate; }
.auth__img .frame::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(115deg, transparent 38%, rgba(255, 240, 200, 0.45) 50%, transparent 62%); transform: translateX(-130%); animation: shine 6s 1s ease-in-out infinite; }
.auth__img .frame img { transform: scale(1.1) translateY(calc((var(--p, 0.5) - 0.5) * -34px)); }
.seal { animation: sealGlow 3.6s ease-in-out infinite alternate; }
@keyframes sealGlow { to { box-shadow: 0 0 0 4px rgba(184, 151, 90, 0.14), 0 0 22px rgba(214, 184, 120, 0.28); } }
.creds li { transition: transform 0.4s var(--ease), box-shadow 0.4s, border-color 0.4s; }
.creds li:hover { transform: translateY(-4px); border-color: var(--bronze); box-shadow: 0 18px 34px -16px rgba(125, 101, 53, 0.5); }
.book { animation: floatT 6.5s ease-in-out infinite; animation-delay: calc(var(--k, 0) * -1.6s); }
@keyframes floatT { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
.tl { transition: padding-left 0.5s var(--ease); }
.tl:hover { padding-left: 14px; }
.tl:hover .tl__y { color: var(--bronze); text-shadow: 0 0 9px rgba(184, 151, 90, 0.22); }
.tl::after { content: ""; position: absolute; right: 0; top: -3px; width: 5px; height: 5px; background: var(--bronze-lo); transform: rotate(45deg) scale(0); transition: transform 0.8s 0.4s var(--ease); }
.tl.is-in::after { transform: rotate(45deg) scale(1); }

/* ===== Cómo contratar: línea con luz viajera ===== */
.steps { position: relative; }
.steps::before { content: ""; position: absolute; left: 31px; top: 40px; bottom: 40px; width: 2px; background: linear-gradient(180deg, transparent, var(--bronze) 12%, var(--bronze) 88%, transparent); opacity: 0.35; }
.steps::after { content: ""; position: absolute; left: 28px; top: 40px; width: 8px; height: 8px; border-radius: 50%; background: #fff3cf; box-shadow: 0 0 8px 2px rgba(214, 184, 120, 0.5); animation: travel 4.2s ease-in-out infinite; }
@keyframes travel { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateY(calc(100% * 0 + 270px)); opacity: 0; } }
.step .icon-box { position: relative; z-index: 2; background-color: var(--graphite); }
.step:hover b { color: var(--bronze-hi); text-shadow: 0 0 10px rgba(214, 184, 120, 0.22); }
.step b { transition: color 0.3s, text-shadow 0.3s; }
@media (max-width: 900px) { .steps::before, .steps::after { display: none; } }

/* ===== FAQ ===== */
.faq details { transition: background 0.4s; }
.faq details[open] { background: linear-gradient(90deg, rgba(184, 151, 90, 0.08), transparent); }
.faq details[open] summary { color: var(--bronze-hi); text-shadow: 0 0 10px rgba(214, 184, 120, 0.18); }
.faq details[open] p { animation: rise 0.6s var(--ease) both; }
.faq summary { transition: color 0.3s, padding-left 0.4s var(--ease); }
.faq summary:hover { padding-left: 12px; }

/* ===== Cierre: luces y retrato que sube ===== */
.close__beam { position: absolute; inset: 0; z-index: 0; pointer-events: none; mix-blend-mode: screen; }
.close__beam--a { background: conic-gradient(from 195deg at 15% -6%, transparent 0, rgba(255, 236, 190, 0.13) 9deg, transparent 20deg); transform-origin: 15% 0; animation: sweep 12s ease-in-out infinite alternate; }
.close__beam--b { background: conic-gradient(from 165deg at 85% -6%, transparent 0, rgba(214, 184, 120, 0.12) 9deg, transparent 20deg); transform-origin: 85% 0; animation: sweep 15s -5s ease-in-out infinite alternate-reverse; }
.close__word { translate: 0 calc((var(--p, 0.5) - 0.5) * 120px); animation: strokeGlow 6s ease-in-out infinite alternate; }
.close__img { position: relative; }
.close__img::before { content: ""; position: absolute; inset: -18% -30% 0; z-index: -1; background: radial-gradient(closest-side, rgba(214, 184, 120, 0.13), transparent); animation: flicker 7s ease-in-out infinite; }
.close__img img { clip-path: inset(100% 0 0 0); transition: clip-path 1.8s 0.3s var(--ease); }
.close__img.is-in img { clip-path: inset(0); }
.close .btn { animation-duration: 2.4s; }

/* ===== Nav activa ===== */
.nav a.is-cur { color: #fff; }
.nav a.is-cur::after { transform: scaleX(1); box-shadow: 0 0 5px rgba(214, 184, 120, 0.5); }

/* ===== Cursor con estela ===== */
.cursor { box-shadow: 0 0 18px rgba(214, 184, 120, 0.35), inset 0 0 12px rgba(214, 184, 120, 0.15); mix-blend-mode: normal; }

/* ===== Movimiento reducido ===== */
@media (prefers-reduced-motion: reduce) {
  .split .w > span, .cine, .close__img img { transform: none; clip-path: none; opacity: 1; transition: none; }
  .hero__bg { opacity: 0.78; transform: none; }
  .hero__spot, .hero__beam--3, .eq i, .icon-box, .icon-box::before, .cp__tab .ico-wrap::before, svg.ico, .btn--solid, .btn--solid::after, .vc::after, .book, .seal, .steps::after, .quote::before,
  .h2 em, .hero h1 em, .close h2 em, .glow-t, .h2 em .w > span, .cp__line, .fstep .n, .close__beam, .aud::before, .sec--bone::before, .wa-float::before, .hero__word, .close__word { animation: none; }
  .wipe { clip-path: none; }
  .seam::before { width: min(70vw, 900px); transition: none; }
}
@media (max-width: 860px) {
  .hero__bg { background-size: cover; background-position: 52% 30%; }
  .hero__spot { display: none; }
  .wipe { clip-path: inset(calc((1 - var(--rv, 1)) * 8vh) calc((1 - var(--rv, 1)) * 4vw) 0 round calc((1 - var(--rv, 1)) * 28px) calc((1 - var(--rv, 1)) * 28px) 0 0); }
}

.hero h1 em { font-size: 1.04em; }
@media (max-width: 860px) {
  .hero__shade { background: linear-gradient(180deg, rgba(9, 9, 10, 0.9), rgba(9, 9, 10, 0.74) 55%, rgba(9, 9, 10, 0.6)), linear-gradient(0deg, var(--ink) 0, transparent 30%); }
}
.logos { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.logos img { max-width: 100%; height: auto; max-height: 100%; }
@media (max-width: 960px) { .logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 460px) { .logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Brillos de fondo mas tenues */
.sec--graphite::before, .escena::before, .close::before { background: radial-gradient(circle, rgba(184, 151, 90, 0.08), transparent 66%); }
.sec--bone::before { background: radial-gradient(circle, rgba(184, 151, 90, 0.1), transparent 66%); }
.hero__beam--2, .hero__beam--3 { opacity: 0.7; }
.cursor { box-shadow: 0 0 8px rgba(214, 184, 120, 0.15); }
