/* ===========================================
   Trixner Design System — "Digital Precision"
   =========================================== */

/* --- CSS Variables --- */
:root {
    --trx-navy: #0A1628;
    --trx-navy-deep: #132240;
    --trx-navy-mid: #1B2D4A;
    --trx-blue: #2D7FF9;
    --trx-cyan: #00D4FF;
    --trx-white: #FFFFFF;
    --trx-grey: #94A3B8;
    --trx-grey-light: #CBD5E1;
    --trx-light-bg: #F8FAFC;
    --trx-gradient-accent: linear-gradient(135deg, var(--trx-blue), var(--trx-cyan));
    --trx-gradient-dark: linear-gradient(180deg, var(--trx-navy) 0%, var(--trx-navy-deep) 100%);
    --trx-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
    --trx-shadow-glow: 0 0 30px rgba(45, 127, 249, 0.15);
    --trx-radius: 12px;
    --trx-radius-sm: 8px;
    --trx-page-max: 1700px;
    --trx-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Global --- */
body,
#page-container {
    background-color: var(--trx-navy) !important;
    color: var(--trx-white);
}

/* --- Typography --- */
body,
.et_pb_module,
.et_pb_text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_slide_title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: 0;
    color: var(--trx-white);
}

/* --- Header / Navigation --- */
#main-header,
.et-fixed-header#main-header {
    background-color: rgba(10, 22, 40, 0.9) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(45, 127, 249, 0.1);
    box-shadow: none !important;
}

#top-header {
    display: none !important;
}

#main-header .container {
    max-width: 1200px;
}

.et_nav_text_color_light #top-menu > li > a,
#top-menu li a {
    color: var(--trx-white) !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    letter-spacing: 0.01em;
    transition: var(--trx-transition);
}

#top-menu li a:hover,
#top-menu li.current-menu-item > a {
    color: var(--trx-cyan) !important;
    opacity: 1 !important;
}

/* Nav active indicator */
#top-menu li.current-menu-item > a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 2px;
    background: var(--trx-gradient-accent);
    border-radius: 2px;
}

/* Logo */
#logo {
    max-height: 48px !important;
    width: auto !important;
    min-width: 150px;
    filter: none !important;
}

/* --- Buttons --- */
.et_pb_button,
.et_pb_more_button,
.et_pb_promo_button {
    background: var(--trx-gradient-accent) !important;
    color: var(--trx-white) !important;
    border: none !important;
    border-radius: var(--trx-radius-sm) !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 0.02em;
    transition: var(--trx-transition) !important;
    box-shadow: 0 4px 15px rgba(45, 127, 249, 0.3);
    text-transform: none !important;
}

.et_pb_button:hover,
.et_pb_more_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(45, 127, 249, 0.45) !important;
    opacity: 1 !important;
}

/* Ghost / Outline Button Variante */
.et_pb_button.trx-ghost {
    background: transparent !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: none;
}

.et_pb_button.trx-ghost:hover {
    border-color: var(--trx-cyan) !important;
    box-shadow: var(--trx-shadow-glow) !important;
}

/* --- Sections --- */
.et_pb_section {
    padding: 80px 0 !important;
}

/* Dark Section (default) */
.et_pb_section.trx-dark {
    background-color: var(--trx-navy) !important;
}

/* Deeper Section */
.et_pb_section.trx-deep {
    background-color: var(--trx-navy-deep) !important;
}

/* Light Section */
.et_pb_section.trx-light {
    background-color: var(--trx-light-bg) !important;
}

.et_pb_section.trx-light h1,
.et_pb_section.trx-light h2,
.et_pb_section.trx-light h3,
.et_pb_section.trx-light h4 {
    color: var(--trx-navy) !important;
}

.et_pb_section.trx-light p,
.et_pb_section.trx-light .et_pb_text {
    color: var(--trx-navy-mid) !important;
}

/* --- Glass Cards --- */
.trx-card,
.et_pb_blurb.trx-card {
    background: rgba(19, 34, 64, 0.6) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(45, 127, 249, 0.12);
    border-radius: var(--trx-radius) !important;
    padding: 40px !important;
    transition: var(--trx-transition) !important;
}

.trx-card:hover {
    border-color: rgba(45, 127, 249, 0.3);
    transform: translateY(-4px);
    box-shadow: var(--trx-shadow-glow);
}

/* Card Icon Styling */
.trx-card .et_pb_main_blurb_image .et-pb-icon {
    color: var(--trx-cyan) !important;
    font-size: 48px !important;
}

.trx-card .et_pb_module_header {
    font-size: 20px !important;
    margin-bottom: 12px !important;
}

.trx-card .et_pb_blurb_description {
    color: var(--trx-grey) !important;
    line-height: 1.7;
}

/* --- Stats / Numbers --- */
.trx-stat .et_pb_number_counter {
    color: var(--trx-white) !important;
    font-family: 'JetBrains Mono', 'SF Mono', monospace !important;
    font-weight: 700;
}

.trx-stat .percent p {
    font-size: 56px !important;
    background: var(--trx-gradient-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.trx-stat h3 {
    color: var(--trx-grey) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* --- Gradient Text --- */
.trx-gradient-text,
.trx-gradient-text h1,
.trx-gradient-text h2 {
    background: var(--trx-gradient-accent) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* --- Accent Line / Divider --- */
.trx-accent-line::before {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--trx-gradient-accent);
    border-radius: 3px;
    margin-bottom: 24px;
}

.trx-accent-line-center::before {
    margin-left: auto;
    margin-right: auto;
}

/* --- Section Subtitle --- */
.trx-subtitle {
    color: var(--trx-blue) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 8px !important;
}

/* --- Footer --- */
#main-footer {
    background-color: var(--trx-navy-deep) !important;
    border-top: 1px solid rgba(45, 127, 249, 0.1);
}

#footer-info,
#footer-bottom {
    background-color: var(--trx-navy) !important;
    color: var(--trx-grey) !important;
    font-size: 14px;
}

#footer-bottom a {
    color: var(--trx-grey-light) !important;
    transition: var(--trx-transition);
}

#footer-bottom a:hover {
    color: var(--trx-cyan) !important;
}

