:root {
    --gft-ink: #17332d;
    --gft-muted: #66756f;
    --gft-brand: #1f6b5b;
    --gft-brand-dark: #154c41;
    --gft-accent: #c89c5b;
    --gft-surface: #f5f8f6;
    --gft-line: #dfe8e3;
    --gft-white: #ffffff;
    --gft-radius: 18px;
    --gft-shadow: 0 18px 50px rgba(22, 67, 57, 0.09);
}

.gft-site-header,
.gft-site-header * { box-sizing: border-box; }
.gft-site-header a { color: inherit; text-decoration: none; }
.gft-site-header button { font: inherit; }
.gft-container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.gft-mobile-utility,
.gft-menu-toggle { display: none; }
.gft-site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid rgba(223, 232, 227, 0.9);
    color: var(--gft-ink);
    background: rgba(255, 255, 255, 0.94);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    line-height: 1.7;
    backdrop-filter: blur(14px);
}
.gft-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.gft-brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.gft-brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50% 50% 50% 12px;
    color: var(--gft-white);
    background: linear-gradient(145deg, var(--gft-brand), var(--gft-brand-dark));
    font-weight: 700;
}
.gft-brand-copy strong { display: block; letter-spacing: 0.08em; }
.gft-brand-copy small { display: block; color: var(--gft-muted); font-size: 11px; letter-spacing: 0.04em; }
.gft-nav { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 2px; }
.gft-nav-item { position: relative; flex: 0 0 auto; }
.gft-nav-link { display: block; padding: 26px 8px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.gft-nav-item:hover > .gft-nav-link,
.gft-nav-item.is-active > .gft-nav-link { color: var(--gft-brand); }
.gft-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.gft-header-action {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid var(--gft-line);
    border-radius: 999px;
    color: var(--gft-brand);
    background: var(--gft-white);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.gft-header-action:hover,
.gft-header-action[aria-current="page"] { border-color: var(--gft-brand); color: var(--gft-white); background: var(--gft-brand); }
.gft-header-action svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.gft-subnav {
    position: absolute;
    top: calc(100% - 8px);
    left: 50%;
    min-width: 176px;
    padding: 10px;
    border: 1px solid var(--gft-line);
    border-radius: 14px;
    background: var(--gft-white);
    box-shadow: var(--gft-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    transition: 0.2s ease;
}
.gft-nav-item:hover .gft-subnav { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.gft-subnav a { display: block; padding: 8px 12px; border-radius: 9px; color: var(--gft-muted); white-space: nowrap; }
.gft-subnav a:hover { color: var(--gft-brand); background: var(--gft-surface); }
.gft-account-page { margin-top: 0; }
.gft-account-page .fly-user-main { margin-top: 24px; }
.gft-account-page .fly-footer { margin-top: 30px; }

@media (min-width: 1001px) and (max-width: 1150px) {
    .gft-header-inner { gap: 12px; }
    .gft-brand-copy small { display: none; }
    .gft-nav-link { padding-right: 5px; padding-left: 5px; font-size: 12px; }
    .gft-header-action {
        width: 40px;
        justify-content: center;
        padding-right: 0;
        padding-left: 0;
    }
    .gft-header-action span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (max-width: 1000px) {
    .gft-site-header {
        border-bottom: 0;
        color: #fffdf1;
        background: #a2a769;
        backdrop-filter: none;
    }
    .gft-mobile-utility {
        display: block;
        background: #58612d;
    }
    .gft-mobile-utility-inner {
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
    }
    .gft-social-links,
    .gft-language-options {
        display: flex;
        align-items: center;
    }
    .gft-social-links { gap: clamp(13px, 4vw, 28px); }
    .gft-social-links a {
        display: grid;
        width: 27px;
        height: 27px;
        place-items: center;
        color: #fffdf1;
    }
    .gft-social-links svg {
        width: 100%;
        height: 100%;
        fill: currentColor;
        overflow: visible;
    }
    .gft-social-links rect,
    .gft-social-links circle:not(.gft-social-dot) {
        fill: none;
        stroke: currentColor;
        stroke-width: 2.4;
    }
    .gft-social-links .gft-social-dot { fill: currentColor; }
    .gft-language-options {
        gap: clamp(10px, 2.5vw, 18px);
        font-weight: 700;
        white-space: nowrap;
    }
    .gft-language-options span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }
    .gft-language-flag {
        display: block;
        width: 28px;
        height: 18px;
        flex: 0 0 auto;
    }
    .gft-header-inner {
        min-height: 104px;
        align-items: center;
        flex-direction: row;
        padding: 0;
    }
    .gft-header-actions { gap: 6px; }
    .gft-header-action {
        min-height: 42px;
        padding: 0 9px;
        border-color: rgba(255, 253, 241, .55);
        color: #fffdf1;
        background: rgba(255, 253, 241, .08);
    }
    .gft-header-action:hover { border-color: #fffdf1; color: #58612d; background: #fffdf1; }
    .gft-brand { min-width: 0; color: #fffdf1; }
    .gft-brand-mark {
        width: 58px;
        height: 58px;
        border: 2px solid rgba(255, 253, 241, .92);
        border-radius: 50%;
        color: #fffdf1;
        background: transparent;
        font-family: Georgia, serif;
        font-size: 25px;
    }
    .gft-brand-copy {
        min-width: 0;
        display: flex;
        align-items: center;
    }
    .gft-brand-copy strong {
        padding-right: 13px;
        font-size: clamp(29px, 8vw, 47px);
        font-weight: 300;
        line-height: .95;
        letter-spacing: .12em;
    }
    .gft-brand-copy small {
        max-width: 170px;
        padding-left: 13px;
        border-left: 1px solid rgba(255, 253, 241, .82);
        color: #fffdf1;
        font-size: clamp(11px, 2.7vw, 17px);
        line-height: 1.08;
        letter-spacing: 0;
        text-transform: none;
    }
    .gft-menu-toggle {
        display: grid;
        flex: 0 0 auto;
        width: 54px;
        height: 54px;
        padding: 9px 5px;
        border: 0;
        place-content: center;
        gap: 8px;
        color: #fffdf1;
        background: transparent;
        cursor: pointer;
    }
    .gft-menu-toggle span {
        display: block;
        width: 39px;
        height: 4px;
        border-radius: 2px;
        background: currentColor;
        transition: transform .2s ease, opacity .2s ease;
    }
    .gft-site-header.is-menu-open .gft-menu-toggle span:nth-child(1) { transform: translateY(12px) rotate(45deg); }
    .gft-site-header.is-menu-open .gft-menu-toggle span:nth-child(2) { opacity: 0; }
    .gft-site-header.is-menu-open .gft-menu-toggle span:nth-child(3) { transform: translateY(-12px) rotate(-45deg); }
    .gft-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        display: none;
        max-height: calc(100vh - 158px);
        width: 100%;
        padding: 12px max(20px, calc((100% - 1180px) / 2));
        overflow-y: auto;
        border-top: 1px solid rgba(255, 255, 255, .22);
        background: #58612d;
        box-shadow: 0 18px 32px rgba(39, 48, 23, .22);
    }
    .gft-site-header.is-menu-open .gft-nav { display: block; }
    .gft-nav-item { width: 100%; }
    .gft-nav-link {
        padding: 12px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
        color: #fffdf1;
        font-size: 15px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .gft-nav-item:hover > .gft-nav-link,
    .gft-nav-item.is-active > .gft-nav-link { color: #fff; }
    .gft-subnav { display: none; }
}

@media (max-width: 680px) {
    .gft-container { width: min(100% - 28px, 1180px); }
    .gft-header-inner { min-height: 92px; gap: 8px; }
    .gft-brand { gap: 9px; }
    .gft-header-actions { gap: 4px; }
    .gft-header-action {
        width: 40px;
        min-height: 40px;
        justify-content: center;
        padding: 0;
    }
    .gft-header-action span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .gft-brand-mark { width: 50px; height: 50px; font-size: 22px; }
    .gft-brand-copy strong { padding-right: 8px; }
    .gft-brand-copy small { max-width: 130px; padding-left: 8px; }
    .gft-menu-toggle { width: 46px; padding-right: 0; }
    .gft-menu-toggle span { width: 34px; }
    .gft-nav { max-height: calc(100vh - 146px); padding-right: 14px; padding-left: 14px; }
}

@media (max-width: 480px) {
    .gft-mobile-utility-inner { width: calc(100% - 20px); min-height: 46px; gap: 8px; }
    .gft-social-links { gap: 8px; }
    .gft-social-links a { width: 22px; height: 22px; }
    .gft-language-options { gap: 6px; font-size: 12px; }
    .gft-language-options span { gap: 3px; }
    .gft-language-flag { width: 20px; height: 13px; }
    .gft-header-inner { width: calc(100% - 20px); min-height: 84px; }
    .gft-brand-mark { width: 44px; height: 44px; font-size: 20px; }
    .gft-brand-copy strong { font-size: 27px; }
    .gft-brand-copy small { max-width: 104px; font-size: 10px; }
    .gft-menu-toggle { width: 42px; height: 48px; }
    .gft-menu-toggle span { width: 30px; height: 3px; }
    .gft-site-header.is-menu-open .gft-menu-toggle span:nth-child(1) { transform: translateY(11px) rotate(45deg); }
    .gft-site-header.is-menu-open .gft-menu-toggle span:nth-child(3) { transform: translateY(-11px) rotate(-45deg); }
    .gft-nav { max-height: calc(100vh - 130px); }
}