@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background: #05070b;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

/* =========================================================
   1. ROOT / GLOBAL
   ========================================================= */

:root {
    --red: #D32D27;
    --blue: #1D75BB;
    --yellow: #FCEE21;
    --green: #2E9844;
    --royal: #3B52A4;

    --black: #05070b;
    --dark: #080d16;
    --dark-2: #0d1420;
    --white: #ffffff;
    --muted: #a7b0bd;

    --radius: 28px;

    --accent: var(--blue);
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--black);
    color: var(--white);
    overflow-x: hidden;
}


a {
    color: inherit;
    text-decoration: none;
}


button {
    font: inherit;
}


/* =========================================================
   2. NAVBAR
   ========================================================= */

.navbar {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 78px;

    padding: 0 5vw;

    display: flex;
    align-items: center;
    justify-content: space-between;

    z-index: 1000;

    background: rgba(5, 7, 11, 0.55);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}


.brand-logo {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    overflow: visible;

    background: transparent;

    border: none;
    box-shadow: none;
}


.brand-logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}


.brand-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.brand-text strong {
    font-size: 16px;
    letter-spacing: 2px;
}


.brand-text span {
    font-size: 9px;
    color: var(--muted);
    letter-spacing: 1.2px;
    text-transform: uppercase;
}


.nav-links {
    display: flex;
    align-items: center;
    gap: 34px;
}


.nav-links a {
    position: relative;

    font-size: 13px;
    color: #d8dde5;

    transition: color 0.25s ease;
}


.nav-links a::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -7px;

    width: 0;
    height: 2px;

    background: var(--red);

    transition: width 0.25s ease;
}


.nav-links a:hover {
    color: var(--white);
}


.nav-links a:hover::after {
    width: 100%;
}


.nav-button {
    padding: 11px 19px;

    border-radius: 999px;

    background: var(--white);
    color: var(--black);

    font-size: 12px;
    font-weight: 700;

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}


.nav-button:hover {
    transform: translateY(-2px);
    background: var(--yellow);
}


.menu-button {
    display: none;

    border: none;
    background: transparent;

    color: var(--white);

    font-size: 25px;
    cursor: pointer;
}


/* =========================================================
   COMMON
========================================================= */

.section-eyebrow {
    margin-bottom: 18px;

    color: #7f8997;

    font-size: 0.65rem;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.primary-button {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 30px;

    padding: 14px 23px;

    background: var(--white);
    color: var(--black);

    border-radius: 100px;

    font-size: 0.76rem;
    font-weight: 700;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}


.primary-button span {
    font-size: 1rem;

    transition: transform 0.3s ease;
}


.primary-button:hover {
    transform: translateY(-3px);
    background: var(--yellow);
}


.primary-button:hover span {
    transform: translate(3px, -3px);
}


/* =========================================================
   HERO
========================================================= */

.gallery-hero {
    position: relative;

    min-height: 88vh;

    padding: 180px 8vw 120px;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 40%,
            rgba(29,117,187,0.16),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #05070b,
            #080d16
        );
}


.gallery-hero-grid {
    position: absolute;

    inset: 0;

    opacity: 0.25;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.035) 1px,
            transparent 1px
        );

    background-size: 80px 80px;

    mask-image:
        linear-gradient(
            to bottom,
            black,
            transparent 90%
        );
}


.gallery-hero-content {
    position: relative;

    z-index: 2;

    max-width: 760px;
}


.gallery-hero h1 {
    font-size: clamp(3.8rem, 8vw, 8rem);

    line-height: 0.9;

    letter-spacing: -0.07em;

    font-weight: 800;
}


.gallery-hero h1 span {
    display: block;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,0.7);
}


.gallery-hero-content > p:last-child {
    max-width: 580px;

    margin-top: 30px;

    color: var(--muted);

    font-size: 0.95rem;

    line-height: 1.8;
}


.hero-number {
    position: absolute;

    right: 7vw;
    bottom: 7vh;

    font-size: clamp(8rem, 20vw, 20rem);

    line-height: 0.7;

    font-weight: 800;

    color: rgba(255,255,255,0.025);

    user-select: none;
}


/* =========================================================
   SCROLL INDICATOR
========================================================= */

