/* --- GLOBAL SETUP & VARIABLES --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root { --font-primary: "Manrope", Arial, sans-serif; --color-black: #000; --color-white: #fff; --color-light-gray: #f8f8f8; --transition-speed-fast: 0.3s; --transition-speed-slow: 0.6s; }
body { font-family: var(--font-primary); font-size: 16px; font-weight: 300; color: var(--color-black); background-color: var(--color-white); letter-spacing: .8px; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }

/* --- HEADER & NAVIGATION STYLES --- */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:transparent;transition:background-color .5s ease-in-out,margin-top .5s ease-in-out}.promo-bar{background-color:var(--color-white);text-align:center;padding:10px;font-size:14px;font-weight:400}.promo-bar a{color:var(--color-black);text-decoration:none;transition:opacity var(--transition-speed-fast)}.promo-bar a:hover{opacity:.7}.main-header{width:100%;transition:background-color .5s ease-in-out;background-color:var(--color-black)}.header-inner{max-width:1600px;margin:0 auto;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;transition:padding .5s ease-in-out}.logo-container .logo-link img{height:52px;width:auto;display:block}.nav-list{display:flex;list-style:none;gap:25px}.nav-item{position:relative}.nav-link{color:var(--color-white);font-size:17px;font-weight:200;letter-spacing:.5px;padding:20px 0;position:relative;transition:color var(--transition-speed-fast)}.nav-link:hover{color:rgba(255,255,255,.7)}.dropdown,.mega-menu{position:absolute;top:100%;left:0;background-color:rgba(20,20,20,.9);backdrop-filter:blur(5px);padding:15px;border-radius:4px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity var(--transition-speed-fast),visibility var(--transition-speed-fast),transform var(--transition-speed-fast);min-width:220px}.nav-item:hover>.dropdown,.nav-item:hover>.mega-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-list,.dropdown-nested ul{list-style:none}.dropdown-item a{display:block;color:var(--color-white);padding:10px 15px;font-size:15px;font-weight:300;transition:background-color var(--transition-speed-fast);border-radius:2px}.dropdown-item a:hover{background-color:var(--color-black)}.dropdown-item.has-dropdown{position:relative}.dropdown-nested{position:absolute;left:100%;top:0;background-color:rgba(20,20,20,.9);padding:15px;border-radius:4px;opacity:0;visibility:hidden;min-width:220px}.dropdown-item.has-dropdown:hover>.dropdown-nested{opacity:1;visibility:visible}.mega-menu{left:50%;transform:translateX(-50%) translateY(10px);width:90vw;max-width:1100px;padding:30px;display:flex;gap:40px}.nav-item:hover>.mega-menu{transform:translateX(-50%) translateY(0)}.mega-menu-column{display:flex;flex-direction:column;gap:8px;flex:1}.mega-menu-heading{color:var(--color-white);font-size:16px;font-weight:500;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.2)}.mega-menu-column a{color:rgba(255,255,255,.8);font-size:15px;padding:5px 0}.mega-menu-column a:hover{color:var(--color-white)}.header-actions{display:flex;align-items:center;gap:20px}.phone-icon{height:24px;width:auto}.btn-primary{background-color:transparent;color:var(--color-white);border:2px solid var(--color-white);padding:12px 24px;font-size:16px;font-weight:400;border-radius:2px;transition:background-color var(--transition-speed-fast),color var(--transition-speed-fast)}.btn-primary:hover{background-color:var(--color-white);color:var(--color-black)}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:10}.hamburger-menu span{width:30px;height:2px;background-color:var(--color-white);border-radius:2px;transition:all .3s linear;position:relative;transform-origin:1px}@media (max-width:1024px){.main-navigation .nav-list{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#111;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding-top:80px}.main-navigation.nav-active .nav-list{display:flex}.hamburger-menu{display:flex}.nav-active .hamburger-menu span:nth-child(1){transform:rotate(45deg)}.nav-active .hamburger-menu span:nth-child(2){opacity:0;transform:translateX(20px)}.nav-active .hamburger-menu span:nth-child(3){transform:rotate(-45deg)}.nav-item.has-dropdown>.dropdown,.nav-item.has-megamenu>.mega-menu{display:none;position:static;transform:none;opacity:1;visibility:visible;background:transparent;padding:10px 0 0 20px;min-width:unset;width:100%;text-align:center}.nav-item.has-dropdown.open>.dropdown,.nav-item.has-megamenu.open>.mega-menu{display:block}.mega-menu{flex-direction:column;align-items:center;gap:20px}.mega-menu-column{width:100%}.dropdown-item.has-dropdown.open>.dropdown-nested{display:block}.dropdown-nested{position:static;opacity:1;visibility:visible;background:transparent;padding:10px 0 0 20px}}@media (max-width:1120px){.header-actions .phone-link{display:none}}

/* --- HERO SECTION STYLES --- */
.hero-section{position:relative;max-width:calc(100% - 100px);margin:40px auto 60px;height:95vh;min-height:800px;color:var(--color-white);display:flex;align-items:center;overflow:hidden}.hero-slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-slider .swiper-slide{overflow:hidden}.swiper-zoom-container > img {width: 100%; height: 100%; object-fit: cover;}.hero-content{position:relative;z-index:2;width:100%;max-width:1600px;margin:0 auto;padding:0 20px;display:flex;justify-content:flex-end}.hero-inner{max-width:600px;padding-left:60px;position:relative}.hero-accent-bar{position:absolute;top:0;left:0;width:9px;height:100%;background-color:var(--color-white);animation:vert-bar-expand 1.7s 1s ease forwards;transform:scaleY(0);transform-origin:top}@keyframes vert-bar-expand{from{transform:scaleY(0)}to{transform:scaleY(1)}}.hero-content h1{font-size:100px;font-weight:200;line-height:1.1;letter-spacing:2px;margin-bottom:40px;opacity:0;transform:translateX(-100%);animation:slide-in-text 2.2s 1.5s ease forwards}.hero-subheading{display:block;max-width:425px;font-size:20px;font-weight:300;line-height:1.6;opacity:0;transform:translateX(-100%);animation:slide-in-text 2.2s 1.5s ease forwards}@keyframes slide-in-text{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:1200px){.hero-content h1{font-size:80px}}@media (max-width:800px){.hero-section{max-width:100%;margin-top:0;min-height:600px;height:80vh;align-items:center;text-align:center}.hero-content{justify-content:center}.hero-inner{padding-left:0;display:flex;flex-direction:column;align-items:center}.hero-accent-bar{display:none}.hero-content h1{font-size:48px}.hero-subheading{font-size:18px}}

/* --- GRAY BACKGROUND WRAPPER --- */
.gray-bg-wrapper { background-color: var(--color-light-gray); }

/* --- LOGO LIST STYLES --- */
.logo-list-section{padding:60px 20px}.logo-list-container{max-width:1600px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:30px}.logo-item{opacity:0;transform:scale(.8);transition:opacity 1s,transform 1.5s cubic-bezier(.46,.03,.52,.96)}.logo-item.in-view{opacity:1;transform:scale(1)}.logo-item img{max-height:72px;width:auto;opacity:1;filter:grayscale(100%);transition:opacity .3s,filter .3s}.logo-item img:hover{opacity:1;filter:grayscale(0)}@media (max-width:800px){.logo-item img{max-height:40px}}

/* --- AESTHETIC LEADER MODULE STYLES --- */
.aesthetic-leader-section{padding:80px 20px;overflow:hidden}.aesthetic-leader-container{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:100px;position:relative}.aesthetic-leader-container::after{content:"";position:absolute;left:50%;width:4px;height:70%;background-color:var(--color-black);opacity:0;top:0;transform:translateX(-50%) translateY(-50%);transition:top 1.7s cubic-bezier(.46,.03,.52,.96),opacity .5s ease}.aesthetic-leader-container.in-view::after{opacity:1;top:50%}.leader-heading h2{font-size:60px;font-weight:300;line-height:1.2;max-width:560px;margin:0 auto}.leader-text p{font-size:20px;line-height:1.8;letter-spacing:.4px;font-weight:400;max-width:560px;margin:0 auto}@media (max-width:800px){.aesthetic-leader-container{grid-template-columns:1fr;gap:20px;text-align:center}.aesthetic-leader-container::after{display:none}.leader-heading h2{font-size:40px}.leader-text p{font-size:18px}}

/* --- TABS MODULE STYLES (UPDATED) --- */
.tabs-module-section {
    background-color: var(--color-black);
    color: var(--color-white);
    overflow: hidden;
}
.tabs-container {
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0fr 1fr; /* Start collapsed */
    min-height: 900px;
    transition: grid-template-columns 1.5s cubic-bezier(.46, .03, .52, .96), max-width 1.5s cubic-bezier(.46, .03, .52, .96);
}
.tabs-container.is-animated {
    max-width: 1600px;
    grid-template-columns: 25% 75%;
}
.tabs-navigation {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 50px;
    gap: 30px;
    opacity: 0; /* Start hidden */
    transition: opacity 1s ease 1s; /* Fade in after the container expands */
}
.tabs-container.is-animated .tabs-navigation {
    opacity: 1;
}
.tab-link {
    font-size: 48px;
    font-weight: 300;
    line-height: 1.5;
    color: rgba(255, 255, 255, .5);
    transition: color var(--transition-speed-fast);
}
.tab-link:hover, .tab-link.active {
    color: var(--color-white);
}
.tabs-content {
    position: relative;
    overflow: hidden;
    background-color: var(--color-black);
}
.tab-pane-backgrounds {
    position: absolute;
    width: 100%;
    height: 100%;
}
.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0; /* ALL backgrounds start hidden */
    visibility: hidden;
    transition: opacity .8s ease-in-out, visibility .8s;
    transform: scale(1.1); /* Start slightly zoomed in for a subtle effect */
}
.background-image.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1); /* Smoothly zoom out to normal scale */
    transition: opacity .8s ease-in-out, visibility .8s, transform 1.5s ease-out;
}
.tab-pane-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
}
.tab-links-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-left: 10%;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    transition: opacity .5s ease .5s, visibility .5s ease .5s; /* Add a slight delay */
}
.tab-links-wrapper.active {
    opacity: 1;
    visibility: visible;
}
.tab-links-wrapper a {
    font-size: 17px;
    color: var(--color-white);
    position: relative;
    padding-left: 50px;
    transition: opacity var(--transition-speed-fast);
}
.tab-links-wrapper a:hover {
    opacity: .8;
}
.tab-links-wrapper a::before {
    content: "→";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 24px;
    opacity: 0;
    transition: opacity var(--transition-speed-fast);
}
.tab-links-wrapper a:hover::before {
    opacity: 1;
}
@media (max-width: 1024px) {
    .tabs-container, .tabs-container.is-animated {
        grid-template-columns: 1fr;
        min-height: auto;
        max-width: 100%;
    }
    .tabs-navigation {
        opacity: 1;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 40px 20px;
    }
    .tab-link {
        font-size: 24px;
    }
    .tabs-content {
        height: 600px;
    }
}