/* --- Forms (Gravity Forms / Divi Contact) --- */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea,
.gform_wrapper select,
.et_pb_contact_form input,
.et_pb_contact_form textarea {
    background: rgba(19, 34, 64, 0.6) !important;
    border: 1px solid rgba(45, 127, 249, 0.2) !important;
    border-radius: var(--trx-radius-sm) !important;
    color: var(--trx-white) !important;
    padding: 14px 18px !important;
    font-family: 'Inter', sans-serif !important;
    transition: var(--trx-transition);
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus {
    border-color: var(--trx-blue) !important;
    box-shadow: 0 0 0 3px rgba(45, 127, 249, 0.1) !important;
    outline: none;
}

.gform_wrapper .gfield_label,
.et_pb_contact_form label {
    color: var(--trx-grey-light) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

.gform_wrapper .gform_button,
.et_pb_contact_form .et_pb_contact_submit {
    background: var(--trx-gradient-accent) !important;
    border: none !important;
    border-radius: var(--trx-radius-sm) !important;
    color: var(--trx-white) !important;
    font-weight: 600 !important;
    padding: 14px 40px !important;
    cursor: pointer;
    transition: var(--trx-transition);
}

/* --- Background Pattern (Network Grid) --- */
.trx-pattern-bg {
    position: relative;
    overflow: hidden;
}

.trx-pattern-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(45, 127, 249, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(0, 212, 255, 0.06) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

/* --- Responsive --- */
@media (max-width: 980px) {
    .et_pb_section {
        padding: 60px 0 !important;
    }

    .trx-card {
        padding: 28px !important;
    }

    h1 { font-size: 36px !important; }
    h2 { font-size: 28px !important; }
}

@media (max-width: 767px) {
    .et_pb_section {
        padding: 40px 0 !important;
    }

    h1 { font-size: 28px !important; }
    h2 { font-size: 24px !important; }

    .et_pb_button {
        padding: 12px 24px !important;
        font-size: 14px !important;
    }
}

/* --- Scrollbar --- */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--trx-navy);
}

::-webkit-scrollbar-thumb {
    background: var(--trx-navy-mid);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--trx-blue);
}

/* --- Selection --- */
::selection {
    background: rgba(45, 127, 249, 0.3);
    color: var(--trx-white);
}

/* ===========================================
   Divi Content Elements: Homepage Dummy
   =========================================== */

.trx-shell {
    max-width: var(--trx-page-max) !important;
    width: min(var(--trx-page-max), calc(100% - 40px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.trx-home-hero {
    min-height: calc(100vh - 110px);
    display: flex;
    align-items: center;
    padding: 52px 0 64px !important;
    background:
        radial-gradient(circle at 84% 18%, rgba(0, 212, 255, 0.14), transparent 34%),
        radial-gradient(circle at 20% 72%, rgba(45, 127, 249, 0.16), transparent 34%),
        linear-gradient(180deg, #081326 0%, #0A1628 48%, #101E37 100%) !important;
}

.trx-home-hero .et_pb_row,
.trx-section .et_pb_row {
    width: 100% !important;
}

.trx-hero-grid,
.trx-split-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: center;
    gap: 64px;
}

.trx-hero-grid::after,
.trx-split-grid::after,
.trx-card-grid::after,
.trx-step-grid::after {
    display: none !important;
}

.trx-hero-grid > .et_pb_column,
.trx-split-grid > .et_pb_column,
.trx-card-grid > .et_pb_column,
.trx-step-grid > .et_pb_column {
    width: auto !important;
    margin: 0 !important;
}

.trx-wordmark {
    display: none;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 24px !important;
    color: var(--trx-white) !important;
}

.trx-wordmark-main {
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 900;
    line-height: 0.92;
}

.trx-wordmark-sub {
    color: var(--trx-cyan);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.trx-hero-heading h1,
.trx-hero-heading .et_pb_module_header {
    max-width: 780px;
    font-size: clamp(36px, 4.2vw, 52px) !important;
    line-height: 1.08 !important;
    padding-bottom: 18px !important;
}

.trx-hero-lead {
    max-width: 680px;
    margin-bottom: 18px !important;
}

.trx-hero-lead p,
.trx-section-intro p,
.trx-copy-stack p,
.trx-card-copy p {
    color: var(--trx-grey-light);
    font-size: 17px;
    line-height: 1.75;
}

.trx-action-button {
    display: inline-block;
    margin-right: 14px !important;
    margin-top: 10px !important;
}

.trx-hero-panel {
    align-self: stretch;
}

.trx-hero-visual {
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background:
        linear-gradient(145deg, rgba(19, 34, 64, 0.78), rgba(10, 22, 40, 0.6)),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 46px);
    border: 1px solid rgba(0, 212, 255, 0.18);
    border-radius: 8px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
}

.trx-signal-card {
    position: relative;
    width: min(520px, 100%);
    padding: 34px;
    background: rgba(8, 19, 38, 0.72);
    border: 1px solid rgba(45, 127, 249, 0.22);
    border-radius: 8px;
}

.trx-signal-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(0, 212, 255, 0.1);
    pointer-events: none;
}

.trx-signal-card span {
    display: block;
    margin-bottom: 20px;
    color: var(--trx-cyan);
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.trx-signal-card strong {
    display: block;
    color: var(--trx-white);
    font-size: clamp(24px, 2.7vw, 34px);
    line-height: 1.12;
}

.trx-signal-card p {
    margin-top: 22px;
    color: var(--trx-grey-light);
    font-size: 16px;
    line-height: 1.7;
}

.trx-metric-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 14px;
}

.trx-metric-grid span {
    padding: 16px;
    min-height: 104px;
    background: rgba(19, 34, 64, 0.58);
    border: 1px solid rgba(45, 127, 249, 0.14);
    border-radius: 8px;
    color: var(--trx-grey-light);
    font-size: 13px;
    line-height: 1.4;
}

.trx-metric-grid strong {
    display: block;
    margin-bottom: 10px;
    color: var(--trx-cyan);
    font-family: "JetBrains Mono", monospace;
    font-size: 16px;
}

.trx-section {
    padding: 96px 0 !important;
}

.trx-section-heading h2,
.trx-section-heading .et_pb_module_header {
    font-size: clamp(34px, 4.2vw, 58px) !important;
    line-height: 1.06 !important;
    padding-bottom: 0 !important;
}

.trx-narrow-heading {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.trx-section-intro-wrap {
    text-align: center;
}

.trx-section-intro {
    max-width: 760px;
    margin: 18px auto 42px !important;
}

.trx-card-grid {
    display: grid !important;
    gap: 22px;
}

.trx-card-grid-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trx-card-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trx-usecase-card,
.trx-project-card {
    display: flex !important;
    flex-direction: column;
    min-height: 410px;
}

.trx-case-number span,
.trx-step-index span {
    color: var(--trx-cyan);
    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
    font-weight: 700;
}

.trx-card-heading h3,
.trx-card-heading .et_pb_module_header {
    color: var(--trx-white) !important;
    font-size: 22px !important;
    line-height: 1.18 !important;
    padding-bottom: 14px !important;
}

.trx-button-link {
    margin-top: auto !important;
}

.trx-button-link .et_pb_button {
    background: transparent !important;
    border: 1px solid rgba(0, 212, 255, 0.42) !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
    color: var(--trx-cyan) !important;
}

.trx-real-estate-band {
    position: relative;
    overflow: hidden;
}

.trx-real-estate-band::after {
    content: "";
    position: absolute;
    right: -8vw;
    top: 10%;
    width: 42vw;
    height: 42vw;
    background:
        linear-gradient(135deg, rgba(45, 127, 249, 0.14), rgba(0, 212, 255, 0.08));
    clip-path: polygon(50% 0, 100% 36%, 82% 100%, 12% 86%, 0 24%);
    pointer-events: none;
}

.trx-light .trx-subtitle {
    color: var(--trx-blue) !important;
}

.trx-light .trx-copy-stack p {
    color: var(--trx-navy-mid) !important;
}

.trx-light-card {
    background: var(--trx-white) !important;
    border-color: rgba(10, 22, 40, 0.08) !important;
    box-shadow: 0 20px 60px rgba(10, 22, 40, 0.08);
}

.trx-check-list {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.trx-check-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: var(--trx-navy);
    font-size: 18px;
    font-weight: 700;
}

.trx-check-list li::before {
    content: "";
    width: 10px;
    height: 10px;
    margin-top: 9px;
    flex: 0 0 auto;
    background: var(--trx-gradient-accent);
    border-radius: 999px;
}

.trx-step-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.trx-step-card {
    padding: 28px !important;
    background: rgba(10, 22, 40, 0.42);
    border-top: 2px solid rgba(0, 212, 255, 0.42);
}

.trx-cta-section {
    background:
        radial-gradient(circle at 18% 24%, rgba(0, 212, 255, 0.12), transparent 32%),
        linear-gradient(180deg, var(--trx-navy-deep), var(--trx-navy)) !important;
}

.trx-offer-list {
    display: grid;
    gap: 12px;
}

.trx-offer-list span {
    display: block;
    padding: 14px 16px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(45, 127, 249, 0.14);
    border-radius: 8px;
    color: var(--trx-grey-light);
    font-weight: 700;
}

@media (max-width: 1100px) {
    .trx-card-grid-four,
    .trx-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .trx-hero-grid,
    .trx-split-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .trx-hero-visual {
        min-height: 320px;
    }

    .trx-card-grid-three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .trx-shell {
        width: min(100% - 28px, var(--trx-page-max)) !important;
    }

    .trx-home-hero,
    .trx-section {
        padding: 64px 0 !important;
    }

    .trx-hero-heading h1,
    .trx-hero-heading .et_pb_module_header {
        font-size: 38px !important;
    }

    .trx-metric-grid,
    .trx-card-grid-four,
    .trx-step-grid {
        grid-template-columns: 1fr;
    }

    .trx-action-button {
        display: block;
        margin-right: 0 !important;
    }
}

/* ===========================================
   Insights / Blog
   =========================================== */

:root {
    --trx-lime: #c7f43d;
    --trx-editorial-blue: #3192f4;
    --trx-editorial-line: #d9e3ef;
}

.trx-blog-index,
.trx-article-page {
    background: var(--trx-white);
    color: #0f172a;
}

.trx-blog-shell {
    width: min(100% - 48px, var(--trx-page-max));
    margin-inline: auto;
}

.trx-blog-hero,
.trx-article-hero {
    position: relative;
    overflow: hidden;
    background: #071427;
    color: var(--trx-white);
}

.trx-blog-hero::after,
.trx-article-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, transparent, #000);
    pointer-events: none;
}

.trx-blog-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr);
    gap: clamp(52px, 8vw, 118px);
    align-items: center;
    min-height: 650px;
    padding-block: 88px;
}

