/* =========================================================
   ROOT
========================================================= */

:root {

    --gold: #AA8755;

    --dark: #454B36;

    --cream: #ECE4D5;

    --pink: #AA8755;

    --white: #F8F7F3;

    --line: rgba(69, 75, 54, 0.14);

    --dark-line: rgba(236, 228, 213, 0.18);

    --display: "Manrope", sans-serif;

    --serif: "Playfair Display", Georgia, serif;
}


/* =========================================================
   RESET
========================================================= */

* {

    box-sizing: border-box;

    margin: 0;

    padding: 0;
}


html {

    scroll-behavior: smooth;
}


body {

    background: var(--white);

    color: var(--dark);

    font-family: "DM Sans", sans-serif;

    overflow-x: hidden;
}


a {

    color: inherit;

    text-decoration: none;
}


button {

    font: inherit;
}


/* =========================================================
   PAGE LOADER
========================================================= */

.page-loader {

    position: fixed;

    inset: 0;

    z-index: 9999;

    background: var(--dark);

    display: grid;

    place-items: center;

    transition:
        opacity 0.7s ease,
        visibility 0.7s ease;
}


.page-loader.done {

    opacity: 0;

    visibility: hidden;
}


.loader-line {

    width: 80px;

    height: 1px;

    background: var(--cream);

    transform-origin: left;

    animation: load 1.1s ease-in-out infinite;
}


@keyframes load {

    0%,
    100% {

        transform: scaleX(0.1);

    }

    50% {

        transform: scaleX(1);

    }

}


/* =========================================================
   HEADER
========================================================= */

.site-header {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 82px;

    padding: 0 42px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    z-index: 1000;

    background: transparent;

    transition:
        background 0.4s ease,
        box-shadow 0.4s ease;
}


/* HEADER AFTER SCROLL */

.site-header.scrolled {

    /* background: rgba(248, 247, 243, 0.96); */
    background-color: var(--white);
    box-shadow:
        0 8px 30px rgba(69, 75, 54, 0.06);

    backdrop-filter: blur(12px);
}
header.scrolled .main-nav a {
    color: var(--dark);
}

/* =========================================================
   LOGO
========================================================= */

.site-logo {

    position: relative;

    z-index: 10;

    display: flex;

    align-items: center;

    flex-shrink: 0;
}


.site-logo img {

    width: 145px;

    height: auto;

    display: block;
}


/* =========================================================
   MAIN NAVIGATION
========================================================= */

.main-nav {

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 27px;

    white-space: nowrap;
}


/* =========================================================
   MAIN NAV LINKS
========================================================= */

.main-nav > a,
.nav-dropdown > .dropdown-trigger {

    position: relative;

    display: inline-flex;

    align-items: center;

    gap: 5px;

    padding: 8px 0;

    /* color: var(--dark);  */
    color: var(--white);
    /* color: var(--gold); */

    font-family: var(--display);

    font-size: 12px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    text-decoration: none;
}


/* =========================================================
   NAV UNDERLINE
========================================================= */

.main-nav > a::after,
.nav-dropdown > .dropdown-trigger::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -5px;

    width: 0;

    height: 1px;

    background: var(--gold);

    transition:
        width 0.3s ease;
}


.main-nav > a:hover::after,
.nav-dropdown:hover > .dropdown-trigger::after {

    width: 100%;
}


/* =========================================================
   DROPDOWN WRAPPER
========================================================= */

.nav-dropdown {

    position: relative;

    display: flex;

    align-items: center;
}


/* =========================================================
   DROPDOWN ARROW
========================================================= */

.dropdown-arrow {

    width: 7px;

    height: 7px;

    border-right: 1.5px solid currentColor;

    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);

    margin-left: 6px;

    margin-top: -4px;

    transition: transform 0.3s ease;
}


.nav-dropdown:hover .dropdown-arrow {

    transform: rotate(225deg);
}


/* =========================================================
   DROPDOWN MENU
========================================================= */

.dropdown-menu {

    position: absolute;

    top: 100%;

    left: 50%;

    min-width: 195px;

    padding: 15px 0;

    transform:
        translateX(-50%)
        translateY(10px);

    background: var(--white);

    border: 1px solid var(--line);

    box-shadow:
        0 20px 45px rgba(69, 75, 54, 0.12);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;

    z-index: 100;
}


/* =========================================================
   INVISIBLE CONNECTION BETWEEN NAV + DROPDOWN
========================================================= */

.dropdown-menu::after {

    content: "";

    position: absolute;

    left: 0;

    right: 0;

    top: -18px;

    height: 18px;

    background: transparent;
}


/* =========================================================
   GOLD TOP LINE
========================================================= */

.dropdown-menu::before {

    content: "";

    position: absolute;

    top: 0;

    left: 20px;

    right: 20px;

    height: 1px;

    background: var(--gold);
}


/* =========================================================
   SHOW DROPDOWN
========================================================= */

.nav-dropdown:hover .dropdown-menu {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateX(-50%)
        translateY(0);
}


/* =========================================================
   DROPDOWN HEADING
========================================================= */

.dropdown-heading {

    padding:
        9px
        20px
        13px;

    color: var(--gold);

    font-family: var(--display);

    font-size: 8px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.16em;
}


/* =========================================================
   DROPDOWN LINKS
========================================================= */

.dropdown-menu a {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 10px 20px;

    color: var(--dark);

    font-family: var(--display);

    font-size: 10px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.06em;

    text-decoration: none;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        padding-left 0.25s ease;
}


.dropdown-menu a:hover {

    color: var(--gold);

    background:
        rgba(170, 135, 85, 0.07);

    padding-left: 25px;
}


