/* ==========================================================================
   AI1GROUP INNER & EXPERIENCE PAGE CSS
   Clean production stylesheet

   OWNERSHIP
   - Home: home.css
   - Shared reusable experience components: components.css
   - Standard inner pages + Contact: pages.css
   - Solutions: solutions.css
   - Meet the Team: teams.css
   - Policies: policies.css / policy-print.css

   CONTENTS
   01. Standard inner-page foundation
   02. Contact tokens and section rhythm
   03. Contact hero — Signal Core
   04. Contact methods
   05. Enquiry form
   06. What happens next
   07. Pointer spotlight
   08. Animations
   09. Responsive behaviour
   10. Reduced motion
========================================================================== */

/* ==========================================================================
   01. STANDARD INNER-PAGE FOUNDATION
========================================================================== */
:root {
    --ai1-inner-section: clamp(4rem, 7vw, 7rem);
    --ai1-inner-content-gap: clamp(1rem, 2vw, 1.5rem);
    --ai1-page-link: #86ef16;
    --ai1-page-link-bright: #a3ff2b;
}

body.inner {
    background:
        radial-gradient(circle at 50% 0, rgba(115, 214, 0, .08), transparent 28%),
        linear-gradient(180deg, #06100a, #020504);
}

.ai1-main--inner {
    min-height: 60vh;
    padding-top: var(--ai1-inner-section);
    padding-bottom: var(--ai1-inner-section);
}

.ai1-content-shell {
    width: min(1180px, calc(100% - 32px));
}

body.inner .item-page,
body.inner .blog-item,
body.inner .com-content-article,
body.inner .blog {
    position: relative;
    overflow: hidden;
    max-width: 980px;
    margin: auto;
    padding: clamp(2rem, 4vw, 3.75rem);
    border: 1px solid rgba(156, 255, 34, .12);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(12, 28, 18, .94), rgba(5, 14, 8, .96));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
}

body.inner .item-page::before,
body.inner .blog-item::before,
body.inner .com-content-article::before,
body.inner .blog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #9cff22, #73d600, #f0d59a);
}

body.inner h1,
body.inner .page-header h1 {
    max-width: 820px;
    margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
    text-align: center;
    font-size: clamp(2.3rem, 5vw, 4.3rem);
    line-height: 1.02;
}

body.inner h2 {
    margin-top: clamp(2.25rem, 4vw, 3.25rem);
    margin-bottom: var(--ai1-inner-content-gap);
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.3rem);
}

body.inner h3,
body.inner h4 {
    color: #fff;
}

body.inner p,
body.inner li {
    color: #9cad9f;
    line-height: 1.85;
}

body.inner p + p,
body.inner ul + p,
body.inner p + ul {
    margin-top: var(--ai1-inner-content-gap);
}

body.inner .item-page a,
body.inner .blog-item a,
body.inner .com-content-article a,
body.inner .blog a {
    color: var(--ai1-page-link);
    text-decoration-color: rgba(134, 239, 22, .42);
    text-underline-offset: .18em;
    transition: color .2s ease, text-decoration-color .2s ease;
}

body.inner .item-page a:hover,
body.inner .blog-item a:hover,
body.inner .com-content-article a:hover,
body.inner .blog a:hover {
    color: var(--ai1-page-link-bright);
    text-decoration-color: currentColor;
}

body.inner blockquote {
    margin: 2rem 0;
    padding: 1.4rem 1.6rem;
    border-left: 4px solid #9cff22;
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}

body.inner input,
body.inner textarea,
body.inner select {
    max-width: 100%;
    padding: .85rem 1rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
    color: #fff;
}

@media (max-width: 680px) {
    :root {
        --ai1-inner-section: 3.5rem;
    }
}

/* ==========================================================================
   02. CONTACT TOKENS & SECTION RHYTHM
========================================================================== */
.ai1x-page--contact {
    --ai1c-black: #010503;
    --ai1c-black-soft: #041009;
    --ai1c-panel: rgba(5, 18, 10, .92);
    --ai1c-panel-strong: rgba(3, 13, 7, .98);
    --ai1c-green: #91ff19;
    --ai1c-green-deep: #64c900;
    --ai1c-white: #f7fbf8;
    --ai1c-muted: #91a297;
    --ai1c-line: rgba(145, 255, 25, .17);
    --ai1c-line-strong: rgba(145, 255, 25, .42);
    --ai1c-shadow: 0 28px 80px rgba(0, 0, 0, .42);
    --ai1c-shadow-big: 0 42px 110px rgba(0, 0, 0, .54);
    --ai1c-radius: 30px;
    --ai1c-section: clamp(76px, 7vw, 112px);
    --ai1c-heading-gap: clamp(34px, 4vw, 52px);
    background: var(--ai1c-black);
    overflow: clip;
}

.ai1x-page--contact .ai1x-section {
    min-height: 0;
    padding-top: var(--ai1c-section);
    padding-bottom: var(--ai1c-section);
    position: relative;
}

.ai1x-page--contact .ai1x-section + .ai1x-section {
    margin-top: 0;
}

.ai1x-page--contact .ai1x-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 3px;
    transform: none;
    background: linear-gradient(
            90deg,
            rgba(91, 190, 0, .35) 0%,
            #a6ff22 8%,
            #8cff13 38%,
            #9dff1d 62%,
            #73d600 92%,
            rgba(73, 150, 0, .34) 100%
        );
    box-shadow: 0 0 6px rgba(145, 255, 25, .65),
        0 0 14px rgba(115, 214, 0, .34);
    opacity: .95;
    animation: ai1c-divider-pulse 3.2s ease-in-out infinite;
}

.ai1x-page--contact .ai1x-heading {
    margin-top: 0;
    margin-bottom: var(--ai1c-heading-gap);
}

.ai1x-page--contact .ai1x-heading > :first-child {
    margin-top: 0;
}

.ai1x-page--contact .ai1x-heading > :last-child {
    margin-bottom: 0;
}

.ai1c-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
}

.ai1c-route {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
}

.ai1x-page--contact .ai1x-section > .ai1x-shell {
    position: relative;
    z-index: 2;
}

.ai1x-page--contact .ai1x-section::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    right: 0;
    height: 48px;
    pointer-events: none;
    background: linear-gradient(
            180deg,
            rgba(21, 76, 16, .18),
            rgba(6, 27, 10, .08) 48%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
}

.ai1x-page--contact .ai1c-route::before {
    content: "";
    position: absolute;
    left: 5%;
    right: 5%;
    top: 63px;
    height: 2px;
    z-index: 0;
    background: linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 70, 78, .75) 10%,
            rgba(255, 184, 39, .85) 38%,
            rgba(145, 255, 25, .9) 66%,
            rgba(145, 255, 25, .35) 92%,
            transparent 100%
        );
    box-shadow: 0 0 12px rgba(145, 255, 25, .14);
}

.ai1x-page--contact .ai1c-route::after {
    content: "";
    position: absolute;
    top: 58px;
    left: 5%;
    z-index: 1;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #91ff19;
    box-shadow: 0 0 10px #91ff19,
        0 0 24px rgba(145, 255, 25, .68);
    animation: ai1c-process-packet 5.2s ease-in-out infinite;
}

/* ==========================================================================
   03. CONTACT HERO — SIGNAL CORE
   Definitive layout: copy left, visual + telemetry right
========================================================================== */

.ai1x-page--contact .ai1c-hero {
    position: relative;
    min-height: 0;
    padding: 0 !important;
    overflow: hidden;
}

.ai1x-page--contact .ai1c-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(145,255,25,.82), rgba(240,213,154,.46), transparent);
    box-shadow: 0 0 18px rgba(145,255,25,.18);
    pointer-events: none;
}

.ai1x-page--contact .ai1c-hero__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(540px, 1.1fr);
    gap: clamp(44px, 5vw, 82px);
    align-items: start;
    min-height: 0;
    padding: clamp(62px, 6vw, 88px) 0 clamp(64px, 6vw, 90px);
}

.ai1x-page--contact .ai1c-hero__copy {
    position: relative;
    z-index: 5;
    align-self: start;
    max-width: 720px;
    margin: 0 !important;
    padding: 0 !important;
}

.ai1x-page--contact .ai1c-hero__copy .ai1x-kicker {
    margin: 0 0 18px !important;
}

.ai1x-page--contact .ai1c-hero__copy h1 {
    max-width: 720px;
    margin: 0 0 28px !important;
    font-size: clamp(4rem, 5.35vw, 6.25rem) !important;
    line-height: .96 !important;
}

.ai1x-page--contact .ai1c-hero__copy h1 span {
    line-height: .96;
}

.ai1x-page--contact .ai1c-hero__copy .ai1x-hero__lead {
    max-width: 670px;
    margin: 0 !important;
}

.ai1c-hero__watermark {
    position: absolute;
    z-index: 0;
    right: -2vw;
    top: 52%;
    transform: translateY(-50%);
    color: rgba(255,255,255,.018);
    font-size: clamp(8rem, 18vw, 20rem);
    font-weight: 700;
    line-height: .8;
    letter-spacing: -.09em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.ai1c-hero-telemetry {
    display: grid;
    grid-template-columns: auto minmax(34px, 1fr) auto minmax(34px, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: min(100%, 630px);
    margin-top: 30px;
    color: rgba(223,235,226,.58);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ai1c-hero-telemetry > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.ai1c-hero-telemetry > span i {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 10px rgba(145,255,25,.76);
    animation: ai1cV3StatusPulse 1.8s ease-in-out infinite;
}

.ai1c-hero-telemetry > b {
    position: relative;
    height: 1px;
    overflow: hidden;
    background: rgba(145,255,25,.13);
}

.ai1c-hero-telemetry > b em {
    position: absolute;
    top: 0;
    left: -45%;
    width: 42%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--ai1c-green), transparent);
    box-shadow: 0 0 8px rgba(145,255,25,.55);
    animation: ai1cV3Telemetry 2.8s linear infinite;
}

.ai1c-hero-telemetry > b:nth-of-type(2) em {
    animation-delay: -1.35s;
}

/* Signal stage */
.ai1c-signal-stage {
    --stage-green: #91ff19;
    --stage-amber: #ffc43d;
    --stage-blue: #55bfff;
    --stage-red: #ff5964;
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-rows: 500px auto;
    width: 100%;
    min-height: 0;
    align-self: start;
    overflow: visible;
    perspective: 1200px;
    transform-style: preserve-3d;
    margin: 0 !important;
}

.ai1c-signal-stage::before {
    content: "";
    position: absolute;
    inset: 2% 1% 2%;
    z-index: -3;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(145,255,25,.08), rgba(145,255,25,.02) 34%, transparent 68%);
    filter: blur(2px);
    animation: ai1cV3StageBreathe 5s ease-in-out infinite;
}

.ai1c-signal-stage::after {
    content: "";
    position: absolute;
    left: 8%;
    right: 4%;
    bottom: 2%;
    z-index: -2;
    height: 15%;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(145,255,25,.08), transparent 68%);
    filter: blur(20px);
    transform: rotateX(72deg);
    pointer-events: none;
}

.ai1c-signal-stage__grid {
    position: absolute;
    inset: 0 -4% 0 0;
    z-index: -2;
    opacity: .16;
    background-image:
        linear-gradient(rgba(145,255,25,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(145,255,25,.10) 1px, transparent 1px);
    background-size: 31px 31px;
    mask-image: radial-gradient(circle at 54% 37%, #000 10%, rgba(0,0,0,.7) 48%, transparent 78%);
    transform: perspective(620px) rotateX(5deg) rotateY(-4deg);
    pointer-events: none;
}

.ai1c-signal-stage__scan {
    position: absolute;
    top: 2%;
    bottom: 3%;
    left: 10%;
    z-index: 9;
    width: 1px;
    opacity: .6;
    background: linear-gradient(transparent, var(--stage-green), transparent);
    box-shadow: 0 0 12px rgba(145,255,25,.5);
    animation: ai1cV3StageScan 6.2s ease-in-out infinite;
    pointer-events: none;
}

/* Visual zone */
.ai1c-signal-visual {
    position: relative;
    min-height: 500px;
}

.ai1c-signal-stage__label {
    position: absolute;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 11px;
    border: 1px solid rgba(145,255,25,.16);
    border-radius: 999px;
    background: rgba(2,10,5,.52);
    color: rgba(224,235,227,.56);
    backdrop-filter: blur(10px);
    font-size: .53rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ai1c-signal-stage__label--top {
    top: 30px;
    left: 8px;
}

.ai1c-signal-stage__label i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--stage-green);
    box-shadow: 0 0 10px var(--stage-green);
    animation: ai1cV3StatusPulse 1.5s ease-in-out infinite;
}

.ai1c-orbit-system {
    position: absolute;
    left: 55%;
    top: 50%;
    width: min(86%, 560px);
    aspect-ratio: 1.08 / 1;
    transform: translate(-50%, -50%);
    transform-style: preserve-3d;
}

.ai1c-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.ai1c-orbit--one {
    width: 88%;
    height: 73%;
    border: 1px solid rgba(145,255,25,.23);
    box-shadow: inset 0 0 30px rgba(145,255,25,.02);
    transform: translate(-50%, -50%) rotate(-13deg);
    animation: ai1cV3OrbitOne 18s linear infinite;
}

.ai1c-orbit--two {
    width: 70%;
    height: 91%;
    border: 1px dashed rgba(255,196,61,.18);
    transform: translate(-50%, -50%) rotate(31deg);
    animation: ai1cV3OrbitTwo 24s linear infinite reverse;
}

.ai1c-orbit--three {
    width: 56%;
    height: 56%;
    border: 1px dotted rgba(85,191,255,.22);
    animation: ai1cV3OrbitThree 12s linear infinite;
}

.ai1c-orbit--four {
    width: 39%;
    height: 39%;
    border: 1px solid rgba(145,255,25,.16);
    box-shadow: 0 0 26px rgba(145,255,25,.06);
    animation: ai1cV3OrbitPulse 3s ease-in-out infinite;
}

.ai1c-crosshair {
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    background: linear-gradient(90deg, transparent, rgba(145,255,25,.13), transparent);
    pointer-events: none;
}

.ai1c-crosshair--x {
    width: 92%;
    height: 1px;
    transform: translate(-50%, -50%);
}

.ai1c-crosshair--y {
    width: 1px;
    height: 92%;
    background: linear-gradient(transparent, rgba(145,255,25,.13), transparent);
    transform: translate(-50%, -50%);
}

.ai1c-signal-core {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 8;
    display: grid;
    width: 150px;
    height: 150px;
    place-items: center;
    border: 1px solid rgba(145,255,25,.52);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 28%, rgba(255,255,255,.09), transparent 24%),
        radial-gradient(circle, rgba(145,255,25,.17), rgba(4,18,9,.98) 62%);
    box-shadow:
        0 0 28px rgba(145,255,25,.18),
        0 0 80px rgba(145,255,25,.08),
        inset 0 0 34px rgba(145,255,25,.09);
    transform: translate(-50%, -50%);
    transition: transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .42s ease;
}

.ai1c-signal-stage:hover .ai1c-signal-core {
    transform: translate(-50%, -50%) scale(1.07);
    box-shadow:
        0 0 38px rgba(145,255,25,.32),
        0 0 100px rgba(145,255,25,.13),
        inset 0 0 40px rgba(145,255,25,.12);
}

.ai1c-signal-core__inner {
    position: relative;
    z-index: 4;
    display: grid;
    place-items: center;
    text-align: center;
}

.ai1c-signal-core__inner small {
    color: rgba(225,237,228,.45);
    font-size: .48rem;
    font-weight: 700;
    letter-spacing: .18em;
}

.ai1c-signal-core__inner strong {
    margin: 4px 0 0;
    color: #fff;
    font-size: 2.65rem;
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.07em;
    text-shadow: 0 0 22px rgba(145,255,25,.18);
}

.ai1c-signal-core__inner span {
    margin-top: 5px;
    color: var(--stage-green);
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .17em;
}

.ai1c-signal-core__pulse {
    position: absolute;
    inset: -3px;
    border: 1px solid rgba(145,255,25,.34);
    border-radius: 50%;
    animation: ai1cV3CorePulse 3.6s ease-out infinite;
}

.ai1c-signal-core__pulse--two { animation-delay: 1.2s; }
.ai1c-signal-core__pulse--three { animation-delay: 2.4s; }

.ai1c-brand-node {
    --node-colour: var(--stage-green);
    position: absolute;
    z-index: 7;
    display: grid;
    min-width: 142px;
    gap: 3px;
    padding: 13px 15px 12px 38px;
    border: 1px solid color-mix(in srgb, var(--node-colour) 36%, transparent);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(6,20,11,.88), rgba(1,7,4,.88));
    backdrop-filter: blur(12px);
    box-shadow:
        0 16px 36px rgba(0,0,0,.32),
        0 0 24px color-mix(in srgb, var(--node-colour) 7%, transparent);
    animation: ai1cV3NodeFloat 4.4s ease-in-out infinite;
    transition: transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}

.ai1c-brand-node:hover {
    border-color: color-mix(in srgb, var(--node-colour) 75%, white);
    box-shadow:
        0 22px 46px rgba(0,0,0,.4),
        0 0 34px color-mix(in srgb, var(--node-colour) 18%, transparent);
}

.ai1c-brand-node--host {
    --node-colour: var(--stage-green);
    left: -2%;
    top: 43%;
}

.ai1c-brand-node--design {
    --node-colour: var(--stage-amber);
    right: -1%;
    top: 12%;
    animation-delay: -1.45s;
}

.ai1c-brand-node--security {
    --node-colour: var(--stage-blue);
    right: 2%;
    bottom: 10%;
    animation-delay: -2.9s;
}

.ai1c-brand-node__lamp {
    position: absolute;
    left: 15px;
    top: 50%;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--node-colour);
    box-shadow:
        0 0 10px var(--node-colour),
        0 0 24px color-mix(in srgb, var(--node-colour) 50%, transparent);
    transform: translateY(-50%);
    animation: ai1cV3StatusPulse 1.8s ease-in-out infinite;
}

