/**
 * Global Fact Tax — typography aligned with primetaxglobal (theme-primetax.css scale)
 * Loaded after custom.css; scope: body.gft-type-scale
 */

body.gft-type-scale {
    --gft-content-max: min(3600px, 97.5vw);
    --gft-content-gutter: clamp(16px, 1.1vw + 10px, 40px);
    --gft-copy-size: 1.125em;
    --font-family-heading: "Libre Baskerville", "Plus Jakarta Sans", Georgia, serif;
    --font-family-text: "Plus Jakarta Sans", system-ui, sans-serif;
    font-family: var(--font-family-text);
    font-size: clamp(16px, 0.32vw + 11.5px, 21px);
    line-height: 1.6;
}

body.gft-type-scale h1,
body.gft-type-scale h2,
body.gft-type-scale h3,
body.gft-type-scale h4,
body.gft-type-scale h5,
body.gft-type-scale h6,
body.gft-type-scale .sec-title__title {
    font-family: var(--font-family-heading);
    font-weight: 700;
    letter-spacing: -0.025em;
}

body.gft-type-scale .sub-heading,
body.gft-type-scale .gft-premium-home .sub-heading {
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.gft-type-scale :is(
    .banner-home__description-content .banner-home__description,
    .gft-hero-body,
    .gft-section-intro,
    .service-details__text,
    .gft-about-intro__text,
    .about-mission__main-content > p,
    .whychooseus__highlight-contaner > p,
    .gft-page-banner__lead,
    .title-description p,
    p.secondary-accent,
    .card__about-overview p,
    .gft-tax-audience__text,
    .gft-service-box__text
) {
    font-size: var(--gft-copy-size);
}

body.gft-type-scale main p:not(.sec-title__tagline),
body.gft-type-scale .gft-premium-home p:not(.sec-title__tagline) {
    font-size: var(--gft-copy-size);
}

/* Header nav — match PTG 15px / fluid desktop */
body.gft-type-scale .navbar-nav .nav-link {
    font-weight: 700;
    font-size: 15px;
    padding: 8px 14px !important;
}

body.gft-type-scale .navbar-nav .dropdown-menu .dropdown-item {
    font-size: 15px;
    font-weight: 600;
    padding: 10px 16px;
}

body.gft-type-scale .navbar-nav .nav-link.gft-nav-portal {
    font-size: 14px;
    font-weight: 700;
    padding: 10px 20px !important;
}

body.gft-type-scale .gft-text-logo {
    font-family: var(--font-family-heading);
    font-size: clamp(28px, 1.55vw, 38px);
    font-weight: 700;
}

body.gft-type-scale .gft-text-logo-footer {
    font-size: clamp(17px, 1.1vw, 20px);
}

body.gft-type-scale .gft-page-banner__eyebrow {
    font-size: 12px;
    letter-spacing: 0.14em;
}

body.gft-type-scale .gft-page-banner--inner .banner-page__inner-container h1 {
    font-size: clamp(32px, 4.5vw, 48px);
}

body.gft-type-scale .gft-page-banner__lead {
    font-size: clamp(17px, 1vw + 0.45rem, 20px);
}

body.gft-type-scale .gft-about-intro__content h2,
body.gft-type-scale .about-mission__main-content h2,
body.gft-type-scale .gft-about-values__heading h2 {
    font-size: clamp(28px, 3.5vw, 42px);
}

body.gft-type-scale .hero-container {
    max-width: var(--gft-content-max) !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--gft-content-gutter);
    padding-right: var(--gft-content-gutter);
    box-sizing: border-box;
}