.trx-blog-kicker,
.trx-blog-meta {
    margin: 0 0 18px;
    color: var(--trx-lime);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.trx-blog-hero h1,
.trx-article-hero h1 {
    max-width: 760px;
    margin: 0 0 28px;
    color: var(--trx-white);
    font-size: clamp(48px, 5.6vw, 78px);
    line-height: .98;
    letter-spacing: 0;
}

.trx-blog-hero-copy > p:last-child,
.trx-article-lead {
    max-width: 670px;
    margin-bottom: 0;
    color: #c6d3e1;
    font-size: 20px;
    line-height: 1.65;
}

.trx-blog-focus {
    padding: clamp(28px, 4vw, 48px);
    background: #0b213f;
    border: 1px solid rgba(112, 184, 255, .3);
    border-top: 4px solid var(--trx-lime);
    box-shadow: 26px 30px 0 rgba(49, 146, 244, .08);
}

.trx-blog-focus-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
    color: var(--trx-editorial-blue);
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.trx-blog-focus-head b {
    color: var(--trx-lime);
    font-size: 18px;
}

.trx-blog-focus h2 {
    margin: 0 0 20px;
    color: var(--trx-white);
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.07;
}

.trx-blog-focus > p {
    margin-bottom: 30px;
    color: #b9c7d8;
    line-height: 1.7;
}

.trx-blog-focus nav {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.trx-blog-focus nav a {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    color: var(--trx-white);
    font-weight: 700;
}

.trx-blog-focus nav span {
    color: var(--trx-editorial-blue);
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
}

.trx-blog-intro {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(38px, 7vw, 96px);
    align-items: center;
    padding-block: 108px;
}

.trx-blog-intro h2,
.trx-blog-section-head h2,
.trx-blog-cta h2,
.trx-article-footer h2 {
    margin: 0;
    color: #071427;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.04;
}

.trx-blog-intro > p {
    margin: 0;
    color: #5b6b82;
    font-size: 18px;
    line-height: 1.8;
}

.trx-blog-list {
    padding-bottom: 112px;
}

.trx-blog-section-head {
    max-width: 760px;
    margin-bottom: 42px;
}

.trx-blog-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    min-height: 440px;
    margin-bottom: 28px;
    background: #f7f9fc;
    border-top: 3px solid var(--trx-editorial-blue);
}

.trx-blog-feature-visual,
.trx-blog-card-visual {
    position: relative;
    display: grid;
    place-items: end start;
    min-height: 260px;
    overflow: hidden;
    background-color: #0b213f;
    background-image:
        linear-gradient(rgba(49, 146, 244, .16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(49, 146, 244, .16) 1px, transparent 1px);
    background-size: 40px 40px;
}

.trx-blog-feature-visual img,
.trx-blog-card-visual img,
.trx-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.trx-blog-feature-visual > span,
.trx-blog-card-visual > span {
    padding: 28px;
    color: var(--trx-lime);
    font-family: 'JetBrains Mono', monospace;
    font-size: 64px;
    font-weight: 800;
}

.trx-blog-feature-copy,
.trx-blog-card-copy {
    padding: clamp(30px, 4vw, 52px);
}

.trx-blog-meta {
    color: #1769aa;
}

.trx-blog-feature h3,
.trx-blog-card h3 {
    margin: 14px 0 16px;
    color: #071427;
    line-height: 1.08;
}

.trx-blog-feature h3 {
    font-size: clamp(30px, 3.4vw, 45px);
}

.trx-blog-card h3 {
    font-size: 26px;
}

.trx-blog-feature-copy > p,
.trx-blog-card-copy > p {
    color: #5b6b82;
    line-height: 1.7;
}

.trx-blog-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.trx-blog-card {
    display: grid;
    grid-template-rows: 260px 1fr;
    background: #f7f9fc;
    border-top: 3px solid var(--trx-editorial-blue);
}

.trx-blog-link {
    display: inline-flex;
    gap: 8px;
    margin-top: 12px;
    color: #1769aa;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.trx-blog-link::after {
    content: "→";
}

.trx-review-badge {
    display: inline-block;
    padding: 6px 9px;
    background: #fff5c2;
    color: #6f5600;
    font-size: 12px;
    font-weight: 800;
}

.trx-blog-empty {
    grid-column: 1 / -1;
    padding: 40px;
    background: #f7f9fc;
    border-top: 3px solid var(--trx-editorial-blue);
}

.trx-blog-empty h3 {
    color: #071427;
}

.trx-blog-cta,
.trx-article-footer {
    padding-block: 96px;
    background: #eaf6ff;
}

.trx-blog-cta .trx-blog-shell {
    max-width: 900px;
}

.trx-blog-cta > div > p:not(.trx-blog-kicker) {
    max-width: 760px;
    margin: 24px 0 30px;
    color: #5b6b82;
    font-size: 18px;
    line-height: 1.7;
}

.trx-blog-cta a,
.trx-article-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 50px;
    padding: 0 22px;
    background: #071427;
    color: var(--trx-white);
    font-weight: 800;
    border-radius: 8px;
}

.trx-article-hero-inner {
    position: relative;
    z-index: 1;
    padding-block: 112px 96px;
}

.trx-article-hero h1 {
    max-width: 980px;
    font-size: clamp(46px, 5.3vw, 74px);
}

.trx-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
    margin-top: 34px;
    color: #94a3b8;
    font-size: 13px;
    font-weight: 700;
}