.ai1c-brand-node small {
    color: rgba(219,231,222,.42);
    font-size: .48rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1c-brand-node strong {
    color: #f7fbf8;
    font-size: .82rem;
    font-weight: 600;
}

.ai1c-brand-node em {
    color: var(--node-colour);
    font-size: .47rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1c-route-beam {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    height: 1px;
    transform-origin: left center;
    pointer-events: none;
}

.ai1c-route-beam::before {
    content: "";
    position: absolute;
    inset: -1px 0;
    background: linear-gradient(90deg, rgba(145,255,25,.55), rgba(145,255,25,.07));
    box-shadow: 0 0 8px rgba(145,255,25,.18);
}

.ai1c-route-beam--host { width: 43%; transform: rotate(180deg); }
.ai1c-route-beam--design { width: 43%; transform: rotate(-35deg); }
.ai1c-route-beam--security { width: 42%; transform: rotate(34deg); }

.ai1c-route-beam--design::before {
    background: linear-gradient(90deg, rgba(255,196,61,.52), rgba(255,196,61,.06));
}

.ai1c-route-beam--security::before {
    background: linear-gradient(90deg, rgba(85,191,255,.5), rgba(85,191,255,.06));
}

.ai1c-data-packet {
    position: absolute;
    z-index: 6;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 50%;
    background: var(--stage-green);
    box-shadow: 0 0 11px currentColor, 0 0 22px currentColor;
    opacity: 0;
}

.ai1c-data-packet--one { color: var(--stage-green); animation: ai1cV3PacketHost 3.3s ease-in-out infinite; }
.ai1c-data-packet--two { color: var(--stage-amber); background: currentColor; animation: ai1cV3PacketDesign 3.8s ease-in-out infinite -.8s; }
.ai1c-data-packet--three { color: var(--stage-blue); background: currentColor; animation: ai1cV3PacketSecurity 4.1s ease-in-out infinite -1.7s; }
.ai1c-data-packet--four { color: #fff; width: 5px; height: 5px; animation: ai1cV3PacketOrbit 5.4s linear infinite; }

/* Telemetry zone */
.ai1c-signal-telemetry {
    position: relative;
    z-index: 12;
    display: grid;
    gap: 10px;
    width: min(100%, 610px);
    margin: 0 auto;
    margin-top: 24px;
    padding: 0 8px;
}

.ai1c-floating-status {
    position: relative;
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 3px;
    padding: 9px 12px;
    border: 1px solid rgba(145,255,25,.15);
    border-radius: 13px;
    background: rgba(2,9,5,.58);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    backdrop-filter: blur(10px);
    animation: ai1cV3TelemetryFloat 5s ease-in-out infinite;
}

.ai1c-floating-status--two {
    width: 100%;
    margin-left: 0;
    animation-delay: -1.7s;
}

.ai1c-floating-status--three {
    width: 100%;
    margin-right: 0;
    animation-delay: -3.1s;
}

.ai1c-floating-status small {
    color: rgba(217,231,220,.38);
    font-size: .47rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.ai1c-floating-status strong {
    color: rgba(247,251,248,.88);
    font-size: .7rem;
    font-weight: 600;
}

.ai1c-floating-status span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--stage-green);
    font-size: .46rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.ai1c-floating-status span i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
}

.ai1c-signal-stage__footer {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
    padding: 9px 11px;
    border-top: 1px solid rgba(145,255,25,.13);
    border-bottom: 1px solid rgba(145,255,25,.08);
    color: rgba(221,232,224,.4);
    font-size: .46rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.ai1c-signal-stage__footer strong {
    justify-self: center;
    color: rgba(223,234,226,.42);
    font-size: .45rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1c-signal-stage__footer span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.ai1c-signal-stage__footer span:first-child { color: var(--stage-green); }
.ai1c-signal-stage__footer span:last-child { color: rgba(247,251,248,.66); }

.ai1c-signal-stage__footer i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 8px currentColor;
    animation: ai1cV3StatusPulse 1.6s ease-in-out infinite;
}

/* ==========================================================================
   04. CONTACT METHODS
========================================================================== */
.ai1c-contact {
    background: radial-gradient(
            circle at 75% 10%,
            rgba(145, 255, 25, .055),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #061009,
            #020704
        );
}

.ai1c-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr)
        minmax(480px, 1.15fr);
    gap: clamp(46px, 7vw, 100px);
    align-items: start !important;
}

.ai1c-contact-grid > * {
    min-width: 0;
    align-self: start;
}

.ai1c-contact__heading {
    margin-bottom: clamp(30px, 4vw, 48px) !important;
}

.ai1c-contact__heading h2 {
    margin-top: 0;
}

.ai1c-contact__heading > p:last-child {
    max-width: 650px;
}

.ai1c-contact-options {
    display: grid;
    gap: 14px;
}

.ai1c-contact-option {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: 48px
        62px
        minmax(0, 1fr)
        auto;
    gap: 18px;
    align-items: center;
    min-height: 138px;
    padding: 20px 22px !important;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .14) !important;
    border-radius: 22px !important;
    background: linear-gradient(
            145deg,
            rgba(10, 25, 15, .82),
            rgba(3, 12, 7, .92)
        ) !important;
    color: inherit !important;
    text-decoration: none !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .2);
    transition: transform .36s cubic-bezier(.2, .8, .2, 1),
        border-color .32s ease,
        box-shadow .32s ease;
}

.ai1c-contact-option::before {
    content: "";
    position: absolute;
    left: -30%;
    bottom: 0;
    width: 30%;
    height: 2px;
    background: linear-gradient(
            90deg,
            transparent,
            var(--ai1c-green),
            transparent
        );
    animation: ai1c-card-scan 4.6s ease-in-out infinite;
    pointer-events: none;
}

.ai1c-contact-option:nth-child(2)::before {
    animation-delay: 1.3s;
}

.ai1c-contact-option:nth-child(3)::before {
    animation-delay: 2.6s;
}

.ai1c-contact-option:hover , .ai1c-contact-option:focus-visible {
    transform: translateX(8px)
        translateY(-4px);
    border-color: rgba(145, 255, 25, .48) !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .32),
        0 0 30px rgba(145, 255, 25, .08);
    outline: none;
}

.ai1c-contact-option__number {
    color: rgba(145, 255, 25, .62);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1c-contact-option__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(145, 255, 25, .26);
    border-radius: 17px;
    background: radial-gradient(
            circle,
            rgba(145, 255, 25, .12),
            rgba(0, 0, 0, .14)
        );
    color: var(--ai1c-green);
    font-size: 1.25rem;
    box-shadow: inset 0 0 20px rgba(145, 255, 25, .035);
    transition: transform .35s ease,
        box-shadow .35s ease;
}

.ai1c-contact-option:hover .ai1c-contact-option__icon {
    transform: rotate(-5deg)
        scale(1.08);
    box-shadow: 0 0 28px rgba(145, 255, 25, .14);
}

.ai1c-contact-option__copy {
    display: grid;
    min-width: 0;
}

.ai1c-contact-option__copy small {
    color: var(--ai1c-green) !important;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ai1c-contact-option__copy strong {
    margin-top: 6px;
    color: #fff !important;
    font-size: clamp(1rem, 1.4vw, 1.3rem);
    line-height: 1.25;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ai1c-contact-option__copy p {
    margin: 7px 0 0 !important;
    color: rgba(255, 255, 255, .54) !important;
    font-size: .83rem !important;
    line-height: 1.6 !important;
}

.ai1c-contact-option__arrow {
    color: var(--ai1c-green) !important;
    font-size: 1.2rem;
    transition: transform .32s ease;
}

.ai1c-contact-option:hover .ai1c-contact-option__arrow {
    transform: translate(4px, -4px);
}

.ai1c-contact-option__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .48);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.ai1c-contact-option__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 10px var(--ai1c-green);
}

/* ==========================================================================
   05. ENQUIRY FORM
========================================================================== */
.ai1c-form-card {
    position: relative;
    isolation: isolate;
    align-self: start;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .3);
    border-radius: 32px;
    background: radial-gradient(
            circle at 90% 0,
            rgba(145, 255, 25, .1),
            transparent 30%
        ),
        linear-gradient(
            165deg,
            rgba(9, 25, 15, .98),
            rgba(2, 10, 5, .99)
        );
    box-shadow: 0 38px 96px rgba(0, 0, 0, .44),
        0 0 45px rgba(145, 255, 25, .055);
}

.ai1c-form-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .15;
    background-image: radial-gradient(
            circle,
            rgba(145, 255, 25, .45) 1px,
            transparent 1.5px
        );
    background-size: 32px 32px;
    mask-image: linear-gradient(
            to bottom,
            #000,
            transparent 55%
        );
}

.ai1c-form-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px
        clamp(24px, 4vw, 38px);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.ai1c-form-card__head > div {
    display: grid;
    gap: 5px;
}

.ai1c-form-card__head small {
    color: var(--ai1c-green);
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.ai1c-form-card__head strong {
    color: #fff;
    font-size: 1.08rem;
    font-weight: 600;
}

.ai1c-form-card__head > span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .42);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.ai1c-form-card__head > span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 10px var(--ai1c-green);
    animation: ai1c-ready-pulse 1.5s ease-in-out infinite;
}

.ai1c-form-card__intro {
    padding: 23px
        clamp(24px, 4vw, 38px)
        0;
}

.ai1c-form-card__intro p {
    max-width: 620px;
    margin: 0 !important;
    color: rgba(255, 255, 255, .55) !important;
    font-size: .88rem !important;
    line-height: 1.7 !important;
}

.ai1x-page--contact .ai1c-form {
    display: grid;
    gap: 18px;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    padding: clamp(24px, 4vw, 38px);
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    align-self: start;
}

.ai1x-page--contact .ai1c-form .ai1x-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ai1c-form label {
    display: grid;
    gap: 8px;
    margin: 0;
}

.ai1c-form label > span {
    color: rgba(255, 255, 255, .58);
    font-size: .67rem;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ai1c-form input , .ai1c-form select , .ai1c-form textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .038) !important;
    color: #fff !important;
    outline: none;
    transition: border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.ai1c-form input , .ai1c-form select {
    min-height: 54px;
    padding: 0 15px !important;
}

.ai1c-form textarea {
    min-height: 145px;
    padding: 15px !important;
    resize: vertical;
}

.ai1c-form input:hover , .ai1c-form select:hover , .ai1c-form textarea:hover {
    border-color: rgba(145, 255, 25, .22) !important;
}

.ai1c-form input:focus , .ai1c-form select:focus , .ai1c-form textarea:focus {
    transform: translateY(-1px);
    border-color: rgba(145, 255, 25, .62) !important;
    background: rgba(145, 255, 25, .035) !important;
    box-shadow: 0 0 0 4px rgba(145, 255, 25, .055),
        0 8px 24px rgba(0, 0, 0, .16);
}

.ai1c-form select option {
    color: #111;
}

.ai1c-form__check {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start;
    gap: 11px !important;
    padding-top: 2px;
}

.ai1c-form__check input {
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin-top: 2px;
    accent-color: var(--ai1c-green);
}

.ai1c-form__check span {
    text-transform: none !important;
    font-size: .72rem !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
}

.ai1c-form__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
    margin-top: 4px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .065);
}

.ai1c-form__privacy {
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: 310px;
    color: rgba(255, 255, 255, .38);
    font-size: .62rem;
    line-height: 1.55;
}

.ai1c-form__privacy i {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 9px rgba(145, 255, 25, .65);
}

.ai1c-form__submit {
    position: relative;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: auto !important;
    min-width: 180px;
    min-height: 56px;
    overflow: hidden;
    border-radius: 999px !important;
    color: #061006 !important;
    font-weight: 700;
    box-shadow: 0 14px 34px rgba(115, 214, 0, .24);
    transition: transform .3s ease,
        box-shadow .3s ease;
}

.ai1c-form__submit::before {
    content: "";
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -35%;
    width: 20%;
    z-index: -1;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, .42),
            transparent
        );
    transform: skewX(-17deg);
    transition: left .7s ease;
}

.ai1c-form__submit:hover , .ai1c-form__submit:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 20px 46px rgba(115, 214, 0, .36);
}

.ai1c-form__submit:hover::before , .ai1c-form__submit:focus-visible::before {
    left: 125%;
}

.ai1c-form__submit b {
    font-size: 1.05rem;
    transition: transform .25s ease;
}

.ai1c-form__submit:hover b {
    transform: translateX(4px);
}

/* ==========================================================================
   06. WHAT HAPPENS NEXT
========================================================================== */
.ai1c-next {
    background: radial-gradient(
            circle at 50% 0,
            rgba(145, 255, 25, .07),
            transparent 32%
        ),
        #010403;
}

.ai1c-next__heading {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: clamp(48px, 6vw, 78px) !important;
    text-align: center;
}

.ai1c-next__heading > p:last-child {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, .52);
}

.ai1c-route__line {
    position: absolute;
    z-index: -1;
    top: 49px;
    left: 7%;
    right: 7%;
    height: 2px;
    overflow: hidden;
    background: rgba(145, 255, 25, .12);
}

.ai1c-route__line::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
            90deg,
            transparent,
            rgba(145, 255, 25, .9),
            transparent
        );
    transform: translateX(-100%);
    animation: ai1c-route-flow 3.4s linear infinite;
}

.ai1c-route__line span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 14px var(--ai1c-green);
    transform: translateY(-50%);
    animation: ai1c-route-packet 4s ease-in-out infinite;
}

.ai1c-route-card {
    --route-delay: 0s;
    position: relative;
    isolation: isolate;
    min-height: 360px;
    overflow: hidden;
    padding: 25px
        clamp(20px, 2vw, 28px)
        22px;
    border: 1px solid rgba(145, 255, 25, .15);
    border-radius: 25px;
    background: radial-gradient(
            circle at 50% 0,
            rgba(145, 255, 25, .075),
            transparent 35%
        ),
        linear-gradient(
            160deg,
            rgba(8, 22, 12, .92),
            rgba(2, 9, 5, .98)
        );
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28),
        inset 0 1px rgba(255, 255, 255, .035);
    transition: transform .38s cubic-bezier(.2, .8, .2, 1),
        border-color .36s ease,
        box-shadow .36s ease;
    animation: ai1c-route-breathe 8s ease-in-out infinite;
    animation-delay: var(--route-delay);
}

.ai1c-route-card--02 {
    --route-delay: 1.5s;
}

.ai1c-route-card--03 {
    --route-delay: 3s;
}

.ai1c-route-card--04 {
    --route-delay: 4.5s;
}

.ai1c-route-card::before {
    content: "";
    position: absolute;
    left: -45%;
    bottom: 0;
    width: 45%;
    height: 3px;
    background: linear-gradient(
            90deg,
            transparent,
            var(--ai1c-green),
            transparent
        );
    animation: ai1c-route-card-line 4.8s ease-in-out infinite;
    animation-delay: var(--route-delay);
}

.ai1c-route-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .12;
    background-image: linear-gradient(
            rgba(145, 255, 25, .09) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(145, 255, 25, .09) 1px,
            transparent 1px
        );
    background-size: 26px 26px;
    mask-image: linear-gradient(
            #000,
            transparent 78%
        );
}

.ai1c-route-card:hover {
    transform: translateY(-14px)
        scale(1.018);
    border-color: rgba(145, 255, 25, .48);
    box-shadow: 0 38px 82px rgba(0, 0, 0, .4),
        0 0 40px rgba(145, 255, 25, .1);
}

.ai1c-route-card__ghost {
    position: absolute;
    right: 8px;
    top: -27px;
    color: rgba(145, 255, 25, .045);
    font-size: clamp(6rem, 8vw, 9rem);
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
    transition: transform .45s ease,
        color .45s ease;
}

.ai1c-route-card:hover .ai1c-route-card__ghost {
    transform: translateY(10px)
        scale(1.05);
    color: rgba(145, 255, 25, .08);
}

.ai1c-route-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ai1c-route-card__top small {
    color: var(--ai1c-green);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1c-route-card__node {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(145, 255, 25, .34);
    border-radius: 50%;
    background: rgba(3, 12, 7, .95);
    box-shadow: 0 0 24px rgba(145, 255, 25, .08);
}

.ai1c-route-card__node::before {
    content: "";
    position: absolute;
    inset: -8px;
    border: 1px dashed rgba(145, 255, 25, .18);
    border-radius: 50%;
    animation: ai1c-node-spin 8s linear infinite;
}

.ai1c-route-card__node i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 12px var(--ai1c-green);
    animation: ai1c-ready-pulse 1.6s ease-in-out infinite;
}

.ai1c-route-card__graphic {
    position: relative;
    display: grid;
    place-items: center;
    height: 105px;
    margin: 26px 0 18px;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .11);
    border-radius: 18px;
    background: radial-gradient(
            circle,
            rgba(145, 255, 25, .075),
            rgba(0, 0, 0, .16)
        );
}

.ai1c-route-card__graphic--read {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 27px 30px;
}

.ai1c-route-card__graphic--read span {
    width: 100%;
    height: 5px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .15);
}

.ai1c-route-card__graphic--read span:nth-child(2) {
    width: 76%;
}

.ai1c-route-card__graphic--read span:nth-child(3) {
    width: 88%;
}

.ai1c-route-card__graphic--read i {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 20%;
    height: 2px;
    background: linear-gradient(
            90deg,
            transparent,
            var(--ai1c-green),
            transparent
        );
    animation: ai1c-reader-scan 2.4s ease-in-out infinite;
}

.ai1c-route-card__graphic--clarify span {
    display: grid;
    place-items: center;
    width: 55px;
    height: 55px;
    border: 1px solid rgba(145, 255, 25, .4);
    border-radius: 50%;
    color: var(--ai1c-green);
    font-size: 1.5rem;
    box-shadow: 0 0 25px rgba(145, 255, 25, .1);
    animation: ai1c-question-pulse 2.3s ease-in-out infinite;
}

.ai1c-route-card__graphic--clarify i {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(145, 255, 25, .7);
    box-shadow: 0 0 9px var(--ai1c-green);
}

.ai1c-route-card__graphic--clarify i:nth-of-type(1) {
    left: 24%;
    top: 31%;
}

.ai1c-route-card__graphic--clarify i:nth-of-type(2) {
    right: 24%;
    bottom: 29%;
}

.ai1c-route-card__graphic--route {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 20px;
}

.ai1c-route-card__graphic--route span {
    width: 22px;
    height: 22px;
    border: 1px solid rgba(145, 255, 25, .5);
    border-radius: 50%;
    background: rgba(145, 255, 25, .05);
    box-shadow: 0 0 12px rgba(145, 255, 25, .08);
}

.ai1c-route-card__graphic--route::before , .ai1c-route-card__graphic--route::after {
    content: "";
    position: absolute;
    left: 25%;
    right: 25%;
    height: 1px;
    background: rgba(145, 255, 25, .22);
}

.ai1c-route-card__graphic--route i {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 10px var(--ai1c-green);
    animation: ai1c-route-mini-packet 2.3s ease-in-out infinite;
}

.ai1c-route-card__graphic--explain span {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border: 1px solid rgba(145, 255, 25, .4);
    border-radius: 20px;
    color: var(--ai1c-green);
    font-size: 1.5rem;
    animation: ai1c-arrow-float 1.7s ease-in-out infinite;
}

.ai1c-route-card__graphic--explain i {
    position: absolute;
    width: 90px;
    height: 90px;
    border: 1px solid rgba(145, 255, 25, .12);
    border-radius: 50%;
    animation: ai1c-explain-ring 2.4s ease-out infinite;
}

.ai1c-route-card h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(1.25rem, 1.5vw, 1.55rem);
    font-weight: 600;
}

.ai1c-route-card > p {
    position: relative;
    z-index: 2;
    margin: 0 !important;
    color: rgba(255, 255, 255, .58) !important;
    font-size: .86rem !important;
    line-height: 1.7 !important;
}

.ai1c-route-card footer {
    position: absolute;
    left: clamp(20px, 2vw, 28px);
    right: clamp(20px, 2vw, 28px);
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.ai1c-route-card footer span {
    color: rgba(255, 255, 255, .35);
    font-size: .54rem;
    font-weight: 700;
    letter-spacing: .11em;
}

.ai1c-route-card footer i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 9px var(--ai1c-green);
}

.ai1c-next__finish {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px 20px;
    margin-top: clamp(34px, 4vw, 52px);
    padding: 18px 24px;
    border: 1px solid rgba(145, 255, 25, .13);
    border-radius: 18px;
    background: rgba(145, 255, 25, .025);
    color: rgba(255, 255, 255, .42);
}

