/* ==========================================================================
   audit.1plus-agency.com — AI visibility audit, single page.
   Adapted from the reference design. Header/footer/nav rules removed.
   ========================================================================== */


        /* ── Design tokens (Apple PRO inspired) ─────────────────────── */
        /* Registered so the conic angle can actually animate; without this the
   gradient would jump rather than sweep. */
@property --gs-trace {
    syntax: '<angle>';
    initial-value: 0turn;
    inherits: false;
}

:root {
            --brand:         #00e28f;
            --brand-hover:   #5bffc0;
            --brand-link:    #067a4e;
            --brand-deep:    #04382a;

            /* Signal green — the audit accent. One green cannot be both a
               fill on near-black and readable text on white, so it comes in
               tiers:
                 --accent      fills, dots, bars, and text on dark surfaces
                 --accent-mid  large display text on light surfaces (3.8:1)
                 --accent-ink  small text on light surfaces (5.5:1, WCAG AA) */
            --accent:        #00e28f;
            --accent-soft:   #5bffc0;
            --accent-lime:   #a8ff60;
            --accent-mid:    #009962;
            --accent-ink:    #067a4e;
            --accent-glow:   rgba(0,226,143,0.55);
            --accent-wash:   rgba(0,226,143,0.10);
            --ink-on-accent: #032117;
            /* The duotone. Flat fills use --accent; anything that should feel
               alive — the score, the CTA, the headline accent — runs the ramp. */
            --accent-grad:   linear-gradient(115deg, #00e28f 0%, #6cf59a 52%, #a8ff60 100%);

            --ink:           #1d1d1f;
            --ink-soft:      #424245;
            --ink-deep:      #000000;
            --muted:         #86868b;
            --muted-strong:  #6e6e73;

            --paper:         #ffffff;
            --paper-soft:    #f5f5f7;
            --paper-dim:     #fafafa;
            --line:          #d2d2d7;
            --line-soft:     rgba(0, 0, 0, 0.06);
            --line-on-dark:  rgba(255, 255, 255, 0.12);

            --good:          #00e28f;
            /* danger-ink is the text-on-light tier; --danger stays the fill. */
            --danger-ink:    #be123c;
            --warn:          #f59e0b;
            --danger:        #f43f5e;

            --hero-gradient: linear-gradient(135deg, #04382a 10%, #00e28f 90%);
            --accent-gradient: var(--accent-grad);

            --container:     980px;
            --container-lg:  1180px;
            --radius-card:   22px;
            --radius-pill:   980px;
            --radius-input:  12px;
            --header-height: 64px;

            --font: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;

            --ease-out-soft: cubic-bezier(.16, .84, .44, 1);
        }
        * { box-sizing: border-box; }
        html, body {
            margin: 0; padding: 0;
            font-family: var(--font);
            color: var(--ink);
            background: var(--paper);
            font-size: 15px;
            line-height: 1.47;
            letter-spacing: -0.022em;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        img, svg, video { max-width: 100%; height: auto; display: block; }
        a { color: var(--brand-link); text-decoration: none; }
        a:hover { text-decoration: underline; }
        h1, h2, h3, h4 {
            font-weight: 700; letter-spacing: -0.025em; line-height: 1.08;
            color: var(--ink); margin: 0 0 0.5em;
        }
        h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }
        h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
        h3 { font-size: 1.3125rem; font-weight: 600; letter-spacing: -0.01em; }
        h4 { font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; }
        p  { margin: 0 0 1em; color: var(--ink-soft); }
        ul.bare { list-style: none; padding: 0; margin: 0; }
        small { font-size: 13px; }

        .container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
        .container--wide   { max-width: 1200px; }
        .container--narrow { max-width: 720px; }

        /* ── Buttons ──────────────────────────────────────────────── */
        .btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            min-height: 44px; padding: 10px 24px;
            max-width: 100%; min-width: 0;
            font: inherit; font-weight: 500; font-size: 15px; line-height: 1.15;
            border: 1.5px solid transparent;
            border-radius: var(--radius-pill);
            cursor: pointer; text-decoration: none;
            text-align: center; white-space: normal; overflow-wrap: anywhere;
            transition: background .3s ease, color .3s ease, border-color .3s ease, transform .12s ease;
        }
        .btn:hover { text-decoration: none; }
        /* Primary CTA — Apple-style solid black on every surface. */
        .btn--primary { background: var(--ink-deep); color: #fff; border-color: var(--ink-deep); }
        .btn--primary:hover { background: #2c2c2e; color: #fff; border-color: #2c2c2e; }
        /* Accent CTA — orange, paired next to a primary for emphasis. */
        .btn--accent { background: var(--accent); color: #032117; border-color: var(--accent); }
        .btn--accent:hover { background: var(--accent-soft); color: #fff; border-color: var(--accent-soft); }
        /* Ghost CTA — neutral pill, no blue. */
        .btn--ghost { background: transparent; color: var(--ink); border-color: var(--line); }
        .btn--ghost:hover { background: var(--paper-soft); color: var(--ink); border-color: var(--ink); }
        .btn--inverse { background: rgba(255,255,255,0.10); color: #fff; border-color: rgba(255,255,255,0.30); }
        .btn--inverse:hover { background: rgba(255,255,255,0.18); color: #fff; }
        .btn--sm { min-height: 36px; padding: 8px 16px; font-size: 13px; }

        /* ── Cards ────────────────────────────────────────────────── */
        .card {
            background: var(--paper);
            border: 1px solid var(--line);
            border-radius: var(--radius-card);
            padding: 28px;
        }
        .card-soft { background: var(--paper-soft); border-radius: var(--radius-card); padding: 28px; }

        /* ── Apple-PRO display typography + section primitives ────── */
        .display-1 {
            font-size: clamp(2.75rem, 6.6vw, 5.625rem);
            letter-spacing: -0.042em;
            font-weight: 600;
            line-height: 1.04;
            margin: 0;
        }
        .display-2 {
            font-size: clamp(2.125rem, 4.8vw, 4rem);
            letter-spacing: -0.035em;
            font-weight: 600;
            line-height: 1.06;
            margin: 0;
        }
        .display-3 {
            font-size: clamp(1.625rem, 3.1vw, 2.5rem);
            letter-spacing: -0.025em;
            font-weight: 600;
            line-height: 1.1;
            margin: 0;
        }
        .lede {
            font-size: clamp(1.0625rem, 1.4vw, 1.3125rem);
            line-height: 1.5;
            color: var(--ink-soft);
            margin: 18px 0 0;
        }
        .eyebrow {
            display: inline-block;
            color: var(--accent-ink); font-size: 14px; font-weight: 600;
            letter-spacing: 0; margin: 0 0 14px;
        }
        .eyebrow--blue  { color: var(--brand-link); }
        .eyebrow--mute  { color: var(--muted-strong); }
        .eyebrow--light { color: rgba(255, 255, 255, 0.74); }

        .grad-orange {
            background: var(--accent-gradient);
            -webkit-background-clip: text; background-clip: text; color: transparent;
        }
        .grad-blue {
            background: var(--hero-gradient);
            -webkit-background-clip: text; background-clip: text; color: transparent;
        }

        /* Section primitives — Apple alternates dark + light bands. */
        .section { padding: 96px 0; position: relative; }
        .section--xl { padding: 140px 0; }
        .section--sm { padding: 56px 0; }
        .section--soft { background: var(--paper-soft); }
        .section--ink {
            background: #000; color: #f5f5f7;
        }
        .section--ink h1, .section--ink h2, .section--ink h3, .section--ink h4 { color: #fff; }
        .section--ink p { color: rgba(255, 255, 255, 0.78); }
        .section--ink a:not(.btn) { color: #fff; }
        .section--ink hr { border-color: var(--line-on-dark); }

        @media (max-width: 720px) {
            .section { padding: 72px 0; }
            .section--xl { padding: 96px 0; }
        }

        /* Chip / pill label used inline. */
        .chip {
            display: inline-flex; align-items: center; gap: 6px;
            padding: 5px 12px; border-radius: 999px;
            background: rgba(0, 113, 227, 0.10); color: var(--brand-link);
            font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
            text-transform: uppercase;
        }
        .chip--accent { background: var(--accent-wash); color: var(--accent-ink); }
        .chip--dark   { background: rgba(255, 255, 255, 0.10); color: #fff; border: 1px solid rgba(255,255,255,0.14); }
        .chip__dot {
            width: 6px; height: 6px; border-radius: 50%;
            background: currentColor;
            box-shadow: 0 0 0 4px rgba(0,226,143,0.16);
        }

        /* Buttons — extended Apple-PRO variants. */
        .btn--lg { min-height: 52px; padding: 12px 30px; font-size: 17px; font-weight: 500; }
        .btn--ink {
            background: var(--ink-deep); color: #fff; border-color: var(--ink-deep);
        }
        .btn--ink:hover { background: #2c2c2e; color: #fff; }
        .btn--white {
            background: #fff; color: var(--ink); border-color: #fff;
        }
        .btn--white:hover { background: var(--paper-soft); color: var(--ink); }
        .btn--linklike {
            background: transparent; border-color: transparent;
            color: var(--brand-link); padding: 0; min-height: 0;
            font-weight: 500; font-size: 17px;
        }
        .btn--linklike:hover { background: transparent; color: var(--brand-hover); text-decoration: underline; }

        /* Reveal on scroll — Apple's signature unfold. */
        .reveal {
            opacity: 0; transform: translateY(28px);
            transition: opacity .9s var(--ease-out-soft), transform .9s var(--ease-out-soft);
            will-change: opacity, transform;
        }
        .reveal.in-view { opacity: 1; transform: translateY(0); }
        .reveal--lift   { transform: translateY(44px); }
        .reveal--lift.in-view { transform: translateY(0); }
        .reveal--scale  { transform: translateY(28px) scale(0.985); }
        .reveal--scale.in-view { transform: translateY(0) scale(1); }
        .reveal[data-delay="1"] { transition-delay: .08s; }
        .reveal[data-delay="2"] { transition-delay: .16s; }
        .reveal[data-delay="3"] { transition-delay: .24s; }
        .reveal[data-delay="4"] { transition-delay: .32s; }
        .reveal[data-delay="5"] { transition-delay: .40s; }
        @media (prefers-reduced-motion: reduce) {
            .reveal, .reveal[data-delay] { transition: none; opacity: 1; transform: none; }
        }

        /* Glow background utilities for hero / cinematic blocks. */
        .glow-orange {
            position: absolute; pointer-events: none;
            background: radial-gradient(closest-side, var(--accent-glow), transparent 70%);
            filter: blur(12px); opacity: 0.85;
        }
        .glow-blue {
            position: absolute; pointer-events: none;
            background: radial-gradient(closest-side, rgba(59, 130, 246, 0.55), transparent 70%);
            filter: blur(12px); opacity: 0.7;
        }


/* ── Flash + generic chrome ───────────────────────────────── */
        /* ── Flash messages ───────────────────────────────────────── */
        .alert {
            margin: 16px 0;
            padding: 12px 18px;
            border-radius: var(--radius-input);
            font-size: 14px;
            border: 1px solid;
        }
        .alert--success { background: #f0fdf4; color: #166534; border-color: rgba(0,226,143,.25); }
        .alert--error   { background: #fef2f2; color: #991b1b; border-color: rgba(244,63,94,.25); }

        /* ── Generic page chrome ──────────────────────────────────── */
        .page-hero {
            background: var(--paper-soft);
            padding: 80px 0 48px;
            border-bottom: 1px solid var(--line-soft);
            text-align: center;
        }
        .page-hero h1 { margin: 0 0 16px; overflow-wrap: anywhere; }
        .page-hero .lede { font-size: 19px; color: var(--muted-strong); max-width: 560px; margin: 0 auto; }
        .page-body { padding: 56px 0 96px; }

        /* Long-form content (legal/about pages) */
        .longform { color: var(--ink); font-size: 16px; line-height: 1.65; max-width: 820px; margin: 0 auto; overflow-wrap: anywhere; }

        .legal-company-card { margin: 28px 0 34px; padding: 20px 22px; background: var(--paper-soft); border: 1px solid var(--line-soft); border-radius: 14px; }
        .legal-company-card__title { margin: 0 0 14px; color: var(--ink); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
        .legal-company-card__grid { display: grid; grid-template-columns: minmax(140px, 190px) 1fr; gap: 10px 22px; margin: 0; }
        .legal-company-card__grid dt { color: var(--muted-strong); font-size: 13px; font-weight: 600; }
        .legal-company-card__grid dd { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
        @media (max-width: 640px) {
            .legal-company-card { padding: 18px; }
            .legal-company-card__grid { grid-template-columns: 1fr; gap: 3px; }
            .legal-company-card__grid dt { margin-top: 10px; font-size: 12px; }
            .legal-company-card__grid dt:first-of-type { margin-top: 0; }
        }
        .longform h2 { font-size: 28px; margin-top: 56px; margin-bottom: 12px; }
        .longform h3 { font-size: 19px; margin-top: 32px; margin-bottom: 10px; font-weight: 600; }
        .longform p, .longform li { color: var(--ink-soft); }
        .longform li { margin-bottom: 6px; }
        .longform ul, .longform ol { padding-left: 22px; margin: 0 0 1em; }
        .longform table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14px; table-layout: fixed; }
        .longform th, .longform td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
        .longform th { background: var(--paper-soft); font-weight: 600; }
        .longform .meta-line { color: var(--muted); font-size: 13px; margin: 8px 0 32px; }
        @media (max-width: 640px) {
            .longform table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
        }
    

/* ── Page ──────────────────────────────────────────────────── */

    /* ─── Hero (dark cinematic, Apple-PRO) ────────────────────────── */
    .gs-hero {
        position: relative; overflow: hidden;
        background: #040a07; color: #f5f5f7;
        padding: 96px 0 80px;
        text-align: center;
    }
    .gs-hero__bg {
        position: absolute; inset: 0; pointer-events: none; overflow: hidden;
    }
    .gs-hero__bg::before {
        content: ''; position: absolute;
        top: -160px; left: 50%; transform: translateX(-50%);
        width: 920px; height: 920px;
        background: radial-gradient(closest-side, rgba(0,226,143,0.30), transparent 70%);
        filter: blur(20px);
    }
    .gs-hero__bg::after {
        content: ''; position: absolute;
        bottom: -260px; right: -120px;
        width: 640px; height: 640px;
        background: radial-gradient(closest-side, rgba(168,255,96,0.16), transparent 70%);
        filter: blur(26px);
    }
    .gs-hero__inner { position: relative; z-index: 1; }
    .gs-hero .chip {
        background: rgba(255,255,255,0.06);
        color: rgba(255,255,255,0.86);
        border: 1px solid rgba(255,255,255,0.18);
    }
    .gs-hero .chip .chip__dot {
        background: var(--accent);
        box-shadow: 0 0 0 4px rgba(0,226,143,0.18), 0 0 14px var(--accent-glow);
    }
    .gs-hero h1 { margin: 14px auto 0; max-width: min(100%, 800px); color: #fff; }
    .gs-hero h1 .line { display: block; color: #fff; text-wrap: balance; }
    .gs-hero h1 .line--accent {
        color: var(--accent);
        background: var(--accent-grad);
        -webkit-background-clip: text; background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .gs-hero .lede {
        color: rgba(255,255,255,0.74); max-width: 580px; margin: 22px auto 32px;
    }

    /* URL form pill — Apple-style glass on dark. KEEP #gs-form / #gs-url / #gs-submit / #gs-card */
    .gs-card { max-width: 560px; margin: 36px auto 0; }
    .gs-card .gs-input-row {
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.20);
        border-radius: var(--radius-pill);
        padding: 6px 6px 6px 20px;
        display: flex; align-items: center; gap: 10px;
        backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
        transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    /* ── Border trace ───────────────────────────────────────────────
       A single lap of brand colour around the pill: once when the page
       settles, once each time the field is focused. The ring is a conic
       gradient masked to the border only, and only painted while the lap
       is running, so it leaves no static arc behind. */
    .gs-card .gs-input-row { position: relative; }
    .gs-card .gs-input-row::before {
        content: '';
        position: absolute; inset: -1px;
        border-radius: inherit;
        padding: 3px;
        background: conic-gradient(from var(--gs-trace, 0turn),
            transparent 0turn,
            rgba(0,226,143,0.55) 0.045turn,
            #a8ff60 0.085turn,
            #ffffff 0.105turn,
            #a8ff60 0.125turn,
            transparent 0.20turn,
            transparent 1turn);
        filter: drop-shadow(0 0 9px rgba(0,226,143,0.75));
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
                mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
                mask-composite: exclude;
        opacity: 0;
        pointer-events: none;
    }
    .gs-card .gs-input-row.is-tracing::before {
        animation: gsTrace 1.9s linear 1;
    }
    @keyframes gsTrace {
        0%   { opacity: 0;   --gs-trace: 0turn; }
        8%   { opacity: 1; }
        88%  { opacity: 1; }
        100% { opacity: 0;   --gs-trace: 1turn; }
    }
    @media (prefers-reduced-motion: reduce) {
        .gs-card .gs-input-row.is-tracing::before { animation: none; }
    }

    .gs-card .gs-input-row:focus-within {
        border-color: var(--accent);
        background: rgba(255,255,255,0.10);
        box-shadow: 0 0 0 6px rgba(0,226,143,0.18);
    }
    .gs-card__icon { color: rgba(255,255,255,0.45); flex-shrink: 0; display: inline-flex; }
    .gs-card .gs-input-row:focus-within .gs-card__icon { color: var(--accent); }
    .gs-input {
        flex: 1; min-width: 0;
        background: transparent; border: 0;
        color: #fff; font: inherit; font-size: 16px;
        padding: 14px 6px;
    }
    .gs-input::placeholder { color: rgba(255,255,255,0.42); }
    .gs-input:focus { outline: none; }
    .gs-card .btn,
    #gs-submit {
        background: var(--accent-grad); color: var(--ink-on-accent);
        border: 0; border-radius: var(--radius-pill);
        padding: 10px 22px; min-height: 48px; max-width: 100%; min-width: 0;
        font: inherit; font-size: 15px; font-weight: 600; line-height: 1.15;
        cursor: pointer; white-space: normal; text-align: center; overflow-wrap: anywhere;
        display: inline-flex; align-items: center; justify-content: center; gap: 8px;
        transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
        box-shadow: 0 6px 20px -4px rgba(0,226,143,0.45);
    }
    #gs-submit:hover { background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%); box-shadow: 0 8px 24px -4px rgba(0,226,143,0.60); }
    #gs-submit:active { transform: scale(0.97); }
    #gs-submit:disabled { opacity: 0.65; cursor: progress; }

    .gs-note {
        margin-top: 18px; color: rgba(255,255,255,0.46);
        font-size: 12px;
    }
    .gs-note strong { color: #fff; font-weight: 600; }

    @media (max-width: 520px) {
        .gs-card .gs-input-row {
            flex-direction: column; gap: 6px;
            padding: 8px; border-radius: 18px;
        }
        .gs-card__icon { display: none; }
        .gs-input { width: 100%; padding: 14px 16px; background: rgba(255,255,255,0.04); border-radius: 12px; }
        #gs-submit { width: 100%; min-height: 52px; justify-content: center; }
    }

    /* ─── Tutorial-style step isolation ───────────────────────────────
       When the probe is in progress (step 2) we fade out marketing
       rails so the buyer focuses on the work in flight. When the
       result lands (step 3) we also hide the hero — only the score
       panel + CTA remain on screen. When the buy form reveals
       (step 4) everything except hero stays. */
    body.audit-step-loading .gs-promise,
    body.audit-step-loading .gs-faq,
    body.audit-step-loading .cta-pro,
    /* During loading we strip the hero copy + form card too — the
       cinematic step ticker is the whole performance. Stops the visitor
       from re-clicking the disabled button or re-reading the headline
       while the engines verify. Smooth fade via the .gs-promise/.gs-faq
       transition rule a few lines down. */
    body.audit-step-loading .gs-hero h1,
    body.audit-step-loading .gs-hero .lede,
    body.audit-step-loading .gs-hero .chip,
    body.audit-step-loading .gs-card,
    body.audit-step-loading .gs-note,
    body.audit-step-result  .gs-hero,
    body.audit-step-result  .gs-promise,
    body.audit-step-result  .gs-faq,
    body.audit-step-result  .cta-pro,
    body.audit-step-buy     .gs-hero,
    body.audit-step-buy     .gs-promise,
    body.audit-step-buy     .gs-faq,
    body.audit-step-buy     .cta-pro,
    /* On error, show only the failure and technical-review workflow. */
    body.audit-step-error   .gs-hero h1,
    body.audit-step-error   .gs-hero .lede,
    body.audit-step-error   .gs-hero .chip,
    body.audit-step-error   .gs-card,
    body.audit-step-error   .gs-promise,
    body.audit-step-error   .gs-faq,
    body.audit-step-error   .gs-note,
    body.audit-step-error   .cta-pro {
        display: none !important;
    }
    /* Smooth fade when leaving the hero into the loading state — the
       hero shell stays (dark band, glow), but its copy + the form card
       fade out so the cinematic step ticker is the focus. Marketing
       rails fade too instead of snapping. */
    .gs-promise, .gs-faq, .cta-pro,
    .gs-hero h1, .gs-hero .lede, .gs-hero .chip, .gs-card, .gs-note {
        transition: opacity .35s var(--ease-out-soft, ease), transform .35s var(--ease-out-soft, ease);
    }
    /* Centre the loading band in the hero now that the surrounding
       copy is gone — pushes it into the optical middle of the screen
       and removes the empty top gap. */
    body.audit-step-loading .gs-hero { padding-top: 60px; padding-bottom: 80px; }
    body.audit-step-loading .gs-loading { margin-top: 24px; }
    body.audit-step-error .gs-hero { padding-top: 64px; padding-bottom: 72px; }
    body.audit-step-error .gs-error { margin-top: 0; }

    /* ─── Scanning header (visible during loading) ──────────────── */
    .gs-scanhead {
        display: none;
        max-width: 720px; margin: 0 auto 18px;
        padding: 22px 28px; background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 22px;
        backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        align-items: center; gap: 18px;
        color: #f5f5f7;
    }
    body.audit-step-loading .gs-scanhead { display: flex; }
    .gs-scanhead__radar {
        flex-shrink: 0; width: 76px; height: 76px;
        display: inline-flex; align-items: center; justify-content: center;
        color: var(--accent, #00e28f);
        position: relative;
    }
    .gs-scanhead__radar::before {
        content: ''; position: absolute; inset: 0;
        border-radius: 50%;
        background: radial-gradient(closest-side, rgba(0,226,143,0.40), transparent 70%);
        filter: blur(10px);
        animation: gsScanGlow 1.6s ease-in-out infinite;
    }
    @keyframes gsScanGlow { 0%,100%{opacity:0.55;} 50%{opacity:1;} }
    .gs-scanhead__ring1 { transform-origin: 32px 32px; animation: gsScanRing 1.6s ease-out infinite; }
    .gs-scanhead__ring2 { transform-origin: 32px 32px; animation: gsScanRing 1.6s ease-out infinite .25s; }
    .gs-scanhead__ring3 { transform-origin: 32px 32px; animation: gsScanRing 1.6s ease-out infinite .50s; }
    @keyframes gsScanRing {
        0%   { transform: scale(0.55); opacity: 1; }
        80%  { transform: scale(1);    opacity: 0; }
        100% { transform: scale(1);    opacity: 0; }
    }
    .gs-scanhead__copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .gs-scanhead__label {
        font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.55);
        letter-spacing: 0.16em; text-transform: uppercase;
    }
    .gs-scanhead__host {
        font-size: clamp(20px, 3.5vw, 26px); font-weight: 600;
        letter-spacing: -0.01em; color: #fff;
        font-variant-numeric: tabular-nums;
        overflow-wrap: anywhere;
    }
    .gs-scanhead__dots {
        display: inline-flex; gap: 4px; margin-top: 4px;
        align-items: center;
    }
    .gs-scanhead__dots > span {
        width: 6px; height: 6px; border-radius: 50%;
        background: var(--accent, #00e28f);
        animation: gsScanDots 1.2s ease-in-out infinite;
    }
    .gs-scanhead__dots > span:nth-child(2) { animation-delay: .15s; }
    .gs-scanhead__dots > span:nth-child(3) { animation-delay: .30s; }
    @keyframes gsScanDots {
        0%, 60%, 100% { opacity: 0.25; transform: scale(0.85); }
        30%           { opacity: 1;    transform: scale(1.15); }
    }
    @media (max-width: 520px) {
        .gs-scanhead { padding: 16px 18px; gap: 14px; margin-bottom: 14px; }
        .gs-scanhead__radar { width: 60px; height: 60px; }
        .gs-scanhead__radar svg { width: 38px; height: 38px; }
        .gs-scanhead__host { font-size: 18px; }
    }

    /* ─── Loading band (dark cinematic step ticker) ───────────────── */
    .gs-loading {
        display: none;
        max-width: 720px; margin: 40px auto 0;
        background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 24px;
        padding: 28px 28px 22px;
        backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        text-align: left;
        box-shadow: 0 40px 100px -30px rgba(0,226,143,0.20);
    }
    .gs-loading.is-on { display: block; }
    .gs-loading__title {
        display: flex; align-items: center; gap: 10px;
        color: #fff; font-weight: 600; font-size: 14px;
        letter-spacing: 0.02em;
        margin-bottom: 18px;
    }
    .gs-loading__live {
        display: inline-flex; align-items: center; gap: 6px;
        padding: 3px 10px; border-radius: 999px;
        background: rgba(0,226,143,0.16); color: #a8ff60;
        font-size: 10px; font-weight: 700; letter-spacing: 0.08em;
    }
    .gs-loading__live::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #a8ff60; box-shadow: 0 0 8px #a8ff60; }
    .gs-steps { display: flex; flex-direction: column; gap: 6px; }
    .gs-step {
        display: flex; align-items: center; gap: 12px;
        padding: 10px 14px;
        background: rgba(255,255,255,0.03);
        border-radius: 12px;
        color: rgba(255,255,255,0.55);
        font-size: 13px; font-weight: 500;
        transition: color .25s ease, background .25s ease;
    }
    .gs-step__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.18); flex-shrink: 0; transition: background .25s ease, box-shadow .25s ease; }
    .gs-step.is-done { color: rgba(255,255,255,0.86); }
    .gs-step.is-done  .gs-step__dot { background: #a8ff60; box-shadow: 0 0 8px rgba(168,255,96,0.5); }
    .gs-step.is-active { color: #fff; background: rgba(0,226,143,0.08); }
    .gs-step.is-active .gs-step__dot { background: var(--accent); box-shadow: 0 0 0 4px rgba(0,226,143,0.18), 0 0 12px var(--accent-glow); animation: gsPulse 1.2s ease infinite; }
    @keyframes gsPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.55; } }

    /* ─── Error state (dark band) ─────────────────────────────────── */
    .gs-error {
        display: none;
        max-width: 560px; margin: 24px auto 0;
        padding: 14px 18px;
        background: rgba(244,63,94,0.10);
        border: 1px solid rgba(244,63,94,0.32);
        border-radius: 14px;
        color: #fca5a5; font-size: 14px;
        text-align: left;
    }
    .gs-error.is-on { display: block; }

    .gs-technical-review {
        display: none;
        max-width: 560px; margin: 14px auto 0;
        padding: 22px;
        background: rgba(255,255,255,0.065);
        border: 1px solid rgba(255,255,255,0.18);
        border-radius: 8px;
        color: #f5f5f7; text-align: left;
        box-shadow: 0 24px 70px -38px rgba(0,0,0,.9);
    }
    .gs-technical-review.is-on { display: block; }
    .gs-technical-review__eyebrow {
        display: flex; align-items: center; gap: 8px;
        margin: 0 0 8px; color: var(--accent-soft);
        font-size: 11px; font-weight: 800; text-transform: uppercase;
        letter-spacing: 0;
    }
    .gs-technical-review__eyebrow::before {
        content: ''; width: 7px; height: 7px; border-radius: 50%;
        background: var(--accent); box-shadow: 0 0 0 4px rgba(0,226,143,.16);
        flex: 0 0 auto;
    }
    .gs-technical-review h2 {
        margin: 0 0 8px; color: #fff;
        font-size: 20px; line-height: 1.25; letter-spacing: 0;
    }
    .gs-technical-review__body,
    .gs-technical-review__privacy,
    .gs-technical-review__success p {
        margin: 0; color: rgba(255,255,255,.72);
        font-size: 14px; line-height: 1.55;
    }
    .gs-technical-review__eta {
        margin: 12px 0 16px; color: #fff;
        font-size: 13px; font-weight: 700;
    }
    .gs-technical-review__form-row {
        display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px;
        align-items: end;
    }
    .gs-technical-review__field label {
        display: block; margin: 0 0 6px;
        color: rgba(255,255,255,.74); font-size: 12px; font-weight: 650;
    }
    .gs-technical-review__field input[type="email"] {
        width: 100%; min-width: 0; height: 48px;
        padding: 0 14px; border-radius: 6px;
        border: 1px solid rgba(255,255,255,.22);
        background: rgba(0,0,0,.24); color: #fff;
        font: inherit; font-size: 16px;
    }
    .gs-technical-review__field input[type="email"]:focus {
        outline: none; border-color: var(--accent);
        box-shadow: 0 0 0 4px rgba(0,226,143,.16);
    }
    .gs-technical-review__submit {
        min-height: 48px; max-width: 220px;
        padding: 10px 16px; border: 0; border-radius: 6px;
        background: var(--accent); color: #fff;
        font: inherit; font-size: 14px; line-height: 1.25; font-weight: 700;
        cursor: pointer; white-space: normal; overflow-wrap: anywhere;
    }
    .gs-technical-review__submit:disabled { opacity: .65; cursor: progress; }
    .gs-technical-review__privacy { margin-top: 10px; font-size: 11px; color: rgba(255,255,255,.48); }
    .gs-technical-review__form-error { margin: 10px 0 0; color: #fca5a5; font-size: 12px; }
    .gs-technical-review__success { display: none; }
    .gs-technical-review.is-requested .gs-technical-review__form-state { display: none; }
    .gs-technical-review.is-requested .gs-technical-review__success { display: block; }
    .gs-technical-review__back {
        display: inline-flex; align-items: center; justify-content: center; gap: 8px;
        min-height: 44px; margin-top: 18px; padding: 9px 14px;
        border: 1px solid rgba(255,255,255,.2); border-radius: 6px;
        color: rgba(255,255,255,.86); background: rgba(255,255,255,.055);
        font-size: 13px; font-weight: 700; line-height: 1.25;
        text-decoration: none; transition: background .2s ease, border-color .2s ease;
    }
    .gs-technical-review__back:hover {
        color: #fff; background: rgba(255,255,255,.1);
        border-color: rgba(255,255,255,.34); text-decoration: none;
    }
    .gs-technical-review__honeypot {
        position: absolute !important; left: -10000px !important;
        width: 1px !important; height: 1px !important; opacity: 0 !important;
        pointer-events: none !important;
    }
    @media (max-width: 560px) {
        body.audit-step-error .gs-hero { padding-top: 40px; padding-bottom: 52px; }
        .gs-technical-review { padding: 18px; }
        .gs-technical-review__form-row { grid-template-columns: 1fr; }
        .gs-technical-review__submit { width: 100%; max-width: none; }
        .gs-technical-review__back { width: 100%; }
    }

    /* ─── Result panel (light) ────────────────────────────────────── */
    /* Dark-flanked result panel — Apple keynote: report is the focus,
       black gutters left and right make it pop off the page. The score
       card itself stays light (high-contrast figure on dark stage). */
    .gs-result {
        display: none;
        background:
            radial-gradient(ellipse 70% 50% at 50% 0%, rgba(0,226,143,0.16), transparent 70%),
            #000;
        color: #f5f5f7;
        padding: 72px 0 0;
        position: relative;
    }
    .gs-result.is-on { display: block; }
    .gs-result__hero { text-align: center; max-width: 720px; margin: 0 auto 34px; }
    .gs-result__hero .eyebrow { color: var(--accent); }
    .gs-result__hero h2 .line { display: block; color: #fff; }
    .gs-result__hero h2 .line--accent { color: var(--accent); }
    .gs-result__hero p { color: rgba(255,255,255,0.78); font-size: 17px; line-height: 1.6; }
    .gs-result__hero strong { color: #fff; font-weight: 600; }

    .gs-business-card {
        max-width: 1100px; margin: -8px auto 18px;
        background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
        border: 1px solid rgba(255,255,255,0.12);
        border-radius: 24px;
        padding: 22px;
        color: #f5f5f7;
        box-shadow: 0 28px 80px -48px rgba(0,226,143,0.52);
    }
    .gs-business-card.is-empty { display: none; }
    .gs-business-card__top {
        display: flex; align-items: end; justify-content: space-between;
        gap: 18px; min-width: 0; padding-bottom: 14px; margin-bottom: 14px;
        border-bottom: 1px solid rgba(255,255,255,0.10);
    }
    .gs-business-card__eyebrow {
        display: inline-flex; align-items: center; gap: 8px;
        color: var(--accent); font-size: 11px; font-weight: 800;
        letter-spacing: 0.12em; text-transform: uppercase;
        margin: 0;
    }
    .gs-business-card__eyebrow::before {
        content: ''; width: 7px; height: 7px; border-radius: 50%;
        background: var(--accent); box-shadow: 0 0 0 4px rgba(0,226,143,0.18);
    }
    .gs-business-card__name {
        margin: 0; color: #fff;
        font-size: clamp(1.35rem, 2.2vw, 1.9rem);
        line-height: 1.15; letter-spacing: -0.01em;
        text-align: right; overflow-wrap: anywhere;
    }
    .gs-business-facts {
        display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr));
        align-content: start;
    }
    .gs-business-fact {
        background: rgba(255,255,255,0.055);
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 14px;
        padding: 10px 12px;
        min-width: 0;
    }
    .gs-business-fact small {
        display: block; margin-bottom: 4px;
        color: rgba(255,255,255,0.48);
        font-size: 10px; font-weight: 800;
        letter-spacing: 0.10em; text-transform: uppercase;
    }
    .gs-business-fact span {
        display: block; color: rgba(255,255,255,0.88);
        font-size: 13px; line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .gs-score-card {
        max-width: 1100px; margin: 0 auto;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 28px;
        padding: 30px;
        box-shadow: 0 40px 100px -40px rgba(0,0,0,0.18);
    }
    .gs-score-top {
        display: grid; grid-template-columns: minmax(180px, 220px) 1fr; gap: 28px; align-items: center;
    }
    .gs-score-ring__val {
        font-size: clamp(3rem, 5vw, 4rem); font-weight: 700;
        letter-spacing: -0.04em; line-height: 1;
        background: var(--accent-gradient);
        -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .gs-score-ring__val span { background: inherit; -webkit-background-clip: text; background-clip: text; color: transparent; }
    .gs-score-ring__lab {
        margin-top: 10px;
        font-size: 11px; font-weight: 700; color: var(--muted);
        letter-spacing: 0.10em; text-transform: uppercase;
    }
    .gs-subscore-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .gs-subscore { padding: 16px 18px; background: var(--paper-soft); border-radius: 16px; }
    .gs-subscore__row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-weight: 600; color: var(--ink); }
    /* "AUFFINDBARKEIT" is long enough to touch the number on a phone. */
    .gs-subscore__row small { min-width: 0; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; line-height: 1.25; overflow-wrap: normal; }
    .gs-subscore__row span { flex-shrink: 0; font-variant-numeric: tabular-nums; }
    .gs-subscore__bar { height: 5px; border-radius: 5px; background: rgba(0,226,143,0.10); margin-top: 10px; overflow: hidden; }
    .gs-subscore__bar i { display: block; height: 100%; background: var(--accent-gradient); border-radius: 5px; transition: width .6s var(--ease-out-soft); }

    .gs-engines-card {
        max-width: 1100px; margin: 18px auto 0;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 28px;
        padding: 30px;
        box-shadow: 0 40px 100px -40px rgba(0,0,0,0.18);
    }
    .gs-score-card h3.gs-section-label,
    .gs-engines-card h3.gs-section-label {
        font-size: 11px; font-weight: 700; color: var(--muted);
        text-transform: uppercase; letter-spacing: 0.10em;
        margin: 0 0 12px;
    }
    .gs-engines { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
    .gs-engine {
        display: flex; align-items: center; gap: 12px;
        padding: 12px 16px;
        background: var(--paper-soft); border-radius: 14px;
        font-size: 14px;
        min-width: 0;
    }
    .gs-engine__dot {
        width: 18px; height: 18px; border-radius: 50%;
        background: rgba(0,226,143,0.12);
        border: 1px solid rgba(0,226,143,0.34);
        box-shadow: 0 0 0 4px rgba(0,226,143,0.06);
        flex-shrink: 0; position: relative;
    }
    .gs-engine__dot::after {
        content: ''; position: absolute; left: 5px; top: 4px;
        width: 5px; height: 8px;
        border-right: 2px solid var(--accent);
        border-bottom: 2px solid var(--accent);
        transform: rotate(40deg);
    }
    .gs-engine.is-missing .gs-engine__dot {
        background: rgba(0,226,143,0.12);
        border-color: rgba(0,226,143,0.34);
        box-shadow: 0 0 0 4px rgba(0,226,143,0.06);
    }
    .gs-engine__name {
        font-weight: 600; flex: 1; min-width: 0;
        color: var(--ink);
        overflow-wrap: anywhere;
    }
    .gs-engine__status {
        color: var(--muted);
        font-size: 11px; font-weight: 700;
        text-transform: uppercase; letter-spacing: 0.08em;
        white-space: nowrap;
    }

    .gs-findings { max-width: 1100px; margin: 30px auto 0; }
    .gs-findings__h {
        font-size: 11px; font-weight: 700; color: var(--muted);
        text-transform: uppercase; letter-spacing: 0.10em;
        margin: 0 0 14px;
    }
    .gs-finding {
        padding: 15px 22px;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 16px;
        margin-bottom: 10px;
    }
    .gs-finding__head { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--ink); font-size: 15px; }
    /* How many checks failed in this area — scope without specifics. */
    .gs-finding__count {
        margin-left: auto; flex-shrink: 0;
        min-width: 26px; padding: 2px 9px;
        border-radius: 999px;
        background: var(--accent-wash); color: var(--accent-ink);
        font-size: 12.5px; font-weight: 700; text-align: center;
    }
    .gs-finding__pill {
        font-size: 10px; padding: 3px 9px; border-radius: 999px;
        font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
    }
    .gs-finding__pill--high   { background: rgba(244,63,94,0.10);  color: #b91c1c; }
    .gs-finding__pill--medium,
    .gs-finding__pill--low,
    .gs-finding__pill--info   { background: rgba(245,158,11,0.12);  color: #b45309; }
    .gs-finding p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }

    @media (max-width: 820px) {
        .gs-business-card { padding: 22px; }
        .gs-business-card__top { align-items: start; flex-direction: column; }
        .gs-business-card__name { text-align: left; }
        .gs-business-facts { grid-template-columns: 1fr; }
        .gs-score-card, .gs-engines-card { padding: 24px 20px; border-radius: 22px; }
        .gs-score-top { grid-template-columns: 1fr; gap: 18px; text-align: center; }
        .gs-engines { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 520px) {
        .gs-subscore-grid { grid-template-columns: 1fr; gap: 8px; }
        .gs-subscore { padding: 10px 12px; }
        .gs-engines { grid-template-columns: 1fr; gap: 8px; }
        .gs-engine { padding: 9px 10px 9px 42px; font-size: 13px; gap: 8px; }
        .gs-engine__dot { width: 20px; height: 20px; box-shadow: none; }
        .gs-engine__dot::after { left: 4px; top: 3px; width: 4px; height: 7px; }
        .gs-engine__status { display: none; }
        .gs-result__hero { margin-bottom: 20px; }
        .gs-result__hero p { font-size: 15px; }
        .gs-result { padding-top: 28px; }
        .gs-business-card { margin: -8px auto 14px; border-radius: 18px; padding: 14px; }
        .gs-business-facts { gap: 8px; }
        .gs-business-card__top { padding-bottom: 10px; margin-bottom: 10px; }
        .gs-score-card, .gs-engines-card { padding: 18px 16px; }
        .gs-score-ring__val { font-size: 2.55rem; }
        .gs-score-card h3.gs-section-label,
        .gs-engines-card h3.gs-section-label { margin: 0 0 9px; }
    }
    /* Scroll targets keep the completed scan aligned without jumping the
       visitor straight to the price cards. */
    #gs-result { scroll-margin-top: 12px; }
    #gs-next   { scroll-margin-top: 60px; }
    .gs-score-card, .gs-engines-card { scroll-margin-top: 14px; }

    /* ─── Step-transition CTA — vertical, button-dominant. The visitor
           lands here right after the score; minimal copy keeps the focus
           on the orange pill. CRITICAL rules use `!important` because
           global p / button resets in the upstream design system kept
           silently winning the specificity battle on production. */
    .gs-result { padding-bottom: 86px; }
    .gs-next {
        display: block !important;
        max-width: 1100px; margin: 26px auto 0;
        background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%) !important;
        border: 1px solid rgba(255,255,255,0.10) !important;
        border-radius: 24px !important;
        padding: 26px 24px 24px !important;
        backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 40px 100px -32px rgba(0,226,143,0.36);
        color: #f5f5f7 !important;
        text-align: center !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .gs-next__chip {
        display: inline-flex !important; align-items: center; gap: 8px;
        padding: 6px 14px !important; border-radius: 999px !important;
        background: rgba(0,226,143,0.14) !important; color: #00e28f !important;
        font-size: 11px !important; font-weight: 700 !important;
        letter-spacing: 0.10em; text-transform: uppercase;
    }
    .gs-next__chip::before {
        content: ''; width: 6px; height: 6px; border-radius: 50%;
        background: #00e28f; box-shadow: 0 0 0 3px rgba(0,226,143,0.20);
    }
    .gs-next__h {
        display: block !important;
        margin: 14px 0 4px !important;
        font-size: 24px !important; font-weight: 600 !important; line-height: 1.18 !important;
        letter-spacing: -0.02em; color: #fff !important;
    }
    .gs-next__h .accent { color: #00e28f !important; }
    .gs-next__body {
        display: none;
        max-width: 430px;
        margin: 12px auto 0;
        color: rgba(255,255,255,0.70) !important;
        font-size: 14px;
        line-height: 1.55;
    }
    .gs-next--no-order .gs-next__body { display: block; }
    .gs-offer {
        position: fixed;
        z-index: 70;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 12px 16px max(12px, env(safe-area-inset-bottom));
        background: #070709;
        border-top: 1px solid rgba(255,255,255,0.12);
        box-shadow: 0 -18px 44px rgba(0,0,0,0.46);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        opacity: 0;
        pointer-events: none;
        transform: translateY(calc(100% + 18px));
        transition: opacity .22s ease, transform .22s ease;
    }
    .gs-result.is-on .gs-next:not(.gs-next--no-order) .gs-offer {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }
    .gs-next:not(.gs-next--no-order) { margin-bottom: 164px; }
    .gs-offer__inner {
        width: min(100%, 1040px);
        margin: 0 auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
        align-items: center;
        gap: 14px;
    }
    .gs-offer__copy {
        min-width: 0;
        color: #fff;
        display: grid;
        gap: 7px;
    }
    .gs-offer__packages {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .gs-offer__package {
        position: relative;
        display: grid;
        grid-template-rows: auto auto auto;
        gap: 6px;
        min-width: 0;
        min-height: 86px;
        padding: 10px 12px;
        border-radius: 14px;
        border: 1px solid rgba(0,226,143,0.28);
        background: #fff;
        color: #1d1d1f;
        cursor: pointer;
        transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .12s ease;
    }
    .gs-offer__package:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -18px rgba(0,226,143,0.55); }
    .gs-offer__package input { position: absolute; opacity: 0; pointer-events: none; }
    .gs-offer__package.is-selected,
    .gs-offer__package:has(input:checked) {
        border-color: #00e28f;
        background: #eafff5;
        color: #1d1d1f;
        box-shadow: inset 0 0 0 1px #00e28f, 0 14px 32px -14px rgba(0,226,143,0.92);
    }
    .gs-offer__package.is-selected::before,
    .gs-offer__package:has(input:checked)::before {
        content: '';
        position: absolute;
        inset: 10px auto 10px 0;
        width: 4px;
        border-radius: 0 999px 999px 0;
        background: #00e28f;
    }
    .gs-offer__package-name {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.12;
    }
    .gs-offer__package-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 22px;
        padding: 3px 7px;
        border-radius: 999px;
        background: var(--accent-wash);
        color: var(--accent-ink);
        font-size: 11px;
        font-weight: 900;
        white-space: nowrap;
    }
    .gs-offer__package.is-selected .gs-offer__package-badge,
    .gs-offer__package:has(input:checked) .gs-offer__package-badge {
        background: #00e28f;
        color: #032117;
    }
    .gs-offer__package-action {
        color: var(--accent-ink);
        font-size: 12px;
        font-weight: 900;
        line-height: 1.2;
    }
    .gs-offer__package.is-selected .gs-offer__package-action,
    .gs-offer__package:has(input:checked) .gs-offer__package-action {
        color: var(--accent-ink);
    }
    .gs-offer__package-billing {
        color: #6b7280;
        font-size: 10.5px;
        font-weight: 850;
        line-height: 1;
        text-transform: uppercase;
    }
    .gs-offer__package.is-selected .gs-offer__package-billing,
    .gs-offer__package:has(input:checked) .gs-offer__package-billing {
        color: #046e4b;
    }
    .gs-offer__package-selected {
        min-height: 16px;
        color: transparent;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .08em;
        line-height: 1;
        text-transform: uppercase;
    }
    .gs-offer__package.is-selected .gs-offer__package-selected,
    .gs-offer__package:has(input:checked) .gs-offer__package-selected {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        justify-self: start;
        min-height: 20px;
        padding: 4px 7px;
        border-radius: 999px;
        background: #00e28f;
        color: #fff;
    }
    .gs-offer__btn {
        min-height: 52px;
        border-radius: 999px;
        background: var(--accent-grad);
        color: var(--ink-on-accent);
        padding: 12px 20px;
        font-size: 15px;
        font-weight: 900;
        line-height: 1.12;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        text-align: center;
        text-decoration: none;
        overflow-wrap: anywhere;
        box-shadow: 0 14px 34px -10px rgba(0,226,143,0.78);
        transition: background .18s ease, transform .12s ease, box-shadow .18s ease;
    }
    .gs-offer__btn:hover {
        background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%);
        transform: translateY(-1px);
        box-shadow: 0 16px 38px -8px rgba(0,226,143,0.82);
        text-decoration: none;
    }
    .gs-offer__btn:active { transform: scale(0.98); }
    @media (max-width: 560px) {
        .gs-next:not(.gs-next--no-order) { margin-bottom: 232px; }
        .gs-offer { padding: 9px 12px max(9px, env(safe-area-inset-bottom)); }
        .gs-offer__inner {
            grid-template-columns: 1fr;
            gap: 8px;
        }
        .gs-offer__packages {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 5px;
        }
        .gs-offer__package {
            min-height: 80px;
            padding: 8px 7px;
            border-radius: 12px;
        }
        .gs-offer__package-name {
            display: grid;
            gap: 4px;
            font-size: 11.5px;
        }
        .gs-offer__package-badge {
            min-width: 0;
            justify-self: start;
            min-height: 19px;
            padding: 2px 5px;
            font-size: 9.5px;
        }
        .gs-offer__package-action {
            font-size: 10px;
            line-height: 1.12;
        }
        .gs-offer__package-selected { font-size: 8.5px; }
        .gs-offer__btn {
            min-height: 50px;
            padding: 10px 14px;
            font-size: 14px;
        }
    }
    .gs-next--no-order .gs-offer { display: none !important; }
    .gs-next__btn {
        appearance: none; -webkit-appearance: none;
        display: inline-flex !important; align-items: center; justify-content: center; gap: 12px;
        margin: 22px auto 14px !important;
        background: #00e28f !important; color: #fff !important;
        border: 0 !important; border-radius: 999px !important;
        padding: 12px 28px !important; min-height: 64px !important;
        width: 100% !important; max-width: 460px !important;
        min-width: 0 !important;
        font: inherit !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.16 !important;
        letter-spacing: -0.005em;
        cursor: pointer; white-space: normal; text-align: center; overflow-wrap: anywhere;
        transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
        box-shadow: 0 16px 38px -8px rgba(0,226,143,0.65) !important;
        position: relative;
        text-decoration: none;
    }
    .gs-next__btn strong { font-weight: 800; color: #fff; }
    .gs-next__btn span { color: #fff; min-width: 0; }
    .gs-next__btn::before {
        content: ''; position: absolute; inset: -4px;
        border-radius: 999px;
        background: linear-gradient(120deg, rgba(0,226,143,0.55), transparent 60%);
        z-index: -1;
        filter: blur(18px); opacity: 0.7;
        animation: gsNextGlow 3.2s ease-in-out infinite;
        pointer-events: none;
    }
    @keyframes gsNextGlow { 0%,100%{opacity:0.55;} 50%{opacity:0.95;} }
    .gs-next__btn:hover { background: var(--accent-soft) !important; box-shadow: 0 16px 40px -6px rgba(0,226,143,0.75) !important; transform: translateY(-1px); }
    .gs-next__btn:active { transform: scale(0.98); }
    .gs-next__btn .arrow { font-size: 1.1em; color: #fff; }
    .gs-next__trust {
        display: flex !important; align-items: center; justify-content: center; flex-wrap: wrap;
        gap: 6px 14px;
        margin: 14px 0 0 !important;
        padding: 0;
        color: rgba(255,255,255,0.62) !important; font-size: 12.5px !important; line-height: 1.5;
    }
    .gs-next__trust > span { display: inline-flex !important; align-items: center; gap: 6px; }
    .gs-next__trust svg { color: #00e28f; flex-shrink: 0; }
    .gs-next-retest {
        display: none;
        grid-template-columns: 1fr auto;
        gap: 10px;
        max-width: 460px;
        margin: 22px auto 4px;
    }
    .gs-next--no-order .gs-next-retest { display: grid; }
    .gs-next--no-order .gs-next__btn,
    .gs-next--no-order .gs-next__trust { display: none !important; }
    .gs-next-retest__input {
        min-width: 0;
        height: 54px;
        border: 1px solid rgba(255,255,255,0.16);
        border-radius: 999px;
        background: rgba(255,255,255,0.08);
        color: #fff;
        padding: 0 18px;
        font: inherit;
        outline: none;
    }
    .gs-next-retest__input::placeholder { color: rgba(255,255,255,0.42); }
    .gs-next-retest__btn {
        height: 54px;
        border: 0;
        border-radius: 999px;
        background: #fff;
        color: #111;
        padding: 0 20px;
        font: inherit;
        font-weight: 800;
        line-height: 1.15;
        cursor: pointer;
        white-space: normal;
        text-align: center;
        overflow-wrap: anywhere;
    }
    @media (max-width: 520px) {
        .gs-next { padding: 20px 16px 18px !important; border-radius: 20px !important; margin-top: 20px !important; }
        .gs-next__h { font-size: 20px !important; }
        .gs-next__btn { min-height: 60px !important; font-size: 16px !important; padding: 12px 18px !important; gap: 8px; }
        .gs-next__trust { font-size: 12px !important; gap: 4px 12px; }
        .gs-next-retest { grid-template-columns: 1fr; }
        .gs-next-retest__btn { width: 100%; }
    }

    /* ─── Progress bar (steps 2-4) ─────────────────────────────────
       Apple-style horizontal dots-and-lines indicator. Sits above the
       result band so the visitor always knows where they are. */
    .gs-stepbar {
        max-width: 1100px; margin: 0 auto 28px;
        padding: 18px 24px 0;
        position: relative; z-index: 2;
    }
    /* A completed step takes you back to it; upcoming ones stay inert. */
    .gs-stepbar__item.is-clickable { cursor: pointer; }
    .gs-stepbar__item.is-clickable:hover { opacity: 0.82; }
    .gs-stepbar__item.is-clickable:focus-visible {
        outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px;
    }
    .gs-stepbar__list {
        list-style: none; margin: 0; padding: 0;
        /* Columns follow the item count. Hard-coding five left the
           four-step variant with an empty column, pushing the whole
           bar off-centre. */
        display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
        gap: 0;
        counter-reset: gs-step;
    }
    .gs-stepbar__item {
        position: relative;
        display: flex; flex-direction: column; align-items: center;
        gap: 8px;
        min-width: 0;
        color: rgba(255,255,255,0.48);
        font-size: 12px; font-weight: 600;
        letter-spacing: 0.04em;
        line-height: 1.15;
        text-align: center;
        overflow-wrap: anywhere;
    }
    .gs-stepbar__item::before {
        counter-increment: gs-step;
        content: counter(gs-step);
        width: 28px; height: 28px; border-radius: 50%;
        display: inline-flex; align-items: center; justify-content: center;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.18);
        font-size: 12px; font-weight: 700;
        color: rgba(255,255,255,0.62);
        transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    .gs-stepbar__item:not(:last-child)::after {
        content: ''; position: absolute;
        top: 14px; left: calc(50% + 18px); right: calc(-50% + 18px);
        height: 1px; background: rgba(255,255,255,0.10);
    }
    .gs-stepbar__item.is-done::before {
        background: rgba(0,226,143,0.22); border-color: rgba(0,226,143,0.55);
        color: #00e28f;
        content: '✓';
    }
    .gs-stepbar__item.is-done:not(:last-child)::after {
        background: rgba(0,226,143,0.55);
    }
    .gs-stepbar__item.is-current { color: #fff; }
    .gs-stepbar__item.is-current::before {
        background: var(--accent-grad); border-color: #00e28f; color: var(--ink-on-accent);
        box-shadow: 0 0 0 4px rgba(0,226,143,0.20), 0 0 18px rgba(0,226,143,0.50);
    }
    @media (max-width: 520px) {
        .gs-stepbar { padding: 12px 16px 0; margin-bottom: 18px; }
        .gs-stepbar__item { font-size: 10px; gap: 6px; }
        .gs-stepbar__item::before { width: 24px; height: 24px; font-size: 11px; }
        .gs-stepbar__item:not(:last-child)::after { top: 12px; left: calc(50% + 16px); right: calc(-50% + 16px); }
    }

    /* Mobile-only: keep the result hero compact. The real-scan business
       description is intentionally not shown; the short context card below
       carries the useful facts without making the preview feel "done". */
    @media (max-width: 720px) {
        .gs-result__hero h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
    }
    @media (max-width: 520px) {
        .gs-result__hero { margin-bottom: 16px; }
        .gs-result { padding-top: 28px; }
    }

    /* ─── What you get (light tile grid) ──────────────────────────── */
    .gs-promise { background: var(--paper-soft); padding: 120px 0; }
    .gs-promise__head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
    .gs-promise h2 .line { display: block; }
    .gs-promise h2 .line--accent { color: var(--accent-mid); }
    .gs-promise__grid {
        display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
        max-width: 1100px; margin: 0 auto;
    }
    .gs-tile {
        background: var(--paper);
        border-radius: 22px; padding: 28px 26px;
        min-height: 200px;
        display: flex; flex-direction: column;
    }
    .gs-tile__chip {
        font-size: 11px; font-weight: 700; color: var(--accent-ink);
        letter-spacing: 0.08em; text-transform: uppercase;
        margin-bottom: 14px;
    }
    .gs-tile__h { font-size: 17px; font-weight: 600; color: var(--ink); margin: 0 0 8px; line-height: 1.3; }
    .gs-tile__p { color: var(--ink-soft); font-size: 14px; line-height: 1.6; margin: 0; flex: 1; }

    @media (max-width: 820px) {
        .gs-promise { padding: 96px 0; }
        .gs-promise__grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 520px) {
        .gs-promise__grid { grid-template-columns: 1fr; }
    }

    /* ─── FAQ accordion (light) ───────────────────────────────────── */
    .gs-faq { background: var(--paper); padding: 120px 0 100px; }
    .gs-faq__head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
    .gs-faq__list {
        max-width: 820px; margin: 0 auto;
        border-top: 1px solid var(--line-soft);
    }
    .gs-faq-item { border-bottom: 1px solid var(--line-soft); }
    .gs-faq-item summary {
        list-style: none;
        cursor: pointer; padding: 22px 4px;
        display: flex; align-items: center; justify-content: space-between;
        gap: 24px;
        font-size: 17px; font-weight: 500; color: var(--ink);
    }
    .gs-faq-item summary::-webkit-details-marker { display: none; }
    .gs-faq-item summary::after {
        content: '';
        flex-shrink: 0;
        width: 10px; height: 10px;
        border-right: 1.5px solid var(--ink);
        border-top: 1.5px solid var(--ink);
        transform: rotate(135deg);
        opacity: 0.5;
        transition: transform .25s var(--ease-out-soft), opacity .25s ease;
        margin-right: 4px;
    }
    .gs-faq-item[open] summary::after { transform: rotate(-45deg); opacity: 1; }
    .gs-faq-item summary:hover { color: var(--accent-ink); }
    .gs-faq-item__a {
        padding: 0 4px 22px; color: var(--ink-soft); font-size: 15px; line-height: 1.6;
    }
    @media (max-width: 720px) {
        .gs-faq { padding: 96px 0 80px; }
        .gs-faq-item summary { font-size: 16px; padding: 18px 4px; }
    }

/* ==========================================================================
   Build-specific layer. Everything above is the adapted base design;
   everything below belongs to this tool: the brand mark, the language
   toggle, state that must not be signalled by colour alone, and the
   accessibility rules the base sheet was missing.
   ========================================================================== */

/* ── Brand mark ─────────────────────────────────────────────────────────
   No header on this page, so the mark sits inside the hero. */
.gs-brand {
    display: inline-flex; align-items: center; gap: 11px;
    /* The mark shrinks on phones; the tap area should not. */
    min-height: 44px;
    text-decoration: none;
}
.gs-brand:hover { text-decoration: none; }
.gs-brand__mark { width: 38px; height: 38px; flex-shrink: 0; }
.gs-brand__text {
    display: flex; flex-direction: column; gap: 1px;
    line-height: 1;
}
.gs-brand__name {
    color: #fff; font-size: 15px; font-weight: 700; letter-spacing: -0.02em;
}
.gs-brand__name b { color: var(--accent-soft); font-weight: 700; }
.gs-brand__sub {
    color: rgba(255,255,255,0.44);
    font-size: 9.5px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase;
}

/* ── Language toggle — the only navigation on the page ─────────────────── */
.gs-lang {
    display: inline-flex; gap: 2px; padding: 3px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: var(--radius-pill);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.gs-lang__opt {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 46px; min-height: 40px; padding: 9px 13px;
    border-radius: var(--radius-pill);
    color: rgba(255,255,255,0.64);
    font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
    text-decoration: none; cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.gs-lang__opt:hover { color: #fff; background: rgba(255,255,255,0.10); text-decoration: none; }
.gs-lang__opt.is-on { background: var(--accent); color: #032117; }

@media (max-width: 620px) {
    .gs-brand { gap: 9px; }
    .gs-brand__mark { width: 32px; height: 32px; }
    .gs-brand__name { font-size: 13.5px; }
    .gs-brand__sub  { font-size: 8.5px; letter-spacing: 0.13em; }
    .gs-lang__opt { min-width: 42px; min-height: 38px; padding: 8px 11px; font-size: 11px; }
}

/* ── Honeypot — off-screen for bots, unreachable for people ─────────────── */
.gs-hp {
    position: absolute !important;
    width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
    white-space: nowrap; border: 0;
}
.gs-hp input { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; }

/* ── Crawler state is never colour-only ─────────────────────────────────
   Green is the brand accent here, so "allowed" and "blocked" cannot be
   told apart by hue. The marker is always a checkbox: ticked when the
   crawler is let in, empty when it is not — the difference is shape and
   fill, not colour, and the status word stays for screen readers. */
.gs-engine--blocked .gs-engine__dot {
    background: rgba(244,63,94,0.12);
    border-color: rgba(244,63,94,0.45);
    box-shadow: 0 0 0 4px rgba(244,63,94,0.07);
}
.gs-engine--blocked .gs-engine__dot::before,
.gs-engine--blocked .gs-engine__dot::after {
    content: ''; position: absolute;
    left: 3px; top: 7px;
    width: 10px; height: 2px;
    border: 0; border-radius: 2px;
    background: var(--danger);
    transform: rotate(45deg);
}
.gs-engine--blocked .gs-engine__dot::before { transform: rotate(-45deg); }
.gs-engine--blocked .gs-engine__status { color: var(--danger-ink); font-weight: 800; }
.gs-engine--blocked { box-shadow: none; }

/* ── Loading ticker: done is a filled dot, running is a hollow ring ─────
   Same reason — the two states differ in shape, not just in brightness. */
.gs-step.is-active .gs-step__dot {
    background: transparent;
    border: 2px solid var(--accent);
    box-shadow: 0 0 0 4px rgba(0,226,143,0.18), 0 0 12px var(--accent-glow);
}
.gs-step.is-done .gs-step__dot { border: 0; }

/* ── Error state keeps the form ────────────────────────────────────────
   The reference hides the URL field on error because it offers an email
   fallback instead. There is no fallback here, so the visitor must always
   be able to fix the URL and try again. */
body.audit-step-error .gs-card,
body.audit-step-error .gs-note,
body.audit-step-error .gs-hero h1 {
    display: revert !important;
}
body.audit-step-error .gs-error { margin-bottom: 26px; }
body.audit-step-error .gs-hero .lede,
body.audit-step-error .gs-hero .chip { display: none !important; }

/* The base sheet toggled .gs-loading with its own .is-on class; here the
   body step class is the single source of truth for what is on screen. */
body.audit-step-loading .gs-loading { display: block; }

/* ── Trademark note. Deliberately not a <footer>: it closes the FAQ. ───── */
.gs-legal {
    max-width: 820px; margin: 48px auto 0;
    color: var(--muted-strong);
    font-size: 12px; line-height: 1.6; text-align: center;
}

/* ── Focus visibility — the base sheet had none ─────────────────────────── */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
label:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--accent-soft);
    outline-offset: 3px;
    border-radius: 6px;
}
.gs-hero a:focus-visible,
.gs-next a:focus-visible,
.gs-next button:focus-visible {
    outline-color: #fff;
}
.gs-input:focus-visible { outline: none; }   /* the pill itself lights up */

/* ── Motion preferences ─────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
    .reveal { opacity: 1 !important; transform: none !important; }
}

/* Narrow screens hide the engine status text; a blocked crawler is the most
   consequential line on the page, so its label survives. */
@media (max-width: 520px) {
    .gs-engine--blocked .gs-engine__status { display: inline; font-size: 10px; }
}

/* ==========================================================================
   Score bands, request form, confirmation.
   ========================================================================== */

/* ── Score bands ────────────────────────────────────────────────────────
   Five steps: critical 0-39, weak 40-59, fair 60-74, good 75-89,
   very good 90-100. The brand green is reserved for chrome; here green is
   a verdict, so every band also carries a word. */
:root {
    --band-critical:       #f43f5e;
    --band-critical-ink:   #be123c;
    --band-critical-wash:  rgba(244,63,94,0.12);
    --band-critical-grad:  linear-gradient(115deg, #fb7185 0%, #e11d48 100%);

    --band-weak:       #fb7185;
    --band-weak-ink:   #c2410c;
    --band-weak-wash:  rgba(249,115,22,0.12);
    --band-weak-grad:  linear-gradient(115deg, #fda4af 0%, #f97316 100%);

    --band-fair:       #f59e0b;
    --band-fair-ink:   #b45309;
    --band-fair-wash:  rgba(245,158,11,0.12);
    --band-fair-grad:  linear-gradient(115deg, #fbbf24 0%, #f59e0b 100%);

    --band-good:       #65d98b;
    --band-good-ink:   #15803d;
    --band-good-wash:  rgba(101,217,139,0.14);
    --band-good-grad:  linear-gradient(115deg, #a8ff60 0%, #34c76a 100%);

    --band-excellent:      #00e28f;
    --band-excellent-ink:  #067a4e;
    --band-excellent-wash: rgba(0,226,143,0.10);
    --band-excellent-grad: var(--accent-grad);

    /* Kept so older rules that still say low/mid/high resolve sensibly. */
    --band-low:       var(--band-critical);
    --band-low-ink:   var(--band-critical-ink);
    --band-low-wash:  var(--band-critical-wash);
    --band-mid:       var(--band-fair);
    --band-mid-ink:   var(--band-fair-ink);
    --band-mid-wash:  var(--band-fair-wash);
    --band-high:      var(--band-excellent);
    --band-high-ink:  var(--band-excellent-ink);
    --band-high-wash: var(--band-excellent-wash);
}

.gs-score-head { min-width: 0; }
.gs-score-ring__of { opacity: 0.42; font-weight: 600; }

/* The big number takes the band ramp instead of the brand ramp. */
.gs-score-card.is-band-critical  .gs-score-ring__val,
.gs-score-card.is-band-critical  .gs-score-ring__val span { background-image: var(--band-critical-grad); }
.gs-score-card.is-band-weak  .gs-score-ring__val,
.gs-score-card.is-band-weak  .gs-score-ring__val span { background-image: var(--band-weak-grad); }
.gs-score-card.is-band-fair  .gs-score-ring__val,
.gs-score-card.is-band-fair  .gs-score-ring__val span { background-image: var(--band-fair-grad); }
.gs-score-card.is-band-good  .gs-score-ring__val,
.gs-score-card.is-band-good  .gs-score-ring__val span { background-image: var(--band-good-grad); }
.gs-score-card.is-band-excellent  .gs-score-ring__val,
.gs-score-card.is-band-excellent  .gs-score-ring__val span { background-image: var(--band-excellent-grad); }

.gs-verdict {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 10px;
    margin: 14px 0 0; max-width: 34ch;
}
.gs-verdict__pill {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 11px; border-radius: 999px;
    font-size: 11px; font-weight: 800;
    letter-spacing: 0.07em; text-transform: uppercase;
    white-space: nowrap;
}
.gs-verdict__pill::before {
    content: ''; width: 7px; height: 7px; border-radius: 50%;
    background: currentColor;
}
.gs-verdict__hint {
    color: var(--muted-strong); font-size: 12.5px; line-height: 1.45;
}
.gs-score-card.is-band-critical .gs-verdict__pill { background: var(--band-critical-wash); color: var(--band-critical-ink); }
.gs-score-card.is-band-weak .gs-verdict__pill { background: var(--band-weak-wash); color: var(--band-weak-ink); }
.gs-score-card.is-band-fair .gs-verdict__pill { background: var(--band-fair-wash); color: var(--band-fair-ink); }
.gs-score-card.is-band-good .gs-verdict__pill { background: var(--band-good-wash); color: var(--band-good-ink); }
.gs-score-card.is-band-excellent .gs-verdict__pill { background: var(--band-excellent-wash); color: var(--band-excellent-ink); }

/* Sub-score bars follow their own band, not the overall one. */
.gs-subscore.is-band-critical .gs-subscore__bar i { background-image: var(--band-critical-grad); }
.gs-subscore.is-band-critical .gs-subscore__bar { background-color: var(--band-critical-wash); }
.gs-subscore.is-band-critical .gs-subscore__row span { color: var(--band-critical-ink); }
.gs-subscore.is-band-weak .gs-subscore__bar i { background-image: var(--band-weak-grad); }
.gs-subscore.is-band-weak .gs-subscore__bar { background-color: var(--band-weak-wash); }
.gs-subscore.is-band-weak .gs-subscore__row span { color: var(--band-weak-ink); }
.gs-subscore.is-band-fair .gs-subscore__bar i { background-image: var(--band-fair-grad); }
.gs-subscore.is-band-fair .gs-subscore__bar { background-color: var(--band-fair-wash); }
.gs-subscore.is-band-fair .gs-subscore__row span { color: var(--band-fair-ink); }
.gs-subscore.is-band-good .gs-subscore__bar i { background-image: var(--band-good-grad); }
.gs-subscore.is-band-good .gs-subscore__bar { background-color: var(--band-good-wash); }
.gs-subscore.is-band-good .gs-subscore__row span { color: var(--band-good-ink); }
.gs-subscore.is-band-excellent .gs-subscore__bar i { background-image: var(--band-excellent-grad); }
.gs-subscore.is-band-excellent .gs-subscore__bar { background-color: var(--band-excellent-wash); }
.gs-subscore.is-band-excellent .gs-subscore__row span { color: var(--band-excellent-ink); }

/* ── Step visibility ───────────────────────────────────────────────────── */
.gs-lead, .gs-thanks { display: none; }
body.audit-step-form   .gs-lead   { display: block; }
body.audit-step-thanks .gs-thanks { display: block; }

body.audit-step-form   .gs-hero,
body.audit-step-form   .gs-result,
body.audit-step-form   .gs-promise,
body.audit-step-form   .gs-faq,
body.audit-step-thanks .gs-hero,
body.audit-step-thanks .gs-result,
body.audit-step-thanks .gs-promise,
body.audit-step-thanks .gs-faq {
    display: none !important;
}
/* The stepbar lives inside the result block, so it needs to come back. */
body.audit-step-form .gs-result,
body.audit-step-thanks .gs-result {
    display: block !important;
}
body.audit-step-form   .gs-result > .container > *:not(.gs-stepbar),
body.audit-step-thanks .gs-result > .container > *:not(.gs-stepbar) {
    display: none !important;
}
/* padding-bottom keeps the stepbar's 28px bottom margin from collapsing out
   of the section and showing the white page ground between the two panels. */
body.audit-step-form   .gs-result,
body.audit-step-thanks .gs-result { padding-bottom: 1px; background: #040a07; }

/* ── Request form ───────────────────────────────────────────────────────── */
.gs-lead {
    background: #040a07;
    padding: 8px 0 96px;
    color: #f5f5f7;
}
.eyebrow--on-dark { color: var(--accent-soft) !important; }

.gs-lead__card {
    max-width: 1100px; margin: 0 auto;
    background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 26px;
    padding: 38px 38px 34px;
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 50px 120px -40px rgba(0,226,143,0.30);
}
.gs-lead__h {
    margin: 4px 0 10px; color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.1rem); letter-spacing: -0.025em;
}
.gs-lead__body {
    margin: 0 0 26px; color: rgba(255,255,255,0.66);
    font-size: 15px; line-height: 1.55; max-width: 54ch;
}

.gs-lead__summary {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    align-items: center; gap: 14px;
    padding: 16px 18px; margin-bottom: 26px;
    background: rgba(0,0,0,0.34);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 16px;
}
.gs-lead__fact { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gs-lead__fact small {
    color: rgba(255,255,255,0.42); font-size: 10px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
}
.gs-lead__fact span {
    color: #fff; font-size: 14px; font-weight: 650; overflow-wrap: anywhere;
}
#gs-lead-score.is-band-critical { color: var(--band-critical); }
#gs-lead-score.is-band-weak { color: var(--band-weak); }
#gs-lead-score.is-band-fair { color: var(--band-fair); }
#gs-lead-score.is-band-good { color: var(--band-good); }
#gs-lead-score.is-band-excellent { color: var(--band-excellent); }
.gs-lead__change {
    justify-self: end;
    min-height: 38px; padding: 8px 16px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 999px;
    color: rgba(255,255,255,0.82);
    font: inherit; font-size: 12.5px; font-weight: 650;
    cursor: pointer; white-space: nowrap;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.gs-lead__change:hover { background: rgba(255,255,255,0.13); color: #fff; }

#gs-lead-form {
    display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.gs-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.gs-field--wide { grid-column: 1 / -1; }
.gs-field label {
    color: rgba(255,255,255,0.80);
    font-size: 12.5px; font-weight: 700; letter-spacing: 0.01em;
}
.gs-field label em {
    color: rgba(255,255,255,0.38); font-style: normal; font-weight: 600;
}
.gs-field input,
.gs-field textarea {
    width: 100%; padding: 13px 15px;
    background: rgba(0,0,0,0.40);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 13px;
    color: #fff; font: inherit; font-size: 15px; line-height: 1.4;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.gs-field textarea { resize: vertical; min-height: 104px; }
.gs-field input::placeholder,
.gs-field textarea::placeholder { color: rgba(255,255,255,0.34); }
.gs-field input:focus,
.gs-field textarea:focus {
    outline: none;
    border-color: var(--accent);
    background: rgba(0,0,0,0.55);
    box-shadow: 0 0 0 4px rgba(0,226,143,0.16);
}
.gs-field input.is-invalid,
.gs-field textarea.is-invalid {
    border-color: var(--band-low);
    box-shadow: 0 0 0 4px rgba(244,63,94,0.14);
}
.gs-field__err {
    margin: 0; min-height: 0;
    color: #fb7185; font-size: 12px; font-weight: 600; line-height: 1.35;
}
.gs-field__err:empty { display: none; }

.gs-lead__actions {
    grid-column: 1 / -1;
    display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px;
    margin-top: 4px;
}
.gs-lead__submit {
    min-height: 54px; padding: 14px 30px;
    background: var(--accent-grad); color: var(--ink-on-accent);
    border: 0; border-radius: 999px;
    font: inherit; font-size: 15.5px; font-weight: 800;
    display: inline-flex; align-items: center; gap: 10px;
    cursor: pointer;
    box-shadow: 0 8px 20px -10px rgba(0,226,143,0.45);
    transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
}
.gs-lead__submit:hover {
    background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px -10px rgba(0,226,143,0.55);
}
.gs-lead__submit:active { transform: scale(0.985); }
.gs-lead__submit:disabled { opacity: 0.6; cursor: progress; transform: none; }
.gs-lead__privacy {
    flex: 1 1 260px; margin: 0;
    color: rgba(255,255,255,0.44); font-size: 11.5px; line-height: 1.5;
}
.gs-lead__error { grid-column: 1 / -1; margin-top: 2px; font-size: 13px; }

@media (max-width: 720px) {
    .gs-lead { padding-bottom: 64px; }
    .gs-lead__card { padding: 26px 20px 24px; border-radius: 20px; }
    .gs-lead__summary { grid-template-columns: 1fr 1fr; }
    .gs-lead__change { grid-column: 1 / -1; justify-self: stretch; text-align: center; }
    #gs-lead-form { grid-template-columns: 1fr; gap: 15px; }
    .gs-lead__submit { width: 100%; justify-content: center; }
}

/* ── Confirmation ───────────────────────────────────────────────────────── */
.gs-thanks {
    background: #040a07;
    padding: 8px 0 110px;
    color: #f5f5f7;
    text-align: center;
}
.gs-thanks__card {
    max-width: 1100px; margin: 0 auto;
    background: linear-gradient(180deg, rgba(0,226,143,0.09) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(0,226,143,0.22);
    border-radius: 26px;
    padding: 44px 38px 38px;
    box-shadow: 0 50px 130px -40px rgba(0,226,143,0.45);
}
.gs-thanks__mark {
    display: flex; align-items: center; justify-content: center;
    width: 76px; height: 76px; margin: 0 auto 20px;
    border-radius: 50%;
    background: rgba(0,226,143,0.14);
    border: 1px solid rgba(0,226,143,0.40);
    color: var(--accent);
    box-shadow: 0 0 0 10px rgba(0,226,143,0.06), 0 0 40px rgba(0,226,143,0.28);
}
.gs-thanks__h {
    margin: 4px 0 12px; color: #fff;
    font-size: clamp(1.6rem, 3.4vw, 2.3rem); letter-spacing: -0.03em;
}
.gs-thanks__body {
    margin: 0 auto 26px; max-width: 100%;
    color: rgba(255,255,255,0.70); font-size: 15px; line-height: 1.6;
}
.gs-thanks__ref {
    display: inline-flex; flex-direction: column; gap: 5px;
    padding: 13px 26px; border-radius: 15px;
    background: rgba(0,0,0,0.40);
    border: 1px dashed rgba(0,226,143,0.36);
}
.gs-thanks__ref small {
    color: rgba(255,255,255,0.44); font-size: 10px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
}
.gs-thanks__ref strong {
    color: var(--accent-soft); font-size: 19px; font-weight: 800;
    letter-spacing: 0.06em; font-variant-numeric: tabular-nums;
}
.gs-thanks__mail {
    margin: 14px 0 0; color: rgba(255,255,255,0.52); font-size: 13px;
}
.gs-thanks__next-h {
    margin: 36px 0 16px; color: rgba(255,255,255,0.56);
    font-size: 11px; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
}
.gs-thanks__steps {
    list-style: none; counter-reset: ts;
    margin: 0 0 32px; padding: 0;
    display: grid; gap: 10px; text-align: left;
}
.gs-thanks__steps li {
    counter-increment: ts;
    display: grid; grid-template-columns: 30px 1fr; gap: 4px 14px;
    align-items: start;
    padding: 15px 18px;
    background: rgba(255,255,255,0.035);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 15px;
}
.gs-thanks__steps li::before {
    content: counter(ts);
    grid-row: 1 / 3;
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 50%;
    background: rgba(0,226,143,0.16);
    border: 1px solid rgba(0,226,143,0.38);
    color: var(--accent-soft);
    font-size: 13px; font-weight: 800;
}
.gs-thanks__steps strong { color: #fff; font-size: 14.5px; font-weight: 700; }
.gs-thanks__steps span   { color: rgba(255,255,255,0.60); font-size: 13.5px; line-height: 1.55; }
.gs-thanks__restart {
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 46px; padding: 11px 24px;
    border-radius: 999px;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff; font-size: 14px; font-weight: 650;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}
.gs-thanks__restart:hover { background: rgba(255,255,255,0.13); text-decoration: none; }

@media (max-width: 720px) {
    .gs-thanks { padding-bottom: 72px; }
    .gs-thanks__card { padding: 32px 20px 28px; border-radius: 20px; }
    .gs-thanks__mark { width: 64px; height: 64px; }
}

/* ── Hero: multi-paragraph lede + "you get straight away" list ───────────
   The lede is a <div> of paragraphs now, so it needs the same measure and
   rhythm the single <p> had. */
.gs-hero .lede p {
    margin: 0 0 12px;
    color: inherit;
}
.gs-hero .lede p:last-child { margin-bottom: 0; }
.gs-hero .lede p:first-child {
    color: #fff;
    font-weight: 600;
}

.gs-gets {
    max-width: 620px;
    margin: 28px auto 0;
    padding: 20px 24px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 18px;
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    text-align: left;
}
.gs-gets__h {
    margin: 0 0 14px;
    color: rgba(255,255,255,0.56);
    font-size: 11px; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
}
.gs-gets__list {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: 1fr 1fr; gap: 11px 24px;
}
.gs-gets__list li {
    display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 9px;
    color: rgba(255,255,255,0.88);
    font-size: 14.5px; line-height: 1.4;
}
.gs-gets__list svg {
    margin-top: 2px;
    color: var(--accent);
    flex: none;
}
@media (max-width: 640px) {
    .gs-gets { margin-top: 22px; padding: 17px 18px; border-radius: 15px; }
    .gs-gets__list { grid-template-columns: 1fr; gap: 10px; }
    .gs-gets__list li { font-size: 14px; }
}

/* The list belongs to the hero copy, so it leaves with it. */
body.audit-step-loading .gs-gets,
body.audit-step-error   .gs-gets { display: none !important; }
.gs-gets { transition: opacity .35s var(--ease-out-soft, ease), transform .35s var(--ease-out-soft, ease); }

/* ==========================================================================
   Top bar, roomier hero, customer logo strip.
   ========================================================================== */

/* ── Top bar: full bleed, with breathing room at the edges ──────────────── */
.gs-topbar {
    position: relative; z-index: 4;
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 0 clamp(20px, 4vw, 56px);
}
/* The top bar stays on every step — the brand and the language switch are
   page furniture, not part of the landing state. */
body.audit-step-result  .gs-hero,
body.audit-step-form    .gs-hero,
body.audit-step-thanks  .gs-hero { display: block !important; }
body.audit-step-result  .gs-hero__inner,
body.audit-step-form    .gs-hero__inner,
body.audit-step-thanks  .gs-hero__inner { display: none; }
body.audit-step-result  .gs-hero,
body.audit-step-form    .gs-hero,
body.audit-step-thanks  .gs-hero { padding-bottom: 0; background: #040a07; }
/* Once the hero collapses to the bar, its `overflow: hidden` cuts the
   radial glow off mid-blur and leaves a hard seam under the header.
   Nothing of the glow is wanted at 92px tall, so drop it entirely. */
body.audit-step-result  .gs-hero__bg,
body.audit-step-form    .gs-hero__bg,
body.audit-step-thanks  .gs-hero__bg { display: none; }

/* ── Hero: more room, so the copy is not squeezed into a column ─────────── */
.gs-hero__inner.container {
    max-width: 1180px;
    /* Clear the top bar so the headline does not start against it. */
    padding-top: 52px;
}
.gs-hero { padding-top: 40px; }
.gs-hero h1 { max-width: min(100%, 900px); }
.gs-hero .lede { max-width: 720px; }
.gs-gets { max-width: 720px; }
.gs-card { max-width: 720px; }
@media (min-width: 900px) {
    .gs-hero .lede p { font-size: 17px; }
}

/* ── Scanning header: the label column reads left, not centred ─────────── */
.gs-scanhead__copy { text-align: left; }
.gs-scanhead { max-width: 880px; }

/* ── Customer logos at the foot of the hero ─────────────────────────────
   CSS marquee: the track holds the list twice and slides to -50%, so the
   loop is seamless without JS. */
.gs-logos {
    position: relative; z-index: 2;
    width: 100%; max-width: 1300px;
    margin: 0 auto;
    padding: 20px clamp(16px, 3vw, 36px) 8px;
    box-sizing: border-box;
    overflow: hidden;
}
.gs-logos__viewport {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.gs-logos__track {
    display: flex; align-items: center; gap: 72px;
    width: max-content;
    list-style: none; margin: 0; padding: 0 36px;
    animation: gs-logo-marquee 45s linear infinite;
}
.gs-logos__track li { flex: 0 0 auto; display: flex; align-items: center; }
.gs-logos__track img {
    height: 56px; width: auto; max-width: 170px;
    object-fit: contain;
    /* The logos are dark-on-white, so on a near-black hero they need to be
       knocked out rather than merely desaturated. */
    filter: grayscale(1) brightness(0) invert(1);
    opacity: 0.5;
    transition: opacity .2s ease, filter .2s ease;
}
.gs-logos__track li:hover img { opacity: 0.95; }
.gs-logos:hover .gs-logos__track { animation-play-state: paused; }

@keyframes gs-logo-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

body.audit-step-loading .gs-logos,
body.audit-step-error   .gs-logos,
body.audit-step-result  .gs-logos,
body.audit-step-form    .gs-logos,
body.audit-step-thanks  .gs-logos { display: none; }

@media (max-width: 1024px) {
    .gs-logos { padding-top: 16px; }
    .gs-logos__track { gap: 48px; }
    .gs-logos__track img { height: 44px; }
}
@media (max-width: 640px) {
    .gs-logos { padding-top: 12px; }
    .gs-logos__track { gap: 32px; animation-duration: 30s; }
    .gs-logos__track img { height: 34px; max-width: 120px; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-logos__track { animation: none; }
    .gs-logos__viewport { overflow-x: auto; }
}

/* ==========================================================================
   Step chrome: the analysis view fills the screen, panels line up, and the
   FAQ shares the promise section's measure.
   ========================================================================== */

/* ── The analysis view fills the viewport ────────────────────────────────
   Loading hides the marketing rails, which left the page short and the white
   body showing underneath. */
body.audit-step-loading .gs-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 40px;
}
body.audit-step-loading .gs-topbar { position: absolute; top: 40px; left: 0; }
body.audit-step-loading .gs-hero__inner { width: 100%; }

/* Result, request and confirmation keep a dark ground under the fold too. */
body.audit-step-result,
body.audit-step-form,
body.audit-step-thanks,
body.audit-step-loading { background: #040a07; }

/* The top bar rides above the step content on the inner steps. */
body.audit-step-result .gs-topbar,
body.audit-step-form   .gs-topbar,
body.audit-step-thanks .gs-topbar { padding-bottom: 8px; }

/* ── Item 2: the scan header and the step ticker are the same width ────── */
.gs-scanhead,
.gs-loading { max-width: 880px; }

/* ── Item 7: promise and FAQ share one container measure ───────────────── */
.gs-faq__list { max-width: 1100px; margin-left: auto; margin-right: auto; }
.gs-faq__head { max-width: 1100px; margin-left: auto; margin-right: auto; }

/* ── Item 5 responsive: hero top padding steps down with the viewport ──── */
@media (max-width: 1024px) {
    .gs-hero { padding-top: 32px; }
    .gs-hero__inner.container { padding-top: 44px; }
}
@media (max-width: 640px) {
    .gs-hero { padding-top: 24px; }
    .gs-hero__inner.container { padding-top: 36px; }
}
@media (max-width: 480px) {
    .gs-hero { padding-top: 18px; }
    .gs-hero__inner.container { padding-top: 30px; }
}

/* ==========================================================================
   Mini footer. Present on every step, so it carries the company details the
   page is otherwise missing — and the trademark note, which moved here out
   of the FAQ where it was an odd tail.
   ========================================================================== */
.gs-foot {
    background: #030806;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 40px 0 30px;
    color: rgba(255,255,255,0.60);
    font-size: 13.5px;
    line-height: 1.6;
}
.gs-foot__top {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.85fr);
    align-items: start; gap: 34px 48px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.gs-foot__brand { display: flex; align-items: flex-start; gap: 13px; max-width: 420px; }
.gs-foot__mark  { width: 34px; height: 34px; flex: none; }
.gs-foot__name  { margin: 0 0 5px; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: -0.015em; }
.gs-foot__name b { color: var(--accent-soft); font-weight: 700; }
.gs-foot__tag   { margin: 0; color: rgba(255,255,255,0.66); font-size: 13px; line-height: 1.6; }
/* Gives the brand column the same body as the two link columns beside it. */
.gs-foot__about {
    margin: 10px 0 0; max-width: 40ch;
    color: rgba(255,255,255,0.66);
    font-size: 13px; line-height: 1.6;
}

.gs-foot__col  { min-width: 0; }
.gs-foot__h {
    margin: 0 0 10px; color: #fff;
    font-size: 11.5px; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
}
.gs-foot__line { margin: 0 0 6px; font-size: 13px; line-height: 1.6; color: rgba(255,255,255,0.66); }
.gs-foot__line span { margin: 0 6px; opacity: 0.4; }
.gs-foot__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gs-foot a {
    font-size: 13px; line-height: 1.6;
    color: rgba(255,255,255,0.66);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease;
}
.gs-foot a:hover { color: var(--accent-soft); border-bottom-color: currentColor; text-decoration: none; }

/* Copyright and the trademark notice share one bar; both were at 34% alpha,
   which measures 2.98:1 on this ground — under the 4.5:1 floor. */
.gs-foot__bottom {
    display: flex; flex-direction: column; align-items: stretch;
    gap: 8px; margin-top: 22px;
}
/* The trademark note sits on its own full-width row: at 1100px it needs
   the whole line to stay unbroken, so it cannot share with the copyright. */
.gs-foot__legal {
    margin: 0; order: 2; max-width: none;
    color: rgba(255,255,255,0.56);
    font-size: 11.5px; line-height: 1.6;
    text-align: left;
}
.gs-foot__copy {
    margin: 0; order: 1;
    color: rgba(255,255,255,0.56);
    font-size: 11.5px;
}
/* Holds one unbroken line down to ~900px by scaling with the viewport;
   below that it wraps rather than shrink past readable. */
@media (min-width: 900px) {
    .gs-foot__legal {
        white-space: nowrap;
        font-size: clamp(9.5px, 1.02vw, 11.5px);
    }
}

@media (max-width: 820px) {
    .gs-foot { padding: 32px 0 26px; }
    .gs-foot__top { grid-template-columns: 1fr 1fr; gap: 26px 32px; }
    .gs-foot__brand { grid-column: 1 / -1; max-width: none; }
    .gs-foot__links a,
    .gs-foot__line a {
        display: inline-block;
        padding: 6px 0;
        min-height: 32px;
        line-height: 20px;
    }
    .gs-foot__links { gap: 2px; }
}
@media (max-width: 560px) {
    .gs-foot__top { grid-template-columns: 1fr; gap: 22px; }
    .gs-foot__bottom { gap: 10px; }
    /* Ragged-left wrapped text is hard to read; the right alignment is
       there for the single-line desktop row. */
    .gs-foot__legal { text-align: left; }
}

/* ==========================================================================
   /new variant: four steps, no package selection, a contact form where the
   offer used to be.
   ========================================================================== */

/* The offer bar is a package control; the new variant has none. */
body.gs-v-main .gs-offer { display: none !important; }
body.gs-v-main .gs-next:not(.gs-next--no-order) { margin-bottom: 0; }
body.gs-v-main .gs-next__trust { margin-top: 22px; }

.gs-nextcta { display: flex; justify-content: center; margin: 26px 0 4px; }
.gs-nextcta__btn {
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 56px; padding: 15px 34px;
    background: var(--accent-grad); color: var(--ink-on-accent);
    border: 0; border-radius: 999px;
    font: inherit; font-size: 16px; font-weight: 800;
    cursor: pointer;
    box-shadow: 0 18px 44px -14px rgba(0,226,143,0.70);
    transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
}
.gs-nextcta__btn:hover {
    background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%);
    transform: translateY(-1px);
}
.gs-nextcta__btn:active { transform: scale(0.985); }

/* Two facts instead of four, so the summary strip should not stretch them. */
body.gs-v-main .gs-lead__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.gs-v-main .gs-business-facts { grid-template-columns: 1fr; }
body.gs-v-main .gs-business-card__top { border-bottom: 0; padding-bottom: 0; }
body.gs-v-main .gs-business-facts:empty { display: none; }

@media (max-width: 620px) {
    body.gs-v-main .gs-lead__summary { grid-template-columns: 1fr; }
    .gs-nextcta__btn { width: 100%; justify-content: center; padding: 15px 20px; }
}

/* ── FormFlow embed, restyled to the page ──────────────────────────────
   Real structure the script emits:
     .ff-form-container > .ff-form > form > .ff-field* , .ff-hp , .ff-actions
   Each .ff-field holds a <label> (with a .ff-req asterisk) and the control.
   These rules re-skin it to the dark card without touching embed.js. */
.gs-ff { margin-top: 4px; }
.gs-ff .ff-form-container,
.gs-ff .ff-form { width: 100%; }

.gs-ff form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.gs-ff .ff-field {
    display: flex; flex-direction: column; gap: 7px; min-width: 0;
}
/* The message box earns the full width, as it does in the native form.
   Telefon is the third of three inputs, so on a two-column grid it sat
   half-width with a dead cell beside it — it spans the row instead. */
.gs-ff .ff-field:has(textarea),
.gs-ff .ff-field:has(input[type="tel"]) { grid-column: 1 / -1; }

/* `domain` and `score` are carriers, not questions: the page fills them from
   the audit so the notification and the confirmation can name the domain and
   the value. They are ordinary text inputs because the embed only submits
   DOM values — a `hidden` field would ship its static default instead. */
.gs-ff .ff-field:has(input[name="domain"]),
.gs-ff .ff-field:has(input[name="score"]) {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    overflow: hidden; clip-path: inset(50%);
    white-space: nowrap;
}

/* The embed's own sheet lays the label out as a column, which dropped the
   required asterisk onto a line of its own. */
.gs-ff .ff-field > label,
.gs-ff .ff-label {
    display: block;
    color: rgba(255,255,255,0.80);
    font-size: 12.5px; font-weight: 700; line-height: 1.3;
}
.gs-ff .ff-req {
    display: inline;
    color: var(--accent-soft);
    margin-left: 2px;
}

.gs-ff input[type="text"],
.gs-ff input[type="email"],
.gs-ff input[type="tel"],
.gs-ff input[type="url"],
.gs-ff input[type="number"],
.gs-ff textarea,
.gs-ff select {
    width: 100%; padding: 13px 15px;
    background: rgba(0,0,0,0.40);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 13px;
    color: #fff; font: inherit; font-size: 15px; line-height: 1.4;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.gs-ff textarea { min-height: 104px; resize: vertical; }
.gs-ff input::placeholder, .gs-ff textarea::placeholder { color: rgba(255,255,255,0.34); }
.gs-ff input:focus, .gs-ff textarea:focus, .gs-ff select:focus {
    outline: none; border-color: var(--accent);
    background: rgba(0,0,0,0.55);
    box-shadow: 0 0 0 4px rgba(0,226,143,0.16);
}

/* The embed's own honeypot must stay invisible. */
.gs-ff .ff-hp { position: absolute !important; width: 1px; height: 1px;
                overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }

.gs-ff .ff-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; }
.gs-ff .ff-actions button,
.gs-ff button[type="submit"] {
    min-height: 54px; padding: 14px 30px;
    background: var(--accent-grad); color: var(--ink-on-accent);
    border: 0; border-radius: 999px;
    font: inherit; font-size: 15.5px; font-weight: 800; cursor: pointer;
    box-shadow: 0 8px 20px -10px rgba(0,226,143,0.45);
    transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
}
.gs-ff .ff-actions button:hover {
    background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px -10px rgba(0,226,143,0.55);
}
.gs-ff .ff-actions button:disabled { opacity: 0.6; cursor: progress; transform: none; }

/* Validation and status text from the embed. */
.gs-ff .ff-error, .gs-ff [class*="error"] { color: #fb7185; font-size: 12px; font-weight: 600; }
.gs-ff .ff-success, .gs-ff [class*="success"] { color: var(--accent-soft); font-size: 14.5px; line-height: 1.55; }

/* `hidden` loses to the native form's `display: grid`, which left the
   fallback rendering underneath the embed. */
#gs-lead-form[hidden] { display: none !important; }

@media (max-width: 720px) {
    .gs-ff form { grid-template-columns: 1fr; }
    .gs-ff .ff-actions button { width: 100%; justify-content: center; }
}

/* ==========================================================================
   Step chrome: the analysis view fills the screen, panels line up, and the
   FAQ shares the promise section's measure.
   ========================================================================== */

/* ── The analysis view fills the viewport ────────────────────────────────
   Loading hides the marketing rails, which left the page short and the white
   body showing underneath. */
body.audit-step-loading .gs-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 40px;
}
body.audit-step-loading .gs-topbar { position: absolute; top: 40px; left: 0; }
body.audit-step-loading .gs-hero__inner { width: 100%; }

/* Result, request and confirmation keep a dark ground under the fold too. */
body.audit-step-result,
body.audit-step-form,
body.audit-step-thanks,
body.audit-step-loading { background: #040a07; }

/* The top bar rides above the step content on the inner steps. */
body.audit-step-result .gs-topbar,
body.audit-step-form   .gs-topbar,
body.audit-step-thanks .gs-topbar { padding-bottom: 8px; }

/* ── Item 2: the scan header and the step ticker are the same width ────── */
.gs-scanhead,
.gs-loading { max-width: 880px; }

/* ── Item 7: promise and FAQ share one container measure ───────────────── */
.gs-faq__list { max-width: 1100px; margin-left: auto; margin-right: auto; }
.gs-faq__head { max-width: 1100px; margin-left: auto; margin-right: auto; }

/* ── Item 5 responsive: hero top padding steps down with the viewport ──── */
@media (max-width: 1024px) {
    .gs-hero { padding-top: 32px; }
    .gs-hero__inner.container { padding-top: 44px; }
}
@media (max-width: 640px) {
    .gs-hero { padding-top: 24px; }
    .gs-hero__inner.container { padding-top: 36px; }
}
@media (max-width: 480px) {
    .gs-hero { padding-top: 18px; }
    .gs-hero__inner.container { padding-top: 30px; }
}

/* ==========================================================================
   Mini footer. Present on every step, so it carries the company details the
   page is otherwise missing — and the trademark note, which moved here out
   of the FAQ where it was an odd tail.
   ========================================================================== */
.gs-foot {
    background: #030806;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 40px 0 30px;
    color: rgba(255,255,255,0.60);
    font-size: 13.5px;
    line-height: 1.6;
}


/* Item 8: the closing word of the FAQ heading takes the accent, the same way
   the promise heading does. Both halves stay on one line here. */
.gs-faq h2 .line { display: inline; }
.gs-faq h2 .line--accent { color: var(--accent-mid); }

/* The analysis view centres on the viewport, so the inner top padding that
   clears the top bar on the landing state must not push it off-centre. */
body.audit-step-loading .gs-hero__inner.container { padding-top: 0; }

/* Footer links are inline text; give them a comfortable tap area on touch
   screens without changing how the line reads. */
@media (max-width: 820px) {
    .gs-foot__links a,
    .gs-foot__line a {
        display: inline-block;
        padding: 6px 0;
        min-height: 32px;
        line-height: 20px;
    }
    .gs-foot__links { gap: 2px; }
}

/* ==========================================================================
   /new variant: four steps, no package selection, a contact form where the
   offer used to be.
   ========================================================================== */

/* The offer bar is a package control; the new variant has none. */
body.gs-v-main .gs-offer { display: none !important; }
body.gs-v-main .gs-next:not(.gs-next--no-order) { margin-bottom: 0; }
body.gs-v-main .gs-next__trust { margin-top: 22px; }

.gs-nextcta { display: flex; justify-content: center; margin: 26px 0 4px; }
.gs-nextcta__btn {
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 56px; padding: 15px 34px;
    background: var(--accent-grad); color: var(--ink-on-accent);
    border: 0; border-radius: 999px;
    font: inherit; font-size: 16px; font-weight: 800;
    cursor: pointer;
    box-shadow: 0 18px 44px -14px rgba(0,226,143,0.70);
    transition: background .2s ease, transform .12s ease, box-shadow .2s ease;
}
.gs-nextcta__btn:hover {
    background: linear-gradient(115deg, #5bffc0 0%, #c6ff8a 100%);
    transform: translateY(-1px);
}
.gs-nextcta__btn:active { transform: scale(0.985); }

/* Two facts instead of four, so the summary strip should not stretch them. */
body.gs-v-main .gs-lead__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.gs-v-main .gs-business-facts { grid-template-columns: 1fr; }
body.gs-v-main .gs-business-card__top { border-bottom: 0; padding-bottom: 0; }
body.gs-v-main .gs-business-facts:empty { display: none; }

@media (max-width: 620px) {
    body.gs-v-main .gs-lead__summary { grid-template-columns: 1fr; }
    .gs-nextcta__btn { width: 100%; justify-content: center; padding: 15px 20px; }
}

/* ── FormFlow embed, restyled to the page ──────────────────────────────
   The embed ships its own light-theme markup; these rules re-skin it to the
   dark card without touching the embed script. */
.gs-ff { margin-top: 4px; }
.gs-ff form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.gs-ff label {
    display: flex; flex-direction: column; gap: 7px;
    color: rgba(255,255,255,0.80);
    font-size: 12.5px; font-weight: 700;
}
.gs-ff input[type="text"],
.gs-ff input[type="email"],
.gs-ff input[type="tel"],
.gs-ff textarea,
.gs-ff select {
    width: 100%; padding: 13px 15px;
    background: rgba(0,0,0,0.40);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 13px;
    color: #fff; font: inherit; font-size: 15px;
}
.gs-ff textarea { min-height: 104px; resize: vertical; }
.gs-ff input::placeholder, .gs-ff textarea::placeholder { color: rgba(255,255,255,0.34); }
.gs-ff input:focus, .gs-ff textarea:focus, .gs-ff select:focus {
    outline: none; border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(0,226,143,0.16);
}
.gs-ff button[type="submit"] {
    grid-column: 1 / -1; justify-self: start;
    min-height: 54px; padding: 14px 30px;
    background: var(--accent-grad); color: var(--ink-on-accent);
    border: 0; border-radius: 999px;
    font: inherit; font-size: 15.5px; font-weight: 800; cursor: pointer;
    box-shadow: 0 8px 20px -10px rgba(0,226,143,0.45);
}
.gs-ff textarea, .gs-ff label:has(textarea) { grid-column: 1 / -1; }
@media (max-width: 720px) {
    .gs-ff form { grid-template-columns: 1fr; }
    .gs-ff button[type="submit"] { width: 100%; justify-self: stretch; }
}

/* The trimmed profile card carries one fact, so it becomes an identity
   header rather than a fact table: label above, name centred and large,
   matching the weight of the score card beneath it. */
body.gs-v-main .gs-business-card {
    text-align: center;
    padding: 26px 28px 24px;
}
body.gs-v-main .gs-business-card__top {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
}
body.gs-v-main .gs-business-card__eyebrow { margin: 0; }
body.gs-v-main .gs-business-card__name {
    margin: 0;
    font-size: clamp(1.35rem, 3vw, 1.9rem);
    letter-spacing: -0.02em;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
body.gs-v-main .gs-business-card.is-empty .gs-business-card__name {
    font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.55);
    letter-spacing: 0;
}
@media (max-width: 620px) {
    body.gs-v-main .gs-business-card { padding: 20px 18px 18px; }
}

/* ==========================================================================
   Hero vertical rhythm.
   The hero is meant to be read in one screen, so its spacing scales with the
   viewport *height* rather than sitting at fixed pixel gaps: generous on a
   tall monitor, compressed on a laptop, without ever collapsing. Every gap
   below is clamp(floor, vh-relative, ceiling) on one shared scale.
   ========================================================================== */
.gs-hero {
    padding-top: clamp(18px, 3vh, 40px);
    padding-bottom: clamp(26px, 4.5vh, 56px);
}
.gs-hero__inner.container { padding-top: clamp(26px, 4.6vh, 52px); }
.gs-hero h1               { margin-top: clamp(8px, 1.6vh, 16px); }
.gs-hero .lede            { margin: clamp(14px, 2.4vh, 24px) auto 0; }
.gs-hero .lede p          { margin-bottom: clamp(8px, 1.3vh, 13px); }
.gs-gets                  { margin-top: clamp(18px, 3vh, 30px); }
.gs-card                  { margin-top: clamp(20px, 3.4vh, 36px); }
.gs-logos                 { padding-top: clamp(12px, 2vh, 20px); }

/* The top bar keeps its own rhythm so the brand never crowds the edge. */
.gs-topbar { padding-top: clamp(2px, 0.6vh, 6px); }

@media (max-width: 1024px) {
    .gs-hero__inner.container { padding-top: clamp(24px, 4vh, 44px); }
}
@media (max-width: 640px) {
    /* On a phone the hero scrolls anyway, so height-relative gaps stop
       helping and fixed, generous spacing reads better. */
    .gs-hero               { padding-top: 20px; padding-bottom: 30px; }
    .gs-hero__inner.container { padding-top: 34px; }
    .gs-hero h1            { margin-top: 12px; }
    .gs-hero .lede         { margin-top: 18px; }
    .gs-hero .lede p       { margin-bottom: 11px; }
    .gs-gets               { margin-top: 22px; }
    .gs-card               { margin-top: 24px; }
    .gs-logos              { padding-top: 14px; }
}

/* Short desktop screens (13" laptops at 1280×720, 1440×800). The clamps
   already tighten with height; this trims the two blocks that carry the most
   fixed padding so the whole hero still lands in one screen. Phones are
   excluded — they scroll, and cramping them buys nothing. */
@media (min-width: 641px) and (max-height: 860px) {
    .gs-hero                  { padding-top: 12px; padding-bottom: 18px; }
    .gs-hero__inner.container { padding-top: 20px; }
    .gs-hero .lede p          { margin-bottom: 7px; }
    .gs-gets                  { margin-top: 16px; padding: 14px 20px; }
    .gs-gets__h               { margin-bottom: 10px; }
    .gs-gets__list            { gap: 8px 22px; }
    .gs-card                  { margin-top: 18px; }
    .gs-logos                 { padding-top: 10px; padding-bottom: 2px; }
    .gs-logos__track img      { height: 44px; }
}
@media (min-width: 641px) and (max-height: 720px) {
    .gs-hero__inner.container { padding-top: 14px; }
    .gs-gets                  { margin-top: 12px; padding: 12px 18px; }
    .gs-card                  { margin-top: 14px; }
    .gs-logos__track img      { height: 38px; }
}

/* ==========================================================================
   Hero: full-bleed container, descender-safe headline, symmetric logo strip.
   ========================================================================== */

/* Full width, with the same edge spacing as the top bar so brand, headline
   and logos all sit on one margin. Inner blocks keep their own max-widths,
   so the copy stays a readable measure. */
.gs-hero__inner.container {
    max-width: none;
    padding-left:  clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
}

/* The accent line is painted with background-clip:text. At line-height 1.08
   the box is shorter than the glyphs, so the descender of "gefunden?" was
   being sliced off. Give the line room and a little padding to paint into. */
.gs-hero h1 { line-height: 1.14; }
.gs-hero h1 .line {
    padding-bottom: 0.06em;
}
.gs-hero h1 .line--accent {
    padding-bottom: 0.12em;
    margin-bottom: -0.06em;
}

/* Equal air above and below the logo strip. */
.gs-logos {
    padding-top:    clamp(14px, 2.2vh, 22px);
    padding-bottom: clamp(14px, 2.2vh, 22px);
}

@media (min-width: 641px) and (max-height: 860px) {
    .gs-logos { padding-top: 12px; padding-bottom: 12px; }
}
@media (min-width: 641px) and (max-height: 720px) {
    .gs-logos { padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 640px) {
    .gs-logos { padding-top: 16px; padding-bottom: 16px; }
    .gs-hero h1 { line-height: 1.16; }
}

/* ==========================================================================
   Full-height hero.
   On the landing and error states the hero is the page, so it fills the
   viewport: top bar pinned to the top, the copy and input optically centred
   in the space that remains, the logo strip sitting on the bottom edge.
   min-height (not height) so it still grows when the content is taller —
   which is what happens on every phone.
   ========================================================================== */
body.audit-step-idle  .gs-hero,
body.audit-step-error .gs-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}
body.audit-step-idle  .gs-topbar,
body.audit-step-error .gs-topbar { flex: 0 0 auto; }

/* The copy block takes the slack and centres inside it. */
body.audit-step-idle  .gs-hero__inner,
body.audit-step-error .gs-hero__inner {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* The strip closes the hero rather than floating in the middle of it. */
body.audit-step-idle  .gs-logos,
body.audit-step-error .gs-logos { flex: 0 0 auto; }

/* Centring supplies the vertical air on tall screens, so the fixed clear-the-
   top-bar padding would double it up. */
@media (min-height: 700px) {
    body.audit-step-idle  .gs-hero__inner.container,
    body.audit-step-error .gs-hero__inner.container { padding-top: 0; }
}

/* Below this the hero is taller than the screen anyway; keep the original
   rhythm so nothing is stretched apart on a phone. */
@media (max-width: 640px) {
    body.audit-step-idle  .gs-hero__inner,
    body.audit-step-error .gs-hero__inner {
        justify-content: flex-start;
        flex: 0 0 auto;
    }
    body.audit-step-idle  .gs-hero__inner.container,
    body.audit-step-error .gs-hero__inner.container { padding-top: 34px; }
    body.audit-step-idle  .gs-hero,
    body.audit-step-error .gs-hero { min-height: 0; }
    body.audit-step-idle  .gs-logos,
    body.audit-step-error .gs-logos { margin-top: 0; }
}

/* The hero inner is a flex column now, so its children stretch by default.
   Every block inside centres itself with max-width + margin auto, which
   survives stretching — but the chip is an inline-block pill and was being
   pulled to the full width of the hero. */
body.audit-step-idle  .gs-hero__inner > .chip,
body.audit-step-error .gs-hero__inner > .chip { align-self: center; }

/* Section rhythm on phones. 720px is where .gs-promise and .gs-faq already
   switch to their mobile padding, so these supersede those values rather
   than introducing a new breakpoint. */
@media (max-width: 720px) {
    .gs-promise { padding: 60px 0; }
    .gs-faq     { padding: 60px 0; }
    .gs-foot    { padding: 50px 0 30px; }
}

/* The reference block is hidden when FormFlow owns the submission record. */
.gs-thanks__ref[hidden] { display: none !important; }
.gs-thanks__mail:empty { display: none; }

/* ── Engine rows: brand logo left, allow/block marker right ─────────────
   Ported from ki-sichtbarkeit. The status word stays in the DOM for screen
   readers but is visually replaced by the marker. Brand colours are the
   vendors' own; ChatGPT and Common Crawl are re-tinted because their real
   marks are black on a near-black card. */
.gs-engine { position: relative; padding: 14px 14px 14px 50px; }
.gs-engine::before {
    content: ''; position: absolute; left: 16px; top: 50%;
    transform: translateY(-50%);
    width: 22px; height: 22px;
    background: var(--eng-icon) center/contain no-repeat;
}
.gs-engine__name { order: 0; flex: 1; min-width: 0; }
/* Marker carries the state visually; the word carries it for assistive tech. */
.gs-engine__status {
    position: absolute; width: 1px; height: 1px;
    margin: 0; padding: 0; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap;
}
.gs-engine__dot {
    order: 2; margin-left: auto; flex: none;
    width: 22px; height: 22px; border-radius: 6px;
    background: var(--accent); border: 2px solid var(--accent); box-shadow: none;
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box;
}
.gs-engine__dot::after {
    content: '\2713';
    position: static; width: auto; height: auto;
    border: 0; transform: none;
    color: var(--ink-on-accent); font-size: 12px; font-weight: 800; line-height: 1;
}
.gs-engine--blocked .gs-engine__dot {
    background: transparent;
    border-color: rgba(0,0,0,0.22);
}
.gs-engine--blocked .gs-engine__dot::before { content: none; }
.gs-engine--blocked .gs-engine__dot::after { content: none; }

.gs-engine--chatgpt { --eng-icon: url("data:image/svg+xml,%3Csvg%20fill%3D%22%23000000%22%20role%3D%22img%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.2819%209.8211a5.9847%205.9847%200%200%200-.5157-4.9108%206.0462%206.0462%200%200%200-6.5098-2.9A6.0651%206.0651%200%200%200%204.9807%204.1818a5.9847%205.9847%200%200%200-3.9977%202.9%206.0462%206.0462%200%200%200%20.7427%207.0966%205.98%205.98%200%200%200%20.511%204.9107%206.051%206.051%200%200%200%206.5146%202.9001A5.9847%205.9847%200%200%200%2013.2599%2024a6.0557%206.0557%200%200%200%205.7718-4.2058%205.9894%205.9894%200%200%200%203.9977-2.9001%206.0557%206.0557%200%200%200-.7475-7.0729zm-9.022%2012.6081a4.4755%204.4755%200%200%201-2.8764-1.0408l.1419-.0804%204.7783-2.7582a.7948.7948%200%200%200%20.3927-.6813v-6.7369l2.02%201.1686a.071.071%200%200%201%20.038.052v5.5826a4.504%204.504%200%200%201-4.4945%204.4944zm-9.6607-4.1254a4.4708%204.4708%200%200%201-.5346-3.0137l.142.0852%204.783%202.7582a.7712.7712%200%200%200%20.7806%200l5.8428-3.3685v2.3324a.0804.0804%200%200%201-.0332.0615L9.74%2019.9502a4.4992%204.4992%200%200%201-6.1408-1.6464zM2.3408%207.8956a4.485%204.485%200%200%201%202.3655-1.9728V11.6a.7664.7664%200%200%200%20.3879.6765l5.8144%203.3543-2.0201%201.1685a.0757.0757%200%200%201-.071%200l-4.8303-2.7865A4.504%204.504%200%200%201%202.3408%207.872zm16.5963%203.8558L13.1038%208.364%2015.1192%207.2a.0757.0757%200%200%201%20.071%200l4.8303%202.7913a4.4944%204.4944%200%200%201-.6765%208.1042v-5.6772a.79.79%200%200%200-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759%200%200%200-.7854%200L9.409%209.2297V6.8974a.0662.0662%200%200%201%20.0284-.0615l4.8303-2.7866a4.4992%204.4992%200%200%201%206.6802%204.66zM8.3065%2012.863l-2.02-1.1638a.0804.0804%200%200%201-.038-.0567V6.0742a4.4992%204.4992%200%200%201%207.3757-3.4537l-.142.0805L8.704%205.459a.7948.7948%200%200%200-.3927.6813zm1.0976-2.3654l2.602-1.4998%202.6069%201.4998v2.9994l-2.5974%201.4997-2.6067-1.4997Z%22%2F%3E%3C%2Fsvg%3E"); }
.gs-engine--claude { --eng-icon: url("data:image/svg+xml,%3Csvg%20fill%3D%22%23D97757%22%20role%3D%22img%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m4.7144%2015.9555%204.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608%201.5179.1032%202.2767.1578%201.6514.0972%202.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973%209.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686%201.9064%201.4754%202.4893%201.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335%206.6997%200l.9957.1336.419.3642.6192%201.4147%201.0018%202.2282%201.5543%203.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853%201.8517-.5586%202.9021-.3643%201.9429h.2125l.2429-.2429.9835-1.3053%201.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759%201.1293-.34%201.1657-1.0625%201.3478-.8804%201.1414-1.2628%201.7-.7893%201.36.0729.1093.1882-.0183%202.8535-.607%201.5421-.2794%201.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607%201.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929%201.0686%202.0035%201.8092%202.5075%202.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496%202.3436%203.5214.1214%201.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38%2017.959l-1.1414-1.9428-.1397.079-.674%207.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328%201.9672-2.1796%202.9446-1.7243%201.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889%202.386-3.0357%201.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385%204.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429%201.9064-1.3114Z%22%2F%3E%3C%2Fsvg%3E"); }
.gs-engine--gemini { --eng-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0iTGF5ZXJfMSIgdmlld0JveD0iMCAwIDE5MiAxOTIiPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcHBhdGgiPjxwYXRoIGQ9Ik0xNjQuOTMgODYuNjhjLTEzLjU2LTUuODQtMjUuNDItMTMuODQtMzUuNi0yNC4wMS0xMC4xNy0xMC4xNy0xOC4xOC0yMi4wNC0yNC4wMS0zNS42LTIuMjMtNS4xOS00LjA0LTEwLjU0LTUuNDItMTYuMDJDOTkuNDUgOS4yNiA5Ny44NSA4IDk2IDhzLTMuNDUgMS4yNi0zLjkgMy4wNWMtMS4zOCA1LjQ4LTMuMTggMTAuODEtNS40MiAxNi4wMi01Ljg0IDEzLjU2LTEzLjg0IDI1LjQzLTI0LjAxIDM1LjYtMTAuMTcgMTAuMTYtMjIuMDQgMTguMTctMzUuNiAyNC4wMS01LjE5IDIuMjMtMTAuNTQgNC4wNC0xNi4wMiA1LjQyQzkuMjYgOTIuNTUgOCA5NC4xNSA4IDk2czEuMjYgMy40NSAzLjA1IDMuOWM1LjQ4IDEuMzggMTAuODEgMy4xOCAxNi4wMiA1LjQyIDEzLjU2IDUuODQgMjUuNDIgMTMuODQgMzUuNiAyNC4wMSAxMC4xNyAxMC4xNyAxOC4xOCAyMi4wNCAyNC4wMSAzNS42IDIuMjQgNS4yIDQuMDQgMTAuNTQgNS40MiAxNi4wMkE0LjAzIDQuMDMgMCAwIDAgOTYgMTg0YzEuODUgMCAzLjQ1LTEuMjYgMy45LTMuMDUgMS4zOC01LjQ4IDMuMTgtMTAuODEgNS40Mi0xNi4wMiA1Ljg0LTEzLjU2IDEzLjg0LTI1LjQyIDI0LjAxLTM1LjYgMTAuMTctMTAuMTcgMjIuMDQtMTguMTggMzUuNi0yNC4wMSA1LjItMi4yNCAxMC41NC00LjA0IDE2LjAyLTUuNDJBNC4wMyA0LjAzIDAgMCAwIDE4NCA5NmMwLTEuODUtMS4yNi0zLjQ1LTMuMDUtMy45LTUuNDgtMS4zOC0xMC44MS0zLjE4LTE2LjAyLTUuNDIiIGNsYXNzPSJzdDAiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iY2xpcHBhdGgtMSI+PHBhdGggZD0iTTE2NC45MyA4Ni42OGMtMTMuNTYtNS44NC0yNS40Mi0xMy44NC0zNS42LTI0LjAxLTEwLjE3LTEwLjE3LTE4LjE4LTIyLjA0LTI0LjAxLTM1LjYtMi4yMy01LjE5LTQuMDQtMTAuNTQtNS40Mi0xNi4wMkM5OS40NSA5LjI2IDk3Ljg1IDggOTYgOHMtMy40NSAxLjI2LTMuOSAzLjA1Yy0xLjM4IDUuNDgtMy4xOCAxMC44MS01LjQyIDE2LjAyLTUuODQgMTMuNTYtMTMuODQgMjUuNDMtMjQuMDEgMzUuNi0xMC4xNyAxMC4xNi0yMi4wNCAxOC4xNy0zNS42IDI0LjAxLTUuMTkgMi4yMy0xMC41NCA0LjA0LTE2LjAyIDUuNDJDOS4yNiA5Mi41NSA4IDk0LjE1IDggOTZzMS4yNiAzLjQ1IDMuMDUgMy45YzUuNDggMS4zOCAxMC44MSAzLjE4IDE2LjAyIDUuNDIgMTMuNTYgNS44NCAyNS40MiAxMy44NCAzNS42IDI0LjAxIDEwLjE3IDEwLjE3IDE4LjE4IDIyLjA0IDI0LjAxIDM1LjYgMi4yNCA1LjIgNC4wNCAxMC41NCA1LjQyIDE2LjAyQTQuMDMgNC4wMyAwIDAgMCA5NiAxODRjMS44NSAwIDMuNDUtMS4yNiAzLjktMy4wNSAxLjM4LTUuNDggMy4xOC0xMC44MSA1LjQyLTE2LjAyIDUuODQtMTMuNTYgMTMuODQtMjUuNDIgMjQuMDEtMzUuNiAxMC4xNy0xMC4xNyAyMi4wNC0xOC4xOCAzNS42LTI0LjAxIDUuMi0yLjI0IDEwLjU0LTQuMDQgMTYuMDItNS40MkE0LjAzIDQuMDMgMCAwIDAgMTg0IDk2YzAtMS44NS0xLjI2LTMuNDUtMy4wNS0zLjktNS40OC0xLjM4LTEwLjgxLTMuMTgtMTYuMDItNS40MiIgY2xhc3M9InN0MCIvPjwvY2xpcFBhdGg+PHJhZGlhbEdyYWRpZW50IGlkPSJyYWRpYWwtZ3JhZGllbnQiIGN4PSItMTIyLjQ5IiBjeT0iLTIyMy41MyIgcj0iMTEwLjk4IiBmeD0iLTEyMi40OSIgZnk9Ii0yMjMuNTMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLS41NCAwIC0uOTMpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMzEiIHN0b3AtY29sb3I9IiMzMTg2ZmYiLz48c3RvcCBvZmZzZXQ9Ii40MiIgc3RvcC1jb2xvcj0iIzQ0OTFmZiIvPjxzdG9wIG9mZnNldD0iLjQ1IiBzdG9wLWNvbG9yPSIjNGM5NmZmIi8+PHN0b3Agb2Zmc2V0PSIuODEiIHN0b3AtY29sb3I9IiNlN2YxZmYiLz48c3RvcCBvZmZzZXQ9Ii44OSIgc3RvcC1jb2xvcj0iI2ZmZiIvPjwvcmFkaWFsR3JhZGllbnQ+PHN0eWxlPi5zdDB7ZmlsbDpub25lfTwvc3R5bGU+PC9kZWZzPjxnIHN0eWxlPSJjbGlwLXBhdGg6dXJsKCNjbGlwcGF0aCkiPjxpbWFnZSB4bGluazpocmVmPSJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80UzUrYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3THdBOFAzaHdZV05yWlhRZ1ltVm5hVzQ5SXUrN3Z5SWdhV1E5SWxjMVRUQk5jRU5sYUdsSWVuSmxVM3BPVkdONmEyTTVaQ0kvUGdvOGVEcDRiWEJ0WlhSaElIaHRiRzV6T25nOUltRmtiMkpsT201ek9tMWxkR0V2SWlCNE9uaHRjSFJyUFNKQlpHOWlaU0JZVFZBZ1EyOXlaU0E1TGpFdFl6QXdNeUF4TGpBd01EQXdNQ3dnTURBd01DOHdNQzh3TUMwd01Eb3dNRG93TUNBZ0lDQWdJQ0FnSWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenA0YlhCSFNXMW5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Wnk5cGJXY3ZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenBwYkd4MWMzUnlZWFJ2Y2owaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXBiR3gxYzNSeVlYUnZjaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbmh0Y0UxTlBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZiVzB2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwemRFVjJkRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDNOVWVYQmxMMUpsYzI5MWNtTmxSWFpsYm5RaklqNEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwRGNtVmhkRzl5Vkc5dmJENUJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXlPUzQySUNoTllXTnBiblJ2YzJncFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ESTFMVEEyTFRJMVZERXhPakU0T2pJeExUQTNPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcFVhSFZ0WW01aGFXeHpQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1Pa0ZzZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHg0YlhCSFNXMW5PbmRwWkhSb1BqSTFOand2ZUcxd1IwbHRaenAzYVdSMGFENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSGh0Y0VkSmJXYzZhR1ZwWjJoMFBqSTFNand2ZUcxd1IwbHRaenBvWldsbmFIUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHg0YlhCSFNXMW5PbVp2Y20xaGRENUtVRVZIUEM5NGJYQkhTVzFuT21admNtMWhkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhodGNFZEpiV2M2YVcxaFoyVStMemxxTHpSQlFWRlRhMXBLVW1kQlFrRm5SVUZCUVVGQlFVRkVMemRSUVhOVlIyaDJaRWM1ZW1GSE9YZEpSRTExVFVGQk5GRnJiRTVCS3pCQlFVRkJRVUZDUVVGQlFVRkJRVUZGUVNZamVFRTdRVkZCUVVGQlFVRkJVVUZDTHlzMFFVUnJSbXRpTWtwc1FVZFVRVUZCUVVGQlppOWlRVWxSUVVKblVVVkNRVlZGUW1kVlJrSm5hMGRDVVZsS1EzZG5SMEpuWjB4RVFXOUxRM2R2U3lZamVFRTdSRUpCVFVSQmQwMUVRWGRSUkVFMFVFVkJPRTlFUWsxVVJrSlJWRVY0ZDJKSGVITmpTSGc0WmtoNE9HWkllRGhtU0hkRlNFSjNZMDVFUVRCWlJVSkJXVWRvVlZKR1VtOW1TSGc0WmlZamVFRTdTSGc0WmtoNE9HWkllRGhtU0hnNFpraDRPR1pJZURobVNIZzRaa2g0T0daSWVEaG1TSGc0WmtoNE9HWkllRGhtU0hnNFpraDRPR1pJZURobUx6aEJRVVZSWjBFdlFVVkJRWGRGVWlZamVFRTdRVUZKVWtGUlRWSkJaaTlGUVdGSlFVRkJRVWhCVVVWQ1FWRkZRVUZCUVVGQlFVRkJRVUZSUmtGM1NVZEJVVUZJUTBGclMwTjNSVUZCWjBsRVFWRkZRa0ZSUlVGQlFVRkJRVUZCUVNZamVFRTdRVkZCUTBGM1VVWkNaMk5KUTFGdlRFVkJRVU5CVVUxRVFXZFJRMEpuWTBSQ1FVbEhRVzVOUWtGblRWSkNRVUZHU1ZKSmVGRldSVWRGTWtWcFkxbEZWVTF3UjJoQ2VGZDRVV2xRUWlZamVFRTdWWFJJYUUxNFdtazRRMUo1WjNaRmJGRjZVbFJyY1V0NVdUTlFRMDVWVVc1ck5rOTZUbWhrVlZwSVZFUXdkVWxKU205TlNrTm9aMXBvU2xKR1VuRlRNRlowVGxaTFFuSjVOQzlRUlNZamVFRTdNVTlVTUZwWVYwWnNZVmN4ZUdSWWJEbFhXakpvY0dGdGRITmlWelYyV1ROU01XUnVaRFJsV0hBM1prZ3hLMll6VDBWb1dXRklhVWx0UzJrMGVVNXFieXREYXpWVFZteHdaVmx0V2lZamVFRTdjV0p1U2pKbGJqVkxhbkJMVjIxd05tbHdjWEYxYzNKaE5uWnZVa0ZCU1VOQlVVbEVRbEZWUlVKUldVVkRRVTFFWWxGRlFVRm9SVVJDUTBWVFRWVkZSbFZTVG1oSloxcDRaMXBGZVNZamVFRTdiMkpJZDBaTlNGSTBVMDVEUmxaS2FXTjJSWHBLUkZKRVoyaGhVMVY1VjJsWk4weERRak5RVTA1bFNrVm5lR1JWYTNkblNrTm9aMXBLYWxwR1IybGthMlJHVlRNNGNVOTZkM2xuY0NZamVFRTdNQ3RRZW1oS1UydDBUVlJWTlZCU2JHUlpWMVp3WWxoR01XVllNVkpzV20xa2IyRlhjSEppUnpGMVlqSlNNV1J1WkRSbFdIQTNaa2d4SzJZelQwVm9XV0ZJYVVsdFMyazBlVTVxYnlZamVFRTdLMFJzU2xkWGJEVnBXbTF3ZFdOdVdqWm1hM0ZQYTNCaFlXNXhTMjF4Y1RaNWRISnhLM1l2WVVGQmQwUkJVVUZEUlZGTlVrRkVPRUU1VlRSeE4wWllXWEUzUmxoWmNUZEdXRmx4TnlZamVFRTdSbGhaY1RkR1dGbHhOMFpZV1hFMmRVdDBWbmhUTVZoQmNsSmlSa3hZVEVaaFlUVTBjSEIyYkdscGJrSnpWbkJrV0VaRVpHTkxkWGhXZGtaRWMxWmthWEp6Vm1ScGNuTldaR2x5Y3lZamVFRTdWbVJwY25OV1pHbHljMVprYVhKelZtUnBjbk5XWkdseWMxWmthWEp6Vm1GNFV6UTBjWE5NV1VWeVIyWkJhMEpaTUhWRE1sRnBjSFJPYW1KSlVsY3JkVTFHY0RSWVEyTlpNblpEY1NZamVFRTdURTVvZEdsWmNXbDVXV0paYTB0bllrTjRXRUUwYjJKM2NUTnBhREpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVlBTM1JGTkNZamVFRTdjRmRHYzBOV1NqVkxXVXhhWjBsbFUyTkVkbXRUVjNsTlZVaE1aWEZQSzFGTmJUWlBUa0o1Tm10dk56VkZlbUp2TkZWUFpGWlllSGxRUnpKbFFYVlVWa1pLTmpRNFlVUm5VbU5QYnlZamVFRTdRVGs0YlVwT1RYTlRUMmgxVVRObVNtZDBSVzlKZFU5VGRWTjBjVWxXYkdKS1RVTkdORTlNUm5aRGNtVkxTRmx4TjBaWVdYRTNSbGhaY1RkR1dGbHhOMFpZV1hFM1JsaFpjVGRHV0NZamVFRTdXWEUzUmxoWmNUZEdWM05WY2xkUFFrdHBOemRaUTNwQlVWWjRUMFpDTTNsQ1RHUkRRMVpZWkN0eE1UTjVjVlZ1VEhnMGEydDFPVlZCU2l0TVMxcFVZek5JWjFOdE5ERmpZaTlHYkNZamVFRTdVbTAxWTA1UFp6SXhhbVkzVjFFNFVuWkhibGhTWVhoMk9YSkRTbk5hWVdST1RGQldVVk5RYVhsNVRUTkhlVmxGTDNOeU9FMUNkbTFTUjFSeU9HMUtUM0poTkVSQllqVmpRelJOTkNZamVFRTdielpPT0cxSFoyaFlWbk5NUW1WRWFGRXlUVlZQZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0Vm5oNFZtODBjRlZhUjI5TmFWZFpRME4xU2lZamVFRTdkMjlQSzFGS1ltOVNVMHhWVGxGRFp6YzFWRXRVYmpSelZFZGtVakZYYkdacGVrZHVUakpsU0VGNE1qZ3hVV3R1Wmt0S1ZHUnFhbmRLVms1eFJFVTVZM0ZOYmt4cWFWRjRkbGR5TVNZamVFRTdlVkJGTWtSSGRtcDJiVUkyTkZKS1JYTlRXakpYYjA1NVJ5dFhlR3MwYlZoRmVXcFVUbEV5Unl0YVZVTTJjbEJxV2xSWldHeFJUamg1TkU5d2VYaFViVWRqUjIxWVFVOUdTa2RLU3lZamVFRTdUVTVPVWxac1prUlVSbVZFYVdoa1dFRnljMVprYVhKelZtUnBjbk5XWkdseWMxWmthWEp6Vm1ScGNuTldaR2x5YzFaa2FYSlNlRk56WkhGYVJXeEpRMFYxU21kdlQxRk5iVFpGVlNZamVFRTdhVEZETDBOb2MzQnNUbnB6VjA1cFQzRTJjakY2UjI1T01pdEVRM2hoTHpGSmMxUnRUa3RVZEdOWFJrbzFjbTl6WTNCS1kzbE5SVTB3Y0U5U2RIUkZWbTVOTkVVd2RWWjZhRU5EUlNZamVFRTdXR0pVYTAxTmRHYzBLMUZOYWpCNU4wbHdiV1JwYVRabVZVSnNaVzB6ZFhkNldWazBUMnA2YkZBM1lUbEhNaXRhUVhoMWRXNUtUVWx5YzJWUFNHZGhWRXBHZUROSmQwZE1SekJUYXlZamVFRTdiMDlTVFZaMFYwUm5OVWRyY21kalExYzRRM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll4WTBOeVIyRnRVa3BhUVVsWFlXRnNaRGh3YkU1emFrWktkRkYyVHlZamVFRTdTMjVtVFZkbFducE5WMDVwVjNFMloyWnBNM3BJYkd4a2RHZDRUVkF4U3psWmF6YzFWVnAxTlhjME1HdHViVXBQVm10MVpFTkxSMXB4TlVaMVFWYzBjR1JuVm5OYVNVMVRjbmR1TkNZamVFRTdjM2xOWTFoR2VYbFViWGhyU1hCdE1YZFpNMUkyY2tsNVEzaDFhVUZPT0RKMVRFVTRMM0ZOYVdOUldEVklaazF2V1ZoWVUzbEtha1J4VUhacFkweFRXbThyUkZWUVprdDZhVko0Y0NZamVFRTdha0psVmpjMVZFeEhlVVZyWmtaalZuQjJiRXBwTWtOVFMxTlRkVlpyVFdkV1VVaEpjRmhaUlhWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa0pXYWs1VVNWTk1TVUpEZWlZamVFRTdWRlZIV1N0VVNsUmlSMHRXV0d3MVVVaG1UbVpzZW5WV2FuaHpXakZVVlU1cWRtMTJiSEZJV2xsTlZFVk9VM1pUVXpJclFWcE1aSFpvZUUxa2RYQnBla2hNUVZoYU5EUnZTakp5YXlZamVFRTdiVGhDV21sNVpHbHljMHRHZDNsNVNXRTFlVlp2YUhadGQzZFpjbVJpY1UxMFFrMXlXbkZFVGpkd2MwUjZaWEo2Y0d4Q1l6aGhZalYxVFZkQ01FZG1UV2xyZG1sUEsxcEpkM1ZFVENZamVFRTdTMmx2ZEZOUWFtbGpURlZqYVU5ME9WVTVPSEpzYUZWYVJUTjBUbFJ5VkdaTllXVkdjMnByVkcweGRuZGhZalZwVkhoT09GcHdjbUl6VVVrMk5XbDVaek5EVTA5cWJFSjVhMmh6UWlZamVFRTdWbWRqWjJ4a1oxTTNSbGhaY1RkR1dGbHhOMFpZV1hFM1JsaFpjWFJaTlVWc1NWRXdNR3hDYlU1cmJUSjRRMVl6WkhoVGRTdGhlazVzWTIxRlJXaDJOM0p5ZG0xd2VscHVVSGhSV1NZamVFRTdkbkZrZVZSWVRVdFBVek5oV1ZsTldYWmFVMU5qZVRoYVpIQnBhV3hOY2xaUFdtdFlUV2xHUVRWT2JUZEdUSE5MUjNkTmEwRjRTbGhMVGpoNU9FOVBNMFI2V2t0U1JWTTFkVGxNWnlZamVFRTdaRUp4T1ZGcE5IcFJXakJQYm5kMlRXRnlUM0pEVjIxaVUwZE9NVWRVU1RjMmVEYzFZMDFpYVhsdE1uUXhWSFpyZGtSaGVrNUZkek14VHl0V2VYaHllSEJ1WVdGb01ETjZTRzVwWWlZamVFRTdTWHBVSzNreFJHTmlOV2hhVFZScmVHMTVRM2wyVVZGT09IZE5iVTU1V1ZSVWNURjFRVkZPT0hjMWVHSTBiRTFKTTNKc1FrUmhRM0pCTlVKTVpVSk1jMVprYVhKelZtUnBjbk5XWkNZamVFRTdhWEpxWjFaVGEySmlTelZzYlVWMWRUVmhRVFZ5Y3pnelNXaEdTVGN5WXpjMWNFNVNiR016U0VaSmNqSlZiWFZoY2twcll5OUlSbXAxYjBWdGRWRjRiREpQU21veE0xZHdlbGswYVNZamVFRTdOMGhIYkRCbk0zcE9hVmhMYVhCVmVXSktNMGhEZEhKbmRWTkJXVWRUTkVsamVYTmxUek5HZVRWaFdIRnRZbXBVWVdRd2RYRXhWa3Q1YVcxa1JIQjBUemg2Y1RsVmNXTnpNMWRNUmlZamVFRTdWRzlqTW1FeGNHdDZUR3BDZDFwVVYwNUtiR2RwTVVkVE16RlVhM1ZHYUhoTWEyNXdaMDFXTkd0YVFtUnJSV0kxVkV4SGVVVnJOWE0zTkRGSEsxbHRWRWMxUlZwemF6QTJMM2REYlNZamVFRTdLMkV2VEdwamNVVXlVelptWkRGQk0zcFhOVmxQV0VOVFpUSTRkR0ZhYUZOcE5VVlRhbFZoYjNscmRHZFdUV2xzTWt0MWVGWXlTM1Y0VmpKTGRYaFdielJEYkVSNlNGazFhalZEZWlZamVFRTdhV3hHTmk5WVRsSnhXazlhYWtOU1dHdG9NM3BTV2pWUFpHcERWRE5LU25KdGRHeEtla2xLVUdWU2F6RjVWVU0xYlUxd1JtUlJiWEI2VDNoNll5OUlTa3hhV1ZSWVRUSk5NMHRxU2lZamVFRTdVemxKTldGS2MzVktjMUZ1U21sVVExZFNaVWxVYlZacGFtSnBOV00wUXpjd2NWcDFUazVuZERGSGNERlJaRk50WkVod1pFMDRNM0U1VnpCWGNHMDNkelJoWkVSdWVqSjBURFZ1VWlZamVFRTdaellyWXpGb1preFJSMnQ1VjBaemJsUkJiR0o1ZUZKaVp6SkxSbEphUTAxQ1EySlVUekoxUTBOT09IaHdkMkp2ZVZwQ2NERXlaSFE0ZDJOelNFcG9TbXhYYkROV1lXSTFjVGd3U0NZamVFRTdUWGg1V2xCYVZGWndiWFI1VW1OMVNsUmhSbkZxVFZkUlluZHBUWEphVDNoV01rdDFlRll5UzNWNFZqSkxkRWh3WjB0VlRsQXdUMWt5VW5OcGEzUTVNM3BUTm14NlkxTlJNMlZoVENZamVFRTdUelV5VGt4YVVsaE9aRXA1YjI5SFpVdHZkMUpNWmtkVFYxUXliR0UzV210M2JUVk5UV2xCYkhOMEsyMWFUV055WlUxeGFXSklNbmt3V2xWdVRURTVWWEJ0Vm1sc1ltcGFUbEpVYWlZamVFRTdRVUp0T1RCdFR6TlZZVzVYUzAxcFFWb3hSMnQzVDJjeFQzTjBSRTlSVFRaTVFtbGtTRzE2TW05Tk1tSkRSVWhCYms4eGFHSk1aMGR2YkdGVWFGa3lNVmhEYUhKR1dGbHZZbkpwY1NZamVFRTdUR2hsYUVkV1UwUlpRMjVXYUV0a2MzYzRjMWNyUWxwV2NGVXpWR1pPV201cE5XMU5jM1F3SzFOMFRURlhWVTlrUVhBNVluUnpUWGRhVDFKR1J6VlRNazk0VmpKTGRYaFdNa3QxZUNZamVFRTdWakpMZEVoQlZXOWxXV0pJVFdaSlIyTlZiM1pWTmpWeFRsUkdlazFhVTBjM2FqWTFiM000V0U5NGJFeEtWak42VjFSRWJGSkxTRnBMTlZSaVdVTndUbUpuTlUxVFdrTmhhVEZyUkNZamVFRTdNbmxaYlc1NFZrWTNTVVIwYkRCS2RHTTROa1Z0WjBNeE1ucGFObGwxZEhvMmJFRlVRMjFrV205Qk5raFZObTl2UzFrMU1USnJhVWhVTldONFMwTnNZbVpPTjJsRWFIbHVZV2Q0ZWlZamVFRTdURUZoVTFad1QxTlJNV2x5YzFWUGVGWXlTM1Y0VmtWU1NHTmFRWE4zYlRGcFpIaHRUR3RpYjAxeE1HdHRiM3BYV2pOTmVITjNNREE1VFRGSFZucHZUV2gwWldkNlFXMDFWVlZtYkNZamVFRTdSRmszUmxoWmNUZEdXRmx4TjBaWVdYRTBORVpWY0VZeWVYRlpXbWR3WW1SNFZrSjZXRm8wVDFKRFUxTXphMEo2VXpacVJUVjFUMU5WZW5kRlNFNVViSGgxV0VkVFJrMWxXVXBFV2lZamVFRTdlRTlEUkVKVVJYcGlUV1ZUUVdGd1drWkhWMHhpY0d3d1FUUjFWRXRzYkRGRlpEZ3lkVzFNY1RnclVrcHliRk5EWXpaeVVUVkxaRXh0YTJ3d01XUTROamRTTlVoWWVrdEZhMGRpTHlZamVFRTdRVUY1WVdsdlRtMWFSWE5HZFZSUk1XbHljMVprYVhKelZtUnBjVWxwUnpSNVJXMVpWR1Y0V0dOYWFWcERNMUZhVm5CTE9VMHhiV04xWW1wYWFuQjVPVTB4VDFWMVpFSnJSbk5PYUNZamVFRTdiVUpPZVZsdk4wdEhlREpMZFhoV01rdDFlRll5UzNWNFZqSkxjbGRIVWtsVFJVNU9TRlZhYWxwSlRuTlRiSFI2WWtFMWNtTXlSbmxKVkZOeE5IUmxkV0Z1VUdkamNVOVNURnBaU3lZamVFRTdXbkZhTkZjemVFWkJjbFJMYW1waGNGcElSRVZTWVVwYVNGQkhRMDF6YVVkcFkydENaRkZpU0UxNlJFdHVRbmx3U21WWE9VTmpNekpyZVRBMmRreEdTamR0VDJoUFpGWnZjemRuZWlZamVFRTdRMEpyV0U5dE1DdFdjRXRuZVRWMFkyTXlRMjFTYkRSTFIzRlpWbVIyYVdoeVJsaFpjVGRHVlZwRGRuaEVTM0JHYzBGVWJsUTBPWGh0U0d4TVprRk5kREJ0VUhCdGNucHNlbU5aV2lZamVFRTdaSEEyWkUweFYxVjFZa0ZLTjJKcVdWcG5lV05yU1haTGJXSnpWbVJwY25OV1pHbHljMVprYVhKelZtUm5WbGw1TVhsRmIzTm5WVkJNUTBOTmIyNXFkRzFLU1VNMGRHUnFkRzFFYkNZamVFRTdkMDUzZVVwUVpWY3ZSM1V5WVhaS2NHdHVTMnM0TDNkck5XaFVkMVV3VTNwTFNXeEdZM2cxV1RKMmVGWmtXRUpIVmpoTVRHcDBWRzFXVTAxeloxZDFZVlF6YTFFemVscFpTakEyTHlZamVFRTdTMFZwZGtrMlJUVXdWMnA2VDNWNVFrczFWak42Y1dSTWJtTlpjVUpUY0hwbFdXTjZRbTkzYmsweVQxSmhZVTFDZVRCVVYyeHdhRTlUTkd0Vk1UWk1aVWRRUlhSUE9VWjJSRWhwVnlZamVFRTdia05GTkRoVE1HMU5SblZoYW1KTlpWVXlNRkpVZWxRM1l6ZGlXbWhhV25WU1EweExkRXRuY0ZSaVRscHRhelZ0VFUxeWMxazJRVnB4T0doak1rRlVhVVZpV21sVFluZHBUWEphVHlZamVFRTdlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1YzUzNSYVkwSkRZbEU0TUdVeVZsTm5ka1ZyZFc5dlFVUnRTR3Q0VGxVMWMxZDJiVFJyTldkYVkweG9lWGx3VlRGNVFUTllUVVJLYVNZamVFRTdXVVJOYVVseWMyVlBXV3R6WW1aSVRYRkhOVUpJV0VscFJFMDFWVVJrVTJjeGVrdDRRbmhqYXpCcmRrZENjbTAwTURCeFpHWnJTMVo1T1dNMlJGUmFia2RLVlRGWGNIcGxXV00zUmlZamVFRTdSWGgzVmtoVVRtaEVUM3BCVWtOWFVtSjBiVkZOZWsxU1dDOXZNRzUwYkdkNlNqUkhkakJaWmtSRU5Ia3JSekVyYVhvMFdTdE5kbWh5YkRCekswZEJOV3NyUjJvMFRsQmhieko1YlNZamVFRTdWMVp6UlVVMWMySkZhVzB5V1dWVVNUVkZTVTFxTURZeVNYQjBiWFo1ZW1OeFJWZFJNbk5rUzFwblZFeHJlRU5hVW1waVRXTjBiMVpqWjNsa2FYSnpWbVJwY25OV1pHbHljMVprYVNZamVFRTdjbk5XWkdseWMxWlZjRkowYTFORlJrcGtWRWgzYmt0d1VtTllTMWRIWVc5VFF6SlpiVk5FY21OcmJVOVlSWGhFU0daTlJFcHFZMk0xUm5GWWFFaG1UVmRYU201SVRYRnBLekkyTlNZamVFRTdXRFJVV2pSNWFreGtNVGMxV2tkRVExZFdRVlI1TVhwTmVHSlBVRXRUUTJNeFQySk1SbXR3Y0VwaWFWaG1UbTVwZW05VVYzcG5OVlY2V1ZrNVVUTlJWSFV4YzA5UlJ6SmFWV00zYkNZamVFRTdVV2xxYXpCeGJ6WmFXVTAzWTAxaEx6bEZaalZQVXpoa2JEUmlkakJTTjFrclQzWm9jbXd3YWpKM1NFOXVkekJXUm5CV1JEQjVkVmRhYlUxaFdUSXlibFUzV21wNmVYUnJXVXAwWVNZamVFRTdNblpIYlRKWmN6VjBPRmx3YmtSR1ZFMWhVbUpSUlZOdmVXOXpNU3RDVEhOV1pHbHljMVprYVhKelZtUnBjbk5XWkdseWMxWmthWEY1VkhCblVWVnVNVVpMY1dObldFWjVhR2hsY2lZamVFRTdlRzF5V21wNlJIRTRiMWxzWlRGRVNFMVRZMWhEYTFWRFdsTk5lSEJSVW5oUEszTkllSGxJUVc1cFYyMWpia05KYnpSc1NqTnliSE5YU2t0dFpEaDJha3BEZEVGMmVGcHNVWGxMYmlZamVFRTdLMjVSTVhCMGJXSkVTek0wZDNsMlZISk5SVVJpVFhGUFZqSkhTMHRrVVRabFMyUk5jMGRXZWtKQ1YwZHVSSGQzSzB0NU5FY3ZNR05RUkVRMGNUaEVXVEEwWlVkRWVGVTRRM0ZzWnlZamVFRTdRako1U25sd05FVlNTR0ZCWkhOeVRUSlphV2x2TkVGTmNrMXRVVU5KVm1GYVYxTjZXR2RaUlhRMFJtUnBjbk5XWkdseWMxWmthWEp6Vm1ScGNuTldaR2x5YzFaWGRVNXpWVXBrWmlZamVFRTdVakZWTlVWMFIxRk5VekZsTXlzeGJFMW5Oak5PUm1obGNGRXdXVFZxVkVSeVdtaEtjRlpKVDFrNFp6RnhTa3A1ZFd4WGF6UXdjbkUwVm1KVlZrOVVRMjk1TVdweGQzazJRMmhzUnlZamVFRTdhekk1WVZwc1VVeHNOR2Q2VUZNM1kyTldNbnBKYVZoYU5HOXdPVVJCUzJSTmN6UnVUV2xHWWpCR09FMVFSWHB3TTI5cVNHbFhiUzlTU0docWVFeFVXV2xIUkdsVVV6UlNha0poTUNZamVFRTdka00wVEZNeVFtZFRNMmx5YzFaa2FYSnpWbVJwY25OV1pHbHljMVprYVhKelZtUnBjbk5XWVVsNFZrUllSV1pKU0VGWGRWRlRSRlZ5U1hOSGVYRlVhRFZOVm5OUE1XSlVWek5QV1NZamVFRTdPRE5ZV2sxQ1dYcGtNbFJMWTNnMVQweE1SbE5ZVUVWUlkzSk1XSGR4V2tKM1NYQnpTMVJwZEVzNFRVSlpOVWxOYUVNd05EQXZWREphYUd3d1Z6WkhSV3hzSzJ4aFkzZEJObHByZUNZamVFRTdZemRHWjFwYVdWZDRWbEpzTkdSb2FtaFRZWGh3VVZwT2VVRkdVMjFMV0ZWM2NHUlVSbGhWZDBzelZFWllXWEUzUmxoWmNUZEdXRmx4TjBaWVdYRTNSbGhaY1RkR1dGbHhOMFpZV1NZamVFRTdjVGRHV0ZseGMyUmhha0ZuY0daa1VWWkNNbmxLUkZaSlRXSXhUM2x4UkhSc1JXOTFTbXRuZUZoVllrRTNOMXBxZVdrMFQxTkRVVE5HYjFGbGJWWkZUMDVMUzBWaE0yRjJWRWt3TVNZamVFRTdPRXMxVEZwcFpXMU9Ta1ZWZVhNM1NtbFNkR3huYVROUlozbFVWRXhCTVVjeVdGSnBOV1ZQUkVzNVVIUmhTMDV6ZVVsb2VtOVNWSGt6YW05Q2JHOUVhMUpEUzBGNVZFNTJSa3h6VmlZamVFRTdaR2x5YzFaa2FYSnpWbVJwY25OV1pHbHljMVprYVhKelZtUnBjbk5XWkdseWMxWmthWEp6Vm1ScGNuTldZVWw0VmxOcmFuRk5RbGxyU2xwbFYyZFpTR0pMZVVkdFZWVm5kamxPY2lZamVFRTdXR0pMY0ZKalYyVk9TVXgyVTNSNmRHeEtaelJ6YzFOWWRuQktjakI1U0VFeGJrVnhVVFpUWVdwaVEwbEtSMHBPTjB4VGNVVmlXbHBIUkdaRVIzbERlREF2YWxSaVRHOTRZM0ZGUlNZamVFRTdPSFJ5WTB0UGJWZG5UMVJIUzA1U1lVUktUbWRZTkZWMWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmlZamVFRTdiMnBHUTJwTVJVUm5jRUpEUVhWTVRVMVBiVkZKWVhCUlV6Sm1WRUZVTUhsQ2FUQnVSMmN5TUdkV05scElaMWxsUlhGU05sTkJaVzFKWjJ0WmEyWmlObU5HY0hScmVFWjBha0pOYnlZamVFRTdURmxNTW5sWlJHRkpiM1JGYjAxck1rRkxaMGRHVEhOV1pHbHljMVprYVhKelZtUnBjbk5XWkdseWMxWmthWEp6Vm1ScGNuTldaR2x5YzFaa2FYSnpWbVJwY25OV1pHbHljMVprYVNZamVFRTdjbk5XWVVsNFZsbDVRVFJGVlhCT1FVUXlkMVY0Y0ZST2NYWm9hbE5QUm5SaVdtWkVSMncwVmxaSlVVOHlSMjFXUzI5VlJFWkxObTFHVEhOV1pHbHljMVprYVhKelZtUnBjbk5XWkNZamVFRTdhWEp6Vm1ScGNuTldaR2x5YzFaa2FYSnpWbVJwY25OV1pHbHljMVprYVhKelZtUnBjbk5XWkdseWMxWmtWRVpYY1ZseE4ybE5WbVI0ZUZaMWJVdDFlRll5UzNWNFZqSkxkWGhXTWlZamVFRTdTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5U3lZamVFRTdkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFNZamVFRTdlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUNZamVFRTdWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmlZamVFRTdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWlZamVFRTdTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNWNFZqSkxkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5U3lZamVFRTdkWGhXTWt0MWVGWXlTM1Y0VmpKTGRYaFdNa3QxZUZZeVMzVjRWakpMZFhoV01rdDFlRll5UzNZdkwxbzhMM2h0Y0VkSmJXYzZhVzFoWjJVK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dmNtUm1PbXhwUGdvZ0lDQWdJQ0FnSUNBZ0lDQThMM0prWmpwQmJIUStDaUFnSUNBZ0lDQWdJRHd2ZUcxd09sUm9kVzFpYm1GcGJITStDaUFnSUNBZ0lDQWdJRHg0YlhBNlRXVjBZV1JoZEdGRVlYUmxQakl3TWpVdE1EWXRNalZVTVRFNk1UZzZNakV0TURjNk1EQThMM2h0Y0RwTlpYUmhaR0YwWVVSaGRHVStDaUFnSUNBZ0lDQWdJRHg0YlhBNlRXOWthV1o1UkdGMFpUNHlNREkxTFRBMkxUSTFWREU0T2pFNE9qSXhXand2ZUcxd09rMXZaR2xtZVVSaGRHVStDaUFnSUNBZ0lDQWdJRHhwYkd4MWMzUnlZWFJ2Y2pwSmMwWnBiR1ZUWVhabFpGWnBZVWx1YzNSaGJuUlRZWFpsUGtaaGJITmxQQzlwYkd4MWMzUnlZWFJ2Y2pwSmMwWnBiR1ZUWVhabFpGWnBZVWx1YzNSaGJuUlRZWFpsUGdvZ0lDQWdJQ0FnSUNBOFpHTTZabTl5YldGMFBrcFFSVWNnWm1sc1pTQm1iM0p0WVhROEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSEprWmpwd1lYSnpaVlI1Y0dVOUlsSmxjMjkxY21ObElpOCtDaUFnSUNBZ0lDQWdJRHg0YlhCTlRUcEViMk4xYldWdWRFbEVQbmh0Y0M1a2FXUTZaR0l3T0dNNE1XRXRNMlExTXkwME0yVmlMVGczTnpVdFpEWTBOMkl4TWpVek1HTTFQQzk0YlhCTlRUcEViMk4xYldWdWRFbEVQZ29nSUNBZ0lDQWdJQ0E4ZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDU0YlhBdWFXbGtPbVJpTURoak9ERmhMVE5rTlRNdE5ETmxZaTA0TnpjMUxXUTJORGRpTVRJMU16QmpOVHd2ZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDRLSUNBZ0lDQWdJQ0FnUEhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDU0YlhBdVpHbGtPbVJpTURoak9ERmhMVE5rTlRNdE5ETmxZaTA0TnpjMUxXUTJORGRpTVRJMU16QmpOVHd2ZUcxd1RVMDZUM0pwWjJsdVlXeEViMk4xYldWdWRFbEVQZ29nSUNBZ0lDQWdJQ0E4ZUcxd1RVMDZTR2x6ZEc5eWVUNEtJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh5WkdZNmJHa2djbVJtT25CaGNuTmxWSGx3WlQwaVVtVnpiM1Z5WTJVaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNllXTjBhVzl1UG5OaGRtVmtQQzl6ZEVWMmREcGhZM1JwYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwcGJuTjBZVzVqWlVsRVBuaHRjQzVwYVdRNlpHSXdPR000TVdFdE0yUTFNeTAwTTJWaUxUZzNOelV0WkRZME4ySXhNalV6TUdNMVBDOXpkRVYyZERwcGJuTjBZVzVqWlVsRVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmQyaGxiajR5TURJMUxUQTJMVEkxVkRFeE9qRTRPakl4TFRBM09qQXdQQzl6ZEVWMmREcDNhR1Z1UGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2YzI5bWRIZGhjbVZCWjJWdWRENUJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXlPUzQySUNoTllXTnBiblJ2YzJncFBDOXpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZMmhoYm1kbFpENHZQQzl6ZEVWMmREcGphR0Z1WjJWa1Bnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwzSmtaanBzYVQ0S0lDQWdJQ0FnSUNBZ0lDQWdQQzl5WkdZNlUyVnhQZ29nSUNBZ0lDQWdJQ0E4TDNodGNFMU5Pa2hwYzNSdmNuaytDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo3LzRBQVFTa1pKUmdBQkFnRUFTQUJJQUFELzdRQXNVR2h2ZEc5emFHOXdJRE11TUFBNFFrbE5BKzBBQUFBQUFCQUFTQUFBQUFFQUFRQklBQUFBQVFBQi85c0FoQUFLQndjSENBY0tDQWdLRHdvSUNnOFNEUW9LRFJJVUVCQVNFQkFVRkE4UkVSRVJEeFFVRnhnYUdCY1VIeDhoSVI4ZkxTd3NMQzB5TWpJeU1qSXlNakl5QVFzS0Nnc01DdzRNREE0U0RnNE9FaFFPRGc0T0ZCa1JFUklSRVJrZ0Z4UVVGQlFYSUJ3ZUdob2FIaHdqSXlBZ0l5TXJLeWtyS3pJeU1qSXlNakl5TWpMLzNRQUVBQjcvN2dBT1FXUnZZbVVBWk1BQUFBQUIvOEFBRVFnQnpRSFlBd0FpQUFFUkFRSVJBZi9FQWFJQUFRQUJCUUVBQXdFQUFBQUFBQUFBQUFBSEFRSURCQVlGQ0FrS0N3RUJBQUVGQVFBREFRQUFBQUFBQUFBQUFBVUJBZ1FHQndNSUNRb0xFQUVBQVFJQUFRSUNQbHNBQUFBQUFBQUFBZ0VERVJJeEJCTUZCZ2NJQ1FvVUZSWVhHQmthSVNJakpDVW1KeWdwS2pJek5EVTJOemc1T2tGQ1EwUkZSa2RJU1VwUlVsTlVWVlpYV0ZsYVlXSmpaR1ZtWjJocGFuRnljM1IxZG5kNGVYcUJnb09FaFlhSGlJbUtrWktUbEpXV2w1aVptcUdpbzZTbHBxZW9xYXF4c3JPMHRiYTN1TG02d2NMRHhNWEd4OGpKeXRIUzA5VFYxdGZZMmRyaDR1UGs1ZWJuNk9ucThQSHk4L1QxOXZmNCtmb1JBUUFBQXdBQkFRT0NGd0FBQUFBQUFBQUJBZ01SSVFReFlRVUdCd2dKQ2hJVEZCVVdGeGdaR2lJakpDVW1KeWdwS2pJek5EVTJOemc1T2tGQ1EwUkZSa2RJU1VwUlVsTlVWVlpYV0ZsYVltTmtaV1puYUdscWNYSnpkSFYyZDNoNWVvR0NnNFNGaG9lSWlZcVJrcE9VbFphWG1KbWFvYUtqcEtXbXA2aXBxckd5czdTMXRyZTR1YnJCd3NQRXhjYkh5TW5LMGRMVDFOWFcxOWpaMnVIaTQrVGw1dWZvNmVydzhmTHo5UFgyOS9qNSt2L2FBQXdEQUFBQkVRSVJBRDhBbVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRkFBQUFVd2lxcW1GVENZUXNLNFZNS21Fd3FLMkZjSmhXNFRDRmhjWVZ1RXdoWVhZVmNLekNyaEN3dXdpbUVWVXNMaFRDQXFBS0tpZ0NvQUFBQUFBQUFBQUFBQVAvOUNaZ0FBQUFBQUFBQUFBQUFBQUFBQUFBVUFBQVVGQlZWVENwaFVyVlJXd3JoVXdyYTFXMWtMb1FYMWt0eFN5c2x0WnFXVjBKV1RGR0tZSzNGTW1LV1YxNEdmRks0cHJaTlZ5WVdTOERZeFM3Rk5hbHhmU2F0bFNNalBTcXRLc05KTDZTTEsyTXJKaFZXVXF1cFZWWkdDNVZhcXFvcUFBcW9xS0FBQUFBQUFBQUFBQVAvL1JtWUFBQUFBQUFBQUFBQUFBQUFBQUFCUUFGRlZLaXFpbGFsYXJhMVVWaEFyVmJXU2xaTWNwcVdYcENWZFdUSEtiSE80d3p1cll4ZXNzak5LNHhTdXRlZDVnbmY1RmJHWjd5MFc1VzhzcmZhTXNpT1JZNjVFY2l0dkU5WVVMZzlISjZ0TDd5ODFISXEweUk1RlM4YTY4aTRQVnBlWkkzWGxSeUk1Rm1oZjVGV0V6em1vdlVqY1pZemVkQzgySVhGOElzZWVuWWJ0Skw2VmEwSnMwWkw0UmVNMHJMU3E1anBWZlNxcnpqQmNxdFZWV3FnQ2lvQUFBQUFBQUFBQUFQLy9TbVlBQUFBQUFBQUFBQUFBQUFBQUFGQUFVRlNxbFNxMnRWRllLVnFzbFZXVldHY2xJeGVrc0NVMkNkeFM1Y2F0MjZzakZrU1U3SzY1ZGExeTh4WGJ6VHUzK1JlYzB6TXAwV2U1ZjVGcnp5STVGcTNML0FDTFduZmVVWjJiSlFia3NpT1JZNjVFY2kwWlgyT3Q1Wkdka1MwSG9acU9SVnBrUnlMek1uSzB2S1hpWFhrUFdoa1J5TFp0NUVQRmhlYkZ1OHZoTThaNkQzTFY3a1czYXU4aThTemViOW02OVpabURWcFdIcjI3alloSjV0cTQzTGMzckNMQXFTV0c1R3ErbFd2R1RMR1MrREhtZ3pVcXJSanBWZlNxNTV4WEtyYVZWRkZWVkFVVkFBQUFBQUFBQUIvL1RtWUFBQUFBQUFBQUFBQUFBQUFBQlJWUUJTcXEydFJWU3RWa3FycFZZcHlXeGl2bGd0bkpyWEpycmx4cDNycXlNekpweVdWTHQxbzNyeGZ2UFB2WDNqTk1rS05GZGV2dEs3ZjVGWmR2Tk81ZWVNMHlTcFVXVzVlYTg3ckZPNHgxbTg0ek11V215U3VMSzNHT3NsdUtXMlhyQ1JteFpTYkRpakNXVmJ3dHFOeHNXN3JRakptaE5kQ0x5bmtlclp1dCt4ZHhualdwdCt4Y2U4a1VmWGtlMVp1TjIxTjVGbTQzN1Z4a3l3Uk5hRDBvVFpveWFOdWJZak42d2d3WjIzU1Mra210R2JKU2E2dzhveFo2VlhZV0drbDFKRmhiWlpjS3JIU3E2bFZMQXVGTUtxZ3FLQUtnQUFBQUEvOVNaZ0FBQUFBQUFBQUFBQUFBQUFVQUNxbGFxV1ZUQ3NyVld0V09VbHNabDBJS1NrMTdrMTA1dFM3ZGVVMVI3MDVMS3k5ZGFGKzh2djNYblg3enhtcUpHalNXWDcyTzgrOWRYWHJ1TzBydHg1Um5TbEdrcGN1TmFjeWMyS1Vsa1lzNlNRbEpiV3FsYXFMWHJDQmhNS2dMbFJSVUYxS3NzS3NWRjhWMHJ5bnR6YnRTYjFtVHo3ZFczYXF5cWNxT3RvamIzcVdadDYxY2VWYW0yN2R4bTA1RUxYbXQ3MUxkeG5qY2ViQzZ6eHVzaUZOSFR6UFJqY1pJM0hueHVzc2JxdDVieGpNOUNOeGZHYlJqZFpZM1ZzWkZMeE4yazE5Sk5TTnhrak5aR1ZXeTJhVlhVcXcwa3VwSlpHQ3NJc2lxMmxWY0tpcXFxZ29xcUFBQUQvOVdaZ0FBQUFBQUFBQUFBQUFBVUFCU3RWSXhDdFZsYWtxc2NwUEthZXd2aEJXVW1HY3ljMnRjdU1hZXJZZTBraWwyNDBiMTNIWDNyclF2M2NkaXpWbWRScE1kKzY4Ni9kWkw5MW9YcmkyOHl5bEtOSmp1M0dwT2ErNU5yeXFyQ0tRcHlXRkpWV1ZxcldxMWM5NFFGQUZ3QUFxb3JRZ3BGZFJmRlpSa2pSNnlTMlhoVm1zUVo3Ylp0MWEwR3hDcVFvMDBSYlRWdDdidHliTUp0S01tV00wbFNwSUt2VnRXOUc0eTB1dENseGZTNnlZVW1CUFVlakc4eVJ2UE5wZFh4dkt4cFBLTlI2a2J6TkM4OHFON2tXYUY3a1ZrMUpTOGIxbzNXYU54NWNMelloZGVFMU5mQ2Q2VWJqTEdiUWhkWjRYSGpOSTlJVE55a2w5S3RhTTJXTW5sR1ZmQ0xOU3FxeWxWMUtyTEM1VlZRVVZWQUIvL1dtWUFBQUFBQUFBQUFBQUFCUUZCU3EydFZhMVk1VmVjODFoZENDa3BNRTVycHlhMDVzS3RWc1BlU1V1VGFsMjR1dVRhZDI0amF0ZGwwNUZsNjQ4KzljeDJhOU5vM3A0N3d2TnN4U0ZHUmd2VGFWMmJOZGsxTGxYdkpHeWtxVXJIT1RGV3E2VldPckpsWmNzRktxS3FMbDRBcUFxQUswS1VYVW91bGhaZWMwMWdwUmxqUmJHakpHak1vMDdLUHRvcTJJUlpJc3NXT0srbFV2UW8yNUEyMVY3ZXpVcXVwSmh3cTRwSlU2U0ZyVmJNV2ZGbVRHdldaaTJSQ214SnAyMVM2dXBkYWVURmFYRmJ5M2xHZHZ4dk0wTDNJdk1wZFpZWFZrMU12RzlhRjVzMjd6eDRYV3pidlBDZWt2bG5leGJ1OGkycmQxNDl1OXlMYnQzV05QVGU4czcxWVhHZUUzblc3amF0ellzOGoybG1ic1pNbEt0YUVtV05YaE5CNndpelVWV1VxdVdMbFZWQlJWLy9YbVlBQUFBQUFBQUFBQUFGQUZLcXJhcll4Vmd0bFZobkpmS3JCT1RGcXoySVBTV0RIY2sxYmsyVzVKcTNKSW0yaXJiMlhUbFlyazJwZGt5M0pOVzVWRjFLbHF6S2NyQmRrMHJ0VzFkcTA3cXRPYXpGbjBvTlM3VnJUcTJialZtejZVV2ZUWXBNZFdTU3lyTGxaRUZvcUxseWlwZ1Z3Q2xsVEFyU2l1QmRTaTZFTEt5YWF3cFNpNmxGYVVYVW95cVZPeXc2MWFFSUZLTWxLS1VvdW9sTFo2TnV0RUpiVmJSYjdWZFJkaFdHRkwwYVZoQlcwVjdNWXI4S21LV1lWS3lac3NpTm5xV1YxWktWa3NySmJpbnJDVjR4bVpNV1l0aXhSaWxid3ZPTXpQU2ErTnhxMGt1cE5TTXFsNG05QzQyTGQxNTBiak5DNDhwcEY4Sm5xMjdyYnRYWGtXN2pidFhXTlVwdmFTZDdOcTYzTFZ4NDltNjNyVnhoVktiSmttZXBibTJJU2VmYW0yN2NtSlBLeUpZdHVOVjlLc01hc2xLdkNNSHJDTElLVUZpNS8vOUNaZ0FBQUFBQUFBQUFBRkZWQVVxdGt1cXNrODU0cm9NVTZ0ZTVWbm5WcTNLc0N2TmFQZVNEQmNrMUxrbWU1VnEzS29TMmllM3N5bkJoblZyVFo1MVlKbzJhYTFaY2tHdGNhdHlqYm5ScjNJdlduTXk2Y1dqY28xcDBidHlMWG5CSVVwMmJUbWFzcUxLMFo1UldWaXk1WjN2Q1ppd0dCa3hCaVY5NGwxNGxtQldrV1NrRjFJTG9Sc3ZPYXBDREhTSzZrV1NrRmNTeXFVbGxpVmE4SVpPc3BGV2xGK0pNQ1Z0bm9XNUVXMDIxVysxVUNxMnRVeFFvMkVEYlJiUlpzMnF1RlRDdHJWU3RVaEpKWVJkU3JaWFZrdHJWYldxbGF2YUVySGpNdXJWYldxbUZUQ3VzTEl4VndxWVZNSXJZVzJWY0t0SkxNS3BZVXNzbEpNc0o2RzFzSytNdERvcEdWV0VXL2JtMnJWeDUwSk5pM05qenlQV1daNnRtNDM3TnpHZVBhdU42emN4bUhWa1pNa3oyTE0yN2FtOHF6TnZXWnNDcEt5cEpub3drelJxMWJjbXhDckVtZ3lKWXMxRlZ0S3F2SmUvL1JtWUFBQUFBQUFBQUFBQlJWUUZLc2NtU3JISjVUcm9NTTJyY2JNMnJjUnR0R1RzaW0xYmxXcmNiTnhxM0VIYlJrN05wc0UyR1ZHYVRIS2lPbWphc21WZ2xSZ25GdFNveFNpdWttc1BlV1pwVGd3VGczNVFZcFcyWFRxc2lTZG9TdHJLMjI5VzBzcmFaTXRaN1FxdFBKWmt0dDVLTWx2V0ZXeXBHczFxVzExSU0rU3pFTXVqR3pGaTFiYUxHVHNPSU1TeTFvc3JSTTJ5MDdOaEUyMFcxMisxWTYwV1ZYeVk1VlQxczlHM0lXMmkybXpadFZ0YXJLMVZsVlpXcVRweVdFWlVxMlN0Vk1LbGFxWVh2Q0RIak1yV3FtRlRDTHJDeXlZVkFWVXNnQW9BQUt4cm9haFRIQm5qVm50eWEwYXMwS3ZLYUQwaEZ2V3BONnpMR2ViYXEzYk1zWmkxSVBlU0wxYkVub1daUEtzU2VqWXFqNnNHWFRpOUsxVnN3cTA3VlczYnF3WjRNcVdMWWlxdGl1ZUVYby85S1pnQUFBQUFBQUFBQUFGRlZBVXFza3ZxdGs4NTRMb05lZEd0Y28yNTBhMXlpUHRvbHRIdkpGcFhLTlc1UnUzSXRXNUZDVzBTMjltVTR0U1ZHT3RHZWRHS3RFWlBMYXNtV0xGV2kyc1dXdEZ1QjVQU0VXR3NWbFlOakVtSWVrc3k2RTdWcmJXMXROdkVLVmc5Wlo0cTNtMkdwa3BiVzIyNndXU2d5S2M4Ykx4cVY3RUxlMWF3V1ZvMkpVWUpwZTJXMWpCR1cwVzAyKzFZcE1VcXNrNnNNcXRsdGpsaGFJYXZiUkdPVHJKVllwVlh5cXhTcW5xRUlXSU1DZXJHS3l0VmxhcnFyS3M2V0R3akVGQjZMYklBS0FBQUFBQUJUSENnTWxHV0RGUmtnc21YUWJWcXJkczF4bWpiYnRuYUdOVWU4ajBiRlhvMks0enpyRDBiRzBJK3F5NmIwTExjdHRPeTI3YVBxTXVSc1JYTFlybmhGNndmL1RtWUFBQUFBQUFBQUFBQlJVQlJiVmNwVmJOQldEREtqQk9MWmxSaW5GaVZaTEwxbGkwYmtXdGNpMzdrV3RjZ2liYUtWdlpWT1pvVGl4U2kzSndZSlFSVldreVpabXRXSmdaYXhXNGxpUmtlbDRsbUpNU3Z3R0JTOEsyTTYzRXFZbGt3R0JmTEs4cHFqREtMRktMWnJGaW5GazA0V3JGcTFXcE9qV3VVYmx5TFd1UlM5c3NiRVlJdTJpZU5xMUpzRW14Y28xNTBiSmJIVXR5S3FUUnNzVW1PVEpKanFucUU5cEI0UmlzcXNxdnF0cWtKSXFMUlZSNndVQUFBQUFBQUFDbU9GTWNHU2pMQmlpelFXVEw0TmkwM2JOTVpwMnFONnpUR1l0U0wya2I5aWowYkZNWm9XS1BSc1V4a2ZWaXpLYmRzMGJsdHEycU51M1JnVkdWSXpSWHJZcm1QRjZ3Zi9VbVlBQUFBQUFBQUFBQUFBRkNvS0N5dEdPVVdhdEZ0YVBPZVd5dWhGcXppd1RnM1pSWVpRWVZXbFplMHN6Um5iWUpXMi9PRERLMmphdHM5d1pFdFJveWd4MWkyNXdZWlJZTTlCZmVZd1Zvb3ZsUlpWNHhwV0huTlZWTUNtRmRSUzhGaDR4cVdWdGFNY29zMkJTdEhwTGFQR2VObHFUaTFia0cvT0xYdVFadEdleEZoVm9QT3VSYTA0dCs1QnEzSXB1Mld0YmtkVmxhY3FNVXFOaWRHR1ZHdzJ6VmJjeG9zVlZ0YU1sYUxhMFMxS2V6QmF4aTZ0Rk1ESmhGVmFLNERBdnNxS0N1QlRBQUdBd0FCZ01BQlRITUNzYWFIUUdTTkdhRkZrYU0xdWp5bWk5SVFiRnFqZXMwYWxxTGZzUnhtSlZpOTVJTjJ4UjZObWpSc1J4bm8yYUkrckZtVTROdTFSdHdvMXJWRzFDakJuaXlaV1dLNVNLcnhpOVgvL1ZtWUFBQUFBQUFBQUFBQUFCUlVCUlN0RlJTTUZWbGFNY29zMkJiV2p6bWtzcXdpMTVRWVp3YmxZc1Vvc2FlalpYd25hTTROYTVGdjNJdFM3UmlWTFoxSnFyVG13MXF6WFdyT1REbm9QQ2FzdXhTNmttdmkxMUpzYWFuWVd3ck5tbFJpak5kU1R6dkRZWDNqaEVsUmd1VVpxMVlwMWVzbHBGNVZJd2kxTGtXbmRpM3JqVXVwSzJlZU1MREFyUWFWeWpCS2padU5hYWR0bHEyNWd6eFk2cmNDNnFpYW8xYlI1MlZNQmlWOUtMcVJaMGxWZkJoeEttSmJPSU1sdmFGUmRZYTJKcXBpYXRySlNtU3FycnhsNFd0aVRFdGpKVlRKVlZieHdMd3RiRW1KYkdTcW1TcWw0NEY0V0RFMVhRam9xak5rcXErRnJSVkZJemtKVkl3WjdjRjBiYlBidHZHYWQ2eXlxMm9OK3pIR1liVnR1MllNU3BPOTVKV3pZaTM3TVd0WmczclVXQlZtWmNrR3hibzJJVVliZEd4R2pEbml5SllMNkxsS0t2SmUvLzFwbUFBQUFBQUFBQUFBQUFBQUFVVkFVVXdLaWd0clJqbFJscXNrdGpLUmkxYmxHbGVvMzdsR2pmZVUwandxVFBQdmJTMHJrbTVmMmw1MTZyRXFVMkZVcVdGdFpsTGpYblBRMXVUR0pQU2VVSzFxM28zRjlMalFqZFpLWFdOTlNlMHRkdVZ1TEpUWU1tclpYRklVMTBheXR5VFZ1Vlh6dU5lNU5sMG9XR0pWcU1WeXJYblZsbkpyeXFsS0UxaXd3cDUxdFNpbGFsRXJTcXZLRXpMR2pMR0xIQnNXNHMyU3M5cElxeGd2cGJaSVFiRWJUM2hXWk1zTExWcFo1QlhKRGRwWlgwc0w0VlhyQ1I1MlNESkhJUFJ5UVpJNUJXODVXOHQ1MlNPUU0wL0lQUnlSeUJrZ3ZPTHkzbjB5SDVCZEd3MzhrTHFXT1FValdJVTJuR3l6UXRObU5qa0dhRm5rSG5OVlh3a1lyZHB1V3JhdHUwMmJkdGp6MUh0TEl1dFFiZHVLeTNCc3dpeEo1bVJMQmZDak5HaXlOR1dsR1BORjZ3Z3VvQ3F4Yy8vOWVaZ0FBQUFBQUFBQUFBQUFBQUFBRkZRRktySkw2ckpDa1d2Y2FOL2FXL2NhVitpeU1HTlVlVmtSdEx6YjlYcVpFVXgzbDVFVXgzalBLamEwV2pja3hWbXV1dGFVbU5OSXdwcDdFV2VseGZTNjA4V3JTNDhacWFzS3pjeWFWdXRUSmhreGJlV3V2UFo1WEdHYzJPdHhaS2IwbGtzUEtlclpWbkpobFZXVW1PdFdWSmFNZWFkWEN1aXg0VjhXVkpQWVd3bVo3YmJ0VWExcWpkczBaTWxWbFVvdG0xQnQyN1RIWmhqTisxYmU4dFZJVW9XVmtiTEpTdzJZV21hTmw2UXFzdVdSbzVJNUJYSkhJTitsbFhKS3Q1cSs4dDUyU09RVnlROURKSmtrdk5MeTJoa2hXbGprRzlrbGRTeXBlYVhsdEtsbmtHU05sdDB0THFXbHNhcTZFakJDMHp3dHNrYmJMR0R5bW5Yd2xXd2d6UmlSaXlVaThacG5wQ0JHaStsQ2xGVmtZcjRLMEFXcXYvMEptQUFBQUFBQUFBQUFBQUFBQUFBQUJSYkpjdHFLUllMbEduZW8zcDBhdDZLMkx3cVFlVGtSSEhlVmtSRjdXUkVjZDVXUk1NZDV6UVJ0ZVY1RjZtTzA1dlF2eHgyaGRvOG93UmRXMFlLeVV4YWtsbGFySXlzZU16Sml6RnNPS01VdHZDWGpaS3pVckpqeFNtRldFcTJNNjZ0Vk1LM0NMNExieExxTWtHT2pOQ2owaEZkSzJMVkhvV0l0T3pGNk9ROGNaNlN6TXlqQnZXSVl6MGJNR3BrUERHZWxaZzlvVEpXakt5MjdiUEcycmJob1RZakJmQ2RueVNzTkxaa3RzVWdyaUZieHI3d3RmSlprdHNZZ3hCZU5XOExYeVdya3RueEN1Skx4bDRXQ2x0ZFNETGlWY1NwZUpXOExIU0M2a1YrSlhZRnNabGJDMmtWMUtLNEJiWlZGUVVWRlFCLzlHWmdBQUFBQUFBQUFBQUFBQUFBQUFBVVVxcVZCaWxScjNZdHFWR0c1UlNMeW5nOHkvREhlWmtSYngzdFhvWTd6c2lMYXlNR0RXa2VGa1JieDNuWG9QYXlJdDQ3emI5dkhlY1lJcXRJOHU1RmhrM0xzR3RPS3lNR0JQQ3d3MVV3cnEwV3FXSGxFVUFVRmFGS0xxVVZWZ3VqUm50eFk0UmJkcUdNckI3U1NzOWlEMDhoNE5TeGJlcGtQYmVrRWhRa2JtUThNWjZObURWc1F4bm9Xb3ZTQ1dveXMxdUxQR0t5RkdXbEYxbG1Td01DdUJYQXFyWlhyY0JnWEJaRnVBd0xnc2kzQXJnVkFVd0tnb3FBcUNpb0FBQS85S1pnQUFBQUFBQUFBQUFBQUFBQUFBQUZGVkFVclJpblJtcXNsUVd4ZzA3c0dsZnR2VG5GcTNZTFlzZXBKWmVKa1JheDNtWDdPTzkrL2FlZGZzckl3UnRhazhHOWFhZHkyOW0vWmFOMjBzakJHMWFielpRWTZ4Yms3YkRLMnRZczBqQmdNRExpQ2tGRnQ0VmxJc2tZTG8yMmVGcFZmTElwYnR0MnphVXRXbTlZczR5NkVHVlNwc21ROW5HZW5rUGFZYkZsNk5tMnZoQkowYWJOWnQ0emR0eFlyVUcxQ0srQ1JweTJGOGFMNlVVcFJjdVpFSUFxQ3FncUFvS2dBQUFBQUFBQUFBUC85T1pnQUFBQUFBQUFBQUFBQUFBQUFBQUFBVVVyUlVCaWxSZ3VRYlZhTWNvcVBPYUR6N3R0b1hyTDJMa0dwZHRMWXdZdFNuWmVIZXNOQzdZZS9kc3RLN1k1QmJHREFxMFhoWExEWGxaZXpjeUg1QnJ6eUg1QlpZWVU5RjVkYkpTeTlHdVEvSUZNaCtRTER6dkphVUxMWnQyR3pESWZrR3pieUg1QldFSHJKUlliTmprRy9aczR5KzFZNUJ1V3JQSUxvUVp0S2lXYlRldFcxdHEwMm9RWHdnejZkT3d1aEZtalJTTVY5S0tzcVdDdEZSVlZlQUFBQUFBQUFBQUFBQUFBQS8vMUptQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVVWQVVxdHJSY3BVVVlaUllaMjIzV2pIS0tpeWFXeTgrNWFhdHl3OVdVR0dkcFNNR1BQVHN2SG5rUHlEQkxJZmtIc1Nzc1VySElMYkRIbW9QSXJrTnlDdE1odVFlcFhJZmtDbGprQ3c4N3lHaERJZmtHZTNrUHlEY2pZNUJsalpMRDFsb3NGdXp5RFp0Mm1TRnBtakJkQ0RJa3AyRnNJTTBZcXhpdnBSVjd5eWxLTGdWWGlvQ29BQUFBQUFBQUFBQUFBQUFELy8xWm1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVVkFVVzFvdUJSanJGWldETmdVclFVaksxcTIxbGJUYXJGVEVLV0ZrWkdya29wYWJXSU1RV0ZMd05lbHBmUzJ6WWxXa1N3ckNSWlNDK2tWYVVWd0tyNFFLVVZBWENvQUFBQUFBQUFBQUFBQUFBQUFBQS85YVpnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZGUUZCVUJUQXBnVkFVd0dCVUZGTUN1QUJVRlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSC8vWG1ZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFILy8wSm1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvLzlHWmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWYvL1NtWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSC8vMDVtQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCLy85az0iIHdpZHRoPSI0NzIiIGhlaWdodD0iNDYxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTg3LjIgLTk1LjgxKSIvPjxnIHN0eWxlPSJjbGlwLXBhdGg6dXJsKCNjbGlwcGF0aC0xKSI+PHBhdGggZD0iTS0zMjEuOTggOGgyMjEuOTZ2MjIxLjk2aC0yMjEuOTZ6IiBzdHlsZT0iZmlsbDp1cmwoI3JhZGlhbC1ncmFkaWVudCkiLz48L2c+PHBhdGggZD0iTTE2NC45MyA4Ni42OGMtMTMuNTYtNS44NC0yNS40Mi0xMy44NC0zNS42LTI0LjAxLTEwLjE3LTEwLjE3LTE4LjE4LTIyLjA0LTI0LjAxLTM1LjYtMi4yMy01LjE5LTQuMDQtMTAuNTQtNS40Mi0xNi4wMkM5OS40NSA5LjI2IDk3Ljg1IDggOTYgOHMtMy40NSAxLjI2LTMuOSAzLjA1Yy0xLjM4IDUuNDgtMy4xOCAxMC44MS01LjQyIDE2LjAyLTUuODQgMTMuNTYtMTMuODQgMjUuNDMtMjQuMDEgMzUuNi0xMC4xNyAxMC4xNi0yMi4wNCAxOC4xNy0zNS42IDI0LjAxLTUuMTkgMi4yMy0xMC41NCA0LjA0LTE2LjAyIDUuNDJDOS4yNiA5Mi41NSA4IDk0LjE1IDggOTZzMS4yNiAzLjQ1IDMuMDUgMy45YzUuNDggMS4zOCAxMC44MSAzLjE4IDE2LjAyIDUuNDIgMTMuNTYgNS44NCAyNS40MiAxMy44NCAzNS42IDI0LjAxIDEwLjE3IDEwLjE3IDE4LjE4IDIyLjA0IDI0LjAxIDM1LjYgMi4yNCA1LjIgNC4wNCAxMC41NCA1LjQyIDE2LjAyQTQuMDMgNC4wMyAwIDAgMCA5NiAxODRjMS44NSAwIDMuNDUtMS4yNiAzLjktMy4wNSAxLjM4LTUuNDggMy4xOC0xMC44MSA1LjQyLTE2LjAyIDUuODQtMTMuNTYgMTMuODQtMjUuNDIgMjQuMDEtMzUuNiAxMC4xNy0xMC4xNyAyMi4wNC0xOC4xOCAzNS42LTI0LjAxIDUuMi0yLjI0IDEwLjU0LTQuMDQgMTYuMDItNS40MkE0LjAzIDQuMDMgMCAwIDAgMTg0IDk2YzAtMS44NS0xLjI2LTMuNDUtMy4wNS0zLjktNS40OC0xLjM4LTEwLjgxLTMuMTgtMTYuMDItNS40MiIgY2xhc3M9InN0MCIvPjwvZz48L3N2Zz4="); }
.gs-engine--deepseek { --eng-icon: url("data:image/svg+xml,%3Csvg%20fill%3D%22%234D6BFE%22%20role%3D%22img%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.748%204.651c-.254-.124-.364.113-.512.233-.051.04-.094.09-.137.137-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.155-.708-.311-.955-.65-.172-.24-.219-.509-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.094.172.187.129.323-.082.28-.18.553-.266.833-.055.179-.137.218-.328.14a5.5%205.5%200%200%201-1.737-1.179c-.857-.828-1.631-1.743-2.597-2.46a12%2012%200%200%200-.689-.47c-.985-.957.13-1.743.387-1.836.27-.098.094-.433-.778-.428-.872.003-1.67.295-2.687.685a3%203%200%200%201-.465.136%209.6%209.6%200%200%200-2.883-.101c-1.885.21-3.39%201.1-4.497%202.622C.082%208.776-.231%2010.854.152%2013.02c.403%202.284%201.568%204.175%203.36%205.653%201.857%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.132-.284%204.994-1.86.47.234.962.328%201.78.398.629.058%201.235-.031%201.705-.129.735-.155.684-.836.418-.961-2.155-1.004-1.682-.595-2.112-.926%201.095-1.295%202.768-3.598%203.284-6.733.05-.346.115-.834.108-1.114-.004-.171.035-.238.23-.257a4.2%204.2%200%200%200%201.545-.475c1.397-.763%201.96-2.016%202.093-3.517.02-.23-.004-.467-.247-.588M11.58%2018.168c-2.088-1.642-3.101-2.183-3.52-2.16-.39.024-.32.472-.234.763.09.288.207.487.371.74.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.168-1.361-.801-2.5-1.86-3.301-3.306-.775-1.393-1.225-2.888-1.299-4.482-.02-.385.094-.522.477-.592a4.7%204.7%200%200%201%201.53-.038c2.131.311%203.946%201.264%205.467%202.774.868.86%201.525%201.887%202.202%202.89.72%201.066%201.494%202.082%202.48%202.915.348.291.626.513.892.677-.802.09-2.14.109-3.055-.615zm1.001-6.44a.306.306%200%200%201%20.415-.287.3.3%200%200%201%20.113.074.3.3%200%200%201%20.086.214c0%20.17-.136.307-.308.307a.303.303%200%200%201-.306-.307m3.11%201.596c-.2.081-.4.151-.591.16a1.25%201.25%200%200%201-.798-.254c-.274-.23-.47-.358-.551-.758a1.7%201.7%200%200%201%20.015-.588c.07-.327-.007-.537-.238-.727-.188-.156-.426-.199-.689-.199a.6.6%200%200%201-.254-.078.253.253%200%200%201-.114-.358%201%201%200%200%201%20.192-.21c.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.392.451.462.576.685.915.176.264.336.536.446.848.066.194-.02.353-.25.45%22%2F%3E%3C%2Fsvg%3E"); }
.gs-engine--perplexity { --eng-icon: url("data:image/svg+xml,%3Csvg%20fill%3D%22%231FB8CD%22%20role%3D%22img%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.3977%207.0896h-2.3106V.0676l-7.5094%206.3542V.1577h-1.1554v6.1966L4.4904%200v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318%206.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676%204.8691%204.4634H5.6458V2.6262zM2.7576%2016.332V8.245h7.8476l-6.1149%206.1147v1.9723H2.7576zm2.8882%205.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764%205.2993zm12.7086.0248-5.7766-5.1509V9.0618l5.7766%205.7766v6.5588zm2.8882-5.0652h-1.733v-1.9723L13.3948%208.245h7.8478v8.087z%22%2F%3E%3C%2Fsvg%3E"); }
.gs-engine--commoncrawl { --eng-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http:%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23444444%22%20stroke-width=%221.8%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229.2%22%2F%3E%3Cellipse%20cx=%2212%22%20cy=%2212%22%20rx=%224.2%22%20ry=%229.2%22%2F%3E%3Cpath%20d=%22M3%2012h18M4.4%207h15.2M4.4%2017h15.2%22%2F%3E%3C%2Fsvg%3E"); }

@media (max-width: 720px) {
    .gs-engine { padding: 11px 11px 11px 44px; }
    .gs-engine::before { left: 13px; width: 20px; height: 20px; }
}

/* ── Result sections aligned with ki-sichtbarkeit ───────────────────────
   Same structure and marks; the colours stay this site's. The sub-score
   icons are masks, so they take the band colour rather than the vendor's. */

/* Sub-score tile: band-tinted icon disc on the left, value suffixed /100. */
.gs-subscore { position: relative; padding: 20px 20px 20px 82px; }
.gs-subscore::before {
    content: ''; position: absolute; left: 18px; top: 50%;
    transform: translateY(-50%);
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--ss-bg, var(--accent-wash));
}
.gs-subscore::after {
    content: ''; position: absolute; left: 30px; top: 50%;
    transform: translateY(-50%);
    width: 24px; height: 24px;
    background: var(--ss-ink, var(--accent-ink));
    -webkit-mask: var(--ss-icon) center/contain no-repeat;
            mask: var(--ss-icon) center/contain no-repeat;
}
.gs-subscore.is-band-critical { --ss-ink: var(--band-critical-ink); --ss-bg: var(--band-critical-wash); }
.gs-subscore.is-band-weak { --ss-ink: var(--band-weak-ink); --ss-bg: var(--band-weak-wash); }
.gs-subscore.is-band-fair { --ss-ink: var(--band-fair-ink); --ss-bg: var(--band-fair-wash); }
.gs-subscore.is-band-good { --ss-ink: var(--band-good-ink); --ss-bg: var(--band-good-wash); }
.gs-subscore.is-band-excellent { --ss-ink: var(--band-excellent-ink); --ss-bg: var(--band-excellent-wash); }
.gs-subscore__row span { font-size: 19px; font-weight: 800; }
.gs-subscore__row span::after { content: '/100'; font-size: 14px; font-weight: 700; opacity: 0.75; }
.gs-subscore.is-band-critical .gs-subscore__row span { color: var(--band-critical-ink); }
.gs-subscore.is-band-weak .gs-subscore__row span { color: var(--band-weak-ink); }
.gs-subscore.is-band-fair .gs-subscore__row span { color: var(--band-fair-ink); }
.gs-subscore.is-band-good .gs-subscore__row span { color: var(--band-good-ink); }
.gs-subscore.is-band-excellent .gs-subscore__row span { color: var(--band-excellent-ink); }

#gs-vis-box { --ss-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
#gs-acc-box { --ss-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.4' fill='black'/%3E%3C/svg%3E"); }
#gs-str-box { --ss-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5.5-9 5.5-9-5.5Z'/%3E%3Cpath d='m3 14.5 9 5.5 9-5.5'/%3E%3C/svg%3E"); }
#gs-aut-box { --ss-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3.5V11c0 5-3.4 8.6-8 10-4.6-1.4-8-5-8-10V5.5Z'/%3E%3C/svg%3E"); }

/* Umsetzung card: icon disc left, content right, the pair centred. */
body.gs-v-main .gs-next {
    display: grid !important;
    grid-template-columns: 120px minmax(0, max-content);
    justify-content: center; align-items: center;
    column-gap: 40px;
    text-align: left !important;
}
body.gs-v-main .gs-next::before {
    content: ''; grid-column: 1; grid-row: 2 / span 2; align-self: center;
    width: 120px; height: 120px; border-radius: 50%;
    background-color: var(--accent-wash);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300e28f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 7-8'/%3E%3Cpath d='M14 7h6v6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center; background-size: 52px;
}
body.gs-v-main .gs-next > * { grid-column: 2; }
body.gs-v-main .gs-next__chip { justify-self: start; }
body.gs-v-main .gs-next__h { text-align: left !important; margin: 14px 0 18px !important; }
body.gs-v-main .gs-next__body { text-align: left !important; margin: 0 0 16px; }
body.gs-v-main .gs-nextcta { justify-content: flex-start !important; gap: 14px; flex-wrap: wrap; }
body.gs-v-main .gs-next__trust { justify-content: flex-start !important; margin-top: 14px; }

/* Secondary action back to a fresh check. */
.gs-back-btn {
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 56px; padding: 15px 26px;
    background: transparent; color: #fff;
    border: 1px solid rgba(255,255,255,0.28); border-radius: 999px;
    font: inherit; font-size: 15.5px; font-weight: 700;
    text-decoration: none; cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}
.gs-back-btn:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.45); }

/* Findings heading matches the larger label used on ki-sichtbarkeit. */
.gs-findings__h { font-size: 18px; }

@media (max-width: 860px) {
    body.gs-v-main .gs-next { grid-template-columns: 88px minmax(0, 1fr); column-gap: 22px; }
    body.gs-v-main .gs-next::before { width: 80px; height: 80px; background-size: 36px; }
}
@media (max-width: 620px) {
    body.gs-v-main .gs-next { display: block !important; text-align: center !important; }
    body.gs-v-main .gs-next::before { display: block; margin: 4px auto 14px; width: 80px; height: 80px; background-size: 36px; }
    body.gs-v-main .gs-next__chip { justify-self: center; }
    body.gs-v-main .gs-next__h, body.gs-v-main .gs-next__body { text-align: center !important; }
    body.gs-v-main .gs-nextcta { justify-content: center !important; }
    body.gs-v-main .gs-next__trust { justify-content: center !important; }
    .gs-subscore { padding: 16px 16px 16px 72px; }
    .gs-subscore::before { width: 42px; height: 42px; left: 14px; }
    .gs-subscore::after { width: 22px; height: 22px; left: 24px; }
}


/* ── Findings accordion ────────────────────────────────────────────────
   The first areas open and list their items; the rest keep a softened
   heading. One blur level throughout — see .gs-blur below. */
.gs-finding { padding: 0; overflow: hidden; }
.gs-finding__head {
    display: flex; align-items: center; gap: 12px;
    padding: 15px 22px;
    cursor: pointer; list-style: none;
    -webkit-tap-highlight-color: transparent;
}
.gs-finding__head::-webkit-details-marker { display: none; }
.gs-finding__title { flex: 1; min-width: 0; }

/* The count sits with the severity pill on the left; the right edge belongs
   to the chevron alone, which stops the two competing for the same corner. */
.gs-finding__count {
    flex: none;
    min-width: 22px; height: 22px; padding: 0 7px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px;
    background: var(--paper-soft); color: var(--ink-soft);
    border: 1px solid var(--line);
    font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums;
}

.gs-finding__chev {
    flex: none; margin-left: auto;
    width: 18px; height: 18px; color: var(--muted);
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform .22s var(--ease-out-soft), color .2s ease;
}
.gs-finding__chev svg { width: 100%; height: 100%; display: block; }
.gs-finding[open] .gs-finding__chev { transform: rotate(180deg); }
.gs-finding__head:hover .gs-finding__chev { color: var(--ink); }
.gs-finding__head:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

.gs-finding__panel { padding: 0 22px 18px; }
.gs-panel-label {
    margin: 14px 0 2px; color: var(--muted);
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
}
/* Everything the area covers, failed items first. */
.gs-points {
    list-style: none; margin: 8px 0 4px; padding: 0;
    display: grid; gap: 9px;
}
.gs-point {
    display: flex; align-items: flex-start; gap: 10px;
    color: var(--ink); font-size: 14px; line-height: 1.5;
}
/* One blur level across the whole findings list — headings of locked areas
   and every item inside an open one. Legible as text, not comfortable to
   read. The wording is present in the page by design. */
.gs-blur {
    filter: blur(var(--point-blur, 2.55px));
    user-select: none; -webkit-user-select: none;
}
.gs-point.gs-blur { filter: blur(var(--point-blur, 2.55px)); }
.gs-point__tick {
    flex: none; width: 16px; height: 16px; margin-top: 3px;
    position: relative;
}
.gs-point__tick::after {
    content: ''; position: absolute; left: 4px; top: 4px;
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--muted);
}

@media (prefers-reduced-motion: reduce) {
    .gs-finding__chev { transition: none; }
}
@media (max-width: 520px) {
    .gs-finding__head  { padding: 13px 16px; gap: 9px; }
    .gs-finding__panel { padding: 0 16px 15px; }
}


/* ══ Mobile refinements ═════════════════════════════════════════════════ */
@media (max-width: 560px) {
    /* 1. On a phone the lede pushes the field below the fold. Drop it and
       let the search box take that place; the promise list follows. */
    .gs-hero__inner.container { display: flex; flex-direction: column; }
    .gs-hero__inner .chip    { order: 1; }
    .gs-hero__inner h1       { order: 2; }
    .gs-hero__inner .lede    { order: 3; margin: 14px 0 0; }
    .gs-hero__inner .lede p:not(:first-of-type) { display: none; }
    .gs-hero__inner .lede p  { margin: 0; }
    .gs-hero__inner .gs-card { order: 4; margin-top: 20px; }
    .gs-hero__inner .gs-gets { order: 5; margin-top: 22px; }
    .gs-hero__note           { order: 6; }

    .gs-hero__inner > .gs-card,
    .gs-hero__inner > .gs-gets,
    .gs-hero__inner > .gs-scanhead,
    .gs-hero__inner > .gs-loading,
    .gs-hero__inner > .gs-error {
        width: 100%; max-width: none;
        margin-left: 0; margin-right: 0;
        align-self: stretch;
    }

    /* 3. The verdict sits under a centred score, so it centres with it. */
    .gs-verdict { justify-content: center; text-align: center; margin-left: auto; margin-right: auto; }

    /* 4. The Umsetzung disc and its chip cost a screenful on a phone. */
    body.gs-v-main .gs-next::before { content: none !important; }
    body.gs-v-main .gs-next__chip   { display: none !important; }

    /* 5. One column, both actions the same width. */
    body.gs-v-main .gs-nextcta { flex-direction: column; align-items: stretch; }
    body.gs-v-main .gs-nextcta > .gs-back-btn,
    body.gs-v-main .gs-nextcta > .gs-nextcta__btn {
        width: 100%; justify-content: center; box-sizing: border-box;
    }

    /* Brand centres across the full row; the two columns sit either side of
       the row below it, so the gap lands between them. */
    .gs-foot__top {
        grid-template-columns: 1fr 1fr;
        gap: 26px 16px;
        justify-items: stretch;
    }
    .gs-foot__brand {
        grid-column: 1 / -1;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-align: center;
    }
    .gs-foot__brand > div  { text-align: center; }
    .gs-foot__about        { margin-inline: auto; }

    .gs-foot__col            { width: auto; margin-inline: 0; text-align: left; }
    .gs-foot__col:last-child {
        width: max-content; max-width: 100%;
        margin-left: auto; text-align: left;
    }
    .gs-foot__col:last-child .gs-foot__links { justify-items: start; }

    .gs-foot__bottom { align-items: center; }
    .gs-foot__copy,
    .gs-foot__legal  { text-align: center; width: 100%; }
}