/* =========================================================
   ARROW ON DROPDOWN ITEMS
========================================================= */

.dropdown-menu a::after {

    content: "↗";

    font-size: 12px;

    color: var(--gold);

    opacity: 0;

    transform:
        translate(-5px, 5px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


.dropdown-menu a:hover::after {

    opacity: 1;

    transform:
        translate(0, 0);
}


/* =========================================================
   PRODUCTS
========================================================= */

.products-menu {

    min-width: 210px;
}


/* =========================================================
   COLLECTIONS
========================================================= */

.collections-menu {

    min-width: 180px;
}


/* =========================================================
   HEADER BUTTON
========================================================= */

.header-button {

    position: relative;

    z-index: 10;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 22px;

    padding: 12px 15px;

    min-width: 92px;

    border: 1px solid var(--white);

    color: var(--white);

    font-family: var(--display);

    font-size: 9px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    text-decoration: none;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}
/* Button color after scrolling */
header.scrolled .header-button {
    color: var(--dark);
    border-color: var(--dark);
    background: transparent;
}

.header-button span {

    font-size: 14px;

    line-height: 1;

    transition:
        transform 0.3s ease;
}


.header-button:hover {

    background: var(--gold);

    border-color: var(--gold);

    color: #fff;
}

.header-button:hover span {

    transform:
        translate(3px, -3px);
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */

.menu-toggle {

    display: none;

    position: relative;

    z-index: 1002;

    width: 42px;

    height: 42px;

    padding: 0;

    border: 0;

    background: transparent;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 6px;

    cursor: pointer;
}


.menu-toggle span {

    display: block;

    width: 21px;

    height: 1px;

    background: var(--dark);

    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}


/* =========================================================
   MOBILE BUTTON ACTIVE
========================================================= */

.menu-toggle.active span:first-child {

    transform:
        translateY(3.5px)
        rotate(45deg);
}


.menu-toggle.active span:last-child {

    transform:
        translateY(-3.5px)
        rotate(-45deg);
}


/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu {

    position: fixed;

    inset: 0;

    z-index: 1001;

    padding:
        120px
        30px
        40px;

    background: var(--white);

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transform:
        translateY(-20px);

    transition:
        opacity 0.4s ease,
        visibility 0.4s ease,
        transform 0.4s ease;
}


/* =========================================================
   MOBILE MENU ACTIVE
========================================================= */

.mobile-menu.active {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateY(0);
}


/* =========================================================
   MOBILE NAV
========================================================= */

.mobile-menu nav {

    display: flex;

    flex-direction: column;
}


.mobile-menu nav a {

    display: flex;

    align-items: center;

    gap: 18px;

    padding: 16px 0;

    border-bottom: 1px solid var(--line);

    /* color: var(--dark); */
    color: var(--white);
    font-family: var(--display);

    font-size: 20px;

    font-weight: 400;

    text-decoration: none;

    transition:
        color 0.25s ease,
        padding-left 0.25s ease;
}


.mobile-menu nav a:first-child {

    border-top: 1px solid var(--line);
}


.mobile-menu nav a:hover {

    color: var(--gold);

    padding-left: 8px;
}


/* MOBILE NUMBERS */

.mobile-menu nav a span {

    width: 22px;

    color: var(--gold);

    font-size: 8px;

    letter-spacing: 0.1em;
}


/* =========================================================
   MOBILE FOOTER TEXT
========================================================= */

.mobile-menu > p {

    margin: 0;

    color: var(--dark);

    font-size: 8px;

    letter-spacing: 0.2em;

    opacity: 0.45;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

    .site-header {

        padding: 0 28px;

    }


    .main-nav {

        gap: 19px;

    }


    .main-nav > a,
    .nav-dropdown > .dropdown-trigger {

        font-size: 9px;

    }


    .header-button {

        min-width: 82px;

        gap: 15px;

    }

}


/* =========================================================
   MOBILE / SMALL TABLET
========================================================= */

@media (max-width: 950px) {

    .site-header {

        height: 72px;

        padding: 0 24px;

    }


    .site-logo img {

        width: 135px;

    }


    .main-nav {

        display: none;

    }
.site-header.scrolled {

    /* background: rgba(248, 247, 243, 0.96); */
    /* background-color: transparent; */
    background-color: var(--white);

    box-shadow:
        0 8px 30px rgba(69, 75, 54, 0.06);

    backdrop-filter: blur(12px);
}

    .header-button {

        display: none;

    }


    .menu-toggle {

        display: flex;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 650px) {

    .site-header {

        height: 68px;

        padding: 0 20px;

    }


    .site-logo img {

        width: 125px;
        height: 145px;

    }

.site-header.scrolled {

    /* background: rgba(248, 247, 243, 0.96); */
    /* background-color: transparent; */
    background-color: var(--white);

    box-shadow:
        0 8px 30px rgba(69, 75, 54, 0.06);

    backdrop-filter: blur(12px);
}
    .mobile-menu {

        padding:
            105px
            24px
            30px;

    }


    .mobile-menu nav a {

        font-size: 14px;

        padding: 14px 0;

    }

}


/* =========================================================
   HERO
========================================================= */

.hero {

    min-height: 100svh;

    height: 100svh;

    position: relative;

    overflow: hidden;

    color: var(--cream);

    background: var(--dark);

    display: flex;

    align-items: center;
}


/* =========================================================
   HERO VIDEO
========================================================= */
.hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    opacity: 1;
    display: block;
}

.hero-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(
            circle at 72% 35%,
            rgba(170, 135, 85, 0.22),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            #353a2a 0%,
            #5b604c 55%,
            #353a2a 100%
        );
}



/* CASTLE IMPEX — HERO VIDEO SOUND BUTTON */
.video-sound-toggle {
    position: absolute;
    left: 155px;
    bottom: 62px;
    right: auto;
    z-index: 10;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 12px 20px;
    border: 1px solid rgba(236, 228, 213, 0.65);
    border-radius: 3px;

    background: rgba(69, 75, 54, 0.88);
    color: #ECE4D5;

    font-family: "Manrope", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    cursor: pointer;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.video-sound-toggle:hover {
    background: #AA8755;
    color: #fff;
    border-color: #AA8755;
    transform: translateY(-3px);
}

.video-sound-toggle:focus-visible {
    outline: 2px solid #ECE4D5;
    outline-offset: 4px;
}

/* TABLET */
@media (max-width: 768px) {
    .video-sound-toggle {
        left: 22px;
        bottom: 25px;
        padding: 10px 15px;
        font-size: 10px;
    }
}

/* MOBILE */
@media (max-width: 480px) {
    .video-sound-toggle {
        left: 25px;
        bottom: 100px;
        padding: 9px 12px;
        font-size: 9px;
        letter-spacing: 1px;
    }
}


/* =========================================================
   HERO OVERLAY
========================================================= */

.hero-overlay {

    position: absolute;

    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(35, 39, 28, 0.65),
            rgba(35, 39, 28, 0.10) 70%
        ),
        linear-gradient(
            0deg,
            rgba(35, 39, 28, 0.55),
            transparent 55%
        );
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-content {

    position: relative;

    z-index: 3;

    width: min(1200px, 90%);

    margin: auto;

    padding-top: 8vh;
}


/* =========================================================
   HERO BOTTOM
========================================================= */

.hero-bottom {

    position: absolute;

    z-index: 3;

    left: 5vw;

    right: 5vw;

    bottom: 32px;

    display: flex;

    justify-content: space-between;

    align-items: center;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-content {

    position: relative;

    z-index: 2;

    width: min(1200px, 90%);

    margin: auto;

    padding-top: 8vh;
}


/* KICKER */

.hero-kicker,
.small-kicker {

    display: flex;

    align-items: center;

    gap: 10px;

    text-transform: uppercase;

    letter-spacing: 0.17em;

    font-size: 9px;
}


.hero-kicker span,
.small-kicker span {

    width: 27px;

    height: 1px;

    background: var(--gold);

    display: block;
}


/* =========================================================
   HERO TITLE
========================================================= */

.hero h1 {

    font-family: var(--display);

    font-weight: 500;

    letter-spacing: -0.065em;

    font-size: clamp(58px, 8vw, 122px);

    line-height: 0.88;

    max-width: 950px;

    margin-top: 26px;
}


.hero h1 em,
h2 em,
h3 em {

    font-family: var(--serif);

    font-weight: 400;
}


/* HERO COPY */

.hero-copy {

    max-width: 430px;

    margin-top: 30px;

    font-size: 13px;

    line-height: 1.85;

    color: rgba(236, 228, 213, 0.76);
}


/* HERO ACTIONS */

.hero-actions {

    display: flex;

    align-items: center;

    gap: 28px;

    margin-top: 35px;
}


/* GOLD BUTTON */

.gold-button {

    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 15px 18px;

    background: var(--gold);

    color: #fff;

    font-size: 10px;

    letter-spacing: 0.07em;

    text-transform: uppercase;

    transition: 0.3s ease;
}


.gold-button:hover {

    background: var(--gold);

    transform: translateY(-2px);
}


/* HERO LINK */

.hero-text-link {

    font-size: 10px;

    border-bottom: 1px solid rgba(236, 228, 213, 0.45);

    padding-bottom: 7px;

    text-transform: uppercase;

    letter-spacing: 0.08em;
}


.hero-text-link span {

    margin-left: 12px;
}


/* HERO BOTTOM */

.hero-bottom {

    position: absolute;

    z-index: 2;

    left: 5vw;

    right: 5vw;

    bottom: 32px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: 0.17em;

    opacity: 0.72;
}


.scroll-indicator {

    display: flex;

    align-items: center;

    gap: 12px;
}


.scroll-line {

    width: 34px;

    height: 1px;

    background: var(--cream);
}


.hero-counter {

    display: flex;

    align-items: center;

    gap: 10px;
}


.hero-counter span {

    width: 75px;

    height: 1px;

    background: rgba(236, 228, 213, 0.35);
}


.hero-counter strong {

    font-weight: 500;
}


/* =========================================================
   COMMON SECTIONS
========================================================= */

.section-pad {

    padding: 125px 5vw;
}


.section-number {

    font-size: 9px;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    opacity: 0.52;

    margin-bottom: 38px;
}


h2 {

    font-family: var(--display);

    font-weight: 500;

    font-size: clamp(43px, 5vw, 76px);

    line-height: 0.96;

    letter-spacing: -0.055em;
}


.under-link {

    display: inline-flex;

    gap: 30px;

    margin-top: 32px;

    padding-bottom: 9px;

    border-bottom: 1px solid currentColor;

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 0.08em;
}


/* =========================================================
   INTRO
========================================================= */

.intro {

    background: var(--cream);
}


.intro-grid {

    max-width: 1200px;

    margin: auto;

    display: grid;

    grid-template-columns: 1.1fr 0.9fr;

    gap: 10vw;
}


.intro-copy {

    max-width: 490px;

    padding-top: 5px;
}


.intro-lead {

    font-family: var(--serif);

    font-size: 27px;

    line-height: 1.32;

    margin-bottom: 25px;
}


.intro-copy > p:not(.intro-lead) {

    font-size: 12px;

    line-height: 1.9;

    opacity: 0.68;
}


/* =========================================================
   TILE CATEGORIES
========================================================= */

.tile-categories {

    background: var(--white);
}


.tile-categories .section-heading {

    margin-bottom: 55px;
}


/* =========================================================
   CATEGORY GRID
========================================================= */

.category-grid {

    max-width: 1200px;

    margin: auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 14px;
}


/* =========================================================
   CATEGORY CARD
========================================================= */

.category-card {

    position: relative;

    height: 430px;

    overflow: hidden;

    display: block;

    color: #fff;

    background: var(--dark);
}


.category-card img {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 1s
        cubic-bezier(0.2, 0.7, 0.2, 1);
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.category-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.05) 20%,
            rgba(0,0,0,0.15) 40%,
            rgba(0,0,0,0.82) 100%
        );

    transition: 0.5s ease;
}


/* =========================================================
   CARD HOVER
========================================================= */

.category-card:hover img {

    transform: scale(1.07);
}


.category-card:hover .category-overlay {

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.08),
            rgba(0,0,0,0.88)
        );
}


