/**
 * Titan Drones shared design tokens.
 *
 * These variables form the common visual language used by
 * Titan Drones and TitanViewer.
 */

:root {
    --titan-navy: #07111f;
    --titan-panel: #0c1929;
    --titan-panel-alt: #102238;

    --titan-blue: #2f80c9;
    --titan-gold: #d5aa4e;
    --titan-light-gold: #f1d18a;

    --titan-text-light: #f5f7fa;
    --titan-text-muted: #9dafc4;

    --titan-text-dark: #07111f;
    --titan-text-secondary: #52657a;

    --titan-border: #dbe3ec;
    --titan-background-soft: #f5f7fa;
    --titan-background: #ffffff;
}

/* TITAN HEADER DESIGN START */

/*
 * Compact light logo panel.
 * The current Titan logo asset has a white 3:2 canvas, so keep it
 * deliberately contained rather than allowing it to dictate row height.
 */
#masthead .site-header-item-logo .site-branding {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 0;
    padding: 0;
    line-height: 0;
}

#masthead .site-header-item-logo .custom-logo {
    display: block;
    height: auto;
    max-width: 100%;
}

/* Subtle separation between header and page content. */
#masthead .site-main-header-wrap {
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
}

/*
 * Header utility controls.
 * Use the actual Avanam/Dronaby clickable elements so SVGs using
 * currentColor inherit the intended Titan colours.
 */
#masthead .search-toggle-open-container .search-toggle-open,
#masthead .header-account-button,
#masthead .site-header-item .header-cart-wrap .header-cart-inner-wrap .header-cart-button {
    color: var(--titan-text-light) !important;
}

#masthead .search-toggle-open-container .search-toggle-open:hover,
#masthead .header-account-button:hover,
#masthead .site-header-item .header-cart-wrap .header-cart-inner-wrap .header-cart-button:hover {
    color: var(--titan-gold) !important;
}

#masthead .search-toggle-open-container svg,
#masthead .header-account-button svg,
#masthead .header-cart-button svg {
    color: inherit;
}

/* Consistent interaction timing across navigation and utility controls. */
#masthead a,
#masthead button {
    transition:
        color 0.18s ease,
        background-color 0.18s ease,
        border-color 0.18s ease;
}

/* TITAN HEADER DESIGN END */

/* TITAN HEADER SVG FIX START */

/*
 * Dronaby/Avanam collapses the desktop utility SVGs to 0 × 0.
 * Explicit dimensions are required; em-based sizing also resolves
 * to zero in this theme context.
 */
#masthead .search-toggle-open-container .search-toggle-open svg,
#masthead .header-account-button svg,
#masthead .header-cart-button svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    flex: 0 0 24px !important;
}

/* TITAN HEADER SVG FIX END */

/* =========================================================
   TITAN HEADER LOGO CONTRAST - RESTORED GRADIENT
   Canonical override after logo contrast experiments
   ========================================================= */

/* Disable later local plaque/glow experiments. */
#masthead .site-header-item-logo::before {
    content: none !important;
}

/* Ensure the transparent logo itself remains unboxed. */
#masthead .site-header-item-logo .site-branding {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    position: relative;
    z-index: 2;
}

/* Anchor the gradient to the left header section. */
#masthead .site-header-main-section-left {
    position: relative;
    z-index: 1;
}

/*
 * Light-to-navy gradient gives the black drone artwork and
 * small DRONES wording enough contrast while retaining the
 * Titan Navy header across the remainder of the page.
 */
#masthead .site-header-main-section-left::before {
    content: "" !important;
    position: absolute;
    inset: -6px auto -6px -24px;
    width: 430px;
    pointer-events: none;
    z-index: 0;

    border-radius: 0 18px 18px 0;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.52) 0%,
            rgba(245, 247, 250, 0.44) 18%,
            rgba(219, 227, 236, 0.30) 42%,
            rgba(157, 175, 196, 0.16) 65%,
            rgba(7, 17, 31, 0.00) 100%
        ) !important;
}

/* Keep the actual header components above the gradient. */
#masthead .site-header-main-section-left > * {
    position: relative;
    z-index: 1;
}

/* =========================================================
   TITAN HEADER DESKTOP NAVIGATION POSITION
   Use available centre space and clear the logo gradient.
   ========================================================= */
@media (min-width: 1200px) {
    #masthead .site-header-item-main-navigation {
        margin-left: 70px;
    }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    #masthead .site-header-item-main-navigation {
        margin-left: 0;
    }
}

/* =========================================================
   TITAN TABLET / MOBILE HEADER UTILITIES
   ========================================================= */

/* Mobile cart icon: white on navy, gold on hover. */
#masthead .header-mobile-cart-wrap .header-cart-button {
    color: var(--titan-text-light) !important;
}

#masthead .header-mobile-cart-wrap .header-cart-button:hover,
#masthead .header-mobile-cart-wrap .header-cart-button:focus {
    color: var(--titan-gold) !important;
}

/* =========================================================
   TITAN HOME V1 — HERO + WORKFLOW
   ========================================================= */

.titan-home-shell {
    width: min(100% - 48px, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}

/* HERO */

.titan-home-hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(
            circle at 78% 38%,
            rgba(47, 128, 201, 0.24) 0,
            rgba(47, 128, 201, 0.08) 24%,
            rgba(47, 128, 201, 0) 52%
        ),
        linear-gradient(
            120deg,
            #07111f 0%,
            #0c1929 56%,
            #102238 100%
        );
}

.titan-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.18;
    background-image:
        linear-gradient(
            rgba(255,255,255,0.07) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.07) 1px,
            transparent 1px
        );
    background-size: 54px 54px;
    mask-image: linear-gradient(
        90deg,
        transparent 0,
        rgba(0,0,0,.45) 42%,
        #000 100%
    );
}

