/* Interactive Provectus cover */
.interactive-hero{position:relative;min-height:850px;isolation:isolate;background:#0d343a;overflow:hidden}.hero-backdrop{position:absolute;z-index:-2;inset:0;background:url('managed-environment.png') center/cover no-repeat;filter:saturate(.88)}.hero-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,43,49,.98),rgba(8,43,49,.86) 32%,rgba(8,43,49,.46) 70%,rgba(8,43,49,.72)),linear-gradient(0deg,rgba(8,43,49,.72),transparent 45%)}.hero-shell{padding:64px 0 36px}.hero-intro{position:relative;z-index:4;max-width:770px}.interactive-hero h1{font-size:clamp(2.55rem,4.25vw,4.35rem);margin:13px 0 18px;line-height:1}.interactive-hero .lead{max-width:600px;margin:0}.decision-stage{position:relative;width:min(1200px,100%);height:520px;margin:-28px 0 0 auto}.orbit-line{position:absolute;left:50%;top:50%;width:430px;height:430px;translate:-50% -50%;border:1px solid rgba(194,217,64,.34);border-radius:50%;box-shadow:0 0 80px rgba(194,217,64,.09),inset 0 0 60px rgba(194,217,64,.04)}.client-core{position:absolute;z-index:3;left:50%;top:50%;width:270px;height:330px;translate:-50% -50%;display:flex;align-items:center;justify-content:center}.client-halo{position:absolute;inset:45px 20px 38px;border-radius:50%;background:radial-gradient(circle,rgba(194,217,64,.3),rgba(43,86,93,.08) 64%,transparent 70%);filter:blur(4px)}.client-core img{position:relative;width:100%;height:260px;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.38));transition:opacity .16s,transform .3s}.client-core.is-changing img{opacity:.15;transform:scale(.96)}.client-prompt{position:absolute;z-index:2;left:50%;bottom:0;translate:-50%;width:290px;padding:11px 17px;text-align:center;background:rgba(8,43,49,.9);border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.26);backdrop-filter:blur(9px)}.client-prompt strong,.client-prompt span{display:block}.client-prompt strong{font-size:1rem;color:#fff}.client-prompt span{font-size:.78rem;color:#cbdcda;margin-top:2px}.decision-node{position:absolute;z-index:5;width:140px;height:140px}.node-main{width:100%;height:100%;padding:18px 12px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(16,59,66,.94);color:#fff;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.1);transition:transform .22s,background .22s,border-color .22s,box-shadow .22s}.node-main>span:not(.node-icon){font-weight:800;font-size:.92rem;line-height:1.06}.node-main b{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--lime);margin-top:7px;opacity:0;transform:translateY(4px);transition:.2s}.node-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;margin-bottom:5px;background:var(--lime);color:#17383d;font-size:1.03rem;font-weight:950}.decision-node:hover .node-main,.decision-node:focus-within .node-main,.decision-node.is-open .node-main{transform:scale(1.08);background:#1c5159;border-color:var(--lime);box-shadow:0 0 0 7px rgba(194,217,64,.12),0 16px 34px rgba(0,0,0,.32)}.decision-node:hover .node-main b,.decision-node:focus-within .node-main b,.decision-node.is-open .node-main b{opacity:1;transform:none}.danger-node .node-icon{background:#e9665e;color:#fff}.node-broken{left:22%;top:59%}.node-breach{left:22%;top:14%}.node-costs{right:25%;top:3%}.node-tech{right:20%;top:37%}.node-managed{right:25%;bottom:3%}.branch-orbit{position:absolute;z-index:-1;inset:50%;pointer-events:none}.branch-orbit a{position:absolute;width:84px;height:84px;display:grid;place-items:center;text-align:center;padding:8px;border-radius:50%;background:#fff;color:var(--ink);border:3px solid var(--lime);text-decoration:none;font-size:.7rem;line-height:1.08;font-weight:850;opacity:0;transform:translate(-50%,-50%) scale(.2);transition:opacity .18s,transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .2s}.branch-orbit a:hover,.branch-orbit a:focus-visible{outline:none;box-shadow:0 0 0 6px rgba(194,217,64,.2),0 12px 24px rgba(0,0,0,.27)}.has-branches:hover .branch-orbit,.has-branches:focus-within .branch-orbit,.has-branches.is-open .branch-orbit{z-index:9;pointer-events:auto}.has-branches:hover .branch-orbit a,.has-branches:focus-within .branch-orbit a,.has-branches.is-open .branch-orbit a{opacity:1}.node-costs .branch-orbit a:nth-child(1){transform:translate(73px,-44px) scale(1)}.node-costs .branch-orbit a:nth-child(2){transform:translate(43px,-120px) scale(1)}.node-costs .branch-orbit a:nth-child(3){transform:translate(-30px,-156px) scale(1)}.node-tech .branch-orbit a:nth-child(1){transform:translate(-50px,-156px) scale(1)}.node-tech .branch-orbit a:nth-child(2){transform:translate(28px,-130px) scale(1)}.node-tech .branch-orbit a:nth-child(3){transform:translate(50px,21px) scale(1)}.node-tech .branch-orbit a:nth-child(4){transform:translate(-17px,67px) scale(1)}.node-tech .branch-orbit a:nth-child(5){transform:translate(70px,-60px) scale(1)}.node-managed .branch-orbit a:nth-child(1){transform:translate(0px,-150px) scale(1)}.node-managed .branch-orbit a:nth-child(2){transform:translate(60px,-93px) scale(1)}.node-managed .branch-orbit a:nth-child(3){transform:translate(65px,-10px) scale(1)}.node-managed .branch-orbit a:nth-child(4){transform:translate(15px,55px) scale(1)}.hero-foot{position:relative;z-index:2;margin-top:-6px;display:flex;justify-content:space-between;align-items:center;color:#c8d8d6;font-size:.84rem}.hero-foot span:before{content:"↗";color:var(--lime);margin-right:8px}.hero-foot a{color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid var(--lime);padding-bottom:3px}.hero-foot a:hover{color:var(--lime)}
@media(max-width:980px){.interactive-hero{min-height:980px}.hero-shell{padding-top:52px}.hero-intro{max-width:590px}.decision-stage{margin:16px auto 0;height:560px}.node-broken{left:1%}.node-tech{right:1%}}
@media(max-width:620px){.interactive-hero{min-height:auto}.hero-backdrop:after{background:rgba(8,43,49,.86)}.interactive-hero h1 br{display:none}.decision-stage{height:auto;margin:36px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.orbit-line{display:none}.client-core{position:relative;left:auto;top:auto;translate:none;grid-column:1/-1;margin:auto;height:300px}.decision-node{position:relative!important;inset:auto!important;width:auto;height:132px}.node-main{border-radius:24px}.node-managed{grid-column:1/-1;width:calc(50% - 7px);justify-self:center}.branch-orbit{position:fixed;z-index:30!important;inset:auto 14px 18px;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:16px;border-radius:24px;background:rgba(8,43,49,.97);box-shadow:0 10px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.2s}.branch-orbit a,.node-costs .branch-orbit a:nth-child(n),.node-tech .branch-orbit a:nth-child(n),.node-managed .branch-orbit a:nth-child(n){position:relative;transform:scale(.8);width:76px;height:76px}.has-branches.is-open .branch-orbit,.has-branches:focus-within .branch-orbit{opacity:1;visibility:visible}.has-branches.is-open .branch-orbit a,.has-branches:focus-within .branch-orbit a{transform:scale(1)}.hero-foot{margin-top:28px;gap:18px;align-items:flex-start}.hero-foot span{display:none}}
@media(max-width:700px){.hero-shell{padding-top:42px}.interactive-hero h1{font-size:2.45rem}.client-core{width:245px}.decision-node{height:118px}.node-main>span:not(.node-icon){font-size:.84rem}.node-icon{width:27px;height:27px}.hero-foot{justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.node-main,.branch-orbit a,.client-core img{transition:none}}

/* Urgent and informational ovals: positioned left of their main circle. */
.branch-orbit.oval-orbit {
    inset: auto;
    top: -18px;
    right: calc(100% + 16px);
    width: 190px;
    display: grid;
    gap: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
/* Invisible bridge keeps the menu open while moving the pointer to an oval. */
.oval-orbit::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -24px;
    width: 24px;
}
.branch-orbit.oval-orbit a {
    position: relative;
    width: 190px;
    height: 84px;
    padding: 12px 16px;
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    font-size: .875rem;
    line-height: 1.15;
    transform: none;
}
.oval-orbit a strong {font-size: .875rem;}
.oval-orbit a span {font-size: .875rem; font-weight: 650;}
.oval-orbit a.urgent-popout {background: #fff2f0; border-color: #e9665e;}
.oval-orbit .urgent-popout span {color: #94342d;}
.has-branches:hover .oval-orbit,
.has-branches:focus-within .oval-orbit,
.has-branches.is-open .oval-orbit {
    opacity: 1;
    visibility: visible;
    transform: none;
}
/* Use space below the circle on tablets to avoid clipping at the left edge. */
@media (min-width: 621px) and (max-width: 980px) {
    .branch-orbit.oval-orbit {right: auto; left: 0; top: calc(100% + 16px);}
    .oval-orbit::after {right: 0; top: -24px; bottom: auto; width: 100%; height: 24px;}
}
/* Touch layout: show two readable ovals in the existing bottom popout tray. */
@media (max-width: 620px) {
    .branch-orbit.oval-orbit {
        position: fixed;
        inset: auto 14px 18px;
        width: auto;
        padding: 16px;
        display: grid;
        justify-items: center;
        transform: none;
    }
    .branch-orbit.oval-orbit a {width: min(100%, 300px); height: 84px; transform: none;}
    .oval-orbit::after {display: none;}
}
@media (prefers-reduced-motion: reduce) {
    .branch-orbit.oval-orbit {transition: none;}
}

/* Slightly quieter typography for both sets of help ovals. */
.branch-orbit.oval-orbit a {font-weight: 500;}
.oval-orbit a strong {font-size: .84rem; font-weight: 650;}
.oval-orbit a span {font-size: .8rem; font-weight: 500;}

/* Informational third box: no link, button, or hover treatment. */
.node-breach .oval-orbit {width: 290px; justify-items: end;}
.breach-guidance {
    box-sizing: border-box;
    width: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 18px;
    background: #103b42;
    color: #dbe7e5;
    text-align: left;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.30;
    cursor: default;
    box-shadow: 0 12px 28px rgba(0,0,0,.25);
}
.breach-guidance h3 {margin: 0 0 12px; font-size: .88rem; line-height: 1.25; font-weight: 650; color: #fff;}
.breach-guidance h4 {margin: 12px 0 5px; font-size: .8rem; font-weight: 650; color: var(--lime);}
.breach-guidance p {margin: 0; font-size: inherit; line-height: inherit;}
.breach-guidance .breach-guidance-note {margin-top: 12px; color: #fff;}
.node-breach:hover,.node-breach:focus-within,.node-breach.is-open {z-index: 10;}
@media (min-width: 621px) and (max-width: 980px) {
    .node-breach .oval-orbit {width: 300px; justify-items: start;}
}
@media (min-width: 981px) and (max-width: 1100px) {
    .node-breach .oval-orbit {right: auto; left: 0; top: calc(100% + 16px); width: 300px; justify-items: start;}
    .node-breach .oval-orbit::after {right: 0; top: -24px; bottom: auto; width: 100%; height: 24px;}
}
@media (max-width: 620px) {
    .node-breach .branch-orbit.oval-orbit {width: auto; justify-items: center; max-height: calc(100dvh - 36px); overflow-y: auto;}
    .breach-guidance {max-width: 360px;}
}

/* Matching guidance above the Something broke buttons.
   Anchor the stack from its bottom so the panel grows upward on desktop. */
.node-broken .branch-orbit.oval-orbit {
    width: 295px;
    justify-items: end;
    top: auto;
    bottom: -32px;
}
.node-broken:hover,.node-broken:focus-within,.node-broken.is-open {z-index: 10;}
@media (min-width: 621px) and (max-width: 1100px) {
    .node-broken .branch-orbit.oval-orbit {
        right: auto;
        left: 0;
        top: auto;
        bottom: calc(100% + 16px);
        width: 300px;
        justify-items: start;
    }
    .node-broken .oval-orbit::after {
        right: 0;
        top: auto;
        bottom: -24px;
        width: 100%;
        height: 24px;
    }
}
@media (max-width: 620px) {
    .node-broken .branch-orbit.oval-orbit {
        inset: auto 14px 18px;
        width: auto;
        justify-items: center;
        max-height: calc(100dvh - 36px);
        overflow-y: auto;
    }
}

/* One destination plus a concise explainer for the three advisory choices. */
.branch-orbit.details-orbit {
    inset: auto;
    left: calc(100% + 16px);
    top: -70px;
    width: 330px;
    display: grid;
    gap: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.details-orbit::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -24px;
    width: 24px;
}
.branch-orbit.details-orbit a.details-link {
    position: relative;
    width: 220px;
    height: 78px;
    padding: 12px 18px;
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    font-size: .84rem;
    line-height: 1.15;
    font-weight: 500;
    transform: none;
}
.details-link strong {font-size: .84rem; font-weight: 650;}
.details-link span {font-size: .8rem; font-weight: 500;}
.issue-guidance {width: 100%;}
.has-branches:hover .details-orbit,
.has-branches:focus-within .details-orbit,
.has-branches.is-open .details-orbit {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.node-costs:hover,.node-costs:focus-within,.node-costs.is-open,
.node-tech:hover,.node-tech:focus-within,.node-tech.is-open,
.node-managed:hover,.node-managed:focus-within,.node-managed.is-open {z-index: 10;}
.node-tech .details-orbit {top: -250px;}
.node-managed .details-orbit {top: auto; bottom: 0px;}

@media (min-width: 621px) and (max-width: 1260px) {
    .branch-orbit.details-orbit {
        left: auto;
        right: calc(100% + 16px);
        width: 320px;
        transform: translateX(12px);
    }
    .details-orbit::after {left: auto; right: -24px;}
}
@media (max-width: 620px) {
    .branch-orbit.details-orbit,
    .node-tech .branch-orbit.details-orbit,
    .node-managed .branch-orbit.details-orbit {
        position: fixed;
        z-index: 30!important;
        inset: auto 14px 18px;
        width: auto;
        max-height: calc(100dvh - 36px);
        overflow-y: auto;
        padding: 16px;
        justify-items: center;
        border-radius: 24px;
        background: rgba(8,43,49,.97);
        box-shadow: 0 10px 40px rgba(0,0,0,.4);
        transform: none;
    }
    .branch-orbit.details-orbit a.details-link {width: min(100%, 300px); height: 78px; transform: none;}
    .details-orbit::after {display: none;}
    .issue-guidance {max-width: 360px;}
}
.text-chaos {
    color: #f28c45;
}

.text-calm {
    color: var(--lime);
}