﻿﻿﻿ /**
* Template Name: Restaurantly
* Template URL: https://bootstrapmade.com/restaurantly-restaurant-template/
* Updated: Aug 07 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
/*--------------------------------------------------------------
# Font & Color Variables
# Help: https://bootstrapmade.com/color-system/
--------------------------------------------------------------*/
/* ================================
   PRESTIGEA – MAIN BRAND FONT
   ================================ */
@font-face {
    font-family: "Prestigea";
    src: url("/fonts/prestigea/Prestigea.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Prestigea";
    src: url("/fonts/prestigea/Prestigea-Oblique.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}


.page-title {
    padding: 60px 0 24px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-title.dark-background {
    background: rgba(0,0,0,.35);
}

.page-title h1 {
    font-size: 38px;
    margin: 0 0 8px 0;
}

/* Fonts */
:root {
    --default-font: "Prestigea", serif;
    --heading-font: "Prestigea", serif;
    --nav-font: "Prestigea", serif;
}


/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root {
    /* LIGHT MODE (premium white + navy) */
    --background-color: #000000;
    --surface-color: #ffffff;
    --default-color: #0B1422; /* navy text */
    --heading-color: #0B1422;
    --contrast-color: #ffffff; /* for buttons on navy */
    --accent-color: #2F55D4; /* refined blue accent */
    --line: rgba(15, 23, 42, 0.12);
    --muted: rgba(11, 20, 34, 0.68);
}

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
:root {
    --nav-color: #ffffff;
    --nav-hover-color: #d5dced;
    --nav-mobile-background-color: #0b1422;
    --nav-dropdown-background-color: #0b1422;
    --nav-dropdown-color: #ffffff;
    --nav-dropdown-hover-color: #d5dced;
}

/* Color Presets - These classes override global colors when applied to any section or element, providing reuse of the sam color scheme. */

.light-background {
    --background-color: #29261f;
    --surface-color: #464135;
}

.dark-background {
    --background-color: #000000;
    --default-color: #ffffff;
    --heading-color: #ffffff;
    --surface-color: #1a1a1a;
    --contrast-color: #ffffff;
}

/* Smooth scroll */
:root {
    scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
    color: var(--default-color);
    background-color: var(--background-color);
    font-family: var(--default-font);
}

a {
    color: var(--accent-color);
    text-decoration: none;
    transition: 0.3s;
}

    a:hover {
        color: color-mix(in srgb, var(--accent-color), transparent 25%);
        text-decoration: none;
    }

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--heading-color);
    font-family: var(--heading-font);
}

/* PHP Email Form Messages
------------------------------*/
.php-email-form .error-message {
    display: none;
    background: #df1529;
    color: #ffffff;
    text-align: left;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.php-email-form .sent-message {
    display: none;
    color: #ffffff;
    background: #059652;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.php-email-form .loading {
    display: none;
    background: var(--surface-color);
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
}

    .php-email-form .loading:before {
        content: "";
        display: inline-block;
        border-radius: 50%;
        width: 24px;
        height: 24px;
        margin: 0 10px -6px 0;
        border: 3px solid var(--accent-color);
        border-top-color: var(--surface-color);
        animation: php-email-form-loading 1s linear infinite;
    }

@keyframes php-email-form-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Pulsating Play Button
------------------------------*/
.pulsating-play-btn {
    width: 94px;
    height: 94px;
    background: radial-gradient(var(--accent-color) 50%, color-mix(in srgb, var(--accent-color), transparent 75%) 52%);
    border-radius: 50%;
    display: block;
    position: relative;
    overflow: hidden;
}

    .pulsating-play-btn:before {
        content: "";
        position: absolute;
        width: 120px;
        height: 120px;
        animation-delay: 0s;
        animation: pulsate-play-btn 2s;
        animation-direction: forwards;
        animation-iteration-count: infinite;
        animation-timing-function: steps;
        opacity: 1;
        border-radius: 50%;
        border: 5px solid color-mix(in srgb, var(--accent-color), transparent 30%);
        top: -15%;
        left: -15%;
        background: rgba(198, 16, 0, 0);
    }

    .pulsating-play-btn:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateX(-40%) translateY(-50%);
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #fff;
        z-index: 100;
        transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    .pulsating-play-btn:hover:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateX(-40%) translateY(-50%);
        width: 0;
        height: 0;
        border: none;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #fff;
        z-index: 200;
        animation: none;
        border-radius: 0;
    }

    .pulsating-play-btn:hover:after {
        border-left: 15px solid var(--accent-color);
        transform: scale(20);
    }

@keyframes pulsate-play-btn {
    0% {
        transform: scale(0.6, 0.6);
        opacity: 1;
    }

    100% {
        transform: scale(1, 1);
        opacity: 0;
    }
}

/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
    --background-color: rgba(12, 11, 9, 0.61);
    color: var(--default-color);
    transition: all 0.5s;
    z-index: 997;
}

    .header .topbar {
        height: 40px;
        padding: 0;
        font-size: 14px;
        transition: all 0.5s;
    }

        .header .topbar .contact-info i {
            font-style: normal;
            color: var(--accent-color);
        }

            .header .topbar .contact-info i a,
            .header .topbar .contact-info i span {
                padding-left: 5px;
                color: var(--default-color);
            }

@media (max-width: 575px) {

    .header .topbar .contact-info i a,
    .header .topbar .contact-info i span {
        font-size: 13px;
    }
}

.header .topbar .contact-info i a {
    line-height: 0;
    transition: 0.3s;
}

    .header .topbar .contact-info i a:hover {
        color: var(--accent-color);
        text-decoration: underline;
    }

.header .topbar .languages ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    color: var(--accent-color);
}

    .header .topbar .languages ul a {
        color: var(--default-color);
    }

        .header .topbar .languages ul a:hover {
            color: var(--accent-color);
        }

    .header .topbar .languages ul li + li {
        padding-left: 10px;
    }

        .header .topbar .languages ul li + li::before {
            display: inline-block;
            padding-right: 10px;
            color: color-mix(in srgb, var(--default-color), transparent 10%);
            content: "/";
        }

.header .branding {
    background-color: var(--background-color);
    min-height: 60px;
    padding: 10px 0;
    transition: 0.3s;
    border-bottom: 1px solid var(--background-color);
}

.header .logo {
    line-height: 1;
}

    .header .logo img {
        max-height: 36px;
        margin-right: 8px;
    }

    .header .logo h1 {
        font-size: 30px;
        margin: 0;
        font-weight: 700;
        color: var(--heading-color);
    }

.header .btn-book-a-table,
.header .btn-book-a-table:focus {
    color: var(--default-color);
    border: 2px solid var(--accent-color);
   
    font-size: 14px;
    padding: 6px 24px;
    margin: 0 5px 0 30px;
    border-radius: 50px;
    transition: 0.3s;
}

    .header .btn-book-a-table:hover,
    .header .btn-book-a-table:focus:hover {
        color: var(--default-color);
        background: var(--accent-color);
    }

.scrolled .header .topbar {
    height: 0;
    visibility: hidden;
    overflow: hidden;
}

.scrolled .header .branding {
    border-color: color-mix(in srgb, var(--accent-color), transparent 80%);
}

/* Global Header on Scroll
------------------------------*/
.scrolled .header {
    background: rgba(11, 20, 34, 0.92) !important;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Navmenu - Desktop */
@media (min-width: 1200px) {
    .navmenu {
        padding: 0;
    }

        .navmenu ul {
            margin: 0;
            padding: 0;
            display: flex;
            list-style: none;
            align-items: center;
        }

        .navmenu li {
            position: relative;
        }

        .navmenu a,
        .navmenu a:focus {
            color: var(--nav-color);
            padding: 18px 15px;
            font-size: 14px;
            font-family: var(--nav-font);
            font-weight: 400;
            display: flex;
            align-items: center;
            justify-content: space-between;
            white-space: nowrap;
            transition: 0.3s;
        }

            .navmenu a i,
            .navmenu a:focus i {
                font-size: 12px;
                line-height: 0;
                margin-left: 5px;
                transition: 0.3s;
            }

        .navmenu li:last-child a {
            padding-right: 0;
        }

        .navmenu li:hover > a,
        .navmenu .active,
        .navmenu .active:focus {
            color: var(--nav-hover-color);
        }

        .navmenu .dropdown ul {
            margin: 0;
            padding: 10px 0;
            background: var(--nav-dropdown-background-color);
            display: block;
            position: absolute;
            visibility: hidden;
            left: 14px;
            top: 130%;
            opacity: 0;
            transition: 0.3s;
            border-radius: 4px;
            z-index: 99;
        }

            .navmenu .dropdown ul li {
                min-width: 200px;
            }

            .navmenu .dropdown ul a {
                padding: 10px 20px;
                font-size: 15px;
                text-transform: none;
                color: var(--nav-dropdown-color);
            }

                .navmenu .dropdown ul a i {
                    font-size: 12px;
                }

                .navmenu .dropdown ul a:hover,
                .navmenu .dropdown ul .active:hover,
                .navmenu .dropdown ul li:hover > a {
                    color: var(--nav-dropdown-hover-color);
                }

        .navmenu .dropdown:hover > ul {
            opacity: 1;
            top: 100%;
            visibility: visible;
        }

        .navmenu .dropdown .dropdown ul {
            top: 0;
            left: -90%;
            visibility: hidden;
        }

        .navmenu .dropdown .dropdown:hover > ul {
            opacity: 1;
            top: 0;
            left: -100%;
            visibility: visible;
        }
}

/* Navmenu - Mobile */
@media (max-width: 1199px) {
    .mobile-nav-toggle {
        color: var(--nav-color);
        font-size: 28px;
        line-height: 0;
        margin-right: 10px;
        cursor: pointer;
        transition: color 0.3s;
    }

    .navmenu {
        padding: 0;
        z-index: 9997;
    }

        .navmenu ul {
            display: none;
            list-style: none;
            position: absolute;
            inset: 60px 20px 20px 20px;
            padding: 10px 0;
            margin: 0;
            border-radius: 6px;
            background-color: var(--nav-mobile-background-color);
            border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
            overflow-y: auto;
            transition: 0.3s;
            z-index: 9998;
        }

        .navmenu a,
        .navmenu a:focus {
            color: var(--nav-dropdown-color);
            padding: 10px 20px;
            font-family: var(--nav-font);
            font-size: 17px;
            font-weight: 500;
            display: flex;
            align-items: center;
            justify-content: space-between;
            white-space: nowrap;
            transition: 0.3s;
        }

            .navmenu a i,
            .navmenu a:focus i {
                font-size: 12px;
                line-height: 0;
                margin-left: 5px;
                width: 30px;
                height: 30px;
                display: flex;
                align-items: center;
                justify-content: center;
                border-radius: 50%;
                transition: 0.3s;
                background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
            }

                .navmenu a i:hover,
                .navmenu a:focus i:hover {
                    background-color: var(--accent-color);
                    color: var(--contrast-color);
                }

            .navmenu a:hover,
            .navmenu .active,
            .navmenu .active:focus {
                color: var(--nav-dropdown-hover-color);
            }

                .navmenu .active i,
                .navmenu .active:focus i {
                    background-color: var(--accent-color);
                    color: var(--contrast-color);
                    transform: rotate(180deg);
                }

        .navmenu .dropdown ul {
            position: static;
            display: none;
            z-index: 99;
            padding: 10px 0;
            margin: 10px 20px;
            background-color: var(--nav-dropdown-background-color);
            border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
            box-shadow: none;
            transition: all 0.5s ease-in-out;
        }

            .navmenu .dropdown ul ul {
                background-color: rgba(33, 37, 41, 0.1);
            }

        .navmenu .dropdown > .dropdown-active {
            display: block;
            background-color: rgba(33, 37, 41, 0.03);
        }

    .mobile-nav-active {
        overflow: hidden;
    }

        .mobile-nav-active .mobile-nav-toggle {
            color: #fff;
            position: absolute;
            font-size: 32px;
            top: 15px;
            right: 15px;
            margin-right: 0;
            z-index: 9999;
        }

        .mobile-nav-active .navmenu {
            position: fixed;
            overflow: hidden;
            inset: 0;
            background: rgba(33, 37, 41, 0.8);
            transition: 0.3s;
        }

            .mobile-nav-active .navmenu > ul {
                display: block;
            }
}

/*--------------------------------------------------------------
# Global Footer
--------------------------------------------------------------*/
.footer {
    color: var(--default-color);
    background-color: var(--background-color);
    font-size: 14px;
    padding-bottom: 50px;
    position: relative;
}

    .footer .footer-top {
        padding-top: 50px;
        border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    }

    .footer .footer-about .logo {
        line-height: 1;
        margin-bottom: 25px;
    }

        .footer .footer-about .logo img {
            max-height: 40px;
            margin-right: 6px;
        }

        .footer .footer-about .logo span {
            font-size: 26px;
            font-weight: 700;
            letter-spacing: 1px;
            font-family: var(--heading-font);
            color: var(--heading-color);
        }

    .footer .footer-about p {
        font-size: 14px;
        font-family: var(--heading-font);
    }

    .footer .social-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid color-mix(in srgb, var(--default-color), transparent 50%);
        font-size: 16px;
        color: color-mix(in srgb, var(--default-color), transparent 30%);
        margin-right: 10px;
        transition: 0.3s;
    }

        .footer .social-links a:hover {
            color: var(--accent-color);
            border-color: var(--accent-color);
        }

    .footer h4 {
        font-size: 16px;
        font-weight: bold;
        position: relative;
        padding-bottom: 12px;
    }

    .footer .footer-links {
        margin-bottom: 30px;
    }

        .footer .footer-links ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

            .footer .footer-links ul i {
                padding-right: 2px;
                font-size: 12px;
                line-height: 0;
            }

            .footer .footer-links ul li {
                padding: 10px 0;
                display: flex;
                align-items: center;
            }

                .footer .footer-links ul li:first-child {
                    padding-top: 0;
                }

            .footer .footer-links ul a {
                color: color-mix(in srgb, var(--default-color), transparent 30%);
                display: inline-block;
                line-height: 1;
            }

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

    .footer .footer-contact p {
        margin-bottom: 5px;
    }

    .footer .footer-newsletter .newsletter-form {
        margin-top: 30px;
        margin-bottom: 15px;
        padding: 6px 8px;
        position: relative;
        border-radius: 4px;
        border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
        display: flex;
        background-color: var(--background-color);
        transition: 0.3s;
    }

        .footer .footer-newsletter .newsletter-form:focus-within {
            border-color: var(--accent-color);
        }

        .footer .footer-newsletter .newsletter-form input[type=email] {
            border: 0;
            padding: 4px;
            width: 100%;
            background-color: var(--background-color);
            color: var(--default-color);
        }

            .footer .footer-newsletter .newsletter-form input[type=email]:focus-visible {
                outline: none;
            }

        .footer .footer-newsletter .newsletter-form input[type=submit] {
            border: 0;
            font-size: 16px;
            padding: 0 20px;
            margin: -7px -8px -7px 0;
            background: var(--accent-color);
            color: var(--contrast-color);
            transition: 0.3s;
            border-radius: 0 4px 4px 0;
        }

            .footer .footer-newsletter .newsletter-form input[type=submit]:hover {
                background: color-mix(in srgb, var(--accent-color), transparent 20%);
            }

    .footer .copyright {
        padding-top: 25px;
        padding-bottom: 25px;
        border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    }

        .footer .copyright p {
            margin-bottom: 0;
        }

    .footer .credits {
        margin-top: 6px;
        font-size: 13px;
    }

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    overflow: hidden;
    background: var(--background-color);
    transition: all 0.6s ease-out;
}

    #preloader:before {
        content: "";
        position: fixed;
        top: calc(50% - 30px);
        left: calc(50% - 30px);
        border: 6px solid #ffffff;
        border-color: var(--accent-color) transparent var(--accent-color) transparent;
        border-radius: 50%;
        width: 60px;
        height: 60px;
        animation: animate-preloader 1.5s linear infinite;
    }

@keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background-color: var(--accent-color);
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

    .scroll-top i {
        font-size: 24px;
        color: var(--contrast-color);
        line-height: 0;
    }

    .scroll-top:hover {
        background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
        color: var(--contrast-color);
    }

    .scroll-top.active {
        visibility: visible;
        opacity: 1;
    }

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    [data-aos-delay] {
        transition-delay: 0 !important;
    }
}

/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
    color: var(--default-color);
    background-color: var(--background-color);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 160px 0 80px 0;
    text-align: center;
    position: relative;
}

    .page-title:before {
        content: "";
        background: linear-gradient(
        180deg,
        rgba(11,20,34,.55),
        rgba(11,20,34,.35)
    );
        position: absolute;
        inset: 0;
    }

    .page-title h1 {
        font-size: 42px;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .page-title .breadcrumbs ol {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        justify-content: center;
        padding: 0;
        margin: 0;
        font-size: 16px;
        font-weight: 400;
    }

        .page-title .breadcrumbs ol li + li {
            padding-left: 10px;
        }

            .page-title .breadcrumbs ol li + li::before {
                content: "/";
                display: inline-block;
                padding-right: 10px;
                color: color-mix(in srgb, var(--default-color), transparent 50%);
            }

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
    color: var(--default-color);
    background-color: var(--background-color);
    padding: 60px 0;
    scroll-margin-top: 77px;
    overflow: clip;
}

@media (max-width: 1199px) {

    section,
    .section {
        scroll-margin-top: 60px;
    }
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
    padding-bottom: 60px;
    position: relative;
}

    .section-title h2 {
        font-size: 14px;
        font-weight: 500;
        padding: 0;
        line-height: 1px;
        margin: 0;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: color-mix(in srgb, var(--default-color), transparent 30%);
        position: relative;
    }

        .section-title h2::after {
            content: "";
            width: 120px;
            height: 1px;
            display: inline-block;
            background: var(--accent-color);
            margin: 4px 10px;
        }

    .section-title p {
        color: var(--accent-color);
        margin: 0;
        font-size: 36px;
        font-weight: 600;
        font-family: var(--heading-font);
    }

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
    width: 100%;
    min-height: 100vh;
    position: relative;
    padding: 80px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--default-color);
}

    .hero img {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    .hero:before {
        content: "";
        background: color-mix(in srgb, var(--background-color), transparent 50%);
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .hero .container {
        position: relative;
        z-index: 3;
    }

    .hero h2 {
        margin: 0;
        font-size: 48px;
        font-weight: 700;
    }

        .hero h2 span {
            color: var(--accent-color);
        }

    .hero p {
        color: color-mix(in srgb, var(--default-color), transparent 20%);
        margin: 10px 0 0 0;
        font-size: 24px;
    }

    .hero .cta-btn {
        color: var(--default-color);
        border: 2px solid var(--accent-color);
        font-weight: 400;
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 1px;
        display: inline-block;
        padding: 8px 30px;
        border-radius: 50px;
        transition: 0.3s;
        flex-shrink: 0;
    }

        .hero .cta-btn:first-child {
            margin-right: 10px;
        }

        .hero .cta-btn:hover {
            background: color-mix(in srgb, var(--accent-color), transparent 20%);
        }

@media (max-width: 480px) {
    .hero .cta-btn {
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .hero h2 {
        font-size: 32px;
    }

    .hero p {
        font-size: 18px;
    }
}

/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about {
    background: url("../img/about-bg.jpg") center center;
    background-size: cover;
    position: relative;
    padding: 80px 0;
}

    .about:before {
        content: "";
        background: color-mix(in srgb, var(--background-color), transparent 12%);
        position: absolute;
        bottom: 0;
        top: 0;
        left: 0;
        right: 0;
    }

    .about .container {
        position: relative;
    }

    .about .content h3 {
        font-size: 1.75rem;
        font-weight: 700;
    }

    .about .content .fst-italic {
        color: color-mix(in srgb, var(--default-color), var(--contrast-color) 50%);
    }

    .about .content ul {
        list-style: none;
        padding: 0;
    }

        .about .content ul li {
            padding: 10px 0 0 0;
            display: flex;
        }

        .about .content ul i {
            color: var(--accent-color);
            margin-right: 0.5rem;
            line-height: 1.2;
            font-size: 1.25rem;
        }

    .about .content p:last-child {
        margin-bottom: 0;
    }

    .about .about-img {
        border: 6px solid color-mix(in srgb, var(--default-color), transparent 80%);
        transition: 0.3s;
    }

        .about .about-img:hover {
            transform: scale(1.03);
        }


/*--------------------------------------------------------------
# Menu Section
--------------------------------------------------------------*/
.menu {
    background-color: color-mix(in srgb, var(--background-color) 90%, white 5%);
}

    .menu .menu-filters {
        padding: 0;
        margin: 0 auto;
        list-style: none;
        text-align: center;
        border-radius: 50px;
    }

        .menu .menu-filters li {
            color: var(--default-color);
            margin-bottom: 10px;
            cursor: pointer;
            display: inline-block;
            padding: 8px 12px 10px 12px;
            font-size: 16px;
            font-weight: 500;
            line-height: 1;
            transition: all ease-in-out 0.3s;
            font-family: var(--heading-font);
        }

            .menu .menu-filters li:hover,
            .menu .menu-filters li.filter-active {
                color: var(--accent-color);
            }

            .menu .menu-filters li:last-child {
                margin-right: 0;
            }

    .menu .menu-item {
        margin-top: 50px;
        position: relative;
    }

    .menu .menu-img {
        width: 80px;
        border-radius: 50%;
        float: left;
        border: 8px solid color-mix(in srgb, var(--default-color), transparent 90%);
    }

    .menu .menu-content {
        margin-left: 95px;
        overflow: hidden;
        display: flex;
        justify-content: space-between;
        position: relative;
    }

        .menu .menu-content::after {
            content: "......................................................................" "...................................................................." "....................................................................";
            position: absolute;
            left: 20px;
            right: 0;
            top: -4px;
            z-index: 1;
            color: color-mix(in srgb, var(--default-color), transparent 60%);
            font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        }

        .menu .menu-content a {
            color: var(--heading-color);
            background: var(--background-color);
            padding-right: 10px;
            position: relative;
            z-index: 3;
            font-weight: 700;
            transition: 0.3s;
        }

            .menu .menu-content a:hover {
                color: var(--accent-color);
            }

        .menu .menu-content span {
            background: var(--background-color);
            color: var(--accent-color);
            position: relative;
            z-index: 3;
            padding: 0 10px;
            font-weight: 600;
        }

    .menu .menu-ingredients {
        margin-left: 95px;
        font-style: italic;
        font-size: 14px;
        font-family: var(--nav-font);
        color: color-mix(in srgb, var(--default-color), transparent 50%);
    }

/*--------------------------------------------------------------
# Specials Section
--------------------------------------------------------------*/
.specials {
    overflow: hidden;
}

    .specials .nav-tabs {
        border: 0;
    }

    .specials .nav-link {
        border: 0;
        padding: 12px 15px;
        transition: 0.3s;
        color: var(--heading-color);
        border-radius: 0;
        border-right: 2px solid var(--accent-color);
        font-weight: 600;
        font-size: 15px;
    }

        .specials .nav-link:hover {
            color: var(--accent-color);
        }

        .specials .nav-link.active {
            color: var(--contrast-color);
            background-color: var(--accent-color);
        }

    .specials .tab-pane.active {
        animation: fadeIn 0.5s ease-out;
    }

    .specials .details h3 {
        font-size: 26px;
        font-weight: 600;
        margin-bottom: 20px;
    }

    .specials .details p {
        color: color-mix(in srgb, var(--default-color), transparent 20%);
    }

        .specials .details p:last-child {
            margin-bottom: 0;
        }

@media (max-width: 992px) {
    .specials .nav-link {
        border: 0;
        padding: 15px;
    }

        .specials .nav-link.active {
            color: var(--accent-color);
            background: var(--accent-color);
        }
}

/*--------------------------------------------------------------
# Events Section
--------------------------------------------------------------*/
.events {
    --default-color: #ffffff;
    --background-color: #000000;
    --heading-color: #ffffff;
    padding: 80px 0;
    position: relative;
}

    .events .slider-bg {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    .events:before {
        content: "";
        background-color: color-mix(in srgb, var(--background-color), transparent 30%);
        position: absolute;
        inset: 0;
        z-index: 2;
    }

    .events .section-title h2 {
        color: #ffffff;
    }

    .events .container {
        position: relative;
        z-index: 3;
    }

    .events .event-item h3 {
        font-weight: 700;
        font-size: 30px;
    }

    .events .event-item .price {
        font-size: 26px;
        font-family: var(--default-font);
        font-weight: 700;
        margin-bottom: 15px;
    }

        .events .event-item .price span {
            border-bottom: 2px solid var(--accent-color);
        }

    .events .event-item ul {
        list-style: none;
        padding: 0;
    }

        .events .event-item ul li {
            padding-bottom: 10px;
        }

        .events .event-item ul i {
            font-size: 20px;
            padding-right: 4px;
            color: var(--accent-color);
        }

    .events .event-item p:last-child {
        margin-bottom: 0;
    }

    .events .swiper-wrapper {
        height: auto;
    }

    .events .swiper-pagination {
        margin-top: 30px;
        position: relative;
    }

        .events .swiper-pagination .swiper-pagination-bullet {
            width: 12px;
            height: 12px;
            background-color: color-mix(in srgb, var(--default-color), transparent 70%);
            opacity: 1;
        }

        .events .swiper-pagination .swiper-pagination-bullet-active {
            background-color: var(--accent-color);
        }

/*--------------------------------------------------------------
# Book A Table Section
--------------------------------------------------------------*/
.book-a-table .reservation-img {
    min-height: 500px;
    background-size: cover;
    background-position: center;
}

.book-a-table .reservation-form-bg {
    background: color-mix(in srgb, var(--default-color), transparent 97%);
}

.book-a-table .php-email-form {
    padding: 30px;
}

@media (max-width: 575px) {
    .book-a-table .php-email-form {
        padding: 20px;
    }
}

.book-a-table .php-email-form input[type=text],
.book-a-table .php-email-form input[type=email],
.book-a-table .php-email-form input[type=number],
.book-a-table .php-email-form input[type=date],
.book-a-table .php-email-form input[type=time],
.book-a-table .php-email-form textarea {
    font-size: 14px;
    padding: 10px 15px;
    box-shadow: none;
    border-radius: 0;
    color: var(--default-color);
    background-color: color-mix(in srgb, var(--background-color), transparent 20%);
    border-color: color-mix(in srgb, var(--default-color), transparent 80%);
}

    .book-a-table .php-email-form input[type=text]:focus,
    .book-a-table .php-email-form input[type=email]:focus,
    .book-a-table .php-email-form input[type=number]:focus,
    .book-a-table .php-email-form input[type=date]:focus,
    .book-a-table .php-email-form input[type=time]:focus,
    .book-a-table .php-email-form textarea:focus {
        border-color: var(--accent-color);
    }

    .book-a-table .php-email-form input[type=text]::placeholder,
    .book-a-table .php-email-form input[type=email]::placeholder,
    .book-a-table .php-email-form input[type=number]::placeholder,
    .book-a-table .php-email-form input[type=date]::placeholder,
    .book-a-table .php-email-form input[type=time]::placeholder,
    .book-a-table .php-email-form textarea::placeholder {
        color: color-mix(in srgb, var(--default-color), transparent 70%);
    }

.book-a-table .php-email-form button[type=submit] {
    color: var(--default-color);
    border: 2px solid var(--accent-color);
    background: transparent;
    padding: 14px 60px;
    transition: 0.4s;
    border-radius: 50px;
}

    .book-a-table .php-email-form button[type=submit]:hover {
        background: var(--accent-color);
    }

/*--------------------------------------------------------------
# Testimonials Section
--------------------------------------------------------------*/
.testimonials .testimonials-carousel,
.testimonials .testimonials-slider {
    overflow: hidden;
}

.testimonials .testimonial-item {
    box-sizing: content-box;
    min-height: 320px;
}

    .testimonials .testimonial-item .testimonial-img {
        width: 90px;
        border-radius: 50%;
        margin: -40px 0 0 40px;
        position: relative;
        z-index: 2;
        border: 6px solid var(--background-color);
    }

    .testimonials .testimonial-item h3 {
        font-size: 18px;
        font-weight: bold;
        margin: 10px 0 5px 45px;
    }

    .testimonials .testimonial-item h4 {
        font-size: 14px;
        color: color-mix(in srgb, var(--default-color), transparent 20%);
        margin: 0 0 0 45px;
    }

    .testimonials .testimonial-item .quote-icon-left,
    .testimonials .testimonial-item .quote-icon-right {
        color: color-mix(in srgb, var(--accent-color), transparent 50%);
        font-size: 26px;
        line-height: 0;
    }

    .testimonials .testimonial-item .quote-icon-left {
        display: inline-block;
        left: -5px;
        position: relative;
    }

    .testimonials .testimonial-item .quote-icon-right {
        display: inline-block;
        right: -5px;
        position: relative;
        top: 10px;
        transform: scale(-1, -1);
    }

    .testimonials .testimonial-item p {
        font-style: italic;
        margin: 0 15px 0 15px;
        padding: 20px 20px 60px 20px;
        background: color-mix(in srgb, var(--default-color), transparent 97%);
        position: relative;
        border-radius: 6px;
        position: relative;
        z-index: 1;
    }

.testimonials .swiper-wrapper {
    height: auto;
}

.testimonials .swiper-pagination {
    margin-top: 20px;
    position: relative;
}

    .testimonials .swiper-pagination .swiper-pagination-bullet {
        width: 12px;
        height: 12px;
        background-color: var(--background-color);
        opacity: 1;
        border: 1px solid var(--accent-color);
    }

    .testimonials .swiper-pagination .swiper-pagination-bullet-active {
        background-color: var(--accent-color);
    }


/*--------------------------------------------------------------
# Starter Section Section
--------------------------------------------------------------*/
.starter-section {
    /* Add your styles here */
}

/* ======================================================================
   DINE IN — Elegant redesign (single source of truth)
   Keeps Restaurantly structure, removes conflicting duplicate patches.
   Palette: Navy / White / Soft Grey
======================================================================== */

/* ---- Core palette + typography tuning ---- */
:root {
    --bg-navy: #0B1422;
    --bg-navy-2: #111C2E;
    --paper: #ffffff;
    --paper-soft: #F5F6F8;
    --text: #0B1422;
    --muted: rgba(11,20,34,.72);
    --line: rgba(15,23,42,.10);
    --accent: #1D4ED8; /* refined blue */
}

/* Light site by default (matches the reference vibe) */
:root {
    --background-color: var(--paper);
    --surface-color: var(--paper);
    --default-color: var(--text);
    --heading-color: var(--text);
    --accent-color: var(--accent);
    --contrast-color: #ffffff;
}

/* ---- Marble site background (behind content) ----
   Put your marble image here (the one you already have):
   wwwroot/theme/restaurantly/assets/img/bg-marble-navy.png
*/
html, body {
    min-height: 100%;
  background-image: url("/theme/restaurantly/assets/img/bg-marble-navy.png");
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

body {
    background-color: transparent;
    color: var(--text);
}

/* Give content a soft “paper” canvas while letting marble breathe */
.main, main.main {
    background: transparent;
}

section, .section {
    background: transparent;
    padding: 76px 0;
}

@media (max-width: 768px) {
    section, .section {
        padding: 56px 0;
    }
}

/* Keep hero + dark slider sections free of paper background */
#hero.hero, #services.events, .breadcrumbs, .page-title {
    background: transparent !important;
    border-top: 0 !important;
}

/* ---- Header (white, minimal, premium) ---- */
.header {
    --background-color: rgba(255,255,255,.86);
    color: var(--text);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(15,23,42,.06);
}

    .header .branding {
        border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .header .logo h1 {
        color: #ffffff;
        font-weight: 700;
        letter-spacing: .02em;
    }

    /* Remove the top bezel bar (kept in markup but hidden) */
    .header .topbar {
        display: none !important;
    }


/* Header right-side utilities */
.header-utilities {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lang-switcher {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-right: 6px;
}

    .lang-switcher a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 32px;
        padding: 0 10px;
        border-radius: 999px;
        border: 1px solid rgba(15,23,42,.12);
        color: rgba(11,20,34,.72);
        font-size: 12px;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

        .lang-switcher a:hover {
            border-color: rgba(29,78,216,.28);
            color: rgba(11,20,34,.92);
        }

        .lang-switcher a.is-active {
            background: rgba(29,78,216,.10);
            border-color: rgba(29,78,216,.24);
            color: rgba(11,20,34,.92);
        }

/* CTA buttons in header */
.header-cta {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.14);
    color: rgba(11,20,34,.92);
    font-family: var(--nav-font);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    background: rgba(255,255,255,.65);
}

    .btn-cta:hover {
        background: rgba(255,255,255,.90);
        border-color: rgba(15,23,42,.20);
        color: rgba(11,20,34,.98);
    }

    .btn-cta.primary {
        background: rgba(11,20,34,.92);
        border-color: rgba(11,20,34,.92);
        color: #fff;
    }

        .btn-cta.primary:hover {
            background: rgba(11,20,34,.98);
        }

/* ---- Section titles (centered, editorial) ---- */
.section-title {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 42px auto;
    padding-bottom: 0;
}

    .section-title h2 {
        font-size: 12px;
        letter-spacing: .22em;
        font-weight: 600;
        text-transform: uppercase;
        color: rgba(11,20,34,.55);
        margin-bottom: 10px;
        line-height: 1.2;
    }

        .section-title h2::after {
            display: none;
        }

    .section-title p {
        color: var(--text);
        margin: 0 auto;
        max-width: 760px;
        font-size: clamp(1.6rem, 2.6vw, 2.15rem);
        font-weight: 500;
        line-height: 1.25;
    }

/* ---- Hero (dark navy overlay, big serif) ---- */
.hero {
    min-height: 92vh;
    padding: 120px 0 96px 0;
}

    .hero:before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(1200px 520px at 18% 10%, rgba(255,255,255,.10), transparent 55%), linear-gradient(90deg, rgba(11,20,34,.80) 0%, rgba(11,20,34,.46) 55%, rgba(11,20,34,.25) 100%);
        z-index: 2;
    }

    .hero img {
        filter: saturate(1.02) contrast(1.04);
    }

    .hero h2 {
        font-size: clamp(2.6rem, 5.1vw, 4.1rem);
        font-weight: 650;
        letter-spacing: .01em;
    }

    .hero p {
        font-size: 1.1rem;
        max-width: 52ch;
        line-height: 1.6;
        color: rgba(255,255,255,.86);
    }

    .hero .cta-btn {
        border-radius: 999px;
        padding: 12px 22px;
        border-width: 1px;
        letter-spacing: .16em;
        font-size: 12px;
        font-weight: 600;
        background: rgba(255,255,255,.08);
        border-color: rgba(255,255,255,.34);
    }

        .hero .cta-btn:hover {
            background: rgba(255,255,255,.14);
            border-color: rgba(255,255,255,.50);
        }

/* ---- Cards (airy, not blocky) ---- */
.card-item,
.event-card,
.review-card,
.standard-card,
.contact-card,
.contact-form-card {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    padding: 28px 28px;
    box-shadow: 0 14px 40px rgba(15,23,42,.07);
}

@media (max-width: 575px) {
    .card-item,
    .event-card,
    .review-card,
    .standard-card,
    .contact-card,
    .contact-form-card {
        padding: 20px 18px;
        border-radius: 16px;
    }
}

.card-item span {
    color: rgba(11,20,34,.35);
    font-weight: 600;
}

.card-item h4 a {
    color: rgba(11,20,34,.92);
}

.card-item p,
.event-card p,
.review-text,
.bio,
.standard-card p,
.contact-text {
    color: var(--muted);
    line-height: 1.75;
}

/* Add more breathing room between rows */
.row.gy-4 {
    --bs-gutter-y: 2.4rem;
}

.row.g-4 {
    --bs-gutter-y: 2.4rem;
}

/* ---- About image: editorial crop ---- */
.about .about-img {
    border-radius: 20px;
    border: 1px solid rgba(15,23,42,.10);
    box-shadow: 0 16px 44px rgba(15,23,42,.10);
}




/* ---- Reviews: quote-style, minimal ---- */
.review-card {
    box-shadow: 0 14px 40px rgba(15,23,42,.08);
}

    .review-card p {
        margin: 0;
        font-size: 15px;
        line-height: 1.7;
        color: rgba(11,20,34,.76);
        position: relative;
        padding-left: 28px;
    }

        .review-card p::before {
            content: "“";
            position: absolute;
            left: 0;
            top: -10px;
            font-size: 46px;
            line-height: 1;
            color: rgba(11,20,34,.18);
            font-family: var(--heading-font);
        }

.review-name {
    font-weight: 650;
    color: rgba(11,20,34,.92);
}

.review-note {
    color: rgba(11,20,34,.55);
}

/* ---- Contact form ---- */
.contact-page .form-control {
    border-radius: 12px;
    border: 1px solid rgba(15,23,42,.14);
    padding: 10px 12px;
    box-shadow: none !important;
}

    .contact-page .form-control:focus {
        border-color: rgba(29,78,216,.40);
    }

/* ---- Services slider: keep elegant + calm, not blocky ---- */
#services .slider-bg {
    filter: brightness(.62) contrast(1.05);
}

#services.events .event-item {
    background: rgba(255,255,255,.90);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 18px 55px rgba(0,0,0,.20);
}

    #services.events .event-item .content {
        background: transparent;
        border: 0;
        padding: 6px 6px 6px 10px;
    }

    #services.events .event-item h3 {
        color: rgba(11,20,34,.92);
        font-size: 1.34rem;
        font-weight: 600;
        margin: 0 0 6px 0;
    }

    #services.events .event-item .fst-italic {
        font-style: normal;
        color: rgba(15,23,42,.68);
        line-height: 1.6;
        margin: 0 0 14px 0;
    }

    #services.events .event-item ul {
        list-style: none;
        padding: 0;
        margin: 12px 0 14px;
    }

        #services.events .event-item ul li {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            padding: 10px 0;
            border-bottom: 1px solid rgba(15,23,42,.08);
        }

            #services.events .event-item ul li:last-child {
                border-bottom: 0;
            }