.titan-home-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -120px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(213, 170, 78, 0.22);
    border-radius: 50%;
    box-shadow:
        0 0 0 74px rgba(47,128,201,0.035),
        0 0 0 150px rgba(213,170,78,0.025);
    pointer-events: none;
}

.titan-home-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 96px;
    padding-bottom: 104px;
}

.titan-home-eyebrow .elementor-heading-title,
.titan-home-section-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.16em;
}

.titan-home-hero-title {
    max-width: 900px;
    margin-top: 22px;
}

.titan-home-hero-title .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

.titan-home-hero-title .elementor-heading-title span {
    color: #f1d18a;
}

.titan-home-hero-copy {
    max-width: 720px;
    margin-top: 28px;
}

.titan-home-hero-copy,
.titan-home-hero-copy p {
    color: #b8c6d6;
    font-family: "Barlow", sans-serif;
    font-size: 20px;
    line-height: 1.65;
}

.titan-home-hero-copy p {
    margin: 0;
}

.titan-home-hero-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 38px;
}

.titan-home-btn {
    width: auto !important;
}

.titan-home-btn .elementor-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    padding: 14px 24px;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.015em;
    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.titan-home-btn .elementor-button:hover {
    transform: translateY(-1px);
}

.titan-home-btn-primary .elementor-button {
    background: #2f80c9;
    border: 1px solid #2f80c9;
    color: #ffffff;
}

.titan-home-btn-primary .elementor-button:hover {
    background: #3d91da;
    border-color: #3d91da;
    color: #ffffff;
}

.titan-home-btn-secondary .elementor-button {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.32);
    color: #ffffff;
}

.titan-home-btn-secondary .elementor-button:hover {
    background: rgba(255,255,255,.09);
    border-color: #d5aa4e;
    color: #f1d18a;
}

/* CAPTURE → PROCESS → ANALYSE → DELIVER */

.titan-home-flow {
    background: #f5f7fa;
}

.titan-home-flow-inner {
    padding-top: 94px;
    padding-bottom: 104px;
}

.titan-home-section-title {
    max-width: 850px;
    margin-top: 14px;
}

.titan-home-section-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.025em;
}

.titan-home-section-copy {
    max-width: 720px;
    margin-top: 18px;
}

.titan-home-section-copy,
.titan-home-section-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 18px;
    line-height: 1.65;
}

.titan-home-section-copy p {
    margin: 0;
}

.titan-home-flow-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 48px;
}

.titan-home-flow-card {
    position: relative;
    display: block !important;
    min-width: 0;
    min-height: 280px;
    padding: 30px 28px 32px;
    border: 1px solid #dbe3ec;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(7,17,31,.055);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.titan-home-flow-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47,128,201,.42);
    box-shadow: 0 20px 42px rgba(7,17,31,.09);
}

.titan-home-flow-card::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(
        90deg,
        #2f80c9,
        #d5aa4e
    );
    opacity: .72;
}

.titan-home-flow-number .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .14em;
}

.titan-home-flow-title {
    margin-top: 34px;
}

.titan-home-flow-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
}

.titan-home-flow-copy {
    margin-top: 14px;
}

.titan-home-flow-copy,
.titan-home-flow-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

.titan-home-flow-copy p {
    margin: 0;
}

/* RESPONSIVE */

@media (max-width: 1024px) {
    .titan-home-shell {
        width: min(100% - 40px, 1240px) !important;
    }

    .titan-home-hero {
        min-height: 540px;
    }

    .titan-home-hero-inner {
        padding-top: 76px;
        padding-bottom: 82px;
    }

    .titan-home-flow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .titan-home-shell {
        width: min(100% - 30px, 1240px) !important;
    }

    .titan-home-hero {
        min-height: auto;
    }

    .titan-home-hero::after {
        width: 340px;
        height: 340px;
        right: -200px;
    }

    .titan-home-hero-inner {
        padding-top: 64px;
        padding-bottom: 68px;
    }

    .titan-home-hero-title .elementor-heading-title {
        font-size: clamp(42px, 12vw, 60px);
    }

    .titan-home-hero-copy,
    .titan-home-hero-copy p {
        font-size: 18px;
    }

    .titan-home-hero-actions {
        flex-direction: column !important;
        align-items: stretch;
    }

    .titan-home-btn,
    .titan-home-btn .elementor-button {
        width: 100% !important;
    }

    .titan-home-flow-inner {
        padding-top: 70px;
        padding-bottom: 76px;
    }

    .titan-home-flow-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 36px;
    }

    .titan-home-flow-card {
        min-height: 0;
    }
}

/* =========================================================
   TITAN HOME V1.1 — LAYOUT CORRECTIONS
   ========================================================= */

/*
 * Draft homepage only.
 * Remove the Avanam page-title / breadcrumb hero.
 */
body.page-id-29762 .entry-hero.page-hero-section {
    display: none !important;
}

/*
 * Remove normal theme content restrictions from this
 * Elementor-built homepage.
 */
body.page-id-29762 .content-area,
body.page-id-29762 .site-main,
body.page-id-29762 .entry-content-wrap,
body.page-id-29762 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/*
 * Keep generated homepage sections flush with the
 * available Elementor content area.
 */
body.page-id-29762 .titan-home-hero,
body.page-id-29762 .titan-home-flow {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/*
 * Elementor containers can retain generated grid placement
 * values. Explicitly allow each workflow card to occupy its
 * natural CSS Grid cell.
 */
body.page-id-29762 .titan-home-flow-grid >
.titan-home-flow-card {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
}

/*
 * Elementor button widgets normally carry their own width
 * behaviour. The Titan action row controls sizing instead.
 */
body.page-id-29762 .titan-home-hero-actions >
.titan-home-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}