.trx-article-image {
    margin-top: 64px;
    aspect-ratio: 16 / 8;
    overflow: hidden;
}

.trx-article-layout {
    display: grid;
    grid-template-columns: 130px minmax(0, 760px);
    gap: clamp(30px, 6vw, 86px);
    justify-content: center;
    padding-block: 92px 112px;
}

.trx-article-rail {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 9px;
    color: #1769aa;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.trx-article-rail strong {
    color: #071427;
    font-size: 24px;
}

.trx-article-content {
    min-width: 0;
    color: #334155;
    font-size: 18px;
    line-height: 1.82;
    overflow-wrap: normal;
    hyphens: none;
    word-break: normal;
}

.trx-article-lead,
.trx-article-content p,
.trx-article-content li,
.trx-article-content td,
.trx-article-content th {
    overflow-wrap: normal;
    hyphens: none;
    word-break: normal;
}

.trx-article-content h2,
.trx-article-content h3 {
    color: #071427;
    letter-spacing: 0;
}

.trx-article-content h2 {
    margin: 64px 0 20px;
    font-size: 36px;
    line-height: 1.12;
}

.trx-article-content h3 {
    margin: 40px 0 14px;
    font-size: 24px;
}

.trx-article-content a {
    color: #1769aa;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.trx-article-content table {
    width: 100%;
    margin: 34px 0;
    border-collapse: collapse;
    font-size: 15px;
}

.trx-article-content th,
.trx-article-content td {
    padding: 14px;
    border: 1px solid var(--trx-editorial-line);
    text-align: left;
    vertical-align: top;
}

.trx-article-content th {
    background: #eaf6ff;
    color: #071427;
}

.trx-article-sources,
.trx-ai-disclosure {
    margin-top: 58px;
    padding: 26px;
    background: #f7f9fc;
    border-left: 3px solid var(--trx-editorial-blue);
}

.trx-article-sources h2 {
    margin-top: 0;
    font-size: 26px;
}

.trx-article-footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: end;
}

.trx-article-footer h2 {
    max-width: 760px;
    font-size: clamp(34px, 4vw, 48px);
}

@media (max-width: 1080px) {
    .trx-blog-hero-grid,
    .trx-blog-feature {
        grid-template-columns: 1fr;
    }

    .trx-blog-focus {
        width: min(100%, 760px);
    }

    .trx-blog-feature-visual {
        min-height: 380px;
    }
}

@media (max-width: 720px) {
    .trx-blog-shell {
        width: min(100% - 36px, var(--trx-page-max));
    }

    .trx-blog-hero-grid {
        min-height: auto;
        padding-block: 70px;
    }

    .trx-blog-hero h1,
    .trx-article-hero h1 {
        font-size: 38px;
    }

    .trx-blog-hero-copy > p:last-child,
    .trx-article-lead {
        font-size: 17px;
    }

    .trx-blog-focus {
        padding: 28px 22px;
        box-shadow: 12px 14px 0 rgba(49, 146, 244, .08);
    }

    .trx-blog-intro,
    .trx-blog-grid,
    .trx-article-layout,
    .trx-article-footer-inner {
        grid-template-columns: 1fr;
    }

    .trx-blog-intro {
        padding-block: 72px;
    }

    .trx-blog-card {
        grid-template-rows: 220px 1fr;
    }

    .trx-blog-feature-visual {
        min-height: 240px;
    }

    .trx-article-hero-inner {
        padding-block: 76px 68px;
    }

    .trx-article-image {
        width: 100%;
        margin-top: 0;
        aspect-ratio: 16 / 10;
    }

    .trx-article-layout {
        padding-block: 68px 80px;
    }

    .trx-article-rail {
        flex-direction: row;
        align-items: baseline;
    }

    .trx-article-content {
        font-size: 17px;
    }

    .trx-article-content h2 {
        font-size: 30px;
    }

    .trx-article-content table {
        display: block;
        overflow-x: auto;
    }
}

/* ===========================================
   Native Divi content system
   =========================================== */

.trx-divi-content-shell,
.trx-divi-content-shell > article,
.trx-divi-content-shell .entry-content {
    margin: 0;
    padding: 0;
    background: #fff;
}

.trx-divi-section.et_pb_section {
    padding: clamp(72px, 8vw, 118px) 0 !important;
    background: #fff !important;
    color: #34445a;
}

.trx-divi-section > .trx-divi-row,
.trx-tb-header > .trx-tb-header-row,
.trx-tb-footer > .et_pb_row {
    width: min(var(--trx-page-max), calc(100% - 48px)) !important;
    max-width: var(--trx-page-max) !important;
    margin-inline: auto !important;
    padding-block: 0 !important;
}

.trx-divi-row {
    display: grid !important;
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
}

.trx-divi-row::after,
.trx-tb-footer-grid::after,
.trx-tb-footer-bottom::after {
    display: none !important;
}

.trx-divi-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trx-divi-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.trx-divi-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }

.trx-divi-row > .et_pb_column,
.trx-tb-footer-grid > .et_pb_column,
.trx-tb-footer-bottom > .et_pb_column {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.trx-divi-section h1,
.trx-divi-section h2,
.trx-divi-section h3,
.trx-divi-section h4 {
    color: #071427 !important;
    letter-spacing: 0 !important;
}

.trx-divi-section h1 {
    font-size: clamp(42px, 5.6vw, 76px) !important;
    line-height: 1 !important;
    padding-bottom: 24px !important;
}

.trx-divi-section h2 {
    font-size: clamp(34px, 4vw, 54px) !important;
    line-height: 1.06 !important;
    padding-bottom: 22px !important;
}

.trx-divi-section h3 {
    font-size: clamp(21px, 2vw, 28px) !important;
    line-height: 1.18 !important;
    padding-bottom: 14px !important;
}

.trx-divi-section p,
.trx-divi-section li,
.trx-divi-section td,
.trx-divi-section th {
    color: #53657b;
    font-size: 17px;
    line-height: 1.75;
}

.trx-divi-section .lead p,
.trx-divi-article-lead p {
    font-size: clamp(18px, 2vw, 21px);
    line-height: 1.65;
}

.trx-divi-section .eyebrow,
.trx-divi-kicker,
.trx-divi-section .label,
.trx-divi-section .trx-divi-article-index {
    margin-bottom: 14px !important;
}

.trx-divi-section .eyebrow p,
.trx-divi-kicker p,
.trx-divi-section .label,
.trx-divi-article-index span {
    color: #1769aa !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase;
}

.trx-divi-section .trx-divi-button {
    display: inline-block;
    margin: 12px 12px 0 0 !important;
}

.trx-divi-section .trx-divi-button.et_pb_button,
.trx-divi-section .trx-divi-button .et_pb_button {
    background: #c7f43d !important;
    color: #071427 !important;
    box-shadow: none !important;
}

.trx-divi-section .secondary.et_pb_button,
.trx-divi-section .secondary .et_pb_button,
.trx-divi-section .trx-divi-button.secondary.et_pb_button,
.trx-divi-section .trx-divi-button.secondary .et_pb_button {
    background: transparent !important;
    color: #071427 !important;
    border: 1px solid currentColor !important;
}

.trx-divi-hero .eyebrow p,
.trx-divi-hero .trx-divi-kicker p,
.trx-divi-article-hero .trx-divi-kicker p,
.trx-divi-dark .eyebrow p,
.trx-divi-dark .trx-divi-kicker p,
.trx-divi-cta .eyebrow p,
.trx-divi-cta .trx-divi-kicker p,
.rag-process .eyebrow p,
.decision-band .eyebrow p,
.rag-system .eyebrow p {
    color: #c7f43d !important;
}

.trx-divi-hero .trx-divi-button.secondary.et_pb_button,
.trx-divi-article-hero .trx-divi-button.secondary.et_pb_button,
.trx-divi-dark .trx-divi-button.secondary.et_pb_button,
.trx-divi-cta .trx-divi-button.secondary.et_pb_button,
.rag-process .trx-divi-button.secondary.et_pb_button,
.decision-band .trx-divi-button.secondary.et_pb_button,
.rag-system .trx-divi-button.secondary.et_pb_button {
    color: #fff !important;
}

.trx-divi-hero.et_pb_section,
.trx-divi-article-hero.et_pb_section {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    display: flex;
    align-items: center;
    padding-block: clamp(82px, 10vw, 142px) !important;
    background: #071427 !important;
}

.trx-divi-hero::after,
.trx-divi-article-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, transparent, #000);
    pointer-events: none;
}

.trx-divi-hero > .et_pb_row,
.trx-divi-article-hero > .et_pb_row {
    position: relative;
    z-index: 1;
}

.trx-divi-hero h1,
.trx-divi-hero h2,
.trx-divi-hero h3,
.trx-divi-article-hero h1,
.trx-divi-article-hero h2,
.trx-divi-article-hero h3,
.trx-divi-dark h2,
.trx-divi-dark h3,
.trx-divi-cta h2,
.trx-divi-cta h3,
.rag-process h2,
.rag-process h3,
.decision-band h2,
.decision-band h3,
.rag-system h2,
.rag-system h3 {
    color: #fff !important;
}

.trx-divi-hero p,
.trx-divi-article-hero p,
.trx-divi-dark p,
.trx-divi-dark li,
.trx-divi-cta p,
.rag-process p,
.decision-band p,
.rag-system p {
    color: #c5d1df !important;
}

.trx-divi-hero > .trx-divi-row > .et_pb_column.hero-diagram,
.trx-divi-hero > .trx-divi-row > .et_pb_column.hub-hero-panel,
.trx-divi-hero > .trx-divi-row > .et_pb_column.hero-visual,
.trx-divi-hero > .trx-divi-row > .et_pb_column.home-hero-visual {
    min-height: 390px;
    align-content: center;
    padding: clamp(24px, 4vw, 46px) !important;
    background: #0b213f;
    border: 1px solid rgba(88, 162, 237, .35);
    border-top: 4px solid #c7f43d;
    box-shadow: 24px 28px 0 rgba(49, 146, 244, .08);
}

.trx-divi-hero .diagram-node,
.trx-divi-hero .hub-signal,
.trx-divi-hero .audit-score,
.trx-divi-hero .architecture-layer {
    margin-bottom: 12px !important;
    padding: 16px 18px !important;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.11);
}

.trx-divi-hero .diagram-node strong,
.trx-divi-hero .hub-signal strong,
.trx-divi-hero .audit-score strong {
    color: #fff;
    font-size: 20px;
}

.trx-divi-muted.et_pb_section,
.is-muted.et_pb_section {
    background: #f3f7fb !important;
}

.trx-divi-dark.et_pb_section,
.rag-process.et_pb_section,
.decision-band.et_pb_section,
.rag-system.et_pb_section {
    background: #0c1d35 !important;
}

.trx-divi-card {
    min-width: 0;
    min-height: 100%;
    padding: clamp(24px, 3vw, 38px) !important;
    background: #fff;
    border: 1px solid #d9e3ef;
    border-top: 3px solid #3192f4;
    box-shadow: 0 18px 46px rgba(7, 20, 39, .07);
}

.trx-divi-dark .trx-divi-card,
.rag-process .trx-divi-card,
.decision-band .trx-divi-card,
.rag-system .trx-divi-card {
    background: #102742;
    border-color: rgba(255,255,255,.12);
    border-top-color: #c7f43d;
    box-shadow: none;
}

.trx-divi-card .trx-divi-copy-module:first-child span,
.trx-divi-card > .et_pb_text:first-child span {
    display: block;
    margin-bottom: 18px;
    color: #3192f4;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 800;
}

.trx-divi-card-link {
    margin-top: 20px !important;
}

.trx-divi-cta.et_pb_section {
    background: #071427 !important;
    border-top: 1px solid rgba(255,255,255,.1);
}

.trx-divi-cta .trx-divi-row {
    align-items: end;
}

.trx-divi-cta-action {
    display: flex;
    justify-content: flex-end;
}

.trx-divi-blog-list-section {
    background: #f3f7fb !important;
}

.trx-divi-blog-feed .et_pb_post {
    overflow: hidden;
    padding: 0 0 28px !important;
    background: #fff;
    border: 1px solid #d9e3ef;
    border-radius: 0;
    box-shadow: none;
}

.trx-divi-blog-feed .et_pb_image_container,
.trx-divi-blog-feed .entry-featured-image-url {
    margin: 0 0 24px !important;
}

.trx-divi-blog-feed h2,
.trx-divi-blog-feed .post-meta,
.trx-divi-blog-feed .post-content {
    margin-inline: 26px;
}

.trx-divi-blog-feed h2 {
    font-size: 24px !important;
}

.trx-divi-blog-feed .more-link {
    display: inline-block;
    margin: 18px 26px 0;
    color: #0c5eaa;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: #c7f43d;
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
}

.trx-divi-article-hero {
    min-height: 560px;
}

.trx-divi-article-title h1 {
    font-size: clamp(42px, 5vw, 68px) !important;
}

.trx-divi-article-date p {
    color: #8eb9e7 !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px !important;
}

.trx-divi-article-section.et_pb_section {
    padding-block: 68px !important;
}

.trx-divi-article-section:nth-of-type(even) {
    background: #f7f9fc !important;
}

