@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');


:root {
    --gf-ink: #111210;
    --gf-ink-soft: #2d2f2b;

    --gf-muted: #74766f;
    --gf-muted-2: #96988f;

    --gf-paper: #f4f3ef;
    --gf-surface: #ffffff;
    --gf-soft: #ecebe6;

    --gf-line: #deddd7;
    --gf-line-dark: #cac9c2;

    --gf-gold: #a97833;
    --gf-gold-soft: #f2e7d5;

    --gf-success: #2f7651;

    --gf-shell: 1240px;
}


* {
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0;

    background: var(--gf-paper);
    color: var(--gf-ink);

    font-family:
        "IBM Plex Sans",
        "Segoe UI",
        sans-serif;

    font-size: 14px;

    -webkit-font-smoothing: antialiased;
}


a {
    color: inherit;

    text-decoration: none;
}


button,
input,
select {
    font: inherit;
}


.gf-shell {
    width:
        min(
            var(--gf-shell),
            calc(100% - 40px)
        );

    margin: 0 auto;
}


.sr-only {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* =========================================================
   HEADER
========================================================= */

.gf-site-header {
    position: sticky;
    top: 0;

    z-index: 1000;

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

    background:
        rgba(244, 243, 239, .95);

    backdrop-filter:
        blur(12px);
}


.gf-header-inner {
    min-height: 68px;

    display: grid;
    grid-template-columns:
        auto
        1fr
        auto;

    gap: 34px;

    align-items: center;
}


.gf-brand {
    min-width: 0;

    display: inline-flex;
    align-items: center;
}


.gf-brand-logo {
    width: auto;
    max-width: 176px;
    max-height: 44px;

    display: block;

    object-fit: contain;
}


.gf-brand-text {
    max-width: 280px;

    overflow: hidden;

    color: var(--gf-ink);

    font-size: 23px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: -.035em;

    white-space: nowrap;
    text-overflow: ellipsis;
}


.gf-navbar {
    min-width: 0;
}


.gf-nav-links {
    margin: 0;
    padding: 0;

    list-style: none;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 28px;
}


.gf-nav-links a {
    position: relative;

    padding: 25px 0 22px;

    color: #555850;

    font-size: 12px;
    font-weight: 600;
}


.gf-nav-links a::after {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;

    height: 1px;

    background: var(--gf-ink);

    transform:
        scaleX(0);

    transform-origin: left;

    transition:
        transform .18s ease;
}


.gf-nav-links a:hover,
.gf-nav-links a.active {
    color: var(--gf-ink);
}


.gf-nav-links a:hover::after,
.gf-nav-links a.active::after {
    transform:
        scaleX(1);
}


.gf-header-actions {
    position: relative;

    display: flex;
    align-items: center;

    gap: 8px;
}


.gf-language-custom {
    position: relative;

    height: 36px;

    border:
        1px solid
        var(--gf-line-dark);

    border-radius: 6px;

    display: inline-flex;
    align-items: center;

    background: var(--gf-surface);
}


.gf-language-select {
    width: 132px;
    height: 34px;

    padding:
        0
        28px
        0
        11px;

    border: 0;
    outline: 0;

    appearance: none;
    -webkit-appearance: none;

    background: transparent;
    color: var(--gf-ink);

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;

    text-overflow: ellipsis;
}


.gf-language-select option {
    background: #fff;
    color: #111210;
}


.gf-language-custom > i {
    position: absolute;
    top: 50%;
    right: 10px;

    color: var(--gf-muted);

    font-size: 8px;

    transform:
        translateY(-50%);

    pointer-events: none;
}


.gf-header-track-btn {
    height: 36px;

    padding: 0 13px;

    border:
        1px solid
        var(--gf-ink);

    border-radius: 6px;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    background: var(--gf-ink);
    color: #fff;

    font-size: 11px;
    font-weight: 600;
}


.gf-header-track-btn:hover {
    background: transparent;
    color: var(--gf-ink);
}


.gf-header-track-btn i {
    font-size: 9px;
}


.gf-language-mobile,
.gf-hamburger {
    display: none;
}


.gf-hamburger {
    width: 20px;
    height: 18px;

    padding: 0;

    border: 0;

    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 4px;

    background: transparent;

    cursor: pointer;
}


.gf-hamburger span {
    width: 18px;
    height: 1.5px;

    border-radius: 999px;

    background: var(--gf-ink);

    transition:
        transform .18s ease,
        opacity .18s ease;
}


.gf-hamburger.is-open span:nth-child(1) {
    transform:
        translateY(5.5px)
        rotate(45deg);
}


.gf-hamburger.is-open span:nth-child(2) {
    opacity: 0;
}


.gf-hamburger.is-open span:nth-child(3) {
    transform:
        translateY(-5.5px)
        rotate(-45deg);
}


/* Google Translate is only the engine. */

.gf-google-translate-source,
#google_translate_element,
.goog-te-gadget,
.goog-te-combo {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    opacity: 0 !important;

    pointer-events: none !important;
}


iframe.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-logo-link {
    display: none !important;
}


html,
body {
    top: 0 !important;
}


/* =========================================================
   HERO
========================================================= */

.gf-hero {
    position: relative;

    overflow: hidden;

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

    background: var(--gf-surface);
}


.gf-hero-grid {
    min-height: 520px;

    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(360px, .78fr);

    gap: 72px;

    align-items: center;
}


.gf-hero-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    width: 42%;

    background-size: cover;
    background-position: center;
}