/* =========================================================
   TITAN HOME V1.2 — ELEMENTOR INNER WRAPPERS
   ========================================================= */

/*
 * Elementor boxed containers insert .e-con-inner between the
 * styled container and its actual children.
 */

/* Hero CTA buttons */
body.page-id-29762
.titan-home-hero-actions > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-29762
.titan-home-hero-actions > .e-con-inner > .titan-home-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}

/* Workflow card grid */
body.page-id-29762
.titan-home-flow-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-29762
.titan-home-flow-grid > .e-con-inner > .titan-home-flow-card {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Tablet */
@media (max-width: 1024px) {
    body.page-id-29762
    .titan-home-flow-grid > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body.page-id-29762
    .titan-home-hero-actions > .e-con-inner {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.page-id-29762
    .titan-home-hero-actions > .e-con-inner > .titan-home-btn,
    body.page-id-29762
    .titan-home-hero-actions > .e-con-inner > .titan-home-btn .elementor-button {
        width: 100% !important;
    }

    body.page-id-29762
    .titan-home-flow-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* =========================================================
   TITAN HOME V1.3 — GRID OWNER CORRECTION
   ========================================================= */

/*
 * The Elementor .e-con-inner owns the card grid.
 * The outer boxed container must remain a normal block so
 * the inner wrapper can use the full available width.
 */
body.page-id-29762 .titan-home-flow-grid {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

/*
 * Same principle for the CTA wrapper: the inner Elementor
 * wrapper owns the actual button flex layout.
 */
body.page-id-29762 .titan-home-hero-actions {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

/* =========================================================
   TITAN HOME V2 — ENTERPRISE SYSTEMS
   ========================================================= */

.titan-home-systems {
    background: #ffffff;
}

.titan-systems-inner {
    padding-top: 100px;
    padding-bottom: 108px;
}

/*
 * Outer Elementor boxed container stays neutral.
 * Its .e-con-inner owns the actual product grid.
 */
.titan-systems-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 50px;
}

.titan-systems-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-system-card {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(7,17,31,.055);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.titan-system-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47,128,201,.38);
    box-shadow: 0 22px 46px rgba(7,17,31,.095);
}

/* Product image stage */

.titan-system-image-stage {
    display: block !important;
    width: 100% !important;
    background:
        linear-gradient(
            145deg,
            #f7f9fb 0%,
            #eef3f7 100%
        );
    border-bottom: 1px solid #e3e9f0;
}

.titan-system-image-stage > .e-con-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 16 / 10;
    padding: 22px !important;
}

.titan-system-image,
.titan-system-image .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.titan-system-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Card body */

.titan-system-card-body {
    display: block !important;
    width: 100% !important;
}

.titan-system-card-body > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 315px;
    width: 100% !important;
    max-width: none !important;
    padding: 28px 26px 26px !important;
}

.titan-system-eyebrow .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: .12em;
}

.titan-system-title {
    margin-top: 16px;
}

.titan-system-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.015em;
}

.titan-system-copy {
    margin-top: 15px;
}

.titan-system-copy,
.titan-system-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

.titan-system-copy p {
    margin: 0;
}

.titan-system-link {
    margin-top: auto;
    padding-top: 24px;
}

.titan-system-link .elementor-button {
    display: inline-flex;
    width: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    font-weight: 700;
    box-shadow: none;
}

.titan-system-link .elementor-button::after {
    content: "→";
    margin-left: 8px;
    transition: transform .2s ease;
}

.titan-system-link .elementor-button:hover {
    background: transparent;
    color: #07111f;
}

.titan-system-link .elementor-button:hover::after {
    transform: translateX(3px);
}

/* Shop CTA */

.titan-systems-shop-link {
    width: auto !important;
    margin-top: 42px;
}

.titan-systems-shop-link .elementor-button {
    min-height: 50px;
    padding: 14px 24px;
    border: 1px solid #07111f;
    border-radius: 8px;
    background: #07111f;
    color: #ffffff;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    font-weight: 700;
    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

.titan-systems-shop-link .elementor-button:hover {
    transform: translateY(-1px);
    background: #2f80c9;
    border-color: #2f80c9;
    color: #ffffff;
}

/* Tablet */

@media (max-width: 1024px) {
    .titan-systems-grid > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .titan-system-card-body > .e-con-inner {
        min-height: 280px;
    }
}

/* Mobile */

@media (max-width: 768px) {
    .titan-systems-inner {
        padding-top: 72px;
        padding-bottom: 78px;
    }

    .titan-systems-grid {
        margin-top: 36px;
    }

    .titan-systems-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .titan-system-card-body > .e-con-inner {
        min-height: 0;
    }

    .titan-systems-shop-link,
    .titan-systems-shop-link .elementor-button {
        width: 100% !important;
    }
}

/* =========================================================
   TITAN HOME V3 — PROFESSIONAL SERVICES
   ========================================================= */

.titan-home-services {
    background: #f5f7fa;
}

.titan-services-inner {
    padding-top: 106px;
    padding-bottom: 112px;
}

.titan-services-layout {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.titan-services-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        minmax(0, .82fr)
        minmax(0, 1.58fr) !important;
    gap: 32px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* LEFT CAPABILITY PANEL */

.titan-services-intro {
    display: block !important;
    overflow: hidden;
    position: relative;
    min-width: 0 !important;
    border-radius: 18px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(47,128,201,.20),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #07111f,
            #102238
        );
}

.titan-services-intro::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    right: -150px;
    bottom: -120px;
    border: 1px solid rgba(213,170,78,.24);
    border-radius: 50%;
    pointer-events: none;
}