.trx-divi-article-row {
    grid-template-columns: minmax(90px, .25fr) minmax(0, .75fr) !important;
    align-items: start;
}

.trx-divi-article-rail {
    position: sticky;
    top: 120px;
    padding-top: 8px;
    border-top: 2px solid #3192f4;
}

.trx-divi-article-copy {
    max-width: 790px;
}

.trx-divi-article-copy .et_pb_text + .et_pb_text {
    margin-top: 20px;
}

.trx-divi-article-copy h2 {
    margin-top: 0;
    font-size: clamp(30px, 3.5vw, 44px) !important;
}

.trx-divi-article-copy h3 {
    margin-top: 18px;
    font-size: 24px !important;
}

.trx-divi-article-copy table {
    width: 100%;
    border-collapse: collapse;
}

.trx-divi-article-copy th,
.trx-divi-article-copy td {
    padding: 14px;
    border: 1px solid #d9e3ef;
    text-align: left;
    vertical-align: top;
}

/* Global Divi Theme Builder header */
.trx-tb-header.et_pb_section {
    position: sticky;
    top: 0;
    z-index: 9999;
    padding: 0 !important;
    background: #061120 !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.trx-tb-header-row.et_pb_row {
    width: min(var(--trx-page-max), calc(100% - 36px)) !important;
    max-width: var(--trx-page-max) !important;
    padding: 0 !important;
}

.trx-tb-menu.et_pb_menu {
    background: transparent !important;
}

.trx-tb-menu .et_pb_menu_inner_container {
    min-height: 86px;
}

.trx-tb-menu .et_pb_menu__logo-wrap {
    width: 190px;
    max-width: 190px;
}

.trx-tb-menu .et_pb_menu__logo img {
    max-height: 58px !important;
}

.trx-tb-menu .et-menu > li {
    padding-inline: 12px;
}

.trx-tb-menu .et-menu > li > a {
    padding-block: 34px !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
}

.trx-tb-menu .et-menu > li:last-child > a {
    margin-block: 23px;
    padding: 10px 16px !important;
    background: #c7f43d;
    color: #071427 !important;
}

.trx-tb-menu .sub-menu {
    width: 280px;
    padding: 12px 0 !important;
    background: #0b213f !important;
    border-top: 3px solid #c7f43d !important;
}

.trx-tb-menu .sub-menu li,
.trx-tb-menu .sub-menu a {
    width: 100% !important;
}

.trx-tb-menu .sub-menu a {
    padding: 11px 20px !important;
    color: #fff !important;
}

.trx-tb-menu .mobile_menu_bar::before {
    color: #c7f43d !important;
}

.trx-tb-menu .et_mobile_menu {
    background: #0b213f !important;
    border-top-color: #c7f43d !important;
}

.trx-tb-menu .et_mobile_menu a {
    color: #fff !important;
}

/* Global Divi Theme Builder footer */
.trx-tb-footer.et_pb_section {
    padding: 76px 0 28px !important;
    background: #061120 !important;
    border-top: 1px solid rgba(255,255,255,.1);
}

.trx-tb-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr repeat(3, 1fr);
    gap: 42px;
}

.trx-tb-footer-logo {
    max-width: 220px;
    margin-bottom: 20px !important;
}

.trx-tb-footer h3 {
    color: #fff !important;
    font-size: 16px !important;
}

.trx-tb-footer p,
.trx-tb-footer a {
    color: #aebdce !important;
    font-size: 14px;
    line-height: 2;
}

.trx-tb-footer a:hover {
    color: #c7f43d !important;
}

.trx-tb-footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    margin-top: 52px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(255,255,255,.1);
}

.trx-tb-footer-bottom .et_pb_column:last-child {
    text-align: right;
}

@media (max-width: 980px) {
    .trx-divi-grid-2,
    .trx-divi-grid-3,
    .trx-divi-grid-4,
    .trx-divi-article-row,
    .trx-tb-footer-grid {
        grid-template-columns: 1fr !important;
    }

    .trx-divi-hero.et_pb_section,
    .trx-divi-article-hero.et_pb_section {
        min-height: auto;
    }

    .trx-divi-article-rail {
        position: static;
        max-width: 90px;
    }

    .trx-divi-cta-action {
        justify-content: flex-start;
    }

    .trx-tb-menu .et_pb_menu_inner_container {
        min-height: 76px;
    }

    .trx-tb-menu .et_pb_menu__logo-wrap {
        width: 166px;
    }
}

@media (max-width: 640px) {
    .trx-divi-section > .trx-divi-row,
    .trx-tb-footer > .et_pb_row {
        width: min(100% - 30px, var(--trx-page-max)) !important;
    }

    .trx-divi-section.et_pb_section {
        padding-block: 64px !important;
    }

    .trx-divi-section h1 {
        font-size: 38px !important;
    }

    .trx-divi-section h2 {
        font-size: 31px !important;
    }

    .trx-divi-card {
        padding: 24px !important;
    }

    .trx-divi-article-copy table {
        display: block;
        overflow-x: auto;
    }

    .trx-tb-footer-bottom {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .trx-tb-footer-bottom .et_pb_column:last-child {
        text-align: left;
    }
}

/* ===========================================
   Prototype parity for native Divi sections
   =========================================== */

.trx-divi-home-hero.et_pb_section {
    position: relative;
    min-height: 760px;
    overflow: hidden;
    padding: 0 !important;
    background: #071427 !important;
}

.trx-divi-home-hero .home-hero-stage.et_pb_row,
.trx-divi-home-hero .home-hero-stage > .et_pb_column,
.trx-divi-home-hero .home-hero-stage .et_pb_module,
.trx-divi-home-hero .home-hero-stage .et_pb_code_inner {
    position: absolute;
    inset: 0;
    width: 100% !important;
    max-width: none !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.trx-divi-home-hero .home-hero-mobius {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .35s ease;
}

.trx-divi-home-hero.has-mobius-webgl .home-hero-mobius {
    opacity: 1;
}

.trx-divi-home-hero .home-hero-image,
.trx-divi-home-hero .home-hero-image .et_pb_image_wrap,
.trx-divi-home-hero .home-hero-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
}

.trx-divi-home-hero.has-mobius-webgl .home-hero-image {
    opacity: 0;
}

.trx-divi-home-hero .home-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 15, 30, .98) 0%, rgba(5, 15, 30, .9) 42%, rgba(5, 15, 30, .28) 75%, rgba(5, 15, 30, .18) 100%);
}

.trx-divi-home-hero .home-hero-inner.et_pb_row {
    position: relative;
    z-index: 2;
    display: flex !important;
    align-items: center;
    width: min(var(--trx-page-max), calc(100% - 96px)) !important;
    max-width: var(--trx-page-max) !important;
    min-height: 760px;
    margin-inline: auto !important;
    padding: 112px 0 86px !important;
}

.trx-divi-home-hero .home-hero-copy {
    width: min(760px, 72%) !important;
}

.trx-divi-home-hero h1 {
    max-width: 760px;
    padding-bottom: 24px !important;
    color: #fff !important;
    font-size: clamp(46px, 5.4vw, 74px) !important;
    line-height: .99 !important;
}