.gf-hero-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.10),
            rgba(0,0,0,.04)
        );
}


.gf-hero-copy {
    max-width: 580px;

    padding:
        64px
        0;
}


.gf-eyebrow {
    color: var(--gf-gold);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .15em;

    text-transform: uppercase;
}


.gf-hero h1 {
    margin:
        14px
        0
        18px;

    color: var(--gf-ink);

    font-size:
        clamp(
            46px,
            6vw,
            72px
        );

    font-weight: 600;

    line-height: .96;
    letter-spacing: -.055em;
}


.gf-hero h1 span {
    color: var(--gf-gold);
}


.gf-hero-copy > p {
    max-width: 480px;

    margin: 0;

    color: var(--gf-muted);

    font-size: 15px;
    line-height: 1.7;
}


.gf-hero-actions {
    margin-top: 26px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 18px;
}


.gf-btn {
    min-height: 42px;

    padding: 0 15px;

    border-radius: 6px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    font-size: 11px;
    font-weight: 600;

    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease;
}


.gf-btn-dark {
    border:
        1px solid
        var(--gf-ink);

    background: var(--gf-ink);
    color: #fff;
}


.gf-btn-dark:hover {
    background: transparent;
    color: var(--gf-ink);
}


.gf-text-link {
    color: var(--gf-ink);

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 11px;
    font-weight: 600;
}


.gf-route-summary {
    margin-top: 34px;
    padding-top: 20px;

    border-top:
        1px solid
        var(--gf-line);

    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;
}


.gf-route-summary span,
.gf-route-summary strong {
    display: block;
}


.gf-route-summary span {
    color: var(--gf-muted);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.gf-route-summary strong {
    margin-top: 4px;

    color: var(--gf-ink-soft);

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   TRACKING PANEL
========================================================= */

.gf-track-panel {
    position: relative;
    z-index: 4;

    margin-right: 24px;
    padding: 24px;

    border:
        1px solid
        rgba(17,18,16,.16);

    background:
        rgba(255,255,255,.96);

    box-shadow:
        0 16px 38px
        rgba(17,18,16,.10);

    backdrop-filter: blur(10px);
}


.gf-track-panel-head {
    padding-bottom: 18px;

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

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;
}


.gf-track-panel-head span {
    color: var(--gf-gold);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .14em;
}


.gf-track-panel-head h2 {
    margin: 5px 0 0;

    color: var(--gf-ink);

    font-size: 20px;
    font-weight: 600;
}


.gf-track-panel-head > i {
    color: var(--gf-gold);

    font-size: 17px;
}


#gf-tracking-form {
    padding-top: 18px;
}


.gf-field-label {
    display: block;

    margin-bottom: 7px;

    color: var(--gf-muted);

    font-size: 10px;
    font-weight: 600;
}


.gf-track-input-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
}


