﻿/* Shared site theme: light gray 3D surface. */
:root {
    --rndlab-accent: #d70a64;
    --rndlab-ink: #151a21;
    --rndlab-muted: #5b6470;
    --rndlab-surface: #e4e7eb;
    --rndlab-surface-soft: #f4f5f7;
    --rndlab-surface-raised: rgba(255, 255, 255, 0.74);
    --rndlab-line: rgba(20, 25, 32, 0.14);
    --theme-palette-color-1: var(--rndlab-accent);
    --theme-palette-color-2: #a8074f;
    --theme-palette-color-3: #4b5563;
    --theme-palette-color-4: #111827;
    --theme-palette-color-5: #c8ced6;
    --theme-palette-color-6: #eef0f3;
    --theme-palette-color-7: #d7dce2;
    --theme-palette-color-8: #e4e7eb;
    --theme-text-color: var(--rndlab-ink);
    --theme-headings-color: var(--rndlab-ink);
    --theme-link-initial-color: var(--rndlab-accent);
    --theme-link-hover-color: #970747;
    --theme-border-color: var(--rndlab-line);
}

html,
body {
    background-color: var(--rndlab-surface) !important;
    color: var(--rndlab-ink) !important;
}

body {
    background-image:
        linear-gradient(135deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.42) 24%, rgba(169,177,188,0.38) 25%, rgba(255,255,255,0.18) 52%, rgba(126,136,149,0.22) 53%, rgba(255,255,255,0.58) 100%),
        linear-gradient(45deg, rgba(255,255,255,0.55) 0%, rgba(198,205,214,0.22) 42%, rgba(101,111,124,0.16) 43%, rgba(255,255,255,0.46) 100%) !important;
    background-attachment: fixed;
    background-size: 1800px 1200px, 900px 900px;
}

#main-container,
.site-main,
.entry-content {
    background: transparent !important;
}

.rndlab-page:not(.rndlab-page-home) .site-main,
.rndlab-page:not(.rndlab-page-home) .entry-content {
    margin: 0;
    max-width: none;
    width: 100%;
}

.rndlab-page:not(.rndlab-page-home) .entry-content > .wp-block-group {
    box-sizing: border-box;
    margin-inline: 0 !important;
    max-width: none !important;
    padding-left: var(--rnd-content-inline, clamp(36px, 6vw, 120px)) !important;
    padding-right: var(--rnd-content-inline, clamp(36px, 6vw, 120px)) !important;
    width: 100% !important;
}

.rndlab-page:not(.rndlab-page-home) .entry-content > .wp-block-group > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: var(--rnd-max-width, 1440px);
}

.rnd-simple-page__inner {
    box-sizing: border-box;
    margin-inline: 0;
    max-width: none;
    padding: clamp(54px, 8vw, 120px) var(--rnd-content-inline, clamp(36px, 6vw, 120px));
    width: 100%;
}

.rnd-card-gallery {
    box-sizing: border-box;
    padding: clamp(36px, 6vw, 86px) var(--rnd-content-inline, clamp(36px, 6vw, 120px));
}

.rnd-card-gallery__header {
    max-width: 780px;
}

