/* A live vector loop, using the site's warm paper, forest, sage and serif language. */
#licet-enterprise .authorization-loop{padding-block:5rem 3rem;scroll-margin-top:80px}#licet-enterprise .loop-heading{display:grid;grid-template-columns:1.15fr 1fr;column-gap:5rem;align-items:end;border-bottom:1px solid #d4dbce;padding-bottom:2.5rem}#licet-enterprise .loop-heading>.le-kicker{grid-column:1/-1;margin:0 0 1.3rem}#licet-enterprise .loop-heading h2{font:clamp(2.5rem,4.5vw,4.5rem)/1.04 'Libre Caslon Display',serif;margin:0;letter-spacing:-.025em}#licet-enterprise .loop-heading>p:last-child{font-size:16px;line-height:1.8;color:#344b3d;max-width:470px;margin:0}.loop-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:1rem;align-items:center}.loop-explanation{padding:3rem 1rem 2rem 0}.loop-label{font:600 11px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#3f563e}.loop-inputs{border-bottom:1px solid #d4dbce;padding-bottom:1.5rem}.loop-inputs>div{display:flex;gap:1rem;align-items:baseline}.loop-inputs>div>span{font-size:12px;color:#3f563e;width:58px}.loop-inputs>div>p{font-size:14px;margin:.4rem 0;color:#2d4537}.loop-current{min-height:235px;padding-top:2rem}#licet-enterprise .loop-current h3{font:2.5rem/1.08 'Libre Caslon Display',serif;margin:.9rem 0 1.1rem;letter-spacing:-.02em}.loop-current>p{font-size:15px;line-height:1.8;color:#344b3d;margin:0;max-width:330px}.loop-current.is-changing{animation:loopCopyIn .35s ease both}@keyframes loopCopyIn{from{transform:translateY(4px)}to{transform:none}}.loop-controls{display:flex;align-items:center;gap:1rem;padding-top:.5rem}.loop-controls button{padding:.6rem .8rem;border:1px solid #cbd6c3;background:transparent;border-radius:30px;font:500 11px 'DM Sans',sans-serif;color:#2f4e3b;cursor:pointer;white-space:nowrap}.loop-controls>span{font-size:11px;color:#3f563e}.loop-output{border-top:1px solid #d4dbce;margin-top:2rem;padding-top:1.5rem}.loop-output>p{font-size:12px;line-height:1.7;color:#344b3d}.loop-visual{position:relative;width:100%;aspect-ratio:1;min-width:0;margin-bottom:1.5rem}.loop-routes{width:100%;height:100%;display:block;overflow:visible}.loop-wordmark{font:64px 'Libre Caslon Display',serif;fill:#234232;letter-spacing:-2px}.loop-center-label{font:600 16px 'DM Sans',sans-serif;letter-spacing:1.3px;fill:#34503a}.loop-center-note{font:500 16px 'DM Sans',sans-serif;fill:#34503a}.loop-ring-label{font:600 16px 'DM Sans',sans-serif;letter-spacing:1.3px;fill:#34503a}.loop-running-path{animation:loopTrace 12s linear infinite}@keyframes loopTrace{to{stroke-dashoffset:-1382}}.loop-node{position:absolute;transform:translate(-50%,-50%);width:24%;min-height:93px;background:#f9faf3;border:1px solid #cbd6bf;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 4px;box-shadow:0 5px 18px #2a4a2b06;color:#2c4936;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s,border-color .35s}.loop-node:focus-visible{outline:2px solid #637f4d;outline-offset:5px}.loop-node[aria-pressed=true]{background:#254733;border-color:#254733;color:#f4f6e9;box-shadow:0 8px 30px #2a4a2b20}.loop-node strong{font:600 15px 'DM Sans',sans-serif}.loop-node>span:last-child{font:500 11px 'DM Sans',sans-serif;opacity:1;line-height:1.4;text-align:center}.loop-node-icon{font:18px 'DM Sans',sans-serif;opacity:1}.loop-node-agent{left:50%;top:22.5%}.loop-node-decision{left:77.5%;top:50%}.loop-node-record{left:50%;top:77.5%}.loop-node-evidence{left:22.5%;top:50%}.loop-boundary-note{position:absolute;right:1%;bottom:-1rem;font:500 11px/1.7 'DM Sans',sans-serif;color:#34503a}.loop-boundary-note strong{font-weight:500;color:#34503a}.loop-renewal{border-top:1px solid #d4dbce;padding:2rem 0;display:flex;gap:1.7rem;align-items:start}.loop-renewal>span{font:40px/1 'Libre Caslon Display',serif;color:#66824e}#licet-enterprise .loop-renewal h3{font:1.8rem/1.15 'Libre Caslon Display',serif;margin:0 0 .7rem}.loop-renewal p{font-size:14px;line-height:1.8;color:#344b3d;max-width:780px;margin:0}.loop-visual.is-paused .loop-running-path{animation-play-state:paused}@media(max-width:850px){.loop-layout{grid-template-columns:1fr 1.4fr}.loop-controls{flex-wrap:wrap}.loop-current{min-height:265px}.loop-node{min-height:74px;gap:3px}.loop-node strong{font-size:13px}.loop-node>span:last-child{font-size:10px}.loop-boundary-note{font-size:11px;right:0}}@media(max-width:850px){#licet-enterprise .authorization-loop{padding-top:3rem}#licet-enterprise .loop-heading{grid-template-columns:1fr;gap:1.5rem}#licet-enterprise .loop-heading>.le-kicker{margin:0}#licet-enterprise .loop-heading>p:last-child{font-size:14px}.loop-layout{display:flex;flex-direction:column-reverse;gap:0}.loop-explanation{padding:1rem 0;width:100%}.loop-visual{margin-top:1rem}.loop-current{min-height:185px;padding-top:1.5rem}#licet-enterprise .loop-current h3{font-size:2rem}.loop-current>p{max-width:none;font-size:14px}.loop-inputs>div{display:inline-flex;margin-right:1rem}.loop-node{min-height:71px}.loop-node strong{font-size:12px}.loop-node-icon{font-size:15px}.loop-node>span:last-child{font-size:10px}.loop-boundary-note{font-size:11px;right:0;bottom:-1rem}.loop-output{margin-top:1.2rem}.loop-renewal{gap:1rem}.loop-renewal p{font-size:13px}}@media(prefers-reduced-motion:reduce){.loop-running-path,.loop-current.is-changing{animation:none}.loop-packet{display:none}.loop-node{transition:none}}
/* Readability pass: near-black text, larger labels, and full opacity at every stage. */
#licet-enterprise .authorization-loop{color:#17291e}
#licet-enterprise .loop-heading>p:last-child,.loop-current>p,.loop-renewal p{color:#17291e;font-size:17px;font-weight:500;line-height:1.75}
.loop-label{color:#233b29;font-size:13px;letter-spacing:.07em;font-weight:700}
.loop-inputs>div>span,.loop-inputs>div>p,.loop-output>p{color:#17291e;font-size:15px;font-weight:500}
.loop-controls>span,.loop-controls button{color:#233b29;font-size:13px;font-weight:600}
.loop-node{background:#fff;border-color:#9cab95;min-height:106px;color:#17291e}
.loop-node strong{font-size:18px;font-weight:700}
.loop-node>span:last-child{font-size:13px;font-weight:500;opacity:1}
.loop-node-icon{opacity:1}
.loop-node[aria-pressed=true]{background:#203e2c;color:#fff}
.loop-center-label{font-size:18px;fill:#17291e;font-weight:700;letter-spacing:1px}
.loop-center-note{font-size:17px;fill:#17291e;font-weight:500}
.loop-ring-label{font-size:19px;fill:#233b29;font-weight:700;letter-spacing:.7px}
.loop-boundary-note,.loop-boundary-note strong{color:#17291e;font-size:14px;font-weight:600}
.loop-boundary-note{top:94%;bottom:auto;right:0}
.loop-visual{margin-bottom:3rem}
.loop-current.is-changing{animation:none}
@media(max-width:850px){.loop-node{min-height:88px}.loop-node strong{font-size:16px}.loop-node>span:last-child{font-size:12px}.loop-boundary-note,.loop-boundary-note strong{font-size:13px}.loop-boundary-note{top:94%;bottom:auto}.loop-visual{margin-bottom:3rem}}
@media(max-width:480px){.loop-node{width:27%;min-height:88px;padding:8px 3px}.loop-node strong{font-size:14px}.loop-node>span:last-child{font-size:11px}.loop-ring-label{font-size:23px}.loop-visual{margin-bottom:4rem}.loop-center-note{font-size:18px}}

/* Keep the update label outside the boundary and give the icons more presence. */
.loop-node-icon{font-size:24px;line-height:1;display:block}
.loop-boundary-note{top:99%;bottom:auto}
.loop-visual{margin-bottom:5rem}
@media(max-width:850px){.loop-node-icon{font-size:22px}.loop-boundary-note{top:99%;bottom:auto}.loop-visual{margin-bottom:5rem}}
@media(max-width:480px){.loop-center-note{display:none}.loop-center-label{font-size:22px;letter-spacing:.7px}}
/* Use readable HTML captions rather than scaled SVG microtext on phones. */
@media(max-width:480px){
 .loop-routes>.loop-ring-label{display:none}
 .loop-visual::before{content:'COMPANY BOUNDARY';position:absolute;top:-6px;left:0;right:0;text-align:center;font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:.04em;color:#233b29}
 .loop-boundary-note::before{content:'CONTINUOUS BOUNDARY UPDATES';display:block;font:700 11px/1.5 'DM Sans',sans-serif;letter-spacing:.02em;color:#233b29;margin-bottom:9px}
 .loop-visual{margin-bottom:6rem}
}