.gf-track-input-row input {
    min-width: 0;
    height: 44px;

    padding: 0 12px;

    border:
        1px solid
        var(--gf-line-dark);

    border-right: 0;

    border-radius:
        6px
        0
        0
        6px;

    outline: 0;

    background: #fff;
    color: var(--gf-ink);

    font-size: 12px;
}


.gf-track-input-row input:focus {
    border-color: var(--gf-gold);

    box-shadow:
        inset 0 0 0 1px
        var(--gf-gold);
}


.gf-track-submit {
    min-width: 84px;

    padding: 0 14px;

    border:
        1px solid
        var(--gf-ink);

    border-radius:
        0
        6px
        6px
        0;

    background: var(--gf-ink);
    color: #fff;

    font-size: 11px;
    font-weight: 600;

    cursor: pointer;
}


.gf-track-types {
    margin-top: 12px;

    display: flex;
    flex-wrap: wrap;

    gap: 14px;
}


.gf-track-types label {
    cursor: pointer;
}


.gf-track-types input {
    position: absolute;

    opacity: 0;
}


.gf-track-types span {
    position: relative;

    padding-left: 17px;

    color: var(--gf-muted);

    font-size: 10px;
    font-weight: 600;
}


.gf-track-types span::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 0;

    width: 9px;
    height: 9px;

    border:
        1px solid
        var(--gf-line-dark);

    border-radius: 50%;

    transform:
        translateY(-50%);
}


.gf-track-types
input:checked + span {
    color: var(--gf-ink);
}


.gf-track-types
input:checked + span::before {
    border-color: var(--gf-gold);

    background:
        radial-gradient(
            circle,
            var(--gf-gold) 0 40%,
            transparent 45%
        );
}


.gf-track-note {
    margin-top: 18px;
    padding-top: 14px;

    border-top:
        1px solid
        var(--gf-line);

    color: var(--gf-muted);

    font-size: 10px;
    line-height: 1.5;
}


.gf-track-note i {
    margin-right: 6px;

    color: var(--gf-gold);
}


.gf-error-message {
    position: relative;

    margin-top: 16px;
    padding:
        11px
        36px
        11px
        12px;

    border:
        1px solid
        #e4b6ae;

    background:
        #fff1ee;

    color: #91382f;

    font-size: 10px;
    line-height: 1.5;
}


.gf-error-message ul {
    margin: 0;

    padding-left: 16px;
}


.gf-close {
    position: absolute;
    top: 5px;
    right: 8px;

    border: 0;

    background: transparent;
    color: inherit;

    font-size: 18px;

    cursor: pointer;
}


/* =========================================================
   INFO STRIP
========================================================= */

.gf-info-strip {
    border-bottom:
        1px solid
        var(--gf-line-dark);

    background: var(--gf-soft);
}


.gf-info-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