#services .text-center a {
    background: rgba(255,255,255,0.10);
    color: rgba(255,255,255,0.92);
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 999px;
    padding: 11px 20px;
    font-weight: 600;
    letter-spacing: 0.15px;
    text-decoration: none;
}

    #services .text-center a:hover {
        background: rgba(255,255,255,0.16);
        border-color: rgba(255,255,255,0.40);
        color: #fff;
    }

/* ---- Small utility: prevent fixed header overlap on custom pages ---- */
.events-page,
.gallery-page-top,
.reviews-page,
.team-page,
.contact-page {
    padding-top: 18px;
}


/* ================================
   HEADER — FORCE DARK NAVY ALWAYS
   (Restaurantly uses .header .branding as the visible bar)
================================ */

/* set the header variable too (branding uses it) */
.header {
    --background-color: rgba(11, 20, 34, 0.96) !important;
    background: rgba(11, 20, 34, 0.96) !important;
    color: #fff !important;
}

    /* THIS is the strip you see */
    .header .branding {
        background: rgb(11, 34, 79) !important;
        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }

    /* logo */
    .header .logo h1,
    .header .logo span,
    .header .logo a {
        color: #fff !important;
    }


/* mobile toggle icon */
.mobile-nav-toggle {
    color: #fff !important;
}

/* language pills in header (your EN/EL) */
.lang-switcher a {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.90) !important;
}

    .lang-switcher a.is-active {
        background: rgba(255,255,255,.16) !important;
        border-color: rgba(255,255,255,.32) !important;
        color: #fff !important;
    }

/* stop any “scroll style” changes */
.scrolled .header,
.scrolled .header .branding {
    background: rgb(11, 34, 79) !important;
    --background-color: rgb(11, 34, 79) !important;
    transform: none !important; /* in case hide-on-scroll exists */
}



/* Keep marble visible: make Index sections "glass" instead of white blocks */
.index-page section.section:not(#hero):not(#services) {
    background: transparent;
}

/* HERO: glass panel + calmer alignment */
.index-page #hero.hero {
    min-height: 100vh;
    height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
}

.index-page #hero .hero-panel {
    max-width: 640px;
    padding: 28px 26px;
    border-radius: 22px;
    background: rgba(11, 20, 34, 0.36);
    border: 1px solid rgba(255,255,255,0.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 22px 70px rgba(0,0,0,.35);
}

.index-page #hero .hero-kicker {
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
    margin-bottom: 10px;
}

.index-page #hero .hero-title {
    margin: 0;
    font-size: clamp(2.2rem, 4.8vw, 3.7rem);
    font-weight: 650;
    letter-spacing: .01em;
}

    .index-page #hero .hero-title span {
        color: rgba(255,255,255,.96);
    }

.index-page #hero .hero-lead {
    margin: 12px 0 0 0;
    max-width: 52ch;
    color: rgba(255,255,255,.86);
    line-height: 1.6;
    font-size: 1.05rem;
}

.index-page #hero .hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.index-page #hero .hero-note {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.72);
    font-size: 0.95rem;
}

/* Smaller, calmer play button */
.index-page #hero .hero-play {
    width: 86px;
    height: 86px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.20);
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 16px 44px rgba(0,0,0,.30);
}

    .index-page #hero .hero-play::after {
        content: "";
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 14px solid rgba(255,255,255,0.92);
        transform: translateX(2px);
    }

/* WHY US: 3 premium cards */
.index-page #why-us .feature-card {
    border-radius: 18px;
    padding: 22px 22px;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(15, 23, 42, 0.10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 14px 40px rgba(15,23,42,0.10);
}

.index-page #why-us .feature-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(29, 78, 216, 0.08);
    border: 1px solid rgba(29, 78, 216, 0.16);
    color: rgba(29, 78, 216, 0.92);
    margin-bottom: 14px;
}

.index-page #why-us .feature-card h4 {
    margin: 0 0 8px 0;
    font-weight: 650;
    color: rgba(11,20,34,.92);
}

.index-page #why-us .feature-card p {
    margin: 0;
    color: rgba(11,20,34,.72);
    line-height: 1.7;
}

/* GALLERY PREVIEW: clean grid + hover */
.index-page #gallery-preview .gallery-preview-item {
    position: relative;
    display: block;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(15,23,42,0.20);
}

    .index-page #gallery-preview .gallery-preview-item img {
        width: 100%;
        height: auto;
        display: block;
        transform: scale(1.02);
        transition: transform .45s ease, filter .45s ease;
    }

    .index-page #gallery-preview .gallery-preview-item:hover img {
        transform: scale(1.05);
        filter: saturate(1.05);
    }

.index-page #gallery-preview .gallery-preview-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.28);
    opacity: 0;
    transition: opacity .25s ease;
}

.index-page #gallery-preview .gallery-preview-item:hover .gallery-preview-overlay {
    opacity: 1;
}

.index-page #gallery-preview .gallery-preview-overlay i {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.18);
}

/* Titles on light/glass sections should be dark, not white-pill */
.index-page #why-us .section-subtitle,
.index-page #reviews-preview .section-subtitle,
.index-page #gallery-preview .section-subtitle {
    color: rgba(11,20,34,.92) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
}

/* On marble, make section title kicker readable */
.index-page #why-us .section-title h2,
.index-page #gallery-preview .section-title h2,
.index-page #reviews-preview .section-title h2 {
    color: rgba(11,20,34,.58) !important;
}

@media (max-width: 991px) {
    .index-page #hero .hero-panel {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .index-page #hero .hero-play {
        width: 76px;
        height: 76px;
    }
}

/* ================================
   HOME HERO — Elegant / Editorial
================================ */

.hero-elegant {
    min-height: 92vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: 110px 0 90px;
    background: transparent !important; /* keep marble logic intact */
    overflow: hidden;
}

    .hero-elegant .hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
        filter: saturate(1.05) contrast(1.05);
    }

    /* premium overlay that keeps it readable but not “heavy” */
    .hero-elegant::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background: radial-gradient(900px 420px at 18% 18%, rgba(255,255,255,.10), transparent 55%), linear-gradient(90deg, rgba(11,20,34,.78) 0%, rgba(11,20,34,.46) 55%, rgba(11,20,34,.22) 100%);
    }

    .hero-elegant .container {
        z-index: 3;
    }

/* Glass panel */
.hero-glass {
    border-radius: 22px;
    padding: 30px 30px 22px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(11,20,34,.32);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 24px 80px rgba(0,0,0,.35);
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: rgba(255,255,255,.78);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 12px;
}

    .hero-kicker .dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: rgba(255,255,255,.75);
        box-shadow: 0 0 0 4px rgba(255,255,255,.08);
    }

.hero-title {
    margin: 0 0 10px;
    font-family: var(--heading-font);
    font-weight: 600;
    letter-spacing: .01em;
    color: #fff;
    font-size: clamp(2.1rem, 4.2vw, 3.6rem);
    line-height: 1.12;
}

    .hero-title .hero-brand {
        color: rgba(255,255,255,.92);
        text-decoration: none;
        border-bottom: 2px solid rgba(255,255,255,.16);
    }

.hero-subtitle {
    margin: 0 0 20px;
    color: rgba(255,255,255,.84);
    max-width: 52ch;
    line-height: 1.7;
    font-size: 1.05rem;
}

/* Actions */
.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.btn-hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    font-family: var(--nav-font);
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    border: 1px solid rgba(255,255,255,.26);
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.08);
    transition: all .25s ease;
}

    .btn-hero:hover {
        background: rgba(255,255,255,.14);
        border-color: rgba(255,255,255,.40);
        color: #fff;
    }

.btn-hero-primary {
    background: rgba(255,255,255,.92);
    border-color: rgba(255,255,255,.92);
    color: rgba(11,20,34,.95);
}

    .btn-hero-primary:hover {
        background: #fff;
        border-color: #fff;
    }

/* Meta row */
.hero-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.meta-top {
    color: rgba(255,255,255,.92);
    font-weight: 600;
    font-size: 13px;
}

.meta-bottom {
    color: rgba(255,255,255,.70);
    font-size: 13px;
}

.meta-divider {
    width: 1px;
    height: 30px;
    background: rgba(255,255,255,.14);
}

/* Minimal play button (calmer than template) */
.hero-play {
    width: 76px;
    height: 76px;
    border-radius: 999px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 18px 60px rgba(0,0,0,.35);
    transition: all .25s ease;
}

    .hero-play:hover {
        transform: translateY(-2px);
        border-color: rgba(255,255,255,.34);
        background: rgba(11,20,34,.30);
    }

    .hero-play::before {
        content: "";
        width: 0;
        height: 0;
        border-left: 14px solid rgba(255,255,255,.92);
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        margin-left: 3px;
    }

/* small scroll hint */
.hero-scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    opacity: .75;
}

    .hero-scroll-hint span {
        display: block;
        width: 22px;
        height: 34px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.35);
        position: relative;
    }

        .hero-scroll-hint span::after {
            content: "";
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(255,255,255,.82);
            position: absolute;
            left: 50%;
            top: 8px;
            transform: translateX(-50%);
            animation: heroDot 1.6s infinite;
        }

@keyframes heroDot {
    0% {
        opacity: .2;
        transform: translateX(-50%) translateY(0);
    }

    40% {
        opacity: 1;
    }

    100% {
        opacity: .2;
        transform: translateX(-50%) translateY(14px);
    }
}

@media (max-width: 991px) {
    .hero-elegant {
        padding: 96px 0 72px;
    }

    .meta-divider {
        display: none;
    }

    .hero-play {
        width: 66px;
        height: 66px;
    }
}

/* ================================
   WHY US — Editorial “Glass Cards”
================================ */

.whyus-editorial {
    background: transparent !important; /* keep marble visible */
    padding: 80px 0;
}