.titan-services-intro > .e-con-inner {
    position: relative;
    z-index: 1;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 100%;
    width: 100% !important;
    max-width: none !important;
    padding: 48px 44px !important;
}

.titan-services-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-services-heading {
    margin-top: 22px;
}

.titan-services-heading .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.025em;
}

.titan-services-intro-copy {
    margin-top: 28px;
}

.titan-services-intro-copy,
.titan-services-intro-copy p {
    color: #b5c4d5;
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    line-height: 1.65;
}

.titan-services-intro-copy p {
    margin: 0;
}

.titan-services-cta {
    width: auto !important;
    margin-top: auto;
    padding-top: 36px;
}

.titan-services-cta .elementor-button {
    min-height: 50px;
    padding: 14px 22px;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 8px;
    background: rgba(255,255,255,.05);
    color: #ffffff;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.titan-services-cta .elementor-button:hover {
    background: rgba(255,255,255,.10);
    border-color: #d5aa4e;
    color: #f1d18a;
}

/* RIGHT SERVICE GRID */

.titan-services-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.titan-services-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-service-card {
    display: block !important;
    position: relative;
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(7,17,31,.045);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.titan-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47,128,201,.38);
    box-shadow: 0 20px 44px rgba(7,17,31,.085);
}

.titan-service-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(
        180deg,
        #2f80c9,
        #d5aa4e
    );
    opacity: .82;
}

.titan-service-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    min-height: 310px;
    width: 100% !important;
    max-width: none !important;
    padding: 34px 32px 36px !important;
}

.titan-service-number .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .14em;
}

.titan-service-title {
    margin-top: 42px;
}

.titan-service-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 27px;
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.015em;
}

.titan-service-copy {
    margin-top: 18px;
}

.titan-service-copy,
.titan-service-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 16px;
    line-height: 1.63;
}

.titan-service-copy p {
    margin: 0;
}

@media (max-width: 1024px) {
    .titan-services-layout > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .titan-services-intro > .e-con-inner {
        min-height: 440px;
    }

    .titan-service-card > .e-con-inner {
        min-height: 290px;
    }
}

@media (max-width: 768px) {
    .titan-services-inner {
        padding-top: 74px;
        padding-bottom: 80px;
    }

    .titan-services-layout > .e-con-inner {
        gap: 20px !important;
    }

    .titan-services-intro > .e-con-inner {
        min-height: 0;
        padding: 38px 30px !important;
    }

    .titan-services-heading .elementor-heading-title {
        font-size: 40px;
    }

    .titan-services-cta,
    .titan-services-cta .elementor-button {
        width: 100% !important;
    }

    .titan-services-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .titan-service-card > .e-con-inner {
        min-height: 0;
        padding: 30px 28px 32px !important;
    }

    .titan-service-title {
        margin-top: 28px;
    }
}

/* =========================================================
   TITAN HOME V4 — TITANVIEWER
   ========================================================= */

.titan-home-titanviewer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 86% 25%,
            rgba(47,128,201,.24),
            transparent 34%
        ),
        linear-gradient(
            125deg,
            #07111f 0%,
            #0c1929 54%,
            #102238 100%
        );
}

.titan-home-titanviewer::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .12;
    pointer-events: none;
    background-image:
        linear-gradient(
            rgba(255,255,255,.07) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.07) 1px,
            transparent 1px
        );
    background-size: 48px 48px;
}

.titan-home-titanviewer::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -170px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(213,170,78,.20);
    border-radius: 50%;
    box-shadow:
        0 0 0 86px rgba(47,128,201,.035),
        0 0 0 168px rgba(213,170,78,.018);
    pointer-events: none;
}

.titan-tv-inner {
    position: relative;
    z-index: 1;
    padding-top: 112px;
    padding-bottom: 118px;
}

.titan-tv-layout {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.titan-tv-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, .92fr) !important;
    gap: 70px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* LEFT */

.titan-tv-intro {
    display: block !important;
    width: 100% !important;
}

.titan-tv-intro > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-tv-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-tv-heading {
    max-width: 720px;
    margin-top: 22px;
}

.titan-tv-heading .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: clamp(46px, 5vw, 70px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.03em;
}

.titan-tv-heading .elementor-heading-title span {
    color: #f1d18a;
}

.titan-tv-copy {
    max-width: 670px;
    margin-top: 30px;
}

.titan-tv-copy,
.titan-tv-copy p {
    color: #b6c5d6;
    font-family: "Barlow", sans-serif;
    font-size: 18px;
    line-height: 1.68;
}

.titan-tv-copy p {
    margin: 0;
}

/* ACTIONS */

.titan-tv-actions {
    display: block !important;
    width: 100% !important;
    margin-top: 38px;
}

.titan-tv-actions > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-tv-btn {
    width: auto !important;
}

.titan-tv-btn .elementor-button {
    min-height: 50px;
    padding: 14px 23px;
    border-radius: 8px;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.titan-tv-btn-primary .elementor-button {
    border: 1px solid #2f80c9;
    background: #2f80c9;
    color: #ffffff;
}

.titan-tv-btn-primary .elementor-button:hover {
    background: #3d91da;
    border-color: #3d91da;
    color: #ffffff;
}

.titan-tv-btn-secondary .elementor-button {
    border: 1px solid rgba(255,255,255,.30);
    background: rgba(255,255,255,.045);
    color: #ffffff;
}

.titan-tv-btn-secondary .elementor-button:hover {
    border-color: #d5aa4e;
    background: rgba(255,255,255,.08);
    color: #f1d18a;
}

/* RIGHT */

.titan-tv-access {
    display: block !important;
    width: 100% !important;
}

.titan-tv-access > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-tv-capabilities {
    display: block !important;
    width: 100% !important;
    margin-bottom: 4px;
}

.titan-tv-capabilities > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-tv-capability-line .elementor-heading-title {
    margin: 0;
    color: #9dafc4;
    font-family: "Barlow", sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .11em;
}

/* ACCESS CARDS */

.titan-tv-info-card {
    display: block !important;
    width: 100% !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(4px);
}

.titan-tv-info-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    padding: 24px 26px 26px !important;
}