.gf-info-item {
    min-height: 76px;

    padding:
        15px
        22px;

    border-right:
        1px solid
        var(--gf-line-dark);

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.gf-info-item:first-child {
    padding-left: 0;
}


.gf-info-item:last-child {
    border-right: 0;
}


.gf-info-item span {
    color: var(--gf-muted);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.gf-info-item a,
.gf-info-item strong {
    margin-top: 5px;

    color: var(--gf-ink);

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   GENERAL SECTION
========================================================= */

.gf-home-section {
    padding:
        72px
        0;
}


.gf-section-intro {
    margin-bottom: 28px;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(260px, .55fr);

    gap: 50px;

    align-items: end;
}


.gf-section-intro h2 {
    margin:
        8px
        0
        0;

    color: var(--gf-ink);

    font-size:
        clamp(
            30px,
            4vw,
            44px
        );

    font-weight: 600;

    line-height: 1;
    letter-spacing: -.04em;
}


.gf-section-intro > p {
    margin: 0;

    color: var(--gf-muted);

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   SERVICES — FLAT ROWS, NOT CARDS
========================================================= */

.gf-service-list {
    border-top:
        1px solid
        var(--gf-line);

    background: var(--gf-surface);
}


.gf-service-row {
    min-height: 118px;

    padding:
        16px
        0;

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

    display: grid;
    grid-template-columns:
        120px
        42px
        minmax(0, 1fr)
        24px;

    gap: 24px;

    align-items: center;

    transition:
        background .18s ease;
}


.gf-service-row:hover {
    background:
        #f8f7f3;
}


.gf-service-image {
    width: 120px;
    height: 84px;

    overflow: hidden;

    background: #ddd;
}


.gf-service-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .28s ease;
}


.gf-service-row:hover
.gf-service-image img {
    transform:
        scale(1.035);
}


.gf-service-index {
    color: var(--gf-gold);

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 10px;
    font-weight: 600;
}


.gf-service-copy h3 {
    margin: 0;

    color: var(--gf-ink);

    font-size: 16px;
    font-weight: 600;
}


.gf-service-copy p {
    max-width: 620px;

    margin:
        6px
        0
        0;

    color: var(--gf-muted);

    font-size: 11px;
    line-height: 1.6;
}


.gf-service-row > i {
    color: var(--gf-muted);

    font-size: 11px;
}


/* =========================================================
   COMPANY SECTION
========================================================= */

.gf-company-section {
    padding:
        68px
        0;

    border-top:
        1px solid
        var(--gf-line);

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

    background: var(--gf-surface);
}


.gf-company-grid {
    display: grid;
    grid-template-columns:
        minmax(360px, .9fr)
        minmax(0, 1.1fr);

    gap: 60px;

    align-items: center;
}


.gf-company-image {
    min-height: 390px;

    overflow: hidden;

    background: #ddd;
}


.gf-company-image img {
    width: 100%;
    height: 100%;
    min-height: 390px;

    display: block;

    object-fit: cover;
}


.gf-company-copy h2 {
    margin:
        10px
        0
        14px;

    color: var(--gf-ink);

    font-size:
        clamp(
            32px,
            4.2vw,
            48px
        );

    font-weight: 600;

    line-height: 1;
    letter-spacing: -.045em;
}


.gf-company-copy > p {
    max-width: 560px;

    margin: 0;

    color: var(--gf-muted);

    font-size: 13px;
    line-height: 1.75;
}


.gf-company-points {
    margin-top: 28px;

    border-top:
        1px solid
        var(--gf-line);
}


.gf-company-points > div {
    min-height: 70px;

    padding:
        14px
        0;

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

    display: grid;
    grid-template-columns:
        160px
        minmax(0, 1fr);

    gap: 24px;

    align-items: center;
}


.gf-company-points strong {
    color: var(--gf-ink);

    font-size: 12px;
    font-weight: 600;
}


.gf-company-points span {
    color: var(--gf-muted);

    font-size: 11px;
    line-height: 1.55;
}


.gf-inline-link {
    margin-top: 22px;

    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: var(--gf-gold);

    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   FINAL CTA
========================================================= */

.gf-final-cta {
    background: var(--gf-ink);
    color: #fff;
}


.gf-final-cta-inner {
    min-height: 180px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.gf-final-cta span {
    color: #bbbcb6;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .13em;
}


.gf-final-cta h2 {
    margin:
        8px
        0
        0;

    color: #fff;

    font-size:
        clamp(
            28px,
            3.8vw,
            40px
        );

    font-weight: 600;

    letter-spacing: -.035em;
}


.gf-final-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 16px;
}


.gf-btn-light {
    border:
        1px solid
        #fff;

    background: #fff;
    color: var(--gf-ink);
}


.gf-final-phone {
    color: #fff;

    font-family:
        "IBM Plex Mono",
        monospace;

    font-size: 11px;
    font-weight: 600;
}


/* =========================================================
   FOOTER
========================================================= */

.gf-home-footer {
    border-top:
        1px solid
        var(--gf-line-dark);

    background: #e8e7e2;
}


.gf-home-footer-inner {
    min-height: 74px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    color: var(--gf-muted);

    font-size: 10px;
}


.gf-home-footer-inner > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px;
}


.gf-home-footer strong {
    color: var(--gf-ink);

    font-weight: 600;
}


/* =========================================================
   LOADING
========================================================= */

.gf-loading-overlay {
    position: fixed;
    inset: 0;

    z-index: 9999;

    display: none;
    align-items: center;
    justify-content: center;

    background:
        rgba(17,18,16,.74);

    backdrop-filter:
        blur(4px);
}


.gf-loading-overlay.visible {
    display: flex;
}


.gf-loading-spinner {
    width: 40px;
    height: 40px;

    border:
        3px solid
        rgba(255,255,255,.25);

    border-top-color:
        var(--gf-gold);

    border-radius: 50%;

    animation:
        gfSpin .7s linear infinite;
}


@keyframes gfSpin {

    to {
        transform:
            rotate(360deg);
    }

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 980px) {

    .gf-header-inner {
        grid-template-columns:
            auto
            1fr
            auto;

        gap: 18px;
    }


    .gf-navbar {
        position: absolute;
        top: 68px;
        left: 0;
        right: 0;

        pointer-events: none;
    }


    .gf-nav-links {
        width:
            min(
                calc(100% - 24px),
                520px
            );

        max-height: 0;

        margin:
            0
            auto;

        padding:
            0
            18px;

        border:
            1px solid
            transparent;

        display: block;

        overflow: hidden;

        background: var(--gf-surface);

        opacity: 0;

        transform:
            translateY(-8px);

        transition:
            max-height .22s ease,
            opacity .18s ease,
            transform .18s ease,
            padding .18s ease,
            border-color .18s ease;

        pointer-events: none;
    }


    .gf-nav-links.active {
        max-height: 320px;

        padding:
            10px
            18px;

        border-color:
            var(--gf-line);

        opacity: 1;

        transform:
            translateY(0);

        pointer-events: auto;
    }


    .gf-nav-links li {
        border-bottom:
            1px solid
            var(--gf-line);
    }


    .gf-nav-links li:last-child {
        border-bottom: 0;
    }


    .gf-nav-links a {
        display: block;

        padding:
            12px
            0;
    }


    .gf-nav-links a::after {
        display: none;
    }


    .gf-language-desktop {
        display: none;
    }


    .gf-language-mobile,
    .gf-hamburger {
        display: inline-flex;
    }


    .gf-header-track-btn {
        display: none;
    }


    .gf-hero-grid {
        min-height: auto;

        grid-template-columns:
            1fr;

        gap: 26px;

        padding:
            56px
            0;
    }


    .gf-hero-image {
        width: 100%;

        opacity: .16;
    }


    .gf-hero-copy {
        max-width: 660px;

        padding: 0;
    }


    .gf-track-panel {
        width: min(520px, 100%);

        margin: 0;
    }


    .gf-section-intro {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .gf-company-grid {
        grid-template-columns: 1fr;

        gap: 34px;
    }


    .gf-company-image {
        min-height: 330px;
    }


    .gf-company-image img {
        min-height: 330px;
    }

}


@media (max-width: 700px) {

    .gf-shell {
        width:
            min(
                var(--gf-shell),
                calc(100% - 24px)
            );
    }


    .gf-header-inner {
        min-height: 64px;

        grid-template-columns:
            1fr
            auto;
    }


    .gf-navbar {
        top: 64px;
    }


    .gf-brand-logo {
        max-width: 130px;
        max-height: 38px;
    }


    .gf-brand-text {
        max-width: 180px;

        font-size: 20px;
    }


    .gf-language-mobile {
        height: 34px;
    }


    .gf-language-mobile
    .gf-language-select {
        width: 104px;
        height: 32px;

        font-size: 10px;
    }


    .gf-hero-grid {
        padding:
            42px
            0;
    }


    .gf-hero h1 {
        font-size:
            clamp(
                40px,
                12vw,
                56px
            );
    }


    .gf-route-summary {
        grid-template-columns: 1fr;
    }


    .gf-track-panel {
        padding: 20px;
    }


    .gf-info-grid {
        grid-template-columns: 1fr;
    }


    .gf-info-item,
    .gf-info-item:first-child {
        min-height: 62px;

        padding:
            11px
            0;

        border-right: 0;
        border-bottom:
            1px solid
            var(--gf-line-dark);
    }


    .gf-info-item:last-child {
        border-bottom: 0;
    }


    .gf-home-section {
        padding:
            54px
            0;
    }


    .gf-service-row {
        min-height: 0;

        grid-template-columns:
            88px
            30px
            minmax(0, 1fr);

        gap: 14px;
    }


    .gf-service-image {
        width: 88px;
        height: 68px;
    }


    .gf-service-row > i {
        display: none;
    }


    .gf-company-section {
        padding:
            54px
            0;
    }


    .gf-company-points > div {
        grid-template-columns: 1fr;

        gap: 5px;
    }


    .gf-final-cta-inner {
        min-height: 0;

        padding:
            38px
            0;

        align-items: flex-start;
        flex-direction: column;

        gap: 22px;
    }


    .gf-home-footer-inner {
        min-height: 0;

        padding:
            20px
            0;

        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

}


@media (max-width: 460px) {

    .gf-header-actions {
        gap: 6px;
    }


    .gf-language-mobile
    .gf-language-select {
        width: 92px;
    }


    .gf-track-input-row {
        grid-template-columns: 1fr;
    }


    .gf-track-input-row input {
        border-right:
            1px solid
            var(--gf-line-dark);

        border-radius:
            6px
            6px
            0
            0;
    }


    .gf-track-submit {
        min-height: 42px;

        border-radius:
            0
            0
            6px
            6px;
    }


    .gf-service-row {
        grid-template-columns:
            76px
            minmax(0, 1fr);

        gap: 12px;
    }


    .gf-service-index {
        display: none;
    }


    .gf-service-image {
        width: 76px;
        height: 62px;
    }

}



            .gf-pro-footer {
                border-top:
                    1px solid
                    var(--gf-line, #deddd7);

                background:
                    #171815;

                color:
                    #f5f4f0;
            }


            .gf-pro-footer-main {
                padding:
                    52px
                    0
                    44px;

                display: grid;
                grid-template-columns:
                    minmax(240px, 1.45fr)
                    minmax(130px, .65fr)
                    minmax(160px, .8fr)
                    minmax(230px, 1.1fr);

                gap:
                    48px;
            }


            .gf-pro-footer-brand {
                max-width:
                    360px;
            }


            .gf-pro-footer-logo-link {
                display:
                    inline-flex;

                align-items:
                    center;
            }


            .gf-pro-footer-logo {
                width:
                    auto;

                max-width:
                    170px;

                max-height:
                    44px;

                display:
                    block;

                object-fit:
                    contain;
            }


            .gf-pro-footer-name {
                color:
                    #fff;

                font-size:
                    22px;

                font-weight:
                    700;

                letter-spacing:
                    -.035em;
            }


            .gf-pro-footer-brand p {
                max-width:
                    330px;

                margin:
                    18px
                    0
                    0;

                color:
                    #a6a9a1;

                font-size:
                    11px;

                line-height:
                    1.75;
            }


            .gf-pro-footer-track {
                margin-top:
                    22px;

                display:
                    inline-flex;

                align-items:
                    center;

                gap:
                    8px;

                color:
                    #c89a4b;

                font-size:
                    11px;

                font-weight:
                    600;
            }


            .gf-pro-footer-track i {
                font-size:
                    9px;
            }


            .gf-pro-footer-label {
                display:
                    block;

                margin-bottom:
                    16px;

                color:
                    #c89a4b;

                font-size:
                    9px;

                font-weight:
                    700;

                letter-spacing:
                    .14em;
            }


            .gf-pro-footer-column nav,
            .gf-pro-footer-text-list {
                display:
                    grid;

                gap:
                    11px;
            }


            .gf-pro-footer-column nav a,
            .gf-pro-footer-text-list span {
                color:
                    #c6c8c1;

                font-size:
                    11px;

                line-height:
                    1.5;
            }


            .gf-pro-footer-column nav a {
                width:
                    fit-content;

                transition:
                    color .16s ease;
            }


            .gf-pro-footer-column nav a:hover {
                color:
                    #ffffff;
            }


            .gf-pro-footer-contact {
                min-width:
                    0;
            }


            .gf-pro-footer-contact-row {
                padding:
                    10px
                    0;

                border-bottom:
                    1px solid
                    rgba(
                        255,
                        255,
                        255,
                        .08
                    );
            }


            .gf-pro-footer-contact-row:first-of-type {
                padding-top:
                    0;
            }


            .gf-pro-footer-contact-row:last-child {
                border-bottom:
                    0;
            }


            .gf-pro-footer-contact-row span,
            .gf-pro-footer-contact-row strong,
            .gf-pro-footer-contact-row a {
                display:
                    block;
            }


            .gf-pro-footer-contact-row span {
                margin-bottom:
                    4px;

                color:
                    #777b73;

                font-size:
                    8px;

                font-weight:
                    700;

                letter-spacing:
                    .08em;

                text-transform:
                    uppercase;
            }


            .gf-pro-footer-contact-row strong,
            .gf-pro-footer-contact-row a {
                color:
                    #d7d9d3;

                font-size:
                    10.5px;

                font-weight:
                    500;

                line-height:
                    1.65;

                overflow-wrap:
                    anywhere;
            }


            .gf-pro-footer-bottom {
                border-top:
                    1px solid
                    rgba(
                        255,
                        255,
                        255,
                        .08
                    );

                background:
                    #131411;
            }


            .gf-pro-footer-bottom-inner {
                min-height:
                    58px;

                display:
                    flex;

                align-items:
                    center;

                justify-content:
                    space-between;

                gap:
                    20px;

                color:
                    #7f827b;

                font-size:
                    9.5px;
            }


            .gf-pro-footer-bottom-inner > div {
                display:
                    flex;

                align-items:
                    center;

                flex-wrap:
                    wrap;

                gap:
                    8px;
            }


            .gf-pro-footer-dot {
                color:
                    #4b4e48;
            }


            .gf-pro-footer-top {
                padding:
                    0;

                border:
                    0;

                display:
                    inline-flex;

                align-items:
                    center;

                gap:
                    7px;

                background:
                    transparent;

                color:
                    #aeb1aa;

                font-family:
                    inherit;

                font-size:
                    9.5px;

                font-weight:
                    600;

                cursor:
                    pointer;
            }


            .gf-pro-footer-top:hover {
                color:
                    #fff;
            }


            .gf-pro-footer-top i {
                color:
                    #c89a4b;

                font-size:
                    8px;
            }


            @media(max-width: 980px) {

                .gf-pro-footer-main {
                    grid-template-columns:
                        repeat(
                            2,
                            minmax(
                                0,
                                1fr
                            )
                        );

                    gap:
                        34px
                        46px;
                }

            }


            @media(max-width: 620px) {

                .gf-pro-footer-main {
                    padding:
                        40px
                        0
                        34px;

                    grid-template-columns:
                        1fr;

                    gap:
                        30px;
                }


                .gf-pro-footer-brand {
                    max-width:
                        none;
                }


                .gf-pro-footer-bottom-inner {
                    min-height:
                        72px;

                    padding:
                        14px
                        0;

                    align-items:
                        flex-start;

                    flex-direction:
                        column;

                    justify-content:
                        center;

                    gap:
                        9px;
                }

            }
@media (max-width: 980px) {

    .gf-hero {
        background: var(--gf-surface);
    }

    .gf-hero-image {
        width: 100%;
        opacity: 1;

        background-position: center;
    }

    .gf-hero-image::after {
        background:
            linear-gradient(
                90deg,
                rgba(244, 243, 239, .48) 0%,
                rgba(244, 243, 239, .32) 42%,
                rgba(17, 18, 16, .05) 100%
            );
    }

    .gf-hero-grid {
        position: relative;
        z-index: 2;
    }

    .gf-hero-copy {
        position: relative;
        z-index: 3;
    }
}
@media (max-width: 700px) {

    .gf-hero-image::after {
        background:
            linear-gradient(
                to bottom,
                rgba(244, 243, 239, .38) 0%,
                rgba(244, 243, 239, .22) 48%,
                rgba(244, 243, 239, .10) 100%
            );
    }

    .gf-hero-copy > p {
        color: #5f625c;
    }

    .gf-route-summary span {
        color: #656861;
    }
}