.whyus-head {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 34px;
}

.whyus-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.72);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.whyus-title {
    margin: 14px 0 0;
    font-family: var(--heading-font);
    font-weight: 600;
    letter-spacing: .01em;
    color: #fff;
    font-size: clamp(1.9rem, 3.0vw, 2.6rem);
    line-height: 1.22;
    text-shadow: 0 18px 50px rgba(0,0,0,.35);
}

/* Card base (glass) */
.whyus-card {
    height: 100%;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    padding: 22px 22px 20px;
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

    .whyus-card:hover {
        transform: translateY(-4px);
        border-color: rgba(255,255,255,.22);
        background: rgba(11,20,34,.28);
    }

/* Micro top row */
.whyus-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.whyus-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
}

    .whyus-icon i {
        font-size: 18px;
    }

.whyus-line {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(255,255,255,.20), rgba(255,255,255,0));
}

/* Type */
.whyus-card-title {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.35rem;
}

.whyus-card-text {
    margin: 0 0 16px;
    color: rgba(255,255,255,.78);
    line-height: 1.75;
}

/* Badges */
.whyus-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.whyus-badge {
    font-size: 12px;
    color: rgba(255,255,255,.86);
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
}

/* Media variant */
.whyus-card-media {
    padding: 0;
}

.whyus-media {
    height: 190px;
    position: relative;
    overflow: hidden;
}

    .whyus-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1.02);
        filter: saturate(1.05) contrast(1.05);
    }

    .whyus-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(11,20,34,.10), rgba(11,20,34,.55));
    }

.whyus-card-body {
    padding: 18px 22px 20px;
}

/* Signature strip */
.whyus-signature {
    margin: 26px auto 0;
    max-width: 980px;
    text-align: center;
    color: rgba(255,255,255,.74);
    letter-spacing: .08em;
    font-size: 12px;
    text-transform: uppercase;
    padding: 12px 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

    .whyus-signature .sig-dot {
        display: inline-block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: rgba(255,255,255,.55);
        margin: 0 10px;
        vertical-align: middle;
    }

    .whyus-signature .sig-strong {
        color: rgba(255,255,255,.92);
        font-weight: 700;
    }

/* Mobile tightening */
@media (max-width: 575px) {
    .whyus-card {
        padding: 18px 18px 16px;
        border-radius: 18px;
    }

    .whyus-card-body {
        padding: 16px 18px 16px;
    }

    .whyus-media {
        height: 170px;
    }
}

/* ================================
   WHY US — Editorial Story (About)
================================ */

.whyus-story-wrap {
    margin-top: 64px;
}

.whyus-story {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 32px;
    align-items: center;
    padding: 28px;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
}

/* Image */
.whyus-story-media {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    height: 80%;
    min-height: 360px;
}

    .whyus-story-media img {
        width: 100%;
        height: 80%;
        object-fit: cover;
        filter: saturate(.95) contrast(.95) brightness(.9);
        transform: scale(1.04);
    }

    /* Image blend */
    .whyus-story-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, rgba(11,20,34,.15), rgba(11,20,34,.65) );
    }

/* Text */
.whyus-story-content {
    color: rgba(255,255,255,.88);
    padding: 12px 6px;
}

.story-eyebrow {
    display: inline-block;
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255,255,255,.70);
    margin-bottom: 10px;
}

.story-lead {
    font-family: var(--heading-font);
    font-size: 1.55rem;
    font-weight: 500;
    line-height: 1.35;
    color: #fff;
    margin-bottom: 14px;
}

.story-body {
    line-height: 1.75;
    color: rgba(255,255,255,.78);
    margin-bottom: 20px;
}

/* Bullet replacement */
.story-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

    .story-points span {
        font-size: 13px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.18);
        background: rgba(255,255,255,.06);
        color: rgba(255,255,255,.90);
    }

/* Mobile */
@media (max-width: 991px) {
    .whyus-story {
        grid-template-columns: 1fr;
    }

    .whyus-story-media {
        min-height: 260px;
    }
}


/* ======================================
   SERVICES — Clean editorial version
====================================== */

.services-signature {
    background: transparent !important;
    padding: 90px 0;
}

    .services-signature::before {
        display: none !important;
    }

.services-head {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 34px;
}

.services-eyebrow {
    display: inline-block;
    color: #0f2a44;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.services-title {
    margin: 0;
    color: #0f2a44;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    line-height: 1.2;
    text-shadow: none;
}

/* Swiper width */
.services-swiper .swiper-slide.services-slide {
    width: min(1080px, 94vw);
}

/* Main card */
.service-card {
    border-radius: 28px;
    overflow: hidden;
    background: rgba(255,255,255,.28);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 22px 70px rgba(15,23,42,.10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Image area */
.service-media {
    height: 360px;
    position: relative;
}

    .service-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: brightness(0.96) contrast(1.02) saturate(0.92);
        transform: scale(1.01);
    }

    .service-media::after {
        display: none;
    }

/* Text area */
.service-glass {
    background: linear-gradient( to right, rgba(255,255,255,0.75), rgba(255,255,255,0.0) );
    backdrop-filter: none;
}

.service-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.service-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(15,42,68,.06);
    border: 1px solid rgba(15,42,68,.10);
    color: #0f2a44;
}

.service-kicker {
    color: #3c4a5a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.service-title {
    margin: 0 0 10px;
    color: #0f2a44;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.55rem;
}

.service-lead {
    margin: 0 0 16px;
    color: #3c4a5a;
    line-height: 1.75;
}

.service-points {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
    display: grid;
    gap: 10px;
}

    .service-points li {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .service-points i {
        color: #0f2a44;
        font-size: 15px;
        margin-top: 3px;
    }

    .service-points span {
        color: #3c4a5a;
        line-height: 1.65;
    }

.service-body {
    margin: 0;
    color: #3c4a5a;
    line-height: 1.8;
}

/* Pagination */
.services-swiper .swiper-pagination {
    margin-top: 22px;
    position: relative;
}

.services-swiper .swiper-pagination-bullet {
    background: rgba(15,42,68,.25) !important;
    opacity: 1 !important;
}

.services-swiper .swiper-pagination-bullet-active {
    background: #0f2a44 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .service-media {
        height: 250px;
    }

    .service-glass {
        padding: 22px 18px 22px;
    }

    .service-title {
        font-size: 1.3rem;
    }
}


/* ================================
   REVIEWS — Editorial / Press Quotes
================================ */

.reviews-editorial {
    background: transparent !important; /* marble visible */
    padding: 86px 0;
}

.reviews-head {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 28px;
}

.reviews-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(11,20,34,.22);
    color: rgba(255,255,255,.74);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.reviews-title {
    margin: 14px 0 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.9rem, 3.0vw, 2.6rem);
    line-height: 1.2;
    text-shadow: 0 18px 50px rgba(0,0,0,.35);
}

/* Shared card base (glass) */
.review-feature,
.review-compact {
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    overflow: hidden;
}

.review-feature {
    padding: 26px 26px 22px;
    position: relative;
}

.review-feature-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.review-mark {
    font-family: var(--heading-font);
    font-size: 56px;
    line-height: 1;
    color: rgba(255,255,255,.20);
    margin-top: -6px;
}

.review-feature-text {
    margin: 0 0 18px;
    color: rgba(255,255,255,.90);
    font-family: var(--heading-font);
    font-weight: 500;
    line-height: 1.45;
    font-size: clamp(1.25rem, 2.0vw, 1.55rem);
    max-width: 55ch;
}

/* Stars (calm, not loud) */
.review-stars {
    display: inline-flex;
    gap: 6px;
    color: rgba(255,255,255,.70);
    font-size: 14px;
}

/* Person row */
.review-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
}

    .review-avatar.mini {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

.review-name {
    color: rgba(255,255,255,.92);
    font-weight: 650;
}

.review-note {
    color: rgba(255,255,255,.68);
    font-size: 13px;
}

/* Feature pills */
.review-feature-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.12);
}

    .review-feature-foot .pill {
        font-size: 12px;
        padding: 7px 10px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.16);
        background: rgba(255,255,255,.06);
        color: rgba(255,255,255,.86);
    }

/* Right column stack */
.reviews-stack {
    display: grid;
    gap: 14px;
    height: 100%;
}

.review-compact {
    padding: 18px 18px 16px;
}

.review-compact-top {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.review-compact-text {
    margin: 0 0 14px;
    color: rgba(255,255,255,.82);
    line-height: 1.75;
}

/* CTA */
.reviews-cta-wrap {
    display: flex;
    justify-content: center;
}

.reviews-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.24);
    background: rgba(255,255,255,.10);
    color: rgba(255,255,255,.92);
    text-decoration: none;
    font-family: var(--nav-font);
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 18px 60px rgba(0,0,0,.22);
    transition: all .25s ease;
}

    .reviews-cta:hover {
        background: rgba(255,255,255,.16);
        border-color: rgba(255,255,255,.36);
        color: #fff;
        transform: translateY(-2px);
    }

    .reviews-cta i {
        font-size: 16px;
    }

/* Mobile */
@media (max-width: 575px) {
    .review-feature {
        padding: 20px 18px 18px;
        border-radius: 18px;
    }

    .review-compact {
        border-radius: 18px;
    }

    .review-mark {
        font-size: 46px;
    }
}

/* ================================
   HERO — TRUE FULL SCREEN
================================ */

#hero.hero-elegant {
    min-height: 100vh;
    height: 100vh;
    padding: 0;
    display: flex;
    align-items: center;
}

/* account for fixed header height */
@media (min-width: 992px) {
    #hero.hero-elegant {
        min-height: calc(100vh - 72px);
        height: calc(100vh - 72px);
        margin-top: 72px;
    }
}

@media (max-width: 991px) {
    #hero.hero-elegant {
        min-height: calc(100vh - 64px);
        height: calc(100vh - 64px);
        margin-top: 64px;
    }
}

/* make sure image REALLY fills */
#hero.hero-elegant .hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* container should not add height */
#hero.hero-elegant .container {
    padding-top: 0;
    padding-bottom: 0;
}

/* ================================
   EVENTS PAGE — Editorial / Glass
================================ */

.events-page.events-editorial {
    background: transparent !important;
}

/* Replace breadcrumbs with a premium hero header */
.events-hero {
    padding: 110px 0 44px;
    background: transparent !important;
}

.events-hero-inner {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    padding: 26px 22px;
}

.events-eyebrow {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.78);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 12px;
}

.events-title {
    margin: 14px 0 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.8rem, 3.0vw, 2.5rem);
    line-height: 1.2;
    text-shadow: 0 18px 50px rgba(0,0,0,.35);
}

.events-hero-actions {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Event tiles */
.events-cover {
    background: transparent !important;
    padding: 42px 0 90px;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}

.event-tile {
    grid-column: span 6;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 24px 80px rgba(0,0,0,.26);
    padding: 18px 18px;
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

    .event-tile:hover {
        transform: translateY(-3px);
        border-color: rgba(255,255,255,.22);
        background: rgba(11,20,34,.28);
    }

.event-ico {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    flex: 0 0 auto;
}

    .event-ico i {
        font-size: 18px;
    }

.event-body h3 {
    margin: 0 0 6px;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.25rem;
}

.event-body p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.75;
}

.events-cta-text h4 {
    margin: 0 0 6px;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
}

.events-cta-text p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.7;
    max-width: 62ch;
}

.events-cta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 991px) {
    .event-tile {
        grid-column: span 12;
    }

    .events-hero {
        padding: 96px 0 34px;
    }
}


/* ================================
   GALLERY PAGE — Editorial / Glass
================================ */

/* Make sure marble stays visible */
.gallery-page-top,
.gallery-page-top #main,
.gallery-page-top .breadcrumbs,
.gallery-page-top #gallery,
.gallery-page-top .section-bg {
    background: transparent !important;
}

    /* Replace breadcrumbs look with premium header strip */
    .gallery-page-top .breadcrumbs {
        padding: 110px 0 26px;
    }

        .gallery-page-top .breadcrumbs h2 {
            margin: 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 10px 16px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.18);
            background: rgba(11,20,34,.22);
            color: rgba(255,255,255,.92);
            letter-spacing: .22em;
            text-transform: uppercase;
            font-size: 12px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

    /* Subtitle */
    .gallery-page-top .section-title {
        text-align: center;
        margin-bottom: 18px;
    }

    .gallery-page-top .section-subtitle {
        margin: 10px 0 0;
        color: #fff;
        font-family: var(--heading-font);
        font-weight: 600;
        font-size: clamp(1.6rem, 2.6vw, 2.2rem);
        line-height: 1.2;
        text-shadow: 0 18px 50px rgba(0,0,0,.35);
    }



        .gallery-page-top li {
            cursor: pointer;
            user-select: none;
            padding: 10px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.18);
            background: rgba(11,20,34,.18);
            color: rgba(255,255,255,.78);
            font-family: var(--nav-font);
            letter-spacing: .10em;
            text-transform: uppercase;
            font-size: 11px;
            transition: all .25s ease;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

            .gallery-page-top  li:hover {
                background: rgba(11,20,34,.26);
                border-color: rgba(255,255,255,.28);
                color: rgba(255,255,255,.92);
                transform: translateY(-1px);
            }

        .gallery-page-top  .filter-active {
            background: rgba(255,255,255,.92);
            border-color: rgba(255,255,255,.92);
            color: rgba(11,20,34,.96);
        }

    /* Grid spacing */
    .gallery-page-top .isotope-container {
        margin-top: 6px;
    }

    /* Gallery item: premium tile */
    .gallery-page-top .gallery-item {
        border-radius: 22px;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,.14);
        background: rgba(11,20,34,.18);
        box-shadow: 0 22px 75px rgba(0,0,0,.28);
        position: relative;
        transform: translateZ(0);
    }

        /* image */
        .gallery-page-top .gallery-item img {
            width: 100%;
            height: 580px; /* consistent tiles */
            object-fit: cover;
            display: block;
            filter: saturate(1.02) contrast(1.02);
            transform: scale(1.02);
            transition: transform .35s ease, filter .35s ease;
        }

    /* overlay */
    .gallery-page-top .gallery-overlay {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        opacity: 0;
        transition: opacity .25s ease;
        background: radial-gradient(600px 260px at 50% 55%, rgba(255,255,255,.12), rgba(11,20,34,.65));
    }

        .gallery-page-top .gallery-overlay i {
            width: 54px;
            height: 54px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255,255,255,.22);
            background: rgba(11,20,34,.22);
            color: #fff;
            box-shadow: 0 18px 60px rgba(0,0,0,.35);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

    /* hover */
    .gallery-page-top .gallery-item:hover img {
        transform: scale(1.06);
        filter: saturate(1.05) contrast(1.05);
    }

    .gallery-page-top .gallery-item:hover .gallery-overlay {
        opacity: 1;
    }

/* Responsive image heights */
@media (max-width: 991px) {
    .gallery-page-top .breadcrumbs {
        padding: 96px 0 20px;
    }

    .gallery-page-top .gallery-item img {
        height: 540px;
    }
}

@media (max-width: 575px) {
    .gallery-page-top .gallery-item img {
        height: 510px;
    }
}


/* ================================
   GALLERY HEADER — Light Editorial
================================ */

.gallery-page-top .breadcrumbs {
    padding: 120px 0 40px;
    background: transparent !important;
}

/* Wrapper */
.gallery-hero {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}


/* Main title */
.gallery-title {
    margin: 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 500;
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.25;
    text-shadow: 0 14px 40px rgba(0,0,0,.35);
}

/* Mobile */
@media (max-width: 991px) {
    .gallery-page-top .breadcrumbs {
        padding: 100px 0 32px;
    }
}

/* ================================
   REVIEWS PAGE — Editorial / Marble
================================ */

.reviews-editorial-page,
.reviews-editorial-page #main,
.reviews-editorial-page .reviews-content,
.reviews-editorial-page .section-bg,
.reviews-editorial-page .reviews {
    background: transparent !important;
}

/* Light header like Gallery (no big slab) */
.reviews-page-hero {
    padding: 120px 0 40px;
    background: transparent !important;
}

