body.d7a-site .elementor .d7a-hero.d7x-hero {
    background: radial-gradient(ellipse at 76% -12%, #b9dcff 0%, #e7f2ff 37%, transparent 72%), linear-gradient(180deg, #f5faff, #fff);
}
.d7a-hero.d7x-hero::before {
    content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
    background: repeating-linear-gradient(90deg, #70aef945 0 1px, #ffffff40 1px 3px, transparent 3px 36px);
    mask-image: linear-gradient(180deg, #0009, transparent 83%);
}
body.d7a-site .elementor .d7x-hero .d7a-hero-inner {
    display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.18fr);
    align-items: center; gap: clamp(26px, 4.4vw, 64px);
    padding-block: clamp(48px, 6.7vw, 100px); text-align: start;
}
body.d7a-site .elementor .d7x-copy {
    display: flex; flex-direction: column; min-width: 0; align-items: flex-start; gap: 16px; padding: 0;
}
body.d7a-site .elementor .d7x-hero h1.elementor-heading-title {
    max-width: none; margin: 0; font-size: clamp(2.48rem, 4.55vw, 4.55rem); line-height: 1.03; text-wrap: initial;
}
.d7x-hero h1 .d7x-emphasis { color: #005da9; }
body.d7a-site .d7x-hero .d7a-intro p { margin-inline: 0 !important; max-width: 45ch; }
body.d7a-site .d7x-hero .d7a-actions { justify-content: flex-start; }
.d7x-copy .d7a-kicker { border-inline-start: 2px solid #0785e7; padding-inline-start: 10px; }
.d7x-stage-widget { min-width: 0; }
.d7x-system {
    position: relative; padding: clamp(14px, 2.3vw, 28px);
    color: #102a4a; background: linear-gradient(155deg, #fff 18%, #f8fbff 68%, #e6f1ff);
    border: 1px solid #baceea; border-radius: 18px; box-shadow: 0 30px 76px -40px #0069be89, 0 2px 8px #23385f0b;
}
.d7x-system-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.d7x-system .d7x-eyebrow { margin: 0 0 5px; font-size: .67rem; font-weight: 800; letter-spacing: .12em; color: #275785; }
.d7x-indicator { display: inline-block; width: 7px; height: 7px; background: #007bd9; border-radius: 50%; margin-inline-end: 5px; }
.d7x-system .d7x-system-title { margin: 0; font-size: clamp(1.13rem, 1.9vw, 1.48rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.2; }
.d7x-demo-label { flex: none; border: 1px solid #d1e2f5; border-radius: 999px; padding: 4px 8px; color: #315b84; font-size: .65rem; white-space: nowrap; }
.d7x-tabs { display: flex; flex-wrap: wrap; width: max-content; max-width: 100%; margin-top: 17px; gap: 3px; padding: 3px; border-radius: 9px; background: #e9f2fd; }
.d7x-system [hidden] { display: none !important; }
.d7x-system button {
    appearance: none; border: 1px solid transparent; border-radius: 6px; box-shadow: none;
    padding: 7px 12px; min-height: 36px; line-height: 1.2; font: inherit; font-size: .76rem;
    font-weight: 750; color: #274d74; background: transparent; cursor: pointer;
}
.d7x-system button:hover { background: #f5faff; color: #005ba9; }
.d7x-system button:focus-visible { outline: 2px solid #0069c6; outline-offset: 2px; }
.d7x-tabs button[aria-pressed="true"] { background: #fff; color: #005ba9; border-color: #cbdcf0; }
.d7x-network {
    position: relative; display: block; height: clamp(176px, 18vw, 228px); margin-top: 12px;
    border: 1px solid #d7e5f5; border-radius: 12px; overflow: hidden;
    background: radial-gradient(circle at 1px 1px,#a9c6e9 1px,transparent 0) 0 0 / 15px 15px, linear-gradient(130deg,#f6faff,#e9f3ff);
}
.d7x-rail { position: absolute; inset: 0; width: 100%; height: 100%; }
.d7x-rail path { fill: none; vector-effect: non-scaling-stroke; }
.d7x-bus { stroke: #c8dcef; stroke-width: 1; opacity: .75; }
.d7x-guide { stroke: #8db2d7; stroke-width: 1; stroke-dasharray: 3 4; }
.d7x-trace { stroke: #a0c3e8; stroke-width: 1.6; transition: stroke .2s; }
.d7x-trace.is-active { stroke: #0088ed; stroke-width: 2.6; }
.d7x-travel { stroke: #00a2f7; stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 14 100; opacity: 0; filter: drop-shadow(0 0 3px #12a9fa); }
.d7x-pulse { fill: #0068c7; stroke: #bde8ff; stroke-width: 2; opacity: 0; }
.d7x-node {
    position: absolute; width: 28%; padding: 8px 6px; transform: translate(-50%, -50%);
    text-align: center; background: #fff; border: 1px solid #b9d1ec; border-radius: 8px; box-shadow: 0 5px 11px #2d578214;
    line-height: 1.2; transition: border-color .2s, box-shadow .2s;
}
.d7x-node > span { display: block; font-size: clamp(.53rem, .83vw, .66rem); font-weight: 750; color: #3e6289; margin-bottom: 4px; }
.d7x-node > strong { display: block; color: #13385d; font-size: clamp(.66rem, 1vw, .89rem); overflow-wrap: anywhere; }
.d7x-node.is-active { border-color: #007bd9; box-shadow: 0 0 0 3px #50a8fa38, 0 5px 12px #1169af22; }
.d7x-in { left: 17.5%; top: 52%; }
.d7x-core { left: 50%; top: 32%; border-color: #86b9ec; background: #f5faff; }
.d7x-out { left: 82.5%; top: 52%; }
.d7x-result { left: 50%; top: 82%; }
.d7x-system-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 12px; }
.d7x-system-foot p { margin: 0; max-width: 46ch; color: #3e5674; font-size: .8rem; line-height: 1.45; }
.d7x-player { display: flex; flex: none; gap: 3px; }
.d7x-player button { min-width: 36px; padding: 4px; font-size: 1rem; border-color: #b9d1ec; }
.d7x-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[dir="rtl"] .d7x-rail { transform: scaleX(-1); }
html[dir="rtl"] .d7x-in { left: 82.5%; }
html[dir="rtl"] .d7x-out { left: 17.5%; }
html[dir="rtl"] .d7x-system-title, html[dir="rtl"] .d7x-eyebrow { letter-spacing: normal; }
@media (max-width: 850px) {
    body.d7a-site .elementor .d7x-hero .d7a-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    body.d7a-site .elementor .d7x-copy { gap: 12px; }
}
@media (max-width: 420px) {
    .d7x-system { padding: 12px; }
    .d7x-demo-label { display: none; }
    .d7x-network { height: 168px; }
}
@media (prefers-reduced-motion: reduce) {
    .d7x-node, .d7x-trace { transition: none; }
}