.ai1c-next__finish span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .11em;
}

.ai1c-next__finish span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1c-green);
    box-shadow: 0 0 9px var(--ai1c-green);
}

.ai1c-next__finish strong {
    color: rgba(255, 255, 255, .74);
    font-size: .7rem;
    font-weight: 600;
}

.ai1x-page--contact .ai1c-next {
    overflow: hidden;
    background: radial-gradient(
            circle at 50% 0,
            rgba(145, 255, 25, .075),
            transparent 31%
        ),
        radial-gradient(
            circle at 15% 70%,
            rgba(48, 96, 255, .035),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #010503,
            #030a06
        );
}

.ai1x-page--contact .ai1c-next__heading {
    margin-bottom: clamp(42px, 5vw, 66px) !important;
}

.ai1x-page--contact .ai1c-route__line {
    display: none !important;
}

.ai1x-page--contact .ai1c-route-card {
    --process-colour: #91ff19;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 430px;
    padding: 24px
        clamp(20px, 2vw, 28px)
        22px;
    overflow: hidden;
    border: 2px solid
        color-mix(
            in srgb,
            var(--process-colour) 28%,
            transparent
        );
    border-radius: 30px;
    background: radial-gradient(
            circle at 50% 0,
            color-mix(
                in srgb,
                var(--process-colour) 10%,
                transparent
            ),
            transparent 34%
        ),
        linear-gradient(
            155deg,
            rgba(9, 23, 14, .96),
            rgba(1, 7, 4, .99)
        );
    box-shadow: 0 28px 72px rgba(0, 0, 0, .36),
        inset 0 1px rgba(255, 255, 255, .035);
    animation: ai1c-control-card-cycle 8s ease-in-out infinite;
    transition: transform .42s cubic-bezier(.2, .8, .2, 1),
        border-color .4s ease,
        box-shadow .4s ease;
}

.ai1x-page--contact .ai1c-route-card--01 {
    --process-colour: #ff4c55;
    animation-delay: 0s;
}

.ai1x-page--contact .ai1c-route-card--02 {
    --process-colour: #ffbd32;
    animation-delay: 2s;
}

.ai1x-page--contact .ai1c-route-card--03 {
    --process-colour: #9cff22;
    animation-delay: 4s;
}

.ai1x-page--contact .ai1c-route-card--04 {
    --process-colour: #74ef00;
    animation-delay: 6s;
}

.ai1x-page--contact .ai1c-route-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .22;
    background-image: linear-gradient(
            color-mix(
                in srgb,
                var(--process-colour) 10%,
                transparent
            )
            1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            color-mix(
                in srgb,
                var(--process-colour) 10%,
                transparent
            )
            1px,
            transparent 1px
        );
    background-size: 28px 28px;
    mask-image: linear-gradient(
            #000,
            transparent 78%
        );
    pointer-events: none;
}

.ai1x-page--contact .ai1c-route-card::before {
    content: "";
    position: absolute;
    left: -45%;
    bottom: 0;
    width: 42%;
    height: 3px;
    background: linear-gradient(
            90deg,
            transparent,
            var(--process-colour),
            transparent
        );
    box-shadow: 0 0 16px
        color-mix(
            in srgb,
            var(--process-colour) 65%,
            transparent
        );
    animation: ai1c-control-beam 4.8s ease-in-out infinite;
    animation-delay: inherit;
}