.reviews-hero {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.reviews-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(11,20,34,.18);
    color: rgba(255,255,255,.85);
    letter-spacing: .24em;
    text-transform: uppercase;
    font-size: 11px;
    margin-bottom: 18px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.reviews-title {
    margin: 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 500;
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.25;
    text-shadow: 0 14px 40px rgba(0,0,0,.35);
}

/* Reuse the “press quote” components */
.review-feature,
.review-compact {
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    overflow: hidden;
}

.review-feature {
    padding: 26px 26px 22px;
}

.review-feature-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.review-mark {
    font-family: var(--heading-font);
    font-size: 56px;
    line-height: 1;
    color: rgba(255,255,255,.20);
    margin-top: -6px;
}

.review-feature-text {
    margin: 0 0 18px;
    color: rgba(255,255,255,.90);
    font-family: var(--heading-font);
    font-weight: 500;
    line-height: 1.45;
    font-size: clamp(1.25rem, 2.0vw, 1.55rem);
    max-width: 55ch;
}

.review-stars {
    display: inline-flex;
    gap: 6px;
    color: rgba(255,255,255,.70);
    font-size: 14px;
}

.review-person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
}

    .review-avatar.mini {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

.review-name {
    color: rgba(255,255,255,.92);
    font-weight: 650;
}

.review-note {
    color: rgba(255,255,255,.68);
    font-size: 13px;
}

/* Right column stack */
.reviews-stack {
    display: grid;
    gap: 14px;
    height: 100%;
}

.review-compact {
    padding: 18px 18px 16px;
}

.review-compact-top {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.review-compact-text {
    margin: 0 0 14px;
    color: rgba(255,255,255,.82);
    line-height: 1.75;
}

/* Embed block */
.reviews-embed .embed-card {
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    padding: 22px 20px;
}

.reviews-embed .embed-top {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.reviews-embed .embed-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
    flex: 0 0 auto;
}

.reviews-embed h4 {
    margin: 0 0 6px;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
}

.reviews-embed p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.7;
}

/* Placeholder area */
.embed-placeholder {
    border-radius: 18px;
    border: 1px dashed rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.78);
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .embed-placeholder i {
        font-size: 18px;
        color: rgba(255,255,255,.82);
    }

@media (max-width: 991px) {
    .reviews-page-hero {
        padding: 100px 0 32px;
    }

    .review-feature {
        padding: 20px 18px 18px;
        border-radius: 18px;
    }

    .review-compact {
        border-radius: 18px;
    }

    .review-mark {
        font-size: 46px;
    }
}


/* ================================
   TEAM PAGE — Creative / Editorial
================================ */

.team-editorial-page,
.team-editorial-page #main,
.team-editorial-page .team,
.team-editorial-page .section-bg {
    background: transparent !important;
}

/* Header (light editorial like Gallery/Reviews) */
.team-page-hero {
    padding: 120px 0 40px;
    background: transparent !important;
}

.team-hero {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.team-eyebrow {
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.25);
    background: rgba(11,20,34,.18);
    color: rgba(255,255,255,.85);
    letter-spacing: .24em;
    text-transform: uppercase;
    font-size: 11px;
    margin-bottom: 18px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.team-title {
    margin: 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 500;
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.25;
    text-shadow: 0 14px 40px rgba(0,0,0,.35);
}

/* Story / manifesto */
.team-story {
    padding: 10px 0 70px;
}

.team-story-card {
    position: relative;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    padding: 26px 22px;
    max-width: 980px;
    margin: 0 auto;
}

.story-mark {
    position: absolute;
    top: 10px;
    left: 18px;
    font-family: var(--heading-font);
    font-size: 64px;
    color: rgba(255,255,255,.18);
    line-height: 1;
}

.story-title {
    margin: 0 0 10px;
    color: rgba(255,255,255,.92);
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.2rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.story-text {
    margin: 0 0 16px;
    color: rgba(255,255,255,.82);
    line-height: 1.75;
    font-size: 1.05rem;
    max-width: 70ch;
}

.story-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

    .story-chips span {
        font-size: 12px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.18);
        background: rgba(255,255,255,.06);
        color: rgba(255,255,255,.86);
    }

/* Section head */
.team-section-head {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 22px;
}

.team-section-eyebrow {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(11,20,34,.18);
    color: rgba(255,255,255,.74);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.team-section-title {
    margin: 14px 0 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.7rem, 2.7vw, 2.3rem);
    line-height: 1.2;
    text-shadow: 0 18px 50px rgba(0,0,0,.35);
}

/* Standards cards */
.team-standards {
    padding: 0 0 70px;
}

.standard-glass {
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 24px 80px rgba(0,0,0,.26);
    padding: 18px 18px 16px;
    height: 100%;
}

.standard-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.standard-ico {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.08);
}

.standard-line {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(255,255,255,.20), rgba(255,255,255,0));
}

.standard-glass h3 {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.2rem;
}

.standard-glass p {
    margin: 0;
    color: rgba(255,255,255,.78);
    line-height: 1.75;
}

/* Profiles */
.team-profiles {
    padding: 0 0 90px;
}

.profile-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    align-items: stretch;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    overflow: hidden;
    margin-bottom: 18px;
}

    .profile-panel.reverse {
        grid-template-columns: 1fr 1fr;
    }

        .profile-panel.reverse .profile-media {
            order: 2;
        }

        .profile-panel.reverse .profile-body {
            order: 1;
        }

.profile-media {
    position: relative;
    min-height: 360px;
}

    .profile-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: saturate(.95) contrast(.95) brightness(.9);
        transform: scale(1.03);
    }

.profile-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(11,20,34,.75), rgba(11,20,34,.25));
}

.profile-panel.reverse .profile-media-overlay {
    background: linear-gradient(270deg, rgba(11,20,34,.75), rgba(11,20,34,.25));
}

.profile-body {
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.profile-head {
    margin-bottom: 10px;
}

.profile-name {
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.2;
}

.profile-role {
    color: rgba(255,255,255,.70);
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 11px;
    margin-top: 6px;
}

.profile-bio {
    color: rgba(255,255,255,.80);
    line-height: 1.75;
    margin: 0 0 14px;
}

.profile-points {
    display: grid;
    gap: 10px;
}

    .profile-points .pt {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding: 10px 12px;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,.12);
        background: rgba(255,255,255,.06);
    }

    .profile-points i {
        color: rgba(255,255,255,.85);
        margin-top: 2px;
    }

/* Mobile */
@media (max-width: 991px) {
    .team-page-hero {
        padding: 100px 0 32px;
    }

    .profile-panel {
        grid-template-columns: 1fr;
    }

        .profile-panel.reverse .profile-media {
            order: 1;
        }

        .profile-panel.reverse .profile-body {
            order: 2;
        }

    .profile-media {
        min-height: 260px;
    }
}

/* ==========================================================
   TEAM PAGE — Glass makeover (keep background visible)
   ========================================================== */

/* Ensure marble/background stays visible behind sections */
.team-page .section-bg {
    background: transparent !important;
}

/* A reusable glass card used on Team page */
.team-page .glass-card {
    background: rgba(11, 20, 34, 0.42) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 22px;
}

.team-page .team-story-card .kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 8px 12px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    margin-bottom: 12px;
}

.team-page .team-story-card h3,
.team-page .team-quote-card .quote-author {
    color: #ffffff !important;
}

.team-page .team-story-card p,
.team-page .team-quote-card .quote-text {
    color: rgba(255, 255, 255, 0.86) !important;
    line-height: 1.75;
}

.team-page .team-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.team-page .team-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.88);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

    .team-page .team-pill i {
        color: rgba(255, 255, 255, 0.88);
    }

.team-page .team-quote-card .quote-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    margin-bottom: 12px;
}

.team-page .team-quote-card .quote-text {
    margin: 0;
    font-size: 15px;
}

.team-page .signature {
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0.95;
}

.team-page .signature-line {
    height: 1px;
    flex: 1;
    background: rgba(255, 255, 255, 0.18);
}

.team-page .signature-note {
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.76);
    white-space: nowrap;
}

/* Profiles: keep images crisp + body readable */
.team-page .team-member-card {
    background: rgba(11, 20, 34, 0.38) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 22px !important;
    overflow: hidden;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.26) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.team-page .team-member-media {
    position: relative;
}

    .team-page .team-member-media img {
        width: 100%;
        height: 360px;
        object-fit: cover;
        filter: saturate(1.05) contrast(1.04);
    }

@media (max-width: 991px) {
    .team-page .team-member-media img {
        height: 300px;
    }
}

.team-page .team-member-overlay {
    position: absolute;
    inset: auto 14px 14px 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(11, 20, 34, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.team-page .team-member-name {
    font-weight: 650;
    color: #ffffff;
}

.team-page .team-member-role {
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
}

.team-page .team-member-body {
    padding: 22px 22px 24px;
}

    .team-page .team-member-body .bio {
        color: rgba(255, 255, 255, 0.86) !important;
        line-height: 1.75;
        margin-bottom: 16px;
    }

.team-page .team-list {
    display: grid;
    gap: 10px;
}

.team-page .team-list-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.86);
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

    .team-page .team-list-item i {
        color: rgba(255, 255, 255, 0.86);
        margin-top: 2px;
    }

/* Standards: glass cards + subtle icon */
.team-page .standard-card .icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    margin-bottom: 14px;
}

.team-page .standard-card h4 {
    color: #ffffff;
    font-weight: 650;
}

.team-page .standard-card p {
    color: rgba(255, 255, 255, 0.82) !important;
}

.team-intro {
    padding: 22px 22px 24px;
    
}



    /* ================================
   HEADER — white + larger text
   ================================ */



  
/* ================================
   EVENTS PAGE
================================ */

.events-hero {
    padding: 120px 0 80px;
    text-align: center;
}

    .events-hero .section-title {
        font-size: 3rem;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
    }

    .events-hero .section-subtitle {
        font-size: 1.1rem;
        opacity: 0.8;
        margin-top: 10px;
    }


/* Events Grid */
.events-grid {
    padding: 60px 0 120px;
}


/* Event Card */
.event-card {
    transition: all 0.4s ease;
    border-radius: 18px;
    overflow: hidden;
}

    .event-card:hover {
        transform: translateY(-8px);
    }

    .event-card img {
        width: 100%;
        height: 260px;
        object-fit: cover;
    }


/* Event Content */
.event-content {
    padding: 25px;
}

.event-date {
    font-size: 0.85rem;
    letter-spacing: 1px;
    opacity: 0.6;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.event-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 15px;
}

.event-description {
    font-size: 0.95rem;
    opacity: 0.85;
    margin-bottom: 20px;
    line-height: 1.6;
}


/* Button uses existing .btn */
.event-btn {
    font-size: 0.9rem;
    padding: 8px 22px;
    border-radius: 30px;
}


/* Events image grid (premium, minimal) */
.event-image-grid {
    margin-top: 18px;
}

.event-image-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 12px 32px rgba(0,0,0,.22);
}

    .event-image-card img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transform: scale(1.02);
        transition: transform .6s ease;
        filter: saturate(1.05) contrast(1.03);
    }

    .event-image-card:hover img {
        transform: scale(1.08);
    }

.event-image-caption {
    position: absolute;
    inset: auto 14px 14px 14px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(10,12,24,.55);
    border: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-weight: 600;
    letter-spacing: .2px;
}


/* ===== Premium Vertical Events Cards ===== */

.events-grid-vertical {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-top: 60px;
}

/* Main Card */
/* ===== Luxury Marble Glass Events Cards ===== */

.event-card-vertical {
    display: block;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(11,20,34,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.15);
    box-shadow: 0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
    transition: all .6s ease;
}

    .event-card-vertical:hover {
        transform: translateY(-10px);
        box-shadow: 0 40px 100px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.12);
    }


/* Image Section */
.event-card-image {
  position: relative;
  width: 100%;
  height: 420px; /* more image presence */
  overflow: hidden;
}

.event-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s ease;
  filter: contrast(1.08) saturate(1.1);
}

/* Dark luxury gradient overlay */
.event-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.35) 60%,
    rgba(20,24,51,.95) 100%
  );
}

.event-card-vertical:hover .event-card-image img {
  transform: scale(1.08);
}

/* Content Section */
.event-card-content {
  padding: 48px;
}

.event-card-content h3 {
  color: #ffffff;
  font-weight: 600;
  font-size: 28px;
  margin-bottom: 18px;
  letter-spacing: .4px;
}

.event-card-content p {
  color: rgba(255,255,255,.78);
  line-height: 1.9;
  font-size: 16px;
  margin-bottom: 24px;
}

.event-card-link {
  font-weight: 600;
  color: rgba(255,255,255,.92);
  letter-spacing: .5px;
  font-size: 14px;
  text-transform: uppercase;
}

/* ==============================
   HEADER FONT FIX & SPACING
   ============================== */

/* Make nav use site font */
.navmenu a {
    font-family: var(--heading-font); /* ή var(--default-font) αν θες πιο minimal */
    font-weight: 1000;
    font-size: 15px;
    letter-spacing: 1.8px; /* more breathing space */

    transition: all .3s ease;
}

/* More space between menu items */
.navmenu > ul > li {
    padding: 0 18px;
}

/* Dropdown spacing */
.navmenu .dropdown ul li a {
    font-family: var(--default-font) !important;
    letter-spacing: .8px !important;
    font-size: 12px;
    text-transform: none;
}

/* Improve readability */
.navmenu a:hover {
    letter-spacing: 1.4px;
}

/* Make it feel less crowded on desktop */
@media (min-width: 1200px) {
    .navmenu > ul {
        gap: 10px;
    }
}


/* Contact Page Cards Styling */

.contact-method {
    margin-bottom: 18px;
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.9);
    text-decoration: none;
    transition: all .3s ease;
    font-weight: 500;
}

    .contact-link:hover {
        background: rgba(255,255,255,.14);
        transform: translateY(-3px);
    }

.social-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.9);
    text-decoration: none;
    transition: all .3s ease;
}

    .social-box i {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .social-box span {
        font-size: 13px;
        letter-spacing: .5px;
    }

    .social-box:hover {
        background: rgba(255,255,255,.15);
        transform: translateY(-4px);
    }


/* ===== LANGUAGE SWITCH ===== */

.lang-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 20px;
}

.lang-btn {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    text-decoration: none;
    transition: all .3s ease;
}

    .lang-btn.active {
        color: #fff;
        font-weight: 600;
    }

    .lang-btn:hover {
        color: #fff;
    }

.lang-divider {
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,.4);
}


/* ===== Desktop nav: make items closer (SAFE) ===== */
@media (min-width: 1200px) {
    .navmenu a,
    .navmenu a:focus {
        padding: 18px 10px; /* closer than template */
        letter-spacing: 1.2px;
        font-family: var(--nav-font);
       
    }
}

@media (max-width: 1199px) {
    .mobile-nav-toggle {
        z-index: 9999;
        position: relative;
    }

    .lang-switch {
        z-index: 9998;
        position: relative;
    }
}



/* ===== Mobile header/nav safety ===== */
@media (max-width: 1199px) {

    /* ensure header stays above hero/sections */
    #header {
        z-index: 9999;
    }

    /* make nav container behave predictably in the header row */
    #navmenu.navmenu {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    /* hamburger always visible & clickable */
    .mobile-nav-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin-right: 0;
        z-index: 10000;
        position: relative;
    }

    /* if language switch overlaps on mobile, keep it tight */
    .lang-switch {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-left: 10px;
    }
}

/* Extra-tight phones: prevent overlap by hiding language switch (optional) */
@media (max-width: 420px) {
    .lang-switch {
        display: none !important;
    }
}


/* =========================
   MOBILE NAV VISIBILITY FIX
   ========================= */

/* Make header always sit above hero/overlays */
#header.header {
    z-index: 9999 !important;
    position: fixed; /* already fixed-top, but ensure stacking */
}

/* Ensure hero can never cover the header */
.hero, .hero * {
    z-index: 1;
}

.hero {
    position: relative;
}

