/* Theme 0002 - responsive + motion enhancements */

:root {
    --c1s-ease: cubic-bezier(.22, .61, .36, 1);
    --c1s-fast: .35s;
}

html, body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; height: auto; }

#page > section {
    padding-top: clamp(52px, 7vw, 92px);
    padding-bottom: clamp(52px, 7vw, 92px);
}

#footer { padding: 28px 0 34px; }
#footer_social ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
#footer_social ul li {
    float: none;
    margin: 0;
}

/* Gentle motion primitives */
.c1s-reveal {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition-property: transform, opacity;
    transition-duration: var(--c1s-reveal-dur, .7s), var(--c1s-reveal-dur, .7s);
    transition-delay: var(--c1s-reveal-delay, 0s), var(--c1s-reveal-delay, 0s);
    transition-timing-function: var(--c1s-ease), var(--c1s-ease);
    will-change: transform, opacity;
    backface-visibility: hidden;
}
.c1s-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.c1s-motion-hero      { --c1s-reveal-dur: .92s; }
.c1s-motion-section   { --c1s-reveal-dur: .78s; }
.c1s-motion-card      { --c1s-reveal-dur: .62s; }
.c1s-motion-micro     { --c1s-reveal-dur: .48s; }

.c1s-hover-lift {
    transition: transform var(--c1s-fast) var(--c1s-ease), box-shadow var(--c1s-fast) var(--c1s-ease);
}
.c1s-hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .14);
}

/* Section-level lazy rendering (browser-optimized paint/layout) */
#page > section.c1s-animate-scope {
    content-visibility: auto;
    contain-intrinsic-size: 1px 880px;
}

/* Slight stagger for card grids */
#team .col-md-3 .c1s-reveal,
#portfolio .col-md-4 .c1s-reveal,
#news .col-md-4 .c1s-reveal {
    transition-delay: .06s;
}
#team .col-md-3:nth-child(2) .c1s-reveal,
#portfolio .col-md-4:nth-child(2) .c1s-reveal,
#news .col-md-4:nth-child(2) .c1s-reveal {
    transition-delay: .12s;
}
#team .col-md-3:nth-child(3) .c1s-reveal,
#portfolio .col-md-4:nth-child(3) .c1s-reveal,
#news .col-md-4:nth-child(3) .c1s-reveal {
    transition-delay: .18s;
}

@media (max-width: 991px) {
    .navbar .navbar-nav > li > a {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 12px;
    }
    .c1s-search-box input { max-width: 44vw; }
}

@media (max-width: 767px) {
    #page {
        position: relative;
        padding-top: 72px;
    }
    #home { margin-top: -72px !important; }

    .navbar.nav-main {
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
    }
    .navbar .navbar-collapse {
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        border-top: 1px solid rgba(0, 0, 0, .08);
    }
    .navbar .navbar-nav { margin: 6px -15px 8px; }
    .navbar .navbar-nav > li > a {
        padding: 12px 16px;
        border-bottom: 1px solid rgba(0, 0, 0, .05);
    }

    .c1s-search-bar.has-search {
        display: block;
        width: 100%;
        text-align: left;
        padding: 8px 0 10px;
    }
    .c1s-search-box {
        width: 100%;
        background: rgba(0, 0, 0, .04);
        border-color: rgba(0, 0, 0, .12);
    }
    .c1s-search-box input {
        width: 100%;
        max-width: none;
    }

    #footer_social .fa { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .c1s-reveal,
    .c1s-reveal.is-visible {
        opacity: 1;
        transform: none;
    }
}
