
body{margin:0;background:#ffffff}
a{color:#0055B8}a:hover{color:#00205C}
a:focus-visible,summary:focus-visible{outline:2px solid #E23A52;outline-offset:4px}
.cp-nl{color:#1A2540;text-decoration:none;text-underline-offset:0.32em;text-decoration-thickness:1px}
.cp-nl:hover{color:#00205C;text-decoration-line:underline;text-decoration-color:#E23A52}
.cp-links{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:17px}
.cp-menu{display:none;position:relative}
.cp-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 0 8px 12px;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12px;letter-spacing:0.2em;color:#00205C}
.cp-menu summary::-webkit-details-marker{display:none}
.cp-menu summary:hover{color:#0055B8}
.cp-menu .cp-mc{display:none}.cp-menu[open] .cp-mc{display:inline}.cp-menu[open] .cp-mo{display:none}
.cp-menu-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:10;min-width:220px;background:#ffffff;border:1px solid #C9D0DC;box-shadow:0 12px 32px rgba(0,32,92,0.10);padding:8px 20px;display:flex;flex-direction:column;font-size:19px}
.cp-menu-panel a{padding:10px 0;border-top:1px solid #E3E7EE}.cp-menu-panel a:first-child{border-top:0}
@media (max-width: 780px){.cp-links{display:none}.cp-menu{display:block}}
.cp-btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:13px 24px;border:1.6px solid #00205C;border-radius:255px 14px 225px 14px/14px 225px 14px 255px;font-size:17px;line-height:1.3;text-decoration:none;transform:translate(0,0);transition:transform .18s ease,box-shadow .18s ease,background-color .2s ease,color .2s ease}
.cp-btn::after{content:"";position:absolute;inset:-4px -3px -2px -4px;border:1px solid rgba(138,147,166,.75);border-radius:14px 225px 14px 255px/255px 14px 225px 14px;transform:rotate(-.6deg);pointer-events:none;transition:transform .25s ease,opacity .25s ease}
.cp-btn-p{background:#00205C;color:#ffffff;box-shadow:4px 4px 0 #E23A52}.cp-btn-p:hover{background:#0055B8;border-color:#0055B8;color:#ffffff}
.cp-btn-s{background:#ffffff;color:#00205C;box-shadow:4px 4px 0 #00205C}.cp-btn-s:hover{background:#F2F4F8;color:#00205C}
.cp-btn:hover,.cp-btn:focus-visible{transform:translate(-2px,-2px)}.cp-btn-p:hover,.cp-btn-p:focus-visible{box-shadow:6px 6px 0 #E23A52}.cp-btn-s:hover,.cp-btn-s:focus-visible{box-shadow:6px 6px 0 #00205C}
.cp-btn:hover::after{transform:rotate(.4deg) translate(1px,1px)}
.cp-btn:active{transform:translate(3px,3px)}.cp-btn-p:active{box-shadow:1px 1px 0 #E23A52}.cp-btn-s:active{box-shadow:1px 1px 0 #00205C}
@media (prefers-reduced-motion: reduce){.cp-btn,.cp-btn::after{transition:none}}
.cp-toc{display:flex;align-items:baseline;gap:18px;padding:11px 0;border-top:1px solid #DCE1EA;color:#1A2540;text-decoration:none;font-size:19px;line-height:1.35}
.cp-toc:hover{color:#0055B8}
.cp-toc .cp-ta{margin-left:auto;color:#C8263F;opacity:0;transition:opacity .2s ease,transform .2s ease}
.cp-toc:hover .cp-ta,.cp-toc:focus-visible .cp-ta{opacity:1;transform:translateY(2px)}
.cp-mail{color:#ffffff;text-decoration-line:underline;text-decoration-color:#E23A52;text-decoration-thickness:2px;text-underline-offset:0.25em;transition:text-decoration-color .2s ease}
.cp-mail:hover{color:#ffffff;text-decoration-color:#ffffff}
.cp-mail:focus-visible{outline-color:#FF9AA8}
/* 05 contact: Lee Gen pulls the email in */
.cp-pull path{opacity:.55}
@media (prefers-reduced-motion: no-preference){
@keyframes cpLeeBob{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-4px) rotate(-4deg)}70%{transform:translateY(-1px) rotate(-2deg)}}
@keyframes cpPull{0%,100%{opacity:0;transform:translateX(4px)}35%{opacity:.75}70%{opacity:0;transform:translateX(-4px)}}
.cp-lee-img{transform-origin:50% 85%;animation:cpLeeBob 4.2s ease-in-out infinite}
.cp-pull path{animation:cpPull 4.2s ease-in-out infinite}.cp-pull .cp-p2{animation-delay:.35s}.cp-pull .cp-p3{animation-delay:.7s}
.cp-lee{transition:transform .45s cubic-bezier(.2,.65,.2,1)}
.cp-lee-row:has(.cp-mail:hover) .cp-lee,.cp-lee-row:has(.cp-mail:focus-visible) .cp-lee{transform:translateX(-6px) rotate(-6deg)}
.cp-lee-row:has(.cp-mail:hover) .cp-pull path,.cp-lee-row:has(.cp-mail:focus-visible) .cp-pull path{animation-duration:1.6s}
}

/* Pencil drafting layer: graphite construction lines, registration marks, dimensions */
.cp-sec{position:relative}
.cp-hl{position:absolute;top:0;left:-22px;right:-22px;height:1px;background:#A3ABBA;pointer-events:none}
.cp-reg{position:absolute;top:-11px;left:-11px;width:22px;height:22px;overflow:visible;pointer-events:none}
.cp-tick{position:absolute;top:-5px;right:0;width:1px;height:11px;background:#8A93A6;pointer-events:none}
.cp-ruler{display:none}
@media (min-width: 1100px){.cp-ruler{display:block;position:absolute;top:0.12em;bottom:0.12em;right:calc(100% + 30px);width:12px;border-right:1px solid #A3ABBA;background:repeating-linear-gradient(to bottom,#A3ABBA 0 1px,transparent 1px 0.17em) right top/5px 100% no-repeat,repeating-linear-gradient(to bottom,#8A93A6 0 1px,transparent 1px 1.02em) right top/12px 100% no-repeat}}
.cp-wide{display:none}
@media (min-width: 1200px){.cp-wide{display:block}}
@media (max-width: 780px){.cp-hl{left:-10px;right:-10px}}
@media (prefers-reduced-motion: no-preference){
.cp-pl{transform-origin:0 50%;animation:cpRule 1.1s cubic-bezier(.6,.1,.2,1) .1s both}
/* hidden states apply only once JS has run; transitions live on the .cp-in state so nothing un-draws first */
.cp-dira.cp-js .cp-sec .cp-hl{transform:scaleX(0);transform-origin:0 50%}
.cp-dira.cp-js .cp-sec.cp-in .cp-hl{transform:none;transition:transform 1.2s cubic-bezier(.6,.1,.2,1)}
.cp-dira.cp-js .cp-sec .cp-dr{stroke-dasharray:1;stroke-dashoffset:1}
.cp-dira.cp-js .cp-sec.cp-in .cp-dr{stroke-dashoffset:0;transition:stroke-dashoffset 1s cubic-bezier(.6,.1,.3,1) .5s}
.cp-dira.cp-js .cp-sec.cp-in .cp-dr.cp-d2{transition-delay:1s}.cp-dira.cp-js .cp-sec.cp-in .cp-dr.cp-d3{transition-delay:1.5s}
.cp-dira.cp-js .cp-sec:not(.cp-in) .cp-mark{animation-play-state:paused}
}
@media (prefers-reduced-motion: no-preference){
@keyframes cpRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cpDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes cpRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cp-rise{animation:cpRise 1.4s cubic-bezier(.2,.65,.2,1) both}
.cp-rule{transform-origin:0 50%;animation:cpRule 2s cubic-bezier(.6,.1,.2,1) .6s both}
.cp-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:cpDraw 1.5s cubic-bezier(.6,.1,.3,1) 1.2s forwards}
.cp-mark{stroke-dasharray:1;stroke-dashoffset:1;animation:cpDraw 1s cubic-bezier(.6,.1,.3,1) .6s forwards}
.cp-m2{animation-delay:1.2s}.cp-m3{animation-delay:1.8s}
}

/* ===== Delight layer: cursors, pencil trail, agent ring, magnetic buttons, margin notes, reading ruler, contents ticks,
   copy note, header flair and print. Cursor effects need a fine pointer; motion is off under prefers-reduced-motion. ===== */
.cp-dira ::selection{background:#FFD3DA;color:#00205C}
.cp-dira #contact ::selection{background:#FF9AA8;color:#00205C}
.cp-dira section,.cp-dira footer{scroll-margin-top:92px}
/* 1 cursors: see the pencil cursor block (pencil-cursor.css) at the end of this layer; agents get cursor none for the Meet ring */
/* 2 pencil trail in the hero, behind the type */
.cp-hero{position:relative}
.cp-hero>div{position:relative;z-index:1}
.cp-trail{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:none}
.cp-dira.cp-fx .cp-trail{display:block}
@media (hover: hover) and (pointer: fine){.cp-dira.cp-fx .cp-agent,.cp-dira.cp-fx .cp-agent *{cursor:none}}
/* 3 agent ring: a hand-drawn proof circle follows the pointer over an agent */
.cp-ring{display:none;position:fixed;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;z-index:40;pointer-events:none}
.cp-dira.cp-fx .cp-ring{display:block}
.cp-ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cp-ring path{fill:none;stroke:#E23A52;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .2s ease}
.cp-ring span{position:absolute;left:50%;top:100%;margin-top:3px;transform:translateX(-50%);padding:1px 4px 1px 5px;background:#ffffff;font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:500;letter-spacing:.16em;line-height:1.2;color:#C8263F;opacity:0;transition:opacity .2s ease}
.cp-ring.is-on path{stroke-dashoffset:0;transition:stroke-dashoffset .45s cubic-bezier(.6,.1,.3,1)}
.cp-ring.is-on span{opacity:1;transition:opacity .25s ease .15s}
/* 5 margin notes on the proof marks (inline under the line by default and on phones; JS moves them to the margin when there is room) */
.cp-pm{border-radius:2px}
.cp-pm:focus{outline:none}.cp-pm:focus-visible{outline:2px solid #E23A52;outline-offset:4px}
.cp-mn{position:absolute;left:0;top:calc(100% + 2px);z-index:4;display:block;width:max-content;max-width:min(250px,calc(100vw - 48px));white-space:normal;font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;font-size:20px;line-height:1.25;letter-spacing:0;text-decoration:none;color:#C8263F;text-align:left;padding:5px 9px 6px;background:#ffffff;box-shadow:0 6px 18px rgba(0,32,92,.10);transform:rotate(-1.5deg);transform-origin:0 0;opacity:0;visibility:hidden;pointer-events:none;user-select:none;transition:opacity .2s ease,visibility 0s linear .2s}
.cp-pm-mg .cp-mn{top:0;padding:0;background:none;box-shadow:none;font-size:24px;line-height:1.2;text-wrap:balance;transform:rotate(-3deg);transform-origin:0 50%}
.cp-pm:is(:hover,:focus) .cp-mn{opacity:1;visibility:visible;transition:opacity .2s ease}
.cp-mn-t{display:inline-block}
.cp-mnl{display:none;position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}
.cp-pm-mg .cp-mnl{display:block}
.cp-mnl path{fill:none;stroke:#8A93A6;stroke-width:.9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .2s ease}
.cp-pm:is(:hover,:focus) .cp-mnl path{stroke-dashoffset:0;transition:stroke-dashoffset .5s cubic-bezier(.6,.1,.3,1)}
@media (prefers-reduced-motion: no-preference){
.cp-mn-t{clip-path:inset(0 100% 0 0);transition:clip-path .15s ease}
.cp-pm:is(:hover,:focus) .cp-mn-t{clip-path:inset(-4px -4px -4px -4px);transition:clip-path .65s cubic-bezier(.6,.1,.3,1) .3s}
}
/* 6 reading ruler: graphite fill down the hero ruler; a fixed twin takes over once the hero ruler scrolls away */
.cp-pfill{position:absolute;top:0;bottom:0;right:-1.5px;width:2px;background:#4A5670;transform:scaleY(0);transform-origin:50% 0}
.cp-prog{display:none}
@media (min-width: 1100px){
.cp-prog{display:block;position:fixed;z-index:25;top:50%;left:calc(max(50% - 590px, 5vw) - 42px);width:12px;height:min(320px,44vh);margin-top:calc(min(320px,44vh) / -2);font-size:clamp(42px,7.2vw,106px);border-right:1px solid #A3ABBA;background:repeating-linear-gradient(to bottom,#A3ABBA 0 1px,transparent 1px 0.17em) right top/5px 100% no-repeat,repeating-linear-gradient(to bottom,#8A93A6 0 1px,transparent 1px 1.02em) right top/12px 100% no-repeat;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.cp-dira.cp-past .cp-prog{opacity:1;visibility:visible;transition:opacity .4s ease}
.cp-dira.cp-past.cp-foot .cp-prog{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.cp-rdot{position:absolute;left:1px;top:0;width:22px;height:22px;margin:-11px 0 0;padding:0;border:0;background:none;pointer-events:auto;font:inherit}
.cp-rdot::before{content:"";position:absolute;left:6.5px;top:6.5px;width:9px;height:9px;box-sizing:border-box;border-radius:50%;border:1.25px solid #4A5670;background:#ffffff;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}
.cp-rdot:hover::before{border-color:#E23A52;transform:scale(1.2)}
.cp-rdot.is-cur::before{background:#E23A52;border-color:#E23A52}
.cp-rdot:focus{outline:none}.cp-rdot:focus-visible{outline:2px solid #E23A52;outline-offset:1px;border-radius:50%}
.cp-rl{position:absolute;left:26px;top:50%;transform:translate(-4px,-50%);padding:2px 6px;background:#ffffff;font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:500;letter-spacing:.16em;line-height:1.3;color:#00205C;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.cp-rdot.is-cur .cp-rl{color:#C8263F}
.cp-rdot:is(:hover,:focus-visible) .cp-rl{opacity:1;transform:translate(0,-50%)}
}
/* 6 contents ticks: a coral check draws in once a section has been read */
.cp-tk{flex:0 0 auto;align-self:center;overflow:visible;margin-left:-6px}
.cp-tk path{fill:none;stroke:#E23A52;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.cp-toc.cp-read .cp-tk path{stroke-dashoffset:0;transition:stroke-dashoffset .6s cubic-bezier(.6,.1,.3,1) .1s}
/* 7 live dimension under the hero headline */
.cp-dim{position:absolute;left:50%;top:9px;transform:translateX(-50%);font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;line-height:1;color:#8A93A6;white-space:nowrap;padding:0 6px;background:#ffffff}
/* 7 email copy affordance and the handwritten "copied" */
#contact .cp-mailcol{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;margin-right:40px}
#contact .cp-mailrow{position:relative;display:inline-flex;align-items:center;gap:14px;max-width:100%;align-self:flex-start}
#contact .cp-copy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:transparent;border:1px solid rgba(201,214,236,.45);border-radius:14px 4px 12px 5px/5px 12px 4px 14px;color:#C9D6EC;transition:border-color .2s ease,background-color .2s ease}
#contact .cp-copy svg path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#contact .cp-copy:hover{border-color:#FF9AA8;background:rgba(255,255,255,.06)}
#contact .cp-copy:focus-visible{outline:2px solid #FF9AA8;outline-offset:3px}
#contact .cp-copied{position:absolute;left:calc(100% + 12px);top:50%;margin-top:-15px;display:flex;align-items:center;gap:4px;white-space:nowrap;font-family:'Caveat',cursive;font-weight:500;font-size:26px;line-height:1;color:#FF9AA8;transform:rotate(-6deg);opacity:0;pointer-events:none;transition:opacity .35s ease}
#contact .cp-copied path{fill:none;stroke:#FF9AA8;stroke-width:1.8;stroke-linecap:round}
#contact .cp-copied.is-on{opacity:1;transition:opacity .12s ease}
.cp-live,.cp-defs{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* contact pencil note: graphite handwriting, writes itself once at the foot of the page */
#contact .cp-note{position:relative;display:block;width:max-content;max-width:100%;margin:30px 0 4px 6px;padding:8px 0 0 52px;font-family:'Caveat',cursive;font-weight:500;font-size:clamp(26px,2.3vw,31px);line-height:1.15;color:#C9D0DC;transform:rotate(-2deg);transform-origin:0 50%}
#contact .cp-note-t{display:inline-block;filter:url(#cpGraphite)}
#contact .cp-note-a{position:absolute;left:4px;top:-20px;width:40px;height:46px;overflow:visible}
#contact .cp-note-a path{fill:none;stroke:#FF6B7F;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#contact .cp-note-a .cp-nb{stroke-width:.9;opacity:.55}
@media (max-width: 600px){#contact .cp-note{max-width:300px;font-size:25px;padding-left:46px}#contact .cp-mailcol{margin-right:0}}
@media (prefers-reduced-motion: no-preference){
.cp-dira.cp-js #contact .cp-note:not(.cp-written) .cp-note-t{clip-path:inset(-6px 100% -6px 0)}
.cp-dira.cp-js #contact .cp-note .cp-note-a path{stroke-dasharray:1;stroke-dashoffset:1}
.cp-dira.cp-js #contact .cp-note.cp-written .cp-note-t{clip-path:inset(-6px -6px -6px 0);transition:clip-path 2.4s cubic-bezier(.4,.15,.6,.9) .2s}
.cp-dira.cp-js #contact .cp-note.cp-written .cp-note-a path{stroke-dashoffset:0;transition:stroke-dashoffset .6s cubic-bezier(.6,.1,.3,1) 2.6s}
.cp-dira.cp-js #contact .cp-note.cp-written .cp-note-a .cp-nb{transition-delay:2.8s}
.cp-dira.cp-js #contact .cp-note.cp-written .cp-note-a .cp-na2{transition-duration:.35s;transition-delay:3.15s}
}
/* 8 header: the mark is pencilled in, then inked, then the wordmark arrives */
.cp-logo{position:relative;display:block;width:57px;height:30px}
.cp-logo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0}
.cp-logo path{fill:none;stroke:#4A5670;stroke-width:26;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion: no-preference){
@keyframes cpInk{from{opacity:0}to{opacity:1}}
@keyframes cpPencil{0%,70%{opacity:1}100%{opacity:0}}
.cp-logo svg{animation:cpPencil 1.4s ease .1s both}
.cp-logo path{stroke-dasharray:1;stroke-dashoffset:1;animation:cpDraw .35s cubic-bezier(.5,.1,.5,1) .1s forwards}
.cp-logo .cp-lp2{animation-duration:.6s;animation-delay:.4s}
.cp-logo img{animation:cpInk .45s ease .9s both}
.cp-wm{animation:cpInk .5s ease 1.15s both}
}
/* 9 nav: wobbly coral underline draws left to right */
.cp-links .cp-nl{position:relative}
.cp-links .cp-nl:hover{text-decoration-line:none}
.cp-nu{position:absolute;left:-2px;bottom:-6px;width:calc(100% + 4px);height:6px;overflow:visible;pointer-events:none}
.cp-nu path{fill:none;stroke:#E23A52;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .2s ease,opacity 0s linear .2s}
.cp-links .cp-nl:is(:hover,:focus-visible) .cp-nu path{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .25s cubic-bezier(.4,.1,.4,1)}
/* 10 current page: the coral underline stays drawn */
.cp-links .cp-nl.cp-cur .cp-nu path{stroke-dashoffset:0;opacity:1;transition:none}
.cp-menu-panel .cp-nl.cp-cur{text-decoration-line:underline;text-decoration-color:#E23A52}
/* 11 header rule as a ruler; sticky with a soft paper shadow once past the hero */
.cp-hdr{position:sticky;top:0;z-index:30;background:#ffffff;transition:box-shadow .35s ease}
.cp-dira.cp-stuck .cp-hdr{box-shadow:0 12px 26px -20px rgba(0,32,92,.45)}
.cp-hticks{position:absolute;left:0;right:0;top:calc(100% + 1px);height:6px;pointer-events:none;opacity:.55;background:repeating-linear-gradient(to right,#8A93A6 0 1px,transparent 1px 200px) 0 0/100% 6px no-repeat,repeating-linear-gradient(to right,#A3ABBA 0 1px,transparent 1px 40px) 0 0/100% 3px no-repeat}
@media (prefers-reduced-motion: reduce){
.cp-nu path,.cp-mnl path,.cp-mn,.cp-tk path,.cp-ring path,.cp-ring span,.cp-prog,.cp-rdot::before,.cp-rl,.cp-hdr,#contact .cp-copied{transition:none!important}
}
/* print: a clean letter in black ink */
@media print{
@page{margin:16mm 16mm 18mm}
.cp-dira *,.cp-dira *::before,.cp-dira *::after{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important;color:#000!important}
.cp-dira{cursor:auto}
.cp-hdr{position:static!important}
.cp-links,.cp-menu,.cp-hticks,.cp-prog,.cp-ring,.cp-trail,.cp-ruler,.cp-hl,.cp-reg,.cp-tick,.cp-dim,.cp-mn,.cp-mnl,.cp-copy,.cp-copied,.cp-lee,.cp-logo svg,.cp-tk,.cp-ta{display:none!important}
.cp-logo img,.cp-wm{opacity:1!important}
.cp-logo img,#contact img{filter:grayscale(1) brightness(0)!important}
.cp-dira [stroke]:not([stroke="none"]){stroke:#000!important}
.cp-dira svg text{fill:#000!important}
.cp-draw,.cp-mark,.cp-dr,.lg-draw,.cp-note-a path{stroke-dashoffset:0!important}
.cp-seat,.cp-ink,.cp-note-t,.cp-mn-t{clip-path:none!important;opacity:1!important}
.cp-pop,.cp-fade,.lg-fade{opacity:1!important;transform:none!important}
.cp-note-t{filter:none!important}
#contact{background:#ffffff!important;padding-top:24px!important}
.cp-btn{background:none!important;border-color:#000!important}
.cp-dira a[href]:not([href^="#"]):not([href^="mailto"])::after{content:" (" attr(href) ")";position:static;inset:auto;border:0;transform:none;font-family:'IBM Plex Mono',monospace;font-size:9pt;font-style:normal;font-weight:400;letter-spacing:0}
.cp-agent,.rx-c,.cp-fig,.bg-pill{break-inside:avoid}
}


button:focus-visible,[role=tab]:focus-visible{outline:2px solid #E23A52;outline-offset:4px}
.mono{font-family:'IBM Plex Mono',monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cp-cur{color:#00205C}.cp-links .cp-cur .cp-nu path{stroke-dashoffset:0}
.cp-menu-panel .cp-cur{padding:10px 0;border-top:1px solid #E3E7EE;font-weight:500}
.cp-tg{padding:10px 20px;font-size:16px;font-family:inherit;cursor:pointer}
.cp-tg[aria-pressed=false]{color:#00205C}
.cp-tgnote{font-size:15px;color:#4A5670;font-style:italic}

/* Crest Park agent hovers. Generated by hover/gen.py. One personality gesture per agent, played once per hover or focus,
   held while hovered and eased back on leave. Nothing at all under prefers-reduced-motion.
   Markup: card gets class cp-agent cp-agent--SLUG and its img is wrapped in span.cp-agent__fig (see agent-hover.md).
   Put class cp-on-dark on a navy section so navy accents switch to a light ink. */
.cp-agent__fig{position:relative;display:inline-block;line-height:0}
.cp-agent:focus{outline:none}.cp-agent:focus-visible{outline:2px solid #E23A52;outline-offset:4px}
@media (prefers-reduced-motion: no-preference){
@keyframes cpaPop{0%{opacity:0;scale:.6}30%{opacity:1;scale:1}70%{opacity:1}100%{opacity:0;scale:1}}
@keyframes cpaRise{0%{opacity:0;translate:0 0}25%{opacity:1}100%{opacity:0;translate:0 -70%}}
@keyframes cpaTwinkle{0%{opacity:0;scale:.2;rotate:0deg}40%{opacity:1;scale:1;rotate:45deg}100%{opacity:0;scale:.4;rotate:90deg}}
@keyframes cpaImpact{0%,42%{opacity:0;scale:.85}52%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}
@keyframes cpaRing{0%{opacity:0;scale:.4}30%{opacity:1}100%{opacity:0;scale:1.5}}
@keyframes cpaSpin{0%{opacity:0;rotate:0deg}20%{opacity:1}80%{opacity:1}100%{opacity:0;rotate:-360deg}}
@keyframes cpaDropIn{0%{opacity:0;translate:0 -50%;scale:1}25%{opacity:1}75%{opacity:1;translate:0 60%;scale:.75}100%{opacity:0;translate:0 80%;scale:.6}}
@keyframes cpaPin{0%{opacity:0;translate:0 -70%}45%{opacity:1;translate:0 0}80%{opacity:1}100%{opacity:0;translate:0 0}}
@keyframes cpaDraw{0%{opacity:1;clip-path:inset(0 100% 0 0)}60%{opacity:1;clip-path:inset(0 0 0 0)}80%{opacity:1}100%{opacity:0;clip-path:inset(0 0 0 0)}}
@keyframes cpaOut{0%{opacity:0;translate:-25% 0;scale:.8}30%{opacity:1}100%{opacity:0;translate:25% 0;scale:1.1}}
@keyframes cpaLaser{0%{opacity:0;translate:0 0}20%{opacity:1;translate:0 0}80%{opacity:1;translate:300% 90%}100%{opacity:0;translate:300% 90%}}
@keyframes cpaTicks{0%,12%{opacity:0}14%,28%{opacity:1}30%,44%{opacity:0}46%,60%{opacity:1}62%,100%{opacity:0}}
@keyframes cpaType{0%{opacity:0;translate:0 25%}25%{opacity:1;translate:0 0}80%{opacity:1}100%{opacity:0}}
@keyframes cpaFlash{0%{opacity:0;scale:.8}35%{opacity:1;scale:1}100%{opacity:0;scale:1.15}}
.cp-agent__fig>img{transition:translate .45s cubic-bezier(.2,.65,.2,1),rotate .45s cubic-bezier(.2,.65,.2,1),scale .45s cubic-bezier(.2,.65,.2,1)}
.cp-agent__fig::before,.cp-agent__fig::after{content:"";position:absolute;z-index:1;pointer-events:none;opacity:0;background:no-repeat center/contain}
/* penny-ledger (bookkeeping): tidy double-bounce, then a coral tick: the books balance */
.cp-agent--penny-ledger .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--penny-ledger:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 -5%;transition:translate 0.9s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 0.9s linear(0 0%, 0.119 3%, 0.415 6%, 0.8 9%, 1.19 12%, 1.48 15%, 1.6 18%, 1.48 21%, 1.19 24%, 0.8 27%, 0.415 30%, 0.119 33%, 0 36%, 0.0926 39%, 0.324 42%, 0.625 45%, 0.926 48%, 1.16 51%, 1.25 54%, 1.2 57%, 1.08 60%, 0.925 63%, 0.769 66%, 0.648 69%, 0.6 72%, 0.63 76.7%, 0.704 81.3%, 0.8 86%, 0.896 90.7%, 0.97 95.3%, 1 100%) .07s}
.cp-agent--penny-ledger .cp-agent__fig::after{left:80%;top:6%;width:15%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13l5 5L20 6' stroke='%23E23A52' stroke-width='3.4'/%3E%3C/svg%3E")}
.cp-agent--penny-ledger:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaPop 0.7s cubic-bezier(.2,.65,.2,1) 0.37s both}
/* bill-collins (payables and receivables): lifts and presses the PAID stamp, impact ticks */
.cp-agent--bill-collins .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--bill-collins:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 1%;transition:translate 0.8s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 0.8s linear(0 0%, -0.163 5.83%, -0.57 11.7%, -1.1 17.5%, -1.63 23.3%, -2.04 29.2%, -2.2 35%, -1.91 38.3%, -1.19 41.7%, -0.25 45%, 0.689 48.3%, 1.41 51.7%, 1.7 55%, 1.63 58.3%, 1.47 61.7%, 1.25 65%, 1.03 68.3%, 0.867 71.7%, 0.8 75%, 0.815 79.2%, 0.852 83.3%, 0.9 87.5%, 0.948 91.7%, 0.985 95.8%, 1 100%) .07s}
.cp-agent--bill-collins .cp-agent__fig::after{left:16%;top:50%;width:70%;aspect-ratio:3.333;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 7L4 2M11 15H1M13 23l-9 5M87 7l9-5M89 15h10M87 23l9 5' stroke='%2300205C' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-on-dark .cp-agent--bill-collins .cp-agent__fig::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 7L4 2M11 15H1M13 23l-9 5M87 7l9-5M89 15h10M87 23l9 5' stroke='%23C9D6EC' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-agent--bill-collins:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaImpact 0.8s cubic-bezier(.2,.65,.2,1) 0.07s both}
/* forrest-cast (forecasting): slow sway over the crystal ball, a sparkle */
.cp-agent--forrest-cast .cp-agent__fig>img{transform-origin:50% 92%}
.cp-agent--forrest-cast:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:-2deg;transition:rotate 1.2s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.2s linear(0 0%, 0.126 5%, 0.441 10%, 0.85 15%, 1.26 20%, 1.57 25%, 1.7 30%, 1.53 35%, 1.1 40%, 0.55 45%, -0.0037 50%, -0.43 55%, -0.6 60%, -0.463 63.3%, -0.12 66.7%, 0.325 70%, 0.77 73.3%, 1.11 76.7%, 1.25 80%, 1.23 83.3%, 1.19 86.7%, 1.12 90%, 1.06 93.3%, 1.02 96.7%, 1 100%) .07s}
.cp-agent--forrest-cast .cp-agent__fig::before{left:22%;top:20%;width:11%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1C12.8 8 16 11.2 23 12C16 12.8 12.8 16 12 23C11.2 16 8 12.8 1 12C8 11.2 11.2 8 12 1Z' fill='%23E23A52'/%3E%3C/svg%3E")}
.cp-agent--forrest-cast:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::before{animation:cpaTwinkle 0.9s cubic-bezier(.2,.65,.2,1) 0.17s both}
.cp-agent--forrest-cast .cp-agent__fig::after{left:60%;top:34%;width:7%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1C12.8 8 16 11.2 23 12C16 12.8 12.8 16 12 23C11.2 16 8 12.8 1 12C8 11.2 11.2 8 12 1Z' fill='%230055B8'/%3E%3C/svg%3E")}
.cp-agent--forrest-cast:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaTwinkle 0.8s cubic-bezier(.2,.65,.2,1) 0.47s both}
/* paige-roll (payroll): hops and a coin pops out of the envelope */
.cp-agent--paige-roll .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--paige-roll:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 -4.5%;transition:translate 0.8s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 0.8s linear(0 0%, 0.133 5%, 0.467 10%, 0.9 15%, 1.33 20%, 1.67 25%, 1.8 30%, 1.72 35%, 1.51 40%, 1.25 45%, 0.985 50%, 0.781 55%, 0.7 60%, 0.722 66.7%, 0.778 73.3%, 0.85 80%, 0.922 86.7%, 0.978 93.3%, 1 100%) .07s}
.cp-agent--paige-roll .cp-agent__fig::after{left:40%;top:6%;width:13%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23FDE9C4' stroke='%2300205C' stroke-width='2.2'/%3E%3Cpath d='M14.6 8.6c-.6-.9-1.6-1.3-2.7-1.3-1.5 0-2.6.8-2.6 2s1 1.7 2.6 2.1 2.8.9 2.8 2.2-1.2 2.1-2.8 2.1c-1.2 0-2.3-.5-2.9-1.4M12 5.5v13' stroke='%2300205C' stroke-width='1.8'/%3E%3C/svg%3E")}
.cp-agent--paige-roll:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaRise 0.9s cubic-bezier(.2,.65,.2,1) 0.17s both}
/* hiram-fast (recruiting): scans side to side, the lens focuses */
.cp-agent--hiram-fast .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--hiram-fast:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:1% 0;rotate:1deg;transition:translate 1.0s cubic-bezier(.2,.65,.2,1) .07s,rotate 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 1.0s linear(0 0%, -0.111 4.17%, -0.389 8.33%, -0.75 12.5%, -1.11 16.7%, -1.39 20.8%, -1.5 25%, -1.24 30%, -0.593 35%, 0.25 40%, 1.09 45%, 1.74 50%, 2 55%, 1.89 59.2%, 1.61 63.3%, 1.25 67.5%, 0.889 71.7%, 0.611 75.8%, 0.5 80%, 0.537 83.3%, 0.63 86.7%, 0.75 90%, 0.87 93.3%, 0.963 96.7%, 1 100%) .07s,rotate 1.0s linear(0 0%, -0.148 4.17%, -0.519 8.33%, -1 12.5%, -1.48 16.7%, -1.85 20.8%, -2 25%, -1.7 30%, -0.963 35%, 0 40%, 0.963 45%, 1.7 50%, 2 55%, 1.93 62.5%, 1.74 70%, 1.5 77.5%, 1.26 85%, 1.07 92.5%, 1 100%) .07s}
.cp-agent--hiram-fast .cp-agent__fig::after{left:36%;top:33%;width:22%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='20' r='17' stroke='%23E23A52' stroke-width='2.4'/%3E%3C/svg%3E")}
.cp-agent--hiram-fast:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaRing 0.8s cubic-bezier(.2,.65,.2,1) 0.37s both}
/* bennie-fitz (HR admin): badge swings on its lanyard, a heart lifts */
.cp-agent--bennie-fitz .cp-agent__fig>img{transform-origin:50% 6%}
.cp-agent--bennie-fitz:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:2deg;transition:rotate 1.2s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.2s linear(0 0%, 0.163 3.33%, 0.57 6.67%, 1.1 10%, 1.63 13.3%, 2.04 16.7%, 2.2 20%, 1.95 24.2%, 1.32 28.3%, 0.5 32.5%, -0.319 36.7%, -0.948 40.8%, -1.2 45%, -0.993 48.8%, -0.474 52.7%, 0.2 56.5%, 0.874 60.3%, 1.39 64.2%, 1.6 68%, 1.53 70.8%, 1.34 73.7%, 1.1 76.5%, 0.859 79.3%, 0.674 82.2%, 0.6 85%, 0.63 87.5%, 0.704 90%, 0.8 92.5%, 0.896 95%, 0.97 97.5%, 1 100%) .07s}
.cp-agent--bennie-fitz .cp-agent__fig::after{left:8%;top:14%;width:11%;aspect-ratio:1.091;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20S2 13.6 2 7.4A4.9 4.9 0 0 1 12 5a4.9 4.9 0 0 1 10 2.4C22 13.6 12 20 12 20Z' fill='%23E23A52'/%3E%3C/svg%3E")}
.cp-agent--bennie-fitz:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaRise 1.0s cubic-bezier(.2,.65,.2,1) 0.17s both}
/* dash-riley (dashboards): gauge face wobbles like a settling needle */
.cp-agent--dash-riley .cp-agent__fig>img{transform-origin:50% 46%}
.cp-agent--dash-riley:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:3.5deg;transition:rotate 0.9s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 0.9s linear(0 0%, 0.178 3%, 0.622 6%, 1.2 9%, 1.78 12%, 2.22 15%, 2.4 18%, 2.1 21.3%, 1.36 24.7%, 0.4 28%, -0.563 31.3%, -1.3 34.7%, -1.6 38%, -1.35 41.3%, -0.719 44.7%, 0.1 48%, 0.919 51.3%, 1.55 54.7%, 1.8 58%, 1.7 61.3%, 1.44 64.7%, 1.1 68%, 0.763 71.3%, 0.504 74.7%, 0.4 78%, 0.444 81.7%, 0.556 85.3%, 0.7 89%, 0.844 92.7%, 0.956 96.3%, 1 100%) .07s}
.cp-agent--dash-riley .cp-agent__fig::after{left:0%;top:30%;width:100%;aspect-ratio:3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6Q5 20 14 34M7 11Q2 20 7 29M106 6Q115 20 106 34M113 11Q118 20 113 29' stroke='%2300205C' stroke-width='2.4'/%3E%3C/svg%3E")}
.cp-on-dark .cp-agent--dash-riley .cp-agent__fig::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 6Q5 20 14 34M7 11Q2 20 7 29M106 6Q115 20 106 34M113 11Q118 20 113 29' stroke='%23C9D6EC' stroke-width='2.4'/%3E%3C/svg%3E")}
.cp-agent--dash-riley:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.7s cubic-bezier(.2,.65,.2,1) 0.07s both}
/* kay-pierce (KPI watch): rises on tiptoe and looks left, right */
.cp-agent--kay-pierce .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--kay-pierce:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 -2.5%;rotate:-1deg;transition:translate 1.1s cubic-bezier(.2,.65,.2,1) .07s,rotate 1.1s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 1.1s linear(0 0%, 0.0963 7.5%, 0.337 15%, 0.65 22.5%, 0.963 30%, 1.2 37.5%, 1.3 45%, 1.27 49.2%, 1.2 53.3%, 1.1 57.5%, 1 61.7%, 0.93 65.8%, 0.9 70%, 0.907 75%, 0.926 80%, 0.95 85%, 0.974 90%, 0.993 95%, 1 100%) .07s,rotate 1.1s linear(0 0%, 0.148 5%, 0.519 10%, 1 15%, 1.48 20%, 1.85 25%, 2 30%, 1.74 35%, 1.09 40%, 0.25 45%, -0.593 50%, -1.24 55%, -1.5 60%, -1.31 66.7%, -0.852 73.3%, -0.25 80%, 0.352 86.7%, 0.815 93.3%, 1 100%) .07s}
.cp-agent--kay-pierce .cp-agent__fig::after{left:90%;top:0%;width:10%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9l7-5M4 14h9M4 19l7 4' stroke='%23E23A52' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-agent--kay-pierce:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.6s cubic-bezier(.2,.65,.2,1) 0.52s both}
/* query-quinn (analysis): zooms in with a curious head tilt */
.cp-agent--query-quinn .cp-agent__fig>img{transform-origin:50% 50%}
.cp-agent--query-quinn:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{scale:1.03;rotate:3deg;transition:scale 0.8s cubic-bezier(.2,.65,.2,1) .07s,rotate 0.8s cubic-bezier(.2,.65,.2,1) .07s;transition:scale 0.8s linear(0 0%, 0.148 5.83%, 0.519 11.7%, 1 17.5%, 1.48 23.3%, 1.85 29.2%, 2 35%, 1.9 40%, 1.66 45%, 1.35 50%, 1.04 55%, 0.796 60%, 0.7 65%, 0.722 70.8%, 0.778 76.7%, 0.85 82.5%, 0.922 88.3%, 0.978 94.2%, 1 100%) .07s,rotate 0.8s linear(0 0%, 0.0963 6.67%, 0.337 13.3%, 0.65 20%, 0.963 26.7%, 1.2 33.3%, 1.3 40%, 1.28 50%, 1.22 60%, 1.15 70%, 1.08 80%, 1.02 90%, 1 100%) .07s}
.cp-agent--query-quinn .cp-agent__fig::after{left:9%;top:6%;width:18%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.0 8.0L20.0 2.0M31.4 16.3L37.1 14.4M27.1 29.7L30.6 34.6M12.9 29.7L9.4 34.6M8.6 16.3L2.9 14.4' stroke='%2300205C' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-on-dark .cp-agent--query-quinn .cp-agent__fig::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.0 8.0L20.0 2.0M31.4 16.3L37.1 14.4M27.1 29.7L30.6 34.6M12.9 29.7L9.4 34.6M8.6 16.3L2.9 14.4' stroke='%23C9D6EC' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-agent--query-quinn:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.7s cubic-bezier(.2,.65,.2,1) 0.22s both}
/* helena-desk (support replies): tilts her head to listen, then starts typing */
.cp-agent--helena-desk .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--helena-desk:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:7deg;transition:rotate 1.2s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.2s linear(0 0%, 0.0852 9.17%, 0.298 18.3%, 0.575 27.5%, 0.852 36.7%, 1.06 45.8%, 1.15 55%, 1.14 59.2%, 1.1 63.3%, 1.05 67.5%, 1 71.7%, 0.965 75.8%, 0.95 80%, 0.954 83.3%, 0.963 86.7%, 0.975 90%, 0.987 93.3%, 0.996 96.7%, 1 100%) .07s}
.cp-agent--helena-desk .cp-agent__fig::after{left:72%;top:2%;width:24%;aspect-ratio:1.917;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2h26a9 9 0 0 1 0 18H14l-7 3 2-4.5A9 9 0 0 1 10 2Z' fill='%23FFFFFF' stroke='%2300205C' stroke-width='2'/%3E%3Ccircle cx='15' cy='11' r='2.4' fill='%2300205C'/%3E%3Ccircle cx='23' cy='11' r='2.4' fill='%2300205C'/%3E%3Ccircle cx='31' cy='11' r='2.4' fill='%23E23A52'/%3E%3C/svg%3E")}
.cp-agent--helena-desk:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaType 1.1s cubic-bezier(.2,.65,.2,1) 0.42s both}
/* rhea-view (quality review): a proud little pop, two sparkles */
.cp-agent--rhea-view .cp-agent__fig>img{transform-origin:50% 55%}
.cp-agent--rhea-view:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{scale:1.06;rotate:-4deg;transition:scale 0.8s cubic-bezier(.2,.65,.2,1) .07s,rotate 0.8s cubic-bezier(.2,.65,.2,1) .07s;transition:scale 0.8s linear(0 0%, 0.133 5.83%, 0.467 11.7%, 0.9 17.5%, 1.33 23.3%, 1.67 29.2%, 1.8 35%, 1.73 40%, 1.54 45%, 1.3 50%, 1.06 55%, 0.874 60%, 0.8 65%, 0.815 70.8%, 0.852 76.7%, 0.9 82.5%, 0.948 88.3%, 0.985 94.2%, 1 100%) .07s,rotate 0.8s linear(0 0%, 0.148 5.83%, 0.519 11.7%, 1 17.5%, 1.48 23.3%, 1.85 29.2%, 2 35%, 1.81 40%, 1.35 45%, 0.75 50%, 0.148 55%, -0.315 60%, -0.5 65%, -0.389 70.8%, -0.111 76.7%, 0.25 82.5%, 0.611 88.3%, 0.889 94.2%, 1 100%) .07s}
.cp-agent--rhea-view .cp-agent__fig::before{left:12%;top:16%;width:12%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1C12.8 8 16 11.2 23 12C16 12.8 12.8 16 12 23C11.2 16 8 12.8 1 12C8 11.2 11.2 8 12 1Z' fill='%23E23A52'/%3E%3C/svg%3E")}
.cp-agent--rhea-view:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::before{animation:cpaTwinkle 0.8s cubic-bezier(.2,.65,.2,1) 0.17s both}
.cp-agent--rhea-view .cp-agent__fig::after{left:74%;top:50%;width:8%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 1C12.8 8 16 11.2 23 12C16 12.8 12.8 16 12 23C11.2 16 8 12.8 1 12C8 11.2 11.2 8 12 1Z' fill='%230055B8'/%3E%3C/svg%3E")}
.cp-agent--rhea-view:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaTwinkle 0.7s cubic-bezier(.2,.65,.2,1) 0.37s both}
/* faye-q (help center): hops and refreshes the article */
.cp-agent--faye-q .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--faye-q:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 -4%;rotate:4deg;transition:translate 1.0s cubic-bezier(.2,.65,.2,1) .07s,rotate 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 1.0s linear(0 0%, 0.133 5.83%, 0.467 11.7%, 0.9 17.5%, 1.33 23.3%, 1.67 29.2%, 1.8 35%, 1.71 40.8%, 1.49 46.7%, 1.2 52.5%, 0.911 58.3%, 0.689 64.2%, 0.6 70%, 0.63 75%, 0.704 80%, 0.8 85%, 0.896 90%, 0.97 95%, 1 100%) .07s,rotate 1.0s linear(0 0%, -0.111 5%, -0.389 10%, -0.75 15%, -1.11 20%, -1.39 25%, -1.5 30%, -1.27 35%, -0.696 40%, 0.05 45%, 0.796 50%, 1.37 55%, 1.6 60%, 1.56 66.7%, 1.44 73.3%, 1.3 80%, 1.16 86.7%, 1.04 93.3%, 1 100%) .07s}
.cp-agent--faye-q .cp-agent__fig::after{left:76%;top:0%;width:14%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.4-5.7M19 3v4.5h-4.5' stroke='%230055B8' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-agent--faye-q:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaSpin 1.0s cubic-bezier(.2,.65,.2,1) 0.17s both}
/* pip-line (CRM and pipeline): a lead drops into the funnel, the funnel gulps */
.cp-agent--pip-line .cp-agent__fig>img{transform-origin:50% 92%}
.cp-agent--pip-line:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 4%;scale:1 .97;transition:translate 1.0s cubic-bezier(.2,.65,.2,1) .07s,scale 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 1.0s linear(0 0%, 0 5%, 0 10%, 0 15%, 0 20%, 0 25%, 0 30%, 0.133 33.3%, 0.467 36.7%, 0.9 40%, 1.33 43.3%, 1.67 46.7%, 1.8 50%, 1.62 53.7%, 1.18 57.3%, 0.6 61%, 0.0222 64.7%, -0.422 68.3%, -0.6 72%, -0.481 76.7%, -0.185 81.3%, 0.2 86%, 0.585 90.7%, 0.881 95.3%, 1 100%) .07s,scale 1.0s linear(0 0%, 0 5%, 0 10%, 0 15%, 0 20%, 0 25%, 0 30%, 0.185 33.3%, 0.648 36.7%, 1.25 40%, 1.85 43.3%, 2.31 46.7%, 2.5 50%, 2.39 58.3%, 2.11 66.7%, 1.75 75%, 1.39 83.3%, 1.11 91.7%, 1 100%) .07s}
.cp-agent--pip-line .cp-agent__fig::after{left:60%;top:-10%;width:9%;aspect-ratio:0.7692;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 26' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1.5' y='1.5' width='17' height='23' rx='2.5' fill='%23FFFFFF' stroke='%2300205C' stroke-width='2'/%3E%3Ccircle cx='6.5' cy='7' r='2' fill='%23E23A52'/%3E%3Cpath d='M10 7h5M5 13h10M5 18h7' stroke='%2300205C' stroke-width='1.6'/%3E%3C/svg%3E")}
.cp-agent--pip-line:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaDropIn 0.7s cubic-bezier(.2,.65,.2,1) 0.07s both}
/* lee-gen (lead research): pulls back and tugs like a magnet */
.cp-agent--lee-gen .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--lee-gen:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:4% 0;rotate:-5deg;transition:translate 0.9s cubic-bezier(.2,.65,.2,1) .07s,rotate 0.9s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 0.9s linear(0 0%, -0.111 5%, -0.389 10%, -0.75 15%, -1.11 20%, -1.39 25%, -1.5 30%, -1.24 34.2%, -0.593 38.3%, 0.25 42.5%, 1.09 46.7%, 1.74 50.8%, 2 55%, 1.91 58.8%, 1.69 62.7%, 1.4 66.5%, 1.11 70.3%, 0.889 74.2%, 0.8 78%, 0.815 81.7%, 0.852 85.3%, 0.9 89%, 0.948 92.7%, 0.985 96.3%, 1 100%) .07s,rotate 0.9s linear(0 0%, -0.0741 5%, -0.259 10%, -0.5 15%, -0.741 20%, -0.926 25%, -1 30%, -0.807 34.2%, -0.326 38.3%, 0.3 42.5%, 0.926 46.7%, 1.41 50.8%, 1.6 55%, 1.56 62.5%, 1.44 70%, 1.3 77.5%, 1.16 85%, 1.04 92.5%, 1 100%) .07s}
.cp-agent--lee-gen .cp-agent__fig::after{left:22%;top:-6%;width:56%;aspect-ratio:2.308;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 26' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 24Q30-6 52 24M17 24Q30 6 43 24' stroke='%23E23A52' stroke-width='2.4' stroke-dasharray='1 5'/%3E%3C/svg%3E")}
.cp-agent--lee-gen:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.8s cubic-bezier(.2,.65,.2,1) 0.37s both}
/* cam-payne (campaigns): lifts the megaphone, sound waves go out */
.cp-agent--cam-payne .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--cam-payne:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:-3deg;scale:1.02;transition:rotate 1.0s cubic-bezier(.2,.65,.2,1) .07s,scale 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.0s linear(0 0%, 0.111 5%, 0.389 10%, 0.75 15%, 1.11 20%, 1.39 25%, 1.5 30%, 1.45 35%, 1.32 40%, 1.15 45%, 0.981 50%, 0.852 55%, 0.8 60%, 0.815 66.7%, 0.852 73.3%, 0.9 80%, 0.948 86.7%, 0.985 93.3%, 1 100%) .07s,scale 1.0s linear(0 0%, 0.148 4.17%, 0.519 8.33%, 1 12.5%, 1.48 16.7%, 1.85 20.8%, 2 25%, 1.9 29.2%, 1.64 33.3%, 1.3 37.5%, 0.963 41.7%, 0.704 45.8%, 0.6 50%, 0.63 58.3%, 0.704 66.7%, 0.8 75%, 0.896 83.3%, 0.97 91.7%, 1 100%) .07s}
.cp-agent--cam-payne .cp-agent__fig::after{left:92%;top:30%;width:12%;aspect-ratio:0.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12Q8 20 3 28M9 7Q16 20 9 33M15 2Q24 20 15 38' stroke='%2300205C' stroke-width='2.4'/%3E%3C/svg%3E")}
.cp-on-dark .cp-agent--cam-payne .cp-agent__fig::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12Q8 20 3 28M9 7Q16 20 9 33M15 2Q24 20 15 38' stroke='%23C9D6EC' stroke-width='2.4'/%3E%3C/svg%3E")}
.cp-agent--cam-payne:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaOut 0.8s cubic-bezier(.2,.65,.2,1) 0.27s both}
/* minnie-utes (meeting notes): scribbles fast, a coral underline appears */
.cp-agent--minnie-utes .cp-agent__fig>img{transform-origin:50% 85%}
.cp-agent--minnie-utes:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:-1deg;transition:rotate 1.1s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.1s linear(0 0%, 0.111 2%, 0.389 4%, 0.75 6%, 1.11 8%, 1.39 10%, 1.5 12%, 1.35 14%, 0.981 16%, 0.5 18%, 0.0185 20%, -0.352 22%, -0.5 24%, -0.352 26%, 0.0185 28%, 0.5 30%, 0.981 32%, 1.35 34%, 1.5 36%, 1.35 38%, 0.981 40%, 0.5 42%, 0.0185 44%, -0.352 46%, -0.5 48%, -0.352 50%, 0.0185 52%, 0.5 54%, 0.981 56%, 1.35 58%, 1.5 60%, 1.43 62.5%, 1.24 65%, 1 67.5%, 0.759 70%, 0.574 72.5%, 0.5 75%, 0.537 79.2%, 0.63 83.3%, 0.75 87.5%, 0.87 91.7%, 0.963 95.8%, 1 100%) .07s}
.cp-agent--minnie-utes .cp-agent__fig::after{left:30%;top:66%;width:40%;aspect-ratio:6.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 16' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10C12 3 18 14 28 8S44 4 52 10 70 14 80 7 94 6 97 9' stroke='%23E23A52' stroke-width='3.4'/%3E%3C/svg%3E")}
.cp-agent--minnie-utes:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaDraw 1.1s cubic-bezier(.2,.65,.2,1) 0.17s both}
/* gantt-gary (project management): ticks like a clock, the stopwatch flashes */
.cp-agent--gantt-gary .cp-agent__fig>img{transform-origin:50% 50%}
.cp-agent--gantt-gary:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:3.5deg;transition:rotate 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.0s linear(0, 0 10%, 2 14%, 2 30%, -2 34%, -2 50%, 2 54%, 2 70%, 1 74%, 1) .07s}
.cp-agent--gantt-gary .cp-agent__fig::after{left:73%;top:12%;width:22%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M31.0 20.0L38.0 20.0M25.5 29.5L29.0 35.6M14.5 29.5L11.0 35.6M9.0 20.0L2.0 20.0M14.5 10.5L11.0 4.4M25.5 10.5L29.0 4.4' stroke='%23E23A52' stroke-width='3'/%3E%3C/svg%3E")}
.cp-agent--gantt-gary:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaTicks 1.0s cubic-bezier(.2,.65,.2,1) 0.07s both}
/* wiki-wanda (company memory): dips as the drawer files, the bulb lights */
.cp-agent--wiki-wanda .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--wiki-wanda:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{translate:0 1%;transition:translate 0.9s cubic-bezier(.2,.65,.2,1) .07s;transition:translate 0.9s linear(0 0%, 0.133 5%, 0.467 10%, 0.9 15%, 1.33 20%, 1.67 25%, 1.8 30%, 1.62 35%, 1.18 40%, 0.6 45%, 0.0222 50%, -0.422 55%, -0.6 60%, -0.481 66.7%, -0.185 73.3%, 0.2 80%, 0.585 86.7%, 0.881 93.3%, 1 100%) .07s}
.cp-agent--wiki-wanda .cp-agent__fig::after{left:70%;top:-1%;width:26%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.6 16.0L1.9 14.1M20.0 7.0L20.0 1.0M32.4 16.0L38.1 14.1M27.6 30.5L31.2 35.4M12.4 30.5L8.8 35.4' stroke='%23E23A52' stroke-width='2.6'/%3E%3C/svg%3E")}
.cp-agent--wiki-wanda:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.8s cubic-bezier(.2,.65,.2,1) 0.37s both}
/* scout-sterling (sourcing): the map snaps open, a pin drops on the X */
.cp-agent--scout-sterling .cp-agent__fig>img{transform-origin:50% 50%}
.cp-agent--scout-sterling:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{scale:1.02 1;transition:scale 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:scale 1.0s linear(0 0%, -0.0741 4.17%, -0.259 8.33%, -0.5 12.5%, -0.741 16.7%, -0.926 20.8%, -1 25%, -0.778 30%, -0.222 35%, 0.5 40%, 1.22 45%, 1.78 50%, 2 55%, 1.9 59.2%, 1.66 63.3%, 1.35 67.5%, 1.04 71.7%, 0.796 75.8%, 0.7 80%, 0.722 83.3%, 0.778 86.7%, 0.85 90%, 0.922 93.3%, 0.978 96.7%, 1 100%) .07s}
.cp-agent--scout-sterling .cp-agent__fig::after{left:59%;top:38%;width:9%;aspect-ratio:0.7143;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 26.5S2.2 17 2.2 10a7.8 7.8 0 0 1 15.6 0c0 7-7.8 16.5-7.8 16.5Z' fill='%23E23A52' stroke='%2300205C' stroke-width='1.8'/%3E%3Ccircle cx='10' cy='10' r='3' fill='%23FFFFFF'/%3E%3C/svg%3E")}
.cp-agent--scout-sterling:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaPin 1.0s cubic-bezier(.2,.65,.2,1) 0.27s both}
/* archie-vist (research): settles in to read, steam rises from the coffee */
.cp-agent--archie-vist .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--archie-vist:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:-2deg;translate:0 1%;transition:rotate 1.2s cubic-bezier(.2,.65,.2,1) .07s,translate 1.2s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.2s linear(0 0%, 0.119 6.67%, 0.415 13.3%, 0.8 20%, 1.19 26.7%, 1.48 33.3%, 1.6 40%, 1.53 45%, 1.37 50%, 1.15 55%, 0.933 60%, 0.767 65%, 0.7 70%, 0.722 75%, 0.778 80%, 0.85 85%, 0.922 90%, 0.978 95%, 1 100%) .07s,translate 1.2s linear(0 0%, 0.111 6.67%, 0.389 13.3%, 0.75 20%, 1.11 26.7%, 1.39 33.3%, 1.5 40%, 1.46 50%, 1.37 60%, 1.25 70%, 1.13 80%, 1.04 90%, 1 100%) .07s}
.cp-agent--archie-vist .cp-agent__fig::after{left:4%;top:-4%;width:10%;aspect-ratio:0.8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 28C3 22 11 18 7 12S9 4 7 2M16 28c-4-6 4-10 0-16s2-8 0-10' stroke='%2300205C' stroke-width='2.2' opacity='.75'/%3E%3C/svg%3E")}
.cp-on-dark .cp-agent--archie-vist .cp-agent__fig::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 28C3 22 11 18 7 12S9 4 7 2M16 28c-4-6 4-10 0-16s2-8 0-10' stroke='%23C9D6EC' stroke-width='2.2' opacity='.75'/%3E%3C/svg%3E")}
.cp-agent--archie-vist:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaRise 1.2s cubic-bezier(.2,.65,.2,1) 0.07s both}
/* dee-dee-reyes (diligence and data room): jiggles like a key turning, the lock clicks */
.cp-agent--dee-dee-reyes .cp-agent__fig>img{transform-origin:50% 50%}
.cp-agent--dee-dee-reyes:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:1deg;transition:rotate 0.8s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 0.8s linear(0 0%, -0.148 3.33%, -0.519 6.67%, -1 10%, -1.48 13.3%, -1.85 16.7%, -2 20%, -1.67 23.3%, -0.833 26.7%, 0.25 30%, 1.33 33.3%, 2.17 36.7%, 2.5 40%, 2.24 43.3%, 1.59 46.7%, 0.75 50%, -0.0926 53.3%, -0.741 56.7%, -1 60%, -0.815 63.3%, -0.352 66.7%, 0.25 70%, 0.852 73.3%, 1.31 76.7%, 1.5 80%, 1.46 83.3%, 1.37 86.7%, 1.25 90%, 1.13 93.3%, 1.04 96.7%, 1 100%) .07s}
.cp-agent--dee-dee-reyes .cp-agent__fig::after{left:36%;top:5%;width:28%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M31.0 20.0L38.0 20.0M25.5 29.5L29.0 35.6M14.5 29.5L11.0 35.6M9.0 20.0L2.0 20.0M14.5 10.5L11.0 4.4M25.5 10.5L29.0 4.4' stroke='%23E23A52' stroke-width='3'/%3E%3C/svg%3E")}
.cp-agent--dee-dee-reyes:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaFlash 0.6s cubic-bezier(.2,.65,.2,1) 0.42s both}
/* deckard (deck design): leans into the slide, a laser dot crosses it */
.cp-agent--deckard .cp-agent__fig>img{transform-origin:50% 90%}
.cp-agent--deckard:is(:hover,:focus-visible,:focus-within) .cp-agent__fig>img{rotate:2deg;translate:-1% 0;transition:rotate 1.0s cubic-bezier(.2,.65,.2,1) .07s,translate 1.0s cubic-bezier(.2,.65,.2,1) .07s;transition:rotate 1.0s linear(0 0%, 0.111 6.67%, 0.389 13.3%, 0.75 20%, 1.11 26.7%, 1.39 33.3%, 1.5 40%, 1.46 50%, 1.37 60%, 1.25 70%, 1.13 80%, 1.04 90%, 1 100%) .07s,translate 1.0s linear(0 0%, 0.111 6.67%, 0.389 13.3%, 0.75 20%, 1.11 26.7%, 1.39 33.3%, 1.5 40%, 1.46 50%, 1.37 60%, 1.25 70%, 1.13 80%, 1.04 90%, 1 100%) .07s}
.cp-agent--deckard .cp-agent__fig::after{left:30%;top:18%;width:6%;aspect-ratio:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23E23A52' opacity='.22'/%3E%3Ccircle cx='12' cy='12' r='5' fill='%23E23A52'/%3E%3C/svg%3E")}
.cp-agent--deckard:is(:hover,:focus-visible,:focus-within) .cp-agent__fig::after{animation:cpaLaser 1.1s cubic-bezier(.2,.65,.2,1) 0.17s both}
}


/* ===== Technology: the equipment schedule. A drawing sheet with a drafted schedule and title block ===== */
.ts-frame{position:relative;border:1.5px solid #00205C;padding:26px;background:#ffffff}
.ts-refs{position:absolute;display:flex;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;line-height:1;color:#8A93A6;pointer-events:none}
.ts-rt,.ts-rb{left:26px;right:26px;height:26px;align-items:center}.ts-rt{top:0}.ts-rb{bottom:0}
.ts-rl,.ts-rr{top:26px;bottom:26px;width:26px;flex-direction:column}.ts-rl{left:0}.ts-rr{right:0}
.ts-rt span,.ts-rb span{flex:1;text-align:center;background:linear-gradient(#A3ABBA,#A3ABBA) left center/1px 10px no-repeat}
.ts-rl span,.ts-rr span{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(#A3ABBA,#A3ABBA) center top/10px 1px no-repeat}
.ts-rt span:first-child,.ts-rb span:first-child,.ts-rl span:first-child,.ts-rr span:first-child{background:none}
.ts-sheet{position:relative;border:1px solid #00205C}
.ts-bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;padding:16px 20px;border-bottom:1px solid #00205C}
.ts-bar-t{font-weight:500;font-size:14px;letter-spacing:.22em;color:#00205C}
.ts-bar-n{font-weight:500;font-size:13px;letter-spacing:.14em;color:#C8263F}
.ts-hd,.ts-row{display:grid;grid-template-columns:64px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.25fr) 100px}
.ts-hd{border-bottom:1.5px solid #00205C;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.16em;line-height:1.4;color:#00205C}
.ts-hd>span{padding:12px 16px 11px;border-left:1px solid #C9D0DC}.ts-hd>span:first-child{border-left:0;text-align:center}
.ts-band{padding:8px 20px;border-bottom:1px solid #C9D0DC;background:#F6F8FB repeating-linear-gradient(135deg,rgba(163,171,186,.22) 0 1px,transparent 1px 7px);font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.2em;color:#00205C}
.ts-list{list-style:none;margin:0;padding:0}
.ts-li{border-bottom:1px solid #C9D0DC}
.ts-row{width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background-color .2s ease}
.ts-row:hover{background:#F7F9FC}
.ts-row.is-open{background:#F2F5FA}
.ts-row:focus-visible{outline:2px solid #E23A52;outline-offset:-2px}
.ts-c{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:12px 16px;border-left:1px solid #E1E5EC}
.ts-c.ts-no{border-left:0;align-items:center;gap:8px;padding-left:8px;padding-right:8px}
.ts-n{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:13px;letter-spacing:.08em;line-height:1.5;color:#C8263F}
.ts-pm{position:relative;display:block;width:18px;height:18px;box-sizing:border-box;border:1px solid #A3ABBA;border-radius:50%;transition:border-color .2s ease}
.ts-pm::before,.ts-pm::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1.4px;margin:-.7px 0 0 -4px;background:#4A5670}
.ts-pm::after{transform:rotate(90deg);transition:transform .3s ease}
.ts-row:hover .ts-pm,.ts-row.is-open .ts-pm{border-color:#E23A52}
.ts-row.is-open .ts-pm::after{transform:rotate(0deg)}
.ts-delta{position:relative;display:block;width:22px;height:19px}
.ts-delta svg{position:absolute;inset:0;overflow:visible}
.ts-delta span{position:absolute;left:0;right:0;top:6px;text-align:center;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:9px;line-height:1;color:#C8263F}
.ts-name{font-size:20px;line-height:1.25;color:#00205C}
.ts-lab{display:none;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.16em;line-height:1.3;color:#8A93A6;text-transform:uppercase}
.ts-rec{position:relative}
/* logo tiles: every tool is a mark, named by aria-label and a drafted tooltip */
.ts-lgs{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ts-lg{position:relative;flex:0 0 auto;height:44px;box-sizing:border-box;border:1px solid #DCE1EA;border-radius:8px;background:#ffffff;transition:border-color .2s ease,box-shadow .2s ease}
.ts-lgi{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px}
.ts-lgi img{flex:none;display:block}
.ts-opt .ts-lgs{gap:8px}
.ts-opt .ts-lg{height:36px;border-color:#E6E9EF;border-radius:7px}
.ts-lg.is-ms{border-color:#0055B8;box-shadow:0 0 0 2px #E6EFFB}
.ts-lg::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:6;padding:4px 8px 5px;border-radius:3px;background:#00205C;color:#ffffff;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.06em;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease}
.ts-lg::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:6;width:8px;height:8px;margin-left:-4px;background:#00205C;transform:rotate(45deg) translate(3px,3px);opacity:0;pointer-events:none;transition:opacity .15s ease}
.ts-lg:hover{border-color:#8A93A6}
.ts-lg:hover::after{opacity:1;transform:translate(-50%,0)}.ts-lg:hover::before{opacity:1}
.ts-ag{align-items:center;justify-content:center}
.ts-ag .cp-agent__fig{transform-origin:50% 85%}
/* the detail callout */
.ts-detail{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;padding:22px 28px 24px 96px;border-top:1px dashed #A3ABBA;background-color:#FBFCFE;background-image:linear-gradient(#EDF1F7 1px,transparent 1px),linear-gradient(90deg,#EDF1F7 1px,transparent 1px);background-size:16px 16px;background-position:-1px -1px}
.ts-lead{position:absolute;left:32px;top:0;bottom:50%;width:64px;border-left:1px solid #8A93A6;border-bottom:1px solid #8A93A6;border-bottom-left-radius:2px;pointer-events:none}
.ts-lead::before{content:"";position:absolute;left:-4px;top:-4px;width:7px;height:7px;border-radius:50%;background:#8A93A6}
.ts-bub{flex:0 0 58px;width:58px;height:58px;box-sizing:border-box;border:1.5px solid #00205C;border-radius:50%;background:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace}
.ts-bub b{font-weight:500;font-size:14px;line-height:1;color:#C8263F}
.ts-bub i{display:block;width:100%;height:1.5px;background:#00205C;margin:6px 0 5px}
.ts-bub span{font-size:9px;letter-spacing:.06em;line-height:1;color:#00205C}
.ts-dfig{flex:0 0 auto;position:relative}
.ts-dfig::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#F3F5F9}
.ts-dtx{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:8px}
.ts-dk{font-size:11px;letter-spacing:.16em;line-height:1.5;color:#4A5670}
.ts-dk b{font-weight:500;color:#00205C}
.ts-dp{margin:0;font-weight:300;font-size:clamp(22px,2.1vw,28px);line-height:1.3;letter-spacing:-.005em;color:#00205C;max-width:30ch;text-wrap:balance}
/* folded lines */
.ts-more{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 24px 16px 0;border-bottom:1px solid #C9D0DC}
.ts-more .ts-n{flex:0 0 64px;text-align:center}
.ts-more-t{flex:1 1 420px;min-width:0;font-size:17px;line-height:1.6;color:#4A5670}
.ts-less{justify-content:flex-end}
.ts-corefold{display:none}
/* general notes and the title block */
.ts-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);border-top:1.5px solid #00205C}
.ts-notes{padding:20px 24px 24px;border-right:1px solid #00205C}
.ts-k2{font-weight:500;font-size:11px;letter-spacing:.2em;color:#00205C}
.ts-notes ol{margin:12px 0 0;padding:0 0 0 24px;font-size:17px;line-height:1.55;color:#2B3650}
.ts-notes li::marker{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#C8263F}
.ts-tb{display:flex;flex-direction:column}
.ts-tb-logo{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #00205C}
.ts-tb-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#C9D0DC;flex:1 1 auto}
.ts-tb-c{background:#ffffff;padding:9px 18px 11px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ts-w2{grid-column:1 / -1}
.ts-k{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.18em;line-height:1.3;color:#8A93A6}
.ts-v{font-size:17px;line-height:1.3;color:#00205C}
.ts-rev .ts-v{display:flex;align-items:center;gap:8px}
.ts-rev .ts-v svg{flex:0 0 auto;overflow:visible}
@media (max-width: 820px){
.ts-frame{padding:18px 10px}
.ts-rt,.ts-rb{left:10px;right:10px;height:18px}
.ts-rl,.ts-rr{display:none}
.ts-bar{padding:14px 14px}
.ts-hd{display:none}
.ts-band{padding:8px 14px}
.ts-row{grid-template-columns:40px minmax(0,1fr) 62px;grid-template-areas:"no cat ag" "no rec rec" "no opt opt"}
.ts-c{border-left:0;padding:14px 10px 0;justify-content:flex-start}
.ts-c.ts-no{grid-area:no;padding:15px 0 0}
.ts-cat{grid-area:cat;justify-content:center;padding-top:10px}.ts-ag{grid-area:ag;justify-content:flex-start;padding:8px 6px 0 0}.ts-rec{grid-area:rec;padding:2px 10px 0}.ts-opt{grid-area:opt;padding:10px 10px 16px}
.ts-lab{display:block}
.ts-name{font-size:19px}
.ts-lgs{gap:6px}.ts-opt .ts-lgs{gap:5px}
.ts-lg{height:38px}.ts-opt .ts-lg{height:32px}
.ts-ag .cp-agent__fig img{width:52px!important;height:52px!important}
.ts-lg::after{left:0;transform:translate(0,4px)}.ts-lg:hover::after{transform:none}.ts-lg::before{left:18px}
.ts-detail{align-items:flex-start;padding:18px 14px 20px 60px;gap:12px 16px}
.ts-lead{left:20px;width:40px;bottom:auto;height:40px}
.ts-bub{flex-basis:44px;width:44px;height:44px}.ts-bub b{font-size:12px}.ts-bub i{margin:4px 0 3px}.ts-bub span{font-size:7.5px}
.ts-dfig img{width:72px!important;height:72px!important}
.ts-dtx{flex-basis:100%}
.ts-more{padding-right:14px}
.ts-more .ts-n{flex-basis:40px}
.ts-more-t{flex-basis:calc(100% - 64px);font-size:16px}
.ts-more .cp-btn{margin-left:40px}
.ts-x:not(.is-shown){display:none}
.ts-corefold{display:flex}
.ts-foot{grid-template-columns:minmax(0,1fr)}
.ts-notes{border-right:0;border-bottom:1px solid #00205C;padding:18px 14px 20px}
.ts-tb-c{padding:9px 14px 11px}
}
@media (max-width: 400px){.ts-lg{height:34px}.ts-opt .ts-lg{height:30px}}
/* agents: every figure plays its gesture on hover; row figures also pop so the gesture reads at small size */
@media (prefers-reduced-motion: no-preference){
.ts-ag .cp-agent__fig{transition:scale .35s cubic-bezier(.2,.65,.2,1.5)}
.ts-row:is(:hover,:focus-visible) .ts-ag .cp-agent__fig{scale:1.24}
.ts-dfig .cp-agent__fig{transition:scale .35s cubic-bezier(.2,.65,.2,1.5)}
.ts-dfig:hover .cp-agent__fig{scale:1.06}
}
/* erase and redraw: graphite smudge sweeps the cell, then each mark is inked back in left to right */
@media (prefers-reduced-motion: no-preference){
@keyframes tsEraseA{0%{opacity:0;transform:translateX(-14px)}18%{opacity:1}40%{opacity:.9;transform:translateX(10px)}62%{opacity:.5;transform:translateX(-6px)}80%,100%{opacity:0;transform:translateX(0)}}
@keyframes tsEraseB{0%{opacity:0;transform:translateX(-14px)}18%{opacity:1}40%{opacity:.9;transform:translateX(10px)}62%{opacity:.5;transform:translateX(-6px)}80%,100%{opacity:0;transform:translateX(0)}}
@keyframes tsInkA{0%{clip-path:inset(-6px 100% -6px -6px);opacity:.3}100%{clip-path:inset(-60px -60px -6px -60px);opacity:1}}
@keyframes tsInkB{0%{clip-path:inset(-6px 100% -6px -6px);opacity:.3}100%{clip-path:inset(-60px -60px -6px -60px);opacity:1}}
@keyframes tsUnfold{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 -2px 0)}}
@keyframes tsLead{from{clip-path:inset(0 100% 100% 0)}to{clip-path:inset(-6px -6px -6px -6px)}}
.ts-rd-a::after,.ts-rd-b::after{content:"";position:absolute;inset:4px 0;pointer-events:none;opacity:0;z-index:2;
  background:repeating-linear-gradient(-16deg,rgba(138,147,166,0) 0 2px,rgba(138,147,166,.55) 2px 3px,rgba(138,147,166,0) 3px 5px),radial-gradient(closest-side,rgba(218,223,231,.95),rgba(218,223,231,0))}
.ts-rd-a::after{animation:tsEraseA .8s ease-out both}.ts-rd-b::after{animation:tsEraseB .8s ease-out both}
.ts-rd-a .ts-lg{animation:tsInkA .6s cubic-bezier(.6,.1,.3,1) both}
.ts-rd-b .ts-lg{animation:tsInkB .6s cubic-bezier(.6,.1,.3,1) both}
.ts-detail{animation:tsUnfold .55s cubic-bezier(.2,.65,.2,1) both}
.ts-lead{animation:tsLead .6s cubic-bezier(.6,.1,.3,1) .1s both}
.ts-delta svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:cpDraw .5s cubic-bezier(.6,.1,.3,1) .9s forwards}
.ts-delta span{animation:cpInk .3s ease 1.3s both}
}
@media (prefers-reduced-motion: reduce){.ts-lg::after,.ts-lg::before,.ts-pm::after{transition:none}}
@media print{.ts-detail,.ts-lead,.ts-lg{animation:none!important;clip-path:none!important}.ts-lg::after,.ts-lg::before{display:none}}

/* ===== Crest Park pencil cursor v2 (portable: see pencil-cursor.md). A giant drawn pencil follows a fine pointer with gyro
   steering. Over anything clickable a bullseye pops in and the pencil lifts and aims at it; mousedown stabs, click ripples.
   Touch and reduced motion get a static bullseye cursor image over clickables (pointer fallback) and the normal cursor elsewhere. ===== */
.cp-pencil,.cp-pencil-shadow,.cp-bull{display:none}
@media (hover: hover){
.cp-pen-fb :is(a,button,summary,label,select,[role="tab"],[tabindex]:not([tabindex="-1"]):not(.cp-agent)),.cp-pen-fb :is(a,button,summary,label,[role="tab"]) *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='none' stroke='%23fff' stroke-width='4.6'/%3E%3Ccircle cx='16' cy='16' r='7.6' fill='none' stroke='%23fff' stroke-width='4.6'/%3E%3Ccircle cx='16' cy='16' r='3.6' fill='%23fff'/%3E%3Ccircle cx='16' cy='16' r='13' fill='none' stroke='%23E23A52' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='7.6' fill='none' stroke='%2300205C' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='2.4' fill='%23E23A52'/%3E%3C/svg%3E") 16 16,pointer}
}
@media (hover: hover) and (pointer: fine){
.cp-pen-on,.cp-pen-on *{cursor:none}

.cp-pen-on :is(input,textarea,[contenteditable="true"]){cursor:text}
.cp-pen-on .cp-pencil,.cp-pen-on .cp-pencil-shadow{display:block;position:fixed;left:0;top:0;width:340px;height:60px;margin-top:-30px;transform-origin:0 30px;pointer-events:none;opacity:0;transition:opacity .16s ease;will-change:transform}
.cp-pen-on .cp-pencil{z-index:50}
.cp-pen-on .cp-pencil-shadow{z-index:49}
.cp-pen-on .cp-pencil.is-on{opacity:.92}
.cp-pen-on .cp-pencil-shadow.is-on{opacity:.22}
.cp-pen-on .cp-pencil.is-on.is-off,.cp-pen-on .cp-pencil-shadow.is-on.is-off{opacity:0;transition:opacity .1s ease}
.cp-pencil svg,.cp-pencil-shadow svg{display:block;width:100%;height:100%;overflow:visible}
.cp-pencil-shadow svg{filter:blur(3px)}
.cp-pen-on .cp-bull{display:block;position:fixed;left:0;top:0;width:40px;height:40px;margin:-20px 0 0 -20px;z-index:49;pointer-events:none;will-change:transform}
.cp-bull-r{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transform:scale(.2);transition:transform .14s ease-in,opacity .12s ease}
.cp-bull.is-on .cp-bull-r{opacity:1;transform:scale(1);transition:transform .2s cubic-bezier(.3,.7,.4,1.3),opacity .1s ease;animation:cpBullPulse 1.2s ease-in-out .2s infinite}
@keyframes cpBullPulse{0%,100%{scale:1}50%{scale:1.08}}
.cp-bull-rip{position:absolute;inset:0;box-sizing:border-box;border:2px solid #E23A52;border-radius:50%;opacity:0}
.cp-bull.is-rip .cp-bull-rip{animation:cpBullRip .55s cubic-bezier(.2,.65,.2,1)}
@keyframes cpBullRip{from{opacity:.95;transform:scale(.9)}to{opacity:0;transform:scale(2.4)}}
.cp-bull-tick{position:absolute;left:12px;top:11px;width:16px;height:16px;overflow:visible;opacity:0;transition:opacity .15s ease}
.cp-bull-tick path{fill:none;stroke:#3A4256;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cp-bull.is-tick .cp-bull-tick{opacity:1;transition:none}
}
@media print{.cp-pencil,.cp-pencil-shadow,.cp-bull{display:none!important}}


/* site build */
[hidden]{display:none!important}