/* Mobile header layout safety */
@media (max-width: 1199px) {

    /* Keep the branding row on top and not clipped */
    #header .branding,
    #header .branding .container {
        position: relative;
        z-index: 9999;
        overflow: visible;
    }

    /* FORCE the hamburger to show and be clickable */
    #header .mobile-nav-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        cursor: pointer;
        z-index: 10000 !important;
        position: relative;
    }

    /* Make sure the UL dropdown is also above everything */
    .navmenu ul {
        z-index: 10001 !important;
    }
}

/* If the logo is big, it can push the hamburger away on phones */
@media (max-width: 575px) {
    #header .header-logo {
        max-height: 34px;
        width: auto;
    }

    /* keep space for toggle + language switch */
    #header .branding .container {
        gap: 10px;
    }
}

/* =========================
   MOBILE NAV: FORCE ON TOP
   ========================= */
@media (max-width: 1199px) {

    /* Header always above hero */
    #header.header {
        z-index: 10020 !important;
    }

    /* When menu is open, the whole nav overlay must be above everything */
    body.mobile-nav-active #navmenu.navmenu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10030 !important;
        background: rgba(11, 20, 34, 0.88) !important;
    }

        /* The actual menu panel */
        body.mobile-nav-active #navmenu.navmenu > ul {
            display: block !important;
            position: fixed !important;
            inset: 72px 16px 16px 16px !important; /* κάτω από το header */
            z-index: 10040 !important;
            opacity: 1 !important;
            visibility: visible !important;
        }

    /* Keep the close (X) clickable */
    body.mobile-nav-active .mobile-nav-toggle {
        z-index: 10050 !important;
    }
}
/* =========================
   MOBILE NAV: PANEL + LINKS
   ========================= */
@media (max-width: 1199px) {

    /* The open panel */
    body.mobile-nav-active #navmenu.navmenu > ul {
        background: rgba(18, 26, 44, 0.96) !important; /* premium navy */
        border: 1px solid rgba(255,255,255,0.08) !important;
        border-radius: 14px !important;
        padding: 14px 10px !important;
        /* prevent clipping */
        max-height: calc(100vh - 96px) !important;
        overflow-y: auto !important;
        /* kill any hidden/animated states */
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

        /* Ensure list items are stacked */
        body.mobile-nav-active #navmenu.navmenu > ul > li {
            display: block !important;
            width: 100% !important;
        }

    /* Make links visible */
    body.mobile-nav-active #navmenu.navmenu a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        padding: 12px 12px !important;
        border-radius: 12px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

        /* Hover/active */
        body.mobile-nav-active #navmenu.navmenu a:hover,
        body.mobile-nav-active #navmenu.navmenu .active {
            background: rgba(255,255,255,0.08) !important;
        }

    /* Dropdown caret/icon visibility */
    body.mobile-nav-active #navmenu.navmenu .toggle-dropdown {
        color: #ffffff !important;
        opacity: 0.9 !important;
    }
}
/* ==========================================
   MOBILE NAV: FULLSCREEN OVERLAY (FINAL)
   ========================================== */
@media (max-width: 1199px) {

    /* lock page scroll when nav open */
    body.mobile-nav-active {
        overflow: hidden !important;
    }

        /* FULLSCREEN overlay container */
        body.mobile-nav-active #navmenu.navmenu {
            position: fixed !important;
            inset: 0 !important;
            width: 100vw !important;
            height: 100vh !important;
            z-index: 20000 !important;
            background: rgba(8, 14, 26, 0.88) !important; /* dark overlay */
            padding: 0 !important;
            margin: 0 !important;
        }

            /* The menu panel (fills most of screen) */
            body.mobile-nav-active #navmenu.navmenu > ul {
                position: absolute !important;
                top: 76px !important; /* κάτω από header */
                left: 14px !important;
                right: 14px !important;
                bottom: 14px !important; /* πιάνει όλο το υπόλοιπο */
                width: auto !important;
                height: auto !important;
                /* IMPORTANT: remove the “tiny scroll box” behavior */
                max-height: none !important;
                min-height: 0 !important;
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch;
                background: rgba(18, 26, 44, 0.98) !important;
                border: 1px solid rgba(255,255,255,0.08) !important;
                border-radius: 16px !important;
                padding: 14px !important;
                transform: none !important;
                opacity: 1 !important;
                visibility: visible !important;
            }

                /* Make each item full-width */
                body.mobile-nav-active #navmenu.navmenu > ul > li {
                    width: 100% !important;
                    display: block !important;
                }

            /* Make links readable and roomy */
            body.mobile-nav-active #navmenu.navmenu a {
                color: #fff !important;
                display: flex !important;
                align-items: center !important;
                justify-content: space-between !important;
                padding: 14px 12px !important;
                border-radius: 12px !important;
            }

                body.mobile-nav-active #navmenu.navmenu a:hover,
                body.mobile-nav-active #navmenu.navmenu .active {
                    background: rgba(255,255,255,0.08) !important;
                }

    /* Keep the X always on top */
    .mobile-nav-toggle {
        z-index: 20010 !important;
        position: relative;
    }
}

    /* =========================
   MOBILE LANGUAGE INSIDE OVERLAY
   ========================= */
    @media (max-width: 1199px) {

        body.mobile-nav-active .lang-switch {
            display: flex !important;
            position: fixed !important;
            bottom: 28px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 20050;
            gap: 14px;
        }

        body.mobile-nav-active .lang-btn {
            color: rgba(255,255,255,0.7);
            font-weight: 600;
            letter-spacing: 1px;
        }

            body.mobile-nav-active .lang-btn.active {
                color: #fff;
                border-bottom: 2px solid rgba(255,255,255,0.4);
            }

        body.mobile-nav-active .lang-divider {
            width: 1px;
            height: 14px;
            background: rgba(255,255,255,0.4);
        }
    }


/* ==================================
   GLOBAL LETTER SPACING (ELEGANT)
   ================================== */

body {
    letter-spacing: 0.3px;
}

/* Headings – λίγο πιο refined */
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 1.8px;
}

/* Navigation – πιο clean / luxury */
.navmenu a,
.lang-btn {
    letter-spacing: 1.2px;
}

/* Buttons */
.btn,
button {
    letter-spacing: 1px;
}




/* =========================
   HEADER LOGO – BIGGER
   ========================= */

#header .header-logo {
    max-height: 64px; /* increase size */
    width: auto;
    transition: 0.3s ease;
}

/* Slightly smaller on mobile */
@media (max-width: 1199px) {
    #header .header-logo {
        max-height: 48px;
    }
}


/* =========================
   NAV MENU – SMALLER & CLEANER
   ========================= */

#navmenu > ul > li > a {
    font-size: 14px; /* smaller */
    font-weight: 500; /* lighter */
    padding: 8px 14px; /* tighter */
    letter-spacing: 1px; /* elegant */
}

#navmenu > ul {
    gap: 18px; /* spacing between items */
}



/* =========================
   HERO LOGO — SMALLER
   ========================= */

.hero img.hero-logo-title {
    position: relative !important;
    width: 220px !important;   /* ← change this number if needed */
    max-width: 65% !important;
    height: auto !important;
    object-fit: contain !important;
    z-index: 5 !important;
}

/* Tablet */
@media (max-width: 992px) {
    .hero img.hero-logo-title {
        width: 180px !important;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .hero img.hero-logo-title {
        width: 150px !important;
    }
}

.lang-switch form {
    display: inline;
}

.lang-btn {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}


/* ================================
   TEAM – HORIZONTAL PROFILE
================================ */

.team-profile-card {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 0;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(11,20,34,.28);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

/* IMAGE SIDE */
.team-profile-media {
    position: relative;
    min-height: 460px;
}

    .team-profile-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: saturate(1.05) contrast(1.05);
    }

/* Overlay bottom-left */
.team-profile-overlay {
    position: absolute;
    bottom: 24px;
    left: 24px;
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(11,20,34,.75);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
}

.team-profile-name {
    color: #fff;
    font-weight: 650;
    font-size: 1.1rem;
}

.team-profile-role {
    color: rgba(255,255,255,.75);
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* CONTENT SIDE */
.team-profile-content {
    padding: 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.team-profile-eyebrow {
    font-size: 11px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
    margin-bottom: 8px;
}

.team-profile-title {
    font-family: var(--heading-font);
    font-weight: 600;
    color: #fff;
    font-size: 2rem;
    margin: 0 0 6px 0;
}

.team-profile-sub {
    color: rgba(255,255,255,.70);
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 26px;
}

.team-profile-text {
    color: rgba(255,255,255,.86);
    line-height: 1.85;
    font-size: 1.02rem;
    margin-bottom: 22px;
}

.team-profile-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
}

    .team-profile-points .point {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.14);
        color: rgba(255,255,255,.9);
        font-size: 13px;
    }

    .team-profile-points i {
        font-size: 14px;
    }

/* MOBILE */
@media (max-width: 991px) {
    .team-profile-card {
        grid-template-columns: 1fr;
    }

    .team-profile-media {
        min-height: 320px;
    }

    .team-profile-content {
        padding: 36px 24px;
    }
}

/* ================================
   TEAM – MINI CARDS (Supporting)
================================ */

.team-mini-card {
    border-radius: 20px;
    overflow: hidden;
    background: rgba(11,20,34,.24);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 18px 50px rgba(0,0,0,.25);
    transition: all .3s ease;
}

    .team-mini-card:hover {
        transform: translateY(-6px);
        border-color: rgba(255,255,255,.22);
    }

.team-mini-media {
    height: 200px; /* SMALLER IMAGE */
    overflow: hidden;
}

    .team-mini-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .6s ease;
        filter: saturate(1.05) contrast(1.05);
    }

.team-mini-card:hover .team-mini-media img {
    transform: scale(1.08);
}

.team-mini-body {
    padding: 18px 16px 20px;
    text-align: center;
}

.team-mini-name {
    font-weight: 600;
    color: #fff;
    font-size: 1rem;
}

.team-mini-role {
    color: rgba(255,255,255,.65);
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-top: 6px;
}


/* ==========================================================
   CONTACT COVER — Premium tuning (override block)
   Works with: .contact-cover .event-tile .event-ico .event-body
   + your new classes: .contact-tile-head .contact-actions .social-grid etc.
   ========================================================== */

.contact-cover {
    padding: 56px 0 90px;
}

    /* Base tile (reuse your event-tile but make it more refined here) */
    .contact-cover .event-tile.contact-tile,
    .contact-cover .event-tile {
        border-radius: 26px;
        background: rgba(11, 20, 34, 0.26);
        border: 1px solid rgba(255, 255, 255, 0.14);
        box-shadow: 0 28px 90px rgba(0, 0, 0, 0.30);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        padding: 22px 22px;
        overflow: hidden;
        position: relative;
    }

        /* Soft highlight to make glass feel richer */
        .contact-cover .event-tile::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(700px 260px at 18% 20%, rgba(255,255,255,.10), transparent 55%);
            pointer-events: none;
        }

/* ---------- Header row (icon + titles) ---------- */
.contact-tile-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

    .contact-tile-head .event-ico {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.16);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
        margin: 0 !important;
    }

        .contact-tile-head .event-ico i {
            font-size: 18px;
            color: rgba(255,255,255,.92);
        }

.contact-tile-titles h3 {
    margin: 0;
    color: #fff;
    font-family: var(--heading-font);
    font-weight: 600;
    letter-spacing: .02em;
    font-size: 1.35rem;
    line-height: 1.15;
}

.contact-tile-sub {
    margin-top: 6px !important;
    color: rgba(255,255,255,.70);
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
}

/* Remove template spacing if any */
.contact-cover .event-body {
    position: relative;
    z-index: 1;
    padding: 0 !important;
}

/* ---------- Contact chips (phone / whatsapp / email) ---------- */
.contact-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column; /* force clean vertical stack */
    gap: 12px;
    margin-top: 2px;
}

.contact-chip,
.contact-link { /* supports your older class too */
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.92);
    text-decoration: none;
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

    .contact-chip i,
    .contact-link i {
        width: 40px;
        height: 40px;
        border-radius: 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.14);
        color: rgba(255,255,255,.92);
        flex: 0 0 auto;
    }

    .contact-chip span,
    .contact-link span {
        font-weight: 560;
        letter-spacing: .01em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* hover: calm lift */
    .contact-chip:hover,
    .contact-link:hover {
        transform: translateY(-2px);
        background: rgba(255,255,255,.10);
        border-color: rgba(255,255,255,.20);
        color: #fff;
    }

/* ---------- Social tiles (more premium, less blocky) ---------- */
.social-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    margin-top: 2px;
}

/* If you still use .social-box anywhere, make it compatible */
.social-box {
    width: auto;
    height: auto;
    border-radius: 18px;
    padding: 14px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: none;
}

.social-tile {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.92);
    text-decoration: none;
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

    .social-tile:hover {
        transform: translateY(-2px);
        background: rgba(255,255,255,.10);
        border-color: rgba(255,255,255,.20);
        color: #fff;
    }

.social-ico {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}

    .social-ico i {
        font-size: 18px;
        color: rgba(255,255,255,.92);
    }

.social-meta {
    min-width: 0; /* allow ellipsis */
}

.social-name {
    font-weight: 650;
    color: #fff;
    letter-spacing: .01em;
    line-height: 1.2;
}

.social-note {
    margin-top: 4px;
    font-size: 11px;
    letter-spacing: .20em;
    text-transform: uppercase;
    color: rgba(255,255,255,.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.social-arrow {
    opacity: .65;
    transform: translateY(-1px);
    transition: transform .22s ease, opacity .22s ease;
}

.social-tile:hover .social-arrow {
    transform: translate(2px, -2px);
    opacity: 1;
}

/* ---------- Responsive tightening ---------- */
@media (max-width: 991px) {
    .contact-cover {
        padding: 44px 0 70px;
    }

        .contact-cover .event-tile.contact-tile,
        .contact-cover .event-tile {
            border-radius: 22px;
            padding: 18px 18px;
        }

    .contact-tile-titles h3 {
        font-size: 1.22rem;
    }

    .contact-tile-head .event-ico {
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }
}

@media (max-width: 575px) {
    .contact-chip i,
    .contact-link i {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }

    .social-ico {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }
}

/* ==========================================================
   EXPERIENCE PAGE — Premium glass + visuals
   Paste at bottom of main.css
   ========================================================== */

.page-hero-lite {
    padding: 54px 0 18px;
}

.hero-lite-inner {
    max-width: 820px;
}

.hero-lite-kicker {
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(255,255,255,.70);
    margin-bottom: 10px;
}

.hero-lite-title {
    font-family: var(--heading-font);
    color: #fff;
    font-weight: 600;
    font-size: clamp(2rem, 2.8vw, 2.7rem);
    line-height: 1.08;
    margin: 0 0 12px;
}

.hero-lite-sub {
    color: rgba(255,255,255,.82);
    line-height: 1.85;
    font-size: 1.02rem;
    max-width: 760px;
}

/* Main section spacing */
.experience-section {
    padding: 26px 0 86px;
}

/* Left story card */
.experience-story {
    padding: 28px 28px;
    border-radius: 26px;
}

.experience-story-top {
    display: flex;
    gap: 14px;
    align-items: center;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.experience-ico {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}

    .experience-ico i {
        color: rgba(255,255,255,.92);
        font-size: 18px;
    }

.experience-h2 {
    font-family: var(--heading-font);
    color: #fff;
    font-weight: 600;
    margin: 0;
    font-size: 1.55rem;
}

.experience-mini {
    margin-top: 5px;
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
}

.experience-text {
    color: rgba(255,255,255,.86);
    line-height: 1.9;
    font-size: 1.03rem;
    margin: 16px 0 18px;
}

.experience-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0 18px;
}

.xp-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.9);
    font-size: 13px;
}

    .xp-pill i {
        font-size: 14px;
    }

/* CTA row (assumes your btn-hero exists already) */
.experience-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}

/* Right image stack */
.experience-media-stack {
    display: grid;
    gap: 14px;
}