/* =========================================================
   CATEGORY CONTENT
========================================================= */

.category-content {

    position: absolute;

    left: 28px;

    right: 28px;

    bottom: 28px;

    z-index: 2;
}


.category-content > span {

    display: block;

    font-size: 8px;

    letter-spacing: 0.17em;

    opacity: 0.6;

    margin-bottom: 12px;
}


.category-content h3 {

    font-family: var(--display);

    font-weight: 500;

    font-size: clamp(28px, 3vw, 42px);

    line-height: 0.95;

    letter-spacing: -0.05em;
}


.category-content p {

    margin-top: 12px;

    font-size: 10px;

    line-height: 1.6;

    opacity: 0.7;
}


.category-content b {

    display: inline-flex;

    align-items: center;

    gap: 15px;

    margin-top: 20px;

    font-size: 9px;

    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.1em;
}


.category-content b i {

    font-style: normal;

    font-size: 14px;

    color: var(--gold);

    transition: transform 0.3s ease;
}


.category-card:hover .category-content b i {

    transform: translate(4px, -4px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .category-grid {

        grid-template-columns: repeat(2, 1fr);

    }


    .category-card {

        height: 400px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .category-grid {

        grid-template-columns: 1fr;

    }


    .category-card {

        height: 430px;

    }


    .category-content {

        left: 24px;

        right: 24px;

        bottom: 24px;

    }

}


/* =========================================================
   MATERIAL STRIP
========================================================= */

.material-strip {

    background: var(--dark);

    color: var(--cream);

    padding: 21px 0;

    overflow: hidden;
}


.marquee {

    width: max-content;

    display: flex;

    align-items: center;

    gap: 30px;

    font-family: var(--display);

    font-size: 14px;

    letter-spacing: 0.16em;

    animation: marquee 28s linear infinite;
}


.marquee i {

    color: var(--gold);

    font-size: 8px;
}


@keyframes marquee {

    to {

        transform: translateX(-50%);

    }

}


/* =========================================================
   APPLICATIONS
========================================================= */

.applications {

    background: var(--cream);
}


.heading-copy {

    max-width: 350px;

    font-size: 11px;

    line-height: 1.85;

    opacity: 0.62;
}


.application-feature {

    max-width: 1200px;

    min-height: 620px;

    margin: auto;

    display: grid;

    grid-template-columns: 1.55fr 0.75fr;
}


.application-visual {

    min-height: 600px;

    background:
        linear-gradient(
            135deg,
            #777d64,
            #b5b49d 48%,
            #5c634b
        );

    position: relative;

    overflow: hidden;
}


.application-visual::before {

    content: "";

    position: absolute;

    width: 70%;

    height: 140%;

    top: -20%;

    left: 15%;

    transform: rotate(18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.25),
            transparent
        );

    animation: lightSweep 7s ease-in-out infinite;
}


@keyframes lightSweep {

    0%,
    100% {

        transform:
            translateX(-60%)
            rotate(18deg);

    }

    50% {

        transform:
            translateX(70%)
            rotate(18deg);

    }

}


.application-content {

    background: var(--dark);

    color: var(--cream);

    padding: 48px;

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: end;
}


.feature-number {

    position: absolute;

    top: 48px;

    right: 48px;

    font-size: 9px;

    opacity: 0.42;
}


.application-content h3 {

    font-family: var(--display);

    font-size: clamp(40px, 4vw, 60px);

    line-height: 0.94;

    letter-spacing: -0.05em;

    margin: 22px 0;
}


.feature-copy {

    max-width: 260px;

    font-size: 11px;

    line-height: 1.8;

    opacity: 0.6;
}


.round-arrow {

    width: 50px;

    height: 50px;

    border: 1px solid rgba(236,228,213,0.35);

    display: grid;

    place-items: center;

    margin-top: 34px;

    transition: 0.3s ease;
}


.round-arrow:hover {

    background: var(--gold);

    border-color: var(--gold);
}


/* APPLICATION LIST */

.application-list {

    max-width: 1200px;

    margin: 50px auto 0;

    border-top: 1px solid var(--line);
}


.application-list a {

    display: grid;

    grid-template-columns: 50px 1fr 30px;

    align-items: center;

    padding: 18px 0;

    border-bottom: 1px solid var(--line);

    font-family: var(--display);

    font-size: 18px;

    transition: 0.25s ease;
}


.application-list a:hover {

    padding-left: 12px;

    color: var(--gold);
}


.application-list span,
.application-list b {

    font-size: 9px;

    opacity: 0.5;

    font-weight: 400;
}


/* =========================================================
   EXPORT
========================================================= */

.export-section {

    background: var(--cream);
}


.export-feature {

    max-width: 1200px;

    min-height: 600px;

    margin: auto;

    display: grid;

    grid-template-columns: 1.25fr 0.75fr;
}


/* =========================================================
   EXPORT VISUAL
========================================================= */

.export-visual {

    position: relative;

    min-height: 600px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 55% 45%,
            rgba(170, 135, 85, 0.16),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #454B36,
            #303528
        );
}


