/* ============================================================
   DGxOne Trust & Security Page
   Dedicated page styling built on dgx-public-design-system.css
   ============================================================ */

.security-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1000;
    padding: 10px 14px;
    transform: translateY(-160%);
    border: 1px solid var(--dgxp-accent);
    border-radius: var(--dgxp-radius-small);
    background: var(--dgxp-bg);
}

.security-skip-link:focus {
    transform: translateY(0);
}

.security-hero {
    min-height: 96svh;
    display: grid;
    align-items: center;
    padding: 144px 32px 106px;
}

.security-hero-inner {
    width: min(var(--dgxp-max-width), 100%);
    display: grid;
    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(430px, .78fr);
    align-items: center;
    gap: clamp(70px, 9vw, 150px);
    margin-inline: auto;
}

.security-hero-copy {
    max-width: 820px;
}

.security-hero .dgx-public-display {
    margin-top: 28px;
}

.security-hero .dgx-public-display span {
    display: block;
    color: #8799a4;
}

.security-hero .dgx-public-lead {
    margin-top: 34px;
}

.security-hero-actions,
.security-final-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 36px;
}

.trust-engine {
    padding: clamp(28px, 3vw, 42px);
    border: 1px solid var(--dgxp-line);
    border-radius: var(--dgxp-radius-medium);
    background:
        linear-gradient(
            180deg,
            rgba(9, 22, 31, .82),
            rgba(5, 13, 19, .74)
        );
    box-shadow:
        inset 0 1px rgba(255, 255, 255, .025);
}

