
/*Policy Admin Page*/
.eyebrow {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .13em;
    line-height: 1.5;
    color: var(--ws-accent);
    margin: 0 0 18px;
}

.policy-hero h2 {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 600;
    margin: 0 0 12px;
}
/**/
.jump-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

    .jump-list li {
        display: flex;
    }

    .jump-list a {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 58px;
        padding: 0.75rem 1rem;
        border: 1px solid var(--border-color);
        border-radius: 0.75rem;
        color: var(--ink) !important;
        text-decoration: none !important;
        font-weight: 600;
        line-height: 1.3;
        transition: border-color .25s, background-color 0.25s ease-in-out;
    }

        .jump-list a:hover {
            background-color: var(--primary-hover);
        }

            .jump-list a:hover span {
                color: #fff;
            }

            .jump-list a:hover > .bi:first-child {
                color: var(--gold);
            }

    .jump-list li > a {
        flex: 1;
    }

    .jump-list a > .bi:first-child {
        color: var(--accent);
        font-size: 1.35rem
    }

    .jump-list .jump-arrow {
        font-size: 1.3rem;
        margin-left: auto;
        transition: transform .25s;
    }

    .jump-list a:hover .jump-arrow {
        color: var(--gold);
    }

@media (max-width: 991.98px) {
    .glance-list {
        grid-template-columns: 1fr;
    }

    .jump-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .jump-list {
        grid-template-columns: 1fr;
    }
}
/**/
.glance-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 2rem;
    margin: 0;
}

    .glance-list > div {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 1rem;
        padding: 0.75rem 0;
        border-top: 1px solid var(--border-color);
    }

@media (max-width: 991.98px) {
    .glance-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .glance-list > div {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}
/*Highlight grid*/
.highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 45px;
    row-gap: 45px;
    margin-top: 2rem;
}

.highlight {
    position: relative;
    border-radius: 0.375rem;
    transition: background-color .25s ease-in-out, transform .3s ease;
}

    .highlight h3 {
        font-size: 1.125rem;
        font-weight:600;
        line-height: 1.4;
        margin: 0;
        margin: 5px 0 0px;
        align-self: start;
    }

    .highlight > .bi {
        display: grid;
        place-items: center;
        width: 45px;
        height: 45px;
        border-radius: 0.5rem;
        font-size: 1.5rem;
        line-height: 1;
        color: var(--accent);
        margin: 0;
        align-self: start;
        border: 1px solid var(--border-color);
        transition: transform .3s ease, color .3s ease, background-color .25s ease-in-out;
    }

    .highlight:hover .bi {
        color: var(--gold);
        background: var(--primary-hover);
    }