.export-glow {

    position: absolute;

    width: 420px;

    height: 420px;

    border-radius: 50%;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    background:
        radial-gradient(
            circle,
            rgba(170, 135, 85, 0.12),
            transparent 65%
        );

    filter: blur(10px);
}


/* =========================================================
   ABSTRACT GLOBAL MAP
========================================================= */

.export-map {

    position: absolute;

    inset: 12% 8%;

    opacity: 0.8;
}


.export-map::before {

    content: "";

    position: absolute;

    width: 75%;

    height: 55%;

    top: 20%;

    left: 12%;

    background:
        radial-gradient(
            ellipse at 30% 45%,
            rgba(236, 228, 213, 0.18) 0 15%,
            transparent 16%
        ),
        radial-gradient(
            ellipse at 60% 30%,
            rgba(236, 228, 213, 0.14) 0 18%,
            transparent 19%
        ),
        radial-gradient(
            ellipse at 75% 65%,
            rgba(236, 228, 213, 0.12) 0 14%,
            transparent 15%
        );

    filter: blur(1px);
}


/* MAP DOTS */

.map-dot {

    position: absolute;

    width: 6px;

    height: 6px;

    border-radius: 50%;

    background: var(--gold);

    box-shadow:
        0 0 0 5px rgba(170, 135, 85, 0.10),
        0 0 18px rgba(170, 135, 85, 0.55);

    animation: exportPulse 3s ease-in-out infinite;
}