.titan-tv-info-label .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .13em;
}

.titan-tv-info-title {
    margin-top: 10px;
}

.titan-tv-info-title .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.titan-tv-info-copy {
    margin-top: 10px;
}

.titan-tv-info-copy,
.titan-tv-info-copy p {
    color: #aebdd0;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.titan-tv-info-copy p {
    margin: 0;
}

/* TABLET */

@media (max-width: 1024px) {
    .titan-tv-layout > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 54px !important;
    }

    .titan-tv-heading {
        max-width: 760px;
    }
}

/* MOBILE */

@media (max-width: 768px) {
    .titan-tv-inner {
        padding-top: 78px;
        padding-bottom: 84px;
    }

    .titan-tv-heading .elementor-heading-title {
        font-size: 44px;
    }

    .titan-tv-actions > .e-con-inner {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .titan-tv-btn,
    .titan-tv-btn .elementor-button {
        width: 100% !important;
    }

    .titan-tv-info-card > .e-con-inner {
        padding: 22px 22px 24px !important;
    }
}

/* =========================================================
   TITAN HOME V5 — WHY TITAN DRONES
   ========================================================= */

.titan-home-why {
    background: #ffffff;
}

.titan-why-inner {
    padding-top: 104px;
    padding-bottom: 112px;
}

.titan-why-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 52px;
}

.titan-why-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #dbe3ec;
    border-bottom: 1px solid #dbe3ec;
}

.titan-why-card {
    display: block !important;
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    background: #ffffff;
}

.titan-why-card:not(:last-child) {
    border-right: 1px solid #dbe3ec;
}

.titan-why-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 330px;
    padding: 34px 30px 38px !important;
}

.titan-why-number .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.titan-why-title {
    margin-top: 54px;
}

.titan-why-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.015em;
}

.titan-why-copy {
    margin-top: 18px;
}

.titan-why-copy,
.titan-why-copy p {
    margin-bottom: 0;
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

.titan-why-card::before {
    content: "";
    position: absolute;
    left: 30px;
    top: 0;
    width: 46px;
    height: 3px;
    background: linear-gradient(
        90deg,
        #2f80c9,
        #d5aa4e
    );
}

@media (max-width: 1024px) {
    .titan-why-grid > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .titan-why-card:nth-child(2) {
        border-right: 0;
    }

    .titan-why-card:nth-child(-n+2) {
        border-bottom: 1px solid #dbe3ec;
    }
}

@media (max-width: 768px) {
    .titan-why-inner {
        padding-top: 74px;
        padding-bottom: 80px;
    }

    .titan-why-grid {
        margin-top: 38px;
    }

    .titan-why-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .titan-why-card {
        border-right: 0 !important;
        border-bottom: 1px solid #dbe3ec;
    }

    .titan-why-card:last-child {
        border-bottom: 0;
    }

    .titan-why-card > .e-con-inner {
        min-height: 0;
        padding: 30px 26px 34px !important;
    }

    .titan-why-title {
        margin-top: 32px;
    }
}

/* =========================================================
   TITAN HOME V6 — APPLICATIONS
   ========================================================= */

.titan-home-applications {
    background: #f5f7fa;
}

.titan-app-inner {
    padding-top: 104px;
    padding-bottom: 112px;
}

.titan-app-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 52px;
}

.titan-app-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-app-card {
    display: block !important;
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(7,17,31,.045);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.titan-app-card:hover {
    transform: translateY(-4px);
    border-color: rgba(47,128,201,.38);
    box-shadow: 0 20px 42px rgba(7,17,31,.085);
}

.titan-app-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(
        90deg,
        #2f80c9,
        #d5aa4e
    );
}

.titan-app-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 275px;
    padding: 30px 30px 34px !important;
}

.titan-app-number .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .14em;
}

.titan-app-title {
    margin-top: 34px;
}

.titan-app-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.015em;
}

.titan-app-copy {
    margin-top: 16px;
}

.titan-app-copy,
.titan-app-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.64;
}

.titan-app-copy p {
    margin: 0;
}

@media (max-width: 1024px) {
    .titan-app-grid > .e-con-inner {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .titan-app-inner {
        padding-top: 74px;
        padding-bottom: 80px;
    }

    .titan-app-grid {
        margin-top: 38px;
    }

    .titan-app-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .titan-app-card > .e-con-inner {
        min-height: 0;
        padding: 28px 26px 32px !important;
    }

    .titan-app-title {
        margin-top: 28px;
    }
}

/* =========================================================
   TITAN HOME V7 — FINAL CTA
   ========================================================= */

.titan-home-final-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 82% 40%,
            rgba(47,128,201,.22),
            transparent 38%
        ),
        linear-gradient(
            125deg,
            #07111f,
            #0c1929 58%,
            #102238
        );
}

.titan-home-final-cta::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(213,170,78,.20);
    border-radius: 50%;
    box-shadow:
        0 0 0 70px rgba(47,128,201,.03),
        0 0 0 135px rgba(213,170,78,.018);
    pointer-events: none;
}

.titan-final-inner {
    position: relative;
    z-index: 1;
    padding-top: 86px;
    padding-bottom: 90px;
}