.ai1x-page--contact .ai1c-route-card:hover {
    transform: translateY(-16px)
        scale(1.025);
    border-color: color-mix(
            in srgb,
            var(--process-colour) 82%,
            white
        );
    box-shadow: 0 44px 100px rgba(0, 0, 0, .48),
        0 0 46px
        color-mix(
            in srgb,
            var(--process-colour) 19%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__top {
    min-height: 78px;
    margin-bottom: 8px;
}

.ai1x-page--contact .ai1c-route-card__top small {
    color: color-mix(
            in srgb,
            var(--process-colour) 78%,
            white
        );
    font-size: .66rem;
    letter-spacing: .15em;
}

.ai1x-page--contact .ai1c-route-card__node {
    width: 58px;
    height: 58px;
    border: 2px solid
        color-mix(
            in srgb,
            var(--process-colour) 55%,
            transparent
        );
    background: radial-gradient(
            circle,
            color-mix(
                in srgb,
                var(--process-colour) 12%,
                #021006
            ),
            #020704 68%
        );
    box-shadow: 0 0 26px
        color-mix(
            in srgb,
            var(--process-colour) 15%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__node::before {
    border-color: color-mix(
            in srgb,
            var(--process-colour) 25%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__node i {
    width: 13px;
    height: 13px;
    background: var(--process-colour);
    box-shadow: 0 0 12px var(--process-colour),
        0 0 28px
        color-mix(
            in srgb,
            var(--process-colour) 48%,
            transparent
        );
    animation: ai1c-process-lamp 2s ease-in-out infinite;
}

.ai1x-page--contact .ai1c-route-card__ghost {
    right: -6px;
    top: 54px;
    color: color-mix(
            in srgb,
            var(--process-colour) 7%,
            transparent
        );
    font-size: clamp(6.5rem, 8vw, 9rem);
    line-height: .9;
    transform: rotate(-4deg);
    transition: transform .45s ease,
        color .45s ease;
}

.ai1x-page--contact .ai1c-route-card:hover .ai1c-route-card__ghost {
    transform: rotate(0deg)
        scale(1.08);
    color: color-mix(
            in srgb,
            var(--process-colour) 12%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic {
    flex: 0 0 auto;
    height: 132px;
    margin: 12px 0 24px;
    border: 1px solid
        color-mix(
            in srgb,
            var(--process-colour) 18%,
            transparent
        );
    border-radius: 20px;
    background: radial-gradient(
            circle at center,
            color-mix(
                in srgb,
                var(--process-colour) 11%,
                transparent
            ),
            transparent 55%
        ),
        rgba(0, 0, 0, .2);
    box-shadow: inset 0 0 30px
        color-mix(
            in srgb,
            var(--process-colour) 4%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic--read i , .ai1x-page--contact .ai1c-route-card__graphic--route i {
    background: var(--process-colour);
    box-shadow: 0 0 10px var(--process-colour);
}

.ai1x-page--contact .ai1c-route-card__graphic--read i {
    background: linear-gradient(
            90deg,
            transparent,
            var(--process-colour),
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic--clarify span , .ai1x-page--contact .ai1c-route-card__graphic--explain span {
    border-color: color-mix(
            in srgb,
            var(--process-colour) 55%,
            transparent
        );
    color: var(--process-colour);
    box-shadow: 0 0 28px
        color-mix(
            in srgb,
            var(--process-colour) 13%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic--clarify i {
    background: var(--process-colour);
    box-shadow: 0 0 9px var(--process-colour);
}

.ai1x-page--contact .ai1c-route-card__graphic--route span {
    border-color: color-mix(
            in srgb,
            var(--process-colour) 58%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic--route::before , .ai1x-page--contact .ai1c-route-card__graphic--route::after {
    background: color-mix(
            in srgb,
            var(--process-colour) 32%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card__graphic--explain i {
    border-color: color-mix(
            in srgb,
            var(--process-colour) 20%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card h3 {
    margin: 0 0 13px;
    font-size: clamp(1.35rem, 1.7vw, 1.7rem);
    font-weight: 500;
    letter-spacing: -.025em;
}

.ai1x-page--contact .ai1c-route-card > p {
    flex: 1 1 auto;
    color: rgba(231, 241, 234, .64) !important;
    font-size: .9rem !important;
    line-height: 1.8 !important;
}

.ai1x-page--contact .ai1c-route-card footer {
    position: static;
    flex: 0 0 auto;
    margin-top: 24px;
    padding-top: 17px;
    border-top: 1px solid
        color-mix(
            in srgb,
            var(--process-colour) 15%,
            transparent
        );
}

.ai1x-page--contact .ai1c-route-card footer span {
    color: color-mix(
            in srgb,
            var(--process-colour) 68%,
            #a9b5ac
        );
    font-size: .58rem;
    letter-spacing: .13em;
}

.ai1x-page--contact .ai1c-route-card footer i {
    background: var(--process-colour);
    box-shadow: 0 0 10px var(--process-colour);
}

.ai1x-page--contact .ai1c-next__finish {
    margin-top: clamp(38px, 5vw, 62px);
    border: 1px solid rgba(145, 255, 25, .2);
    background: linear-gradient(
            90deg,
            rgba(255, 72, 82, .035),
            rgba(255, 190, 38, .035),
            rgba(145, 255, 25, .055)
        );
    box-shadow: 0 18px 50px rgba(0, 0, 0, .24),
        inset 0 1px rgba(255, 255, 255, .035);
}

/* Signal-stage children keep their authored positioning.
   The spotlight layer must never turn decorative absolute elements into
   normal-flow boxes. */
.ai1x-page--contact .ai1c-signal-stage > .ai1c-signal-stage__grid,
.ai1x-page--contact .ai1c-signal-stage > .ai1c-signal-stage__scan {
    position: absolute;
}

.ai1x-page--contact .ai1c-signal-stage > .ai1c-signal-visual,
.ai1x-page--contact .ai1c-signal-stage > .ai1c-signal-telemetry {
    position: relative;
}

/* ==========================================================================
   07. POINTER SPOTLIGHT
========================================================================== */
.ai1x-page--contact [data-ai1-spotlight] {
    --spot-x: 50%;
    --spot-y: 50%;
}

.ai1x-page--contact [data-ai1-spotlight] > .ai1-pointer-spotlight {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(
            340px circle
            at var(--spot-x) var(--spot-y),
            rgba(145, 255, 25, .09),
            transparent 65%
        );
    transition: opacity .25s ease;
}

.ai1x-page--contact [data-ai1-spotlight].is-spotlit > .ai1-pointer-spotlight {
    opacity: 1;
}

.ai1x-page--contact [data-ai1-spotlight] > *:not(.ai1-pointer-spotlight) {
    z-index: 1;
}

/* ==========================================================================
   08. ANIMATIONS
========================================================================== */
@keyframes ai1c-ready-pulse {

    0%,
    100% {
        opacity: .4;

        transform:
            scale(.8);
    }

    50% {
        opacity: 1;

        transform:
            scale(1.22);
    }
}
@keyframes ai1c-card-scan {

    0%,
    15% {
        left: -30%;
        opacity: 0;
    }

    28% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    80%,
    100% {
        left: 110%;
        opacity: 0;
    }
}
@keyframes ai1c-route-flow {

    to {
        transform:
            translateX(100%);
    }
}
@keyframes ai1c-route-packet {

    0% {
        left: 0;
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    92% {
        opacity: 1;
    }

    100% {
        left: 100%;
        opacity: 0;
    }
}
@keyframes ai1c-route-breathe {

    0%,
    25%,
    100% {
        border-color:
            rgba(145, 255, 25, .15);

        box-shadow:
            0 24px 60px rgba(0, 0, 0, .28);
    }

    12% {
        border-color:
            rgba(145, 255, 25, .4);

        box-shadow:
            0 30px 70px rgba(0, 0, 0, .34),
            0 0 28px rgba(145, 255, 25, .08);
    }
}
@keyframes ai1c-route-card-line {

    0%,
    18% {
        left: -45%;
        opacity: 0;
    }

    32% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    90%,
    100% {
        left: 110%;
        opacity: 0;
    }
}
@keyframes ai1c-node-spin {

    to {
        transform:
            rotate(360deg);
    }
}
@keyframes ai1c-reader-scan {

    0% {
        top: 20%;
        opacity: .2;
    }

    50% {
        opacity: 1;
    }

    100% {
        top: 78%;
        opacity: .2;
    }
}
@keyframes ai1c-question-pulse {

    0%,
    100% {
        transform:
            scale(.9);

        box-shadow:
            0 0 14px rgba(145, 255, 25, .06);
    }

    50% {
        transform:
            scale(1.08);

        box-shadow:
            0 0 32px rgba(145, 255, 25, .18);
    }
}
@keyframes ai1c-route-mini-packet {

    0% {
        left: 24%;
    }

    50% {
        left: 50%;
    }

    100% {
        left: 76%;
    }
}
@keyframes ai1c-arrow-float {

    0%,
    100% {
        transform:
            translateX(-4px);
    }

    50% {
        transform:
            translateX(6px);
    }
}
@keyframes ai1c-explain-ring {

    0% {
        transform:
            scale(.55);

        opacity: .7;
    }

    100% {
        transform:
            scale(1.25);

        opacity: 0;
    }
}
@keyframes ai1c-divider-pulse {

    0%,
    100% {
        filter: brightness(.85);
        opacity: .78;
    }

    50% {
        filter: brightness(1.35);
        opacity: 1;
    }
}
@keyframes ai1c-process-packet {

    0% {
        left: 5%;
        opacity: 0;
    }

    5% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    100% {
        left: calc(95% - 12px);
        opacity: 0;
    }
}
@keyframes ai1c-control-card-cycle {

    0%,
    24%,
    100% {
        border-color:
            color-mix(
                in srgb,
                var(--process-colour) 28%,
                transparent
            );

        box-shadow:
            0 28px 72px rgba(0, 0, 0, .36);
    }

    9%,
    18% {
        border-color:
            color-mix(
                in srgb,
                var(--process-colour) 70%,
                transparent
            );

        box-shadow:
            0 36px 84px rgba(0, 0, 0, .43),
            0 0 34px
            color-mix(
                in srgb,
                var(--process-colour) 18%,
                transparent
            );
    }
}
@keyframes ai1c-process-lamp {

    0%,
    100% {
        transform:
            scale(.78);

        opacity: .55;
    }

    50% {
        transform:
            scale(1.18);

        opacity: 1;
    }
}
@keyframes ai1c-control-beam {

    0%,
    16% {
        left: -45%;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    68% {
        opacity: 1;
    }

    88%,
    100% {
        left: 110%;
        opacity: 0;
    }
}
@keyframes ai1cV3StageBreathe {
    0%, 100% { transform: scale(.94); opacity: .58; }
    50% { transform: scale(1.06); opacity: 1; }
}
@keyframes ai1cV3StageScan {
    0%, 12% { left: 9%; opacity: 0; }
    20% { opacity: .7; }
    82% { opacity: .7; }
    92%, 100% { left: 91%; opacity: 0; }
}
@keyframes ai1cV3StatusPulse {
    0%, 100% { opacity: .42; transform: scale(.76); }
    50% { opacity: 1; transform: scale(1.18); }
}
@keyframes ai1cV3Telemetry {
    to { left: 120%; }
}
@keyframes ai1cV3OrbitOne {
    to { transform: translate(-50%, -50%) rotate(347deg); }
}
@keyframes ai1cV3OrbitTwo {
    to { transform: translate(-50%, -50%) rotate(391deg); }
}
@keyframes ai1cV3OrbitThree {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes ai1cV3OrbitPulse {
    0%, 100% { opacity: .45; transform: translate(-50%, -50%) scale(.92); }
    50% { opacity: .9; transform: translate(-50%, -50%) scale(1.08); }
}
@keyframes ai1cV3CorePulse {
    0% { transform: scale(.72); opacity: .7; }
    75%, 100% { transform: scale(1.7); opacity: 0; }
}
@keyframes ai1cV3NodeFloat {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(0, -9px, 0); }
}
@keyframes ai1cV3TelemetryFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}
@keyframes ai1cV3PacketHost {
    0%, 8% { transform: translate(0, 0); opacity: 0; }
    15% { opacity: 1; }
    48% { transform: translate(-170px, 0); opacity: 1; }
    58% { transform: translate(-170px, 0); opacity: 0; }
    100% { transform: translate(0, 0); opacity: 0; }
}
@keyframes ai1cV3PacketDesign {
    0%, 8% { transform: translate(0, 0); opacity: 0; }
    15% { opacity: 1; }
    52% { transform: translate(145px, -104px); opacity: 1; }
    63%, 100% { transform: translate(145px, -104px); opacity: 0; }
}
@keyframes ai1cV3PacketSecurity {
    0%, 8% { transform: translate(0, 0); opacity: 0; }
    15% { opacity: 1; }
    52% { transform: translate(146px, 100px); opacity: 1; }
    63%, 100% { transform: translate(146px, 100px); opacity: 0; }
}
@keyframes ai1cV3PacketOrbit {
    0% { transform: translate(0, -126px); opacity: 0; }
    8% { opacity: .9; }
    25% { transform: translate(126px, 0); }
    50% { transform: translate(0, 126px); }
    75% { transform: translate(-126px, 0); }
    92% { opacity: .9; }
    100% { transform: translate(0, -126px); opacity: 0; }
}

/* ==========================================================================
   09. RESPONSIVE BEHAVIOUR
========================================================================== */

@media (max-width: 1160px) {
    .ai1x-page--contact .ai1c-hero__inner {
        grid-template-columns: minmax(0, .9fr) minmax(490px, 1.1fr);
        gap: 30px;
    }

    .ai1x-page--contact .ai1c-hero__copy h1 {
        font-size: clamp(3.8rem, 5.3vw, 5.6rem) !important;
    }

    .ai1c-orbit-system {
        width: min(84%, 520px);
    }

    .ai1c-contact-grid {
        grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
        gap: 45px;
    }

    .ai1x-page--contact .ai1c-route {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ai1x-page--contact .ai1c-route::before,
    .ai1x-page--contact .ai1c-route::after {
        display: none;
    }
}

@media (max-width: 980px) {
    .ai1x-page--contact .ai1c-hero__inner {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 58px 0 70px;
    }

    .ai1x-page--contact .ai1c-hero__copy {
        max-width: 780px;
    }

    .ai1x-page--contact .ai1c-hero__copy h1 {
        font-size: clamp(3.5rem, 9vw, 5.25rem) !important;
    }

    .ai1c-signal-stage {
        width: min(100%, 760px);
        grid-template-rows: 470px auto;
        margin-inline: auto !important;
    }

    .ai1c-signal-visual {
        min-height: 470px;
    }

    .ai1c-orbit-system {
        left: 53%;
        top: 55%;
        width: min(84%, 540px);
    }

    .ai1c-contact-grid {
        grid-template-columns: 1fr;
        gap: clamp(48px, 8vw, 72px);
    }

    .ai1c-form-card {
        width: 100%;
    }
}

@media (max-width: 680px) {
    .ai1x-page--contact {
        --ai1c-section: 64px;
    }

    .ai1x-page--contact .ai1c-hero__inner {
        gap: 32px;
        padding: 46px 0 58px;
    }

    .ai1x-page--contact .ai1c-hero__copy h1 {
        font-size: clamp(3rem, 13vw, 4.1rem) !important;
    }

    .ai1c-hero-telemetry {
        grid-template-columns: 1fr;
        gap: 9px;
        max-width: 340px;
    }

    .ai1c-hero-telemetry > b {
        display: none;
    }

    .ai1c-signal-stage {
        grid-template-rows: 360px auto;
    }

    .ai1c-signal-visual {
        min-height: 360px;
    }

    .ai1c-orbit-system {
        left: 52%;
        top: 55%;
        width: 105%;
        transform: translate(-50%, -50%) scale(.82);
    }

    .ai1c-signal-stage__label--top {
        top: 8px;
        left: 0;
    }

    .ai1c-brand-node {
        min-width: 118px;
        padding: 10px 11px 9px 31px;
        border-radius: 14px;
    }

    .ai1c-brand-node__lamp {
        left: 11px;
        width: 9px;
        height: 9px;
    }

    .ai1c-brand-node strong {
        font-size: .68rem;
    }

    .ai1c-signal-core {
        width: 126px;
        height: 126px;
    }

    .ai1c-signal-core__inner strong {
        font-size: 2.15rem;
    }

    .ai1c-signal-telemetry {
        padding: 0;
    }

    .ai1c-signal-stage__footer {
        grid-template-columns: 1fr;
        gap: 7px;
        text-align: center;
    }

    .ai1c-signal-stage__footer span,
    .ai1c-signal-stage__footer strong {
        justify-self: center;
    }

    .ai1c-contact-option {
        grid-template-columns: 40px 52px minmax(0, 1fr);
        min-height: 0;
        padding: 18px !important;
    }

    .ai1c-contact-option__arrow,
    .ai1c-contact-option__status {
        grid-column: 3;
        justify-self: start;
    }

    .ai1c-contact-option__icon {
        width: 50px;
        height: 50px;
    }

    .ai1x-page--contact .ai1c-form .ai1x-form__grid {
        grid-template-columns: 1fr;
    }

    .ai1c-form-card__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ai1c-form__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .ai1c-form__privacy {
        max-width: none;
    }

    .ai1c-form__submit {
        width: 100% !important;
    }

    .ai1x-page--contact .ai1c-route {
        grid-template-columns: 1fr;
    }

    .ai1x-page--contact .ai1c-route-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .ai1x-page--contact .ai1c-route-card__graphic {
        height: 118px;
    }

    .ai1c-next__finish {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .ai1c-signal-stage {
        grid-template-rows: 330px auto;
    }

    .ai1c-signal-visual {
        min-height: 330px;
    }

    .ai1c-orbit-system {
        width: 114%;
        transform: translate(-50%, -50%) scale(.72);
    }

    .ai1c-floating-status--three {
        width: 100%;
    }

    .ai1c-contact-option {
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 13px;
    }

    .ai1c-contact-option__number {
        display: none;
    }

    .ai1c-contact-option__copy,
    .ai1c-contact-option__arrow,
    .ai1c-contact-option__status {
        grid-column: 2;
    }
}

/* ==========================================================================
   10. REDUCED MOTION
========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ai1x-page--contact .ai1x-section::before , .ai1x-page--contact .ai1c-route::after , .ai1x-page--contact .ai1c-route-card , .ai1x-page--contact .ai1c-route-card::before , .ai1x-page--contact .ai1c-route-card__node i {
        animation: none !important;
    }

    .ai1c-signal-stage::before , .ai1c-signal-stage__scan , .ai1c-signal-stage__label i , .ai1c-hero-telemetry i , .ai1c-hero-telemetry em , .ai1c-orbit , .ai1c-signal-core__pulse , .ai1c-brand-node , .ai1c-brand-node__lamp , .ai1c-data-packet , .ai1c-floating-status , .ai1c-signal-stage__footer i {
        animation: none !important;
    }
}

/* ==========================================================================
   AI1GROUP THANK YOU PAGE
   Prefix: .ai1t-
   Page wrapper: .ai1x-page--thanks

   CONTENTS
   11. Thank You foundation and spacing
   12. Thank You hero
   13. Confirmation console
   14. Confirmation route sequence
   15. What happens now — Contact-style cards
   16. Byte closing section
   17. Thank You animations
   18. Thank You responsive behaviour
   19. Thank You reduced motion
========================================================================== */


/* ==========================================================================
   11. THANK YOU FOUNDATION & SPACING
========================================================================== */

.ai1x-page--thanks {
    --ai1t-green: var(--ai1-accent, #62d400);
    --ai1t-lime: #91ff19;
    --ai1t-gold: #f0d59a;
    --ai1t-white: #f7fbf8;
    --ai1t-muted: #91a297;
    --ai1t-line: rgba(145, 255, 25, .17);
    --ai1t-line-strong: rgba(145, 255, 25, .42);
    --ai1t-section: clamp(76px, 7vw, 112px);

    position: relative;
    overflow: clip;
    background: #010503;
    color: var(--ai1t-white);
}

.ai1x-page--thanks .ai1x-section {
    min-height: 0;
    padding-top: var(--ai1t-section);
    padding-bottom: var(--ai1t-section);
}

.ai1x-page--thanks .ai1x-section + .ai1x-section,
.ai1x-page--thanks section + section {
    margin-top: 0;
}


/* ==========================================================================
   12. THANK YOU HERO
========================================================================== */

.ai1x-page--thanks .ai1t-hero {
    position: relative;
    min-height: 0;
    padding: 0 !important;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 42%, rgba(98, 212, 0, .1), transparent 34rem),
        #020504;
}

.ai1x-page--thanks .ai1t-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(145, 255, 25, .82),
        rgba(240, 213, 154, .46),
        transparent
    );
    box-shadow: 0 0 18px rgba(145, 255, 25, .18);
    pointer-events: none;
}

.ai1x-page--thanks .ai1t-hero__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr);
    gap: clamp(44px, 5vw, 82px);
    align-items: center;
    min-height: 0;
    padding: clamp(66px, 6vw, 92px) 0 clamp(70px, 6vw, 96px);
}

.ai1x-page--thanks .ai1t-hero__copy {
    max-width: 720px;
}

.ai1x-page--thanks .ai1t-hero__copy .ai1x-kicker {
    margin: 0 0 18px;
}

.ai1x-page--thanks .ai1t-hero__copy h1 {
    max-width: 720px;
    margin: 0 0 28px;
    color: #fff;
    font-size: clamp(4rem, 5.35vw, 6.25rem);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.06em;
}

.ai1x-page--thanks .ai1t-hero__copy h1 span {
    color: var(--ai1t-lime);
}

.ai1x-page--thanks .ai1t-hero__copy .ai1x-hero__lead {
    max-width: 670px;
    margin: 0;
    color: #a8b6ab;
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.82;
}

.ai1t-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    margin-top: 1.8rem;
}

.ai1t-hero__meta span {
    display: inline-flex;
    gap: .6rem;
    align-items: center;
    color: #c5d2c7;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ai1t-hero__meta i {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--ai1t-lime);
    box-shadow:
        0 0 0 .25rem rgba(145, 255, 25, .08),
        0 0 1rem rgba(145, 255, 25, .55);
    animation: ai1tMetaPulse 2s ease-in-out infinite;
}

.ai1t-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: clamp(2rem, 3.5vw, 2.8rem);
}

.ai1x-page--thanks .ai1x-button--secondary {
    border-color: rgba(145, 255, 25, .22);
    background: rgba(145, 255, 25, .04);
    color: var(--ai1t-lime) !important;
}

.ai1x-page--thanks .ai1x-button--secondary:hover,
.ai1x-page--thanks .ai1x-button--secondary:focus-visible {
    border-color: rgba(145, 255, 25, .55);
    background: rgba(145, 255, 25, .09);
}


/* ==========================================================================
   13. CONFIRMATION CONSOLE
========================================================================== */

.ai1t-console {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .24);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 0, rgba(145, 255, 25, .07), transparent 36%),
        linear-gradient(145deg, rgba(11, 27, 17, .96), rgba(2, 9, 5, .99));
    box-shadow:
        0 34px 90px rgba(0, 0, 0, .46),
        0 0 46px rgba(145, 255, 25, .06),
        inset 0 1px rgba(255, 255, 255, .035);
}

.ai1t-console::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .22;
    background-image:
        linear-gradient(rgba(145, 255, 25, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(145, 255, 25, .08) 1px, transparent 1px);
    background-size: 28px 28px;
    mask-image: linear-gradient(#000, transparent 82%);
    pointer-events: none;
}

.ai1t-console__glow {
    position: absolute;
    top: -9rem;
    left: 50%;
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    background: rgba(145, 255, 25, .12);
    filter: blur(82px);
    transform: translateX(-50%);
    pointer-events: none;
}

.ai1t-console__head {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.45rem;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.ai1t-console__head div {
    display: grid;
    gap: .2rem;
}

.ai1t-console__head small {
    color: #6f8675;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
}

.ai1t-console__head strong {
    color: #fff;
    font-size: .95rem;
    font-weight: 600;
}

.ai1t-console__live {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    padding: .48rem .7rem;
    border: 1px solid rgba(145, 255, 25, .18);
    border-radius: 999px;
    color: var(--ai1t-lime);
    background: rgba(145, 255, 25, .055);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ai1t-console__live i {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--ai1t-lime);
    box-shadow: 0 0 .8rem rgba(145, 255, 25, .85);
    animation: ai1tStatusBlink 1.5s ease-in-out infinite;
}

.ai1t-console__main {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 1.4rem;
    align-items: center;
    padding: clamp(1.7rem, 3vw, 2.5rem) 1.5rem;
}

.ai1t-confirm {
    position: relative;
    display: grid;
    place-items: center;
    width: 158px;
    height: 158px;
    margin-inline: auto;
}

.ai1t-confirm__ring {
    position: absolute;
    border: 1px solid rgba(145, 255, 25, .16);
    border-radius: 50%;
}

.ai1t-confirm__ring--1 { inset: 6px; }
.ai1t-confirm__ring--2 { inset: 24px; }
.ai1t-confirm__ring--3 { inset: 42px; }

.ai1t-confirm__pulse {
    position: absolute;
    width: 68px;
    height: 68px;
    border: 2px solid rgba(145, 255, 25, .55);
    border-radius: 50%;
    animation: ai1tConfirmPulse 2.3s ease-out infinite;
}

.ai1t-confirm__core {
    position: relative;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
    border: 1px solid rgba(145, 255, 25, .48);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(145, 255, 25, .18), rgba(10, 26, 15, .96));
    box-shadow: 0 0 2rem rgba(145, 255, 25, .17);
}

.ai1t-confirm__core span {
    color: var(--ai1t-lime);
    font-size: 2rem;
    font-weight: 800;
    animation: ai1tCheckIn .7s ease both;
}

.ai1t-console__copy {
    position: relative;
}

.ai1t-console__eyebrow {
    margin: 0 0 .55rem;
    color: var(--ai1t-lime);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ai1t-console__copy > strong {
    display: block;
    color: #fff;
    font-size: clamp(1.25rem, 2.2vw, 1.65rem);
    line-height: 1.2;
}

.ai1t-console__copy > p:last-child {
    max-width: 290px;
    margin: .8rem 0 0;
    color: #8fa294;
    font-size: .84rem;
    line-height: 1.65;
}


/* ==========================================================================
   14. CONFIRMATION ROUTE — LEFT TO RIGHT SEQUENCE
========================================================================== */

.ai1t-console__route {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .06);
}

.ai1t-console__route > div {
    --ai1t-route-delay: 0s;
    position: relative;
    display: grid;
    gap: .25rem;
    padding: 1rem .7rem 1.05rem;
    overflow: hidden;
    border-right: 1px solid rgba(255, 255, 255, .055);
    background: rgba(0, 0, 0, .08);
    text-align: center;
    animation: ai1tRouteStep 8s ease-in-out infinite;
    animation-delay: var(--ai1t-route-delay);
}

.ai1t-console__route > div:nth-child(1) { --ai1t-route-delay: 0s; }
.ai1t-console__route > div:nth-child(2) { --ai1t-route-delay: 2s; }
.ai1t-console__route > div:nth-child(3) { --ai1t-route-delay: 4s; }
.ai1t-console__route > div:nth-child(4) { --ai1t-route-delay: 6s; }

.ai1t-console__route > div:last-child {
    border-right: 0;
}

.ai1t-console__route > div::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    background: linear-gradient(
        180deg,
        rgba(145, 255, 25, .12),
        rgba(145, 255, 25, .025)
    );
    animation: ai1tRouteGlow 8s ease-in-out infinite;
    animation-delay: var(--ai1t-route-delay);
    pointer-events: none;
}

.ai1t-console__route > div::after {
    content: "";
    position: absolute;
    left: -55%;
    bottom: 0;
    width: 55%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ai1t-lime), transparent);
    box-shadow: 0 0 14px rgba(145, 255, 25, .7);
    animation: ai1tRouteBeam 8s ease-in-out infinite;
    animation-delay: var(--ai1t-route-delay);
    pointer-events: none;
}

.ai1t-console__route span,
.ai1t-console__route strong {
    position: relative;
    z-index: 2;
    transition: color .25s ease, text-shadow .25s ease;
}

.ai1t-console__route span {
    color: #536558;
    font-size: .56rem;
    font-weight: 800;
}

.ai1t-console__route strong {
    color: #728378;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ai1t-console__route i {
    position: absolute;
    z-index: 3;
    right: -3px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(145, 255, 25, .3);
    box-shadow: 0 0 8px rgba(145, 255, 25, .25);
    transform: translateY(-50%);
    animation: ai1tRouteNode 8s ease-in-out infinite;
    animation-delay: var(--ai1t-route-delay);
}

.ai1t-console__ticker {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    overflow: hidden;
    padding: .85rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, .055);
    color: #627267;
    background: rgba(0, 0, 0, .25);
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .08em;
    white-space: nowrap;
}

.ai1t-console__ticker i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--ai1t-lime);
}


/* ==========================================================================
   15. WHAT HAPPENS NOW — CONTACT-STYLE CARDS
========================================================================== */

.ai1x-page--thanks .ai1t-next {
    position: relative;
    overflow: hidden;
    padding-top: var(--ai1t-section);
    padding-bottom: var(--ai1t-section);
    background:
        radial-gradient(circle at 50% 0, rgba(145, 255, 25, .07), transparent 32%),
        #010403;
}

.ai1x-page--thanks .ai1t-next::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    height: 3px;
    background: linear-gradient(
        90deg,
        rgba(91, 190, 0, .35),
        #a6ff22 8%,
        #8cff13 38%,
        #9dff1d 62%,
        #73d600 92%,
        rgba(73, 150, 0, .34)
    );
    box-shadow:
        0 0 6px rgba(145, 255, 25, .65),
        0 0 14px rgba(115, 214, 0, .34);
    animation: ai1c-divider-pulse 3.2s ease-in-out infinite;
}

.ai1x-page--thanks .ai1t-next__heading {
    max-width: 1050px;
    margin: 0 auto clamp(42px, 5vw, 66px);
    text-align: center;
}

.ai1x-page--thanks .ai1t-next__heading > p:last-child {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255, 255, 255, .52);
}

.ai1t-process {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
}

.ai1t-process-card {
    --process-colour: #91ff19;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: 430px;
    padding: 24px clamp(20px, 2vw, 28px) 22px;
    overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--process-colour) 28%, transparent);
    border-radius: 30px;
    background:
        radial-gradient(
            circle at 50% 0,
            color-mix(in srgb, var(--process-colour) 10%, transparent),
            transparent 34%
        ),
        linear-gradient(155deg, rgba(9, 23, 14, .96), rgba(1, 7, 4, .99));
    box-shadow:
        0 28px 72px rgba(0, 0, 0, .36),
        inset 0 1px rgba(255, 255, 255, .035);
    animation: ai1c-control-card-cycle 8s ease-in-out infinite;
    transition:
        transform .42s cubic-bezier(.2, .8, .2, 1),
        border-color .4s ease,
        box-shadow .4s ease;
}

.ai1t-process-card--01 {
    --process-colour: #ff4c55;
    animation-delay: 0s;
}

.ai1t-process-card--02 {
    --process-colour: #ffbd32;
    animation-delay: 2s;
}

.ai1t-process-card--03 {
    --process-colour: #9cff22;
    animation-delay: 4s;
}

.ai1t-process-card::before {
    content: "";
    position: absolute;
    left: -45%;
    bottom: 0;
    width: 42%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--process-colour), transparent);
    box-shadow: 0 0 16px color-mix(in srgb, var(--process-colour) 65%, transparent);
    animation: ai1c-control-beam 4.8s ease-in-out infinite;
    animation-delay: inherit;
}

.ai1t-process-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .22;
    background-image:
        linear-gradient(
            color-mix(in srgb, var(--process-colour) 10%, transparent) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            color-mix(in srgb, var(--process-colour) 10%, transparent) 1px,
            transparent 1px
        );
    background-size: 28px 28px;
    mask-image: linear-gradient(#000, transparent 78%);
    pointer-events: none;
}

.ai1t-process-card:hover {
    transform: translateY(-16px) scale(1.025);
    border-color: color-mix(in srgb, var(--process-colour) 82%, white);
    box-shadow:
        0 44px 100px rgba(0, 0, 0, .48),
        0 0 46px color-mix(in srgb, var(--process-colour) 19%, transparent);
}

.ai1t-process-card__ghost {
    position: absolute;
    right: -6px;
    top: 54px;
    color: color-mix(in srgb, var(--process-colour) 7%, transparent);
    font-size: clamp(6.5rem, 8vw, 9rem);
    font-weight: 700;
    line-height: .9;
    transform: rotate(-4deg);
    pointer-events: none;
    transition: transform .45s ease, color .45s ease;
}

.ai1t-process-card:hover .ai1t-process-card__ghost {
    transform: rotate(0deg) scale(1.08);
    color: color-mix(in srgb, var(--process-colour) 12%, transparent);
}

.ai1t-process-card__top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 78px;
    margin-bottom: 8px;
}

.ai1t-process-card__top small {
    color: color-mix(in srgb, var(--process-colour) 78%, white);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .15em;
}

.ai1t-process-card__node {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 2px solid color-mix(in srgb, var(--process-colour) 55%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            color-mix(in srgb, var(--process-colour) 12%, #021006),
            #020704 68%
        );
    box-shadow: 0 0 26px color-mix(in srgb, var(--process-colour) 15%, transparent);
}

.ai1t-process-card__node::before {
    content: "";
    position: absolute;
    inset: -8px;
    border: 1px dashed color-mix(in srgb, var(--process-colour) 25%, transparent);
    border-radius: 50%;
    animation: ai1c-node-spin 8s linear infinite;
}

.ai1t-process-card__node i {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--process-colour);
    box-shadow:
        0 0 12px var(--process-colour),
        0 0 28px color-mix(in srgb, var(--process-colour) 48%, transparent);
    animation: ai1c-process-lamp 2s ease-in-out infinite;
}

.ai1t-process-card__graphic {
    position: relative;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    height: 132px;
    margin: 12px 0 24px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--process-colour) 18%, transparent);
    border-radius: 20px;
    background:
        radial-gradient(
            circle at center,
            color-mix(in srgb, var(--process-colour) 11%, transparent),
            transparent 55%
        ),
        rgba(0, 0, 0, .2);
    box-shadow:
        inset 0 0 30px color-mix(in srgb, var(--process-colour) 4%, transparent);
}

.ai1t-process-card__graphic--read {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 27px 30px;
}

.ai1t-process-card__graphic--read span {
    width: 100%;
    height: 5px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .15);
}

.ai1t-process-card__graphic--read span:nth-child(2) { width: 76%; }
.ai1t-process-card__graphic--read span:nth-child(3) { width: 88%; }

.ai1t-process-card__graphic--read i {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 20%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--process-colour), transparent);
    animation: ai1c-reader-scan 2.4s ease-in-out infinite;
}

.ai1t-process-card__graphic--route {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 20px;
}