.dot-india {

    left: 57%;

    top: 51%;
}


.dot-middleeast {

    left: 47%;

    top: 43%;

    animation-delay: 0.4s;
}


.dot-europe {

    left: 43%;

    top: 27%;

    animation-delay: 0.8s;
}


.dot-africa {

    left: 48%;

    top: 68%;

    animation-delay: 1.2s;
}


.dot-asia {

    left: 72%;

    top: 42%;

    animation-delay: 1.6s;
}


@keyframes exportPulse {

    0%,
    100% {

        transform: scale(1);

        opacity: 0.65;

    }

    50% {

        transform: scale(1.5);

        opacity: 1;

    }

}


/* CONNECTION LINES */

.map-line {

    position: absolute;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold),
            transparent
        );

    transform-origin: left center;

    opacity: 0.35;
}


.line-one {

    width: 150px;

    left: 56%;

    top: 51%;

    transform: rotate(-25deg);
}


.line-two {

    width: 190px;

    left: 56%;

    top: 51%;

    transform: rotate(18deg);
}


.line-three {

    width: 135px;

    left: 56%;

    top: 51%;

    transform: rotate(75deg);
}


/* ORIGIN LABEL */

.export-label {

    position: absolute;

    left: 48px;

    bottom: 45px;

    display: flex;

    flex-direction: column;

    gap: 7px;

    color: var(--cream);
}


.export-label span {

    font-size: 8px;

    letter-spacing: 0.18em;

    opacity: 0.45;
}


.export-label strong {

    font-family: var(--serif);

    font-size: 21px;

    font-weight: 400;
}


/* =========================================================
   EXPORT CONTENT
========================================================= */

.export-content {

    position: relative;

    background: var(--dark);

    color: var(--cream);

    padding: 48px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;
}


.export-content h3 {

    font-family: var(--display);

    font-size: clamp(40px, 4vw, 60px);

    line-height: 0.94;

    letter-spacing: -0.05em;

    margin: 22px 0;
}


.export-content .feature-copy {

    max-width: 300px;
}


.export-stats {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;

    margin-top: 45px;

    padding-top: 25px;

    border-top: 1px solid var(--dark-line);
}


.export-stats div {

    display: flex;

    flex-direction: column;

    gap: 8px;
}


.export-stats strong {

    font-family: var(--serif);

    font-size: 25px;

    font-weight: 400;

    color: var(--gold);
}


.export-stats span {

    font-size: 8px;

    line-height: 1.5;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    opacity: 0.45;
}


/* =========================================================
   EXPORT BOTTOM
========================================================= */

.export-bottom {

    max-width: 1200px;

    margin: 45px auto 0;

    padding-top: 20px;

    border-top: 1px solid var(--line);

    display: flex;

    align-items: center;

    justify-content: space-between;
}


.export-bottom > span {

    font-size: 8px;

    letter-spacing: 0.16em;

    opacity: 0.42;
}


.export-bottom .under-link {

    margin-top: 0;
}


/* =========================================================
   EXPORT RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .export-feature {

        grid-template-columns: 1fr;

    }


    .export-visual {

        min-height: 500px;

    }


    .export-content {

        min-height: 500px;

    }

}


@media (max-width: 650px) {

    .export-visual {

        min-height: 400px;

    }


    .export-content {

        padding: 35px;

        min-height: 470px;

    }


    .export-stats {

        margin-top: 35px;

    }


    .export-bottom {

        flex-direction: column;

        align-items: flex-start;

        gap: 20px;

    }

}


/* =========================================================
   FINAL CTA
========================================================= */

.closing-cta {

    background: var(--cream);

    min-height: 620px;

    display: grid;

    place-items: center;

    text-align: center;
}


.closing-content .centered {

    justify-content: center;

    margin-bottom: 28px;
}