.scroll-indicator {
    position: absolute;

    bottom: 38px;
    left: 8vw;

    display: flex;

    align-items: center;

    gap: 15px;

    color: #7f8997;

    font-size: 0.65rem;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    animation:
        scrollIndicatorFloat
        2.5s
        ease-in-out
        infinite;
}


.scroll-line {
    position: relative;

    width: 55px;
    height: 1px;

    overflow: hidden;

    background: rgba(255,255,255,0.18);
}


.scroll-line::after {
    content: "";

    position: absolute;

    top: 0;
    left: -100%;

    width: 100%;
    height: 100%;

    background: var(--white);

    animation:
        scrollLineMove
        2s
        ease-in-out
        infinite;
}


@keyframes scrollIndicatorFloat {

    0%,
    100% {
        transform: translateY(0);
        opacity: 0.65;
    }

    50% {
        transform: translateY(5px);
        opacity: 1;
    }

}


@keyframes scrollLineMove {

    0% {
        left: -100%;
    }

    45%,
    55% {
        left: 0;
    }

    100% {
        left: 100%;
    }

}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 50px;

    margin-bottom: 55px;
}


.section-heading h2 {
    font-size: clamp(2.7rem, 5vw, 5rem);

    line-height: 0.95;

    letter-spacing: -0.05em;
}


.section-heading h2 span {
    color: var(--yellow);
}


.section-heading > p {
    max-width: 400px;

    color: var(--muted);

    font-size: 0.85rem;

    line-height: 1.8;
}


/* =========================================================
   VIDEO SECTION
========================================================= */

.video-section {
    padding: 130px 8vw;

    background: var(--dark);
}


.video-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 28px;
}


.video-card {
    overflow: hidden;

    border: 1px solid var(--border);

    background: var(--dark-2);

    transition:
        transform 0.4s ease,
        border-color 0.4s ease;
}


.video-card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(255,255,255,0.2);
}


.video-wrapper {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    background: #000;

    overflow: hidden;
}


.video-wrapper iframe {
    width: 100%;
    height: 100%;

    border: none;

    display: block;
}


.video-info {
    padding: 22px 25px;

    display: flex;

    gap: 20px;

    align-items: flex-start;
}


.video-info > span {
    color: var(--yellow);

    font-size: 0.65rem;

    font-weight: 700;

    letter-spacing: 0.1em;
}


.video-info h3 {
    font-size: 1rem;

    margin-bottom: 5px;
}


.video-info p {
    color: #77818f;

    font-size: 0.72rem;
}


/* =========================================================
   PHOTO SECTION
========================================================= */

.photo-section {
    padding: 140px 8vw;

    background: var(--black);
}


.photo-grid {
    display: grid;

    grid-template-columns:
        repeat(12, minmax(0, 1fr));

    grid-auto-rows: 230px;

    gap: 14px;

    grid-auto-flow: row;
}


/* =========================================================
   PHOTO CARDS
========================================================= */

.photo-card {
    position: relative;

    overflow: hidden;

    min-width: 0;

    cursor: pointer;

    background: var(--dark-2);

    border: 1px solid rgba(255,255,255,0.07);
}


.photo-card img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.7s cubic-bezier(.2,.7,.2,1),
        filter 0.5s ease;
}


.photo-card:hover img {
    transform: scale(1.06);

    filter: brightness(0.62);
}

/* =========================================================
   BENTO / EDITORIAL LAYOUT — 54 PHOTOS
========================================================= */

/*
    Each Bento block = 3 photos across 2 rows.

    Pattern A:
    [       01       ][ 02 ]
    [       01       ][ 03 ]

    Pattern B:
    [ 04 ][       05       ]
    [ 06 ][       05       ]

    This pattern repeats throughout the gallery.
*/


/* =========================================================
   ROW 1–2
========================================================= */

.photo-card:nth-child(1) {
    grid-column: 1 / span 7;
    grid-row: 1 / span 2;
}

.photo-card:nth-child(2) {
    grid-column: 8 / span 5;
    grid-row: 1;
}

.photo-card:nth-child(3) {
    grid-column: 8 / span 5;
    grid-row: 2;
}


/* =========================================================
   ROW 3–4
========================================================= */

.photo-card:nth-child(4) {
    grid-column: 1 / span 5;
    grid-row: 3;
}