.experience-media {
    position: relative;
    border-radius: 26px;
    overflow: hidden;
    display: block;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(11,20,34,.20);
    box-shadow: 0 22px 70px rgba(0,0,0,.28);
}

    .experience-media img {
        width: 100%;
        height: 320px;
        object-fit: cover;
        display: block;
        filter: saturate(1.05) contrast(1.05);
        transition: transform .7s ease;
    }

.experience-media-small img {
    height: 220px;
}

.experience-media:hover img {
    transform: scale(1.06);
}

.experience-media-overlay {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(11,20,34,.70);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.experience-media-title {
    color: #fff;
    font-weight: 650;
    letter-spacing: .02em;
    margin-bottom: 4px;
}

.experience-media-sub {
    color: rgba(255,255,255,.72);
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
}

/* Steps */
.experience-step {
    border-radius: 26px;
    overflow: hidden;
    background: rgba(11,20,34,.24);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 22px 70px rgba(0,0,0,.22);
    padding: 22px;
    height: 100%;
}

.step-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.step-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}

    .step-icon i {
        color: rgba(255,255,255,.92);
        font-size: 18px;
    }

.step-line {
    height: 1px;
    flex: 1;
    background: rgba(255,255,255,.12);
}

.step-title {
    font-family: var(--heading-font);
    color: #fff;
    font-weight: 600;
    font-size: 1.25rem;
    margin: 6px 0 10px;
}

.step-text {
    color: rgba(255,255,255,.84);
    line-height: 1.85;
    margin: 0 0 14px;
}

.step-image {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
}

    .step-image img {
        width: 100%;
        height: 165px;
        object-fit: cover;
        display: block;
        filter: saturate(1.05) contrast(1.05);
    }

/* Mobile tuning */
@media (max-width: 991px) {
    .experience-story {
        padding: 22px;
    }

    .experience-media img {
        height: 300px;
    }

    .experience-media-small img {
        height: 210px;
    }
}

@media (max-width: 575px) {
    .page-hero-lite {
        padding: 44px 0 14px;
    }

    .experience-section {
        padding: 18px 0 70px;
    }
}


.services-signature {
    background: transparent !important;
}

    .services-signature::before {
        display: none !important;
    }

/* =========================================
   WHY US / ABOUT — Smaller Image Layout
========================================= */

.whyus-story {
    display: grid;
    grid-template-columns: 1.8fr 1.2fr; /* image smaller */
    align-items: center;
    gap: 40px;
}

/* Make image visually lighter */
.whyus-story-media {
    max-width: 720px; /* control actual size */
}

    .whyus-story-media img {
        width: 100%;
        height: auto;
        border-radius: 22px;
        object-fit: cover;
        box-shadow: 0 20px 60px rgba(0,0,0,.25);
    }

/* WHY US WRAPPER — control width */
.whyus-story-wrap {
    max-width: 1180px; /* adjust if you want tighter */
    margin: 0 auto; /* center it */
}

/* ==========================================================
   ABOUT / WHY US STORY — Fix layout + remove empty space
   Paste at bottom of main.css
   ========================================================== */

.whyus-story-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 18px;
}

/* The glass card itself */
.whyus-story {
    display: grid;
    grid-template-columns: 480px 1fr; /* fixed media width, elegant */
    gap: 34px;
    align-items: start;
    padding: 42px 46px;
    border-radius: 32px;
    /* keep your glass system */
    background: rgba(11,20,34,.22);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 28px 90px rgba(0,0,0,.30);
    position: relative;
    overflow: hidden;
}

    /* subtle highlight (premium, not too much) */
    .whyus-story::before {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(800px 320px at 18% 14%, rgba(255,255,255,.10), transparent 60%), linear-gradient(135deg, rgba(255,255,255,.05), transparent 45%);
        pointer-events: none;
    }

    /* keep content above highlight */
    .whyus-story > * {
        position: relative;
        z-index: 1;
    }

/* MEDIA: no empty space */
.whyus-story-media {
    width: 100%;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(0,0,0,.25);
    box-shadow: 0 22px 70px rgba(0,0,0,.28);
    /* IMPORTANT: remove any old min-height creating empty space */
    height: 420px;
}

    .whyus-story-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: saturate(1.05) contrast(1.05);
        transform: scale(1.01);
    }

/* TEXT: tighter + readable */
.whyus-story-content {
    padding-top: 6px;
}

.story-eyebrow {
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(255,255,255,.70);
    margin-bottom: 14px;
}

.story-lead {
    font-family: var(--heading-font);
    color: #fff;
    font-weight: 600;
    font-size: 1.65rem;
    line-height: 1.25;
    margin: 0 0 16px;
}

.story-body {
    color: rgba(255,255,255,.84);
    line-height: 1.9;
    margin: 0 0 22px;
}

/* pills/points: compact and aligned */
.story-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

    .story-points span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.07);
        border: 1px solid rgba(255,255,255,.12);
        color: rgba(255,255,255,.90);
        font-size: 13px;
    }

/* RESPONSIVE */
@media (max-width: 991px) {
    .whyus-story {
        grid-template-columns: 1fr;
        padding: 28px 22px;
        gap: 22px;
    }

    .whyus-story-media {
        height: 280px;
    }

    .story-lead {
        font-size: 1.35rem;
    }
}

/* =========================================
   ABOUT / WHYUS STORY — spacing + wider
========================================= */

/* push the whole block away from hero */
.whyus-story-wrap {
    max-width: 1320px; /* wider than before (1180) */
    margin: 42px auto 0; /* separation from hero */
    padding: 0 22px;
    position: relative;
}

    /* optional: subtle divider feel from hero (nice premium) */
    .whyus-story-wrap::before {
        content: "";
        position: absolute;
        left: 22px;
        right: 22px;
        top: -22px;
        height: 1px;
        background: rgba(255,255,255,.10);
        opacity: .7;
    }

/* make the card wider and slightly more horizontal */
.whyus-story {
    grid-template-columns: 520px 1fr; /* a bit wider media */
    gap: 42px; /* more elegant breathing */
    padding: 44px 54px; /* slightly wider interior */
}

/* keep image strong but not oversized */
.whyus-story-media {
    height: 430px; /* slight increase */
    border-radius: 28px;
}

@media (max-width: 991px) {
    .whyus-story-wrap {
        max-width: 920px;
        margin-top: 28px;
    }

        .whyus-story-wrap::before {
            left: 22px;
            right: 22px;
            top: -16px;
        }

    .whyus-story {
        grid-template-columns: 1fr;
        padding: 28px 22px;
        gap: 22px;
    }

    .whyus-story-media {
        height: 300px;
    }
}

/* ======================================
   HERO VIDEO BACKGROUND
====================================== */

.hero {
    position: relative;
    overflow: hidden;
}

.hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* THIS MAKES VERTICAL WORK */
    object-position: center center;
    z-index: 0;
}

/* Dark premium overlay */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(8,16,28,.75) 0%, rgba(8,16,28,.55) 45%, rgba(8,16,28,.25) 100%);
    z-index: 1;
}

/* Keep content above video */
.hero .container {
    position: relative;
    z-index: 2;
}

/* ======================================
   HERO – DARK IMAGE, NO GLASS
====================================== */

#hero.hero-elegant {
    position: relative;
    overflow: hidden;
}

    /* background image */
    #hero.hero-elegant .hero-media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
        /* darker image */
        filter: brightness(0.95) contrast(1.03) saturate(1.05);
    }

    /* subtle cinematic gradient */
    #hero.hero-elegant::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background: linear-gradient( 90deg, rgba(5,10,20,0.85) 0%, rgba(5,10,20,0.65) 35%, rgba(5,10,20,0.40) 70%, rgba(5,10,20,0.25) 100% );
    }

    /* hero text container */
    #hero.hero-elegant .container {
        position: relative;
        z-index: 3;
    }

/* new simple content block */
.hero-content {
    max-width: 620px;
    text-shadow: 0 4px 20px rgba(0,0,0,0.6);
}

/* make text pop */
.hero-subtitle {
    color: rgba(255,255,255,0.92);
}

/* ======================================
   EXPERIENCE WRAPPER GLASS — FINAL
====================================== */
.experience-wrapper {
    position: relative;
    padding: 38px 42px;
    border-radius: 30px;
    margin-top: 28px;
    background: transparent;
    border: none;
    box-shadow: none;
}

    .experience-wrapper > .row {
        position: relative;
        z-index: 1;
    }

/* keep left text card transparent inside outer glass */
.experience-story {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 10px 6px 10px 6px;
}

/* keep spacing tidy on mobile */
@media (max-width: 991px) {
    .experience-wrapper {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .experience-story {
        padding: 0;
    }
}

/* Clean editorial version (no glass) */
.whyus-story-clean {
    background: transparent;
    backdrop-filter: none;
    border: none;
    box-shadow: none;
}

    /* Text colors for marble background */
    .whyus-story-clean .story-eyebrow {
        color: #0f2a44;
        font-weight: 600;
        letter-spacing: 1px;
    }

    .whyus-story-clean .story-lead {
        color: #0f2a44;
        font-size: 1.2rem;
        font-weight: 500;
    }

    .whyus-story-clean .story-body {
        color: #3c4a5a;
        line-height: 1.7;
    }

    .whyus-story-clean .story-points span {
        color: #0f2a44;
        font-weight: 500;
    }

.whyus-story-content {
    background: linear-gradient( to right, rgba(255,255,255,0.75), rgba(255,255,255,0.0) );
    padding: 40px;
}

.whyus-story-media img {
    width: 100%;
    height: 80%;
    object-fit: cover;
    filter: brightness(0.95) contrast(1.02) saturate(0.9);
    transform: scale(1.02);
}

/* ======================================
   EXPERIENCE SECTION — fade only, no glass
====================================== */

.experience-section {
    background: transparent !important;
    padding: 90px 0;
}

.experience-wrapper,
.experience-story {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* LEFT TEXT BLOCK — soft editorial fade */
.experience-story {
    padding: 40px !important;
    border-radius: 0 !important;
    background: linear-gradient( to right, rgba(255,255,255,0.75), rgba(255,255,255,0.00) ) !important;
}

/* top */
.experience-story-top {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.experience-ico {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(15,42,68,0.10);
    color: #0f2a44;
    flex: 0 0 auto;
}

.experience-h2 {
    margin: 0 0 6px;
    color: #0f2a44;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.75rem, 2.5vw, 2.2rem);
    line-height: 1.2;
}

.experience-mini {
    color: #3c4a5a;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.experience-text {
    margin: 0 0 22px;
    color: #3c4a5a;
    line-height: 1.85;
    font-size: 1rem;
}

/* pills */
.experience-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.xp-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0f2a44;
    font-size: 14px;
    font-weight: 500;
}

    .xp-pill i {
        color: #0f2a44;
    }

/* CTA */
.experience-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

    .experience-cta-row .btn-hero,
    .experience-cta-row .btn {
        height: 42px;
        padding: 0 18px;
        border-radius: 999px;
        font-size: 12px;
        letter-spacing: .12em;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

.btn-hero-outline {
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(15,42,68,.16) !important;
    color: #0f2a44 !important;
}

    .btn-hero-outline:hover {
        background: rgba(255,255,255,.80) !important;
        color: #0f2a44 !important;
    }

.btn-hero-solid {
    background: #0f2a44 !important;
    border: 1px solid #0f2a44 !important;
    color: #fff !important;
}

    .btn-hero-solid:hover {
        background: #163754 !important;
        border-color: #163754 !important;
        color: #fff !important;
    }

/* image side */
.experience-media-stack {
    display: grid;
    gap: 18px;
    height: 100%;
}

.experience-media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 24px;
    min-height: 320px;
    box-shadow: none;
}

.experience-media-small {
    min-height: 220px;
}

.experience-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.96) contrast(1.02) saturate(0.90);
    transition: transform .35s ease;
}

.experience-media:hover img {
    transform: scale(1.03);
}

.experience-media-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 20px 18px 16px;
    background: linear-gradient( to top, rgba(15,42,68,0.52), rgba(15,42,68,0.00) );
}

.experience-media-title {
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
}

.experience-media-sub {
    color: rgba(255,255,255,.84);
    font-size: .92rem;
    margin-top: 4px;
}

/* lower 3 cards can stay softer, but not glass-heavy */
.experience-step {
    height: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.step-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.step-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.38);
    border: 1px solid rgba(15,42,68,.10);
    color: #0f2a44;
}

.step-line {
    flex: 1;
    height: 1px;
    background: linear-gradient( to right, rgba(15,42,68,.16), rgba(15,42,68,.00) );
}

.step-title {
    margin: 0 0 10px;
    color: #0f2a44;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.22rem;
}

.step-text {
    margin: 0 0 18px;
    color: #3c4a5a;
    line-height: 1.75;
}

.step-image {
    overflow: hidden;
    border-radius: 18px;
}

    .step-image img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        display: block;
        filter: brightness(0.97) contrast(1.02) saturate(0.90);
    }

.experience-story {
    background: linear-gradient( to right, rgba(255,255,255,0.68), rgba(255,255,255,0.00) ) !important;
}

.experience-ico {
    background: transparent;
    border: none;
    width: auto;
    height: auto;
}

/* mobile */
@media (max-width: 991px) {
    .experience-story {
        padding: 28px !important;
    }

    .experience-media {
        min-height: 260px;
    }

    .experience-media-small {
        min-height: 200px;
    }
}

@media (max-width: 575px) {
    .experience-story {
        padding: 22px !important;
    }

    .step-image img {
        height: 200px;
    }
}

/* ======================================
   EXPERIENCE STEPS — sharp top fade
====================================== */

.experience-step {
    position: relative;
    height: 100%;
    padding: 20px 20px 0 20px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
    border-radius: 0;
}

    /* top text fade area — sharp edges */
    .experience-step::before {
        content: "";
        position: absolute;
        inset: 0 0 auto 0;
        height: 185px;
        background: linear-gradient( to bottom, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.62) 42%, rgba(255,255,255,0.22) 78%, rgba(255,255,255,0.00) 100% );
        border-radius: 0;
        z-index: 1;
        pointer-events: none;
    }

    /* keep content above fade */
    .experience-step > .step-top,
    .experience-step > .step-title,
    .experience-step > .step-text,
    .experience-step > .step-image {
        position: relative;
        z-index: 2;
    }

/* top row */
.step-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.step-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.16);
    border: 1px solid rgba(15,42,68,0.08);
    color: #0f2a44;
}

.step-line {
    flex: 1;
    height: 1px;
    background: linear-gradient( to right, rgba(15,42,68,0.14), rgba(15,42,68,0.00) );
}

/* title */
.step-title {
    margin: 0 0 10px;
    color: #0f2a44;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 1.12rem;
    line-height: 1.2;
}

/* text */
.step-text {
    margin: 0 0 18px;
    color: #4b596b;
    line-height: 1.65;
    font-size: 0.96rem;
    max-width: 92%;
    min-height: 96px;
}

/* image stays rounded */
.step-image {
    overflow: hidden;
    border-radius: 22px;
}

    .step-image img {
        width: 100%;
        height: 320px;
        object-fit: cover;
        display: block;
        filter: brightness(0.97) contrast(1.03) saturate(0.92);
        transition: transform .35s ease;
    }

.experience-step:hover .step-image img {
    transform: scale(1.03);
}

/* mobile */
@media (max-width: 991px) {
    .experience-step {
        padding: 16px 16px 0 16px !important;
    }

        .experience-step::before {
            height: 165px;
        }

    .step-text {
        min-height: auto;
    }

    .step-image img {
        height: 240px;
    }
}

/* ======================================
   EXPERIENCE PAGE HERO — clean marble
====================================== */

.experience-page-hero-clean {
    background: transparent !important;
    padding: 120px 0 34px;
}

    .experience-page-hero-clean::before {
        display: none !important;
    }



