.rb-animated-content{position:relative}.rb-spotlight-card{--rb-spot-x: 50%;--rb-spot-y: 50%;isolation:isolate;overflow:hidden;position:relative}.rb-spotlight-card:before{background:radial-gradient(520px circle at var(--rb-spot-x) var(--rb-spot-y),rgba(255,255,255,.17),transparent 43%);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s ease;z-index:0}.rb-spotlight-card:hover:before{opacity:1}.rb-spotlight-card>*{position:relative;z-index:1}.rb-magnet{display:inline-flex;position:relative;will-change:transform}@media (hover: none){.rb-spotlight-card:before{display:none}.rb-magnet{transform:none!important}}:root{--cp-paper: #f2f0ea;--cp-paper-2: #e9e6de;--cp-ink: #111318;--cp-muted: #686b70;--cp-line: rgba(17, 19, 24, .14);--cp-blue: #315cff;--cp-night: #111318;--cp-white: #f7f7f4}.cp-root{--cp-label-size: 11px;--cp-meta-size: 13px;--cp-body-size: 15px;background:var(--cp-paper);color:var(--cp-ink);font-family:Manrope Variable,Manrope,system-ui,sans-serif;min-height:100vh;overflow:clip}.cp-root *,.cp-root *:before,.cp-root *:after{box-sizing:border-box}.cp-root button,.cp-root a{-webkit-tap-highlight-color:transparent}.cp-root button{font:inherit}.cp-skip-link{background:var(--cp-ink);color:#fff;left:12px;padding:10px 14px;position:fixed;top:12px;transform:translateY(-160%);transition:transform .2s;z-index:10000}.cp-skip-link:focus{transform:translateY(0)}.cp-header{align-items:center;display:flex;justify-content:space-between;left:0;padding:16px;pointer-events:none;position:fixed;right:0;top:0;z-index:100}.cp-brand,.cp-availability{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2f0eabd;pointer-events:auto}.cp-brand{align-items:center;border:1px solid rgba(17,19,24,.12);border-radius:999px;color:var(--cp-ink);cursor:pointer;display:flex;gap:9px;padding:6px 12px 6px 6px}.cp-brand span{align-items:center;background:var(--cp-ink);border-radius:50%;color:#fff;display:flex;font:600 11px IBM Plex Mono;height:31px;justify-content:center;width:31px}.cp-brand small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cp-availability{align-items:center;border:1px solid rgba(17,19,24,.1);border-radius:999px;display:flex;font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";gap:7px;letter-spacing:.08em;padding:10px 12px;text-transform:uppercase}.cp-availability i{animation:cp-pulse 2s ease infinite;background:#20a865;border-radius:50%;height:6px;width:6px}@keyframes cp-pulse{50%{box-shadow:0 0 0 5px #20a8651f}}.cp-navigator{align-items:center;background:#111318e6;border:1px solid rgba(255,255,255,.12);border-radius:999px;bottom:18px;display:flex;gap:3px;left:50%;opacity:0;padding:4px;pointer-events:none;position:fixed;transform:translate(-50%,20px);transition:opacity .3s,transform .3s;z-index:90}.cp-navigator.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.cp-navigator button{align-items:center;background:transparent;border:0;border-radius:50%;color:#ffffffb8;cursor:pointer;display:flex;height:42px;justify-content:center;padding:0;position:relative;transition:background .25s ease,box-shadow .25s ease,color .25s ease,transform .3s cubic-bezier(.16,1,.3,1);width:42px}.cp-navigator button:hover,.cp-navigator button:focus-visible{background:#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff14;color:#fff;outline:none}.cp-hero{--hero-progress: 0;background:var(--cp-paper);height:700svh;position:relative}.cp-hero-sticky{height:100svh;min-height:560px;overflow:hidden;position:sticky;top:0}.cp-hero-video{height:100%;top:0;right:0;bottom:0;left:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;position:absolute;width:100%}.cp-hero-wash{background:linear-gradient(90deg,#f2f0eab8,#f2f0ea0f 62%),linear-gradient(0deg,rgba(242,240,234,.35),transparent 45%);top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.cp-hero-grid{background-image:linear-gradient(rgba(17,19,24,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(17,19,24,.04) 1px,transparent 1px);background-size:64px 64px;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 75%);mask-image:linear-gradient(to bottom,#000,transparent 75%);pointer-events:none;position:absolute}.cp-hero-chapter{left:20px;max-width:calc(100vw - 40px);pointer-events:none;position:absolute;top:39%;transition:opacity .08s linear,transform .08s linear;width:680px}.cp-kicker{font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";letter-spacing:.16em;margin:0 0 16px;text-transform:uppercase}.cp-kicker span{align-items:center;display:flex;gap:9px}.cp-kicker span:before{background:var(--cp-blue);content:"";height:2px;width:28px}.cp-hero-identity h1{font:600 var(--cp-meta-size)/1.4 "IBM Plex Mono";letter-spacing:.15em;margin:0 0 18px;text-transform:uppercase}.cp-hero-chapter>strong{display:block;font:650 clamp(46px,13vw,112px)/.88 "Bricolage Grotesque Variable","Bricolage Grotesque",sans-serif;letter-spacing:-.065em}.cp-hero-support{font-size:var(--cp-body-size);line-height:1.65;margin:22px 0 0;max-width:480px}.cp-proof-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);max-width:660px}.cp-proof-grid>div{background:#f2f0eab8;border:1px solid rgba(17,19,24,.13);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:18px 14px}.cp-proof-grid b{display:block;font:600 clamp(38px,11vw,76px)/1 "Bricolage Grotesque Variable";letter-spacing:-.06em}.cp-proof-grid span{color:var(--cp-muted);font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";letter-spacing:.06em;text-transform:uppercase}.cp-inline-cta{align-items:center;background:var(--cp-blue);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:var(--cp-meta-size);gap:10px;margin-top:24px;padding:13px 17px;pointer-events:auto}.cp-scroll-index{align-items:end;bottom:20px;display:grid;font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";gap:7px 12px;grid-template-columns:auto 34px;left:20px;letter-spacing:.12em;position:absolute;text-transform:uppercase;width:210px}.cp-scroll-index b{font-size:18px;text-align:right}.cp-scroll-index i{background:#11131824;display:block;grid-column:1 / -1;height:2px;overflow:hidden}.cp-scroll-index em{background:var(--cp-blue);display:block;height:100%;transform-origin:left;width:100%}.cp-section{padding:88px 20px;position:relative}.cp-section-label{align-items:center;display:flex;font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";gap:9px;letter-spacing:.14em;margin-bottom:46px;text-transform:uppercase}.cp-section-label span{color:var(--cp-blue)}.cp-section-label:after{background:var(--cp-line);content:"";flex:1;height:1px;transform:scaleX(.25);transform-origin:left;transition:transform 1s cubic-bezier(.16,1,.3,1)}.cp-section:hover>.cp-section-label:after,.cp-section:hover .cp-section-label:after{transform:scaleX(1)}.cp-light-label{color:#ffffffa3}.cp-light-label:after{background:#ffffff26}.cp-manifesto{background:var(--cp-paper)}.cp-manifesto-grid{display:grid;gap:44px}.cp-manifesto h2,.cp-two-column-heading h2,.cp-education h2{font:620 clamp(42px,12vw,88px)/.94 "Bricolage Grotesque Variable";letter-spacing:-.055em;margin:0}.cp-manifesto-grid>div>p{color:#373a40;font-size:calc(var(--cp-body-size) + 1px);line-height:1.8;margin:0}.cp-person-meta{border-top:1px solid var(--cp-line);display:grid;gap:10px;margin-top:30px;padding-top:20px}.cp-person-meta span{align-items:center;color:var(--cp-muted);display:flex;font-size:var(--cp-meta-size);gap:9px}.cp-work{background:var(--cp-night);color:var(--cp-white);padding-left:0;padding-right:0}.cp-work>.cp-section-heading,.cp-work>.cp-section-label{margin-left:20px;margin-right:20px}.cp-section-heading{margin-bottom:70px}.cp-section-heading h2{font:640 clamp(58px,15vw,128px)/.83 "Bricolage Grotesque Variable";letter-spacing:-.065em;margin:0}.cp-section-heading>p{color:#ffffffa6;font-size:var(--cp-body-size);line-height:1.75;margin:24px 0 0;max-width:520px}.cp-project-stack{display:grid}.cp-project{background:var(--cp-night);border-top:1px solid rgba(255,255,255,.13);display:grid;min-height:100svh;padding:20px;position:sticky;top:0}.cp-project-media{align-self:stretch;background:#202329;border:0;border-radius:18px;cursor:pointer;min-height:45svh;overflow:hidden;padding:0;position:relative}.cp-project-media img{height:100%;top:0;right:0;bottom:0;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .7s cubic-bezier(.16,1,.3,1);width:100%}.cp-project-media:hover img{transform:scale(1.035)}.cp-project-shade{background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 55%);top:0;right:0;bottom:0;left:0;position:absolute}.cp-project-open{align-items:center;bottom:14px;color:#fff;display:flex;font-size:var(--cp-meta-size);gap:8px;left:14px;position:absolute;transition:gap .3s ease,transform .3s ease}.cp-project-media:hover .cp-project-open{gap:13px;transform:translateY(-3px)}.cp-project-copy{display:grid;gap:22px;padding:25px 2px 10px}.cp-project-number{color:#ffffff8c;font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";letter-spacing:.1em}.cp-project-copy>div>p:first-child{color:#8ca1ff;font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";letter-spacing:.11em;margin:0 0 10px;text-transform:uppercase}.cp-project h3{font:620 clamp(32px,9vw,58px)/.95 "Bricolage Grotesque Variable";letter-spacing:-.05em;margin:0}.cp-project-description{color:#ffffffa8;display:-webkit-box;font-size:var(--cp-body-size);line-height:1.7;margin:16px 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cp-tech-row{display:flex;flex-wrap:wrap;gap:6px}.cp-tech-row span{border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#ffffffbf;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";padding:7px 10px}.cp-text-link{align-items:center;background:transparent;border:0;color:#fff;cursor:pointer;display:flex;font-size:var(--cp-meta-size);gap:8px;margin-top:18px;padding:0;transition:color .25s ease,gap .25s ease}.cp-text-link:hover{color:#8ca1ff;gap:13px}.cp-archive{border-top:1px solid rgba(255,255,255,.13);padding:72px 20px 20px}.cp-archive-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:28px}.cp-archive-heading h3{font:600 28px Bricolage Grotesque Variable;margin:0}.cp-archive-heading span{color:#ffffff8c;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";text-transform:uppercase}.cp-archive-grid{border-top:1px solid rgba(255,255,255,.12)}.cp-archive-grid button{align-items:center;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;gap:7px;grid-template-columns:30px 1fr auto;padding:18px 0;text-align:left;width:100%}.cp-archive-grid button>span{color:#8ca1ff;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono"}.cp-archive-grid strong{font:500 18px Bricolage Grotesque Variable}.cp-archive-grid small{color:#ffffff94;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";grid-column:2}.cp-archive-grid svg{grid-column:3;grid-row:1 / span 2}.cp-experience{background:var(--cp-paper)}.cp-two-column-heading{display:grid;gap:28px;margin-bottom:60px}.cp-two-column-heading>p{color:var(--cp-muted);font-size:var(--cp-body-size);line-height:1.75;margin:0;max-width:480px}.cp-timeline{border-top:1px solid var(--cp-line)}.cp-timeline article{border-bottom:1px solid var(--cp-line);display:grid;gap:15px;padding:26px 0;transition:background .3s ease,padding .35s cubic-bezier(.16,1,.3,1)}.cp-timeline article:hover{background:#315cff0b;padding-left:12px;padding-right:12px}.cp-timeline article:hover h3{color:var(--cp-blue)}.cp-timeline article>span,.cp-timeline small{color:var(--cp-muted);font:400 var(--cp-label-size)/1.45 "IBM Plex Mono";letter-spacing:.06em;text-transform:uppercase}.cp-timeline h3{font:600 26px Bricolage Grotesque Variable;letter-spacing:-.035em;margin:5px 0 0;transition:color .3s ease}.cp-timeline article>div:nth-child(3){display:flex;flex-direction:column;gap:4px}.cp-timeline article>div:nth-child(3) strong{font-size:var(--cp-meta-size)}.cp-timeline article>p{color:var(--cp-muted);font-size:var(--cp-body-size);line-height:1.7;margin:0}.cp-capabilities{background:var(--cp-blue);color:#fff}.cp-capabilities .cp-two-column-heading>p{color:#ffffffa6}.cp-capability-grid{display:grid;gap:12px}.cp-capability-card{background:#f7f7f4f7;border:1px solid rgba(255,255,255,.5);border-radius:20px;color:var(--cp-ink);height:100%;padding:20px;transition:box-shadow .4s ease,transform .4s cubic-bezier(.16,1,.3,1)}.cp-capability-card:hover{box-shadow:0 24px 60px #0e1f6438;transform:translateY(-5px)}.cp-capability-card:after{background:var(--cp-blue);content:"";height:3px;left:20px;position:absolute;top:0;width:44px}.cp-capability-card header{align-items:start;display:grid;gap:12px;grid-template-columns:28px 1fr auto}.cp-capability-card header>span{color:var(--cp-blue);font:500 var(--cp-label-size)/1.4 "IBM Plex Mono";padding-top:4px}.cp-capability-card header small{color:var(--cp-muted);font:500 9px/1.4 IBM Plex Mono;letter-spacing:.12em;text-transform:uppercase}.cp-capability-card h3{font:620 clamp(23px,3vw,34px)/1 "Bricolage Grotesque Variable";letter-spacing:-.04em;margin:4px 0 0}.cp-capability-card header>strong{color:var(--cp-ink);font:600 18px/1 Bricolage Grotesque Variable;white-space:nowrap}.cp-capability-card header>strong small{font-size:9px}.cp-capability-card>p{color:var(--cp-muted);font-size:var(--cp-meta-size);line-height:1.65;margin:22px 0 20px 40px;max-width:520px}.cp-capability-card ul{border-top:1px solid var(--cp-line);list-style:none;margin:0;padding:0}.cp-capability-card li{border-bottom:1px solid var(--cp-line);padding:14px 0}.cp-capability-card li>div:first-child{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.cp-capability-card li span{font-size:var(--cp-meta-size);font-weight:650}.cp-capability-card li em{color:var(--cp-muted);font:500 9px/1.4 IBM Plex Mono;font-style:normal;letter-spacing:.09em;text-transform:uppercase}.cp-skill-meter{display:grid;gap:4px;grid-template-columns:repeat(3,1fr);margin-top:9px}.cp-skill-meter i{background:#11131817;border-radius:99px;height:3px}.cp-skill-meter i.is-active{background:var(--cp-blue)}.cp-education{background:var(--cp-paper-2)}.cp-education-grid{display:grid;gap:50px}.cp-education-grid>div:first-child svg{color:var(--cp-blue);margin-bottom:28px}.cp-education-grid>div:last-child{border-top:1px solid var(--cp-line)}.cp-education article{border-bottom:1px solid var(--cp-line);padding:25px 0}.cp-education article>span{color:var(--cp-muted);font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";text-transform:uppercase}.cp-education h3{font:600 22px Bricolage Grotesque Variable;margin:9px 0 5px}.cp-education article p{font-size:var(--cp-meta-size);margin:0}.cp-education article small{color:var(--cp-muted);display:block;font-size:var(--cp-meta-size);line-height:1.65;margin-top:12px}.cp-contact{background:var(--cp-night);color:#fff;min-height:92svh;display:flex;flex-direction:column;justify-content:center}.cp-contact>p{color:#ffffffa6;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";letter-spacing:.12em;margin:0 0 16px;text-transform:uppercase}.cp-contact h2{font:650 clamp(64px,19vw,160px)/.78 "Bricolage Grotesque Variable";letter-spacing:-.07em;margin:0}.cp-contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:48px}.cp-contact-actions a,.cp-contact-actions button{align-items:center;background:var(--cp-blue);border:1px solid var(--cp-blue);border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:var(--cp-meta-size);gap:8px;padding:14px 16px;text-decoration:none}.cp-contact-actions button{background:transparent;border-color:#ffffff3d}.cp-contact-actions a svg:last-child,.cp-contact-actions button svg:last-child{margin-left:6px}.cp-socials{border-top:1px solid rgba(255,255,255,.13);display:flex;flex-wrap:wrap;gap:17px;margin-top:64px;padding-top:20px}.cp-socials a,.cp-socials span{align-items:center;color:#ffffffa8;display:flex;font-size:var(--cp-meta-size);gap:7px;text-decoration:none}.cp-socials a:hover{color:#fff}.cp-footer{background:#090a0d;color:#fff;overflow:hidden;padding:0 0 86px}.cp-footer-ticker{border-bottom:1px solid rgba(255,255,255,.13);border-top:1px solid rgba(255,255,255,.13);display:flex;overflow:hidden;padding:22px 0;width:100%}.cp-footer-ticker>div{align-items:center;animation:cp-footer-roll 20s linear infinite;display:flex;flex-shrink:0;gap:24px;padding-right:24px;white-space:nowrap}.cp-footer-ticker span{color:#fff;font:620 clamp(42px,10vw,96px)/.85 "Bricolage Grotesque Variable";letter-spacing:-.055em}.cp-footer-ticker i{background:var(--cp-blue);border-radius:50%;height:10px;width:10px}@keyframes cp-footer-roll{to{transform:translate(-100%)}}.cp-footer-bottom{align-items:flex-start;display:flex;flex-direction:column;gap:26px;padding:32px 20px 0}.cp-footer-bottom>div{display:flex;flex-direction:column;gap:5px}.cp-footer-bottom span,.cp-footer-bottom button{color:#ffffff94;font:400 var(--cp-label-size)/1.5 "IBM Plex Mono"}.cp-footer-bottom button{background:transparent;border:0;cursor:pointer;padding:0;transition:color .25s ease}.cp-footer-bottom button:hover{color:#fff}.cp-footer-bottom .cp-footer-identity{color:#fff;font:580 15px Bricolage Grotesque Variable;text-align:left}.cp-footer-bottom .cp-footer-identity:hover{color:#fff}.cp-footer-top{align-items:center;display:flex;gap:7px}.cp-data-status{background:var(--cp-ink);border-radius:999px;bottom:18px;color:#fff;font:400 var(--cp-label-size)/1.4 "IBM Plex Mono";left:18px;padding:10px 13px;position:fixed;z-index:120}.cp-data-status.is-error{background:#b62d35}body.dark-mode .cp-root{background:var(--cp-paper)!important;color:var(--cp-ink)!important}body.dark-mode .cp-root .cp-hero,body.dark-mode .cp-root .cp-manifesto,body.dark-mode .cp-root .cp-experience{background:var(--cp-paper)!important}body.dark-mode .cp-root .cp-work,body.dark-mode .cp-root .cp-project,body.dark-mode .cp-root .cp-contact{background:var(--cp-night)!important}body.dark-mode .cp-root .cp-capabilities{background:var(--cp-blue)!important}body.dark-mode .cp-root .cp-education{background:var(--cp-paper-2)!important}body.dark-mode .cp-root .cp-footer{background:#090a0d!important}.route-loader,.route-not-found{align-items:center;background:#f2f0ea;color:#111318;display:flex;justify-content:center;min-height:100svh}.route-loader i{animation:cp-route-spin .8s linear infinite;border:2px solid rgba(17,19,24,.12);border-radius:50%;border-top-color:#315cff;height:34px;width:34px}@keyframes cp-route-spin{to{transform:rotate(360deg)}}.route-not-found{flex-direction:column;font-family:Manrope Variable,sans-serif;gap:16px}.route-not-found p{font:600 30px Bricolage Grotesque Variable,sans-serif}.route-not-found button{background:#315cff;border:0;border-radius:999px;color:#fff;cursor:pointer;padding:11px 16px}@media (min-width: 720px){.cp-root{--cp-label-size: 12px;--cp-meta-size: 14px;--cp-body-size: 17px}.cp-header{padding:22px 28px}.cp-hero-chapter{left:6vw;max-width:88vw;top:42%;width:min(1120px,88vw)}.cp-scroll-index{bottom:28px;left:6vw;width:240px}.cp-section{padding:120px 6vw}.cp-manifesto-grid,.cp-two-column-heading{gap:8vw;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.cp-manifesto-grid>div,.cp-two-column-heading>p{align-self:end}.cp-work>.cp-section-heading,.cp-work>.cp-section-label{margin-left:6vw;margin-right:6vw}.cp-section-heading>p{margin-left:50%}.cp-project{align-items:center;gap:5vw;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);padding:5vh 6vw}.cp-project-media{min-height:82vh}.cp-project-copy{align-content:center;padding:0}.cp-archive{padding:110px 6vw 40px}.cp-archive-grid button{grid-template-columns:42px 1fr minmax(180px,.45fr) auto;padding:22px 0}.cp-archive-grid small{grid-column:3;grid-row:1}.cp-archive-grid svg{grid-column:4;grid-row:1}.cp-timeline article{align-items:start;gap:22px;grid-template-columns:40px 1fr .7fr 1.35fr;padding:30px 0}.cp-timeline article>p{font-size:var(--cp-body-size)}.cp-capability-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.cp-capability-grid>.rb-animated-content:first-child{grid-column:1 / -1}.cp-capability-grid>.rb-animated-content:first-child .cp-capability-card ul{-moz-column-gap:28px;column-gap:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cp-capability-card{padding:26px}.cp-capability-card:after{left:26px}.cp-education-grid{gap:10vw;grid-template-columns:1fr 1fr}.cp-footer{padding-bottom:90px}.cp-footer-bottom{align-items:center;flex-direction:row;justify-content:space-between;padding:36px 6vw 0}}@media (min-width: 1100px){.cp-navigator{align-items:flex-start;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px 0 0 26px;bottom:auto;box-shadow:0 18px 48px #05070c3d;flex-direction:column;gap:4px;left:auto;padding:7px 19px 7px 7px;right:-14px;top:50%;transform:translate(18px,-50%);transition:opacity .3s,transform .3s,right .35s cubic-bezier(.16,1,.3,1)}.cp-navigator.is-visible{transform:translateY(-50%)}.cp-navigator:hover,.cp-navigator:focus-within{border-radius:26px;right:8px}.cp-navigator button{height:44px;width:44px}.cp-navigator button:hover,.cp-navigator button:focus-visible{transform:translate(-2px) scale(1.1)}.cp-navigator button:after{background:#111318f0;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;content:attr(data-label);font:500 10px/1 IBM Plex Mono;letter-spacing:.1em;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;right:calc(100% + 13px);text-transform:uppercase;transform:translate(8px);transition:opacity .22s ease,transform .3s cubic-bezier(.16,1,.3,1);white-space:nowrap}.cp-navigator button:hover:after,.cp-navigator button:focus-visible:after{opacity:1;transform:translate(0)}.cp-availability{margin-right:0}.cp-hero-chapter>strong{font-size:clamp(72px,7.3vw,118px)}.cp-proof-grid b{font-size:78px}}@media (max-width: 520px){.cp-hero-video{-o-object-position:50% center;object-position:50% center}.cp-hero-wash{background:linear-gradient(90deg,#f2f0eac2,#f2f0ea1f),linear-gradient(0deg,rgba(242,240,234,.48),transparent 55%)}.cp-hero{height:640svh}.cp-hero-chapter{top:38%}.cp-hero-chapter>strong{font-size:clamp(42px,12.5vw,58px)}.cp-proof-grid{grid-template-columns:1fr;width:205px}.cp-proof-grid>div{align-items:center;display:flex;gap:12px;padding:10px 12px}.cp-proof-grid b{font-size:34px;min-width:54px}.cp-project{min-height:100svh}.cp-contact h2{font-size:clamp(62px,20vw,90px)}}@media (prefers-reduced-motion: reduce){.cp-root{scroll-behavior:auto!important}.cp-footer-ticker>div{animation-duration:32s}}.cd-root{--cd-label-size: 11px;--cd-meta-size: 13px;--cd-body-size: 15px;background:#f2f0ea;color:#111318;font-family:Manrope Variable,sans-serif;min-height:100vh}.cd-root *,.cd-root *:before,.cd-root *:after{box-sizing:border-box}.cd-header{align-items:center;display:flex;justify-content:space-between;left:0;padding:14px;pointer-events:none;position:fixed;right:0;top:0;z-index:100}.cd-header button,.cd-header span{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2f0eacc;border:1px solid rgba(17,19,24,.12);border-radius:999px}.cd-header button{align-items:center;color:#111318;cursor:pointer;display:flex;font:600 var(--cd-meta-size)/1.4 "Manrope Variable";gap:8px;padding:10px 13px;pointer-events:auto;transition:background .25s ease,color .25s ease,transform .25s ease}.cd-header button:hover{background:#111318;color:#fff;transform:translateY(-2px)}.cd-header span{font:500 var(--cd-label-size)/1.4 "IBM Plex Mono";letter-spacing:.12em;padding:11px 12px}.cd-hero{background:#111318;color:#f7f7f4;min-height:100svh;padding:108px 14px 28px}.cd-hero-copy>p,.cd-story-label{font:500 var(--cd-label-size)/1.4 "IBM Plex Mono";letter-spacing:.13em;text-transform:uppercase}.cd-hero-copy>p{color:#7792ff;margin:0 0 14px}.cd-hero h1{font:640 clamp(48px,14vw,116px)/.86 "Bricolage Grotesque Variable";letter-spacing:-.065em;margin:0 0 28px;max-width:1200px}.cd-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.cd-hero-meta span{align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ffffffb3;display:flex;font:400 var(--cd-label-size)/1.4 "IBM Plex Mono";gap:7px;padding:8px 11px;text-transform:uppercase}.cd-main-media{align-items:center;aspect-ratio:16/10;background:#1d2027;border:0;border-radius:16px;cursor:zoom-in;display:flex;justify-content:center;overflow:hidden;padding:0;position:relative;width:100%}.cd-main-media:after{background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.55));content:"";top:0;right:0;bottom:0;left:0;opacity:.55;pointer-events:none;position:absolute;transition:opacity .35s ease}.cd-main-media img{height:100%;-o-object-fit:contain;object-fit:contain;transition:transform .8s cubic-bezier(.16,1,.3,1);width:100%}.cd-main-media:hover img{transform:scale(1.025)}.cd-main-media:hover:after{opacity:.85}.cd-expand-hint{align-items:center;background:#f7f7f4e6;border:1px solid rgba(255,255,255,.45);border-radius:999px;bottom:16px;color:#111318;display:flex;font-size:var(--cd-meta-size);gap:8px;left:16px;padding:10px 13px;pointer-events:none;position:absolute;transform:translateY(7px);transition:transform .35s ease;z-index:2}.cd-main-media:hover .cd-expand-hint{transform:translateY(0)}.cd-media-empty{color:#ffffff1f;font:600 18vw Bricolage Grotesque Variable}.cd-thumbnails{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.cd-thumbnails button{background:#20232a;border:1px solid transparent;border-radius:10px;cursor:pointer;flex:0 0 92px;height:64px;overflow:hidden;padding:0;position:relative;transform:translateY(0);transition:border-color .25s ease,transform .25s ease}.cd-thumbnails button:hover{transform:translateY(-3px)}.cd-thumbnails button.is-active{border-color:#7792ff}.cd-thumbnails img{height:100%;-o-object-fit:cover;object-fit:cover;opacity:.72;transition:opacity .25s ease,transform .4s ease;width:100%}.cd-thumbnails button:hover img,.cd-thumbnails button.is-active img{opacity:1;transform:scale(1.05)}.cd-thumbnails span{background:#000000b3;bottom:4px;color:#fff;font:400 var(--cd-label-size)/1.4 "IBM Plex Mono";padding:4px 6px;position:absolute;right:4px}.cd-story,.cd-stack,.cd-gallery,.cd-next{padding:88px 18px}.cd-story-label{align-items:center;display:flex;gap:9px;margin-bottom:44px}.cd-story-label span{color:#315cff}.cd-story-label:after{background:#11131824;content:"";flex:1;height:1px}.cd-story-grid{display:grid;gap:38px}.cd-story h2,.cd-stack h2{font:620 clamp(42px,12vw,88px)/.92 "Bricolage Grotesque Variable";letter-spacing:-.055em;margin:0}.cd-story-grid>div>p{color:#494d54;font-size:var(--cd-body-size);line-height:1.8;margin:0;white-space:pre-line}.cd-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.cd-actions a{align-items:center;background:#315cff;border:1px solid #315cff;border-radius:999px;color:#fff;display:flex;font-size:var(--cd-meta-size);gap:8px;padding:12px 14px;text-decoration:none;transition:box-shadow .3s ease,transform .3s ease}.cd-actions a:hover{box-shadow:0 12px 30px #315cff40;transform:translateY(-3px)}.cd-actions .cd-action-ghost{background:transparent;border-color:#11131833;color:#111318}.cd-actions .cd-action-sale{background:#147446;border-color:#147446}.cd-stack{background:#315cff;color:#fff}.cd-stack .cd-story-label:after{background:#ffffff40}.cd-stack .cd-story-label span{color:#fff;opacity:.7}.cd-stack-grid{border-top:1px solid rgba(255,255,255,.25);margin-top:50px}.cd-stack-item{align-items:center;border-bottom:1px solid rgba(255,255,255,.25);display:grid;gap:15px;grid-template-columns:35px 1fr auto;padding:21px 12px;transition:background .3s ease,padding .3s ease}.cd-stack-item:hover{background:#ffffff14;padding-left:20px}.cd-stack-item>svg{opacity:0;transform:translate(-8px,8px);transition:opacity .3s ease,transform .3s ease}.cd-stack-item:hover>svg{opacity:1;transform:translate(0)}.cd-stack-grid span{font:400 var(--cd-label-size)/1.4 "IBM Plex Mono";opacity:.72}.cd-stack-grid strong{font:580 20px Bricolage Grotesque Variable}.cd-gallery{background:#e9e6de}.cd-gallery>div:last-child{display:grid;gap:12px}.cd-gallery-item{background:#d7d4cd;border:0;border-radius:12px;cursor:zoom-in;display:block;overflow:hidden;padding:0;position:relative;width:100%}.cd-gallery-item:after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62));content:"";top:0;right:0;bottom:0;left:0;opacity:.35;pointer-events:none;position:absolute;transition:opacity .35s ease}.cd-gallery-item img{background:#d7d4cd;display:block;height:auto;transition:transform .8s cubic-bezier(.16,1,.3,1);width:100%}.cd-gallery-item>span{align-items:center;bottom:14px;color:#fff;display:flex;font-size:var(--cd-meta-size);gap:8px;left:14px;position:absolute;transform:translateY(6px);transition:transform .35s ease;z-index:2}.cd-gallery-item:hover img{transform:scale(1.035)}.cd-gallery-item:hover:after{opacity:.75}.cd-gallery-item:hover>span{transform:translateY(0)}.cd-next{align-items:flex-start;background:#111318;color:#fff;display:flex;flex-direction:column;min-height:72svh;justify-content:center}.cd-next>p{color:#ffffffa6;font:400 var(--cd-label-size)/1.4 "IBM Plex Mono";letter-spacing:.12em;text-transform:uppercase}.cd-next button{align-items:center;background:transparent;border:0;color:#fff;cursor:pointer;display:flex;font:620 clamp(42px,12vw,90px)/.9 "Bricolage Grotesque Variable";gap:16px;letter-spacing:-.05em;margin:18px 0 0;padding:0;text-align:left}.cd-lightbox{background:#050608f5;color:#fff;top:0;right:0;bottom:0;left:0;padding:76px 16px 62px;position:fixed;z-index:1000}.cd-lightbox:before{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.cd-lightbox-topbar{align-items:center;display:flex;justify-content:space-between;left:16px;position:absolute;right:16px;top:14px;z-index:3}.cd-lightbox-topbar>span,.cd-lightbox-help{color:#ffffffa6;font:500 var(--cd-label-size)/1.4 "IBM Plex Mono";letter-spacing:.08em;text-transform:uppercase}.cd-lightbox-topbar>div{display:flex;gap:6px}.cd-lightbox-topbar button,.cd-lightbox-nav{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#fff;cursor:pointer;display:flex;height:42px;justify-content:center;transition:background .25s ease,transform .25s ease;width:42px}.cd-lightbox-topbar button:hover,.cd-lightbox-nav:hover{background:#fff;color:#111318;transform:scale(1.06)}.cd-lightbox-topbar button:disabled{cursor:not-allowed;opacity:.3;transform:none}.cd-lightbox-stage{align-items:center;display:flex;height:100%;justify-content:center;overflow:auto;overscroll-behavior:contain;position:relative;scrollbar-color:rgba(255,255,255,.3) transparent;width:100%}.cd-lightbox-stage.is-zoomed{align-items:flex-start;cursor:zoom-out;justify-content:flex-start}.cd-lightbox-stage img{display:block;height:auto;margin:auto;max-height:100%;max-width:none;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cd-lightbox-stage.is-zoomed img{max-height:none}.cd-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4}.cd-lightbox-nav:hover{transform:translateY(-50%) scale(1.06)}.cd-lightbox-prev{left:14px}.cd-lightbox-next{right:14px}.cd-lightbox-help{bottom:18px;left:50%;margin:0;position:absolute;text-align:center;transform:translate(-50%);width:calc(100% - 32px)}body.dark-mode .cd-root,body.dark-mode .cd-root section{background:#f2f0ea!important;color:#111318!important}body.dark-mode .cd-root .cd-hero,body.dark-mode .cd-root .cd-next{background:#111318!important;color:#fff!important}body.dark-mode .cd-root .cd-stack{background:#315cff!important;color:#fff!important}body.dark-mode .cd-root .cd-gallery{background:#e9e6de!important}@media (min-width:760px){.cd-root{--cd-label-size: 12px;--cd-meta-size: 14px;--cd-body-size: 17px}.cd-header{padding:22px 28px}.cd-hero{padding:140px 6vw 6vw}.cd-main-media{border-radius:24px}.cd-story,.cd-stack,.cd-gallery,.cd-next{padding:120px 6vw}.cd-story-grid{gap:10vw;grid-template-columns:1fr 1fr}.cd-gallery>div:last-child{gap:20px;grid-template-columns:1fr 1fr}.cd-gallery>div:last-child>.rb-animated-content:nth-child(3n+1){grid-column:1 / -1}.cd-stack{align-items:start;display:grid;grid-template-columns:40% 60%}.cd-stack>.cd-story-label{grid-column:1 / -1}.cd-stack>.rb-animated-content{grid-column:1;grid-row:2}.cd-stack h2{font-size:clamp(42px,5vw,88px)}.cd-stack-grid{grid-column:2;grid-row:2;margin:0}.cd-lightbox{padding:78px 6vw 62px}.cd-lightbox-topbar{left:28px;right:28px;top:20px}.cd-lightbox-prev{left:28px}.cd-lightbox-next{right:28px}}@media (max-width:560px){.cd-header>span{display:none}.cd-lightbox-help{font-size:9px}.cd-lightbox-nav{top:auto;bottom:14px}.cd-lightbox-prev{left:16px}.cd-lightbox-next{right:16px}}@media (prefers-reduced-motion:reduce){.cd-root{scroll-behavior:auto!important}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background:#f2f0ea;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}html,body,#root{min-height:100%}body{min-height:100dvh;min-height:100svh;overscroll-behavior-x:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:root{--white: #ffffff;--off-white: #fafaf9;--cream: #f5f3ef;--stone-100: #f0ede8;--stone-200: #e5e0d8;--stone-300: #c8c0b4;--stone-400: #a09688;--stone-500: #7a6e62;--stone-600: #5a5048;--ink: #1a1714;--ink-light: #2e2a26;--accent: #c17f4a;--accent-light: #d4975e;--accent-pale: #f0e4d4;--blue-soft: #4a6fa5;--green-soft: #5a8a6a;--shadow-sm: 0 1px 3px rgba(26,23,20,.06);--shadow-md: 0 4px 16px rgba(26,23,20,.08);--shadow-lg: 0 12px 40px rgba(26,23,20,.12);--shadow-xl: 0 24px 64px rgba(26,23,20,.14);--bg-page: #fafaf9;--bg-alt: #ffffff;--bg-cream: #f5f3ef;--bg-card: #ffffff;--text-primary: #1a1714;--text-secondary: rgba(26,23,20,.5);--text-muted: rgba(26,23,20,.35);--text-faint: rgba(26,23,20,.25);--border-subtle: rgba(26,23,20,.05);--border-light: rgba(26,23,20,.08);--c-accent-04: rgba(193,127,74,.04);--c-accent-06: rgba(193,127,74,.06);--c-accent-08: rgba(193,127,74,.08);--c-accent-1: rgba(193,127,74,.1);--c-accent-15: rgba(193,127,74,.15);--c-accent-2: rgba(193,127,74,.2);--c-accent-25: rgba(193,127,74,.25);--c-accent-3: rgba(193,127,74,.3);--c-accent-4: rgba(193,127,74,.4);--c-accent-5: rgba(193,127,74,.5);--c-accent-6: rgba(193,127,74,.6);--c-accent-7: rgba(193,127,74,.7);--c-accent-8: rgba(193,127,74,.8);--c-accent-9: rgba(193,127,74,.9);--c-border-mid: rgba(26,23,20,.12);--c-ink-05: rgba(26,23,20,.05);--c-ink-06: rgba(26,23,20,.06);--c-ink-10: rgba(26,23,20,.1);--c-ink-25: rgba(26,23,20,.25);--c-ink-35: rgba(26,23,20,.35);--c-ink-40: rgba(26,23,20,.4);--c-ink-55: rgba(26,23,20,.55);--c-ink-70: rgba(26,23,20,.7);--surface-glass: rgba(255,255,255,.95);--field-bg: rgba(26,23,20,.04);--field-border: rgba(26,23,20,.05);--field-icon: rgba(26,23,20,.25)}@media (prefers-color-scheme: dark){html:not([data-theme=light]){--white: #141210;--off-white: #1a1714;--cream: #201d19;--stone-100: #252118;--stone-200: #2e2922;--stone-300: #4a4238;--stone-400: #6b5f52;--stone-500: #8c7d70;--stone-600: #b0a093;--ink: #f0ece6;--ink-light: #d4cdc4;--accent: #c9894e;--accent-pale: rgba(193,127,74,.18);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 12px 40px rgba(0,0,0,.45);--shadow-xl: 0 24px 64px rgba(0,0,0,.5);--bg-page: #1a1714;--bg-alt: #141210;--bg-cream: #141210;--bg-card: #201d19;--text-primary: #f0ece6;--text-secondary: rgba(240,236,230,.55);--text-muted: rgba(240,236,230,.4);--text-faint: rgba(240,236,230,.25);--border-subtle: rgba(240,236,230,.08);--border-light: rgba(240,236,230,.1);--c-accent-04: rgba(193,127,74,.04);--c-accent-06: rgba(193,127,74,.06);--c-accent-08: rgba(193,127,74,.1);--c-accent-1: rgba(193,127,74,.12);--c-accent-15: rgba(193,127,74,.18);--c-accent-2: rgba(193,127,74,.22);--c-accent-25: rgba(193,127,74,.28);--c-accent-3: rgba(193,127,74,.35);--c-accent-4: rgba(193,127,74,.45);--c-accent-5: rgba(193,127,74,.55);--c-accent-6: rgba(193,127,74,.65);--c-accent-7: rgba(193,127,74,.75);--c-accent-8: rgba(193,127,74,.85);--c-accent-9: rgba(193,127,74,.95);--c-border-mid: rgba(240,236,230,.12);--c-ink-05: rgba(240,236,230,.05);--c-ink-06: rgba(240,236,230,.06);--c-ink-10: rgba(240,236,230,.1);--c-ink-25: rgba(240,236,230,.25);--c-ink-35: rgba(240,236,230,.35);--c-ink-40: rgba(0,0,0,.55);--c-ink-55: rgba(240,236,230,.55);--c-ink-70: rgba(240,236,230,.7);--surface-glass: rgba(20,18,16,.95);--field-bg: rgba(240,236,230,.05);--field-border: rgba(240,236,230,.1);--field-icon: rgba(240,236,230,.35)}}html[data-theme=dark]{--white: #141210;--off-white: #1a1714;--cream: #201d19;--stone-100: #252118;--stone-200: #2e2922;--stone-300: #4a4238;--stone-400: #6b5f52;--stone-500: #8c7d70;--stone-600: #b0a093;--ink: #f0ece6;--ink-light: #d4cdc4;--accent: #c9894e;--accent-pale: rgba(193,127,74,.18);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 12px 40px rgba(0,0,0,.45);--shadow-xl: 0 24px 64px rgba(0,0,0,.5);--bg-page: #1a1714;--bg-alt: #141210;--bg-cream: #141210;--bg-card: #201d19;--text-primary: #f0ece6;--text-secondary: rgba(240,236,230,.55);--text-muted: rgba(240,236,230,.4);--text-faint: rgba(240,236,230,.25);--border-subtle: rgba(240,236,230,.08);--border-light: rgba(240,236,230,.1);--c-accent-04: rgba(193,127,74,.04);--c-accent-06: rgba(193,127,74,.06);--c-accent-08: rgba(193,127,74,.1);--c-accent-1: rgba(193,127,74,.12);--c-accent-15: rgba(193,127,74,.18);--c-accent-2: rgba(193,127,74,.22);--c-accent-25: rgba(193,127,74,.28);--c-accent-3: rgba(193,127,74,.35);--c-accent-4: rgba(193,127,74,.45);--c-accent-5: rgba(193,127,74,.55);--c-accent-6: rgba(193,127,74,.65);--c-accent-7: rgba(193,127,74,.75);--c-accent-8: rgba(193,127,74,.85);--c-accent-9: rgba(193,127,74,.95);--c-border-mid: rgba(240,236,230,.12);--c-ink-05: rgba(240,236,230,.05);--c-ink-06: rgba(240,236,230,.06);--c-ink-10: rgba(240,236,230,.1);--c-ink-25: rgba(240,236,230,.25);--c-ink-35: rgba(240,236,230,.35);--c-ink-40: rgba(0,0,0,.55);--c-ink-55: rgba(240,236,230,.55);--c-ink-70: rgba(240,236,230,.7);--surface-glass: rgba(20,18,16,.95);--field-bg: rgba(240,236,230,.05);--field-border: rgba(240,236,230,.1);--field-icon: rgba(240,236,230,.35)}body{background:var(--off-white);color:var(--ink);font-family:Manrope Variable,Manrope,system-ui,sans-serif;font-weight:400;overflow-x:hidden;line-height:1.6;transition:background .3s ease,color .3s ease}body.is-pwa{-moz-user-select:none;user-select:none;-webkit-user-select:none}body.is-pwa input,body.is-pwa textarea,body.is-pwa [contenteditable=true]{-moz-user-select:text;user-select:text;-webkit-user-select:text}html.is-pwa,html.is-pwa body{overscroll-behavior-y:contain}html.is-ios-pwa body{min-height:-webkit-fill-available}@supports (padding: max(0px)){body.is-pwa{padding-top:max(env(safe-area-inset-top),0px);padding-right:max(env(safe-area-inset-right),0px);padding-bottom:max(env(safe-area-inset-bottom),0px);padding-left:max(env(safe-area-inset-left),0px)}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--stone-100)}::-webkit-scrollbar-thumb{background:var(--stone-300);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-moz-selection{background:var(--accent-pale);color:var(--ink)}::selection{background:var(--accent-pale);color:var(--ink)}html[data-theme=dark] .dm-section-page,html:not([data-theme=light]) .dm-section-page{background:#1a1714!important}html[data-theme=dark] .dm-section-alt,html:not([data-theme=light]) .dm-section-alt{background:#141210!important}html[data-theme=dark] .dm-section-cream,html:not([data-theme=light]) .dm-section-cream{background:#141210!important}html[data-theme=dark] .dm-card,html:not([data-theme=light]) .dm-card{background:#201d19!important;border-color:#f0ece61a!important}html[data-theme=dark] .dm-text-ink,html:not([data-theme=light]) .dm-text-ink{color:#f0ece6!important}html[data-theme=dark] .dm-text-muted,html:not([data-theme=light]) .dm-text-muted{color:#f0ece68c!important}html[data-theme=dark] .dm-border,html:not([data-theme=light]) .dm-border{border-color:#f0ece61a!important}body.dark-mode{background:#1a1714!important;color:#f0ece6!important}body.dark-mode section{background:#1a1714!important}body.dark-mode footer{background:#141210!important;border-top-color:#f0ece614!important}body.dark-mode>div,body.dark-mode #root>div{background:#1a1714}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.reveal-stagger.is-visible>*:nth-child(1){opacity:1;transform:none;transition-delay:.05s}.reveal-stagger.is-visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.1s}.reveal-stagger.is-visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.15s}.reveal-stagger.is-visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.2s}.reveal-stagger.is-visible>*:nth-child(5){opacity:1;transform:none;transition-delay:.25s}.reveal-stagger.is-visible>*:nth-child(n+6){opacity:1;transform:none;transition-delay:.3s}@media (max-width:640px){.pp-back-btn{font-size:11px!important;padding:7px 11px!important}.pp-footer-links{flex-direction:column;align-items:center;gap:10px!important}.pp-footer-link{width:100%;max-width:280px;justify-content:center}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}
