/* Cybersecurity reference geometry; Trustence palette and original example. */
.ac71-root{--ac71-ink:#272d35;--ac71-muted:#626b71;--ac71-pale:#f1f5ed;--ac71-mid:#dce6d6;--ac71-line:#dce2d8;--ac71-green:#2cc700;background:#fff;color:var(--ac71-ink);font-family:"Aspekta Reference",Aspekta,sans-serif;font-weight:450;line-height:1.45}
.ac71-root *{box-sizing:border-box}
.ac71-root p,.ac71-root h2,.ac71-root h3,.ac71-root ol,.ac71-root dl,.ac71-root dd,.ac71-root figure,.ac71-root pre{margin:0}
.ac71-root a{color:inherit;font-family:inherit}
.ac71-root :focus-visible{outline:2px solid #277420;outline-offset:3px}
.ac71-root .ac71-container{width:calc(100% - 32px);margin-inline:auto}
.ac71-root .ac71-label{font-size:12px;font-weight:500;line-height:1.25;letter-spacing:.07em;text-transform:uppercase;color:var(--ac71-muted)}
.ac71-root .ac71-h1{font-size:34px;font-weight:500;line-height:1;letter-spacing:-.03em;text-wrap:balance;max-width:640px}
.ac71-root .ac71-h2{font-size:28px;font-weight:500;line-height:1;letter-spacing:-.03em;text-wrap:balance}
.ac71-root .ac71-h4{font-size:20px;font-weight:500;line-height:1.25;letter-spacing:-.03em;display:flex;align-items:baseline;gap:12px}
.ac71-root .ac71-body{font-size:16px;font-weight:450;line-height:1.45;letter-spacing:0;color:var(--ac71-muted);text-wrap:pretty}
.ac71-root .ac71-small{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--ac71-muted);text-wrap:pretty}
.ac71-root .ac71-mono{font-family:var(--ac71-mono,Consolas,monospace);font-size:11px;font-weight:500;line-height:1.45;color:var(--ac71-muted)}
.ac71-hero{padding:96px 0 64px}
.ac71-hero-inner{display:flex;flex-direction:column;gap:40px}
.ac71-split-heading{display:grid;gap:24px}
.ac71-heading-copy,.ac71-hero-intro{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.ac71-hero-intro>.ac71-body,.ac71-split-heading>.ac71-body{max-width:480px}
.ac71-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.ac71-root .ac71-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:var(--ac71-ink);color:#fff;border:1px solid transparent;border-radius:4px;font-size:12.5px;line-height:1.45;font-weight:600;text-transform:uppercase;letter-spacing:.04em;min-height:44px;text-decoration:none;white-space:nowrap;transition:background .25s cubic-bezier(0,.4,0,1),color .25s cubic-bezier(0,.4,0,1)}
.ac71-root .ac71-button:hover{background:#3a4544}
.ac71-button svg{flex:none}
.ac71-caret{display:inline-flex;flex:none;width:12px;height:12px}
.ac71-caret path{transition:opacity .25s cubic-bezier(0,.4,0,1)}
.ac71-caret-chevron{opacity:0}
.ac71-button:is(:hover,:focus-visible) .ac71-caret-bar{opacity:0}
.ac71-button:is(:hover,:focus-visible) .ac71-caret-chevron{opacity:1}
.ac71-root .ac71-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:450;line-height:1.25;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ac71-mid)}
.ac71-root .ac71-text-link:hover{text-decoration-color:currentColor}
.ac71-flow{width:100%;padding:4px;border-radius:8px;background:var(--ac71-pale)}
.ac71-flow-surface{border:1px solid var(--ac71-line);border-radius:4px;background:#fff}
.ac71-flow-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 24px;border-bottom:1px solid var(--ac71-line);padding:12px 20px}
.ac71-flow-grid{display:grid;grid-template-columns:1fr;align-items:center;padding:16px}
.ac71-flow-node{display:flex;min-width:0;flex-direction:column;align-items:center;gap:16px;padding:8px 8px 16px;text-align:center}
.ac71-flow-art{width:100%;max-width:256px}
.ac71-diagram-svg{display:block;width:100%;height:auto;overflow:visible}
.ac71-flow-label{display:flex;flex-direction:column;gap:4px}
.ac71-flow-label>p:first-child{font-size:14px;font-weight:500;line-height:1.4}
.ac71-flow-label>p:last-child{font-size:14px;font-weight:450;line-height:1.25;color:var(--ac71-muted)}
.ac71-lab{position:relative;margin-top:12px;border:1px dashed #a5b39c;border-radius:4px;padding:16px 8px 0}
.ac71-root .ac71-lab-label{position:absolute;top:-10px;left:12px;padding:0 8px;background:#fff}
.ac71-shape{stroke:var(--ac71-ink);stroke-width:1;stroke-linejoin:round}
.ac71-fill-white{fill:#fff}.ac71-fill-soft{fill:var(--ac71-pale)}.ac71-fill-mid{fill:var(--ac71-mid)}.ac71-fill-green{fill:var(--ac71-green)}
.ac71-fine-lines{fill:none;stroke:#a3af9d;stroke-width:1.25;stroke-linecap:round}
.ac71-output-lines{fill:none;stroke:#277420;stroke-width:1.25;stroke-linecap:round;animation:ac71-output 800ms ease-in-out 2.2s both paused}
.ac71-flow-arrow{display:flex;justify-content:center;align-items:center;padding:4px 0}
.ac71-flow-arrow svg{overflow:visible;fill:none;stroke-width:1.25}
.ac71-flow-horizontal{display:none;width:64px;height:20px}
.ac71-flow-vertical{width:20px;height:48px}
.ac71-flow-primary{stroke:#277420}.ac71-flow-secondary{stroke:#b6c9aa}.ac71-arrowhead{stroke:var(--ac71-ink);stroke-linejoin:round}
.ac71-flow-dot{fill:#277420;stroke:#fff;stroke-width:1.5;opacity:0;animation:ac71-travel-y 800ms ease-out .4s both paused}
.ac71-flow-arrow--second .ac71-flow-dot{animation-delay:1.6s}
.ac71-flow[data-reference-active="true"] [data-reference-signal]{animation-play-state:running}
@keyframes ac71-travel-y{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(40px)}}
@keyframes ac71-travel-x{0%{opacity:0;transform:translateX(0)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateX(56px)}}
@keyframes ac71-output{0%,100%{stroke:#277420}50%{stroke:#2cc700}}
.ac71-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ac71-research{margin-inline:4px;padding:56px 0;border-radius:4px;background:var(--ac71-pale)}
.ac71-section-inner{display:flex;flex-direction:column;gap:40px}
.ac71-research-heading{display:flex;flex-direction:column;gap:20px;max-width:680px}
.ac71-report{display:grid;grid-template-columns:1fr;gap:32px;border:1px solid var(--ac71-line);border-radius:4px;background:#fff;padding:24px}
.ac71-metadata{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:16px;align-self:start}
.ac71-metadata>div{display:flex;flex-direction:column;gap:4px}
.ac71-metadata dd{font-size:14px;font-weight:450;line-height:1.25}
.ac71-report-steps{display:flex;min-width:0;flex-direction:column;gap:40px;list-style:none;padding:0}
.ac71-report-steps>li{display:flex;min-width:0;flex-direction:column;gap:16px}
.ac71-step-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 24px}
.ac71-root .ac71-analysis{max-width:680px;color:var(--ac71-ink)}
.ac71-code{max-width:100%;overflow-x:auto;border-radius:4px;padding:16px 0;background:var(--ac71-ink);color:#f1f5ed;font-family:var(--ac71-mono);font-size:12.5px;font-weight:400;line-height:16px;tab-size:4}
.ac71-code code{display:block;min-width:0;font:inherit}
.ac71-code-line{display:block;padding:0 16px;white-space:pre-wrap}
.ac71-code-line>span{display:inline-block;margin-right:12px;user-select:none;color:#b3c3ad}
.ac71-code-remove{color:#f0c9c8;background:#9c42421f}
.ac71-code-add{color:#c6edbc;background:#2cc70012}
.ac71-review-note{max-width:680px}
.ac71-cases{width:100%;border-collapse:collapse;text-align:left}
.ac71-cases th{padding:0 0 8px;font-weight:500;border-bottom:1px solid var(--ac71-line)}
.ac71-cases th+th,.ac71-cases td+td{padding-left:24px}
.ac71-cases td{padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--ac71-line);font-size:14px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.ac71-cases td+td{font-weight:450;line-height:1.25;color:var(--ac71-muted)}
.ac71-cases tbody tr:last-child td{border-bottom:0}
.ac71-workflows{padding:64px 0}
.ac71-workflow-grid{display:grid;grid-template-columns:1fr;gap:4px;list-style:none;padding:4px;border-radius:8px;background:var(--ac71-pale)}
.ac71-workflow-grid>li{display:flex;min-width:0;flex-direction:column;gap:8px;padding:24px;border-radius:4px;background:#fff}
.ac71-workflow-index{font-family:var(--ac71-mono);font-size:11px;font-weight:500;line-height:1.45;color:var(--ac71-muted)}
.ac71-workflow-grid h3{font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0}
.ac71-scope{padding-bottom:64px}
.ac71-scope-panel{display:flex;flex-direction:column;align-items:flex-start;gap:32px;border-radius:8px;background:var(--ac71-ink);color:#fff;padding:24px}
.ac71-scope-copy{display:flex;flex-direction:column;gap:16px;max-width:600px}
.ac71-root .ac71-scope .ac71-label{color:#b3c3ad}
.ac71-root .ac71-scope .ac71-body{color:#e0e8dc}
.ac71-root .ac71-scope .ac71-button{background:var(--ac71-green);color:#163010}
.ac71-root .ac71-scope .ac71-button:hover{background:#50d62b}
.ac71-faq{padding:32px 0 64px}
.ac71-faq-grid{display:grid;gap:32px}
.ac71-faq-heading{display:flex;flex-direction:column;gap:16px}
.ac71-faq-items{display:flex;flex-direction:column;gap:2px}
.ac71-faq details{border:1px solid var(--ac71-line);border-radius:4px;background:var(--ac71-pale);transition:background .25s}
.ac71-faq details[open]{background:#fff}
.ac71-faq summary{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:baseline;column-gap:8px;list-style:none;min-height:44px;padding:24px 16px 16px;cursor:pointer}
.ac71-faq summary::-webkit-details-marker{display:none}
.ac71-faq summary:hover{color:#277420}
.ac71-faq summary h3{font-size:16px;font-weight:450;line-height:1.45;letter-spacing:0;text-wrap:pretty}
.ac71-faq-index{font-family:var(--ac71-mono);font-size:11px;line-height:1.45;color:var(--ac71-muted)}
.ac71-plus{display:grid;place-items:center;align-self:start;width:24px;height:24px;border-radius:2px;background:#fff;color:#9aa697;font-size:16px;font-weight:400;line-height:24px;transition:transform .25s cubic-bezier(0,.4,0,1)}
.ac71-faq details[open] .ac71-plus{transform:rotate(45deg);background:var(--ac71-pale)}
.ac71-root .ac71-faq details>.ac71-body{padding:0 16px 24px}
@media(min-width:640px){.ac71-workflow-grid{grid-template-columns:1fr 1fr}.ac71-root .ac71-faq details>.ac71-body{padding-right:48px;padding-left:64px}.ac71-cases td+td{white-space:nowrap}}
@media(min-width:992px){
 .ac71-root .ac71-container{width:min(1200px,100% - 80px)}
 .ac71-root .ac71-h1{font-size:56px;line-height:.95}
 .ac71-root .ac71-h2{font-size:40px}
 .ac71-root .ac71-h4{font-size:24px}
 .ac71-root .ac71-button{font-size:11px}
 .ac71-hero{padding:112px 0 80px}.ac71-hero-inner{gap:56px}
 .ac71-split-heading{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:64px}
 .ac71-flow-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.1fr);padding:24px}
 .ac71-flow-arrow{padding:0 4px}.ac71-flow-horizontal{display:block}.ac71-flow-vertical{display:none}.ac71-flow-dot{animation-name:ac71-travel-x}
 .ac71-lab{margin-top:0}
 .ac71-research{padding:80px 0}.ac71-section-inner{gap:48px}
 .ac71-report{grid-template-columns:208px minmax(0,1fr);gap:48px;padding:40px}
 .ac71-metadata{position:sticky;top:112px;grid-template-columns:1fr}
 .ac71-workflows{padding:96px 0}.ac71-workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ac71-scope{padding-bottom:96px}.ac71-scope-panel{padding:40px}
 .ac71-faq{padding:48px 0 96px}.ac71-faq-grid{grid-template-columns:minmax(0,1fr) minmax(0,592px);gap:48px}
}
@media(prefers-reduced-motion:reduce){.ac71-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ac71-flow-dot{display:none}}