.ai1t-process-card__graphic--route span {
    width: 22px;
    height: 22px;
    border: 1px solid color-mix(in srgb, var(--process-colour) 58%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--process-colour) 5%, transparent);
}

.ai1t-process-card__graphic--route::before,
.ai1t-process-card__graphic--route::after {
    content: "";
    position: absolute;
    left: 25%;
    right: 25%;
    height: 1px;
    background: color-mix(in srgb, var(--process-colour) 32%, transparent);
}

.ai1t-process-card__graphic--route i {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--process-colour);
    box-shadow: 0 0 10px var(--process-colour);
    animation: ai1c-route-mini-packet 2.3s ease-in-out infinite;
}

.ai1t-process-card__graphic--reply span {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    border: 1px solid color-mix(in srgb, var(--process-colour) 55%, transparent);
    border-radius: 20px;
    color: var(--process-colour);
    font-size: 1.5rem;
    box-shadow: 0 0 28px color-mix(in srgb, var(--process-colour) 13%, transparent);
    animation: ai1c-arrow-float 1.7s ease-in-out infinite;
}

.ai1t-process-card__graphic--reply i {
    position: absolute;
    width: 90px;
    height: 90px;
    border: 1px solid color-mix(in srgb, var(--process-colour) 20%, transparent);
    border-radius: 50%;
    animation: ai1c-explain-ring 2.4s ease-out infinite;
}

.ai1t-process-card h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 13px;
    color: #fff;
    font-size: clamp(1.35rem, 1.7vw, 1.7rem);
    font-weight: 500;
    letter-spacing: -.025em;
}

.ai1t-process-card > p {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    margin: 0 !important;
    color: rgba(231, 241, 234, .64) !important;
    font-size: .9rem !important;
    line-height: 1.8 !important;
}

.ai1t-process-card footer {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 17px;
    border-top: 1px solid color-mix(in srgb, var(--process-colour) 15%, transparent);
}

.ai1t-process-card footer span {
    color: color-mix(in srgb, var(--process-colour) 68%, #a9b5ac);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.ai1t-process-card footer i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--process-colour);
    box-shadow: 0 0 10px var(--process-colour);
}


/* ==========================================================================
   16. BYTE CLOSING SECTION
========================================================================== */

.ai1x-page--thanks .ai1t-byte {
    position: relative;
    overflow: hidden;
    padding: var(--ai1t-section) 0;
    background:
        radial-gradient(circle at 14% 50%, rgba(98, 212, 0, .11), transparent 25rem),
        #020504;
}

.ai1x-page--thanks .ai1t-byte::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        rgba(91, 190, 0, .35),
        #a6ff22 8%,
        #8cff13 38%,
        #9dff1d 62%,
        #73d600 92%,
        rgba(73, 150, 0, .34)
    );
    box-shadow:
        0 0 6px rgba(145, 255, 25, .65),
        0 0 14px rgba(115, 214, 0, .34);
    animation: ai1c-divider-pulse 3.2s ease-in-out infinite;
}

.ai1t-byte__inner {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(190px, .38fr) minmax(0, 1fr) auto;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
    min-height: 320px;
    padding: clamp(2rem, 4vw, 3.2rem);
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .2);
    border-radius: 30px;
    background:
        radial-gradient(circle at 12% 50%, rgba(145, 255, 25, .11), transparent 24rem),
        linear-gradient(120deg, rgba(20, 47, 25, .7), rgba(4, 11, 6, .94));
    box-shadow:
        0 28px 80px rgba(0, 0, 0, .34),
        inset 0 1px rgba(255, 255, 255, .03);
}

.ai1t-byte__inner::after {
    content: "BYTE";
    position: absolute;
    right: -2rem;
    bottom: -4.2rem;
    z-index: -1;
    color: rgba(255, 255, 255, .025);
    font-size: clamp(6rem, 14vw, 12rem);
    font-weight: 800;
    letter-spacing: -.08em;
    pointer-events: none;
}

.ai1t-byte__visual {
    position: relative;
    display: grid;
    place-items: end center;
    min-height: 250px;
}

.ai1t-byte__visual::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 14px;
    width: min(92%, 230px);
    height: 36px;
    border-radius: 50%;
    background: rgba(145, 255, 25, .15);
    filter: blur(18px);
    transform: translateX(-50%);
}

.ai1t-byte__visual::after {
    content: "";
    position: absolute;
    inset: 7% 2% 3%;
    border: 1px dashed rgba(145, 255, 25, .14);
    border-radius: 50%;
    animation: ai1tByteOrbit 12s linear infinite;
}

.ai1t-byte__visual video {
    position: relative;
    z-index: 2;
    width: min(100%, 245px);
    height: 245px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35));
    animation: ai1tByteFloat 4s ease-in-out infinite;
}

.ai1t-byte__copy {
    position: relative;
    z-index: 2;
}

.ai1t-byte__copy .ai1x-kicker {
    margin-bottom: 15px;
}

