HEX
Server: nginx/1.18.0
System: Linux vcwordpress 5.15.0-174-generic #184-Ubuntu SMP Fri Mar 13 18:41:50 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/viitorx.stgviitor.com/wp-content/themes/viitorx/css/archive-case-study.css
/* ═══════════════════════════════════════════
   CASE STUDY ARCHIVE — archive-case-study.css
   Fonts: Archivo (WOFF2) served via css/fonts.css; Lenia Sans via fonts/lenia-sans/
   ═══════════════════════════════════════════ */

/* ─── LAYOUT ────────────────────────────────────────────────── */

.archive-case-study {
    background: #131313;
    color: #F0F0E5;
    font-family: 'Lenia Sans', sans-serif;
    position: relative;
    overflow-x: hidden;
}

/* Hero Section */
.hero-cs {
    position: relative;
    min-height: 100vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: calc(80px + 20px + var(--hero-top-bar-total, 0px)) 0 80px;
    text-align: center;
}

/* ─── WORLDS SECTION ─────────────────────────────────────────── */

.worlds {
    padding: 0 0 clamp(48px, 12vw, 100px);
}

.worlds__title {
    font-size: clamp(22px, 5vw, 52px);
    font-weight: 700;
    letter-spacing: -0.005em;
    margin-top: 0;
    padding-top: 0;
    margin-bottom: clamp(20px, 5vw, 48px);
    padding-left: clamp(16px, 5vw, 300px);
    padding-right: clamp(16px, 5vw, 300px);
    /* entrance animation */
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.72s cubic-bezier(.22,1,.36,1), transform 0.72s cubic-bezier(.22,1,.36,1);
}

.worlds.section-reveal--visible .worlds__title {
    opacity: 1;
    transform: none;
}

/* ─── CS GRID ────────────────────────────────────────────────── */

.cs-grid {
    display: grid;
    gap: clamp(16px, 4vw, 40px);
    padding: 0 clamp(16px, 5vw, 300px);
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .cs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ─── CARD ENTRANCE ANIMATION ────────────────────────────────── */

.cs-card {
    position: relative;
    height: clamp(260px, 52vmin, 600px);
    min-height: 220px;
    border-radius: clamp(12px, 2vw, 18px);
    overflow: hidden;
    display: block;
    isolation: isolate;
    -webkit-tap-highlight-color: transparent;

    /* entrance state */
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity  0.68s cubic-bezier(.22,1,.36,1),
        transform 0.68s cubic-bezier(.22,1,.36,1);
}

/* Stagger via nth-child — grid enters viewport once, cards cascade */
.worlds.section-reveal--visible .cs-card:nth-child(1)  { transition-delay: 0.06s; }
.worlds.section-reveal--visible .cs-card:nth-child(2)  { transition-delay: 0.13s; }
.worlds.section-reveal--visible .cs-card:nth-child(3)  { transition-delay: 0.20s; }
.worlds.section-reveal--visible .cs-card:nth-child(4)  { transition-delay: 0.27s; }
.worlds.section-reveal--visible .cs-card:nth-child(5)  { transition-delay: 0.34s; }
.worlds.section-reveal--visible .cs-card:nth-child(6)  { transition-delay: 0.41s; }
.worlds.section-reveal--visible .cs-card:nth-child(n+7) { transition-delay: 0.48s; }

.worlds.section-reveal--visible .cs-card {
    opacity: 1;
    transform: none;
}

/* Bottom readability gradient */
.cs-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0)    0%,
        rgba(0, 0, 0, 0.02) 40%,
        rgba(0, 0, 0, 0.55) 72%,
        rgba(0, 0, 0, 0.88) 100%
    );
    transition: opacity 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
    .cs-card:hover {
        transform: translateY(-8px) !important;
    }

    .cs-card:hover .cs-card__img {
        transform: scale(1.06);
    }

    .cs-card:hover::after {
        opacity: 0.85;
    }
}

/* Focus visible for keyboard nav */
.cs-card:focus-visible {
    outline: 2px solid rgba(200, 153, 106, 0.8);
    outline-offset: 3px;
}

/* ─── CARD IMAGE ─────────────────────────────────────────────── */

body.viitorx-blog-listing-body .archive-case-study .cs-card__img,
.archive-case-study .cs-card__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    transition: transform 0.7s cubic-bezier(.25,.46,.45,.94);
    transform-origin: center center;
}

/* ─── CARD BADGE ─────────────────────────────────────────────── */

.cs-card__badge {
    position: absolute;
    top: clamp(12px, 3.5vw, 28px);
    left: clamp(12px, 3.5vw, 28px);
    padding: 4px 12px;
    background: rgba(15, 15, 15, 0.65);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 5px;
    font-family: 'Archivo', sans-serif;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #F0F0E5;
    z-index: 2;
}

/* ─── CARD INFO ──────────────────────────────────────────────── */

.cs-card__info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: clamp(14px, 3.5vw, 20px) clamp(14px, 4vw, 28px) clamp(16px, 4vw, 28px);
    box-sizing: border-box;
    /* Subtle slide-up on card hover */
    transition: transform 0.4s cubic-bezier(.22,1,.36,1);
}

@media (hover: hover) and (pointer: fine) {
    .cs-card:hover .cs-card__info {
        transform: translateY(-4px);
    }
}

.cs-card__title {
    font-family: 'Lenia Sans', sans-serif;
    font-size: clamp(15px, 2.8vw, 26px);
    line-height: 1.25;
    font-weight: 700;
    color: #fff;
    margin: 0 0 clamp(6px, 1.5vw, 10px);
    padding-top: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cs-card__desc {
    font-family: 'Archivo', sans-serif;
    font-size: clamp(12px, 2vw, 17px);
    font-weight: 400;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}

/* ─── QUOTE SECTION ──────────────────────────────────────────── */

.cs-quote {
    padding: clamp(56px, 12vw, 150px) clamp(16px, 5vw, 24px);
    text-align: center;
    box-sizing: border-box;
}

.cs-quote__text {
    font-size: clamp(22px, 5.5vw, 64px);
    line-height: 1.12;
    letter-spacing: -0.02em;
    max-width: 978px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.9s cubic-bezier(.22,1,.36,1), transform 0.9s cubic-bezier(.22,1,.36,1);
}

.cs-quote.section-reveal--visible .cs-quote__text {
    opacity: 1;
    transform: none;
}

.cs-quote__accent {
    font-style: italic;
    background: rgba(255, 255, 255, 0.35);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ─── PAGINATION ─────────────────────────────────────────────── */

.archive-case-study .cs-pagination-shell {
    margin-top: clamp(24px, 6vw, 48px);
}

/* ─── RESPONSIVE ─────────────────────────────────────────────── */

@media (max-width: 767px) {
    .hero-cs {
        min-height: 100vh;
        padding-top: calc(var(--hero-top-bar-total, 80px) + 24px);
        padding-bottom: clamp(32px, 6vw, 60px);
    }

    .cs-card {
        height: clamp(280px, 58vmin, 520px);
    }
}

@media (min-width: 1200px) {
    .cs-card {
        height: 600px;
    }
}

/* ─── REDUCED MOTION ─────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .cs-card,
    .worlds__title,
    .cs-quote__text,
    .archive-case-study .cs-card__img {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}