@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter/Inter_18pt-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter/Inter_18pt-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('../fonts/inter/Inter_24pt-ExtraBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/cormorant-garamond/CormorantGaramond-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/cormorant-garamond/CormorantGaramond-SemiBold.ttf') format('truetype');
}

@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/cormorant-garamond/CormorantGaramond-Italic.ttf') format('truetype');
}

@font-face {
    font-family: 'Cormorant Garamond';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/cormorant-garamond/CormorantGaramond-Italic.ttf') format('truetype');
}

.gk-hero-bg {
    background-image: var(--hero-bg-desktop);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 1023px) {
    .gk-hero-bg {
        background-image: var(--hero-bg-mobile, var(--hero-bg-desktop));
    }

    video.gk-hero-video--desktop {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (min-width: 1024px) {
    video.gk-hero-video--mobile {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    video.gk-hero-video--desktop {
        z-index: 0;
    }
}

[data-gk-hero-video-section] video,
video.hero__video,
video.gk-hero-responsive-video {
    object-fit: cover;
    object-position: center center;
}

.about-hero,
.careers-hero,
.page-office .office-hero {
    height: min(832px, calc(100vw * 9 / 16));
}

@media (max-width: 1023px) {
    .about-hero {
        height: min(852px, calc(100vw * 16 / 9));
    }
}

:root {
    --color-forge: #211D1A;
    --color-forge-rgb: 33, 29, 26;
    --color-forge-soft: #3E3A37;
    --color-flare: #E83825;
    --color-flare-rgb: 232, 56, 37;
    --color-ash: #ECE5DB;
    --color-ash-rgb: 236, 229, 219;
    --color-ash-hover: #F0EAE2;
    --color-neutral: #5F5853;
    --color-muted: #666666;
    --color-disabled: #949494;
    --color-dark: #1E1E1E;
    --color-black: #000000;
    --color-white: #FFFFFF;
    --color-white-rgb: 255, 255, 255;
    --color-bg: #F1EEE9;
    --header-bg-forge: rgba(var(--color-forge-rgb), 0.48);
    --header-bg-white: rgba(var(--color-white-rgb), 0.64);
    --header-blur: 24px;
    --menu-overlay-bg: var(--color-forge);
    --menu-overlay-text: var(--color-ash);
    --max-width: 1280px;
    --padding-x: 64px;
    --font-serif: 'Cormorant Garamond', serif;
    --font-sans: 'Inter', sans-serif;
    --header-cta-h: 40px;
    --header-cta-pad-x: 24px;
    --hero-pad-x: 64px;
    --hero-pad-y: 40px;
    --page-align-x: max(
        var(--padding-x),
        calc(50% - (var(--max-width) / 2) + var(--padding-x))
    );
    --gk-carousel-slide-gradient: linear-gradient(
        180deg,
        rgba(var(--color-forge-rgb), 0.48) 0%,
        rgba(var(--color-forge-rgb), 0) 50%,
        rgba(var(--color-forge-rgb), 0.38) 100%
    );
}

.gk-page-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--max-width);
    margin-inline: auto;
    padding-inline: var(--padding-x);
}

.gk-submit-pill {
    box-sizing: border-box;
    display: inline-flex;
    flex: 0 0 auto;
    width: 175px;
    min-width: 175px;
    max-width: 100%;
    height: 56px;
    min-height: 56px;
    padding: 8px 16px 8px 24px;
    align-items: center;
    gap: 8px;
    margin: 0;
    border: 1.25px solid var(--color-flare);
    border-radius: 56px;
    background-color: transparent;
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: var(--color-flare);
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition:
        color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.gk-submit-pill:hover,
.gk-submit-pill:focus-visible {
    color: var(--color-forge);
    border-color: var(--color-forge);
    background-color: transparent;
}

.gk-submit-pill__label {
    flex-shrink: 0;
}

.gk-submit-pill__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    margin-inline-start: auto;
    color: currentColor;
}

.gk-submit-pill__icon svg {
    display: block;
    width: 36px;
    height: 36px;
    transform: translate3d(-9px, 0, 0);
    transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}

.gk-submit-pill:hover .gk-submit-pill__icon svg,
.gk-submit-pill:focus-visible .gk-submit-pill__icon svg {
    transform: translate3d(8px, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .gk-submit-pill {
        transition:
            color 0.25s ease,
            border-color 0.25s ease,
            background-color 0.25s ease;
    }

    .gk-submit-pill__icon svg {
        transition: none;
    }

    .gk-submit-pill:hover .gk-submit-pill__icon svg,
    .gk-submit-pill:focus-visible .gk-submit-pill__icon svg {
        transform: translate3d(0, 0, 0);
    }
}

.work-card__arrow,
.featured-work__arrow,
.expertise-work-card__arrow,
.contact-office-card__thumb-arrow {
    background-color: transparent;
    transition:
        border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.work-card__arrow svg,
.featured-work__arrow svg,
.expertise-work-card__arrow svg,
.contact-office-card__thumb-arrow svg {
    display: block;
}

.work-card__arrow svg path,
.featured-work__arrow svg path,
.expertise-work-card__arrow svg path,
.contact-office-card__thumb-arrow svg path {
    fill: none;
    stroke: currentColor;
}

.work-card:hover .work-card__arrow,
.work-card:focus-visible .work-card__arrow,
.featured-work__card:hover .featured-work__arrow,
.featured-work__card:focus-visible .featured-work__arrow,
.expertise-work-card:hover .expertise-work-card__arrow,
.expertise-work-card:focus-visible .expertise-work-card__arrow {
    border-color: var(--color-flare);
    color: var(--color-flare);
    background-color: transparent;
}

body {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-height: 100dvh;
}

html {
    height: 100%;
}

.site-header {
    flex-shrink: 0;
}

.site-main {
    flex: 1 0 auto;
    width: 100%;
}

.site-footer-bottom {
    flex-shrink: 0;
}

.screen-reader-text,
.gk-noscript-nav {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link:focus,
.skip-link:focus-visible {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100000;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 20px;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border: 2px solid var(--color-forge);
    background: var(--color-white);
    color: var(--color-forge);
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

body.gk-mobile-nav-open {
    overflow: hidden;
}

@media (pointer: fine) {
    [data-drag-scroll].gk-drag-scroll-ready {
        cursor: grab;
    }

    [data-drag-scroll].gk-drag-scroll--dragging {
        cursor: grabbing;
        scroll-snap-type: none;
        scroll-behavior: auto;
        user-select: none;
    }

    [data-drag-scroll].gk-drag-scroll--dragging a,
    [data-drag-scroll].gk-drag-scroll--dragging img {
        pointer-events: none;
    }
}

@media print {
    .site-header,
    .site-header__nav,
    .skip-link,
    .gk-btn-play,
    .gk-btn-mute,
    .hero-prev,
    .hero-next,
    .work-hero__nav,
    .work-hero__btn,
    .awards__toggle,
    .office-culture__nav,
    .news-single-banner__share,
    [role="dialog"],
    .work-filter-overlay,
    .work-filter-panel,
    video {
        display: none !important;
    }

    body {
        background: #fff !important;
        color: #000 !important;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.85em;
        word-break: break-all;
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
}
