.elementor-13 .elementor-element.elementor-element-81f1d97{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-98a962a */.grahams-header {
    --gc-ivory: #f8f5ef;
    --gc-ink: #171717;
    --gc-muted: #6f6a63;
    --gc-line: rgba(23, 23, 23, 0.12);

    position: sticky;
    top: 0;
    z-index: 999;
    width: 100%;
    background: rgba(248, 245, 239, 0.96);
    border-bottom: 1px solid var(--gc-line);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.grahams-header__inner {
    width: min(100% - 48px, 1440px);
    min-height: 94px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 320px 1fr;
    align-items: center;
    gap: 48px;
}

.grahams-header__logo {
    display: inline-flex;
    align-items: center;
    width: 100%;
    max-width: 300px;
    text-decoration: none;
}

.grahams-header__logo img {
    display: block;
    width: 100%;
    height: auto;
}

.grahams-nav {
    justify-self: end;
}

.grahams-nav__list {
    display: flex;
    align-items: center;
    gap: 38px;

    margin: 0;
    padding: 0;
    list-style: none;
}

.grahams-nav__list a {
    position: relative;
    display: inline-block;

    color: var(--gc-ink);
    text-decoration: none;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    padding: 12px 0;

    transition:
        opacity 180ms ease,
        color 180ms ease;
}

.grahams-nav__list a::after {
    content: "";
    position: absolute;

    left: 0;
    right: 0;
    bottom: 6px;

    height: 1px;
    background: currentColor;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 220ms ease;
}

.grahams-nav__list a:hover::after,
.grahams-nav__list a:focus-visible::after {
    transform: scaleX(1);
}

.grahams-nav__list a:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 5px;
}

.grahams-menu-toggle {
    display: none;

    width: 44px;
    height: 44px;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;
    cursor: pointer;
}

.grahams-menu-toggle span {
    display: block;

    width: 24px;
    height: 1px;

    margin: 6px auto;

    background: var(--gc-ink);

    transition:
        transform 220ms ease,
        opacity 180ms ease;
}

.grahams-header.is-open .grahams-menu-toggle span:first-child {
    transform: translateY(3.5px) rotate(45deg);
}

.grahams-header.is-open .grahams-menu-toggle span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
}

.grahams-mobile-menu {
    display: none;
}

@media (max-width: 900px) {

    .grahams-header__inner {
        width: min(100% - 32px, 1440px);
        min-height: 78px;

        grid-template-columns: minmax(0, 1fr) auto;
        gap: 20px;
    }

    .grahams-header__logo {
        max-width: 250px;
    }

    .grahams-nav {
        display: none;
    }

    .grahams-menu-toggle {
        display: block;
    }

    .grahams-mobile-menu {
        display: grid;
        grid-template-rows: 0fr;

        background: var(--gc-ivory);
        border-top: 1px solid transparent;

        overflow: hidden;

        transition:
            grid-template-rows 280ms cubic-bezier(.22, .61, .36, 1),
            border-color 180ms ease;
    }

    .grahams-mobile-menu nav {
        min-height: 0;

        display: flex;
        flex-direction: column;

        width: min(100% - 32px, 1440px);
        margin: 0 auto;

        overflow: hidden;
    }

    .grahams-mobile-menu a {
        display: block;

        padding: 20px 0;

        color: var(--gc-ink);
        text-decoration: none;

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

        font-family: Arial, Helvetica, sans-serif;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .grahams-header.is-open .grahams-mobile-menu {
        grid-template-rows: 1fr;
        border-color: var(--gc-line);
    }
}

@media (max-width: 520px) {

    .grahams-header__inner {
        min-height: 72px;
    }

    .grahams-header__logo {
        max-width: 215px;
    }
}/* End custom CSS */