.cavani_tm_header .menu ul li{line-height:38px}.cavani_tm_header .menu ul li a{position:relative}.cavani_tm_header .menu ul li a:after{left:0;height:0;background:#333;content:"";position:absolute;width:0;height:100%;transition:all .6s ease .3s;z-index:-1}.cavani_tm_header .menu ul li.active a{left:0;height:0;background:#333;height:100%;z-index:100;color:#fff}.cavani_tm_header .menu ul li a:hover:after,.cavani_tm_header .menu ul li.active a:after{width:100%}.cd-headline.clip .cd-words-wrapper:after{display:none}.circular_progress_bar li{display:flex;justify-content:space-between;align-items:center}.circular_progress_bar li>div{width:30%}.circular_progress_bar.list_inner{width:100%;position:inherit;text-align:center}@keyframes modal-video{0%{opacity:0}to{opacity:1}}@keyframes modal-video-inner{0%{transform:translateY(100px)}to{transform:translate(0)}}.modal-video{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1000000;cursor:pointer;opacity:1;animation-timing-function:ease-out;animation-duration:.3s;animation-name:modal-video;transition:opacity .3s ease-out}.modal-video-effect-exit{opacity:0}.modal-video-effect-exit .modal-video-movie-wrap{transform:translateY(100px)}.modal-video-body{max-width:960px;margin:0 auto;padding:0 10px;box-sizing:border-box}.modal-video-body,.modal-video-inner{width:100%;height:100%;display:flex;justify-content:center}.modal-video-inner{align-items:center}@media (orientation:landscape){.modal-video-inner{padding:10px 60px;box-sizing:border-box}}.modal-video-movie-wrap{width:100%;height:0;position:relative;padding-bottom:56.25%;background-color:#333;animation-timing-function:ease-out;animation-duration:.3s;animation-name:modal-video-inner;transform:translate(0);transition:transform .3s ease-out}.modal-video-movie-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%}.modal-video-close-btn{position:absolute;z-index:2;top:-45px;right:0;display:inline-block;width:35px;height:35px;overflow:hidden;border:none;background:rgba(0,0,0,0)}@media (orientation:landscape){.modal-video-close-btn{top:0;right:-45px}}.modal-video-close-btn:before{transform:rotate(45deg)}.modal-video-close-btn:after{transform:rotate(-45deg)}.modal-video-close-btn:after,.modal-video-close-btn:before{content:"";position:absolute;height:2px;width:100%;top:50%;left:0;background:#fff;border-radius:5px;margin-top:-6px}img.mfp-img{box-shadow:0 0 8px rgb(0 0 0/60%);position:absolute;max-height:392px;padding:0!important;top:50%;left:50%;transform:translate(-50%,-50%)}.mfp-img-container .mfp-content{max-width:400px!important}.mfp-img-container .mfp-close{top:-110px;right:-24px}.cavani_tm_mainpart .author_image .jquery-ripples{width:100%;height:100%;position:relative;background-repeat:no-repeat;background-size:cover;background-position:50%;background-image:url(/_next/static/media/chrisBW.0faed899.jpeg)}:root{--portfolio-paper:#f6f7f5;--portfolio-ink:#171b1d;--portfolio-quiet:#536064;--portfolio-rule:#d7dedf;--portfolio-teal:#246775;--portfolio-teal-hover:#174b55;--portfolio-accent-contrast:#ffffff;--portfolio-media:#e8eeee;--portfolio-portrait-ground:#9b9b9b;--portfolio-monogram:#e9eeed;--portfolio-menu-shadow:rgba(23,27,29,.08);--portfolio-scrollbar:#9aa8aa;--portfolio-scrollbar-hover:#718184;--portfolio-header-height:76px}html:has(.portfolio-site){color-scheme:light;scroll-behavior:smooth;scrollbar-color:var(--portfolio-scrollbar) var(--portfolio-paper)}body:has(.portfolio-site){margin:0;background:var(--portfolio-paper)}html:has(.portfolio-site)::-webkit-scrollbar{width:12px}html:has(.portfolio-site)::-webkit-scrollbar-track{background:var(--portfolio-paper)}html:has(.portfolio-site)::-webkit-scrollbar-thumb{background:var(--portfolio-scrollbar);border:3px solid var(--portfolio-paper);border-radius:999px}html:has(.portfolio-site)::-webkit-scrollbar-thumb:hover{background:var(--portfolio-scrollbar-hover)}html:has(.portfolio-site)::-webkit-scrollbar-thumb:active{background:var(--portfolio-teal)}.portfolio-site,.portfolio-site *{box-sizing:border-box}.portfolio-site{min-height:100vh;background:var(--portfolio-paper);color:var(--portfolio-ink);font-family:Source Sans\ 3,sans-serif;font-size:18px;line-height:1.5}.portfolio-site a{color:inherit;text-decoration:none}.portfolio-site button{font:inherit;cursor:pointer}.portfolio-site img{display:block;max-width:100%}.portfolio-site :focus-visible{outline:3px solid var(--portfolio-teal);outline-offset:4px}.portfolio-site .page-width{width:min(100% - 112px,1264px);margin-inline:auto}.skip-link{position:absolute;z-index:40;top:-100px;left:0;padding:10px 14px;background:var(--portfolio-paper);border:2px solid var(--portfolio-teal);color:var(--portfolio-teal)!important;font-family:Archivo,sans-serif;font-size:16px;font-weight:700}.skip-link:focus{top:10px}.site-header{position:sticky;z-index:30;top:0;height:var(--portfolio-header-height);display:flex;align-items:center;justify-content:space-between;background:var(--portfolio-paper);border-bottom:1px solid var(--portfolio-rule)}.site-mark{position:relative;color:var(--portfolio-teal)!important;font-family:Archivo,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.08em;line-height:1}.site-mark:after,.site-mark:before{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}.site-mark:before{color:var(--portfolio-ink)}.site-mark:after{color:var(--portfolio-teal)}.site-mark:focus-visible:before,.site-mark:hover:before{animation:mark-glitch-a .34s step-end}.site-mark:focus-visible:after,.site-mark:hover:after{animation:mark-glitch-b .34s step-end}.scroll-progress{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--portfolio-teal);transform:scaleX(0);transform-origin:left center;pointer-events:none}.header-actions{gap:28px}.header-actions,.site-nav{display:flex;align-items:center}.site-nav{gap:42px}.site-nav a{position:relative;font-family:Archivo,sans-serif;font-size:16px;font-weight:600;transition:color .2s ease}.site-nav a:after{content:"";position:absolute;right:0;bottom:-9px;left:0;height:2px;background:var(--portfolio-teal);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease}.site-nav a[aria-current=location]{color:var(--portfolio-teal)}.site-nav a[aria-current=location]:after{transform:scaleX(1)}.profile-links a:hover,.site-footer a:hover,.site-nav a:hover,.theme-toggle{color:var(--portfolio-teal)}.theme-toggle{min-width:52px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 2px;background:transparent;border:0;border-radius:999px}.theme-toggle-track{position:relative;width:48px;height:28px;flex:0 0 auto;padding:3px;border:1px solid var(--portfolio-rule);border-radius:999px;background:var(--portfolio-media);transition:background .2s ease,border-color .2s ease}.theme-toggle:hover .theme-toggle-track{border-color:var(--portfolio-teal)}.theme-toggle-thumb{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:var(--portfolio-teal);background:var(--portfolio-paper);box-shadow:0 1px 4px var(--portfolio-menu-shadow);transition:color .2s ease,transform .2s ease,background .2s ease}.theme-icon{width:13px;height:13px;grid-area:1/1;transition:opacity .15s ease,transform .2s ease}.theme-icon-moon{opacity:0;transform:scale(.7) rotate(-12deg)}.theme-toggle[aria-checked=true] .theme-toggle-track{border-color:var(--portfolio-teal);background:var(--portfolio-teal)}.theme-toggle[aria-checked=true] .theme-toggle-thumb{background:var(--portfolio-accent-contrast);transform:translateX(20px)}.theme-toggle[aria-checked=true] .theme-icon-sun{opacity:0;transform:scale(.7) rotate(12deg)}.theme-toggle[aria-checked=true] .theme-icon-moon{opacity:1;transform:scale(1) rotate(0)}.menu-toggle{display:none}.hero{min-height:555px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(440px,1fr);align-items:center;gap:32px;padding-block:38px 48px}.hero-copy{position:relative;z-index:1;min-width:0;container-type:inline-size}.hero h1{margin:0 0 8px;font-family:Archivo,sans-serif;font-size:clamp(56px,18.5cqw,124px);font-weight:800;letter-spacing:-.075em;line-height:.87}.hero-positioning{max-width:34rem;margin-top:30px;padding:3px 0 5px 24px;border-left:4px solid var(--portfolio-teal)}.hero-intro,.hero-role{margin:0;font-family:Archivo,sans-serif}.hero-role{color:var(--portfolio-ink);font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.025em;line-height:1.2}.hero-intro{max-width:31ch;margin-top:10px;color:var(--portfolio-quiet);font-size:clamp(19px,1.7vw,23px);line-height:1.4}.hero-location{display:inline-flex;align-items:center;gap:10px;margin:20px 0 0;color:var(--portfolio-teal);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.hero-location:before{content:"";width:7px;height:7px;flex:0 0 auto;background:var(--portfolio-teal);transform:rotate(45deg)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:32px}.primary-action,.secondary-action{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;border:1px solid var(--portfolio-teal);font-family:Archivo,sans-serif;font-size:16px;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}.primary-action{background:var(--portfolio-teal);color:var(--portfolio-accent-contrast)!important}.primary-action:hover{background:var(--portfolio-teal-hover);transform:translateY(-2px)}.primary-action:active,.secondary-action:active{transform:translateY(1px) scale(.99)}.secondary-action{color:var(--portfolio-teal)!important}.secondary-action:hover{background:var(--portfolio-media)}.hero-portrait{position:relative;width:100%;max-width:500px;justify-self:end;aspect-ratio:1;overflow:hidden;background:var(--portfolio-portrait-ground)}.hero-portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portrait-glitch-layer{position:absolute;inset:0;pointer-events:none;background:url(/assets/img/about/christopher-nieves-headshot.jpeg) 50%/cover no-repeat;opacity:0;will-change:clip-path,transform,opacity}.portrait-glitch-layer-a{animation:portrait-glitch-a 5s linear infinite}.portrait-glitch-layer-b{animation:portrait-glitch-b 5s linear infinite}.portrait-glitch-layer-c{animation:portrait-glitch-c 5s linear infinite}@keyframes portrait-glitch-a{0%,16%,3%,to{opacity:0;transform:translateX(0);clip-path:inset(0)}4%,6%{opacity:.9;transform:translateX(9px);clip-path:inset(20% 0 69% 0)}7%,9%{opacity:.9;transform:translateX(-6px);clip-path:inset(49% 0 41% 0)}10%,12%{opacity:.85;transform:translateX(7px);clip-path:inset(76% 0 15% 0)}}@keyframes portrait-glitch-b{0%,18%,4%,to{opacity:0;transform:translateX(0);clip-path:inset(0)}5%,8%{opacity:.8;transform:translateX(-10px);clip-path:inset(9% 0 84% 0)}12%,9%{opacity:.8;transform:translateX(5px);clip-path:inset(59% 0 32% 0)}13%,15%{opacity:.75;transform:translateX(-5px);clip-path:inset(31% 0 61% 0)}}@keyframes portrait-glitch-c{0%,19%,8%,to{opacity:0;transform:translateY(0);clip-path:inset(0)}12%,9%{opacity:.45;transform:translateY(-5px);clip-path:inset(36% 0 57% 0)}13%,16%{opacity:.5;transform:translateY(4px);clip-path:inset(66% 0 26% 0)}}.contact-feature,.journey-section,.work-section{position:relative}.contact-feature:after,.journey-section:after,.work-section:after{content:"";position:absolute;z-index:1;top:-1px;right:0;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--portfolio-teal),transparent) -160px 0 /160px 2px no-repeat;pointer-events:none}.work-section{padding-top:18px;border-top:1px solid var(--portfolio-rule);scroll-margin-top:calc(var(--portfolio-header-height) + 24px)}.closing-sections h2,.work-section h2{margin:0;font-family:Archivo,sans-serif;font-size:clamp(38px,3.3vw,50px);font-weight:800;letter-spacing:-.055em;line-height:1.1}.project-list{margin-top:22px}.project-empty{max-width:34rem;margin:0;color:var(--portfolio-quiet);font-size:clamp(20px,2vw,28px);line-height:1.4}.project-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);align-items:center;gap:28px;padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--portfolio-rule)}.project-row-reverse{grid-template-columns:minmax(270px,.85fr) minmax(0,1.55fr)}.project-row-reverse .project-media{order:2}.project-row-reverse .project-copy{order:1}.project-media{min-width:0;background:var(--portfolio-media);border:1px solid var(--portfolio-rule);overflow:hidden;view-transition-name:var(--project-transition-name)}.project-media img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain;transition:transform .45s cubic-bezier(.2,.75,.25,1)}.project-row:focus-within .project-media img{transform:scale(1.015)}.project-copy{align-self:center}.project-copy h3{margin:0 0 18px;font-family:Archivo,sans-serif;font-size:clamp(38px,3.2vw,48px);font-weight:800;letter-spacing:-.055em;line-height:1.05}.project-copy p{margin:0;max-width:36ch;color:var(--portfolio-quiet);font-size:clamp(20px,1.8vw,25px);line-height:1.35}.project-tech{display:flex;flex-wrap:wrap;gap:8px 16px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--portfolio-rule);list-style:none;color:var(--portfolio-quiet);font-family:IBM Plex Mono,monospace;font-size:13px}.text-action{display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-top:24px;padding:0 0 3px;color:var(--portfolio-teal);background:none;border:0;border-bottom:2px solid;font-family:Archivo,sans-serif;font-size:17px;font-weight:700}.contact-link:active,.journey-company:active,.profile-links a:active,.site-footer a:active,.text-action:active{transform:translateY(1px)}.contact-link:hover svg,.profile-links a:hover svg,.text-action:hover svg{transform:translateX(4px)}.contact-link svg,.profile-links svg,.text-action svg{transition:transform .2s ease}.about-feature{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding-block:96px 100px;scroll-margin-top:calc(var(--portfolio-header-height) + 24px)}.about-story{position:relative;isolation:isolate}.about-story:before{content:"CN";position:absolute;z-index:-1;top:-85px;left:-24px;color:var(--portfolio-monogram);font-family:Archivo,sans-serif;font-size:clamp(200px,26vw,370px);font-weight:800;letter-spacing:-.13em;line-height:1;pointer-events:none}.about-feature h2,.contact-feature h2{margin:0;font-family:Archivo,sans-serif;font-size:clamp(54px,6vw,82px);font-weight:800;letter-spacing:-.07em;line-height:.96}.about-story p{position:relative;max-width:29ch;margin:34px 0 0;font-size:clamp(23px,2.2vw,30px);line-height:1.32}.about-story p+p{margin-top:18px;color:var(--portfolio-quiet);font-size:19px;line-height:1.45}.about-details{align-self:center}.about-list h3{color:var(--portfolio-quiet);font-family:Archivo,sans-serif;font-size:16px;font-weight:500}.about-list{padding:28px 0 0}.about-location{padding-top:0}.about-list h3{margin:0 0 16px}.about-list ul{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;list-style:none}.about-list p,.about-list ul{margin:0;font-family:Archivo,sans-serif;font-size:18px;font-weight:600}.about-interests p{max-width:44ch;color:var(--portfolio-quiet);font-family:Source Sans\ 3,sans-serif;font-weight:400;line-height:1.5}.about-list+.about-list{margin-top:26px;border-top:1px solid var(--portfolio-rule)}.skills-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}.skills-group h4{margin:0 0 9px;color:var(--portfolio-teal);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.skills-group ul{align-items:baseline;gap:6px 0;font-size:16px;line-height:1.35}.skills-group li{display:inline-flex;align-items:center;white-space:nowrap}.skills-group li:not(:last-child):after{content:"•";margin:0 10px;color:var(--portfolio-teal);font-size:.8em}.journey-section{padding-block:76px 96px;border-top:1px solid var(--portfolio-rule);scroll-margin-top:calc(var(--portfolio-header-height) + 24px)}.journey-heading{margin-bottom:56px}.journey-kicker{margin:0;color:var(--portfolio-teal);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.journey-heading h2{margin:16px 0 0;font-family:Archivo,sans-serif;font-size:clamp(46px,5vw,68px);font-weight:800;letter-spacing:-.065em;line-height:1.02}.journey-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,8vw,120px)}.journey-column h3{margin:0 0 28px;padding-bottom:15px;border-bottom:1px solid var(--portfolio-rule);color:var(--portfolio-quiet);font-family:Archivo,sans-serif;font-size:18px;font-weight:600}.journey-list{position:relative;margin:0;padding:0 0 0 28px;list-style:none}.journey-list:after,.journey-list:before{content:"";position:absolute;top:9px;bottom:9px;left:5px;width:1px}.journey-list:before{background:var(--portfolio-rule)}.journey-list:after{background:var(--portfolio-teal);transform:scaleY(0);transform-origin:top center}.journey-list>li{position:relative;padding:0 0 40px}.journey-list>li:last-child{padding-bottom:0}.journey-list>li:before{content:"";position:absolute;top:7px;left:-28px;width:11px;height:11px;border:2px solid var(--portfolio-teal);border-radius:50%;background:var(--portfolio-paper)}.journey-role-summary{position:relative;z-index:2}.journey-time{display:block;margin-bottom:10px;color:var(--portfolio-teal);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.journey-list h4{margin:0;font-size:clamp(23px,2.4vw,32px);letter-spacing:-.04em;line-height:1.15}.journey-company,.journey-list h4{font-family:Archivo,sans-serif;font-weight:700}.journey-company{display:inline-flex;align-items:center;gap:5px;min-height:36px;margin-top:5px;color:var(--portfolio-teal)!important;font-size:18px}.journey-company:hover{text-decoration:underline;text-underline-offset:4px}.journey-list p{max-width:32ch;margin:9px 0 0;color:var(--portfolio-quiet);font-size:18px;line-height:1.4}.journey-highlights{max-width:43ch;margin:14px 0 0;padding-left:20px;color:var(--portfolio-quiet);font-size:17px;line-height:1.45}.journey-highlights li+li{margin-top:10px}.contact-feature{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:72px;padding-block:45px 75px;border-top:1px solid var(--portfolio-rule);scroll-margin-top:calc(var(--portfolio-header-height) + 24px)}.contact-feature h2{font-size:clamp(48px,5vw,68px)}.contact-feature p{margin:16px 0 0;color:var(--portfolio-quiet);font-size:20px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.profile-links{display:flex;flex-wrap:wrap;gap:26px}.contact-link,.profile-links a{display:inline-flex;align-items:center;gap:8px;color:var(--portfolio-teal)!important;font-family:Archivo,sans-serif;font-size:17px;font-weight:700}.contact-link{font-size:clamp(20px,2vw,28px);overflow-wrap:anywhere}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px 30px;border-top:1px solid var(--portfolio-rule);color:var(--portfolio-quiet);font-size:15px}.site-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--portfolio-ink)}@media (max-width:900px){.portfolio-site .page-width{width:min(100% - 48px,1264px)}.hero{min-height:450px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.hero h1{font-size:clamp(60px,8vw,90px)}.hero-portrait{max-width:360px}.about-feature{gap:36px}.project-row,.project-row-reverse{grid-template-columns:1.25fr .75fr;gap:24px}.project-row-reverse{grid-template-columns:.75fr 1.25fr}}@media (min-width:901px){.journey-role-summary{position:sticky;top:var(--portfolio-header-height);margin-top:-24px;padding:24px 0 20px;background:linear-gradient(to bottom,var(--portfolio-paper) 0 calc(100% - 14px),transparent 100%)}}@media (max-width:700px){:root{--portfolio-header-height:70px}.portfolio-site .page-width{width:min(100% - 40px,1264px)}.site-header{height:var(--portfolio-header-height)}.site-mark{font-size:29px}.header-actions{gap:8px}.theme-toggle{padding-inline:2px}.menu-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:none;color:var(--portfolio-ink);font-family:Archivo,sans-serif;font-size:18px;font-weight:600}.menu-lines{display:flex;width:26px;flex-direction:column;gap:5px}.menu-lines span{width:100%;height:2px;background:var(--portfolio-teal)}.site-nav{position:absolute;top:69px;left:-20px;right:-20px;z-index:10;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 18px;background:var(--portfolio-paper);border-bottom:1px solid var(--portfolio-rule);box-shadow:0 18px 25px var(--portfolio-menu-shadow)}.site-nav.is-open{display:flex}.site-nav a{display:block;min-height:48px;padding:12px 0}.site-nav a:after{bottom:7px;width:32px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:32px;padding-block:54px 38px}.hero h1{font-size:clamp(48px,12vw,72px);line-height:.93;letter-spacing:-.07em}.hero-positioning{margin-top:24px;padding-left:18px;border-left-width:3px}.hero-role{font-size:clamp(22px,6vw,28px)}.hero-intro{font-size:clamp(19px,5vw,23px)}.hero-location{margin-top:16px}.hero-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:26px}.primary-action{width:100%;justify-content:space-between}.secondary-action{align-self:flex-start;min-height:44px;padding:7px 0;border:0;border-bottom:2px solid var(--portfolio-teal)}.hero-portrait{width:100%;max-width:none;aspect-ratio:1.45}.hero-portrait img{-o-object-position:center 28%;object-position:center 28%}.portrait-glitch-layer{background-position:center 28%}.work-section{padding-top:44px}.work-section h2{font-size:40px}.project-list{margin-top:32px}.project-row,.project-row-reverse{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding-bottom:46px;margin-bottom:42px}.project-row-reverse .project-copy,.project-row-reverse .project-media{order:0}.project-copy h3{font-size:34px;margin-bottom:10px}.project-copy p{font-size:20px}.project-tech{font-size:12px}.text-action{margin-top:18px}.about-feature{display:block;padding-block:78px 66px}.about-story:before{top:-50px;left:-10px;font-size:190px}.about-feature h2{font-size:clamp(50px,12vw,70px)}.about-story p{margin-top:26px;font-size:24px}.about-story p+p{margin-top:16px;font-size:18px}.about-details{margin-top:42px}.about-list p,.about-list ul{font-size:16px}.skills-groups{grid-template-columns:1fr;gap:22px}.journey-section{padding-block:64px 72px}.journey-heading{margin-bottom:38px}.journey-heading h2{font-size:clamp(43px,11vw,60px)}.journey-columns{display:block}.journey-column+.journey-column{margin-top:54px}.journey-column h3{margin-bottom:24px}.journey-list h4{font-size:26px}.contact-feature{display:block;padding-block:44px 65px}.contact-feature h2{font-size:48px}.contact-feature p{font-size:19px}.contact-actions{margin-top:28px}.contact-link{font-size:21px}.site-footer{flex-wrap:wrap}}@media (hover:hover){.project-row:hover .project-media img{transform:scale(1.015)}}@keyframes mark-glitch-a{0%,to{opacity:0;transform:translate(0);clip-path:inset(0)}18%,38%{opacity:.75;transform:translate(3px,-1px);clip-path:inset(10% 0 58%)}56%,76%{opacity:.65;transform:translate(-2px,1px);clip-path:inset(64% 0 8%)}}@keyframes mark-glitch-b{0%,to{opacity:0;transform:translate(0);clip-path:inset(0)}24%,44%{opacity:.65;transform:translate(-3px,1px);clip-path:inset(42% 0 34%)}62%,82%{opacity:.55;transform:translate(2px,-1px);clip-path:inset(75% 0 5%)}}@keyframes scroll-progress{to{transform:scaleX(1)}}@keyframes section-signal{to{background-position-x:calc(100% + 160px)}}@keyframes heading-reveal{0%{opacity:.35;clip-path:inset(0 0 100%);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes journey-line{to{transform:scaleY(1)}}@keyframes journey-dot{0%{background:var(--portfolio-paper)}to{background:var(--portfolio-teal)}}@keyframes journey-highlight-reveal{0%{opacity:.22;filter:blur(1.5px);transform:translateY(14px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@supports (animation-timeline:scroll()){.scroll-progress{animation:scroll-progress linear both;animation-timeline:scroll(root block)}}@supports (animation-timeline:view()){.motion-heading{animation:heading-reveal linear both;animation-timeline:view(block);animation-range:entry 0 entry 55%}.contact-feature:after,.journey-section:after,.work-section:after{animation:section-signal linear both;animation-timeline:view(block);animation-range:entry 0 entry 42%}.journey-list:after{animation:journey-line linear both;animation-timeline:view(block);animation-range:entry 10% cover 78%}.journey-list>li:before{animation:journey-dot linear both;animation-timeline:view(block);animation-range:entry 20% entry 65%}.journey-experience-item .journey-highlights>li{animation:journey-highlight-reveal linear both;animation-timeline:view(block);animation-range:entry 5% entry 55%;will-change:opacity,filter,transform}}::view-transition-old(root){animation:portfolio-fade-out .18s ease-out both}::view-transition-new(root){animation:portfolio-fade-in .24s ease-out both}@keyframes portfolio-fade-out{to{opacity:0}}@keyframes portfolio-fade-in{0%{opacity:0}}html[data-theme=dark]{--portfolio-paper:#111719;--portfolio-ink:#edf2f1;--portfolio-quiet:#a9b5b7;--portfolio-rule:#334347;--portfolio-teal:#73bdca;--portfolio-teal-hover:#91d0da;--portfolio-accent-contrast:#0e181a;--portfolio-media:#1c272a;--portfolio-portrait-ground:#333b3d;--portfolio-monogram:#182225;--portfolio-menu-shadow:rgba(0,0,0,.35);--portfolio-scrollbar:#526568;--portfolio-scrollbar-hover:#71878b}@media (prefers-reduced-motion:reduce){html:has(.portfolio-site){scroll-behavior:auto}.portfolio-site *{animation-duration:.01ms!important;transition-duration:.01ms!important}.contact-feature:after,.journey-section:after,.portrait-glitch-layer,.scroll-progress,.site-mark:after,.site-mark:before,.work-section:after{display:none}.motion-heading{animation:none!important;opacity:1;clip-path:none;transform:none}.journey-list:after{transform:scaleY(1)}.journey-list:after,.journey-list>li:before{animation:none!important}.journey-experience-item .journey-highlights>li{animation:none!important;opacity:1;filter:none;transform:none}.project-row:focus-within .project-media img,.project-row:hover .project-media img{transform:none}}.project-detail{padding-block:34px 100px}.project-back{display:inline-flex;min-height:44px;align-items:center;color:var(--portfolio-teal)!important;font-family:Archivo,sans-serif;font-size:15px;font-weight:700}.project-all-work:hover,.project-back:hover{text-decoration:underline;text-underline-offset:5px}.project-detail-header{max-width:880px;padding-block:48px 52px}.project-eyebrow{margin:0 0 17px;color:var(--portfolio-teal);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.09em}.project-detail-header h1{margin:0;font-family:Archivo,sans-serif;font-size:clamp(58px,8vw,110px);font-weight:800;letter-spacing:-.075em;line-height:.97}.project-lede{max-width:38ch;margin:24px 0 0;color:var(--portfolio-quiet);font-size:clamp(22px,2.5vw,32px);line-height:1.3}.project-detail-hero,.project-gallery figure{margin:0}.project-detail-hero{view-transition-name:var(--project-transition-name)}.project-detail-hero,.project-gallery figure img{background:var(--portfolio-media);border:1px solid var(--portfolio-rule)}.project-detail-hero img,.project-gallery img{display:block;width:100%;height:auto}.project-detail-info{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.65fr);gap:clamp(40px,7vw,110px);padding-block:58px 76px;border-bottom:1px solid var(--portfolio-rule)}.project-detail-info h2{margin:0 0 18px;font-family:Archivo,sans-serif;font-size:17px;font-weight:700}.project-detail-info p{max-width:55ch;margin:0;color:var(--portfolio-quiet);font-size:clamp(19px,1.9vw,24px);line-height:1.45}.project-detail-stack{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.project-detail-stack li{padding:6px 10px;border:1px solid var(--portfolio-rule);color:var(--portfolio-quiet);font-family:IBM Plex Mono,monospace;font-size:13px}.project-gallery{padding-top:74px}.project-gallery-heading{margin-bottom:34px}.project-gallery-heading h2{margin:0;font-family:Archivo,sans-serif;font-size:clamp(38px,4vw,56px);font-weight:800;letter-spacing:-.06em;line-height:1.05}.project-gallery figure+figure{margin-top:50px}.project-gallery figcaption{margin-top:12px;color:var(--portfolio-quiet);font-family:IBM Plex Mono,monospace;font-size:13px}.project-detail-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;border-bottom:1px solid var(--portfolio-rule)}.project-detail-contact p{margin:0;font-family:Archivo,sans-serif;font-size:clamp(20px,2vw,27px);font-weight:700;letter-spacing:-.03em}.project-detail-contact a{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;color:var(--portfolio-teal);font-family:Archivo,sans-serif;font-size:17px;font-weight:700}.project-detail-contact a:hover svg{transform:translateX(4px)}.project-detail-contact a svg{transition:transform .2s ease}.project-back:active,.project-detail-contact a:active,.project-detail-next a:active{transform:translateY(1px)}.project-detail-next{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:80px;padding-top:28px;border-top:1px solid var(--portfolio-rule)}.project-detail-next span{display:block;margin-bottom:7px;color:var(--portfolio-quiet);font-family:IBM Plex Mono,monospace;font-size:13px}.project-detail-next a{display:inline-flex;align-items:center;gap:12px;color:var(--portfolio-teal);font-family:Archivo,sans-serif;font-size:clamp(24px,2.6vw,36px);font-weight:800;letter-spacing:-.04em}.project-detail-next a svg{transition:transform .2s ease}.project-detail-next a:hover svg{transform:translateX(5px)}.project-detail-next .project-all-work{flex-shrink:0;font-size:16px;font-weight:700;letter-spacing:0}@media (max-width:700px){.project-detail{padding-block:18px 68px}.project-detail-header{padding-block:34px 38px}.project-detail-header h1{font-size:clamp(48px,12vw,76px)}.project-lede{margin-top:18px;font-size:22px}.project-detail-info{display:block;padding-block:36px 50px}.project-detail-info>div+div{margin-top:34px}.project-detail-info p{font-size:19px}.project-gallery{padding-top:52px}.project-gallery figure+figure{margin-top:36px}.project-detail-contact{display:block}.project-detail-contact a{margin-top:12px}.project-detail-next{margin-top:58px}}