/* ---------- Hero ---------- */
.hero { background: var(--abyss); }
.hero__slide {
    height: clamp(320px, 52vw, 520px);
    background-size: cover; background-position: center; background-color: var(--abyss-2);
}
.hero__slide--loading { background: linear-gradient(120deg, var(--abyss) 0, var(--abyss-2) 100%); }
.hero__caption {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 4rem 0 3rem;
    background: linear-gradient(0deg, rgba(8, 22, 28, .9) 0, rgba(8, 22, 28, 0) 100%);
    color: #fff;
}
.hero__eyebrow { color: var(--glow); font-weight: 600; margin-bottom: .25rem; }
.hero__title { font-size: clamp(2rem, 5vw, 3.6rem); max-width: 18ch; margin-bottom: 1rem; }
.hero .carousel-indicators { margin-bottom: 1rem; }
.hero .carousel-control-prev, .hero .carousel-control-next { width: 8%; }

/* ---------- Categorías ---------- */
.categories { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.category {
    display: flex; flex-direction: column; align-items: center; gap: .6rem;
    text-decoration: none; color: var(--ink); font-weight: 600;
}
.category img {
    width: min(160px, 100%); aspect-ratio: 1; object-fit: cover; border-radius: 50%;
    border: 4px solid #fff; box-shadow: 0 0 0 2px var(--line);
    transition: box-shadow .2s;
}
.category:hover { color: var(--atomic-dark); }
.category:hover img { box-shadow: 0 0 0 3px var(--atomic), 0 0 22px rgba(95, 211, 255, .5); }

/* ---------- Testimonios ---------- */
.testimonials { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.testimonials blockquote {
    margin: 0; padding: 1.25rem 1.25rem 1rem; background: #fff; border-radius: var(--r-md);
    border-top: 3px solid var(--atomic);
}
.testimonials p { font-size: 1.05rem; margin-bottom: .5rem; }
.testimonials cite { color: var(--muted); font-style: normal; font-weight: 600; }

/* ---------- Archivo de titanes ---------- */
.kaiju { margin-top: 1rem; background: var(--abyss); }
.kaiju .carousel-item { height: clamp(300px, 45vw, 480px); }
.kaiju img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.kaiju__caption {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 3rem 0 2rem; color: #fff;
    background: linear-gradient(0deg, rgba(8, 22, 28, .92) 0, rgba(8, 22, 28, 0) 100%);
}
.kaiju__caption h3 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .25rem; }
.kaiju__caption p { max-width: 55ch; margin: 0; color: #d5e6ec; }

/* ---------- Franja de confianza ---------- */
.trust { background: var(--abyss-2); color: #d5e6ec; border-bottom: 1px solid rgba(95, 211, 255, .15); }
.trust__list { list-style: none; margin: 0; padding-top: .8rem; padding-bottom: .8rem;
               display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem 1.25rem; }
.trust__list li { display: flex; align-items: center; gap: .55rem; font-size: .92rem; font-weight: 500; }
.trust__list i { color: var(--glow); font-size: 1.15rem; flex-shrink: 0; }
@media (max-width: 991.98px) { .trust__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .trust__list li { font-size: .82rem; } }

/* ---------- Encabezado de sección ---------- */
.section__head { justify-content: flex-start; align-items: center; gap: .75rem; }
.section__head h2 { margin-right: auto; }

/* ---------- Archivo de titanes: botón a la wiki ---------- */
/* El botón queda al centro y por encima de las flechas del carrusel (que ocupan los costados) */
.kaiju__caption { z-index: 2; pointer-events: none; }
.kaiju__wiki { display: block; width: fit-content; margin: .9rem auto 0; border-radius: 2rem; pointer-events: auto; position: relative; z-index: 3; }