.titan-final-layout {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.titan-final-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(320px, .55fr) !important;
    gap: 60px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-final-content {
    display: block !important;
    width: 100% !important;
}

.titan-final-content > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-final-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-final-heading {
    max-width: 800px;
    margin-top: 18px;
}

.titan-final-heading .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.titan-final-copy {
    max-width: 760px;
    margin-top: 22px;
}

.titan-final-copy,
.titan-final-copy p {
    color: #b6c5d6;
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    line-height: 1.65;
}

.titan-final-copy p {
    margin: 0;
}

/* CTA BUTTONS */

.titan-final-actions {
    display: block !important;
    width: 100% !important;
}

.titan-final-actions > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-final-btn,
.titan-final-btn .elementor-button {
    width: 100% !important;
}

.titan-final-btn .elementor-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 8px;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    font-weight: 700;
    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.titan-final-btn .elementor-button:hover {
    transform: translateY(-1px);
}

.titan-final-btn-primary .elementor-button {
    border: 1px solid #2f80c9;
    background: #2f80c9;
    color: #ffffff;
}

.titan-final-btn-primary .elementor-button:hover {
    border-color: #3d91da;
    background: #3d91da;
    color: #ffffff;
}

.titan-final-btn-secondary .elementor-button {
    border: 1px solid rgba(255,255,255,.30);
    background: rgba(255,255,255,.045);
    color: #ffffff;
}

.titan-final-btn-secondary .elementor-button:hover {
    border-color: #d5aa4e;
    background: rgba(255,255,255,.08);
    color: #f1d18a;
}

@media (max-width: 1024px) {
    .titan-final-layout > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    .titan-final-actions > .e-con-inner {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    .titan-final-btn {
        width: auto !important;
    }

    .titan-final-btn .elementor-button {
        width: auto !important;
        min-width: 220px;
    }
}

@media (max-width: 768px) {
    .titan-final-inner {
        padding-top: 68px;
        padding-bottom: 72px;
    }

    .titan-final-layout > .e-con-inner {
        gap: 32px !important;
    }

    .titan-final-heading .elementor-heading-title {
        font-size: 40px;
    }

    .titan-final-actions > .e-con-inner {
        flex-direction: column !important;
    }

    .titan-final-btn,
    .titan-final-btn .elementor-button {
        width: 100% !important;
    }
}

/* =========================================================
   TITAN FOOTER V1
   ========================================================= */

#colophon,
.site-footer {
    background: #07111f;
}

.titan-footer-block {
    font-family: "Barlow", sans-serif;
}

.titan-footer-block h3 {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
}

.titan-footer-brand .titan-footer-kicker {
    margin-bottom: 16px;
    color: #d5aa4e;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-footer-brand h3 {
    font-size: 25px;
    line-height: 1.15;
}

.titan-footer-brand p {
    max-width: 390px;
    margin: 18px 0 0;
    color: #9dafc4;
    font-size: 15px;
    line-height: 1.65;
}

.titan-footer-nav ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.titan-footer-nav li {
    margin: 0 0 10px;
    padding: 0;
}

.titan-footer-nav a {
    color: #9dafc4;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
    transition:
        color .18s ease,
        transform .18s ease;
}

.titan-footer-nav a:hover,
.titan-footer-nav a:focus {
    color: #f1d18a;
}

#colophon .site-footer-row-container {
    border-color: rgba(255,255,255,.09);
}

#colophon .footer-html,
#colophon .footer-html a {
    color: #9dafc4;
}

#colophon .site-footer-bottom-section-1 {
    font-family: "Barlow", sans-serif;
    font-size: 13px;
}

@media (max-width: 768px) {
    .titan-footer-brand p {
        max-width: none;
    }

    .titan-footer-block {
        padding-bottom: 12px;
    }
}

/* =========================================================
   TITAN FOOTER V1.1 — LINK COLOUR FIX
   ========================================================= */

#colophon .titan-footer-nav ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#colophon .titan-footer-nav li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

#colophon .titan-footer-nav a,
#colophon .titan-footer-nav a:visited {
    color: #9dafc4 !important;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none !important;
}

#colophon .titan-footer-nav a:hover,
#colophon .titan-footer-nav a:focus {
    color: #f1d18a !important;
}

/* =========================================================
   TITANVIEWER PAGE V1 — HERO + CONTENT
   ========================================================= */

body.page-id-29759 .entry-hero.page-hero-section {
    display: none !important;
}

body.page-id-29759 .content-area,
body.page-id-29759 .site-main,
body.page-id-29759 .entry-content-wrap,
body.page-id-29759 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* HERO */

.titan-tvpage-hero {
    position: relative;
    overflow: hidden;
    min-height: 650px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(
            circle at 82% 34%,
            rgba(47,128,201,.28) 0,
            rgba(47,128,201,.08) 28%,
            rgba(47,128,201,0) 54%
        ),
        linear-gradient(
            120deg,
            #07111f 0%,
            #0c1929 55%,
            #102238 100%
        );
}

.titan-tvpage-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image:
        linear-gradient(
            rgba(255,255,255,.07) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.07) 1px,
            transparent 1px
        );
    background-size: 50px 50px;
}

.titan-tvpage-hero::after {
    content: "";
    position: absolute;
    width: 560px;
    height: 560px;
    right: -130px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(213,170,78,.22);
    border-radius: 50%;
    box-shadow:
        0 0 0 82px rgba(47,128,201,.035),
        0 0 0 166px rgba(213,170,78,.02);
    pointer-events: none;
}

.titan-tvpage-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 102px;
    padding-bottom: 108px;
}

.titan-tvpage-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-tvpage-hero-title {
    max-width: 970px;
    margin-top: 22px;
}

.titan-tvpage-hero-title .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: clamp(50px, 6vw, 78px);
    font-weight: 700;
    line-height: .99;
    letter-spacing: -.035em;
}