.photo-card:nth-child(5) {
    grid-column: 6 / span 7;
    grid-row: 3 / span 2;
}

.photo-card:nth-child(6) {
    grid-column: 1 / span 5;
    grid-row: 4;
}


/* =========================================================
   ROW 5–6
========================================================= */

.photo-card:nth-child(7) {
    grid-column: 1 / span 7;
    grid-row: 5 / span 2;
}

.photo-card:nth-child(8) {
    grid-column: 8 / span 5;
    grid-row: 5;
}

.photo-card:nth-child(9) {
    grid-column: 8 / span 5;
    grid-row: 6;
}


/* =========================================================
   ROW 7–8
========================================================= */

.photo-card:nth-child(10) {
    grid-column: 1 / span 5;
    grid-row: 7;
}

.photo-card:nth-child(11) {
    grid-column: 6 / span 7;
    grid-row: 7 / span 2;
}

.photo-card:nth-child(12) {
    grid-column: 1 / span 5;
    grid-row: 8;
}


/* =========================================================
   ROW 9–10
========================================================= */

.photo-card:nth-child(13) {
    grid-column: 1 / span 7;
    grid-row: 9 / span 2;
}

.photo-card:nth-child(14) {
    grid-column: 8 / span 5;
    grid-row: 9;
}

.photo-card:nth-child(15) {
    grid-column: 8 / span 5;
    grid-row: 10;
}


/* =========================================================
   ROW 11–12
========================================================= */

.photo-card:nth-child(16) {
    grid-column: 1 / span 5;
    grid-row: 11;
}

.photo-card:nth-child(17) {
    grid-column: 6 / span 7;
    grid-row: 11 / span 2;
}

.photo-card:nth-child(18) {
    grid-column: 1 / span 5;
    grid-row: 12;
}


/* =========================================================
   ROW 13–14
========================================================= */

.photo-card:nth-child(19) {
    grid-column: 1 / span 7;
    grid-row: 13 / span 2;
}

.photo-card:nth-child(20) {
    grid-column: 8 / span 5;
    grid-row: 13;
}

.photo-card:nth-child(21) {
    grid-column: 8 / span 5;
    grid-row: 14;
}


/* =========================================================
   ROW 15–16
========================================================= */

.photo-card:nth-child(22) {
    grid-column: 1 / span 5;
    grid-row: 15;
}

.photo-card:nth-child(23) {
    grid-column: 6 / span 7;
    grid-row: 15 / span 2;
}

.photo-card:nth-child(24) {
    grid-column: 1 / span 5;
    grid-row: 16;
}


/* =========================================================
   ROW 17–18
========================================================= */

.photo-card:nth-child(25) {
    grid-column: 1 / span 7;
    grid-row: 17 / span 2;
}

.photo-card:nth-child(26) {
    grid-column: 8 / span 5;
    grid-row: 17;
}

.photo-card:nth-child(27) {
    grid-column: 8 / span 5;
    grid-row: 18;
}


/* =========================================================
   ROW 19–20
========================================================= */

.photo-card:nth-child(28) {
    grid-column: 1 / span 5;
    grid-row: 19;
}

.photo-card:nth-child(29) {
    grid-column: 6 / span 7;
    grid-row: 19 / span 2;
}

.photo-card:nth-child(30) {
    grid-column: 1 / span 5;
    grid-row: 20;
}


/* =========================================================
   ROW 21–22
========================================================= */

.photo-card:nth-child(31) {
    grid-column: 1 / span 7;
    grid-row: 21 / span 2;
}

.photo-card:nth-child(32) {
    grid-column: 8 / span 5;
    grid-row: 21;
}

.photo-card:nth-child(33) {
    grid-column: 8 / span 5;
    grid-row: 22;
}


/* =========================================================
   ROW 23–24
========================================================= */

.photo-card:nth-child(34) {
    grid-column: 1 / span 5;
    grid-row: 23;
}

.photo-card:nth-child(35) {
    grid-column: 6 / span 7;
    grid-row: 23 / span 2;
}

.photo-card:nth-child(36) {
    grid-column: 1 / span 5;
    grid-row: 24;
}


/* =========================================================
   ROW 25–26
========================================================= */

.photo-card:nth-child(37) {
    grid-column: 1 / span 7;
    grid-row: 25 / span 2;
}

