:root {
    --gkl-granite: #17191c;
    --gkl-granite-deep: #08090b;
    --gkl-graphite: #2a2d31;
    --gkl-silver: #b8bdc4;
    --gkl-silver-dark: #8c929a;
    --gkl-silver-light: #eceef0;
    --gkl-white: #fff;
    --gkl-navy: var(--gkl-granite);
    --gkl-navy-deep: var(--gkl-granite-deep);
    --gkl-red: var(--gkl-silver-dark);
    --gkl-ink: var(--gkl-graphite);
    --gkl-muted: #62676e;
    --gkl-surface: #f3f4f5;
}

body {
    color: #565b62;
    background: var(--gkl-white);
}

.gkl-site-loader {
    color: #fff;
    background:
        radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .075) 0 1px, transparent 1.45px),
        radial-gradient(circle at 78% 68%, rgba(255, 255, 255, .045) 0 1px, transparent 1.55px),
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .07), transparent 34%),
        linear-gradient(135deg, #07080a 0%, #1b1e22 52%, #0b0c0f 100%);
    background-size: 8px 8px, 12px 12px, cover, cover;
}

.gkl-site-loader::before {
    border-color: rgba(220, 224, 229, .42);
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, .34),
        0 0 70px rgba(216, 220, 225, .05);
}

.gkl-site-loader-frame {
    gap: 16px;
    padding: 34px 28px 30px;
}

.gkl-site-loader-frame::before,
.gkl-site-loader-frame::after {
    content: "";
    width: min(54vw, 260px);
    height: 1px;
    background: linear-gradient(90deg, transparent, #8d949c 18%, #f5f6f7 50%, #8d949c 82%, transparent);
    opacity: .75;
}

.gkl-site-loader-frame img {
    filter: brightness(0) invert(1) drop-shadow(0 8px 24px rgba(0, 0, 0, .42));
}

.gkl-site-loader-frame span {
    color: #d7dade;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .65);
}

.gkl-site-loader-progress {
    height: 3px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .09);
    box-shadow: 0 0 24px rgba(214, 218, 223, .08);
}

.gkl-site-loader-progress i {
    background: linear-gradient(90deg, #686e76 0%, #f8f9fa 50%, #9299a1 100%);
    box-shadow: 0 0 16px rgba(242, 244, 246, .55);
}

.gkl-header,
.gkl-header.is-scrolled {
    background-color: #111316 !important;
    background-image:
        radial-gradient(circle at 20% 25%, rgba(255, 255, 255, .055) 0 1px, transparent 1.4px),
        radial-gradient(circle at 75% 70%, rgba(255, 255, 255, .035) 0 1px, transparent 1.5px),
        linear-gradient(135deg, #090a0c 0%, #1b1d21 52%, #101215 100%) !important;
    background-size: 8px 8px, 11px 11px, cover !important;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .2);
}

.gkl-header.is-scrolled {
    box-shadow: 0 14px 40px rgba(0, 0, 0, .32);
}

.gkl-header .elementor-widget-image img {
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .24));
}

.gkl-nav a {
    color: #f2f3f4;
}

.gkl-nav a:hover,
.gkl-nav a.is-active {
    color: var(--gkl-silver);
}