.experience-page-hero-clean .hero-lite-kicker {
    color: #0f2a44;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.experience-hero-title,
.experience-page-hero-clean .reviews-title {
    margin: 0;
    color: #0f2a44 !important;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.15;
    text-shadow: none !important;
}

.experience-hero-subtitle {
    max-width: 860px;
    margin: 16px auto 0;
    color: #425064;
    line-height: 1.85;
    font-size: 1rem;
}

.experience-hero-subtitlel {
    max-width: 860px;
    margin: 16px auto 0;
    color: #425064;
    line-height: 1.85;
  
}

/* mobile */
@media (max-width: 991px) {
    .experience-page-hero-clean {
        padding: 100px 0 24px;
    }

    .experience-hero-clean {
        padding: 14px 18px 20px;
    }
}

/* ======================================
   EVENTS COVER — force clean fade style
====================================== */

.events-cover-clean {
    background: transparent !important;
    padding: 70px 0;
}

    /* hard override old event-tile */
    .events-cover-clean .event-tile.event-tile-clean {
        display: flex !important;
        gap: 18px;
        align-items: flex-start !important;
        padding: 36px !important;
        background: linear-gradient( to right, rgba(255,255,255,0.76) 0%, rgba(255,255,255,0.42) 48%, rgba(255,255,255,0.00) 100% ) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: none !important;
        transition: none !important;
    }

        /* kill old hover completely */
        .events-cover-clean .event-tile.event-tile-clean:hover {
            background: linear-gradient( to right, rgba(255,255,255,0.76) 0%, rgba(255,255,255,0.42) 48%, rgba(255,255,255,0.00) 100% ) !important;
            border: 0 !important;
            box-shadow: none !important;
            transform: none !important;
            transition: none !important;
        }

    /* icon */
    .events-cover-clean .event-tile-clean .event-ico {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #0f2a44 !important;
        background: rgba(255,255,255,.22) !important;
        border: 1px solid rgba(15,42,68,.08) !important;
        flex: 0 0 auto;
    }

        .events-cover-clean .event-tile-clean .event-ico i {
            color: #0f2a44 !important;
        }

    /* text */
    .events-cover-clean .event-tile-clean .event-body h3 {
        margin: 0 0 14px;
        color: #0f2a44 !important;
        font-family: var(--heading-font);
        font-weight: 600;
    }

    .events-cover-clean .event-tile-clean .event-body p {
        color: #425064 !important;
        line-height: 1.85;
    }

    /* bullets */
    .events-cover-clean .event-points {
        color: #425064 !important;
        line-height: 1.9;
    }

        .events-cover-clean .event-points li,
        .events-cover-clean .event-points li i {
            color: #425064 !important;
        }

            .events-cover-clean .event-points li i {
                margin-right: 6px;
            }
.event-body h3 {
    margin-bottom: 18px;
}

.event-body p {
    margin-bottom: 14px;
}

@media (min-width:992px) {

    .events-cover-clean .col-lg-5 {
        border-left: 1px solid rgba(15,42,68,.08);
        padding-left: 40px;
    }
}

/* mobile */
@media (max-width: 991px) {
    .events-cover-clean .event-tile.event-tile-clean {
        padding: 28px !important;
    }
}

/* ======================================
   GALLERY HERO — marble fade style
====================================== */

.gallery-page-top-clean {
    background: transparent;
    padding: 110px 0 70px;
}



/* eyebrow */
.gallery-eyebrow {
  
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #0f2a44;
    margin-bottom: 12px;
}

/* title */
.gallery-title {
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: 38px;
    color: #0f2a44;
    margin: 0;
}

/* mobile */
@media (max-width:768px) {

    .gallery-page-top-clean .gallery-hero {
        padding: 40px 30px;
    }

    .gallery-title {
        font-size: 30px;
    }
}
/* ======================================
   GALLERY FILTERS — clean marble style
====================================== */

.gallery-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 40px auto 60px;
    padding: 18px 24px;
    max-width: 800px;
   
    list-style: none;
    border-radius: 0;
}

    /* filter buttons */

    .gallery-filters li {
        font-size: 13px;
        letter-spacing: .08em;
        text-transform: uppercase;
        padding: 10px 18px;
        color: #0f2a44;
        border: 1px solid rgba(15,42,68,.10);
        border-radius: 20px;
        background: rgba(255,255,255,.35);
        cursor: pointer;
        transition: none;
    }

        /* remove hover effects */

        .gallery-filters li:hover {
            transform: none;
            background: rgba(255,255,255,.35);
        }

        /* active filter */

        .gallery-filters li.filter-active {
            background: #0f2a44;
            color: white;
            border-color: #0f2a44;
        }

/* mobile */

@media (max-width:768px) {

    .gallery-filters {
        gap: 10px;
        padding: 14px 16px;
    }

        .gallery-filters li {
            font-size: 12px;
            padding: 8px 14px;
        }
}

/* ======================================
   TEAM PROFILES — clean marble style
====================================== */

.team-profiles-clean {
    background: transparent !important;
    padding: 70px 0 90px;
}

/* main featured profile */
.team-profile-card-clean {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 34px;
    align-items: stretch;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: 0 !important;
    overflow: visible;
}

    /* image */
    .team-profile-card-clean .team-profile-media {
        min-height: 420px;
        border-radius: 26px;
        overflow: hidden;
        box-shadow: 0 14px 40px rgba(15,23,42,.10);
    }

        .team-profile-card-clean .team-profile-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            filter: brightness(0.97) contrast(1.03) saturate(0.92);
        }

/* text fade area */
.team-profile-content-clean {
    background: linear-gradient( to right, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.46) 52%, rgba(255,255,255,0.00) 100% );
    padding: 34px 34px 24px;
    border-radius: 0;
}

/* headings */
.team-profile-title {
    margin: 0 0 8px;
    color: #0f2a44 !important;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.8rem, 2.6vw, 2.4rem);
    line-height: 1.15;
}

.team-profile-sub {
    color: #425064 !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

/* body text */
.team-profile-text {
    color: #425064 !important;
    line-height: 1.85;
    margin-bottom: 16px;
}

/* points */
.team-profile-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}

    .team-profile-points .point {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.34);
        border: 1px solid rgba(15,42,68,.08);
        color: #0f2a44;
        font-size: 13px;
    }

        .team-profile-points .point i {
            color: #0f2a44;
        }

/* mini cards */
.team-mini-card-clean {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: 0 !important;
    overflow: visible;
}

    .team-mini-card-clean .team-mini-media {
        height: 220px;
        border-radius: 22px;
        overflow: hidden;
        box-shadow: 0 12px 34px rgba(15,23,42,.10);
    }

        .team-mini-card-clean .team-mini-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            filter: brightness(0.97) contrast(1.03) saturate(0.92);
        }

    /* soft fade under text */
    .team-mini-card-clean .team-mini-body {
        margin-top: 12px;
        padding: 18px 18px 10px;
        background: linear-gradient( to bottom, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.28) 65%, rgba(255,255,255,0.00) 100% );
        border-radius: 0;
        text-align: center;
    }

.team-mini-name {
    color: #0f2a44 !important;
    font-weight: 600;
    font-size: 1rem;
}

.team-mini-role {
    color: #425064 !important;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-top: 6px;
}

/* remove hover movement if old rules exist */
.team-profile-card-clean:hover,
.team-mini-card-clean:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* responsive */
@media (max-width: 991px) {
    .team-profile-card-clean {
        grid-template-columns: 1fr;
        gap: 22px;
    }

        .team-profile-card-clean .team-profile-media {
            min-height: 300px;
        }

    .team-profile-content-clean {
        padding: 26px 22px 18px;
    }
}

/* ======================================
   CONTACT COVER — clean marble fade
====================================== */

.contact-cover-clean {
    background: transparent !important;
    padding: 70px 0 90px;
}

    .contact-cover-clean .contact-tile.contact-tile-clean {
        background: linear-gradient( to right, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.46) 52%, rgba(255,255,255,0.00) 100% ) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 34px !important;
        overflow: visible;
    }

        /* kill old hover/glass effects */
        .contact-cover-clean .contact-tile.contact-tile-clean:hover,
        .contact-cover-clean .contact-chip:hover,
        .contact-cover-clean .social-tile:hover,
        .contact-cover-clean .contact-link:hover,
        .contact-cover-clean .social-box:hover {
            transform: none !important;
            box-shadow: none !important;
        }

    /* head */
    .contact-cover-clean .contact-tile-head {
        display: flex;
        align-items: center;
        gap: 14px;
        padding-bottom: 16px;
        margin-bottom: 18px;
        border-bottom: 1px solid rgba(15,42,68,.08);
    }

        .contact-cover-clean .contact-tile-head .event-ico {
            width: 46px;
            height: 46px;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #0f2a44 !important;
            background: rgba(255,255,255,.24) !important;
            border: 1px solid rgba(15,42,68,.08) !important;
            flex: 0 0 auto;
        }

            .contact-cover-clean .contact-tile-head .event-ico i {
                color: #0f2a44 !important;
                font-size: 18px;
            }

    .contact-cover-clean .contact-tile-titles h3 {
        color: #0f2a44 !important;
        font-family: var(--heading-font);
        font-weight: 600;
    }

    /* chips */
    .contact-cover-clean .contact-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .contact-cover-clean .contact-chip,
    .contact-cover-clean .contact-link {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        padding: 12px 14px;
        border-radius: 18px;
        background: rgba(255,255,255,.28) !important;
        border: 1px solid rgba(15,42,68,.08) !important;
        color: #0f2a44 !important;
        text-decoration: none;
        transition: none !important;
    }

        .contact-cover-clean .contact-chip i,
        .contact-cover-clean .contact-link i {
            width: 38px;
            height: 38px;
            border-radius: 14px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,.22);
            border: 1px solid rgba(15,42,68,.08);
            color: #0f2a44 !important;
            flex: 0 0 auto;
        }

        .contact-cover-clean .contact-chip span,
        .contact-cover-clean .contact-link span {
            color: #425064 !important;
            font-weight: 500;
        }

    /* social */
    .contact-cover-clean .social-grid {
        display: grid;
        gap: 12px;
    }

    .contact-cover-clean .social-tile {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: 14px;
        padding: 12px 14px;
        border-radius: 18px;
        background: rgba(255,255,255,.28) !important;
        border: 1px solid rgba(15,42,68,.08) !important;
        color: #0f2a44 !important;
        text-decoration: none;
        transition: none !important;
    }

    .contact-cover-clean .social-ico {
        width: 42px;
        height: 42px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,.22);
        border: 1px solid rgba(15,42,68,.08);
    }

        .contact-cover-clean .social-ico i {
            color: #0f2a44 !important;
            font-size: 18px;
        }

    .contact-cover-clean .social-name {
        color: #0f2a44 !important;
        font-weight: 600;
    }

    .contact-cover-clean .social-arrow {
        color: #425064 !important;
        opacity: .75;
    }

/* responsive */
@media (max-width: 991px) {
    .contact-cover-clean .contact-tile.contact-tile-clean {
        padding: 26px !important;
    }
}

/* ======================================
   SERVICES — rebuilt clean slider
====================================== */

.services-signature-clean {
    background: transparent !important;
    padding: 80px 0 90px;
}

    .services-signature-clean::before {
        display: none !important;
    }

.services-swiper-clean {
    overflow: hidden;
}

    .services-swiper-clean .swiper-wrapper {
        align-items: stretch;
    }

    .services-swiper-clean .swiper-slide {
        width: 100% !important;
        flex-shrink: 0;
    }

    /* only one full card visible */
    .services-swiper-clean .services-slide {
        opacity: 1 !important;
    }

/* card */
.service-card-clean {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 0;
    overflow: hidden;
    background: transparent !important;
    border: 0 !important;
    border-radius: 26px;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

    /* image */
    .service-card-clean .service-media {
        height: 520px;
        overflow: hidden;
        border-radius: 26px 0 0 26px;
    }

        .service-card-clean .service-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            filter: brightness(0.96) contrast(1.03) saturate(0.92);
        }

    /* text area */
    .service-card-clean .service-content-clean {
        height: 100%;
        padding: 38px 34px;
        background: linear-gradient( to right, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.46) 52%, rgba(255,255,255,0.00) 100% ) !important;
        border: 0 !important;
        border-radius: 0 26px 26px 0;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

/* top */
.service-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.service-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #0f2a44 !important;
    background: rgba(255,255,255,.24) !important;
    border: 1px solid rgba(15,42,68,.08) !important;
}

.service-kicker {
    color: #425064 !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.service-title {
    margin: 0 0 14px;
    color: #0f2a44 !important;
    font-family: var(--heading-font);
    font-weight: 600;
    font-size: clamp(1.8rem, 2.3vw, 2.3rem);
    line-height: 1.15;
}

.service-lead,
.service-body {
    color: #425064 !important;
    line-height: 1.8;
}

.service-lead {
    margin-bottom: 18px;
}

.service-points {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 10px;
}

    .service-points li {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        padding: 0;
        background: transparent !important;
        border: 0 !important;
    }

    .service-points i {
        color: #0f2a44 !important;
        margin-top: 3px;
    }

    .service-points span {
        color: #425064 !important;
        line-height: 1.7;
    }

/* remove hover feel */
.service-card-clean:hover,
.service-card-clean .service-media img:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* pagination */
.services-swiper-clean .swiper-pagination {
    position: relative;
    margin-top: 20px;
}

.services-swiper-clean .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(15,42,68,.22);
    opacity: 1;
}

.services-swiper-clean .swiper-pagination-bullet-active {
    background: #0f2a44;
}

/* mobile */
@media (max-width: 991px) {
    .service-card-clean {
        grid-template-columns: 1fr;
    }

        .service-card-clean .service-media {
            height: 720px;
            border-radius: 22px 22px 0 0;
        }

        .service-card-clean .service-content-clean {
            border-radius: 0 0 22px 22px;
            padding: 26px 22px;
        }

    .service-title {
        font-size: 1.5rem;
    }
}

/* Make image and text equal height */

.whyus-story-clean {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 48px;
}

    /* image container takes full height */
    .whyus-story-clean .whyus-story-media {
        height: 80%;
    }

        /* image fills the container */
        .whyus-story-clean .whyus-story-media img {
            width: 100%;
            height: 80%;
            object-fit: cover;
            border-radius: 22px;
        }

    /* text block also stretches */
    .whyus-story-clean .whyus-story-content {
        height: 80%;
        display: flex;
        flex-direction: column;
    }

.whyus-editorial-ref-video {
    width: 100%;
    height: 80%;
    object-fit: cover; /* like image */
    border-radius: 20px;
}




.whyus-story-clean {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 48px;
}

.whyus-story-clean .whyus-story-media {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    height: 720px; /* choose the actual height you want */
}

.whyus-editorial-ref-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
}

.whyus-story-clean .whyus-story-content {
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 991px) {

    .whyus-story-clean {
        grid-template-columns: 1fr;
    }

    /* 👇 TEXT FIRST */
    .whyus-story-content {
        order: 1;
    }

    /* 👇 VIDEO SECOND */
    .whyus-story-media {
        order: 2;
    }

    /* Optional: spacing fix */
    .whyus-story {
        gap: 24px;
    }
}

.whyus-story-clean {
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    border: none !important;
}

.whyus-story-media::after {
    display: none;
}


/* =========================
   TEAM — CENTERED (REFINED)
   ========================= */

.team-centered {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

/* Title — match site (NOT white) */
.team-centered-title {
    font-family: var(--heading-font);
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    font-weight: 600;
    color: var(--heading-color); /* ✅ uses your theme color */
    margin-bottom: 28px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Images row */
.team-centered-images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

/* Square images with soft edges */
.team-centered-item {
    width: 250px;
    aspect-ratio: 1 / 1; /* ✅ perfect square */
    border-radius: 18px; /* ✅ soft edges (premium look) */
    overflow: hidden;
    border: 1px solid rgba(15,23,42,.12);
    box-shadow: 0 14px 40px rgba(15,23,42,.12);
    transition: all .3s ease;
}

    .team-centered-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* subtle hover */
    .team-centered-item:hover {
        transform: translateY(-4px) scale(1.03);
        box-shadow: 0 20px 60px rgba(15,23,42,.18);
    }

@media (max-width: 991px) {
    .team-centered-item {
        width: 150px;
    }
}

@media (max-width: 575px) {
    .team-centered-item {
        width: 110px;
        border-radius: 14px;
    }
}