@media (max-width: 991.98px) {
    .highlights-grid {
        gap: 34px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .capabilities .highlight:last-child:nth-child(3n+1) {
        grid-column: 1 / -1;
        grid-template-columns: 62px minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        column-gap: 16px;
    }

        .capabilities .highlight:last-child:nth-child(3n+1) > .bi {
            grid-row: 1 / span 2;
        }
}

@media (max-width: 575.98px) {
    .highlights-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}
/**/
.spotlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.spot figcaption {
    padding: 4px 24px 24px;
}

.spot {
    margin: 0;
    border: 1px solid var(--border-color);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: transform .3s ease, color .3s ease, background-color .25s ease-in-out;
}

    .spot h3 {
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1.4;
        margin: 5px 0 0px;
    }

.spot-ico {
    margin: 24px 24px 4px;
    width: 52px;
    height: 52px;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    background: var(--hover-bg);
    font-size: 1.5rem;
    transition: transform .3s ease, color .3s ease, background-color .25s ease-in-out;
}

.spot:hover .spot-ico {
    color: var(--gold);
    background: var(--primary-hover);
}

@media (max-width: 991.98px) {
    .spotlight-grid {
        grid-template-columns: 1fr;
    }
}

/**/
.feature-section {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 32px;
    padding: 25px 0;
}

.feature-section {
    border-top: 1px solid var(--border-color);
}

    .feature-section h3 {
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: 0;
        margin: 0;
        color: var(--ws-ink);
    }

.products-label {
    font-size: 1rem;
    margin-bottom: 14px;
}

.feature-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

.feature-column.jarus-list {
    margin-left: 0;
    margin-bottom:0;
}

@media (max-width: 991.98px) {
    .feature-section {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 575.98px) {
    .feature-columns {
        grid-template-columns: 1fr;
        gap: 0px;
    }
}

.context-link {
    margin-bottom: 0;
}
/*faqs*/
.faq .accordion {
    box-shadow: none;
    border: 0 !important;
}

.faq .accordion-button {
    font-weight: 600;
}

    .faq .accordion-button:not(.collapsed) {
        background-color: transparent;
    }

    .faq .accordion-button:focus {
        box-shadow: none;
    }

.b-btn a {
    text-decoration: none;
    gap: 1rem;
    color: #fff;
}

.b-btn .bi {
    font-size: 1.5rem;
}

.b-btn a:hover {
    color: var(--gold);
    text-decoration: underline;
}

.b-btn a:hover .bi, .b-btn a:hover span {
    color: var(--gold);
}


.ownership {
    position: relative;
    overflow: hidden;
    background-color: #012169;
    background-image:
    /* Subtle vertical grid lines */
    linear-gradient( rgba(255, 255, 255, 0.045) 1px, transparent 1px ),
    /* Subtle horizontal grid lines */
    linear-gradient( 90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px ),
    /* Blue highlight on the right */
    radial-gradient( ellipse at 72% 45%, rgba(105, 117, 145, 0.40) 0%, rgba(45, 64, 105, 0.30) 35%, transparent 65% ),
    /* Base navy background */
    linear-gradient( 110deg, #012169 0%, #08245f 100% );
    background-size: 40px 40px, 40px 40px, 100% 100%, 100% 100%;
}


.ownership {
    margin: 3rem 0;
    padding: 2.5rem 0;
    background-color: var(--primary-hover);
}

.ownership .bi {
    color: var(--gold);
    font-size: 2rem;
    display: block;
    margin-bottom: 14px;
}

.ownership h2 {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: -.025em;
    margin: 0;
}

    .ownership p {
        color: #fff;
        font-size: 1.125rem;
    }
/* =========================================
   JARUS POLICY ADMIN - HERO SECTION
   STATIC BLUE DOTTED BACKGROUND
========================================= */
.policy-hero {
    position: relative;
    width: 100%;
    padding: 30px 0;
    color: #fff;
    overflow: hidden;
    /* Static blue dotted background */
    background-color: #102b78;
    background-image: radial-gradient( circle, rgba(255, 255, 255, 0.13) 1.2px, transparent 1.5px ), linear-gradient( 135deg, #102b78 0%, #09266d 100% );
    background-size: 22px 22px, 100% 100%;
    background-position: 0 0, center;
    background-repeat: repeat, no-repeat;
    animation: none !important;
}

    /* Hero text */

    .policy-hero h1,
    .policy-hero h2,
    .policy-hero h6,
    .policy-hero p {
        color: #fff;
    }

    .policy-hero h6 {
        margin-top: 0 !important;
    }

/* =========================================
   JARUS POLICY LIFECYCLE ANIMATION
   HTML5 + CSS3 + SVG
========================================= */

.ws-hero-image.ws-hero-art {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: 0;
    overflow: visible;
    aspect-ratio: 4 / 3;
    background: transparent !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Desktop and Mobile SVG */

.ws-hero-art .lc-d,
.ws-hero-art .lc-m {
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
}

.ws-hero-art .lc-d {
    display: block;
}

.ws-hero-art .lc-m {
    display: none;
}


/* =========================================
   BACKGROUND AND CENTRAL GLOW
========================================= */

.ws-hero-art .lc-core {
    opacity: 0;
    transform-origin: center;
    animation: lc-core-glow 2s ease-out 0.4s forwards;
}


/* =========================================
   LIFECYCLE CIRCLE
========================================= */

.ws-hero-art .lc-ring {
    fill: none;
    stroke: rgba(255, 255, 255, 0.55);
    stroke-width: 1.5;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: lc-ring-draw 2s ease-out 0.3s forwards;
}


/* =========================================
   LIFECYCLE NODES
========================================= */

.ws-hero-art .lc-node {
    opacity: 0;
    transform-box: view-box;
    transform-origin: center;
    animation: lc-node-appear 0.7s ease-out forwards;
}

    .ws-hero-art .lc-node:nth-of-type(1) {
        animation-delay: 0.8s;
    }

    .ws-hero-art .lc-node:nth-of-type(2) {
        animation-delay: 1.1s;
    }

    .ws-hero-art .lc-node:nth-of-type(3) {
        animation-delay: 1.4s;
    }

/* Node Background */

.ws-hero-art .lc-node-bg {
    fill: #0d347f;
    stroke: #f9bc35;
    stroke-width: 1.5;
}

/* Node Ripple */

.ws-hero-art .lc-ripple {
    fill: none;
    stroke: #f9bc35;
    stroke-width: 1.5;
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
}

.ws-hero-art.is-playing .lc-ripple {
    animation: lc-ripple-effect 2.5s ease-out infinite;
}

.ws-hero-art.is-playing .lc-node:nth-of-type(1) .lc-ripple {
    animation-delay: 1.5s;
}

.ws-hero-art.is-playing .lc-node:nth-of-type(2) .lc-ripple {
    animation-delay: 2s;
}

.ws-hero-art.is-playing .lc-node:nth-of-type(3) .lc-ripple {
    animation-delay: 2.5s;
}


/* =========================================
   ICONS
========================================= */

.ws-hero-art .lc-ico {
    fill: #fff;
    font-family: "bootstrap-icons", sans-serif;
    font-size: 27px;
    text-anchor: middle;
}


/* =========================================
   LIFECYCLE LABELS
========================================= */

.ws-hero-art .lc-label {
    fill: #fff;
    font-size: 1rem;
    font-weight: 600;
    opacity: 0;
    animation: lc-label-appear 0.7s ease-out 1.3s forwards;
}

.ws-hero-art .lc-label-in {
    font-size: 14px;
}


/* =========================================
   CENTER CONTENT
========================================= */

.ws-hero-art .lc-center {
    opacity: 0;
    animation: lc-center-appear 1s ease-out 0.9s forwards;
}

.ws-hero-art .lc-kicker {
    fill: #f9bc35;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
}

.ws-hero-art .lc-title {
    fill: #fff;
    font-size: 25px;
    font-weight: 600;
}

.ws-hero-art .lc-pill {
    fill: transparent;
    stroke: #f9bc35;
    stroke-width: 1.4;
}

.ws-hero-art .lc-pill-t {
    fill: #f9bc35;
    font-size: 13px;
    font-weight: 600;
}


/* =========================================
   REPLAY BUTTON
========================================= */

.ws-hero-art .ws-replay {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 13px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 30px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, border-color 0.3s ease;
}

    .ws-hero-art .ws-replay:hover {
        background: rgba(255, 255, 255, 0.2);
        border-color: #f9bc35;
    }

    .ws-hero-art .ws-replay i {
        font-size: 14px;
    }


/* =========================================
   KEYFRAME ANIMATIONS
========================================= */

@keyframes lc-ring-draw {
    from {
        stroke-dashoffset: 100;
    }

    to {
        stroke-dashoffset: 0;
    }
}

@keyframes lc-core-glow {
    from {
        opacity: 0;
        transform: scale(0.6);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes lc-node-appear {
    from {
        opacity: 0;
        transform: scale(0.5);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes lc-label-appear {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes lc-center-appear {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes lc-ripple-effect {
    0% {
        opacity: 0.7;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(1.8);
    }
}


/* =========================================
   TABLET RESPONSIVE
========================================= */

@media (max-width: 991.98px) {

    .policy-hero {
        padding: 45px 0;
    }

    .ws-hero-image.ws-hero-art {
        width: 100%;
        margin-inline: auto;
    }
}


/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 575.98px) {

    .policy-hero {
        min-height: auto;
        padding: 35px 0;
    }

    .ws-hero-image.ws-hero-art {
        width: 100%;
        aspect-ratio: 410 / 352;
        margin-inline: auto;
    }

    .ws-hero-art .lc-d {
        display: none;
    }

    .ws-hero-art .lc-m {
        display: block;
    }

    .ws-hero-art .ws-replay {
        top: 10px;
        right: 10px;
        padding: 5px 10px;
        font-size: 10px;
    }
}


/* =========================================
   ACCESSIBILITY - REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .ws-hero-art *,
    .ws-hero-art *::before,
    .ws-hero-art *::after {
        animation-duration: 0.01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .ws-hero-art .lc-node,
    .ws-hero-art .lc-center,
    .ws-hero-art .lc-label,
    .ws-hero-art .lc-core {
        opacity: 1;
    }

    .ws-hero-art .lc-ring {
        stroke-dashoffset: 0;
    }
}


/* =========================================
   REMOVE HERO BACKGROUND ANIMATIONS
========================================= */

.policy-hero,
.policy-hero::before,
.policy-hero::after {
    animation: none !important;
    transition: none !important;
}