.ai1t-byte__copy h2 {
    margin: 0 0 .85rem;
    color: #fff;
    font-size: clamp(2.2rem, 4vw, 3.7rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.ai1t-byte__copy > p:last-child {
    max-width: 610px;
    margin: 0;
    color: #96a79a;
    line-height: 1.75;
}

.ai1t-byte__actions {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 1rem;
    justify-items: end;
}

.ai1t-byte__link {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    color: #c6d1c8;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .25s ease, transform .25s ease;
}

.ai1t-byte__link:hover,
.ai1t-byte__link:focus-visible {
    color: var(--ai1t-lime);
    transform: translateX(4px);
}


/* ==========================================================================
   17. THANK YOU ANIMATIONS
========================================================================== */

@keyframes ai1tMetaPulse {
    0%, 100% {
        opacity: .55;
        transform: scale(.92);
    }
    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

@keyframes ai1tStatusBlink {
    0%, 100% { opacity: .45; }
    50% { opacity: 1; }
}

@keyframes ai1tConfirmPulse {
    0% {
        opacity: .7;
        transform: scale(.6);
    }
    100% {
        opacity: 0;
        transform: scale(2.25);
    }
}

@keyframes ai1tCheckIn {
    from {
        opacity: 0;
        transform: scale(.4) rotate(-20deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

@keyframes ai1tRouteStep {
    0%, 18%, 100% {
        background: rgba(0, 0, 0, .08);
        box-shadow: inset 0 0 0 rgba(145, 255, 25, 0);
    }
    6%, 13% {
        background: rgba(145, 255, 25, .075);
        box-shadow:
            inset 0 0 32px rgba(145, 255, 25, .035),
            0 0 22px rgba(145, 255, 25, .045);
    }
}

@keyframes ai1tRouteGlow {
    0%, 18%, 100% { opacity: 0; }
    6%, 13% { opacity: 1; }
}

@keyframes ai1tRouteBeam {
    0%, 3% {
        left: -55%;
        opacity: 0;
    }
    6% { opacity: 1; }
    14% { opacity: 1; }
    18%, 100% {
        left: 110%;
        opacity: 0;
    }
}

@keyframes ai1tRouteNode {
    0%, 18%, 100% {
        opacity: .35;
        transform: translateY(-50%) scale(.8);
    }
    6%, 13% {
        opacity: 1;
        background: var(--ai1t-lime);
        box-shadow:
            0 0 10px var(--ai1t-lime),
            0 0 22px rgba(145, 255, 25, .55);
        transform: translateY(-50%) scale(1.25);
    }
}

@keyframes ai1tByteFloat {
    0%, 100% {
        transform: translateY(0) rotate(-1deg);
    }
    50% {
        transform: translateY(-9px) rotate(1deg);
    }
}

@keyframes ai1tByteOrbit {
    to { transform: rotate(360deg); }
}


/* ==========================================================================
   18. THANK YOU RESPONSIVE BEHAVIOUR
========================================================================== */

@media (max-width: 1160px) {
    .ai1x-page--thanks .ai1t-hero__inner {
        grid-template-columns: minmax(0, .9fr) minmax(450px, 1.1fr);
        gap: 34px;
    }

    .ai1x-page--thanks .ai1t-hero__copy h1 {
        font-size: clamp(3.8rem, 5.3vw, 5.6rem);
    }

    .ai1t-byte__inner {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .ai1t-byte__actions {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 980px) {
    .ai1x-page--thanks .ai1t-hero__inner {
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 58px 0 70px;
    }

    .ai1x-page--thanks .ai1t-hero__copy {
        max-width: 780px;
    }

    .ai1x-page--thanks .ai1t-hero__copy h1 {
        font-size: clamp(3.5rem, 9vw, 5.25rem);
    }

    .ai1t-console {
        width: min(100%, 720px);
    }

    .ai1t-process {
        grid-template-columns: 1fr;
    }

    .ai1t-process-card {
        min-height: 0;
    }

    .ai1t-byte__inner {
        grid-template-columns: 180px 1fr;
    }
}

@media (max-width: 680px) {
    .ai1x-page--thanks {
        --ai1t-section: 64px;
    }

    .ai1x-page--thanks .ai1t-hero__inner {
        gap: 32px;
        padding: 46px 0 58px;
    }

    .ai1x-page--thanks .ai1t-hero__copy h1 {
        font-size: clamp(3rem, 13vw, 4.1rem);
    }

    .ai1t-hero__meta {
        display: grid;
    }

    .ai1t-hero__actions {
        display: grid;
    }

    .ai1t-hero__actions .ai1x-button {
        width: 100%;
        justify-content: space-between;
    }

    .ai1t-console__main {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .ai1t-console__copy > p:last-child {
        margin-inline: auto;
    }

    .ai1t-console__route {
        grid-template-columns: repeat(2, 1fr);
    }

    .ai1t-console__route > div:nth-child(2) {
        border-right: 0;
    }

    .ai1t-console__route > div:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .055);
    }

    .ai1t-console__ticker {
        justify-content: flex-start;
        font-size: .48rem;
    }

    .ai1t-process-card {
        padding: 22px 20px;
    }

    .ai1t-process-card__graphic {
        height: 118px;
    }

    .ai1t-byte__inner {
        grid-template-columns: 1fr;
        min-height: 0;
        text-align: center;
    }

    .ai1t-byte__visual {
        min-height: 220px;
    }

    .ai1t-byte__visual video {
        height: 215px;
    }

    .ai1t-byte__copy > p:last-child {
        margin-inline: auto;
    }

    .ai1t-byte__actions {
        display: grid;
        grid-column: auto;
        justify-items: stretch;
    }

    .ai1t-byte__actions .ai1x-button {
        justify-content: space-between;
    }

    .ai1t-byte__link {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .ai1t-console__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .ai1t-console__ticker {
        overflow-x: hidden;
    }

    .ai1t-byte__visual {
        min-height: 195px;
    }

    .ai1t-byte__visual video {
        height: 190px;
    }
}


/* ==========================================================================
   19. THANK YOU REDUCED MOTION
========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .ai1t-hero__meta i,
    .ai1t-console__live i,
    .ai1t-confirm__pulse,
    .ai1t-confirm__core span,
    .ai1t-console__route > div,
    .ai1t-console__route > div::before,
    .ai1t-console__route > div::after,
    .ai1t-console__route i,
    .ai1t-process-card,
    .ai1t-process-card::before,
    .ai1t-process-card__node::before,
    .ai1t-process-card__node i,
    .ai1t-process-card__graphic *,
    .ai1t-byte__visual::after,
    .ai1t-byte__visual video,
    .ai1x-page--thanks .ai1t-next::before,
    .ai1x-page--thanks .ai1t-byte::before {
        animation: none !important;
    }
}

/* ==========================================================================
   20. FAQ PAGE — DEFINITIVE BUILD
   Prefix: .ai1f-
   Page wrapper: .ai1x-page--faq

   The FAQ remains a normal Joomla article. Everything below is deliberately
   scoped through body.faq-page so generic inner-page rules cannot squash it.
========================================================================== */

/* --------------------------------------------------------------------------
   20.1 TOKENS, JOOMLA RESET & SECTION RHYTHM
-------------------------------------------------------------------------- */

body.faq-page .ai1x-page--faq {
    --ai1f-green: #91ff19;
    --ai1f-green-deep: #5fc000;
    --ai1f-gold: #f0d59a;
    --ai1f-amber: #ffc43d;
    --ai1f-blue: #55bfff;
    --ai1f-red: #ff5964;
    --ai1f-white: #f7fbf8;
    --ai1f-muted: #91a297;
    --ai1f-panel: rgba(5, 18, 10, .96);
    --ai1f-line: rgba(145, 255, 25, .18);
    --ai1f-line-strong: rgba(145, 255, 25, .48);
    --ai1f-section: clamp(76px, 7vw, 112px);
    position: relative;
    overflow: clip;
    background: #010503;
    color: var(--ai1f-white);
}

body.faq-page .item-page:has(.ai1x-page--faq),
body.faq-page .com-content-article:has(.ai1x-page--faq),
body.faq-page .article-details:has(.ai1x-page--faq),
body.faq-page .com-content-article__body:has(.ai1x-page--faq) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.faq-page .item-page:has(.ai1x-page--faq)::before,
body.faq-page .com-content-article:has(.ai1x-page--faq)::before,
body.faq-page .item-page:has(.ai1x-page--faq) > .page-header,
body.faq-page .com-content-article:has(.ai1x-page--faq) > .page-header {
    display: none !important;
}

body.faq-page .ai1x-page--faq .ai1x-section {
    position: relative;
    min-height: 0;
    padding: var(--ai1f-section) 0;
}

body.faq-page .ai1x-page--faq .ai1x-section::before,
body.faq-page .ai1x-page--faq .ai1f-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 12;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            rgba(255, 76, 85, .42),
            rgba(255, 190, 48, .75) 28%,
            #91ff19 58%,
            rgba(145, 255, 25, .28)
        );
    box-shadow:
        0 0 7px rgba(145, 255, 25, .55),
        0 0 18px rgba(145, 255, 25, .18);
    animation: ai1fDivider 3.2s ease-in-out infinite;
}

body.faq-page .ai1x-page--faq .ai1x-section::before { top: 0; }
body.faq-page .ai1x-page--faq .ai1f-hero::after { bottom: 0; }

body.faq-page .ai1x-page--faq .ai1x-section > .ai1x-shell {
    position: relative;
    z-index: 2;
}

/* --------------------------------------------------------------------------
   20.2 HERO COPY
-------------------------------------------------------------------------- */

body.faq-page .ai1x-page--faq .ai1f-hero {
    position: relative;
    min-height: 0;
    padding: 0 !important;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 44%, rgba(145, 255, 25, .075), transparent 30rem),
        #010403;
}

body.faq-page .ai1x-page--faq .ai1f-hero__inner {
    position: relative;
    z-index: 4;
    display: grid !important;
    grid-template-columns: minmax(0, .88fr) minmax(560px, 1.12fr) !important;
    gap: clamp(48px, 6vw, 94px) !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: clamp(68px, 6.5vw, 98px) 0 clamp(72px, 6.5vw, 102px) !important;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy {
    position: relative;
    z-index: 6;
    max-width: 740px;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-kicker {
    margin: 0 0 18px !important;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy h1 {
    max-width: 760px !important;
    margin: 0 0 28px !important;
    font-size: clamp(4rem, 5.45vw, 6.35rem) !important;
    font-weight: 500 !important;
    line-height: .94 !important;
    letter-spacing: -.062em !important;
    text-align: left !important;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy h1 span {
    color: var(--ai1f-green);
    text-shadow: 0 0 34px rgba(145, 255, 25, .08);
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-hero__lead {
    max-width: 650px;
    margin: 0 !important;
    color: #aab9ae !important;
    font-size: clamp(1rem, 1.35vw, 1.17rem) !important;
    line-height: 1.8 !important;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-button {
    position: relative;
    isolation: isolate;
    min-width: 190px;
    overflow: hidden;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-button::after {
    content: "";
    position: absolute;
    top: -70%;
    bottom: -70%;
    left: -45%;
    z-index: -1;
    width: 26%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
    transform: skewX(-18deg);
    animation: ai1fButtonSweep 5.8s ease-in-out infinite;
}

body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-button:nth-child(2)::after {
    animation-delay: 1.7s;
}

.ai1f-hero__watermark {
    position: absolute;
    right: -2vw;
    top: 50%;
    z-index: 0;
    color: rgba(255,255,255,.016);
    font-size: clamp(10rem, 22vw, 24rem);
    font-weight: 800;
    line-height: .75;
    letter-spacing: -.1em;
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
}

/* --------------------------------------------------------------------------
   20.3 HERO — AI1 ANSWER ROUTER
-------------------------------------------------------------------------- */

body.faq-page .ai1f-router {
    --router-green: #91ff19;
    --router-amber: #ffc43d;
    --router-blue: #55bfff;
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-rows: auto auto minmax(410px, 1fr) auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 590px;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(145,255,25,.34);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 40%, rgba(145,255,25,.115), transparent 20rem),
        linear-gradient(150deg, rgba(11,29,18,.98), rgba(2,9,5,.995));
    box-shadow:
        0 42px 110px rgba(0,0,0,.52),
        0 0 72px rgba(145,255,25,.08),
        inset 0 1px rgba(255,255,255,.045);
    transform-style: preserve-3d;
    transition:
        transform .45s cubic-bezier(.2,.8,.2,1),
        border-color .38s ease,
        box-shadow .38s ease;
}

body.faq-page .ai1f-router:hover {
    transform: translateY(-10px) rotateX(.8deg) rotateY(-.8deg);
    border-color: rgba(145,255,25,.62);
    box-shadow:
        0 56px 130px rgba(0,0,0,.58),
        0 0 88px rgba(145,255,25,.15),
        inset 0 1px rgba(255,255,255,.055);
}

/* Critical safeguard: the JS pointer glow must not convert these absolute
   decorative children into normal-flow elements. */
body.faq-page .ai1f-router > .ai1f-router__grid,
body.faq-page .ai1f-router > .ai1f-router__scan {
    position: absolute !important;
}

body.faq-page .ai1f-router > .ai1f-router__head,
body.faq-page .ai1f-router > .ai1f-router__legend,
body.faq-page .ai1f-router > .ai1f-router__stage,
body.faq-page .ai1f-router > .ai1f-router__telemetry {
    position: relative !important;
}

.ai1f-router__grid {
    inset: 0;
    z-index: -2 !important;
    opacity: .18;
    background-image:
        linear-gradient(rgba(145,255,25,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(145,255,25,.10) 1px, transparent 1px);
    background-size: 30px 30px;
    mask-image: radial-gradient(circle at 50% 43%, #000 10%, rgba(0,0,0,.75) 48%, transparent 86%);
    pointer-events: none;
}

.ai1f-router__scan {
    top: 0;
    bottom: 0;
    left: 7%;
    z-index: 14 !important;
    width: 1px;
    background: linear-gradient(transparent, var(--router-green), transparent);
    box-shadow: 0 0 13px rgba(145,255,25,.7);
    opacity: 0;
    animation: ai1fRouterScan 6.2s ease-in-out infinite;
    pointer-events: none;
}

.ai1f-router__head {
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    border-bottom: 1px solid rgba(255,255,255,.065);
    background: rgba(0,0,0,.18);
    color: rgba(223,235,226,.58);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.ai1f-router__head span,
.ai1f-router__head b {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ai1f-router__head span i,
.ai1f-router__head b::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--router-green);
    box-shadow:
        0 0 10px var(--router-green),
        0 0 22px rgba(145,255,25,.46);
    animation: ai1fLamp 1.65s ease-in-out infinite;
}

.ai1f-router__head b {
    color: var(--router-green);
    font-size: .6rem;
}

.ai1f-router__legend {
    z-index: 13;
    display: grid;
    grid-template-columns: auto minmax(24px,1fr) auto minmax(24px,1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 10px 22px;
    border-bottom: 1px solid rgba(255,255,255,.045);
    color: rgba(222,234,225,.34);
    background: rgba(145,255,25,.018);
    font-size: .46rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ai1f-router__legend i {
    position: relative;
    height: 1px;
    overflow: hidden;
    background: rgba(145,255,25,.12);
}

.ai1f-router__legend i::after {
    content: "";
    position: absolute;
    top: 0;
    left: -45%;
    width: 42%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--router-green), transparent);
    box-shadow: 0 0 8px rgba(145,255,25,.5);
    animation: ai1fLegendFlow 2.7s linear infinite;
}

.ai1f-router__legend i:nth-of-type(2)::after {
    animation-delay: -1.35s;
}

.ai1f-router__stage {
    z-index: 2;
    min-height: 410px;
    overflow: hidden;
}

.ai1f-router__stage::before,
.ai1f-router__stage::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    pointer-events: none;
}

.ai1f-router__stage::before {
    width: 86%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(145,255,25,.12), transparent);
    transform: translate(-50%,-50%);
}

.ai1f-router__stage::after {
    width: 1px;
    height: 86%;
    background: linear-gradient(transparent, rgba(145,255,25,.12), transparent);
    transform: translate(-50%,-50%);
}

.ai1f-router__ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    pointer-events: none;
}

.ai1f-router__ring--1 {
    width: 350px;
    height: 260px;
    border: 1px solid rgba(145,255,25,.27);
    box-shadow: inset 0 0 28px rgba(145,255,25,.02);
    transform: translate(-50%,-50%) rotate(-13deg);
    animation: ai1fRingOne 18s linear infinite;
}

.ai1f-router__ring--2 {
    width: 262px;
    height: 360px;
    border: 1px dashed rgba(255,196,61,.23);
    transform: translate(-50%,-50%) rotate(29deg);
    animation: ai1fRingTwo 23s linear infinite reverse;
}

.ai1f-router__ring--3 {
    width: 210px;
    height: 210px;
    border: 1px dotted rgba(85,191,255,.28);
    transform: translate(-50%,-50%);
    animation: ai1fRingThree 12s linear infinite;
}

.ai1f-router__core {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 8;
    display: grid;
    width: 148px;
    height: 148px;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(145,255,25,.62);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 28%, rgba(255,255,255,.1), transparent 24%),
        radial-gradient(circle, rgba(145,255,25,.2), rgba(4,18,9,.985) 64%);
    box-shadow:
        0 0 36px rgba(145,255,25,.24),
        0 0 92px rgba(145,255,25,.1),
        inset 0 0 38px rgba(145,255,25,.1);
    transform: translate(-50%,-50%);
    transition: transform .4s ease, box-shadow .4s ease;
}

.ai1f-router:hover .ai1f-router__core {
    transform: translate(-50%,-50%) scale(1.075);
    box-shadow:
        0 0 48px rgba(145,255,25,.36),
        0 0 116px rgba(145,255,25,.15),
        inset 0 0 44px rgba(145,255,25,.12);
}

.ai1f-router__core small,
.ai1f-router__core em {
    position: relative;
    z-index: 3;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .15em;
}

.ai1f-router__core small {
    color: rgba(223,235,226,.48);
    font-size: .46rem;
}

.ai1f-router__core strong {
    position: relative;
    z-index: 3;
    margin: 2px 0;
    color: var(--router-green);
    font-size: 3.3rem;
    font-weight: 500;
    line-height: .9;
    text-shadow: 0 0 26px rgba(145,255,25,.34);
    animation: ai1fQuestionPulse 2.8s ease-in-out infinite;
}

.ai1f-router__core em {
    color: var(--router-green);
    font-size: .42rem;
}

.ai1f-router__pulse {
    position: absolute;
    inset: -3px;
    border: 1px solid rgba(145,255,25,.34);
    border-radius: 50%;
    animation: ai1fCorePulse 3.7s ease-out infinite;
}

.ai1f-router__pulse--2 { animation-delay: 1.85s; }

.ai1f-router__node {
    --node-colour: var(--router-green);
    position: absolute;
    z-index: 7;
    display: grid;
    min-width: 132px;
    gap: 2px;
    padding: 12px 14px 11px 36px;
    border: 1px solid color-mix(in srgb, var(--node-colour) 32%, transparent);
    border-radius: 16px;
    background:
        linear-gradient(145deg, rgba(7,22,12,.94), rgba(1,7,4,.95));
    box-shadow:
        0 16px 38px rgba(0,0,0,.34),
        0 0 24px color-mix(in srgb, var(--node-colour) 7%, transparent);
    backdrop-filter: blur(12px);
    animation: ai1fNodeFloat 4.6s ease-in-out infinite;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.ai1f-router__node:hover {
    border-color: color-mix(in srgb, var(--node-colour) 75%, white);
    box-shadow:
        0 22px 48px rgba(0,0,0,.42),
        0 0 34px color-mix(in srgb, var(--node-colour) 18%, transparent);
}

.ai1f-router__node i {
    position: absolute;
    left: 14px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--node-colour);
    box-shadow:
        0 0 10px var(--node-colour),
        0 0 22px color-mix(in srgb, var(--node-colour) 45%, transparent);
    transform: translateY(-50%);
    animation: ai1fLamp 1.8s ease-in-out infinite;
}

.ai1f-router__node small {
    color: rgba(220,232,223,.42);
    font-size: .43rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ai1f-router__node strong {
    color: #f7fbf8;
    font-size: .72rem;
    font-weight: 600;
}

.ai1f-router__node--host {
    left: 5%;
    top: 16%;
}

.ai1f-router__node--design {
    --node-colour: var(--router-amber);
    right: 5%;
    top: 16%;
    animation-delay: -1.15s;
}

.ai1f-router__node--support {
    --node-colour: var(--router-blue);
    left: 5%;
    bottom: 16%;
    animation-delay: -2.3s;
}

.ai1f-router__node--security {
    right: 5%;
    bottom: 16%;
    animation-delay: -3.45s;
}

.ai1f-router__beam {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: 43%;
    height: 1px;
    transform-origin: left center;
    background: linear-gradient(90deg, rgba(145,255,25,.58), rgba(145,255,25,.04));
    box-shadow: 0 0 8px rgba(145,255,25,.18);
    pointer-events: none;
}

.ai1f-router__beam--host { transform: rotate(212deg); }
.ai1f-router__beam--design {
    transform: rotate(-32deg);
    background: linear-gradient(90deg, rgba(255,196,61,.54), rgba(255,196,61,.04));
}
.ai1f-router__beam--support {
    transform: rotate(148deg);
    background: linear-gradient(90deg, rgba(85,191,255,.54), rgba(85,191,255,.04));
}
.ai1f-router__beam--security { transform: rotate(32deg); }

.ai1f-router__packet {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 6;
    width: 8px;
    height: 8px;
    margin: -4px;
    border-radius: 50%;
    background: var(--router-green);
    box-shadow: 0 0 11px currentColor, 0 0 23px currentColor;
    opacity: 0;
}

.ai1f-router__packet--1 { animation: ai1fPacket1 3.4s ease-in-out infinite; }
.ai1f-router__packet--2 {
    color: var(--router-amber);
    background: currentColor;
    animation: ai1fPacket2 3.9s ease-in-out infinite -.9s;
}
.ai1f-router__packet--3 {
    color: var(--router-blue);
    background: currentColor;
    animation: ai1fPacket3 4.3s ease-in-out infinite -1.7s;
}
.ai1f-router__packet--4 { animation: ai1fPacket4 4.1s ease-in-out infinite -2.4s; }

.ai1f-router__telemetry {
    z-index: 13;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.06);
    background: rgba(0,0,0,.17);
}

.ai1f-router__telemetry > div {
    position: relative;
    display: grid;
    gap: 3px;
    padding: 15px 15px 16px;
    overflow: hidden;
    border-right: 1px solid rgba(255,255,255,.05);
    animation: ai1fTelemetry 7.5s ease-in-out infinite;
}

.ai1f-router__telemetry > div:nth-child(2) { animation-delay: 2.5s; }
.ai1f-router__telemetry > div:nth-child(3) {
    animation-delay: 5s;
    border-right: 0;
}

.ai1f-router__telemetry > div::after {
    content: "";
    position: absolute;
    left: -50%;
    bottom: 0;
    width: 50%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--router-green), transparent);
    box-shadow: 0 0 10px rgba(145,255,25,.55);
    animation: ai1fTelemetryBeam 7.5s ease-in-out infinite;
}

.ai1f-router__telemetry > div:nth-child(2)::after { animation-delay: 2.5s; }
.ai1f-router__telemetry > div:nth-child(3)::after { animation-delay: 5s; }

.ai1f-router__telemetry small {
    color: rgba(218,231,222,.4);
    font-size: .43rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ai1f-router__telemetry strong {
    color: rgba(247,251,248,.9);
    font-size: .7rem;
    font-weight: 600;
}

.ai1f-router__telemetry span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--router-green);
    font-size: .42rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.ai1f-router__telemetry span i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 7px currentColor;
}

/* --------------------------------------------------------------------------
   20.4 FAQ CENTRE / LIVE SEARCH
-------------------------------------------------------------------------- */

body.faq-page .ai1x-page--faq .ai1f-centre {
    background:
        radial-gradient(circle at 12% 5%, rgba(145,255,25,.08), transparent 27rem),
        radial-gradient(circle at 88% 80%, rgba(85,191,255,.025), transparent 24rem),
        linear-gradient(180deg, #061009, #020604) !important;
}

body.faq-page .ai1x-page--faq .ai1f-centre .ai1x-heading {
    margin: 0 0 clamp(36px,4vw,52px) !important;
}

body.faq-page .ai1f-search-panel {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 150px !important;
    grid-template-areas:
        "label label"
        "field count";
    gap: 12px 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 22px !important;
    padding: 16px !important;
    overflow: hidden;
    border: 1px solid rgba(145,255,25,.18);
    border-radius: 26px;
    background:
        radial-gradient(circle at 9% 30%, rgba(145,255,25,.075), transparent 18rem),
        linear-gradient(145deg, rgba(8,23,13,.94), rgba(2,8,5,.985));
    box-shadow:
        0 25px 66px rgba(0,0,0,.3),
        inset 0 1px rgba(255,255,255,.03);
    transition:
        transform .3s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease,
        box-shadow .3s ease;
}

body.faq-page .ai1f-search-panel::after {
    content: "";
    position: absolute;
    top: -70%;
    bottom: -70%;
    left: -35%;
    width: 16%;
    z-index: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
    transform: skewX(-18deg);
    animation: ai1fPanelSweep 7s ease-in-out infinite;
    pointer-events: none;
}

body.faq-page .ai1f-search-panel:hover,
body.faq-page .ai1f-search-panel.is-focused {
    transform: translateY(-4px);
    border-color: rgba(145,255,25,.48);
    box-shadow:
        0 32px 78px rgba(0,0,0,.36),
        0 0 42px rgba(145,255,25,.08),
        inset 0 1px rgba(255,255,255,.035);
}

.ai1f-search-panel__label {
    position: relative;
    z-index: 3;
    grid-area: label;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 0 6px 2px;
    color: rgba(222,234,225,.44);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.ai1f-search-panel__label span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(145,255,25,.72);
}

.ai1f-search-panel__label span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1f-green);
    box-shadow: 0 0 10px var(--ai1f-green);
    animation: ai1fLamp 1.6s ease-in-out infinite;
}

.ai1f-search-panel__label strong {
    color: rgba(222,234,225,.32);
    font-size: .5rem;
    font-weight: 800;
}

body.faq-page .ai1f-search-panel__field {
    position: relative !important;
    z-index: 3;
    grid-area: field;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(145,255,25,.34);
    border-radius: 18px;
    background:
        radial-gradient(circle at 8% 50%, rgba(145,255,25,.06), transparent 13rem),
        linear-gradient(145deg, rgba(12,30,18,.98), rgba(2,10,5,.995));
    box-shadow:
        0 18px 48px rgba(0,0,0,.26),
        inset 0 1px rgba(255,255,255,.03);
    transition:
        border-color .26s ease,
        box-shadow .26s ease,
        background .26s ease;
}

body.faq-page .ai1f-search-panel__field:hover,
body.faq-page .ai1f-search-panel.is-focused .ai1f-search-panel__field {
    border-color: rgba(145,255,25,.75);
    background:
        radial-gradient(circle at 8% 50%, rgba(145,255,25,.1), transparent 15rem),
        linear-gradient(145deg, rgba(13,33,19,.99), rgba(2,10,5,.995));
    box-shadow:
        0 22px 56px rgba(0,0,0,.32),
        0 0 34px rgba(145,255,25,.12);
}

.ai1f-search-panel__icon {
    position: absolute;
    left: 22px;
    top: 50%;
    z-index: 4;
    color: var(--ai1f-green);
    font-size: 1.35rem;
    transform: translateY(-50%);
    text-shadow: 0 0 14px rgba(145,255,25,.55);
    pointer-events: none;
}

.ai1f-search-panel__beam {
    position: absolute;
    left: -24%;
    bottom: 0;
    z-index: 5;
    width: 24%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ai1f-green), transparent);
    box-shadow: 0 0 13px rgba(145,255,25,.7);
    animation: ai1fSearchBeam 4.6s ease-in-out infinite;
    pointer-events: none;
}

body.faq-page .ai1f-search-panel .ai1x-faq-search {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 0 24px 0 60px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    color: #fff !important;
    font: inherit !important;
    font-size: .94rem !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.faq-page .ai1f-search-panel .ai1x-faq-search::placeholder {
    color: rgba(219,231,222,.43) !important;
}

body.faq-page .ai1x-faq-count {
    position: relative;
    z-index: 3;
    grid-area: count;
    display: flex !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    min-height: 68px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid rgba(145,255,25,.34) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 50% 0, rgba(145,255,25,.15), transparent 72%),
        rgba(145,255,25,.035) !important;
    color: var(--ai1f-green) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
    box-shadow: 0 18px 46px rgba(0,0,0,.24);
    animation: ai1fCountGlow 3.4s ease-in-out infinite;
}

body.faq-page .ai1x-faq-count.is-updated {
    animation: ai1fCountPing .5s ease both !important;
}

/* --------------------------------------------------------------------------
   20.5 FILTER BUTTONS
-------------------------------------------------------------------------- */

body.faq-page .ai1f-filters {
    display: grid !important;
    grid-template-columns: repeat(6,minmax(0,1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 clamp(42px,5vw,58px) !important;
    padding: 0 !important;
}

body.faq-page .ai1f-filters .ai1x-faq-filter {
    --filter-delay: 0s;
    position: relative !important;
    isolation: isolate;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 62px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    border: 1px solid rgba(145,255,25,.25) !important;
    border-radius: 18px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background:
        radial-gradient(circle at 50% 0, rgba(145,255,25,.07), transparent 72%),
        linear-gradient(145deg, rgba(11,28,17,.98), rgba(2,9,5,.995)) !important;
    color: rgba(238,245,240,.84) !important;
    font: inherit !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow:
        0 15px 34px rgba(0,0,0,.23),
        inset 0 1px rgba(255,255,255,.025);
    transform-origin: center bottom;
    transition:
        transform .32s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease,
        box-shadow .3s ease,
        color .3s ease !important;
    animation: ai1fFilterAmbient 8s ease-in-out infinite;
    animation-delay: var(--filter-delay);
}

body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(1) { --filter-delay: 0s; }
body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(2) { --filter-delay: 1s; }
body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(3) { --filter-delay: 2s; }
body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(4) { --filter-delay: 3s; }
body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(5) { --filter-delay: 4s; }
body.faq-page .ai1f-filters .ai1x-faq-filter:nth-child(6) { --filter-delay: 5s; }

body.faq-page .ai1f-filters .ai1x-faq-filter::before {
    content: "";
    position: absolute;
    top: -60%;
    bottom: -60%;
    left: -48%;
    z-index: 1;
    width: 28%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.43), transparent);
    transform: skewX(-18deg);
    animation: ai1fFilterSweep 7.2s ease-in-out infinite;
    animation-delay: var(--filter-delay);
    pointer-events: none;
}

body.faq-page .ai1f-filters .ai1x-faq-filter::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 7px;
    width: 34%;
    height: 2px;
    border-radius: 99px;
    background: var(--ai1f-green);
    box-shadow: 0 0 12px rgba(145,255,25,.55);
    transform: translateX(-50%) scaleX(.2);
    opacity: .38;
    transition: transform .28s ease, opacity .28s ease;
}

body.faq-page .ai1f-filters .ai1x-faq-filter span {
    position: relative;
    z-index: 2;
}

body.faq-page .ai1f-filters .ai1x-faq-filter:hover,
body.faq-page .ai1f-filters .ai1x-faq-filter:focus-visible {
    transform: translateY(-9px) scale(1.035) !important;
    border-color: rgba(145,255,25,.72) !important;
    color: #fff !important;
    box-shadow:
        0 26px 52px rgba(0,0,0,.36),
        0 0 36px rgba(145,255,25,.14),
        inset 0 1px rgba(255,255,255,.04) !important;
    outline: none !important;
}

body.faq-page .ai1f-filters .ai1x-faq-filter:hover::after,
body.faq-page .ai1f-filters .ai1x-faq-filter:focus-visible::after {
    transform: translateX(-50%) scaleX(1);
    opacity: 1;
}

body.faq-page .ai1f-filters .ai1x-faq-filter.is-active {
    transform: translateY(-4px) !important;
    border-color: var(--ai1f-green) !important;
    background: linear-gradient(135deg,#a9ff33,#63ca00) !important;
    color: #061006 !important;
    box-shadow:
        0 19px 46px rgba(115,214,0,.38),
        0 0 40px rgba(145,255,25,.2) !important;
    animation: ai1fActiveFilter 2.8s ease-in-out infinite !important;
}

body.faq-page .ai1f-filters .ai1x-faq-filter.is-active::after {
    background: #061006;
    box-shadow: none;
    opacity: .3;
    transform: translateX(-50%) scaleX(.72);
}

body.faq-page .ai1f-filters .ai1x-faq-filter.is-ping {
    animation:
        ai1fFilterPing .52s ease both,
        ai1fActiveFilter 2.8s ease-in-out .52s infinite !important;
}

/* --------------------------------------------------------------------------
   20.6 FAQ QUESTIONS
-------------------------------------------------------------------------- */

body.faq-page .ai1x-faq-list {
    display: grid !important;
    gap: 14px !important;
    width: 100%;
}

body.faq-page .ai1x-faq-item {
    --question-colour: var(--ai1f-green);
    position: relative;
    isolation: isolate;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--question-colour) 20%, transparent);
    border-radius: 20px;
    background:
        radial-gradient(circle at 6% 50%, color-mix(in srgb, var(--question-colour) 5%, transparent), transparent 19rem),
        linear-gradient(145deg, rgba(10,26,16,.95), rgba(2,9,5,.99));
    box-shadow:
        0 17px 42px rgba(0,0,0,.21),
        inset 0 1px rgba(255,255,255,.02);
    transition:
        transform .34s cubic-bezier(.2,.8,.2,1),
        border-color .3s ease,
        box-shadow .3s ease;
}

body.faq-page .ai1x-faq-item:nth-child(3n+2) { --question-colour: var(--ai1f-gold); }
body.faq-page .ai1x-faq-item:nth-child(3n+3) { --question-colour: var(--ai1f-blue); }

body.faq-page .ai1x-faq-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    bottom: 13px;
    width: 3px;
    border-radius: 99px;
    background:
        linear-gradient(180deg, var(--question-colour), color-mix(in srgb, var(--question-colour) 5%, transparent));
    box-shadow: 0 0 0 transparent;
    transform: scaleY(.34);
    transition: transform .34s ease, box-shadow .34s ease;
}