.trx-divi-home-hero .eyebrow p {
    color: #c7f43d !important;
}

.trx-divi-home-hero .lead p {
    max-width: 700px;
    color: #c6d3e1 !important;
    font-size: clamp(18px, 2vw, 21px);
    line-height: 1.65;
}

.trx-divi-home-hero .home-hero-action.et_pb_button_module_wrapper,
.trx-divi-home-hero .home-hero-copy > .et_pb_button_module_wrapper,
.trx-divi-hero .hub-hero-copy > .et_pb_button_module_wrapper,
.trx-divi-hero .solution-hero-copy > .et_pb_button_module_wrapper,
.trx-divi-cta .final-cta-action.et_pb_button_module_wrapper {
    display: inline-block !important;
    width: auto !important;
    margin: 34px 10px 0 0 !important;
}

.trx-divi-link-module a:empty,
.trx-divi-link-module p:has(> a:empty) {
    display: none !important;
}

.trx-divi-home-hero .home-hero-action .et_pb_button,
.trx-divi-home-hero .home-hero-action.et_pb_button {
    padding: 14px 21px !important;
    background: #c7f43d !important;
    color: #071427 !important;
}

.trx-divi-home-hero .home-hero-action.secondary .et_pb_button,
.trx-divi-home-hero .home-hero-action.secondary.et_pb_button {
    background: rgba(7, 20, 39, .58) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
}

.trx-divi-home-hero .home-hero-metrics-module {
    margin-top: 48px !important;
}

.trx-divi-home-hero .hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 820px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(6, 17, 32, .72);
}

.trx-divi-home-hero .hero-metrics span {
    min-width: 0;
    padding: 17px 18px;
    color: #c7d2df;
    font-size: 14px;
    line-height: 1.45;
    border-right: 1px solid rgba(255,255,255,.14);
}

.trx-divi-home-hero .hero-metrics span:last-child {
    border-right: 0;
}

.trx-divi-home-hero .hero-metrics strong {
    display: block;
    margin-bottom: 5px;
    color: #c7f43d;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.trx-home-signal-section.et_pb_section {
    position: relative;
    z-index: 4;
    padding: 0 !important;
    background: #fff !important;
}

.trx-home-signal-section .signal-strip.et_pb_row {
    width: min(var(--trx-page-max), calc(100% - 96px)) !important;
    max-width: var(--trx-page-max) !important;
    margin-top: -28px !important;
    gap: 0;
    background: #fff;
    border: 1px solid #d9e3ef;
    box-shadow: 0 20px 50px rgba(7, 20, 39, .08);
}

.trx-home-signal-section .signal-item {
    min-height: 176px;
    padding: 28px 26px !important;
    border-right: 1px solid #d9e3ef;
}

.trx-home-signal-section .signal-item:last-child {
    border-right: 0;
}

.trx-home-signal-section span,
.method-section .method-step span,
.solution-card span,
.industry-list span,
.flow-node span {
    color: #1769aa;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.trx-home-signal-section strong {
    display: block;
    margin: 14px 0 9px;
    color: #071427;
    font-size: 18px;
}

.trx-home-signal-section p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
}

.home-intro .intro-copy p + p,
.seo-section .seo-copy p + p {
    margin-top: 18px;
}

.solution-overview .section-head {
    max-width: 850px;
}

.solution-overview.et_pb_section {
    width: min(100%, var(--trx-page-max)) !important;
    max-width: var(--trx-page-max) !important;
    margin: 0 auto !important;
    padding: 112px clamp(20px, 5vw, 72px) !important;
    background: #fff !important;
}

.solution-overview > .trx-divi-row {
    width: min(100%, var(--trx-page-max)) !important;
}

.solution-overview .solution-grid.et_pb_row {
    gap: 16px;
    margin-top: 40px !important;
}

.solution-overview .solution-card-column {
    min-height: 360px;
    border: 0;
}

.solution-overview .solution-card-column,
.solution-overview .solution-card-column > .et_pb_module,
.solution-overview .solution-card-column > .et_pb_module > .et_pb_text_inner {
    height: 100%;
}

.solution-overview .solution-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 360px;
    padding: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,249,252,.98));
    border: 1px solid #d9e3ef;
    border-radius: 10px;
    box-shadow: 0 18px 54px rgba(7,20,39,.08);
    color: #071427;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.solution-overview .solution-card:hover {
    transform: translateY(-6px);
    border-color: rgba(49,146,244,.36);
    box-shadow: 0 28px 80px rgba(7,20,39,.13);
}

.solution-overview .solution-card h3 {
    margin: 78px 0 16px;
    padding: 0 !important;
    color: #071427 !important;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.solution-overview .solution-card > span {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: normal;
}

.solution-overview .solution-card p {
    margin: 0;
    padding: 0 !important;
    color: #5b6b82;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    overflow-wrap: normal;
    word-break: normal;
}

.solution-overview .solution-card > p:empty {
    display: none;
}

.solution-overview .solution-card::after {
    content: "Mehr erfahren  →";
    align-self: flex-start;
    margin-top: auto;
    padding-top: 24px;
    color: #1769aa;
    font-size: 14px;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: transform .18s ease;
}

.solution-overview .solution-card:hover::after,
.solution-overview .solution-card:focus-visible::after {
    transform: translateX(3px);
}

@media (min-width: 1081px) {
    .solution-overview .solution-card {
        padding-inline: 22px;
    }

    .solution-overview .solution-card h3 {
        font-size: 22px !important;
    }
}

.knowledge-flow .flow-visual {
    display: grid;
    gap: 18px;
}

.knowledge-flow .flow-node {
    padding: 24px 26px;
    background: #102742;
    border: 1px solid rgba(255,255,255,.14);
}

.knowledge-flow .flow-node strong {
    display: block;
    margin-top: 9px;
    color: #fff;
    font-size: 18px;
}

.knowledge-flow .flow-line {
    width: 2px;
    height: 24px;
    margin: -18px 0 -18px 34px;
    background: #c7f43d;
}

.industry-focus .industry-panel {
    padding-right: clamp(0px, 3vw, 46px) !important;
}

.industry-focus .text-link {
    display: inline-block;
    margin-top: 24px;
    color: #0c5eaa;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: #c7f43d;
    text-decoration-thickness: 3px;
    text-underline-offset: 6px;
}

.industry-focus .industry-list {
    display: grid;
    gap: 1px;
    background: #d9e3ef;
    border: 1px solid #d9e3ef;
}

.industry-focus .industry-list article {
    padding: 26px 28px;
    background: #f7f9fc;
}

.industry-focus .industry-list h3 {
    margin: 12px 0 8px;
    color: #071427 !important;
    font-size: 21px !important;
}

.industry-focus .industry-list p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
}

.method-section .method-grid.et_pb_row {
    gap: 1px;
    margin-top: 42px !important;
    background: #d9e3ef;
}

.method-section .method-step {
    min-height: 280px;
    padding: 30px 26px !important;
    background: #fff;
}

.method-section .method-step h3 {
    margin-top: 70px;
    color: #071427 !important;
    font-size: 24px !important;
}

.final-cta .final-cta-content {
    max-width: 920px;
}