.photo-card:nth-child(38) {
    grid-column: 8 / span 5;
    grid-row: 25;
}

.photo-card:nth-child(39) {
    grid-column: 8 / span 5;
    grid-row: 26;
}


/* =========================================================
   ROW 27–28
========================================================= */

.photo-card:nth-child(40) {
    grid-column: 1 / span 5;
    grid-row: 27;
}

.photo-card:nth-child(41) {
    grid-column: 6 / span 7;
    grid-row: 27 / span 2;
}

.photo-card:nth-child(42) {
    grid-column: 1 / span 5;
    grid-row: 28;
}


/* =========================================================
   ROW 29–30
========================================================= */

.photo-card:nth-child(43) {
    grid-column: 1 / span 7;
    grid-row: 29 / span 2;
}

.photo-card:nth-child(44) {
    grid-column: 8 / span 5;
    grid-row: 29;
}

.photo-card:nth-child(45) {
    grid-column: 8 / span 5;
    grid-row: 30;
}


/* =========================================================
   ROW 31–32
========================================================= */

.photo-card:nth-child(46) {
    grid-column: 1 / span 5;
    grid-row: 31;
}

.photo-card:nth-child(47) {
    grid-column: 6 / span 7;
    grid-row: 31 / span 2;
}

.photo-card:nth-child(48) {
    grid-column: 1 / span 5;
    grid-row: 32;
}


/* =========================================================
   ROW 33–34
========================================================= */

.photo-card:nth-child(49) {
    grid-column: 1 / span 7;
    grid-row: 33 / span 2;
}

.photo-card:nth-child(50) {
    grid-column: 8 / span 5;
    grid-row: 33;
}

.photo-card:nth-child(51) {
    grid-column: 8 / span 5;
    grid-row: 34;
}


/* =========================================================
   ROW 35–36
========================================================= */

.photo-card:nth-child(52) {
    grid-column: 1 / span 5;
    grid-row: 35;
}

.photo-card:nth-child(53) {
    grid-column: 6 / span 7;
    grid-row: 35 / span 2;
}

.photo-card:nth-child(54) {
    grid-column: 1 / span 5;
    grid-row: 36;
}
/* =========================================================
   PHOTO OVERLAY
========================================================= */

.photo-overlay {
    position: absolute;

    inset: 0;

    padding: 22px;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.82),
            rgba(0,0,0,0.15) 50%,
            transparent
        );

    opacity: 0;

    transition:
        opacity 0.35s ease;
}


.photo-card:hover .photo-overlay {
    opacity: 1;
}


.photo-overlay > span {
    color: var(--yellow);

    font-size: 0.65rem;

    font-weight: 700;

    letter-spacing: 0.1em;
}


.photo-overlay div {
    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 4px;

    text-align: right;
}


.photo-overlay strong {
    max-width: 220px;

    font-size: 0.9rem;

    line-height: 1.2;
}


.photo-overlay small {
    color: #c0c6cf;

    font-size: 0.62rem;
}


/* =========================================================
   IMAGE VIEWER
========================================================= */

.image-viewer {
    position: fixed;

    inset: 0;

    z-index: 2000;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 5vh 5vw;

    background: rgba(0,0,0,0.9);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}


.image-viewer.open {
    opacity: 1;

    visibility: visible;

    pointer-events: auto;
}


.viewer-content {
    width: min(70vw, 1100px);

    height: min(78vh, 760px);

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    gap: 15px;
}


.viewer-content img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;

    border: 1px solid rgba(255,255,255,0.12);

    box-shadow:
        0 30px 100px rgba(0,0,0,0.65);
}


.viewer-caption {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 4px;
}


.viewer-caption span {
    color: var(--yellow);

    font-size: 0.65rem;

    font-weight: 700;

    letter-spacing: 0.08em;
}


.viewer-caption strong {
    font-size: 0.85rem;
}


.viewer-close,
.viewer-prev,
.viewer-next {
    position: absolute;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,0.15);

    background: rgba(255,255,255,0.06);

    color: var(--white);

    cursor: pointer;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}


.viewer-close:hover,
.viewer-prev:hover,
.viewer-next:hover {
    background: var(--white);

    color: var(--black);
}