@media (min-width: 1200px) {
    body.gft-type-scale .navbar-nav .nav-link {
        font-size: clamp(11.5px, 0.35vw + 0.55rem, 17px);
        letter-spacing: clamp(0.035em, 0.04vw, 0.065em);
        text-transform: uppercase;
        padding: 6px clamp(6px, 0.45vw, 12px) !important;
    }

    body.gft-type-scale .navbar-nav .dropdown-menu .dropdown-item {
        font-size: clamp(14px, 0.25vw + 0.65rem, 17px);
        text-transform: none;
    }

    /* Services & Global Tax — open submenu on hover (desktop) */
    body.gft-type-scale .navbar-nav .nav-item.dropdown {
        position: relative;
    }

    body.gft-type-scale .navbar-nav .nav-item.dropdown > .dropdown-menu {
        display: none;
        margin-top: 0;
        top: calc(100% + 4px);
        left: 0;
        min-width: 260px;
        border-radius: 14px;
        border: 1px solid rgba(15, 49, 58, 0.1);
        box-shadow: 0 16px 40px rgba(10, 31, 61, 0.15);
        padding: 8px;
    }

    body.gft-type-scale .navbar-nav .nav-item.dropdown:hover > .dropdown-menu,
    body.gft-type-scale .navbar-nav .nav-item.dropdown:focus-within > .dropdown-menu,
    body.gft-type-scale .navbar-nav .nav-item.dropdown > .dropdown-menu.show {
        display: block !important;
    }

    body.gft-type-scale .navbar-nav .nav-item.dropdown > .dropdown-menu::before {
        content: "";
        position: absolute;
        top: -10px;
        left: 0;
        right: 0;
        height: 10px;
    }

    body.gft-type-scale .navbar-nav .dropdown-item {
        border-radius: 8px;
        font-weight: 600;
    }

    body.gft-type-scale .navbar-nav .dropdown-item.active,
    body.gft-type-scale .navbar-nav .dropdown-item:active {
        background: rgba(14, 165, 233, 0.12);
        color: #0284c7;
    }
}

@media (min-width: 1280px) {
    body.gft-type-scale .gft-premium-home h2,
    body.gft-type-scale .gft-section--light h2,
    body.gft-type-scale .sec-title__title {
        font-size: clamp(34px, 1.65vw + 1rem, 64px);
    }

    body.gft-type-scale .sub-heading,
    body.gft-type-scale .gft-premium-home .sub-heading {
        font-size: clamp(11px, 0.35vw + 0.35rem, 14px);
    }

    body.gft-type-scale .gft-page-banner--inner .banner-page__inner-container h1 {
        font-size: clamp(32px, 2vw + 1rem, 56px);
    }
}

@media (max-width: 1199.98px) {
    body.gft-type-scale .navbar-nav-container .nav-btn {
        font-size: 26px;
    }

    body.gft-type-scale .sidebar-menu a {
        font-size: 15px !important;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    body.gft-type-scale .sidebar-dropdown-menu a {
        font-size: 14px !important;
        font-weight: 500;
    }
}

@media (min-width: 2560px) {
    body.gft-type-scale {
        font-size: clamp(18px, 0.28vw + 12px, 22px);
    }
}

/* Footer — same scale as header & body copy */
body.gft-type-scale .gft-footer {
    font-size: inherit;
    line-height: 1.6;
}

body.gft-type-scale .gft-footer .gft-text-logo-footer {
    font-size: clamp(17px, 1.1vw, 20px);
}

body.gft-type-scale .gft-footer__heading,
body.gft-type-scale .gft-footer__contact-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.gft-type-scale .gft-footer__tagline {
    font-size: 12px;
    letter-spacing: 0.14em;
}

body.gft-type-scale .gft-footer__blurb,
body.gft-type-scale .gft-footer__contact-list a,
body.gft-type-scale .gft-footer__contact-text {
    font-size: var(--gft-copy-size);
}

body.gft-type-scale .gft-footer__nav a {
    font-size: 15px;
    font-weight: 600;
}

body.gft-type-scale .gft-footer__copy,
body.gft-type-scale .gft-footer__legal a {
    font-size: 15px;
}

body.gft-type-scale .gft-footer__social-link {
    font-size: 14px;
}

@media (min-width: 1280px) {
    body.gft-type-scale .gft-footer__heading,
    body.gft-type-scale .gft-footer__contact-label {
        font-size: clamp(11px, 0.35vw + 0.35rem, 14px);
    }
}