body.faq-page .ai1x-faq-item::after {
    content: "";
    position: absolute;
    left: -32%;
    bottom: 0;
    width: 32%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--question-colour), transparent);
    box-shadow: 0 0 12px color-mix(in srgb, var(--question-colour) 50%, transparent);
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

body.faq-page .ai1x-faq-item:hover,
body.faq-page .ai1x-faq-item[open] {
    transform: translateY(-5px) scale(1.003);
    border-color: color-mix(in srgb, var(--question-colour) 48%, transparent);
    box-shadow:
        0 28px 62px rgba(0,0,0,.32),
        0 0 30px color-mix(in srgb, var(--question-colour) 6%, transparent);
}

body.faq-page .ai1x-faq-item:hover::before,
body.faq-page .ai1x-faq-item[open]::before {
    transform: scaleY(1);
    box-shadow: 0 0 15px color-mix(in srgb, var(--question-colour) 38%, transparent);
}

body.faq-page .ai1x-faq-item:hover::after,
body.faq-page .ai1x-faq-item[open]::after {
    opacity: 1;
    animation: ai1fQuestionBeam 2.4s ease-in-out infinite;
}

body.faq-page .ai1x-faq-item[hidden] {
    display: none !important;
}

body.faq-page .ai1x-faq-item > summary {
    position: relative;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 70px !important;
    margin: 0 !important;
    padding: 22px 72px 22px 25px !important;
    color: #f7fbf8 !important;
    font-size: clamp(.94rem,1.2vw,1.08rem) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    white-space: normal !important;
    cursor: pointer !important;
    list-style: none !important;
}

body.faq-page .ai1x-faq-item > summary::-webkit-details-marker {
    display: none;
}

body.faq-page .ai1x-faq-item > summary::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 22px;
    width: 38px;
    height: 38px;
    border: 1px solid color-mix(in srgb, var(--question-colour) 28%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle, color-mix(in srgb, var(--question-colour) 8%, transparent), rgba(0,0,0,.12));
    box-shadow: inset 0 0 18px color-mix(in srgb, var(--question-colour) 3%, transparent);
    transform: translateY(-50%);
    transition:
        transform .34s ease,
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

body.faq-page .ai1x-faq-item > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 34px;
    width: 14px;
    color: var(--question-colour);
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transform: translateY(-51%);
    text-shadow: 0 0 10px color-mix(in srgb, var(--question-colour) 40%, transparent);
}

body.faq-page .ai1x-faq-item:hover > summary::before,
body.faq-page .ai1x-faq-item[open] > summary::before {
    border-color: color-mix(in srgb, var(--question-colour) 64%, transparent);
    box-shadow:
        0 0 20px color-mix(in srgb, var(--question-colour) 11%, transparent),
        inset 0 0 18px color-mix(in srgb, var(--question-colour) 6%, transparent);
}

body.faq-page .ai1x-faq-item[open] > summary::before {
    transform: translateY(-50%) rotate(180deg);
}

body.faq-page .ai1x-faq-item[open] > summary::after {
    content: "−";
}

body.faq-page .ai1x-faq-item__answer {
    width: auto !important;
    max-width: none !important;
    margin: 0 20px 19px !important;
    padding: 19px 21px 20px !important;
    border: 1px solid rgba(255,255,255,.055);
    border-radius: 15px;
    background:
        linear-gradient(145deg, rgba(0,0,0,.22), rgba(145,255,25,.018));
    color: var(--ai1f-muted);
    box-shadow: inset 0 1px rgba(255,255,255,.018);
    animation: ai1fAnswerOpen .34s ease both;
}

body.faq-page .ai1x-faq-item__answer p {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: var(--ai1f-muted) !important;
    font-size: .92rem !important;
    line-height: 1.78 !important;
}

body.faq-page .ai1x-faq-item.is-opened-by-search {
    animation: ai1fSearchFound .9s ease both;
}

/* left/right entrance sequence */
body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item {
    opacity: .22;
    filter: blur(3px);
    transform: translateX(-62px);
}

body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item:nth-child(even) {
    transform: translateX(62px);
}

body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item.is-inview {
    opacity: 1;
    filter: none;
    transform: translateX(0);
    transition:
        opacity .52s ease calc(min(var(--faq-order, 0), 5) * 42ms),
        transform .68s cubic-bezier(.2,.8,.2,1) calc(min(var(--faq-order, 0), 5) * 42ms),
        filter .58s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

/* --------------------------------------------------------------------------
   20.7 "CAN'T FIND THE ANSWER?" — BYTE CONTACT BEACON
-------------------------------------------------------------------------- */

body.faq-page .ai1f-help {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 12% 50%,
            rgba(145, 255, 25, .10),
            transparent 30rem
        ),
        radial-gradient(
            circle at 88% 30%,
            rgba(240, 213, 154, .04),
            transparent 24rem
        ),
        linear-gradient(
            180deg,
            #020604,
            #010403
        ) !important;
}

/* Main card ------------------------------------------------------------- */

body.faq-page .ai1f-help__panel {
    position: relative !important;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: minmax(230px, .42fr) minmax(0, 1fr) minmax(250px, .46fr) !important;
    gap: clamp(34px, 4.5vw, 64px) !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 390px;
    margin: 0 !important;
    padding: clamp(38px, 4.8vw, 62px) !important;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .30);
    border-radius: 34px;
    background:
        radial-gradient(
            circle at 12% 50%,
            rgba(145, 255, 25, .16),
            transparent 26rem
        ),
        radial-gradient(
            circle at 90% 30%,
            rgba(85, 191, 255, .035),
            transparent 22rem
        ),
        linear-gradient(
            120deg,
            rgba(20, 49, 26, .88),
            rgba(3, 10, 5, .99)
        );
    box-shadow:
        0 40px 104px rgba(0, 0, 0, .46),
        0 0 58px rgba(145, 255, 25, .055),
        inset 0 1px rgba(255, 255, 255, .04);
    transition:
        transform .42s cubic-bezier(.2, .8, .2, 1),
        border-color .36s ease,
        box-shadow .36s ease;
}

body.faq-page .ai1f-help__panel:hover {
    transform: translateY(-9px);
    border-color: rgba(145, 255, 25, .55);
    box-shadow:
        0 54px 126px rgba(0, 0, 0, .54),
        0 0 76px rgba(145, 255, 25, .12),
        inset 0 1px rgba(255, 255, 255, .045);
}

body.faq-page .ai1f-help__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .16;
    background-image:
        linear-gradient(
            rgba(145, 255, 25, .08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(145, 255, 25, .08) 1px,
            transparent 1px
        );
    background-size: 30px 30px;
    mask-image: linear-gradient(
        90deg,
        #000,
        rgba(0, 0, 0, .76) 45%,
        transparent 84%
    );
    pointer-events: none;
}

body.faq-page .ai1f-help__panel::after {
    content: "BYTE";
    position: absolute;
    right: -1rem;
    bottom: -4.5rem;
    z-index: -1;
    color: rgba(255, 255, 255, .025);
    font-size: clamp(8rem, 16vw, 15rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.08em;
    pointer-events: none;
    user-select: none;
}

/* Byte contact beacon --------------------------------------------------- */

body.faq-page .ai1f-help__visual {
    position: relative;
    display: grid;
    width: clamp(210px, 18vw, 260px);
    aspect-ratio: 1 / 1;
    place-items: center;
    justify-self: center;
    isolation: isolate;
}

body.faq-page .ai1f-help__visual::before {
    content: "";
    position: absolute;
    inset: 8%;
    z-index: -2;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(145, 255, 25, .19),
            rgba(145, 255, 25, .045) 45%,
            transparent 72%
        );
    filter: blur(19px);
    animation: ai1fByteAura 3.6s ease-in-out infinite;
}

body.faq-page .ai1f-help__visual::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 3%;
    z-index: -1;
    width: 65%;
    height: 13%;
    border-radius: 50%;
    background: rgba(145, 255, 25, .17);
    filter: blur(16px);
    transform: translateX(-50%);
    animation: ai1fByteFloorGlow 3.6s ease-in-out infinite;
}

body.faq-page .ai1f-help__ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

body.faq-page .ai1f-help__ring--1 {
    inset: 0;
    border: 1px solid rgba(145, 255, 25, .30);
    box-shadow:
        inset 0 0 30px rgba(145, 255, 25, .025),
        0 0 24px rgba(145, 255, 25, .045);
    animation: ai1fHelpSpin 16s linear infinite;
}

body.faq-page .ai1f-help__ring--2 {
    inset: 16%;
    border: 1px dashed rgba(240, 213, 154, .27);
    animation: ai1fHelpSpin 11s linear infinite reverse;
}

body.faq-page .ai1f-help__ring--3 {
    inset: 30%;
    border: 1px dotted rgba(85, 191, 255, .30);
    animation:
        ai1fHelpSpin 8s linear infinite,
        ai1fByteInnerRing 3s ease-in-out infinite;
}

body.faq-page .ai1f-help__byte {
    position: relative;
    z-index: 5;
    display: grid;
    width: 76%;
    max-width: 190px;
    aspect-ratio: 1 / 1;
    place-items: center;
    animation: ai1fByteBeaconFloat 4s ease-in-out infinite;
}

/* Byte now lives entirely INSIDE the circular contact beacon. */
body.faq-page .ai1f-help__byte-screen {
    position: relative !important;
    isolation: isolate;
    display: grid !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(145, 255, 25, .62) !important;
    border-radius: 50% !important;
    clip-path: circle(50% at 50% 50%);
    background:
        radial-gradient(
            circle at 50% 42%,
            rgba(85, 191, 255, .16),
            rgba(145, 255, 25, .08) 34%,
            rgba(2, 10, 5, .97) 72%
        ) !important;
    box-shadow:
        0 0 0 7px rgba(145, 255, 25, .025),
        0 0 32px rgba(145, 255, 25, .20),
        0 0 76px rgba(145, 255, 25, .08),
        inset 0 0 38px rgba(145, 255, 25, .08) !important;
    transform: translateZ(0);
}

body.faq-page .ai1f-help__byte-screen::before {
    content: "";
    position: absolute;
    inset: 7px;
    z-index: 6;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 50%;
    box-shadow: inset 0 0 22px rgba(145, 255, 25, .035);
    pointer-events: none;
}

body.faq-page .ai1f-help__byte-screen::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 7;
    opacity: .13;
    border-radius: 50%;
    background-image:
        repeating-linear-gradient(
            180deg,
            transparent 0,
            transparent 4px,
            rgba(145, 255, 25, .14) 5px
        );
    mask-image: radial-gradient(circle, #000 54%, transparent 86%);
    pointer-events: none;
}

/* Decorative rings live inside the circular mask. */
body.faq-page .ai1f-help__byte-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 4;
    border-radius: 50%;
    pointer-events: none;
}

body.faq-page .ai1f-help__byte-orbit--1 {
    width: 82%;
    height: 82%;
    border: 1px dashed rgba(145, 255, 25, .24);
    transform: translate(-50%, -50%);
    animation: ai1fByteOrbitInner 10s linear infinite;
}

body.faq-page .ai1f-help__byte-orbit--2 {
    width: 62%;
    height: 62%;
    border: 1px dotted rgba(85, 191, 255, .30);
    transform: translate(-50%, -50%);
    animation: ai1fByteOrbitInner 7s linear infinite reverse;
}

/* Keep the video clipped to the circle regardless of generic video rules. */
body.faq-page .ai1f-help__byte-screen > video {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    clip-path: circle(49% at 50% 50%);
    object-fit: cover !important;
    object-position: 50% 46% !important;
    filter:
        drop-shadow(0 12px 18px rgba(0, 0, 0, .32))
        saturate(1.05)
        contrast(1.03);
    transform: scale(1.11) translateY(1.5%);
}

/* Status label sits inside the top of the beacon. */
body.faq-page .ai1f-help__byte-status {
    position: absolute !important;
    left: 50%;
    top: 11px;
    z-index: 10;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 24px;
    padding: 0 10px !important;
    border: 1px solid rgba(145, 255, 25, .34) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(
            180deg,
            rgba(5, 18, 10, .90),
            rgba(1, 7, 4, .82)
        ) !important;
    color: rgba(239, 247, 241, .82) !important;
    font-size: .42rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .12em !important;
    white-space: nowrap;
    backdrop-filter: blur(10px);
    box-shadow:
        0 8px 20px rgba(0, 0, 0, .30),
        0 0 18px rgba(145, 255, 25, .07);
    transform: translateX(-50%);
}

body.faq-page .ai1f-help__byte-status i {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--ai1f-green);
    box-shadow:
        0 0 8px var(--ai1f-green),
        0 0 15px rgba(145, 255, 25, .55);
    animation: ai1fLamp 1.55s ease-in-out infinite;
}

/* Bottom caption becomes a proper in-circle HUD plate. */
body.faq-page .ai1f-help__byte-caption {
    position: absolute !important;
    left: 50%;
    bottom: 11px;
    z-index: 10;
    display: grid !important;
    min-width: 118px;
    justify-items: center;
    gap: 2px;
    padding: 7px 11px 6px !important;
    border: 1px solid rgba(145, 255, 25, .36) !important;
    border-radius: 13px !important;
    background:
        linear-gradient(
            180deg,
            rgba(5, 18, 10, .91),
            rgba(1, 7, 4, .84)
        ) !important;
    backdrop-filter: blur(11px);
    box-shadow:
        0 9px 22px rgba(0, 0, 0, .32),
        0 0 20px rgba(145, 255, 25, .08);
    transform: translateX(-50%);
}

body.faq-page .ai1f-help__byte-caption strong {
    color: var(--ai1f-green) !important;
    font-size: .52rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-shadow: 0 0 10px rgba(145, 255, 25, .32);
}

body.faq-page .ai1f-help__byte-caption small {
    color: rgba(225, 237, 228, .46) !important;
    font-size: .32rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .09em !important;
}

/* Scanner stays confined to the circular screen. */
body.faq-page .ai1f-help__byte-scan {
    position: absolute;
    left: 12%;
    right: 12%;
    top: 15%;
    z-index: 9;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--ai1f-green),
            transparent
        );
    box-shadow:
        0 0 10px rgba(145, 255, 25, .70),
        0 0 20px rgba(145, 255, 25, .16);
    opacity: 0;
    animation: ai1fByteScan 3.2s ease-in-out infinite;
    pointer-events: none;
}

body.faq-page .ai1f-help__route {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 7;
    width: 7px;
    height: 7px;
    margin: -3.5px;
    border-radius: 50%;
    background: var(--ai1f-green);
    box-shadow:
        0 0 10px currentColor,
        0 0 20px currentColor;
    opacity: 0;
}

body.faq-page .ai1f-help__route--1 {
    animation: ai1fHelpRoute1 3.4s ease-in-out infinite;
}

body.faq-page .ai1f-help__route--2 {
    color: var(--ai1f-gold);
    background: currentColor;
    animation: ai1fHelpRoute2 4s ease-in-out infinite -1.3s;
}

body.faq-page .ai1f-help__route--3 {
    color: var(--ai1f-blue);
    background: currentColor;
    animation: ai1fHelpRoute3 4.5s ease-in-out infinite -2.2s;
}

/* Copy ------------------------------------------------------------------ */

body.faq-page .ai1f-help__copy {
    position: relative;
    z-index: 3;
    min-width: 0;
}

body.faq-page .ai1f-help__copy .ai1x-kicker {
    margin: 0 0 15px !important;
}

body.faq-page .ai1f-help__copy h2 {
    max-width: 790px;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: clamp(2.6rem, 4.8vw, 4.8rem) !important;
    font-weight: 500 !important;
    line-height: .97 !important;
    letter-spacing: -.052em !important;
    text-align: left !important;
}

body.faq-page .ai1f-help__copy h2 span {
    color: var(--ai1f-green);
    text-shadow: 0 0 30px rgba(145, 255, 25, .07);
}

body.faq-page .ai1f-help__copy > p:last-of-type {
    max-width: 720px;
    margin: 0 !important;
    color: var(--ai1f-muted) !important;
    font-size: .94rem !important;
    line-height: 1.82 !important;
}

body.faq-page .ai1f-help__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 23px;
    color: rgba(223, 235, 226, .54);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
}

body.faq-page .ai1f-help__meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

body.faq-page .ai1f-help__meta i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ai1f-green);
    box-shadow: 0 0 10px var(--ai1f-green);
    animation: ai1fLamp 1.8s ease-in-out infinite;
}

/* Contact actions -------------------------------------------------------- */

body.faq-page .ai1f-help__actions {
    position: relative;
    z-index: 3;
    display: grid;
    width: 100%;
    min-width: 250px;
    gap: 14px;
    justify-items: stretch;
}

body.faq-page .ai1f-help__contact-button {
    position: relative;
    display: flex !important;
    width: 100%;
    min-width: 0;
    min-height: 58px;
    justify-content: space-between !important;
    overflow: hidden;
    padding-inline: 24px !important;
    box-shadow:
        0 18px 44px rgba(115, 214, 0, .32),
        0 0 34px rgba(145, 255, 25, .10);
    animation: ai1fHelpButton 3.4s ease-in-out infinite;
}

body.faq-page .ai1f-help__contact-button::before {
    content: "";
    position: absolute;
    top: -70%;
    bottom: -70%;
    left: -40%;
    width: 24%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, .48),
            transparent
        );
    transform: skewX(-18deg);
    transition: left .72s ease;
    pointer-events: none;
}

body.faq-page .ai1f-help__contact-button:hover::before,
body.faq-page .ai1f-help__contact-button:focus-visible::before {
    left: 125%;
}

body.faq-page .ai1f-help__contact-button strong {
    font-size: 1.05rem;
    transition: transform .25s ease;
}

body.faq-page .ai1f-help__contact-button:hover strong,
body.faq-page .ai1f-help__contact-button:focus-visible strong {
    transform: translateX(5px);
}

/* Email becomes a deliberate secondary action, not loose text. */
body.faq-page .ai1f-help__email {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    width: 100%;
    min-height: 76px;
    margin: 0 !important;
    padding: 11px 14px !important;
    overflow: hidden;
    border: 1px solid rgba(145, 255, 25, .20);
    border-radius: 18px;
    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(145, 255, 25, .08),
            transparent 8rem
        ),
        linear-gradient(
            145deg,
            rgba(10, 27, 16, .88),
            rgba(2, 9, 5, .96)
        );
    color: inherit !important;
    text-align: left;
    text-decoration: none !important;
    box-shadow:
        0 15px 36px rgba(0, 0, 0, .23),
        inset 0 1px rgba(255, 255, 255, .025);
    transition:
        transform .32s cubic-bezier(.2, .8, .2, 1),
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