.rnd-card-gallery__eyebrow {
    color: var(--rndlab-accent) !important;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.rnd-card-gallery__title {
    color: var(--rndlab-ink) !important;
    font-size: clamp(2rem, 4vw, 4.2rem);
    line-height: 0.98;
    margin: 0;
}

.rnd-card-gallery__intro {
    color: var(--rndlab-muted) !important;
    font-size: clamp(1rem, 1.35vw, 1.28rem);
    line-height: 1.65;
    margin: clamp(14px, 2vw, 22px) 0 0;
}

.rnd-image-card-grid {
    display: grid;
    gap: clamp(18px, 2vw, 30px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(28px, 4vw, 56px);
}

.rnd-image-card {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.88), rgba(203,210,219,0.48)),
        var(--rndlab-surface-soft);
    border: 1px solid rgba(255,255,255,0.72);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(35, 42, 52, 0.16), inset 0 1px 0 rgba(255,255,255,0.86);
    color: var(--rndlab-ink);
    min-width: 0;
    overflow: hidden;
    position: relative;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.rnd-image-card::before {
    background: linear-gradient(90deg, rgba(215,10,100,0.92), rgba(215,10,100,0.18));
    content: "";
    height: 4px;
    inset: 0 0 auto 0;
    position: absolute;
    z-index: 2;
}

.rnd-image-card:hover {
    border-color: rgba(215,10,100,0.34);
    box-shadow: 0 30px 76px rgba(35, 42, 52, 0.22), inset 0 1px 0 rgba(255,255,255,0.92);
    transform: translateY(-4px);
}

.rnd-image-card__media {
    aspect-ratio: 16 / 9;
    background: #cfd5dd;
    overflow: hidden;
}

.rnd-image-card__media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.rnd-image-card__body {
    padding: clamp(18px, 2vw, 28px);
}

.rnd-image-card__label {
    color: var(--rndlab-accent) !important;
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.rnd-image-card__title {
    color: var(--rndlab-ink) !important;
    font-size: clamp(1.2rem, 1.55vw, 1.72rem);
    line-height: 1.08;
    margin: 0;
}

.rnd-image-card__text {
    color: var(--rndlab-muted) !important;
    font-size: 0.98rem;
    line-height: 1.6;
    margin: 12px 0 0;
}

@media (max-width: 980px) {
    .rnd-image-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .rnd-image-card-grid {
        grid-template-columns: 1fr;
    }
}

.home {
    --rndlab-showcase-bg: rgba(226, 230, 235, 0.92);
    --rndlab-showcase-panel: rgba(255, 255, 255, 0.72);
    --rndlab-showcase-panel-soft: rgba(255, 255, 255, 0.46);
    --rndlab-showcase-text: #141a22;
    --rndlab-showcase-muted: #5b6470;
    --rndlab-showcase-accent: var(--rndlab-accent);
    background: transparent !important;
}

.rndlab-page-home .rndlab-home-hero-video-section::before {
    background:
        linear-gradient(90deg, rgba(215,10,100,0.90) 0%, rgba(215,10,100,0.64) 32%, rgba(215,10,100,0.26) 62%, rgba(215,10,100,0.04) 100%),
        linear-gradient(180deg, rgba(8,11,15,0.14) 0%, rgba(8,11,15,0.34) 100%) !important;
    inset: var(--rnd-home-hero-cover-inset) !important;
}

.rndlab-page-home .rndlab-home-hero h1,
.rndlab-page-home .rndlab-home-hero p {
    color: #ffffff !important;
}

.wp-block-heading,
.wp-block-paragraph,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content p {
    color: var(--rndlab-ink) !important;
}

.rndlab-section-eyebrow {
    color: var(--rndlab-accent) !important;
}

.wp-block-column,
.rndlab-project-showcase,
.home .rndlab-home-services,
.home .rndlab-home-about,
.home .rndlab-home-contact {
    border-color: var(--rndlab-line) !important;
}

.rndlab-project-showcase {
    background:
        linear-gradient(145deg, rgba(255,255,255,0.82), rgba(188,196,207,0.38)),
        linear-gradient(35deg, rgba(215,10,100,0.08), transparent 42%),
        var(--rndlab-surface) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78) !important;
}

.rndlab-project-card {
    background:
        linear-gradient(90deg, rgba(255,255,255,0.90) 0%, rgba(255,255,255,0.68) 38%, rgba(255,255,255,0.18) 72%, rgba(255,255,255,0.02) 100%),
        linear-gradient(145deg, rgba(255,255,255,0.82), rgba(188,196,207,0.42)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 26px 70px rgba(50,58,70,0.18) !important;
}

.rndlab-project-card::before {
    background:
        linear-gradient(90deg, rgba(244,246,249,0.94) 0%, rgba(244,246,249,0.70) 38%, rgba(244,246,249,0.20) 72%, rgba(244,246,249,0.02) 100%),
        linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(198,205,214,0.38) 100%) !important;
}

.rndlab-project-card__media {
    background: #d7dce2 !important;
}

.rndlab-project-card__description,
.rndlab-project-card__title,
.rndlab-project-card__tags li {
    color: var(--rndlab-ink) !important;
}

.rndlab-project-card__description {
    color: var(--rndlab-muted) !important;
}

.rndlab-project-showcase__control {
    box-shadow: 0 12px 28px rgba(42,48,56,0.16), inset 0 1px 0 rgba(255,255,255,0.62) !important;
}

/* Seven-page closing visual journey */
.rndlab-home-contact,
.rnd-about__closing,
.rnd-service-final,
.rnd-projects-cta,
.rnd-education-cta,
.rnd-news__sources,
.rnd-downloads__request,
.rnd-contact__direct {
    position: relative;
}

.rndlab-home-contact::after,
.rnd-about__closing::after,
.rnd-service-final::after,
.rnd-projects-cta::after,
.rnd-education-cta::after,
.rnd-news__sources::after,
.rnd-downloads__request::after,
.rnd-contact__direct::after {
    background: linear-gradient(90deg, #d70a64, rgba(215, 10, 100, 0.08) 48%, transparent);
    content: "";
    height: 3px;
    inset: 0 0 auto;
    pointer-events: none;
    position: absolute;
    z-index: 4;
}

.rnd-process-journey {
    align-items: center;
    bottom: clamp(22px, 3vw, 42px);
    color: rgba(255, 255, 255, 0.72) !important;
    display: flex;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    gap: 14px;
    letter-spacing: 0.13em;
    margin: 0 !important;
    max-width: none !important;
    position: absolute;
    right: clamp(22px, 4vw, 64px);
    text-transform: uppercase;
    width: auto !important;
    z-index: 5;
}

.rnd-process-journey::before {
    background: rgba(255, 255, 255, 0.28);
    content: "";
    height: 1px;
    width: clamp(44px, 6vw, 90px);
}

.rnd-process-journey b {
    color: #ff2b80;
    font: inherit;
}

.rndlab-page-home .rndlab-home-contact h2,
.rndlab-page-home .rndlab-home-contact > p:not(.rndlab-section-eyebrow),
.rndlab-page-home .rndlab-home-contact .rndlab-home-copyright {
    color: #ffffff !important;
}

.rndlab-page-home .rndlab-home-contact > p:not(.rndlab-section-eyebrow):not(.rndlab-home-copyright):not(.rnd-process-journey) {
    color: rgba(255, 255, 255, 0.82) !important;
}

.rndlab-page-home .rndlab-home-contact .rndlab-section-eyebrow {
    color: #ff2b80 !important;
}

.rndlab-page-projects .rnd-projects-cta .rnd-projects-button {
    justify-self: start;
    width: auto;
}

.rndlab-page-education .rnd-education-cta h2 {
    font-family: Montserrat, Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -0.045em;
}

.rndlab-page-education .rnd-education-cta > p:not(.rnd-education-eyebrow):not(.rnd-process-journey) {
    font-family: "Segoe UI", Arial, sans-serif !important;
}

.rndlab-home-contact h2,
.rnd-about__closing h2,
.rnd-service-final h2,
.rnd-projects-cta h2,
.rnd-education-cta h2,
.rnd-news__sources h2,
.rnd-downloads__request h2,
.rnd-contact__direct h2 {
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.72);
}

.rndlab-home-contact p,
.rnd-about__closing p,
.rnd-service-final p,
.rnd-projects-cta p,
.rnd-education-cta p,
.rnd-news__sources p,
.rnd-downloads__request p,
.rnd-contact__direct p {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.82);
}

@media (max-width: 767px) {
    .rnd-process-journey {
        bottom: 18px;
        right: 20px;
    }

    .rnd-process-journey::before {
        width: 32px;
    }
}