.titan-tvpage-hero-copy {
    max-width: 790px;
    margin-top: 30px;
}

.titan-tvpage-hero-copy,
.titan-tvpage-hero-copy p {
    color: #b9c7d7;
    font-family: "Barlow", sans-serif;
    font-size: 19px;
    line-height: 1.68;
}

.titan-tvpage-hero-copy p {
    margin: 0;
}

.titan-tvpage-hero-note {
    max-width: 760px;
    margin-top: 18px;
    padding-left: 18px;
    border-left: 2px solid #d5aa4e;
}

.titan-tvpage-hero-note,
.titan-tvpage-hero-note p {
    color: #9dafc4;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

.titan-tvpage-hero-note p {
    margin: 0;
}

/* HERO ACTIONS */

.titan-tvpage-actions {
    display: block !important;
    width: 100% !important;
    margin-top: 38px;
}

.titan-tvpage-actions > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-tvpage-btn {
    width: auto !important;
}

.titan-tvpage-btn .elementor-button {
    min-height: 50px;
    padding: 14px 24px;
    border-radius: 8px;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    font-weight: 700;
}

.titan-tvpage-btn-primary .elementor-button {
    border: 1px solid #2f80c9;
    background: #2f80c9;
    color: #ffffff;
}

.titan-tvpage-btn-primary .elementor-button:hover {
    background: #3d91da;
    border-color: #3d91da;
    color: #ffffff;
}

.titan-tvpage-btn-secondary .elementor-button {
    border: 1px solid rgba(255,255,255,.30);
    background: rgba(255,255,255,.045);
    color: #ffffff;
}

.titan-tvpage-btn-secondary .elementor-button:hover {
    border-color: #d5aa4e;
    background: rgba(255,255,255,.08);
    color: #f1d18a;
}

/* SUPPORTED CONTENT */

.titan-tvpage-content {
    background: #f5f7fa;
}

.titan-tvpage-content-inner {
    padding-top: 104px;
    padding-bottom: 112px;
}

.titan-tvpage-content-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 52px;
}

.titan-tvpage-content-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-tvpage-content-card {
    display: block !important;
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(7,17,31,.045);
}

.titan-tvpage-content-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(
        90deg,
        #2f80c9,
        #d5aa4e
    );
}

.titan-tvpage-content-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 275px;
    padding: 30px 30px 34px !important;
}

.titan-tvpage-content-number .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.titan-tvpage-content-title {
    margin-top: 34px;
}

.titan-tvpage-content-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.18;
}

.titan-tvpage-content-copy {
    margin-top: 16px;
}

.titan-tvpage-content-copy,
.titan-tvpage-content-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.64;
}

.titan-tvpage-content-copy p {
    margin: 0;
}

@media (max-width: 1024px) {
    .titan-tvpage-content-grid > .e-con-inner {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .titan-tvpage-hero {
        min-height: auto;
    }

    .titan-tvpage-hero-inner {
        padding-top: 72px;
        padding-bottom: 78px;
    }

    .titan-tvpage-hero-title .elementor-heading-title {
        font-size: 46px;
    }

    .titan-tvpage-actions > .e-con-inner {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .titan-tvpage-btn,
    .titan-tvpage-btn .elementor-button {
        width: 100% !important;
    }

    .titan-tvpage-content-inner {
        padding-top: 74px;
        padding-bottom: 80px;
    }

    .titan-tvpage-content-grid {
        margin-top: 38px;
    }

    .titan-tvpage-content-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .titan-tvpage-content-card > .e-con-inner {
        min-height: 0;
        padding: 28px 26px 32px !important;
    }

    .titan-tvpage-content-title {
        margin-top: 28px;
    }
}

/* =========================================================
   TITANVIEWER PAGE V1.1 — ACCESS MODEL
   ========================================================= */

.titan-tvpage-access {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            125deg,
            #07111f 0%,
            #0c1929 58%,
            #102238 100%
        );
}

.titan-tvpage-access::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -220px;
    bottom: -250px;
    border: 1px solid rgba(213,170,78,.12);
    border-radius: 50%;
    pointer-events: none;
}

.titan-tvpage-access-inner {
    position: relative;
    z-index: 2;
    padding-top: 104px;
    padding-bottom: 108px;
}

.titan-tvpage-access-eyebrow .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.titan-tvpage-access-heading {
    max-width: 800px;
    margin-top: 20px;
}

.titan-tvpage-access-heading .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.titan-tvpage-access-intro {
    max-width: 830px;
    margin-top: 24px;
}

.titan-tvpage-access-intro,
.titan-tvpage-access-intro p {
    color: #9dafc4;
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    line-height: 1.68;
}

.titan-tvpage-access-intro p {
    margin: 0;
}

.titan-tvpage-access-grid {
    display: block !important;
    width: 100% !important;
    margin-top: 50px;
}

.titan-tvpage-access-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.titan-tvpage-access-card {
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 16px;
    background: rgba(255,255,255,.045);
    overflow: hidden;
}

.titan-tvpage-access-card > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 390px;
    padding: 32px 30px 34px !important;
}

.titan-tvpage-access-number .elementor-heading-title {
    margin: 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.titan-tvpage-access-label {
    margin-top: 28px;
}

.titan-tvpage-access-label .elementor-heading-title {
    margin: 0;
    color: #d5aa4e;
    font-family: "Barlow", sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .13em;
}

.titan-tvpage-access-title {
    margin-top: 10px;
}

.titan-tvpage-access-title .elementor-heading-title {
    margin: 0;
    color: #f5f7fa;
    font-family: "Barlow", sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.18;
}

.titan-tvpage-access-copy {
    margin-top: 18px;
}

.titan-tvpage-access-copy,
.titan-tvpage-access-copy p {
    color: #b9c7d7;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.62;
}

.titan-tvpage-access-copy p {
    margin: 0;
}

.titan-tvpage-access-detail {
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.09);
}