.viewer-close {
    top: 35px;
    right: 40px;

    border-radius: 50%;

    font-size: 0.9rem;
}


.viewer-prev {
    left: 35px;

    top: 50%;

    transform: translateY(-50%);

    border-radius: 50%;
}


.viewer-next {
    right: 35px;

    top: 50%;

    transform: translateY(-50%);

    border-radius: 50%;
}


/* =========================================================
   CTA
========================================================= */

.gallery-cta {
    padding: 150px 8vw;

    background:
        radial-gradient(
            circle at 70% 50%,
            rgba(211,45,39,0.13),
            transparent 35%
        ),
        var(--dark);
}


.gallery-cta h2 {
    max-width: 900px;

    font-size: clamp(3rem, 7vw, 7rem);

    line-height: 0.9;

    letter-spacing: -0.06em;
}


.gallery-cta h2 span {
    color: transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,0.65);
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
    padding: 45px 8vw;

    border-top: 1px solid var(--border);

    background: #030509;

    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items: center;

    gap: 30px;
}


.footer-brand {
    display: flex;

    align-items: center;

    gap: 14px;
}


.footer-logo {
    width: 44px;
    height: 44px;
}


.footer-logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}


.footer-brand strong {
    font-size: 0.72rem;

    letter-spacing: 0.07em;
}


.footer-brand p {
    margin-top: 3px;

    color: #687280;

    font-size: 0.65rem;
}


.footer-links {
    display: flex;

    gap: 25px;
}


.footer-links a {
    color: #77818f;

    font-size: 0.65rem;

    transition: color 0.3s ease;
}


.footer-links a:hover {
    color: var(--white);
}


.footer-copy {
    justify-self: end;

    color: #596371;

    font-size: 0.6rem;
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 900px) {

    .nav-links {
        position: absolute;

        top: 82px;
        left: 0;

        width: 100%;

        padding: 25px;

        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 20px;

        background: rgba(5,7,11,0.97);

        border-bottom: 1px solid var(--border);

        transform: translateY(-20px);

        opacity: 0;

        visibility: hidden;

        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0.3s ease;
    }


    .nav-links.mobile-open {
        transform: translateY(0);

        opacity: 1;

        visibility: visible;
    }


    .nav-button {
        display: none;
    }


    .menu-button {
        display: block;
    }


    .video-grid {
        grid-template-columns: 1fr;
    }


    /* Tablet photo grid */

    .photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        grid-auto-rows: 260px;

        gap: 12px;
    }


    .photo-card:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
    }


    .photo-card:nth-child(1),
    .photo-card:nth-child(5),
    .photo-card:nth-child(9),
    .photo-card:nth-child(13) {
        grid-column: span 2;
    }


    .section-heading {
        flex-direction: column;

        align-items: flex-start;
    }


    .footer {
        grid-template-columns: 1fr;

        align-items: flex-start;
    }


    .footer-copy {
        justify-self: start;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 600px) {

    .navbar {
        padding: 0 20px;
    }


    .brand-text strong {
        font-size: 0.65rem;
    }


    .brand-logo {
        width: 45px;
        height: 45px;
    }


    .gallery-hero {
        min-height: 78vh;

        padding:
            150px 25px
            100px;
    }


    .gallery-hero h1 {
        font-size: clamp(3rem, 15vw, 5rem);
    }


    .video-section,
    .photo-section,
    .gallery-cta {
        padding:
            90px 25px;
    }


    .photo-grid {
        grid-template-columns: 1fr;

        grid-auto-rows: 300px;

        gap: 12px;
    }


    .photo-card:nth-child(n) {
        grid-column: span 1;
        grid-row: span 1;
    }


    .photo-overlay {
        opacity: 1;

        padding: 18px;

        background:
            linear-gradient(
                to top,
                rgba(0,0,0,0.78),
                transparent 65%
            );
    }


    .photo-overlay strong {
        font-size: 0.82rem;
    }


    .photo-overlay small {
        font-size: 0.58rem;
    }


    .viewer-content {
        width: 90vw;

        height: 65vh;
    }


    .viewer-close {
        top: 20px;
        right: 20px;
    }


    .viewer-prev {
        left: 12px;
    }


    .viewer-next {
        right: 12px;
    }


    .footer {
        padding:
            40px 25px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }

}