.closing-content .gold-button {

    margin-top: 40px;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {

    background: var(--dark);

    color: var(--cream);

    padding: 75px 5vw 25px;
}


.footer-top {

    display: grid;

    grid-template-columns: 2fr 1fr 1fr;

    gap: 70px;

    padding-bottom: 75px;
}


.footer-logo {

    width: 190px;

    filter: none;

    mix-blend-mode: screen;
}


.footer-tagline {

    font-size: 9px;

    color: var(--gold);

    letter-spacing: 0.12em;

    margin-top: 10px;
}


.footer-column {

    display: flex;

    flex-direction: column;

    gap: 12px;
}


.footer-column span {

    font-size: 9px;

    letter-spacing: 0.15em;

    text-transform: uppercase;

    opacity: 0.35;

    margin-bottom: 5px;
}


.footer-column a {

    font-size: 13px;

    opacity: 0.62;
}


.footer-column a:hover {

    color: var(--gold);

    opacity: 1;
}


@media (max-width: 650px) {

    .footer-bottom {

        padding:
            25px 20px;

        gap: 13px;

    }


    .footer-legal {

        flex-wrap: wrap;

        gap: 10px 18px;

    }


    .footer-made {

        line-height: 1.8;

    }

}


/* =========================================================
   HERO ANIMATIONS
========================================================= */

.reveal-up {

    opacity: 0;

    transform: translateY(28px);

    animation:
        heroReveal 0.9s
        cubic-bezier(0.2,0.7,0.2,1)
        forwards;
}


.delay-1 {

    animation-delay: 0.12s;
}


.delay-2 {

    animation-delay: 0.22s;
}


.delay-3 {

    animation-delay: 0.32s;
}


@keyframes heroReveal {

    to {

        opacity: 1;

        transform: none;

    }

}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.reveal-on-scroll {

    opacity: 0;

    transform: translateY(32px);

    transition:
        opacity 0.9s ease,
        transform 0.9s
        cubic-bezier(0.2,0.7,0.2,1);
}


.reveal-on-scroll.visible {

    opacity: 1;

    transform: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .main-nav,
    .header-button {

        display: none;

    }


    .menu-toggle {

        display: flex;

    }


    /* MOBILE MENU */

    .mobile-menu {

        position: fixed;

        inset: 0;

        z-index: 900;

        background: var(--white);

        color: var(--cream);

        display: flex;

        flex-direction: column;

        justify-content: center;

        padding: 0 9vw;

        transform: translateY(-100%);

        transition:
            transform 0.55s
            cubic-bezier(0.2,0.7,0.2,1);
    }


    .mobile-menu.open {

        transform: none;

    }


    .mobile-menu nav {

        display: flex;

        flex-direction: column;

        gap: 7px;

    }


    .mobile-menu nav a {

        font-family: var(--display);

        font-size: 16px;

        letter-spacing: -0.05em;
        color: var(--dark);
    font-weight: 500;

    }


    .mobile-menu p {

        margin-top: 45px;

        font-size: 14px;

        letter-spacing: 0.18em;

        color: var(--gold);

    }


    .intro-grid,
    .application-feature {

        grid-template-columns: 1fr;

    }


    .collection-grid {

        grid-template-columns: 1fr 1fr;

    }


    .card-large {

        grid-column: span 2;

    }


    .application-content {

        min-height: 450px;

    }


    .footer-top {

        grid-template-columns: 1.5fr 1fr 1fr;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .site-header {

        height: 74px;

        padding: 0 6vw;

    }


    .site-header.scrolled {

        height: 68px;

    }


    .logo-wrap {

        width: 140px;

    }


    .hero-content {

        width: 88%;

        padding-top:0;

    }


    .hero h1 {

        font-size:
            clamp(
                51px,
                15vw,
                80px
            );

    }


    .hero-copy {

        font-size: 12px;

        max-width: 330px;

    }


    .hero-actions {

        flex-direction: column;

        align-items: flex-start;

        gap: 20px;

    }


    .hero-bottom {

        left: 6vw;

        right: 6vw;

    }


    .hero-counter {

        display: none;

    }


    .section-pad {

        padding: 85px 6vw;

    }


    .section-heading {

        display: block;

    }


    .section-heading .under-link {

        margin-top: 25px;

    }


    .intro-grid {

        gap: 50px;

    }


    .collection-grid {

        grid-template-columns: 1fr;

    }


    .card-large {

        grid-column: auto;

    }


    .collection-card {

        height: 480px;

    }


    .application-visual {

        min-height: 380px;

    }


    .application-content {

        padding: 35px;

        min-height: 440px;

    }


    .feature-number {

        top: 35px;

        right: 35px;

    }


    .footer-top {

        grid-template-columns: 1fr;

        gap: 45px;

    }


    .footer-bottom {

        flex-direction: column;

        gap: 8px;

    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {

        scroll-behavior: auto;

    }


    *,
    *::before,
    *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

    }

}


/* =========================================================
   SITE FOOTER
========================================================= */

.site-footer {

    position: relative;

    background: var(--dark);

    color: var(--cream);

    overflow: hidden;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.footer-main {

    max-width: 1500px;

    margin: 0 auto;

    padding: 75px 60px 70px;

    display: grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        1fr
        1fr;

    gap: 55px;
}


/* =========================================================
   BRAND
========================================================= */

.footer-brand {

    min-width: 0;
}


/* =========================================================
   LOGO
========================================================= */

.footer-logo {

    display: inline-block;

    margin-bottom: 25px;
}


.footer-logo img {

    width: 170px;

    max-width: 100%;

    height: auto;

    display: block;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.footer-description {

    max-width: 330px;

    margin: 0;

    color: var(--cream);

    font-size: 12px;

    line-height: 1.8;

    opacity: 0.6;
}


/* =========================================================
   CONTACT BUTTON
========================================================= */

.footer-contact-button {

    display: inline-flex;

    align-items: center;

    gap: 25px;

    margin-top: 28px;

    padding: 13px 17px;

    border: 1px solid
        rgba(236, 228, 213, 0.35);

    color: var(--cream);

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: 0.1em;

    text-decoration: none;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}


.footer-contact-button span {

    font-size: 15px;

    transition:
        transform 0.3s ease;
}


.footer-contact-button:hover {

    background: var(--gold);

    border-color: var(--gold);

    color: #fff;
}


.footer-contact-button:hover span {

    transform:
        translate(4px, -4px);
}


/* =========================================================
   SOCIAL ICONS
========================================================= */

.footer-social {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-top: 28px;
}


.footer-social a {

    width: 36px;

    height: 36px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid
        rgba(236, 228, 213, 0.25);

    color: var(--cream);

    font-size: 13px;

    text-decoration: none;

    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


.footer-social a:hover {

    color: #fff;

    background: var(--gold);

    border-color: var(--gold);

    transform:
        translateY(-3px);
}


/* =========================================================
   FOOTER COLUMN
========================================================= */

.footer-column {

    min-width: 0;
}


.footer-column h3 {

    margin: 0 0 25px;

    color: var(--cream);

    font-size: 13px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.14em;
}


.footer-column ul {

    list-style: none;

    padding: 0;

    margin: 0;
}


.footer-column li {

    margin-bottom: 15px;
}


.footer-column a {

    position: relative;

    display: inline-block;

    color: var(--cream);

    font-size: 13px;

    line-height: 1.5;

    opacity: 0.58;

    text-decoration: none;

    transition:
        color 0.25s ease,
        opacity 0.25s ease,
        transform 0.25s ease;
}


.footer-column a:hover {

    color: var(--gold);

    opacity: 1;

    transform:
        translateX(5px);
}


/* =========================================================
   CONTACT STRIP
========================================================= */

.footer-contact-strip {

    max-width: 1500px;

    margin: 0 auto;

    padding: 0 60px 55px;
}


.footer-contact-info {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 25px;

    padding-top: 25px;

    border-top:
        1px solid var(--dark-line);
}


.footer-label {

    color: var(--gold);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.footer-email,
.footer-phone {

    color: var(--cream);

    font-family: var(--display);

    text-decoration: none;

    transition:
        color 0.25s ease;
}


.footer-email {

    font-size: 15px;
}


.footer-phone {

    font-size: 13px;

    opacity: 0.7;
}


.footer-email:hover,
.footer-phone:hover {

    color: var(--gold);
}


.footer-location {

    color: var(--cream);

    font-size: 13px;

    opacity: 0.45;
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {

    max-width: 100%;

    margin: 0;

    padding: 24px 60px;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap: 30px;

    border-top:
        1px solid var(--dark-line);
}


/* =========================================================
   COPYRIGHT
========================================================= */

.footer-copyright {

    color: var(--cream);

    font-size: 13px;

    opacity: 0.4;
}


/* =========================================================
   LEGAL LINKS
========================================================= */

.footer-legal {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 25px;
}


.footer-legal a {

    color: var(--cream);

    font-size: 13px;

    text-decoration: none;

    opacity: 0.45;

    transition:
        color 0.25s ease,
        opacity 0.25s ease;
}


.footer-legal a:hover {

    color: var(--gold);

    opacity: 1;
}


/* =========================================================
   MADE / TAGLINE
========================================================= */

.footer-made {

    justify-self: end;

    color: var(--cream);

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: 0.08em;

    opacity: 0.4;
}


.footer-made span {

    margin: 0 8px;

    color: var(--gold);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .footer-main {

        grid-template-columns:
            1.4fr
            1fr
            1fr
            1fr;

        gap: 45px;

    }


    .footer-brand {

        grid-column: span 4;

    }


    .footer-description {

        max-width: 500px;

    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 850px) {

    .footer-main {

        padding:
            65px 35px
            60px;

        grid-template-columns:
            repeat(2, 1fr);

        gap: 50px 35px;

    }


    .footer-brand {

        grid-column: span 2;

    }


    .footer-contact-strip {

        padding:
            0 35px 50px;

    }


    .footer-bottom {

        padding:
            25px 35px;

        grid-template-columns:
            1fr;

        text-align: center;

        gap: 15px;

    }


    .footer-legal {

        order: 2;

    }


    .footer-made {

        order: 3;

        justify-self: center;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .footer-main {

        padding:
            55px 24px
            50px;

        grid-template-columns:
            1fr 1fr;

        gap: 45px 25px;

    }


    .footer-brand {

        grid-column: span 2;

    }


    .footer-logo img {

        width: 145px;

    }


    .footer-description {

        max-width: 100%;

        font-size: 16px;

    }


    .footer-column h3 {

        margin-bottom: 20px;

        font-size: 15px;

    }


    .footer-column li {

        margin-bottom: 12px;

    }


    .footer-column a {

        font-size: 14px;

    }


    .footer-contact-strip {

        padding:
            0 24px
            45px;

    }


    .footer-contact-info {

        align-items: flex-start;

        flex-direction: column;

        gap: 12px;

    }


    .footer-email {

        font-size: 14px;

    }


    .footer-bottom {

        padding:
            25px 20px;

        gap: 15px;

    }


    .footer-legal {

        flex-wrap: wrap;

        gap: 10px 18px;

    }


    .footer-made {

        line-height: 1.8;

    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .footer-main {

        grid-template-columns:
            1fr;

    }


    .footer-brand {

        grid-column: span 1;
    }
}


/* =========================================================
   CERTIFICATES
========================================================= */

.certificates {
    background: var(--white);
    overflow: hidden;
}

.certificates-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 70px;
}

.certificate-card {
    position: relative;
    overflow: hidden;
    background: var(--cream);
}

.certificate-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.32;
    overflow: hidden;
    background: var(--cream);
}

.certificate-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 20px;
    transition:
        transform .7s cubic-bezier(.2,.65,.25,1);
}

.certificate-card:hover .certificate-image img {
    transform: scale(1.035);
}

.certificate-info {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 18px 20px;

    border-top: 1px solid var(--line);

    background: var(--white);
}

.certificate-number {
    font-family: var(--display);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--gold);
}

.certificate-label {
    font-family: var(--display);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--dark);
}


/* =========================================================
   CERTIFICATES — TABLET
========================================================= */

@media (max-width: 950px) {

    .certificates-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 15px;
        margin-top: 50px;
    }

    .certificate-image {
        aspect-ratio: 1 / 1.32;
    }

    .certificate-image img {
        padding: 12px;
    }

    .certificate-info {
        padding: 14px;
    }

}


/* =========================================================
   CERTIFICATES — MOBILE
========================================================= */

@media (max-width: 650px) {

    .certificates-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 45px;
    }

    .certificate-image {
        aspect-ratio: 1 / 1.3;
    }

    .certificate-image img {
        padding: 20px;
    }

    .certificate-info {
        padding: 16px 18px;
    }

}


/* =========================================================
   CERTIFICATES — SMALL MOBILE
========================================================= */

@media (max-width: 450px) {

    .certificates-grid {
        gap: 24px;
    }

}

/* =========================================================
   TESTIMONIALS
========================================================= */

.testimonials {
    background: var(--dark);
    color: var(--cream);
    overflow: hidden;
}

.testimonials .section-number {
    color: var(--gold);
}

.testimonials .section-heading h2 {
    color: var(--cream);
}

.testimonials .heading-copy {
    color: rgba(236, 228, 213, .7);
}

.testimonial-layout {
    display: grid;
    grid-template-columns: .7fr 1.3fr;
    gap: 90px;
    margin-top: 65px;
    align-items: stretch;
}

.testimonial-side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 360px;
    border-right: 1px solid var(--dark-line);
    padding: 0 45px 15px 0;
}

.testimonial-quote-mark {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 150px;
    line-height: .8;
}

.testimonial-side > p {
    font-family: var(--display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .16em;
    line-height: 2;
}

.testimonial-side-line {
    width: 55px;
    height: 1px;
    background: var(--gold);
}

.testimonial-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.testimonial-stars {
    color: var(--gold);
    font-size: 16px;
    letter-spacing: 5px;
    margin-bottom: 28px;
}

.testimonial-slides {
    display: grid;
}

.testimonial-slide {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition:
        opacity .45s ease,
        transform .45s ease,
        visibility .45s ease;
    pointer-events: none;
}

.testimonial-slide.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.testimonial-slide blockquote {
    margin: 0;
    max-width: 720px;
    font-family: var(--serif);
    font-size: clamp(25px, 3vw, 39px);
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: -.035em;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 35px;
}

.testimonial-avatar {
    width: 45px;
    height: 45px;
    border: 1px solid rgba(236, 228, 213, .3);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: 10px;
    letter-spacing: .08em;
}

.testimonial-author h3 {
    font-family: var(--display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    margin: 0 0 6px;
}

.testimonial-author p {
    font-family: var(--display);
    color: rgba(236, 228, 213, .55);
    font-size: 9px;
    letter-spacing: .08em;
    margin: 0;
}

.testimonial-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 45px;
}

.testimonial-dots {
    display: flex;
    align-items: center;
    gap: 9px;
}

.testimonial-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(236, 228, 213, .3);
    cursor: pointer;
    transition:
        background .3s ease,
        transform .3s ease;
}

.testimonial-dot.active {
    background: var(--gold);
    transform: scale(1.35);
}

.testimonial-arrows {
    display: flex;
    gap: 10px;
}

.testimonial-arrow {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border: 1px solid var(--dark-line);
    border-radius: 50%;
    background: transparent;
    color: var(--cream);
    font-size: 17px;
    cursor: pointer;
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.testimonial-arrow:hover {
    color: var(--dark);
    background: var(--gold);
    border-color: var(--gold);
}

.testimonial-progress {
    width: 100%;
    height: 1px;
    margin-top: 28px;
    background: var(--dark-line);
    overflow: hidden;
}

.testimonial-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--gold);
}


/* TABLET */

@media (max-width: 950px) {
    .testimonial-layout {
        grid-template-columns: .45fr 1.55fr;
        gap: 40px;
    }

    .testimonial-side {
        padding-right: 25px;
    }

    .testimonial-quote-mark {
        font-size: 110px;
    }

    .testimonial-slide blockquote {
        font-size: 29px;
    }
}


/* MOBILE */

@media (max-width: 650px) {
    .testimonial-layout {
        grid-template-columns: 1fr;
        gap: 35px;
        margin-top: 45px;
    }

    .testimonial-side {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--dark-line);
        padding: 0 0 22px;
        gap: 15px;
    }

    .testimonial-quote-mark {
        font-size: 85px;
    }

    .testimonial-side > p {
        font-size: 9px;
    }

    .testimonial-slide blockquote {
        font-size: 26px;
    }

    .testimonial-author {
        margin-top: 25px;
    }

    .testimonial-controls {
        margin-top: 32px;
    }
}

@media (max-width: 450px) {
    .testimonial-slide blockquote {
        font-size: 23px;
    }

    .testimonial-arrow {
        width: 38px;
        height: 38px;
    }
}