body.faq-page .ai1f-help__email::before {
    content: "";
    position: absolute;
    top: -70%;
    bottom: -70%;
    left: -38%;
    z-index: -1;
    width: 25%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, .18),
            transparent
        );
    transform: skewX(-18deg);
    transition: left .72s ease;
}

body.faq-page .ai1f-help__email::after {
    content: "";
    position: absolute;
    left: -30%;
    bottom: 0;
    width: 30%;
    height: 2px;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--ai1f-green),
            transparent
        );
    box-shadow: 0 0 12px rgba(145, 255, 25, .62);
    opacity: .55;
    animation: ai1fEmailBeam 4.6s ease-in-out infinite;
    pointer-events: none;
}

body.faq-page .ai1f-help__email:hover,
body.faq-page .ai1f-help__email:focus-visible {
    transform: translateY(-5px);
    border-color: rgba(145, 255, 25, .54);
    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(145, 255, 25, .13),
            transparent 9rem
        ),
        linear-gradient(
            145deg,
            rgba(12, 32, 18, .96),
            rgba(2, 9, 5, .99)
        );
    box-shadow:
        0 23px 52px rgba(0, 0, 0, .32),
        0 0 30px rgba(145, 255, 25, .09),
        inset 0 1px rgba(255, 255, 255, .035);
    outline: none;
}

body.faq-page .ai1f-help__email:hover::before,
body.faq-page .ai1f-help__email:focus-visible::before {
    left: 125%;
}

body.faq-page .ai1f-help__email-icon {
    position: relative;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(145, 255, 25, .30);
    border-radius: 14px;
    background:
        radial-gradient(
            circle,
            rgba(145, 255, 25, .13),
            rgba(0, 0, 0, .15)
        );
    color: var(--ai1f-green);
    font-size: 1rem;
    line-height: 1;
    box-shadow:
        inset 0 0 18px rgba(145, 255, 25, .04),
        0 0 18px rgba(145, 255, 25, .035);
    transition:
        transform .32s ease,
        box-shadow .32s ease;
}

body.faq-page .ai1f-help__email:hover .ai1f-help__email-icon,
body.faq-page .ai1f-help__email:focus-visible .ai1f-help__email-icon {
    transform: rotate(-6deg) scale(1.08);
    box-shadow:
        inset 0 0 18px rgba(145, 255, 25, .07),
        0 0 26px rgba(145, 255, 25, .12);
}

body.faq-page .ai1f-help__email-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

body.faq-page .ai1f-help__email-copy small {
    color: rgba(223, 235, 226, .42);
    font-size: .48rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .12em;
}

body.faq-page .ai1f-help__email-copy strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: rgba(245, 250, 247, .88);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
    transition: color .25s ease;
}

body.faq-page .ai1f-help__email:hover .ai1f-help__email-copy strong,
body.faq-page .ai1f-help__email:focus-visible .ai1f-help__email-copy strong {
    color: var(--ai1f-green);
}

body.faq-page .ai1f-help__email-arrow {
    color: var(--ai1f-green);
    font-size: 1rem;
    line-height: 1;
    transition: transform .3s ease;
}

body.faq-page .ai1f-help__email:hover .ai1f-help__email-arrow,
body.faq-page .ai1f-help__email:focus-visible .ai1f-help__email-arrow {
    transform: translate(4px, -4px);
}

/* --------------------------------------------------------------------------
   20.8 POINTER SPOTLIGHT & SCROLL REVEALS
-------------------------------------------------------------------------- */

body.faq-page .ai1x-page--faq [data-ai1-faq-spotlight] {
    --spot-x: 50%;
    --spot-y: 50%;
}

body.faq-page .ai1x-page--faq [data-ai1-faq-spotlight] > .ai1f-pointer-glow {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    opacity: 0;
    pointer-events: none;
    background:
        radial-gradient(
            360px circle at var(--spot-x) var(--spot-y),
            rgba(145,255,25,.11),
            transparent 65%
        );
    transition: opacity .25s ease;
}

body.faq-page .ai1x-page--faq [data-ai1-faq-spotlight].is-spotlit > .ai1f-pointer-glow {
    opacity: 1;
}

/* Deliberately no generic "position:relative" rule here:
   it previously overrode the router's absolute grid/scan children. */

body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal] {
    opacity: .18;
    filter: blur(6px);
    transition:
        opacity .72s ease,
        transform .86s cubic-bezier(.2,.8,.2,1),
        filter .74s ease;
}

body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal="left"] {
    transform: translateX(-72px);
}

body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal="right"] {
    transform: translateX(72px);
}

body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal="up"] {
    transform: translateY(48px) scale(.985);
}

body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal].is-inview {
    opacity: 1;
    filter: none;
    transform: none;
}

/* --------------------------------------------------------------------------
   20.9 ANIMATIONS
-------------------------------------------------------------------------- */

@keyframes ai1fDivider {
    0%,100% { filter: brightness(.85); opacity: .76; }
    50% { filter: brightness(1.38); opacity: 1; }
}

@keyframes ai1fLamp {
    0%,100% { opacity: .42; transform: scale(.76); }
    50% { opacity: 1; transform: scale(1.2); }
}

@keyframes ai1fButtonSweep {
    0%,60% { left: -45%; opacity: 0; }
    70% { opacity: .8; }
    88% { opacity: .8; }
    98%,100% { left: 125%; opacity: 0; }
}

@keyframes ai1fRouterScan {
    0%,12% { left: 7%; opacity: 0; }
    20% { opacity: .75; }
    82% { opacity: .75; }
    92%,100% { left: 93%; opacity: 0; }
}

@keyframes ai1fLegendFlow {
    to { left: 120%; }
}

@keyframes ai1fRingOne {
    to { transform: translate(-50%,-50%) rotate(347deg); }
}

@keyframes ai1fRingTwo {
    to { transform: translate(-50%,-50%) rotate(389deg); }
}

@keyframes ai1fRingThree {
    to { transform: translate(-50%,-50%) rotate(360deg); }
}

@keyframes ai1fCorePulse {
    0% { opacity: .7; transform: scale(.7); }
    78%,100% { opacity: 0; transform: scale(1.78); }
}

@keyframes ai1fQuestionPulse {
    0%,100% { transform: scale(.92); opacity: .76; }
    50% { transform: scale(1.08); opacity: 1; }
}

@keyframes ai1fNodeFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes ai1fPacket1 {
    0%,8% { opacity: 0; transform: translate(0,0); }
    16% { opacity: 1; }
    52% { opacity: 1; transform: translate(-156px,-108px); }
    64%,100% { opacity: 0; transform: translate(-156px,-108px); }
}

@keyframes ai1fPacket2 {
    0%,8% { opacity: 0; transform: translate(0,0); }
    16% { opacity: 1; }
    52% { opacity: 1; transform: translate(156px,-108px); }
    64%,100% { opacity: 0; transform: translate(156px,-108px); }
}

@keyframes ai1fPacket3 {
    0%,8% { opacity: 0; transform: translate(0,0); }
    16% { opacity: 1; }
    52% { opacity: 1; transform: translate(-156px,108px); }
    64%,100% { opacity: 0; transform: translate(-156px,108px); }
}

@keyframes ai1fPacket4 {
    0%,8% { opacity: 0; transform: translate(0,0); }
    16% { opacity: 1; }
    52% { opacity: 1; transform: translate(156px,108px); }
    64%,100% { opacity: 0; transform: translate(156px,108px); }
}

@keyframes ai1fTelemetry {
    0%,24%,100% { background: rgba(0,0,0,.08); }
    8%,17% { background: rgba(145,255,25,.075); }
}

@keyframes ai1fTelemetryBeam {
    0%,4% { left: -50%; opacity: 0; }
    8% { opacity: 1; }
    17% { opacity: 1; }
    24%,100% { left: 115%; opacity: 0; }
}

@keyframes ai1fPanelSweep {
    0%,62% { left: -35%; opacity: 0; }
    70% { opacity: 1; }
    88% { opacity: 1; }
    98%,100% { left: 120%; opacity: 0; }
}

@keyframes ai1fSearchBeam {
    0%,12% { left: -24%; opacity: 0; }
    22% { opacity: 1; }
    78% { opacity: 1; }
    92%,100% { left: 105%; opacity: 0; }
}

@keyframes ai1fCountGlow {
    0%,100% {
        border-color: rgba(145,255,25,.26);
        box-shadow: 0 18px 44px rgba(0,0,0,.22);
    }
    50% {
        border-color: rgba(145,255,25,.56);
        box-shadow:
            0 18px 44px rgba(0,0,0,.26),
            0 0 28px rgba(145,255,25,.12);
    }
}

@keyframes ai1fCountPing {
    0% { transform: scale(1); }
    45% { transform: scale(1.08); box-shadow: 0 0 38px rgba(145,255,25,.2); }
    100% { transform: scale(1); }
}

@keyframes ai1fFilterAmbient {
    0%,18%,100% {
        border-color: rgba(145,255,25,.22);
        box-shadow: 0 15px 34px rgba(0,0,0,.22);
    }
    8% {
        border-color: rgba(145,255,25,.48);
        box-shadow:
            0 20px 42px rgba(0,0,0,.28),
            0 0 26px rgba(145,255,25,.09);
    }
}

@keyframes ai1fFilterSweep {
    0%,62% { left: -48%; opacity: 0; }
    70% { opacity: .85; }
    86% { opacity: .85; }
    96%,100% { left: 125%; opacity: 0; }
}

@keyframes ai1fActiveFilter {
    0%,100% {
        box-shadow:
            0 19px 44px rgba(115,214,0,.32),
            0 0 32px rgba(145,255,25,.15);
    }
    50% {
        box-shadow:
            0 22px 52px rgba(115,214,0,.45),
            0 0 46px rgba(145,255,25,.24);
    }
}

@keyframes ai1fFilterPing {
    0% { transform: translateY(-4px) scale(1); }
    45% { transform: translateY(-8px) scale(1.1); }
    100% { transform: translateY(-4px) scale(1); }
}

@keyframes ai1fQuestionBeam {
    0% { left: -32%; opacity: 0; }
    15% { opacity: 1; }
    82% { opacity: 1; }
    100% { left: 110%; opacity: 0; }
}

@keyframes ai1fAnswerOpen {
    from { opacity: 0; transform: translateY(-9px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ai1fSearchFound {
    0%,100% { box-shadow: 0 17px 42px rgba(0,0,0,.21); }
    35%,70% {
        border-color: rgba(145,255,25,.72);
        box-shadow:
            0 28px 68px rgba(0,0,0,.34),
            0 0 46px rgba(145,255,25,.18);
    }
}

@keyframes ai1fHelpAura {
    0%,100% { opacity: .45; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.14); }
}

@keyframes ai1fHelpSpin {
    to { transform: rotate(360deg); }
}

@keyframes ai1fHelpCore {
    0%,100% { transform: scale(.95); }
    50% { transform: scale(1.07); }
}

@keyframes ai1fHelpRoute1 {
    0%,10% { opacity: 0; transform: translate(0,0); }
    18% { opacity: 1; }
    62% { opacity: 1; transform: translate(76px,-55px); }
    75%,100% { opacity: 0; transform: translate(76px,-55px); }
}

@keyframes ai1fHelpRoute2 {
    0%,10% { opacity: 0; transform: translate(0,0); }
    18% { opacity: 1; }
    62% { opacity: 1; transform: translate(-74px,-55px); }
    75%,100% { opacity: 0; transform: translate(-74px,-55px); }
}

@keyframes ai1fHelpRoute3 {
    0%,10% { opacity: 0; transform: translate(0,0); }
    18% { opacity: 1; }
    62% { opacity: 1; transform: translate(0,80px); }
    75%,100% { opacity: 0; transform: translate(0,80px); }
}

@keyframes ai1fHelpButton {
    0%,100% {
        box-shadow:
            0 18px 44px rgba(115,214,0,.28),
            0 0 28px rgba(145,255,25,.08);
    }
    50% {
        box-shadow:
            0 21px 50px rgba(115,214,0,.4),
            0 0 42px rgba(145,255,25,.18);
    }
}


/* Byte contact-beacon animations ---------------------------------------- */

@keyframes ai1fByteAura {
    0%, 100% {
        opacity: .48;
        transform: scale(.90);
    }
    50% {
        opacity: 1;
        transform: scale(1.12);
    }
}

@keyframes ai1fByteFloorGlow {
    0%, 100% {
        opacity: .46;
        transform: translateX(-50%) scaleX(.86);
    }
    50% {
        opacity: .9;
        transform: translateX(-50%) scaleX(1.08);
    }
}

@keyframes ai1fByteBeaconFloat {
    0%, 100% {
        transform: translateY(0) rotate(-1deg);
    }
    50% {
        transform: translateY(-8px) rotate(1deg);
    }
}

@keyframes ai1fByteInnerRing {
    0%, 100% {
        opacity: .45;
        box-shadow: 0 0 0 rgba(85, 191, 255, 0);
    }
    50% {
        opacity: .95;
        box-shadow: 0 0 22px rgba(85, 191, 255, .08);
    }
}

@keyframes ai1fByteScan {
    0%, 10% {
        top: 14%;
        opacity: 0;
    }
    20% {
        opacity: .9;
    }
    78% {
        opacity: .9;
    }
    90%, 100% {
        top: 84%;
        opacity: 0;
    }
}

@keyframes ai1fEmailBeam {
    0%, 15% {
        left: -30%;
        opacity: 0;
    }
    28% {
        opacity: .8;
    }
    70% {
        opacity: .8;
    }
    88%, 100% {
        left: 110%;
        opacity: 0;
    }
}


@keyframes ai1fByteOrbitInner {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* --------------------------------------------------------------------------
   20.10 RESPONSIVE
-------------------------------------------------------------------------- */

@media (max-width: 1180px) {
    body.faq-page .ai1x-page--faq .ai1f-hero__inner {
        grid-template-columns: minmax(0,.86fr) minmax(500px,1.14fr) !important;
        gap: 34px !important;
    }

    body.faq-page .ai1f-help__panel {
        grid-template-columns: 185px minmax(0,1fr) !important;
    }

    body.faq-page .ai1f-help__actions {
        grid-column: 1 / -1;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 980px) {
    body.faq-page .ai1x-page--faq .ai1f-hero__inner {
        grid-template-columns: 1fr !important;
        gap: 46px !important;
        padding: 60px 0 72px !important;
    }

    body.faq-page .ai1f-router {
        width: min(100%, 780px) !important;
        margin-inline: auto !important;
    }

    body.faq-page .ai1f-filters {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.faq-page .ai1x-page--faq {
        --ai1f-section: 64px;
    }

    body.faq-page .ai1x-page--faq .ai1f-hero__copy h1 {
        font-size: clamp(3rem,13vw,4.2rem) !important;
    }

    body.faq-page .ai1f-router {
        grid-template-rows: auto auto 350px auto !important;
        min-height: 0;
        border-radius: 26px;
    }

    .ai1f-router__legend {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 5px;
    }

    .ai1f-router__legend i { display: none; }

    .ai1f-router__stage {
        min-height: 350px;
        transform: scale(.88);
        transform-origin: center;
    }

    .ai1f-router__telemetry {
        grid-template-columns: 1fr;
    }

    .ai1f-router__telemetry > div {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.05);
    }

    body.faq-page .ai1f-search-panel {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "label"
            "field"
            "count";
    }

    body.faq-page .ai1x-faq-count {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.faq-page .ai1f-filters {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item,
    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item:nth-child(even) {
        transform: translateY(24px);
    }

    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item.is-inview {
        transform: translateY(0);
    }

    body.faq-page .ai1f-help__panel {
        grid-template-columns: 1fr !important;
        text-align: center;
    }

    .ai1f-help__visual { justify-self: center; }

    body.faq-page .ai1f-help__copy h2 {
        text-align: center !important;
    }

    body.faq-page .ai1f-help__copy > p:last-of-type {
        margin-inline: auto !important;
    }

    .ai1f-help__meta { justify-content: center; }

    body.faq-page .ai1f-help__actions {
        grid-column: auto;
        display: grid;
        width: min(100%,330px);
        justify-self: center;
    }
}

@media (max-width: 480px) {
    body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-actions {
        display: grid;
    }

    body.faq-page .ai1x-page--faq .ai1f-hero__copy .ai1x-button {
        width: 100%;
    }

    .ai1f-router__stage {
        transform: scale(.75);
        margin-inline: -14%;
    }

    .ai1f-router__node {
        min-width: 116px;
        padding-left: 32px;
    }

    body.faq-page .ai1f-filters {
        gap: 10px !important;
    }

    body.faq-page .ai1f-filters .ai1x-faq-filter {
        min-height: 56px !important;
        font-size: .68rem !important;
    }

    .ai1f-search-panel__label {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}


/* Byte help-card responsive refinements --------------------------------- */

@media (max-width: 1180px) {
    body.faq-page .ai1f-help__panel {
        grid-template-columns: 200px minmax(0, 1fr) !important;
    }

    body.faq-page .ai1f-help__actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 760px);
        justify-self: center;
    }
}

@media (max-width: 720px) {
    body.faq-page .ai1f-help__panel {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        text-align: center;
    }

    body.faq-page .ai1f-help__visual {
        width: min(240px, 76vw);
        justify-self: center;
    }

    body.faq-page .ai1f-help__byte {
        width: 78%;
        max-width: 190px;
    }

    body.faq-page .ai1f-help__copy h2 {
        text-align: center !important;
    }

    body.faq-page .ai1f-help__copy > p:last-of-type {
        margin-inline: auto !important;
    }

    body.faq-page .ai1f-help__meta {
        justify-content: center;
    }

    body.faq-page .ai1f-help__actions {
        grid-column: auto;
        grid-template-columns: 1fr;
        width: min(100%, 390px);
        min-width: 0;
        justify-self: center;
    }
}

@media (max-width: 480px) {
    body.faq-page .ai1f-help__panel {
        padding: 30px 20px !important;
    }

    body.faq-page .ai1f-help__visual {
        width: min(210px, 76vw);
    }

    body.faq-page .ai1f-help__email {
        grid-template-columns: 42px minmax(0, 1fr) auto;
        gap: 11px;
        padding: 10px 11px !important;
    }

    body.faq-page .ai1f-help__email-icon {
        width: 42px;
        height: 42px;
    }

    body.faq-page .ai1f-help__email-copy strong {
        font-size: .72rem;
    }
}

/* --------------------------------------------------------------------------
   20.11 REDUCED MOTION
-------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    body.faq-page .ai1x-page--faq *,
    body.faq-page .ai1x-page--faq *::before,
    body.faq-page .ai1x-page--faq *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }

    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item,
    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item:nth-child(even),
    body.faq-page .ai1x-page--faq.ai1f-motion-ready .ai1x-faq-item.is-inview,
    body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal],
    body.faq-page .ai1x-page--faq.ai1f-reveal-ready [data-ai1-faq-reveal].is-inview {
        opacity: 1;
        filter: none;
        transform: none;
    }
}
