.redesign-preview{position:relative;isolation:isolate}.rp-banner,.rp-content{position:relative;z-index:1}.rp-atmosphere{display:none;pointer-events:none;position:fixed;inset:64px 0 0;z-index:0;overflow:hidden}.dark .rp-atmosphere{display:block}.rp-atmosphere svg{width:100%;height:100%;fill:none;stroke:#7bb4e5;stroke-width:1}.rp-atmos-horizon{opacity:.12}.rp-atmos-circuits{opacity:.14}.rp-atmos-drift{opacity:.25;animation:rp-atmos-drift 28s ease-in-out infinite alternate}@keyframes rp-atmos-drift{to{transform:translate(12px,-16px);opacity:.12}}.rp-hero{align-items:center}.rp-lead{max-width:72ch}.rp-orbit{width:100%;max-width:350px;justify-self:center;text-align:center}.rp-orbit svg{width:100%;overflow:visible}.rp-orbit-guide{fill:none;stroke:var(--rp-rule-2);stroke-dasharray:2 8}.rp-orbit-sector{cursor:pointer;outline:none}.rp-orbit-sector path{fill:var(--rp-surface-2);stroke:var(--rp-rule-2);transition:fill .18s,stroke .18s}.rp-orbit-sector text{fill:var(--rp-ink);font:500 12px var(--font-inter),sans-serif;pointer-events:none}.rp-orbit-sector:focus-visible path,.rp-orbit-sector:hover path,.rp-orbit-sector[aria-pressed=true] path{fill:var(--rp-accent-soft);stroke:var(--rp-accent-ink);stroke-width:2}.rp-orbit-sector:focus-visible path{stroke-width:4}.rp-orbit-center{font:500 28px var(--rp-display),serif;fill:var(--rp-ink)}.rp-orbit-year{font:400 20px var(--font-inter),sans-serif;fill:var(--rp-muted)}.rp-orbit-fact{min-height:3.2em;font-weight:600;margin-top:12px}.rp-orbit-auth{font-size:.8rem;color:var(--rp-muted);margin-top:8px}.rp-tree-popover.rp-trace-card{position:fixed;right:auto;bottom:auto;z-index:45;max-height:calc(100dvh - 112px);overflow:auto;background:color-mix(in srgb,var(--rp-surface) 92%,transparent);backdrop-filter:blur(10px);box-shadow:0 12px 32px -12px #06141b66}.rp-tree-popover .rp-clear{justify-self:start;min-height:32px}.rp-tskill-name{text-align:left}.rp-canopy-pulse{display:none;fill:none;stroke:var(--rp-accent);stroke-width:2;stroke-dasharray:18 600;animation:rp-canopy-signal 5s linear infinite}.dark .rp-canopy-pulse{display:block}@keyframes rp-canopy-signal{to{stroke-dashoffset:-618}}.rp-stage{background:transparent}.rp-tm-copy{display:block}.rp-tm-copy .rp-blurb{max-width:75ch;margin-top:16px}.rp-date{display:table;font-size:.8rem;border:1px solid var(--rp-rule-2);border-radius:100px;padding:3px 10px;margin-block:12px}.rp-blurb,.rp-date{color:var(--rp-ink-2)}.rp-blurb{margin-block:12px 20px;line-height:1.65}.rp-tm-videos{margin:28px auto;max-width:1056px}.rp-cards{max-width:1184px;margin-inline:auto}.rp-card-uno .rp-card-stage{aspect-ratio:16/9;background:transparent}.rp-planned-entry+.rp-planned-entry{border-top:1px solid var(--rp-rule);margin-top:20px;padding-top:20px}.rp-planned-entry h4{display:flex;align-items:center;gap:12px;font-weight:600;margin-bottom:8px}.rp-planned-entry p{color:var(--rp-ink-2);font-size:.9rem}.rp-activity-meta summary{cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.rp-preview-footer{background:#e5eaeb;color:#253745;border-top:1px solid #9ba8ab;padding:36px 24px}.rp-preview-footer>div{max-width:1216px;margin:auto}.rp-preview-footer nav{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.dark .rp-preview-footer{background:#11212d;color:#ccd0cf;border-color:#253745}header[data-preview]{background:#f1f3f3f2;color:#11212d}.dark header[data-preview]{background:#06141bf2;color:#ccd0cf;--primary:205 65% 75%;--accent:207 40% 60%;--muted-foreground:200 12% 68%}header[data-preview] a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.cs-stack{display:flex;gap:12px;align-items:baseline;margin-top:22px;font-size:.8rem;color:var(--rp-muted)}.cs-stack ul{display:flex;flex-wrap:wrap;gap:6px 12px}.cs-stack li{border-bottom:1px solid var(--rp-rule-2);padding-bottom:3px;color:var(--rp-ink-2)}.cs-beat-text-col{position:relative}.cs-beat-label{display:table;margin-bottom:16px;padding:3px 9px;border:1px solid var(--rp-rule);border-radius:100px;font-size:.7rem;letter-spacing:.05em;color:var(--rp-muted)}.cs-result .cs-beat-body,.cs-result .cs-beat-head{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--rp-accent) 60%,transparent)}.cs-lead{margin-top:32px}.cs-hero:has(+*){min-width:0}.rp-contact-final{min-height:65vh}.rp-contact-final>.rp-lead{margin-block:28px 20px}.rp-contact-auth{font-weight:600;margin-top:16px}.rp-contact-proof{display:grid;gap:32px;margin-top:56px;border-top:1px solid var(--rp-rule);padding-top:32px}.rp-contact-proof .rp-h3{margin-bottom:12px}.rp-exp-body>p{white-space:pre-line}.rp-exp-more>ul{list-style:disc;margin:18px 0 18px 20px}.nv-build{display:flex;margin-top:32px;align-items:stretch}.nv-build-stage{display:flex;align-items:center;flex:1;min-width:0}.nv-build-box{flex:1;min-height:76px;display:grid;place-items:center;text-align:center;padding:10px 5px;border:1px solid var(--rp-rule-2);background:var(--rp-surface);border-radius:8px;font-size:.85rem;line-height:1.35;opacity:0;transition:opacity .35s,background .25s}.nv-build-box[data-shown=true]{opacity:1}.nv-build-box[data-active=true]{border-color:var(--rp-accent);background:var(--rp-accent-soft)}.nv-build-arrow{width:24px;flex:none;fill:none;stroke:var(--rp-accent-ink);stroke-width:1.5;overflow:visible}.nv-build-arrow path{stroke-dasharray:1;stroke-dashoffset:1}.nv-build-arrow[data-shown=true] path{animation:nv-arrow .45s linear forwards}.nv-auto[data-running=false] .nv-build-arrow path{animation-play-state:paused}@keyframes nv-arrow{to{stroke-dashoffset:0}}.nv-caption-lane{display:grid;min-height:116px;margin-top:24px}.nv-caption-lane p{grid-area:1/1;opacity:0;transition:opacity .3s;color:var(--rp-ink-2)}.nv-caption-lane p[data-active=true]{opacity:1}.nv-static-captions{list-style:decimal;padding-left:20px;font-size:.85rem;margin-top:24px}.nv-static-captions li+li{margin-top:8px}.nv-auto[data-static=true] .nv-build-arrow path{stroke-dashoffset:0;animation:none}.nv-auto[data-static=true] .nv-caption-lane{display:none}html[data-rp-hidden] .rp-atmosphere *,html[data-rp-hidden] .rp-canopy-pulse,html[data-rp-motion=paused] .rp-atmosphere *,html[data-rp-motion=paused] .rp-canopy-pulse{animation-play-state:paused}@media (min-width:768px){.rp-contact-proof{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.rp-orbit{max-width:290px}.nv-build{margin-top:20px}.nv-build,.nv-build-stage{flex-direction:column;align-items:flex-start}.nv-build-stage{width:100%}.nv-build-box{min-height:44px;width:100%}.nv-build-arrow{height:24px;margin-left:24px;transform:rotate(90deg)}.nv-caption-lane{min-height:110px}.cs-stack{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){.rp-atmosphere *,.rp-canopy-pulse{animation:none}.nv-build-box,.nv-caption-lane p{transition:none}}.rp-orbit{max-width:440px}@media(min-width:1024px){.rp-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}}@media(max-width:600px){.rp-orbit{max-width:350px}}@media(max-width:1199px){.rp-tskill-name{min-height:32px;padding-block:5px}.rp-tev a{min-height:28px;display:inline-flex;align-items:center}.rp-tskill{row-gap:8px}.rp-exp-item,.rp-tree-section,.rp-work{content-visibility:auto;contain-intrinsic-size:auto 700px}}.rp-video-control{position:absolute;right:12px;bottom:12px;z-index:2;border:1px solid var(--rp-rule-2);background:var(--rp-surface);color:var(--rp-ink);border-radius:100px;padding:6px 12px;font-size:.8rem;min-height:32px}.rp-video-control:disabled{opacity:.8}#rp-explore,.redesign-preview #lab,.redesign-preview [id^=rp-exp-]{scroll-margin-top:88px}.rp-contact-details{display:grid;gap:16px;margin-block:28px}.rp-contact-details dt{font-size:.8rem;color:var(--rp-muted)}.rp-contact-details a{text-decoration:underline;text-underline-offset:3px}.cx-media>.rp-card-img{position:relative;aspect-ratio:16/10;width:100%;overflow:hidden}.rp-tm-lower{display:grid;gap:32px;margin-top:32px;align-items:start}.rp-tm-lower .rp-tm-facts{display:grid;grid-template-columns:1fr;align-content:start}.rp-tm-lower .rp-tm-videos{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none;margin:0;gap:24px}.rp-tm-videos .rp-video,.rp-tm-videos figure{width:100%;min-width:0;display:block}@media(min-width:1024px){.rp-tm-lower{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}}.rp-video-control{position:relative;display:block;margin:8px auto;right:auto;bottom:auto}.rp-card-stage:has(.nv-auto){aspect-ratio:auto;overflow:visible}.rp-card-pacman .rp-card-stage{aspect-ratio:328/339;max-width:400px;margin:auto;width:100%}.rp-card-emergency-services .rp-card-stage{aspect-ratio:626/443}.rp-card-event-management .rp-card-stage{aspect-ratio:540/720;max-width:360px;margin:auto;width:100%}.rp-card-stage .rp-card-img{padding:0}@media(min-width:1100px){.cx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-truthmarket{grid-column:auto;display:flex}.cx-truthmarket .cx-media{grid-row:auto}}.cx-card{min-width:0}.cx-media{height:290px;display:grid;place-items:center}.cx-media>.rp-card-img,.cx-media>.rp-video{max-height:290px;width:100%}.cx-event-management .cx-media>.rp-card-img{aspect-ratio:540/720;max-width:217px}.cx-body{flex:1}.cx-open{align-self:end}.cs-stack li,.rp-exp-skill,.rp-exp-skills-label,.rp-tech li{font-weight:600}.rp-exp-skill{display:inline-block;border:1px solid var(--rp-rule-2);border-radius:100px;padding:4px 10px;background:var(--rp-accent-soft);margin:3px}.rp-exp-skill:before{content:none}.rp-exp-skills-label{display:block;width:100%;margin-bottom:8px}.rp-role-badge{display:table;border:1px solid var(--rp-rule-2);border-radius:100px;padding:2px 10px;color:var(--rp-accent-ink);background:var(--rp-accent-soft);font-weight:600}.rp-exp-body section{margin-top:24px}.rp-exp-body section h3{font-weight:600;margin-bottom:12px}.rp-exp-achievements ul{list-style:disc;margin-left:20px}.rp-exp-achievements li+li{margin-top:8px}.nv-compact{padding:12px!important;min-width:0;width:100%}.nv-compact .nv-build{margin-top:18px}.nv-compact .nv-build-box{font-size:.75rem;min-height:64px}.nv-compact .nv-build-arrow{width:14px}.nv-compact .nv-caption-lane{min-height:100px}.nv-compact .lab-subtitle{font-size:1rem}.nv-compact .lab-note{font-size:.75rem}.rp-atmos-signals{stroke:#8ac7f5;stroke-width:2;opacity:.5}.rp-atmos-signals path{stroke-dasharray:.07 .93;animation:rp-background-signal 12s linear infinite}.rp-atmos-signals path:nth-child(2){animation-delay:-4s;animation-direction:reverse}.rp-atmos-signals path:nth-child(3){animation-delay:-8s;animation-duration:16s}@keyframes rp-background-signal{to{stroke-dashoffset:-1}}@media(prefers-reduced-motion:reduce){.rp-atmos-signals{display:none}}@media(min-width:1100px){.redesign-preview .cx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.redesign-preview .cx-truthmarket{grid-column:auto;display:flex}.redesign-preview .cx-truthmarket .cx-media{grid-row:auto}}.redesign-preview .cx-media{height:360px;align-items:start}.nv-compact .nv-build{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 3px}.nv-compact .nv-build-box{min-width:0;min-height:48px}.nv-compact .nv-caption-lane{min-height:90px}.nv-compact .nv-build-stage{min-width:0}.redesign-preview .cx-card{align-items:stretch}.redesign-preview .cx-media{width:100%;min-width:0}.redesign-preview .rp-tm-lower .rp-tm-videos figure{width:65%;justify-self:center}.redesign-preview .rp-tm-lower .rp-tm-videos figcaption{font-size:1.2rem;font-weight:600;text-align:center;margin:0 0 12px;line-height:1.35}.redesign-preview .cx-media{height:400px}.redesign-preview .cx-pacman .cx-media>.rp-video{width:100%;max-width:none;max-height:none;aspect-ratio:328/339}@media(max-width:600px){.rp-orbit{max-width:375px}}html[data-rp-motion=paused] .redesign-preview .rp-role-text{animation:none;opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){.redesign-preview .rp-role-text{animation:none}}.rp-mobile-menu{--primary:210 30% 21%;--ring:210 30% 21%;background:#f1f3f3;color:#11212d}.dark .rp-mobile-menu{--primary:205 65% 75%;--primary-foreground:210 45% 12%;--ring:205 65% 75%;--muted-foreground:200 12% 68%;--border:205 20% 25%;background:#06141b;color:#ccd0cf}.rp-mobile-menu>button{width:44px;height:44px;display:grid;place-items:center}.rp-mobile-menu a{min-height:44px;display:flex;align-items:center}.redesign-preview .rp-tm>.rp-tm-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:32px auto}.redesign-preview .rp-tm>.rp-tm-videos figcaption{text-align:center;font-size:1.2rem;font-weight:600;margin-bottom:12px}.redesign-preview .rp-tm-lower{display:block}.redesign-preview .rp-tm-facts .rp-metrics{justify-content:start;gap:48px}.cs-lead>.rp-tm-videos figcaption{font-size:1.1rem;font-weight:650}@media(min-width:1024px){.cs-project-uno.cs-hero-split{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.redesign-preview .cx-truthmarket .cx-media,.redesign-preview .cx-uno .cx-media{height:auto;min-height:0;padding:0}.redesign-preview .cx-truthmarket .cx-media>.rp-video,.redesign-preview .cx-uno .cx-media>.rp-video{max-height:none}.redesign-preview .cx-uno .cx-media{margin-bottom:12px}.cx-card,.rp-card,.rp-tm{position:relative;isolation:isolate}.rp-card-destination:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.rp-card-destination:focus-visible:after{outline:3px solid var(--rp-accent-ink);outline-offset:4px}.cx-card a:not(.rp-card-destination),.cx-card button,.cx-card video,.rp-card a:not(.rp-card-destination),.rp-card button,.rp-card video,.rp-tm a:not(.rp-card-destination),.rp-tm button,.rp-tm iframe,.rp-tm video{position:relative;z-index:2}.cx-card video,.rp-card video,.rp-tm video{pointer-events:none}.cx-card video[controls],.rp-card video[controls],.rp-tm video[controls]{pointer-events:auto}.cx-card .cx-chips,.cx-card p,.rp-card .rp-caption,.rp-card dl,.rp-card p,.rp-tm dl,.rp-tm p{position:relative;z-index:2}@media(max-width:767px){.redesign-preview .rp-tm>.rp-tm-videos{grid-template-columns:1fr;max-width:65%}}.redesign-preview .cx-truthmarket .cx-media,.redesign-preview .cx-uno .cx-media{width:calc(100% + 32px);margin-inline:-16px}.redesign-preview .rp-card-uno .rp-card-stage{aspect-ratio:16/9}.cx-card video,.rp-card video,.rp-tm video{position:absolute}.redesign-preview .rp-tm>.rp-tm-videos{width:calc(72.2222% + 8.8889px);max-width:100%}@media(max-width:767px){.redesign-preview .rp-tm>.rp-tm-videos{width:65%}}.redesign-preview .rp-card-uno .rp-card-media{width:calc(100% + 32px);margin-inline:-16px}.redesign-preview .cx-body{align-content:start;grid-template-rows:auto auto auto 1fr auto}.redesign-preview .cx-novolex-dashboard .cx-media{height:auto;min-height:400px}header .rp-lamp,header .rp-lamp-art{width:55px;height:80px;flex-shrink:0}header .header-resume{width:146px;height:50px;display:inline-flex;justify-content:center;align-items:center}.header-music{height:37.5px;display:flex;align-items:center;gap:8px;border:1px solid;border-radius:12px;padding:0 10px;background:transparent;font-size:11px;max-width:250px}.header-music small{display:block;font-size:10px}.header-music button{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.header-music button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.music-bars{display:flex;gap:2px;height:16px;align-items:center}.music-bars i{width:2px;height:10px;background:currentColor;transform-origin:center}.header-music[data-playing=true] .music-bars i{animation:music-level .7s ease-in-out infinite alternate}@keyframes music-level{to{transform:scaleY(.3)}}html[data-rp-hidden] .music-bars i,html[data-rp-motion=paused] .music-bars i{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.music-bars i{animation:none!important}}@media(max-width:767px){header .header-resume{width:82px;height:50px;font-size:12px;padding:0 8px}.header-music{width:130px;gap:4px;padding:0 6px}header .max-w-7xl{padding-inline:12px}}.header-music[data-hidden=true] .music-bars i{animation-play-state:paused!important}header .rp-lamp-handle{left:21.25px;top:41.25px;width:30px;height:35px}.header-music>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark header.sticky{--primary:205 65% 75%;--primary-foreground:210 45% 12%;--ring:205 65% 75%}header .header-resume{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:10px}.header-music[data-motion-paused=true] .music-bars i{animation-play-state:paused!important}.rp-cal-legend{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--rp-muted);margin-top:8px}.rp-contact-intro{margin-top:28px}.rp-contact-copy>.rp-lead{margin-bottom:20px}.rp-contact-copy>p+p{margin-top:12px}.rp-contact-portrait{width:min(70vw,320px);margin:28px auto 0}.rp-contact-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;-o-object-position:center 25%;object-position:center 25%;border-radius:24px;border:1px solid var(--rp-rule)}@media (min-width:768px){.rp-contact-intro-with-photo{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,25vw,320px);gap:clamp(32px,5vw,80px);align-items:center}.rp-contact-portrait{width:100%;margin:0}}.rp-planned{padding-top:20px}.rp-cal-navigation{display:flex;gap:8px;margin-block:12px}.rp-cal-navigation button:disabled{opacity:.4;cursor:default}.redesign-preview{--rp-bg:#f1f3f3;--rp-bg-2:#dfe5e6;--rp-surface:#f9fafa;--rp-surface-2:#e5eaeb;--rp-ink:#06141b;--rp-ink-2:#11212d;--rp-muted:#4a5c6a;--rp-rule:#cdd0cf;--rp-rule-2:#9ba8ab;--rp-accent:#253745;--rp-accent-ink:#253745;--rp-accent-soft:#dde5e8;--rp-on-accent:#f9fafa;--rp-support:#4a5c6a;--rp-tree:#8a989f;--rp-tree-on:#11212d;--rp-shadow:0 1px 2px rgba(6,20,27,.06),0 8px 24px -12px rgba(6,20,27,.18);--rp-ease:cubic-bezier(0.16,1,0.3,1);--rp-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .02 0 0 0 0 .08 0 0 0 0 .1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background:var(--rp-grain),linear-gradient(180deg,#f4f6f6 0,var(--rp-bg) 30%,var(--rp-bg-2) 100%);color:var(--rp-ink);font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.6}.dark .redesign-preview{--rp-bg:#06141b;--rp-bg-2:#040e13;--rp-surface:#11212d;--rp-surface-2:#0b1a23;--rp-ink:#e8eeec;--rp-ink-2:#ccd0cf;--rp-muted:#9ba8ab;--rp-rule:#253745;--rp-rule-2:#4a5c6a;--rp-accent:#91c8f0;--rp-accent-ink:#acd5f5;--rp-accent-soft:#18364d;--rp-on-accent:#06141b;--rp-support:#84bce9;--rp-tree:#5d7280;--rp-tree-on:#91c8f0;--rp-shadow:0 1px 2px rgba(0,0,0,.45),0 10px 28px -14px rgba(0,0,0,.75);--rp-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .86 0 0 0 0 .85 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background:var(--rp-grain),radial-gradient(1100px 520px at 50% 0,rgba(74,140,205,.12),transparent 70%),radial-gradient(900px 600px at 85% 45%,rgba(154,212,240,.05),transparent 70%),linear-gradient(180deg,#071820 0,var(--rp-bg) 40%,var(--rp-bg-2) 100%)}.redesign-preview ::-moz-selection{background:var(--rp-accent);color:var(--rp-on-accent)}.redesign-preview ::selection{background:var(--rp-accent);color:var(--rp-on-accent)}.redesign-preview :focus-visible{outline:2px solid var(--rp-accent-ink);outline-offset:3px}.redesign-preview a{text-underline-offset:3px}.rp-wrap{max-width:1280px;margin-inline:auto;padding-inline:16px}@media (min-width:768px){.rp-wrap{padding-inline:32px}}@media (min-width:1200px){.rp-wrap-wide{max-width:1440px}}.rp-banner{border-bottom:1px solid var(--rp-rule);font-size:.8rem;color:var(--rp-muted);padding-block:8px}.rp-banner-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}.rp-motion-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 12px;border:1px solid var(--rp-rule-2);border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--rp-ink-2)}.rp-motion-toggle:hover{background:var(--rp-surface)}.rp-section{padding-block:56px}@media (min-width:1024px){.rp-section{padding-block:80px}}.rp-branch,.rp-card-title,.rp-city,.rp-exp-role,.rp-h2,.rp-h3,.rp-h4,.rp-metrics dd,.rp-name,.rp-question,.rp-role,.rp-root-name,.rp-statement,.rp-tm-title,.rp-trace-title{font-family:var(--rp-display),Georgia,serif;font-variation-settings:"SOFT" 50}.rp-h2{font-size:clamp(2rem,1.4rem + 1.6vw,2.75rem);line-height:1.1;letter-spacing:-.015em;text-wrap:balance}.rp-h2,.rp-h3{font-weight:600}.rp-h3{font-size:1.3rem;line-height:1.2}.rp-h4{font-size:1.2rem;font-weight:600;line-height:1.25;text-wrap:balance}.rp-lede{margin-top:10px;font-size:1.125rem}.rp-lede,.rp-meta{color:var(--rp-muted)}.rp-meta{font-size:.875rem}.rp-sub{color:var(--rp-muted)}.rp-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid var(--rp-rule)}.rp-textlink{display:inline-flex;align-items:center;min-height:24px;gap:6px;font-weight:600;color:var(--rp-accent-ink)}.rp-textlink:hover{text-decoration:underline}.rp-textlink svg{transition:transform .18s var(--rp-ease)}.rp-textlink:hover svg{transform:translateX(2px)}.rp-textlink-quiet{font-weight:500;color:var(--rp-muted)}.rp-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .18s var(--rp-ease),box-shadow .18s var(--rp-ease),background-color .18s}.rp-btn-primary{background:var(--rp-accent);color:var(--rp-on-accent)}.rp-btn-primary:hover{transform:translateY(-1px);box-shadow:var(--rp-shadow)}.rp-btn-ghost{border:1px solid var(--rp-rule-2);color:var(--rp-ink)}.rp-btn-ghost:hover{background:var(--rp-surface)}.rp-iconbtn{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid var(--rp-rule-2);border-radius:999px;color:var(--rp-muted)}.rp-iconbtn:hover{color:var(--rp-ink);border-color:var(--rp-ink)}.rp-chip{display:inline-block;padding:1px 9px;border:1px dashed var(--rp-rule-2);border-radius:999px;font-size:.75rem;font-weight:600;color:var(--rp-muted)}.rp-hero{display:grid;gap:32px;padding-block:48px 24px}@media (min-width:1024px){.rp-hero{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:56px;padding-block:72px 32px}}.rp-name{font-size:clamp(2.75rem,1.5rem + 3.6vw,4.75rem);font-weight:600;line-height:1;letter-spacing:-.025em;font-variation-settings:"SOFT" 100,"opsz" 144}.rp-role{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:clamp(1.25rem,1rem + .9vw,1.6rem);font-style:italic;color:var(--rp-muted);min-height:2.2em}.rp-role-text{animation:rp-role-in .42s var(--rp-ease)}@keyframes rp-role-in{0%{opacity:0;transform:translateY(6px);filter:blur(3px)}}.rp-lead{margin-top:18px;max-width:62ch;font-size:1.125rem;color:var(--rp-ink-2)}.rp-more{margin-top:10px;max-width:68ch}.rp-more summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;font-weight:600;color:var(--rp-accent-ink);list-style:none}.rp-more summary::-webkit-details-marker{display:none}.rp-more summary svg{transition:transform .2s var(--rp-ease)}.rp-more[open] summary svg{transform:rotate(90deg)}.rp-more p{color:var(--rp-ink-2);margin-bottom:10px}.rp-more-sm p{font-size:.95rem}.rp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.rp-social{display:flex;gap:4px}.rp-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;color:var(--rp-muted)}.rp-social a:hover{color:var(--rp-ink)}.rp-note,.rp-social a:hover{background:var(--rp-surface)}.rp-note{position:relative;padding:22px 24px 18px;border:1px solid var(--rp-rule);border-top-color:var(--rp-ink);border-radius:12px;box-shadow:var(--rp-shadow)}.rp-note-lead{display:flex;align-items:center;gap:10px;font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--rp-rule)}.rp-live{width:9px;height:9px;flex:none;border-radius:999px;background:var(--rp-support);box-shadow:0 0 0 4px color-mix(in srgb,var(--rp-support) 22%,transparent)}.rp-note dl>div{display:grid;gap:2px;padding-block:10px;border-bottom:1px dotted var(--rp-rule-2)}.rp-note dl>div:last-child{border-bottom:0}.rp-note dt{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--rp-muted)}.rp-note dd{font-weight:500}.rp-tree-section{padding-top:40px}.rp-tree-head{max-width:1216px;margin:0 auto 24px}.rp-cats,.rp-leaves,.rp-legend,.rp-limbs,.rp-skills,.rp-trace-rows,.rp-tskills{list-style:none;margin:0;padding:0}.rp-stage{--fam:var(--rp-muted);--fam-software:#1f6f8b;--fam-ai:#23856a;--fam-data:#17797a;--fam-algorithms:#8c6a24;--fam-frameworks:#23856a;--fam-languages:#1f6f8b;--fam-web:#2a7ea6;--fam-tools:#5b7429;--fam-cloud:#4b6d9a;--fam-ux:#a8573c;--fam-deep:#0d4f5c;--fam-pale:#6a9fb0}.dark .rp-stage{--fam-software:#6cc4e0;--fam-ai:#8ab9e0;--fam-data:#84bce9;--fam-algorithms:#e3c07a;--fam-frameworks:#8ab9e0;--fam-languages:#6cc4e0;--fam-web:#9ad4f0;--fam-tools:#b8cce0;--fam-cloud:#9db9e0;--fam-ux:#f0a184;--fam-deep:#bddbee;--fam-pale:#e6f0f8}.rp-fam-software{--fam:var(--fam-software)}.rp-fam-ai{--fam:var(--fam-ai)}.rp-fam-data{--fam:var(--fam-data)}.rp-fam-algorithms{--fam:var(--fam-algorithms)}.rp-fam-frameworks{--fam:var(--fam-frameworks)}.rp-fam-languages{--fam:var(--fam-languages)}.rp-fam-web{--fam:var(--fam-web)}.rp-fam-tools{--fam:var(--fam-tools)}.rp-fam-cloud{--fam:var(--fam-cloud)}.rp-fam-ux{--fam:var(--fam-ux)}.rp-s0{--fam-v:var(--fam)}.rp-s1{--fam-v:color-mix(in oklab,var(--fam) 80%,var(--fam-deep))}.rp-s2{--fam-v:color-mix(in oklab,var(--fam) 80%,var(--fam-pale))}.rp-node{--wash:color-mix(in oklab,var(--fam-v,var(--fam)) 14%,var(--rp-surface));transition:background-color .18s var(--rp-ease),border-color .18s var(--rp-ease),color .18s,box-shadow .18s var(--rp-ease)}.dark .rp-node{--wash:color-mix(in oklab,var(--fam-v,var(--fam)) 22%,var(--rp-surface))}.rp-root{display:inline-block;padding:6px 20px;border-radius:999px;background:var(--rp-surface);border:1px solid var(--rp-rule-2);box-shadow:var(--rp-shadow)}.rp-root-name{font-family:var(--rp-display),Georgia,serif;font-size:1.3rem;font-weight:600;font-style:italic;white-space:nowrap}.rp-root.is-on{border-color:var(--rp-ink-2);box-shadow:0 0 0 3px var(--rp-accent-soft)}.rp-branch{max-width:190px;padding:6px 16px;border-radius:16px;border:1px solid color-mix(in oklab,var(--fam-v,var(--fam)) 45%,var(--rp-rule-2));background:var(--rp-surface);font-size:1.02rem;font-weight:600;line-height:1.2;text-align:center;text-wrap:balance;color:var(--rp-ink);box-shadow:var(--rp-shadow)}.rp-branch:focus,.rp-branch:hover,.rp-leaf:focus,.rp-leaf:hover,.rp-skill:focus,.rp-skill:hover,.rp-tskill:focus-within,.rp-tskill:hover{background:var(--wash);border-color:var(--fam-v,var(--fam));box-shadow:0 0 0 1px var(--fam-v,var(--fam)),var(--rp-shadow)}.rp-branch:focus-visible,.rp-leaf:focus-visible,.rp-skill:focus-visible{outline:2px solid var(--rp-ink);outline-offset:3px}.rp-branch.is-on,.rp-leaf.is-on,.rp-skill.is-on{background:color-mix(in oklab,var(--fam-v,var(--fam)) 24%,var(--rp-surface));border-color:var(--fam-v,var(--fam))}.rp-branch[aria-pressed=true],.rp-skill[aria-pressed=true]{box-shadow:0 0 0 2px var(--rp-surface),0 0 0 4px var(--fam-v,var(--rp-ink-2))}.rp-main{max-width:none;white-space:nowrap;border-radius:999px;padding:6px 16px;background:var(--rp-ink-2);border-color:var(--rp-ink-2);color:var(--rp-bg);font-style:italic;font-size:1rem}.rp-main.is-on,.rp-main:focus,.rp-main:hover{background:var(--rp-ink);border-color:var(--rp-ink);color:var(--rp-bg)}.rp-cat{max-width:150px;padding:5px 13px;border-radius:14px;white-space:normal;text-align:center;font-size:.95rem}.rp-cat:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:var(--fam-v);vertical-align:.06em}.rp-skill{display:block;width:176px;padding:7px 11px 8px;border:1px solid var(--rp-rule);border-radius:10px;background:var(--rp-surface);text-align:left;line-height:1.25}.rp-skill-name{display:block;font-size:.875rem;font-weight:650;color:var(--rp-ink)}.rp-skill-name:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:0 80% 0 80%;background:var(--fam-v);vertical-align:.02em}.rp-tools{display:block;margin-top:3px;font-size:.75rem;line-height:1.35;color:var(--rp-muted)}.rp-tools-split+.rp-tools-split{margin-top:2px;padding-top:2px;border-top:1px dotted var(--rp-rule-2)}.rp-tools-to{color:var(--rp-ink-2);font-weight:600}.rp-leaf{display:block;width:-moz-max-content;width:max-content;max-width:170px;padding:6px 13px 7px 12px;border:1px solid color-mix(in oklab,var(--fam-v) 40%,var(--rp-rule-2));border-radius:999px 999px 999px 4px;background:var(--rp-surface);line-height:1.2;text-align:left}.rp-leaf-title{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:650;color:var(--rp-ink)}.rp-leaf-title:before{content:"";flex:none;width:10px;height:10px;border-radius:0 85% 0 85%;background:var(--fam-v);transform:rotate(-10deg)}.rp-leaf-role{border-radius:6px;border-style:dashed}.rp-leaf-role .rp-leaf-title:before{border-radius:2px;width:9px;height:9px;background:transparent;box-shadow:inset 0 0 0 2px var(--fam-v);transform:none}.rp-leaf-meta{display:block;margin-top:2px;padding-left:16px;font-size:.6875rem;color:var(--rp-muted)}.rp-leaf:hover .rp-leaf-title{text-decoration:underline;text-underline-offset:3px}.rp-tskill{position:relative;max-width:142px;padding-right:4px;line-height:1.25;border:1px solid transparent;border-radius:6px}.rp-tskill:before{content:"";position:absolute;left:-8px;top:.42em;width:7px;height:7px;border-radius:999px;background:var(--fam-v)}.rp-tskill.is-listed:before{background:var(--rp-bg);box-shadow:inset 0 0 0 1.5px var(--fam-v)}.rp-tskill-name{display:block;padding-left:3px;font-size:.8125rem;font-weight:650;color:var(--rp-ink)}.rp-tskill.is-listed .rp-tskill-name{font-weight:450;color:var(--rp-muted)}.rp-tev{display:grid;justify-items:start;padding-left:3px}.rp-tev a{font-size:.6875rem;font-weight:600;line-height:1.35;color:var(--rp-accent-ink);border-radius:3px}.rp-tev a:hover{text-decoration:underline}.rp-tskill.is-on{background:color-mix(in oklab,var(--fam-v) 22%,var(--rp-surface));border-color:var(--fam-v)}.rp-tskill.is-on .rp-tskill-name{color:var(--rp-ink)}.rp-tev a.is-on{text-decoration:underline;text-decoration-thickness:2px}.rp-legend{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.8125rem;color:var(--rp-muted)}.rp-legend li{display:inline-flex;align-items:center;gap:8px}.rp-dot{width:8px;height:8px;border-radius:999px;background:var(--rp-ink-2)}.rp-dot-listed{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rp-muted)}.rp-mark{width:10px;height:10px;background:var(--rp-ink-2)}.rp-mark-leaf{border-radius:0 85% 0 85%}.rp-mark-role{width:9px;height:9px;border-radius:2px;background:transparent;box-shadow:inset 0 0 0 2px var(--rp-ink-2)}.rp-trace-card{display:grid;align-content:start;gap:8px;padding:14px 16px;border:1px solid var(--rp-rule);border-radius:12px;background:var(--rp-surface);font-size:.875rem;box-shadow:var(--rp-shadow)}.rp-trace-title{font-family:var(--rp-display),Georgia,serif;font-size:1.1rem;font-weight:600;line-height:1.25}.rp-trace-hint{color:var(--rp-muted)}.rp-trace-rows li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding-block:3px;border-top:1px dotted var(--rp-rule-2);line-height:1.35}.rp-trace-tools{color:var(--rp-muted)}.rp-trace-link{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--rp-accent-ink)}.rp-trace-link:hover{text-decoration:underline}.rp-clear{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid var(--rp-rule-2);border-radius:999px;font-size:.8125rem;font-weight:600}.rp-clear:disabled{opacity:.55;cursor:default}.rp-circuit,.rp-organic,.rp-scene{display:none;pointer-events:none}.rp-edge{fill:var(--rp-tree);transition:fill .2s var(--rp-ease)}.rp-edge.rp-trunk{fill:color-mix(in srgb,var(--rp-tree) 70%,var(--rp-ink-2))}.rp-deco-leaf,.rp-edge.rp-deco{fill:color-mix(in srgb,var(--rp-tree) 60%,transparent)}.rp-tip{fill:color-mix(in oklab,var(--fam) 55%,var(--rp-tree));transition:fill .2s var(--rp-ease)}.rp-edge.is-on,.rp-tip.is-on{fill:var(--fam,var(--rp-tree-on))}.rp-edge.rp-trunk.is-on{fill:var(--rp-tree-on)}.rp-tide{fill:none;stroke:var(--rp-rule-2);stroke-width:1.2;opacity:.7}.rp-tide-2{opacity:.35;stroke-dasharray:3 6}.rp-trace path{fill:none;stroke:var(--rp-tree);stroke-width:1.4;stroke-linejoin:round;transition:stroke .2s var(--rp-ease)}.rp-trace.rp-rootarm path{stroke-width:1.8}.rp-trace.rp-spine path{stroke-width:1.6}.rp-trace.is-on path{stroke:var(--fam,var(--rp-tree-on));stroke-width:2.2;filter:drop-shadow(0 0 3px rgba(145,200,240,.7))}.rp-pad{fill:var(--rp-surface);stroke:var(--rp-tree);stroke-width:1.5}.rp-pad-sm{stroke-width:1.2}.rp-pad.is-on{stroke:var(--fam,var(--rp-tree-on));fill:var(--rp-accent-soft)}.rp-pulse{fill:none;stroke:#b8ddfa;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:12 900;stroke-dashoffset:912;filter:drop-shadow(0 0 4px rgba(145,200,240,.9));opacity:.8}.rp-halo-arcs path{fill:none;stroke:rgba(145,200,240,.32);stroke-width:1.4;stroke-dasharray:1 7;stroke-linecap:round}.rp-halo-arcs path:nth-child(2n){stroke:rgba(154,212,240,.22);stroke-dasharray:22 10}.rp-twinkle{fill:#ccd0cf;opacity:.55}.rp-skyline rect{fill:#0f2430;stroke:rgba(74,92,106,.6);stroke-width:.8}.rp-horizon{stroke:rgba(145,200,240,.7);stroke-width:1.4;filter:drop-shadow(0 0 6px rgba(145,200,240,.6))}.rp-ground path{fill:none;stroke:hsla(191,9%,64%,.1)}.dark .rp-edge{fill:#2a4150;stroke:rgba(145,200,240,.16);stroke-width:.8}.dark .rp-edge.rp-trunk{fill:#31495a}.dark .rp-edge.is-on,.dark .rp-tip.is-on{fill:var(--fam);stroke:none;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--fam) 60%,transparent))}.dark .rp-edge.rp-trunk.is-on{fill:#91c8f0}.dark .rp-organic .rp-rootarm,.dark .rp-organic .rp-rootlet,.dark .rp-organic .rp-spine{display:none}.dark .rp-root{background:#0b1a23;border-color:#416887;box-shadow:0 0 24px -6px rgba(145,200,240,.55)}.dark .rp-main{background:#0e2a33;border-color:#416887;color:var(--rp-ink);box-shadow:0 0 18px -6px rgba(145,200,240,.6)}.dark .rp-main.is-on,.dark .rp-main:focus-visible,.dark .rp-main:hover{background:#18364d;border-color:#91c8f0;color:var(--rp-ink)}.dark .rp-branch.is-on,.dark .rp-branch:focus,.dark .rp-branch:hover,.dark .rp-leaf.is-on,.dark .rp-leaf:focus,.dark .rp-leaf:hover,.dark .rp-skill.is-on,.dark .rp-skill:focus,.dark .rp-skill:hover,.dark .rp-tskill.is-on,.dark .rp-tskill:focus-within,.dark .rp-tskill:hover{box-shadow:0 0 0 1px var(--fam-v),0 0 18px -4px color-mix(in srgb,var(--fam-v) 70%,transparent)}.dark .rp-tskill:before{box-shadow:0 0 6px color-mix(in srgb,var(--fam-v) 70%,transparent)}.dark .rp-tskill.is-listed:before{background:var(--rp-bg);box-shadow:inset 0 0 0 1.5px var(--fam-v)}@keyframes rp-breeze{0%,to{transform:rotate(calc(var(--amp) * -1))}50%{transform:rotate(var(--amp))}}@keyframes rp-drift{0%{transform:translate(-18px,10px)}to{transform:translate(18px,-12px)}}@keyframes rp-mist{0%{transform:translateX(-40px)}to{transform:translateX(40px)}}@keyframes rp-pulse-run{to{stroke-dashoffset:0}}@keyframes rp-twinkle{0%,80%,to{opacity:.55}88%{opacity:.15}}svg .rp-sway{transform-box:view-box}.rp-drift,.rp-mist{transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion:no-preference){.rp-drift{animation:rp-drift 26s ease-in-out infinite alternate}.rp-mist{animation:rp-mist 22s ease-in-out infinite alternate}.rp-mist-2{animation-duration:30s;animation-direction:alternate-reverse}.rp-pulse{animation:rp-pulse-run 9s linear infinite}.rp-pulse:nth-of-type(2){animation-delay:-3s}.rp-pulse:nth-of-type(3){animation-delay:-6s}.rp-twinkle{animation:rp-twinkle 11s ease-in-out infinite}}@media (min-width:1200px) and (prefers-reduced-motion:no-preference){.rp-sway{animation-name:rp-breeze;animation-timing-function:ease-in-out;animation-iteration-count:infinite}}.rp-stage[data-offscreen] *,.rp-sway[data-held],.rp-sway[data-held] .rp-sway,html[data-rp-hidden] .redesign-preview *,html[data-rp-motion=paused] .redesign-preview *,html[data-rp-motion=paused] .rp-lamp *{animation-play-state:paused!important}@media (max-width:1199.98px){.rp-stage{display:flex;flex-direction:column;gap:16px}.rp-trace-card{order:-1}.rp-legend{order:-2}.rp-root{align-self:flex-start}.rp-limb-inner{display:contents}.rp-band{position:relative;display:grid;gap:14px;margin-left:18px;padding:6px 0 4px 22px}.rp-band>.rp-branch{justify-self:start}.rp-cats,.rp-limbs{position:relative;display:grid;gap:18px;margin-left:18px;padding-left:22px}.rp-band:before,.rp-cat-group:after,.rp-cat-group:before,.rp-cats:before,.rp-limb-group:after,.rp-limb-group:before,.rp-limbs:before,.rp-skills li:before{content:"";position:absolute;background:var(--rp-tree);border-radius:2px}.rp-band:before{left:0;top:-14px;bottom:12px;width:3px}.rp-cats:before,.rp-limbs:before{left:0;top:-12px;bottom:24px;width:3px}.rp-cat-group,.rp-limb-group{position:relative;padding:2px 0 6px 18px}.rp-cat-group:before,.rp-limb-group:before{left:-22px;top:21px;width:22px;height:3px}.rp-cat-group:after,.rp-limb-group:after{left:0;top:22px;bottom:12px;width:2px;background:color-mix(in oklab,var(--fam) 55%,var(--rp-tree))}.rp-cat-group.is-on:after,.rp-cat-group.is-on:before,.rp-limb-group.is-on .rp-skills li:before,.rp-limb-group.is-on:after,.rp-limb-group.is-on:before{background:var(--fam)}.rp-skills{display:grid;gap:8px;margin-top:12px}.rp-skills li{position:relative;padding-left:14px}.rp-skills li:before{left:-18px;top:50%;width:28px;height:2px}.rp-skill{width:100%}.rp-cat{max-width:none}.rp-leaves{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dotted var(--rp-rule-2)}.rp-leaf{max-width:none}.rp-tskills{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:12px;padding-left:14px}.rp-tskill{max-width:none;padding-left:6px}.rp-tskill:before{left:-6px}.rp-tev a{min-height:24px;display:inline-flex;align-items:center}}@media (min-width:640px) and (max-width:1199.98px){.rp-cats,.rp-limbs{grid-template-columns:1fr 1fr}.rp-skills{grid-template-columns:1fr}}@media (min-width:1200px){.rp-stage{position:relative;aspect-ratio:1200/var(--tree-h)}.rp-circuit,.rp-organic,.rp-scene{position:absolute;inset:0;width:100%;height:100%}.rp-organic,.rp-scene-light{display:block}.dark .rp-scene-light{display:none}.dark .rp-circuit,.dark .rp-scene-dark{display:block}.rp-cat-group,.rp-limb-group,.rp-limb-inner{position:absolute;inset:0;pointer-events:none}.rp-limb-group,.rp-limb-inner{transform-origin:var(--ox) var(--oy)}.rp-node,.rp-tev a{pointer-events:auto}.rp-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}.rp-skill{width:-moz-max-content;width:max-content;max-width:136px;padding:5px 12px 6px;border-radius:14px}.rp-skill .rp-tools{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rp-tskill{transform:translateY(-.62em)}.rp-legend{position:absolute;left:0;top:calc(664 / var(--tree-h) * 100%);flex-direction:column}.rp-trace-card{position:absolute;right:0;top:calc(642 / var(--tree-h) * 100%);width:min(372px,31%);max-height:calc(282 / var(--tree-h) * 100%)}}.rp-lamp{position:relative;display:inline-flex;justify-content:center;width:44px;height:64px;align-self:flex-start;color:inherit;border-radius:10px}.rp-lamp:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.rp-lamp-art{width:44px;height:64px;overflow:visible}.rp-lamp-cable,.rp-lamp-cord{stroke:currentColor;stroke-width:1.4;fill:none}.rp-lamp-cord{stroke-width:1.1;opacity:.8}.rp-lamp-shade{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.rp-lamp-bulb{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.7}.rp-lamp-bead{fill:currentColor}.rp-lamp-cone{opacity:0;transition:opacity .26s ease}.rp-lamp.is-lit .rp-lamp-cone{opacity:1}.rp-lamp.is-lit .rp-lamp-shade{fill:#316b9a;stroke:#b8ddfa}.rp-lamp.is-lit .rp-lamp-bulb{fill:#f2fbf8;stroke:#f2fbf8;opacity:1;filter:drop-shadow(0 0 4px #b8ddfa)}.rp-lamp-pull{transition:transform .46s cubic-bezier(.3,1.7,.5,1)}.rp-lamp.is-dragging .rp-lamp-handle,.rp-lamp.is-dragging .rp-lamp-pull{transition:none}.rp-lamp-handle{position:absolute;left:17px;top:33px;width:24px;height:28px;border-radius:999px;touch-action:none;cursor:grab;transition:transform .46s cubic-bezier(.3,1.7,.5,1)}.rp-lamp.is-dragging .rp-lamp-handle{cursor:grabbing}.rp-lamp-sway{transform-box:view-box;transform-origin:22px 0}@keyframes rp-lamp-sway{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}@media (prefers-reduced-motion:no-preference){.rp-lamp-sway{animation:rp-lamp-sway 7s ease-in-out infinite}.rp-lamp.is-dragging .rp-lamp-sway,.rp-lamp:focus-visible .rp-lamp-sway,.rp-lamp:hover .rp-lamp-sway{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.rp-lamp-cone,.rp-lamp-handle,.rp-lamp-pull{transition:none}}html[data-rp-motion=paused] .rp-lamp-handle,html[data-rp-motion=paused] .rp-lamp-pull{transition:none}.rp-dash{display:grid;gap:16px;grid-template-areas:"now" "res" "side" "act" "plan" "bey"}@media (min-width:768px){.rp-dash{grid-template-columns:1fr 1fr;grid-template-areas:"now res" "side act" "plan bey"}}@media (min-width:1100px){.rp-dash{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"now now now now now res res res res side side side" "act act act act act plan plan plan plan bey bey bey";gap:20px}}.rp-tile{min-width:0;padding:20px 16px;border-radius:14px;background:var(--rp-surface);border:1px solid var(--rp-rule);transition:transform .22s var(--rp-ease),box-shadow .22s var(--rp-ease)}@media (min-width:640px){.rp-tile{padding:22px 24px}}.rp-tile:hover{box-shadow:var(--rp-shadow)}.rp-statement{margin-top:10px;font-size:clamp(1.35rem,1.1rem + .6vw,1.6rem);font-weight:500;line-height:1.2;text-wrap:balance}.rp-statement-sm{font-size:1.15rem}.rp-t-now{grid-area:now;display:flex;flex-direction:column;border-top-color:var(--rp-ink)}.rp-t-now .rp-meta{margin-top:8px}.rp-flow{display:grid;gap:10px;margin:20px 0 18px;padding:0;list-style:none;counter-reset:step}@media (min-width:640px){.rp-flow{grid-template-columns:repeat(3,1fr)}}.rp-flow li{counter-increment:step;position:relative;padding-top:34px;font-size:.875rem;line-height:1.4;color:var(--rp-ink-2)}.rp-flow li:before{content:counter(step);position:absolute;top:0;left:0;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--rp-rule-2);background:var(--rp-bg);font-size:.75rem;font-weight:700}.rp-flow li:after{content:"";position:absolute;top:13px;left:32px;right:6px;border-top:1px dashed var(--rp-rule-2)}.rp-flow li:last-child:after{display:none}.rp-now-prev{margin-top:auto;display:grid;gap:4px;padding-top:14px;border-top:1px solid var(--rp-rule);font-size:.875rem;color:var(--rp-muted)}.rp-t-res{grid-area:res;background:var(--rp-accent-soft);border-color:transparent}.rp-modes{margin-top:16px}.rp-seg{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--rp-rule-2);background:var(--rp-surface)}.rp-seg button{min-height:36px;padding:4px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--rp-muted)}.rp-seg button[aria-pressed=true]{background:var(--rp-accent);color:var(--rp-on-accent)}.rp-res-diagram{display:block;width:100%;max-width:360px;margin:14px auto 6px;color:var(--rp-ink-2);font-size:13px}.rp-res-diagram text{fill:currentColor;font-weight:600}.rp-res-diagram .rp-small{font-size:11px;font-weight:400;fill:var(--rp-muted)}.rp-res-diagram rect,.rp-res-diagram text{transition:stroke .32s var(--rp-ease),fill .32s var(--rp-ease),opacity .32s}.rp-flow-dot{fill:var(--rp-accent);opacity:0}.rp-flow-listing{offset-path:path("M200 134H124")}.rp-flow-purchase{offset-path:path("M120 152H196");fill:var(--rp-support)}@keyframes rp-flow{0%{offset-distance:0;opacity:0}15%,85%{opacity:1}to{offset-distance:100%;opacity:0}}@media (prefers-reduced-motion:no-preference){.rp-flow-dot{animation:rp-flow 3.6s var(--rp-ease) infinite}.rp-flow-purchase{animation-delay:1.8s}}.rp-res-agent{stroke:var(--rp-accent);stroke-width:2}.dark .rp-t-res{--rp-ink-2:#d6e7f3;--rp-muted:#b3ccdf}.dark .rp-res-agent{stroke:var(--rp-support)}.rp-res-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.rp-t-side{grid-area:side;display:grid;gap:16px;align-content:start}@media (min-width:1100px){.rp-t-side{gap:20px}}.rp-t-bos{background:transparent;border:0;border-top:1px solid var(--rp-rule-2);border-radius:0;padding-inline:0}.rp-t-bos:hover{box-shadow:none}.rp-city{margin-block:6px;font-size:2rem;font-weight:600;font-style:italic;line-height:1.05}.rp-t-con ul{display:grid;margin-top:10px;list-style:none;padding:0}.rp-t-con a{display:flex;align-items:center;gap:10px;min-height:44px;padding-inline:4px;border-top:1px solid var(--rp-rule);font-weight:600;transition:padding .18s var(--rp-ease),color .18s}.rp-t-con li:first-child a{border-top:0}.rp-t-con a:hover{padding-left:10px;color:var(--rp-accent-ink)}.rp-con-arrow{margin-left:auto;color:var(--rp-muted)}.rp-t-act{grid-area:act}.rp-activity-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.rp-activity-sum{margin-top:8px;color:var(--rp-ink-2)}.rp-activity-note{margin-top:6px;font-size:.875rem;font-weight:600;color:var(--rp-support)}.rp-activity-sum strong{font-family:var(--rp-display),Georgia,serif;font-size:1.5rem}.rp-activity-empty{margin-block:12px;color:var(--rp-muted)}.rp-cal{display:grid;grid-template-rows:repeat(7,auto);grid-template-columns:repeat(13,minmax(0,1fr));grid-auto-flow:column;gap:4px;margin-top:16px;max-width:460px}.rp-cell{aspect-ratio:1;min-width:0;border-radius:4px;background:var(--rp-surface-2)}.rp-cell:hover{outline:1px solid var(--rp-ink);outline-offset:1px}.rp-cell-unknown{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--rp-rule) 3px 4px);box-shadow:inset 0 0 0 1px var(--rp-rule)}.rp-cell-loading{opacity:.5}.rp-cell-1{background:#b7c3c7}.rp-cell-2{background:#8796a0}.rp-cell-3{background:#4a5c6a}.rp-cell-4{background:#11212d}.dark .rp-cell-0{background:#1a2d39}.dark .rp-cell-1{background:#254b70}.dark .rp-cell-2{background:#316b9a}.dark .rp-cell-3{background:#669fcc}.dark .rp-cell-4{background:#b8ddfa}.rp-cal-caption{margin-top:10px;min-height:1.5em;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.rp-activity-meta{margin-top:10px;font-size:.8125rem;color:var(--rp-muted)}.rp-t-plan{grid-area:plan;background:transparent;border:1.5px dashed var(--rp-rule-2)}.rp-planned-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.rp-planned-tabs button{display:grid;justify-items:start;gap:6px;padding:12px 14px;border:1px solid var(--rp-rule);border-radius:10px;background:var(--rp-surface);text-align:left;transition:border-color .18s,transform .18s var(--rp-ease)}.rp-planned-tabs button:hover{transform:translateY(-1px)}.rp-planned-tabs button[aria-selected=true]{border-color:var(--rp-accent);box-shadow:inset 0 -3px 0 var(--rp-accent)}.rp-planned-name{font-size:1.25rem;font-weight:600}.rp-planned-name,.rp-planned-panel{font-family:var(--rp-display),Georgia,serif}.rp-planned-panel{margin-top:14px;padding:16px 2px 0;border-top:1px solid var(--rp-rule);font-size:1.35rem;font-style:italic;line-height:1.3;color:var(--rp-ink-2);text-wrap:balance}.rp-t-bey{grid-area:bey}.rp-ledger{margin-block:14px;list-style:none;padding:0}.rp-ledger li{display:grid;gap:2px;padding-block:10px;border-top:1px solid var(--rp-rule);font-size:.875rem}.rp-ledger span,.rp-ledger time{color:var(--rp-muted)}.rp-ledger time{font-size:.8125rem;font-variant-numeric:tabular-nums}.rp-tm{display:grid;gap:24px;padding:20px;border-radius:18px;background:var(--rp-surface);border:1px solid var(--rp-rule);box-shadow:var(--rp-shadow)}@media (min-width:768px){.rp-tm{padding:28px}}@media (min-width:1100px){.rp-tm{gap:28px;padding:32px 36px 36px}}.rp-tm-copy{display:grid;gap:8px 48px;align-items:end}@media (min-width:1100px){.rp-tm-copy{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.rp-tm-copy .rp-question{margin-top:0}}.rp-tm-facts{display:grid;gap:16px 40px;align-items:start}@media (min-width:900px){.rp-tm-facts{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr)}}.rp-tm-facts .rp-links,.rp-tm-facts .rp-metrics,.rp-tm-facts .rp-more{margin-top:0}.rp-tm-title{font-size:clamp(2.25rem,1.6rem + 1.8vw,3.25rem);font-weight:600;line-height:1;letter-spacing:-.02em}.rp-card-title a:hover,.rp-tm-title a:hover{text-decoration:underline;text-decoration-thickness:1px}.rp-tm-copy .rp-sub{margin-top:6px;font-weight:500}.rp-question{margin-top:18px;font-size:1.2rem;font-style:italic;line-height:1.4;color:var(--rp-ink-2)}.rp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;padding-block:14px;border-block:1px solid var(--rp-rule)}.rp-metrics>div{display:flex;flex-direction:column-reverse;gap:2px;min-width:0}.rp-metrics dd{font-size:1.5rem;font-weight:600;line-height:1.1}.rp-metrics dt{font-size:.75rem;color:var(--rp-muted);line-height:1.3}.rp-metrics-sm dd{font-size:1.1rem}.rp-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;list-style:none;padding:0}.rp-tech li{padding:2px 10px;border-radius:999px;background:var(--rp-surface-2);font-size:.75rem;font-weight:500;color:var(--rp-ink-2)}.rp-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:18px}.rp-tm-videos{display:grid;gap:16px;align-content:start}@media (min-width:640px){.rp-tm-videos{grid-template-columns:1fr 1fr;gap:20px}}.rp-tm-videos figure{margin:0}.rp-tm-videos figcaption{margin-top:8px;font-size:.8125rem;font-weight:600;color:var(--rp-muted)}.rp-video{border-radius:10px;background-color:#000;transition:box-shadow .22s var(--rp-ease)}.rp-tm-videos figure:hover .rp-video{box-shadow:0 0 0 1px var(--rp-rule-2),var(--rp-shadow)}.rp-research{display:grid;gap:18px;padding-top:28px;border-top:1px solid var(--rp-rule)}.rp-research-copy{display:grid;gap:4px 40px}@media (min-width:1100px){.rp-research-copy{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:end}.rp-research-copy .rp-h4{grid-row:span 2}}.rp-research-copy p{font-size:.9375rem;color:var(--rp-ink-2)}.rp-research-copy .rp-meta{font-size:.8125rem;color:var(--rp-muted)}.rp-viewer{min-width:0;margin:0}.rp-viewer figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:10px}.rp-viewer-title{font-family:var(--rp-display),Georgia,serif;font-size:1.25rem;font-weight:600}.rp-viz-note{margin-bottom:10px;font-size:.875rem;color:var(--rp-ink-2)}.rp-viewer-frame{position:relative;border-radius:12px;overflow:hidden;background:#f4f6f8;border:1px solid var(--rp-rule)}.rp-viewer-frame.is-scroll{overflow-x:auto}.rp-viewer-frame iframe{display:block;border:0;transform-origin:0 0}.rp-viz-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width:768px){.rp-viz-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.rp-viz-tiles button{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border:1px solid var(--rp-rule);border-radius:12px;background:var(--rp-bg);text-align:left;font-size:.875rem;font-weight:600;line-height:1.3;transition:border-color .18s,background-color .18s,transform .18s var(--rp-ease)}.rp-viz-tiles button:hover{border-color:var(--rp-rule-2);transform:translateY(-1px)}.rp-viz-tiles button[aria-pressed=true]{background:var(--rp-accent);border-color:var(--rp-accent);color:var(--rp-on-accent)}.rp-viz-icon{flex:none;width:40px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;opacity:.8}.rp-cards{display:grid;gap:20px;margin-top:24px}@media (min-width:768px){.rp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}.rp-card{display:flex;flex-direction:column;min-width:0;padding:16px 16px 20px;border-radius:16px;background:var(--rp-surface);border:1px solid var(--rp-rule);transition:box-shadow .22s var(--rp-ease),transform .22s var(--rp-ease),border-color .22s}.rp-card:focus-within,.rp-card:hover{box-shadow:var(--rp-shadow);border-color:var(--rp-rule-2);transform:translateY(-2px)}.rp-card-media{margin-bottom:16px}.rp-card-stage{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--rp-surface-2)}.rp-card-video{height:100%;background-color:transparent}.rp-card-stage .rp-card-img{-o-object-fit:contain;object-fit:contain;padding:12px;transition:transform .4s var(--rp-ease)}.rp-card:hover .rp-card-img{transform:scale(1.015)}.rp-caption{margin-top:8px;font-size:.75rem;color:var(--rp-muted)}.rp-card-title{font-size:1.45rem;font-weight:600;line-height:1.15;text-wrap:balance}.rp-card .rp-sub{margin-top:6px;font-size:.9375rem}.rp-card .rp-metrics{margin-top:14px}.rp-card .rp-links{margin-top:auto;padding-top:16px}.rp-exp{list-style:none;margin:0;padding:0}.rp-exp-item{position:relative;scroll-margin-top:96px;display:grid;gap:6px 32px;padding:26px 0 26px 28px;border-top:1px solid var(--rp-rule)}.rp-exp-item:before{content:"";position:absolute;left:6px;top:0;bottom:0;border-left:2px solid var(--rp-rule)}.rp-exp-item:after{content:"";position:absolute;left:0;top:32px;width:14px;height:14px;border-radius:999px;border:2px solid var(--rp-rule-2);background:var(--rp-bg);transition:background-color .2s var(--rp-ease),border-color .2s,transform .2s var(--rp-ease)}.rp-exp-item:focus-within:after,.rp-exp-item:has(details[open]):after,.rp-exp-item:hover:after{background:var(--rp-accent);border-color:var(--rp-accent);transform:scale(1.15)}.rp-exp-item:has(details[open]):before{border-color:var(--rp-accent)}@media (min-width:900px){.rp-exp-item{grid-template-columns:200px minmax(0,1fr);padding-left:36px}}.rp-exp-when{display:grid;align-content:start;gap:2px;font-size:.875rem;color:var(--rp-muted);font-variant-numeric:tabular-nums}.rp-exp-when time{font-weight:600;color:var(--rp-ink-2)}.rp-exp-role{font-size:clamp(1.3rem,1.1rem + .5vw,1.6rem);font-weight:600;line-height:1.2;text-wrap:balance}.rp-exp-org{margin-top:4px;font-weight:600;color:var(--rp-accent-ink)}.rp-exp-desc{color:var(--rp-ink-2)}.rp-exp-desc,.rp-exp-high{margin-top:10px;max-width:70ch}.rp-exp-high{position:relative;padding-left:18px;font-size:.9375rem;font-weight:500}.rp-exp-high:before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:999px;background:var(--rp-support)}.rp-exp-more{margin-top:8px;interpolate-size:allow-keywords}.rp-exp-more summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--rp-accent-ink);list-style:none}.rp-exp-more summary::-webkit-details-marker{display:none}.rp-exp-more summary svg{transition:transform .2s var(--rp-ease)}.rp-exp-more[open] summary svg{transform:rotate(180deg)}.rp-exp-more::details-content{block-size:0;overflow:hidden;transition:block-size .22s var(--rp-ease),content-visibility .22s allow-discrete}.rp-exp-more[open]::details-content{block-size:auto}.rp-exp-detail{display:grid;gap:4px;padding-bottom:6px;max-width:70ch}.rp-exp-detail ul{display:grid;gap:6px;margin:0;padding-left:18px;list-style:disc;font-size:.9375rem;color:var(--rp-ink-2)}.rp-exp-detail .rp-metrics{margin-block:12px 8px}.rp-exp-skills{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0;margin-top:10px;padding-top:10px;max-width:76ch;border-top:1px dotted var(--rp-rule-2);font-size:.875rem;line-height:1.5;color:var(--rp-ink-2)}.rp-exp-skills-label{margin-right:10px;font-size:.75rem;font-weight:650;color:var(--rp-muted)}.rp-exp-skill{background:linear-gradient(var(--rp-accent-soft),var(--rp-accent-soft)) 0 100% /0 2px no-repeat;transition:background-size .26s var(--rp-ease)}.rp-exp-skill+.rp-exp-skill:before{content:"·";margin-inline:8px;color:var(--rp-rule-2)}.rp-exp-item:focus-within .rp-exp-skill,.rp-exp-item:hover .rp-exp-skill{background-size:100% 2px}.dark .rp-exp-skill{background-image:linear-gradient(rgba(145,200,240,.45),rgba(145,200,240,.45))}.rp-contact{padding-top:24px}.rp-contact .rp-meta{margin-top:10px;font-size:1rem}@media (prefers-reduced-motion:reduce){.redesign-preview *,.redesign-preview ::details-content,.redesign-preview :after,.redesign-preview :before{animation:none!important;transition:none!important}.rp-btn-primary:hover,.rp-card:hover,.rp-planned-tabs button:hover,.rp-viz-tiles button:hover{transform:none}}