/* Root */
:root {
    --wellington-green: #004A33;
    --dark-green: #033626;
    --wellington-gold: #C49A6C;
    --light-gold: #f6f2eb;
    --dark-gold: #B38C62;
    --white: #fff;
    --font-title: "Bebas Neue", sans-serif;
    --font-display: "Amsterdam Four", sans-serif;
    --font-base: "Montserrat", sans-serif;
    --smooth: all ease-in-out .3s;
    --btn-smooth: 
        background-color 0.65s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.65s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.65s cubic-bezier(0.4, 0, 0.2, 1);
    --btn-will-change: background-colour, colour, border-colour;
    --radius: 5px;
    --header-height: 100px;
    --s-base: clamp(70px, 5vw + 40px, 160px);
    --s-1: var(--s-base);
    --s-2: calc(var(--s-base) * 0.75);
    --s-3: calc(var(--s-base) * 0.5);
    --s-4: calc(var(--s-base) * 0.33);
    --s-5: calc(var(--s-base) * 0.25);
    --s-6: calc(var(--s-base) * 0.125);
}

#estate-switcher {position: fixed; top: 0; right: -400px; width: 400px; height: 100vh; background: var(--wellington-green); box-shadow: -3px 0 10px rgba(0,0,0,0.2); z-index: 9999; transition: right 0.3s ease; font-family: sans-serif; display: flex; flex-direction: column; padding: 70px 30px;}
#estate-switcher.open {right: 0;}
.estate-switcher-header {display: flex; justify-content: space-between; align-items: center; padding: 15px 0 45px; flex-shrink: 0; max-width: 250px; margin: 0 auto;}
.estate-switcher-header h3 {margin: 0; font-size: 18px; font-family: var(--font-base); font-weight: 300; text-align: center; color: var(--white);}
.estate-switcher .mobile-toggle {display: block; position: absolute; right: 20px; top: 40px; z-index: 2;}
.estate-switcher-logos {display: flex; flex-direction: column; gap: 80px; flex: 1; overflow-y: auto; overflow-x: hidden; height: 100%; max-height: calc(100vh - 100px);}
.estate-switcher-logos::-webkit-scrollbar {width: 8px;}
.estate-switcher-logos::-webkit-scrollbar-track {background: rgba(255, 255, 255, 0.1);}
.estate-switcher-logos::-webkit-scrollbar-thumb {background: var(--sage); border-radius: 4px;}
.estate-switcher-logos::-webkit-scrollbar-thumb:hover {background: var(--dark-sage);}
.estate-switcher-item {display: flex; align-items: center; justify-content: center; text-decoration: none; position: relative;}
.estate-switcher-item img {height: 111px; width: auto; max-width: 250px; object-fit: contain;}
.estate-switcher-item::after {content: ""; position: absolute; background: var(--white); width: 100%; height: 1px; bottom: -40px;}
.estate-switcher-menu-item {display: inline-block; position: relative;}
.estate-switcher-menu-item img {display: block; height: 49px !important; width: 42px; border: solid 1.5px var(--white); box-sizing: border-box; padding: 10px; object-fit: contain; position: relative; transition: var(--smooth);}
.estate-switcher-menu-item img:hover {border-color: var(--wellington-gold); background-color: var(--wellington-gold); transition: var(--smooth);}
body.estate-switcher-open {overflow: hidden; position: fixed; width: 100%;}
.estate-switcher-trigger {border: none; background: transparent; transition: var(--smooth);}
.estate-switcher-trigger:hover {cursor: pointer; transition: var(--smooth);}