.gkl-nav a.is-active::after {
    background: linear-gradient(90deg, #747a82, #f3f4f5, #8c929a);
}

.elementor-widget-button .elementor-button,
.gkl-evaluation-form button,
.gkl-contact-action.is-primary,
.gkl-article-cta a {
    border: 1px solid #d8dbe0 !important;
    color: #111316 !important;
    background:
        linear-gradient(115deg, #f5f6f7 0%, #aeb4bb 28%, #e8eaed 53%, #969da5 76%, #f3f4f5 100%) !important;
    background-size: 180% 100% !important;
    box-shadow: 0 9px 24px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, .9);
    text-shadow: 0 1px rgba(255, 255, 255, .45);
    transition: background-position .3s ease, box-shadow .25s ease, transform .25s ease !important;
}

.elementor-widget-button .elementor-button:hover,
.gkl-evaluation-form button:hover,
.gkl-contact-action.is-primary:hover,
.gkl-article-cta a:hover {
    color: #fff !important;
    border-color: #4d5157 !important;
    background: linear-gradient(135deg, #2b2e33, #0d0f11) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24);
    transform: translateY(-2px);
}

.gkl-hero::before {
    background: linear-gradient(90deg, rgba(8, 9, 11, .96) 0%, rgba(18, 20, 23, .86) 52%, rgba(36, 39, 44, .58) 100%) !important;
}

.gkl-eyebrow,
.gkl-hero-slide-eyebrow,
.gkl-service-number,
.gkl-services-index strong,
.gkl-profile-card-copy small,
.gkl-method-card strong,
.gkl-bulletin-index__intro > span,
.gkl-article-kicker,
.gkl-bulletin-card__meta,
.gkl-bulletin-results strong {
    color: var(--gkl-silver-dark);
}

.gkl-hero .gkl-eyebrow,
.gkl-hero-slide-eyebrow,
.gkl-corporate-hero .gkl-eyebrow,
.gkl-services-hero .gkl-eyebrow {
    color: #dfe2e5 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
}

.gkl-accent,
.gkl-hero-slide h1 span {
    color: var(--gkl-silver);
    background: linear-gradient(90deg, #fff 0%, #a8aeb5 42%, #f0f1f3 68%, #8a9199 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gkl-form-card,
.gkl-article-cta {
    color: #fff;
    border-color: rgba(255, 255, 255, .18);
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .06) 0 1px, transparent 1.5px),
        linear-gradient(145deg, #1d2024, #090a0c 70%);
    background-size: 9px 9px, cover;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .32);
}

.gkl-form-card > p,
.gkl-consent {
    color: #dfe1e4;
}

.gkl-article-shell .gkl-article-cta h2,
.gkl-article-shell .gkl-article-cta h3,
.gkl-article-shell .gkl-article-cta p {
    color: #fff;
}

.gkl-evaluation-form input:not([type="checkbox"]),
.gkl-evaluation-form textarea {
    color: var(--gkl-graphite);
    border-color: #d7dade;
    background: #fff;
}

.gkl-evaluation-form input:focus,
.gkl-evaluation-form textarea:focus,
.gkl-bulletin-search input:focus,
.gkl-bulletin-filter select:focus {
    border-color: var(--gkl-silver-dark);
    box-shadow: 0 0 0 3px rgba(140, 146, 154, .2);
}

.gkl-consultation-backdrop {
    background: rgba(8, 9, 11, .82);
}

.gkl-consultation-modal-header strong,
.gkl-consultation-close,
.gkl-bulletin-index__intro h2,
.gkl-bulletin-tools__title,
.gkl-bulletin-search,
.gkl-bulletin-filter,
.gkl-bulletin-no-results strong,
.gkl-bulletin-card h3,
.gkl-bulletin-card__link,
.gkl-article-shell h2,
.gkl-article-shell h3,
.gkl-profile-card-copy h3,
.gkl-method-card h3,
.gkl-contact-details h2,
.gkl-contact-action {
    color: var(--gkl-granite);
}

.gkl-consultation-modal-header span {
    color: var(--gkl-silver-dark);
}

.gkl-consultation-close:hover,
.gkl-consultation-close:focus {
    color: #fff;
    background: var(--gkl-granite);
}

.gkl-trust-strip,
.gkl-profile-card,
.gkl-method-card,
.gkl-bulletin-tools,
.gkl-bulletin-card {
    border-color: #dfe2e5;
    box-shadow: 0 16px 42px rgba(17, 19, 22, .09);
}

.gkl-service-card {
    border-color: #dfe2e5;
    box-shadow: 0 10px 28px rgba(17, 19, 22, .06);
}

.gkl-service-card:hover,
.gkl-profile-card:hover,
.gkl-method-card:hover,
.gkl-bulletin-card:hover {
    border-color: #adb3ba;
    box-shadow: 0 22px 48px rgba(17, 19, 22, .14);
}

.gkl-step-number,
.gkl-service-card-number {
    color: #111316;
    background: linear-gradient(145deg, #f3f4f5, #9da3aa 55%, #dfe2e5);
    box-shadow: 0 7px 20px rgba(17, 19, 22, .2);
}

.gkl-process-section > .elementor-container::before {
    background: #d8dadd;
}

.gkl-process-section > .elementor-container::after {
    background: linear-gradient(90deg, #8a9098 0 68%, #25282d 68% 100%);
    box-shadow: 0 0 15px rgba(140, 146, 154, .3);
}

.gkl-service-list li::before {
    border-color: var(--gkl-silver-dark);
}

.gkl-service-dark .gkl-service-list li {
    color: #e2e4e7;
}

.gkl-contact-address,
.gkl-article-lead {
    border-color: var(--gkl-silver-dark);
}

.gkl-bulletin-clear {
    color: var(--gkl-granite);
    border-color: var(--gkl-granite);
}

.gkl-bulletin-clear:hover,
.gkl-bulletin-clear:focus {
    color: #fff;
    background: var(--gkl-granite);
}

.gkl-bulletin-card__image {
    background: linear-gradient(135deg, #090a0c, #35393f);
}

.gkl-footer {
    background-color: #111316 !important;
    background-image:
        radial-gradient(circle at 22% 22%, rgba(255, 255, 255, .05) 0 1px, transparent 1.4px),
        linear-gradient(135deg, #090a0c, #1a1c20 58%, #0d0f11) !important;
    background-size: 9px 9px, cover !important;
}

.gkl-footer::before {
    background: radial-gradient(circle, rgba(205, 210, 216, .16), transparent 68%);
}

.gkl-footer-brand p,
.gkl-footer-contact p,
.gkl-footer-nav a,
.gkl-footer-contact a,
.gkl-footer-contact-line {
    color: #d7dade;
}

.gkl-footer-contact-line svg {
    stroke: var(--gkl-silver);
}

.gkl-footer-socials a:hover {
    border-color: var(--gkl-silver);
    background: linear-gradient(145deg, #c8ccd1, #737a82);
}

.gkl-facebook-fallback {
    color: var(--gkl-granite);
}

.gkl-facebook-fallback a {
    color: #5d636a;
}

.gkl-mobile-contact {
    color: #fff !important;
    border: 1px solid rgba(220, 224, 229, .58) !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 255, 255, .06) 0 1px, transparent 1.5px),
        linear-gradient(135deg, #25282d, #090a0c) !important;
    background-size: 8px 8px, cover !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .34) !important;
}

@media (max-width: 767px) {
    .gkl-mobile-menu summary {
        color: #111316;
        border: 1px solid #d8dbe0;
        background: linear-gradient(135deg, #f2f3f4, #9ea4ab) !important;
        box-shadow: 0 7px 18px rgba(0, 0, 0, .2);
    }

    .gkl-mobile-menu[open] summary {
        color: #fff;
        border-color: #676d75;
        background: linear-gradient(135deg, #2a2d31, #090a0c) !important;
    }

    .gkl-mobile-menu-items {
        border: 1px solid rgba(216, 219, 224, .2);
        background: rgba(17, 19, 22, .98);
        box-shadow: 0 20px 44px rgba(0, 0, 0, .32);
    }

    .gkl-mobile-menu-items a {
        color: #f1f2f3;
    }

    .gkl-mobile-menu-items a:hover,
    .gkl-mobile-menu-items a.is-active {
        color: #fff;
        background: rgba(184, 189, 196, .16);
    }

    .gkl-mobile-menu-items a[href$="#evaluacion"] {
        color: #111316;
        background: linear-gradient(135deg, #f2f3f4, #9ea4ab);
    }
}