.titan-tvpage-access-detail,
.titan-tvpage-access-detail p {
    color: #7f94aa;
    font-family: "Barlow", sans-serif;
    font-size: 13px;
    line-height: 1.58;
}

.titan-tvpage-access-detail p {
    margin: 0;
}

/* ACCESS CTA */

.titan-tvpage-access-cta {
    display: block !important;
    width: 100% !important;
    margin-top: 30px;
    border: 1px solid rgba(213,170,78,.22);
    border-radius: 14px;
    background: rgba(213,170,78,.045);
}

.titan-tvpage-access-cta > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: none !important;
    padding: 26px 28px !important;
}

.titan-tvpage-access-cta-copy {
    max-width: 750px;
}

.titan-tvpage-access-cta-copy,
.titan-tvpage-access-cta-copy p {
    margin: 0;
    color: #b9c7d7;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

.titan-tvpage-access-cta-copy strong {
    color: #f5f7fa;
}

.titan-tvpage-access-button {
    flex: 0 0 auto !important;
    width: auto !important;
}

.titan-tvpage-access-button .elementor-button {
    min-height: 48px;
    padding: 13px 22px;
    border: 1px solid #2f80c9;
    border-radius: 8px;
    background: #2f80c9;
    color: #ffffff;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.titan-tvpage-access-button .elementor-button:hover {
    border-color: #3d91da;
    background: #3d91da;
    color: #ffffff;
}

@media (max-width: 1024px) {
    .titan-tvpage-access-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    .titan-tvpage-access-card > .e-con-inner {
        min-height: 0;
    }
}

@media (max-width: 768px) {
    .titan-tvpage-access-inner {
        padding-top: 74px;
        padding-bottom: 80px;
    }

    .titan-tvpage-access-heading .elementor-heading-title {
        font-size: 38px;
    }

    .titan-tvpage-access-grid {
        margin-top: 38px;
    }

    .titan-tvpage-access-card > .e-con-inner {
        padding: 28px 26px 30px !important;
    }

    .titan-tvpage-access-cta > .e-con-inner {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .titan-tvpage-access-button,
    .titan-tvpage-access-button .elementor-button {
        width: 100% !important;
    }
}

/* =========================================================
   TITANVIEWER PAGE V1.2 — PROFESSIONAL DELIVERY
   ========================================================= */

.titan-tvpage-delivery {
    background: #ffffff;
}

.titan-tvpage-delivery-inner {
    padding-top: 108px;
    padding-bottom: 112px;
}

.titan-tvpage-delivery-layout {
    display: block !important;
    width: 100% !important;
}

.titan-tvpage-delivery-layout > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(0, 1.1fr) !important;
    gap: 80px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* LEFT */

.titan-tvpage-delivery-left {
    display: block !important;
    width: 100% !important;
}

.titan-tvpage-delivery-left > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-tvpage-delivery-heading {
    margin-top: 20px;
}

.titan-tvpage-delivery-heading .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.titan-tvpage-delivery-copy {
    margin-top: 26px;
}

.titan-tvpage-delivery-copy,
.titan-tvpage-delivery-copy p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

.titan-tvpage-delivery-copy p {
    margin: 0;
}

.titan-tvpage-delivery-note {
    margin-top: 26px;
    padding: 22px 24px;
    border-left: 3px solid #d5aa4e;
    background: #f5f7fa;
    border-radius: 0 10px 10px 0;
}

.titan-tvpage-delivery-note,
.titan-tvpage-delivery-note p {
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

.titan-tvpage-delivery-note p {
    margin: 0;
}

/* RIGHT FEATURE LIST */

.titan-tvpage-delivery-features {
    display: block !important;
    width: 100% !important;
}

.titan-tvpage-delivery-features > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-tvpage-delivery-feature {
    display: block !important;
    width: 100% !important;
    border-top: 1px solid #dbe3ec;
}

.titan-tvpage-delivery-feature:last-child {
    border-bottom: 1px solid #dbe3ec;
}

.titan-tvpage-delivery-feature > .e-con-inner {
    display: grid !important;
    grid-template-columns:
        58px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    padding: 26px 0 !important;
}

.titan-tvpage-delivery-number .elementor-heading-title {
    margin: 2px 0 0;
    color: #2f80c9;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.titan-tvpage-delivery-feature-content {
    display: block !important;
    width: 100% !important;
}

.titan-tvpage-delivery-feature-content > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.titan-tvpage-delivery-feature-title .elementor-heading-title {
    margin: 0;
    color: #07111f;
    font-family: "Barlow", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

.titan-tvpage-delivery-feature-copy {
    margin-top: 8px;
}

.titan-tvpage-delivery-feature-copy,
.titan-tvpage-delivery-feature-copy p {
    margin: 0;
    color: #52657a;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    line-height: 1.62;
}

@media (max-width: 1024px) {
    .titan-tvpage-delivery-layout > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 54px !important;
    }

    .titan-tvpage-delivery-heading {
        max-width: 760px;
    }

    .titan-tvpage-delivery-copy,
    .titan-tvpage-delivery-note {
        max-width: 820px;
    }
}

@media (max-width: 768px) {
    .titan-tvpage-delivery-inner {
        padding-top: 76px;
        padding-bottom: 82px;
    }

    .titan-tvpage-delivery-layout > .e-con-inner {
        gap: 42px !important;
    }

    .titan-tvpage-delivery-heading .elementor-heading-title {
        font-size: 38px;
    }

    .titan-tvpage-delivery-feature > .e-con-inner {
        grid-template-columns:
            42px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 22px 0 !important;
    }
}