/* Insights uses the same native Divi modules as the other hub pages. */
.trx-divi-page-insights.insights-hero.et_pb_section {
    min-height: 650px;
    padding-block: clamp(82px, 9vw, 126px) !important;
}

.trx-divi-page-insights.insights-hero > .trx-divi-row {
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr) !important;
    gap: clamp(52px, 8vw, 118px);
}

.trx-divi-page-insights .hub-hero-copy > .et_pb_button_module_wrapper {
    display: inline-block !important;
    width: auto !important;
    margin: 34px 10px 0 0 !important;
}

.trx-divi-page-insights .hub-hero-copy > .trx-divi-heading-module,
.trx-divi-page-insights .hub-hero-copy > .lead,
.trx-divi-page-insights .insights-hero-desk > .trx-divi-heading-module,
.trx-divi-page-insights .insights-hero-desk > .trx-divi-copy-module:not(.insights-desk-heading):not(.insights-topic-index) {
    margin-bottom: 0 !important;
}

.trx-divi-page-insights .insights-hero-desk.et_pb_column {
    align-self: stretch;
    min-width: 0;
    padding: clamp(28px, 4vw, 48px) !important;
    background: #0b213f;
    border: 1px solid rgba(112, 184, 255, .3);
    border-top: 4px solid #c7f43d;
    box-shadow: 26px 30px 0 rgba(49, 146, 244, .08);
}

.trx-divi-page-insights .insights-hero-desk > .insights-desk-heading {
    display: inline-block;
    width: auto;
    margin-bottom: 32px !important;
}

.trx-divi-page-insights .insights-hero-desk > .insights-desk-heading:nth-child(2) {
    float: right;
}

.trx-divi-page-insights .insights-desk-heading span {
    color: #3192f4 !important;
}

.trx-divi-page-insights .insights-desk-heading p {
    color: #c7f43d !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 18px !important;
    font-weight: 800;
}

.trx-divi-page-insights .insights-hero-desk h2 {
    max-width: 520px;
    padding-bottom: 22px !important;
    font-size: clamp(30px, 3vw, 43px) !important;
    line-height: 1.06 !important;
}

.trx-divi-page-insights .insights-topic-index {
    clear: both;
    display: grid;
    margin-top: 30px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.trx-divi-page-insights .insights-topic-index a {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.trx-divi-page-insights .insights-topic-index span {
    color: #3192f4;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    font-weight: 800;
}

.trx-divi-page-insights .insights-topic-index strong {
    color: #fff;
    font-size: 15px;
}

/* Nested prototype scorecards remain one editable Divi text module. */
.trx-divi-hero .audit-scorecard.et_pb_column,
.trx-divi-hero .audit-diagram.et_pb_column {
    padding: 24px !important;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    border-top: 4px solid #c7f43d;
}

.trx-divi-hero .et_pb_column.audit-scorecard > .trx-divi-composite-module > .et_pb_text_inner > .audit-scorecard,
.trx-divi-hero .et_pb_column.audit-diagram > .trx-divi-composite-module > .et_pb_text_inner > .audit-diagram {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.trx-divi-hero .et_pb_column.audit-scorecard > .trx-divi-composite-module,
.trx-divi-hero .et_pb_column.audit-diagram > .trx-divi-composite-module,
.trx-divi-hero .et_pb_column.audit-scorecard > .trx-divi-composite-module > .et_pb_text_inner > .audit-scorecard,
.trx-divi-hero .et_pb_column.audit-diagram > .trx-divi-composite-module > .et_pb_text_inner > .audit-diagram {
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.trx-divi-hero .audit-scorecard .audit-score,
.trx-divi-hero .audit-diagram .audit-score {
    min-width: 0;
    padding: 18px 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}

.trx-divi-hero .audit-scorecard .audit-score span,
.trx-divi-hero .audit-scorecard .audit-score small,
.trx-divi-hero .audit-diagram .audit-score span,
.trx-divi-hero .audit-diagram .audit-score small {
    display: block;
    color: #c7f43d !important;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px !important;
    font-weight: 800;
    text-transform: uppercase;
}

.trx-divi-hero .audit-scorecard .audit-score strong,
.trx-divi-hero .audit-diagram .audit-score strong {
    display: block;
    margin-top: 6px;
    color: #c7f43d;
    font-size: 28px;
    line-height: 1;
}

@media (max-width: 1080px) {
    .trx-divi-page-insights.insights-hero > .trx-divi-row {
        grid-template-columns: 1fr !important;
    }

    .trx-divi-page-insights .insights-hero-desk.et_pb_column {
        width: min(100%, 760px) !important;
    }
}

@media (max-width: 980px) {
    .trx-divi-home-hero .home-hero-inner.et_pb_row {
        width: min(100% - 48px, var(--trx-page-max)) !important;
    }

    .trx-divi-home-hero .home-hero-copy {
        width: min(760px, 82%) !important;
    }

    .trx-home-signal-section .signal-strip.et_pb_row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: min(100% - 48px, var(--trx-page-max)) !important;
    }

    .solution-overview .solution-grid.et_pb_row,
    .method-section .method-grid.et_pb_row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .home-intro > .trx-divi-row,
    .seo-section > .trx-divi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .solution-overview.et_pb_section {
        padding-top: 76px !important;
        padding-bottom: 76px !important;
    }

    .trx-divi-home-hero.et_pb_section,
    .trx-divi-home-hero .home-hero-inner.et_pb_row {
        min-height: 720px;
    }

    .trx-divi-home-hero .home-hero-inner.et_pb_row {
        width: min(100% - 30px, var(--trx-page-max)) !important;
        padding-block: 74px 48px !important;
    }

    .trx-divi-home-hero .home-hero-copy {
        width: 100% !important;
    }

    .trx-divi-home-hero h1 {
        font-size: 39px !important;
    }

    .trx-divi-home-hero .home-hero-shade {
        background: linear-gradient(180deg, rgba(5,15,30,.82), rgba(5,15,30,.96));
    }

    .trx-divi-home-hero .hero-metrics,
    .trx-home-signal-section .signal-strip.et_pb_row,
    .solution-overview .solution-grid.et_pb_row,
    .method-section .method-grid.et_pb_row,
    .home-intro > .trx-divi-row,
    .seo-section > .trx-divi-row {
        grid-template-columns: 1fr !important;
    }

    .trx-divi-home-hero .hero-metrics span,
    .trx-home-signal-section .signal-item,
    .solution-overview .solution-card-column {
        border-right: 0;
        border-bottom: 1px solid #d9e3ef;
    }

    .trx-divi-home-hero .hero-metrics span {
        border-bottom-color: rgba(255,255,255,.14);
    }

    .solution-overview .solution-card-column,
    .solution-overview .solution-card {
        min-height: 260px;
    }

    .solution-overview .solution-card h3 {
        margin-top: 42px;
    }

    .trx-divi-hero .et_pb_column.audit-scorecard > .trx-divi-composite-module > .et_pb_text_inner > .audit-scorecard,
    .trx-divi-hero .et_pb_column.audit-diagram > .trx-divi-composite-module > .et_pb_text_inner > .audit-diagram {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