.trust-engine-label {
    margin: 0 0 30px;
    color: var(--dgxp-text-soft);
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.trust-engine-flow {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.trust-engine-flow li {
    position: relative;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 17px;
    padding-bottom: 28px;
    opacity: .56;
    animation:
        security-trust-state 7.5s
        var(--dgxp-ease)
        infinite;
}

.trust-engine-flow li:nth-child(2) {
    animation-delay: 1.5s;
}

.trust-engine-flow li:nth-child(3) {
    animation-delay: 3s;
}

.trust-engine-flow li:nth-child(4) {
    animation-delay: 4.5s;
}

.trust-engine-flow li:nth-child(5) {
    padding-bottom: 0;
    animation-delay: 6s;
}

.trust-engine-flow li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 6px;
    left: 14px;
    width: 1px;
    background: var(--dgxp-line);
}

.trust-engine-flow li > span {
    position: relative;
    z-index: 1;
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(139, 220, 255, .23);
    border-radius: 50%;
    color: var(--dgxp-accent);
    background: #061018;
    font-size: .56rem;
    font-weight: 800;
}

.trust-engine-flow strong {
    display: block;
    margin: 2px 0 7px;
    color: var(--dgxp-text);
    font-size: .93rem;
    font-weight: 680;
}

.trust-engine-flow small {
    color: var(--dgxp-text-muted);
    font-size: .72rem;
    line-height: 1.45;
}

.security-section-heading {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: clamp(36px, 6vw, 94px);
}

.security-section-number {
    margin: 7px 0 0;
    color: var(--dgxp-accent);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.security-section-heading .dgx-public-heading {
    max-width: 1080px;
    margin-top: 25px;
}

.security-section-heading .dgx-public-lead {
    margin-top: 28px;
}

.security-request-path {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: clamp(60px, 7vw, 94px) 0 0 180px;
    padding: 0;
    border-top: 1px solid var(--dgxp-line);
    border-bottom: 1px solid var(--dgxp-line);
    list-style: none;
}

.security-request-path li {
    min-height: 288px;
    padding: 30px;
}

.security-request-path li + li {
    border-left: 1px solid var(--dgxp-line);
}

.security-request-path li > span {
    color: var(--dgxp-accent);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.security-request-path strong {
    display: block;
    margin-top: 42px;
    color: var(--dgxp-text);
    font-size: .94rem;
    font-weight: 680;
}

.security-request-path p {
    margin: 18px 0 0;
    color: var(--dgxp-text-muted);
    font-size: .84rem;
    line-height: 1.6;
}

.security-protection-grid,
.security-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: clamp(54px, 7vw, 90px) 0 0 180px;
}

.security-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.security-protection-grid article,
.security-status-grid article {
    min-height: 350px;
    padding: clamp(28px, 3vw, 42px);
}

.security-protection-grid article > span:not(.security-status) {
    color: var(--dgxp-accent);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.security-protection-grid h3,
.security-status-grid h3 {
    margin: 42px 0 0;
    color: var(--dgxp-text);
    font-size: clamp(1.3rem, 1.9vw, 1.8rem);
    font-weight: 650;
    line-height: 1.13;
    letter-spacing: -.025em;
}

.security-protection-grid p {
    margin: 20px 0 0;
    color: var(--dgxp-text-muted);
    font-size: .92rem;
    line-height: 1.7;
}

.security-control-list {
    margin: clamp(54px, 7vw, 90px) 0 0 180px;
}

.security-control-list article {
    display: grid;
    grid-template-columns: minmax(230px, .45fr) minmax(0, 1fr);
    gap: clamp(36px, 6vw, 96px);
    padding: 30px 0;
    border-top: 1px solid var(--dgxp-line);
}

.security-control-list article:last-child {
    border-bottom: 1px solid var(--dgxp-line);
}

.security-control-list article > div {
    display: grid;
    align-content: start;
    gap: 8px;
}

.security-control-list span {
    color: var(--dgxp-text);
    font-size: 1rem;
    font-weight: 680;
}

.security-control-list small {
    color: var(--dgxp-text-soft);
    font-size: .65rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.security-control-list p {
    max-width: 700px;
    margin: 0;
    color: var(--dgxp-text-muted);
    font-size: .94rem;
    line-height: 1.66;
}

.security-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 26px;
    padding: 0 10px;
    border: 1px solid var(--dgxp-line);
    border-radius: 999px;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.security-status.active {
    color: #a8f0d7;
    border-color: rgba(111, 242, 194, .25);
    background: rgba(111, 242, 194, .06);
}

.security-status.developing {
    color: var(--dgxp-accent-strong);
    border-color: rgba(139, 220, 255, .28);
    background: rgba(139, 220, 255, .06);
}

.security-status.future {
    color: #b8b1a2;
    border-color: rgba(214, 185, 127, .19);
    background: rgba(214, 185, 127, .045);
}

.security-status-grid ul {
    display: grid;
    gap: 13px;
    margin: 24px 0 0;
    padding: 0;
    color: var(--dgxp-text-muted);
    list-style: none;
}

.security-status-grid li {
    position: relative;
    padding-left: 17px;
    font-size: .86rem;
    line-height: 1.5;
}

.security-status-grid li::before {
    content: "";
    position: absolute;
    top: .55em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(139, 220, 255, .55);
}

.security-faq {
    display: grid;
    margin: clamp(54px, 7vw, 90px) 0 0 180px;
    border-top: 1px solid var(--dgxp-line);
}

.security-faq details {
    border-bottom: 1px solid var(--dgxp-line);
}

.security-faq summary {
    min-height: 92px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    cursor: pointer;
    color: var(--dgxp-text);
    font-size: 1rem;
    font-weight: 680;
    list-style: none;
}

.security-faq summary::-webkit-details-marker {
    display: none;
}

.security-faq summary::after {
    content: "+";
    color: var(--dgxp-accent);
    font-size: 1.2rem;
    font-weight: 400;
}

.security-faq details[open] summary::after {
    content: "−";
}

.security-faq details p {
    max-width: 820px;
    margin: 0;
    padding: 0 0 30px;
    color: var(--dgxp-text-muted);
    font-size: .94rem;
    line-height: 1.72;
}

.security-final {
    min-height: 76svh;
    display: grid;
    place-items: center;
    padding: 120px 32px;
    border-top: 1px solid var(--dgxp-line-soft);
    text-align: center;
    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(48, 143, 181, .1),
            transparent 28rem
        );
}

.security-final > div {
    width: min(1000px, 100%);
}

.security-final .dgx-public-heading {
    margin: 25px auto 0;
}

.security-final-actions {
    justify-content: center;
}

@keyframes security-trust-state {
    0%,
    13% {
        opacity: .45;
        transform: translateX(0);
    }

    18%,
    32% {
        opacity: 1;
        transform: translateX(4px);
    }

    38%,
    100% {
        opacity: .52;
        transform: translateX(0);
    }
}

@media (max-width: 1150px) {
    .security-hero-inner {
        grid-template-columns: 1fr;
    }

    .trust-engine {
        max-width: 740px;
    }

    .security-request-path,
    .security-protection-grid,
    .security-status-grid,
    .security-control-list,
    .security-faq {
        margin-left: 0;
    }

    .security-request-path {
        grid-template-columns: 1fr;
    }

    .security-request-path li {
        min-height: auto;
    }

    .security-request-path li + li {
        border-top: 1px solid var(--dgxp-line);
        border-left: 0;
    }

    .security-protection-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .security-hero {
        min-height: auto;
        padding: 126px 18px 88px;
    }

    .security-section-heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .security-protection-grid,
    .security-status-grid {
        grid-template-columns: 1fr;
    }

    .security-control-list article {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .security-hero-actions,
    .security-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .security-hero-actions .dgx-public-text-link,
    .security-final-actions .dgx-public-text-link {
        align-self: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .trust-engine-flow li {
        opacity: 1;
        animation: none;
    }
}

/* End DGxOne Trust & Security Page */

/* ============================================================
   DGxOne Security typography correction
   Precise, neutral, enterprise-focused
   ============================================================ */

.dgx-security-page {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Segoe UI",
        Helvetica,
        Arial,
        sans-serif;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Hero headline */

.dgx-security-page .security-hero .dgx-public-display {
    max-width: 760px;
    font-size: clamp(3.8rem, 6.6vw, 7rem);
    font-weight: 610;
    line-height: .94;
    letter-spacing: -.052em;
}

.dgx-security-page .security-hero .dgx-public-display span {
    color: #8b9da8;
}

/* Section headlines */

.dgx-security-page .dgx-public-heading {
    max-width: 980px;
    font-size: clamp(2.8rem, 5vw, 5.5rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: -.045em;
}

/* Supporting text */

.dgx-security-page .dgx-public-lead {
    color: #8f9da7;
    font-size: clamp(1rem, 1.22vw, 1.14rem);
    font-weight: 400;
    line-height: 1.72;
    letter-spacing: -.005em;
}

/* Card headings */

.dgx-security-page .security-protection-grid h3,
.dgx-security-page .security-status-grid h3 {
    font-size: clamp(1.25rem, 1.65vw, 1.62rem);
    font-weight: 620;
    line-height: 1.18;
    letter-spacing: -.022em;
}

/* Trust-engine labels */

.dgx-security-page .trust-engine-flow strong {
    font-size: .92rem;
    font-weight: 620;
    letter-spacing: -.01em;
}

.dgx-security-page .trust-engine-flow small {
    font-size: .73rem;
    font-weight: 400;
    letter-spacing: 0;
}

/* Small labels */

.dgx-security-page .dgx-public-eyebrow,
.dgx-security-page .security-section-number,
.dgx-security-page .trust-engine-label {
    font-weight: 700;
    letter-spacing: .18em;
}

/* Avoid awkward desktop line wrapping */

@media (min-width: 1100px) {
    .dgx-security-page .security-hero-copy {
        max-width: 780px;
    }

    .dgx-security-page .security-hero .dgx-public-display {
        text-wrap: balance;
    }
}

@media (max-width: 780px) {
    .dgx-security-page .security-hero .dgx-public-display {
        font-size: clamp(3.15rem, 14vw, 4.8rem);
        line-height: .96;
    }

    .dgx-security-page .dgx-public-heading {
        font-size: clamp(2.55rem, 12vw, 4rem);
    }
}

/* End Security typography correction */
