*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#000;--white:#fff;--off-white:#f9f9f7;--gray-50:#f5f5f3;--gray-100:#ebebea;--gray-200:#d8d8d5;--gray-400:#9a9a96;--gray-600:#555550;--gray-800:#222220;--font-display:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", sans-serif;--max-w:1140px;--px:2.5rem;--section-py:4rem;--topbar-h:80px}html{scroll-behavior:smooth}h1{font-size:90px!important}h2{font-size:60px!important}h3{font-size:36px!important}h4{font-size:30px!important}h5{font-size:24px!important}h6{font-size:20px!important}p{font-size:18px!important}@media (max-width:1024px){h1{font-size:53px!important}h2{font-size:36px!important}h3{font-size:30px!important}h4{font-size:24px!important}h5{font-size:20px!important}h6{font-size:18px!important}p{font-size:16px!important}}body{font-family:var(--font-body);background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:18px!important}@media (max-width:1024px){body{font-size:16px!important}}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.btn-primary{background:var(--black);color:var(--white);letter-spacing:.1em;border:1.5px solid var(--black);cursor:pointer;border-radius:99px;align-items:center;width:fit-content;height:fit-content;padding:1em 1.5em;font-size:16px;font-weight:500;line-height:1;transition:background .2s,color .2s,transform .15s;display:inline-flex}.btn-primary:hover{color:var(--black);background:0 0}.btn-outline{border:1.5px solid var(--black);color:var(--black);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:99px;align-items:center;padding:1em 1.5em;font-size:16px;font-weight:500;transition:background .2s,color .2s,transform .15s;display:inline-flex}.btn-outline:hover{background:var(--black);color:var(--white)}@media (max-width:1024px){.btn-primary,.btn-outline{font-size:14px}}.topbar{z-index:200;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--gray-100);height:var(--topbar-h);background:#ffffffeb;padding:0 2.5rem;position:fixed;top:0;left:0;right:0}.topbar__inner{max-width:var(--max-w);justify-content:space-between;align-items:center;gap:1.5rem;height:100%;margin:0 auto;display:flex}.topbar__logo{align-items:center;gap:12px;text-decoration:none;display:flex}.topbar__logo:before{content:"";background-image:url(/images/portfolio-logo.webp);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:36px;height:36px}.topbar__logo-text{display:none}.topbar__cta--desktop{border:1.5px solid var(--black);color:var(--black);border-radius:99px;align-items:center;margin-left:auto;margin-right:0;padding:1em 1.5em;font-size:16px;font-weight:500;line-height:1;transition:background .2s,color .2s;display:inline-flex}.topbar__cta--desktop:hover{background:var(--black);color:var(--white)}.topbar__nav-toggle{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:5px;padding:6px;display:flex}.topbar__nav-toggle span{background:var(--black);border-radius:2px;width:22px;height:1.5px;transition:transform .25s,opacity .25s;display:block}.topbar__nav-toggle span.open:first-child{transform:translateY(6.5px)rotate(45deg)}.topbar__nav-toggle span.open:nth-child(2){opacity:0}.topbar__nav-toggle span.open:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (max-width:1024px){.topbar{height:70px}.topbar__cta--desktop{font-size:14px}}@media (max-width:767px){.topbar{height:60px}.topbar__logo:before{width:30px;height:30px}}.sidebar-overlay{z-index:299;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;position:fixed;inset:0}.sidebar{z-index:300;background:var(--white);border-left:1px solid var(--gray-100);flex-direction:column;width:420px;max-width:90vw;padding:2rem 2.5rem;transition:transform .35s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.sidebar--open{transform:translate(0)}.sidebar__top{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.sidebar__logo{align-items:center;gap:12px;text-decoration:none;display:flex}.sidebar__logo:before{content:"";background-image:url(/images/portfolio-logo.webp);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:36px;height:36px}.sidebar__logo span{display:none}.sidebar__close{border:1px solid var(--gray-200);cursor:pointer;width:36px;height:36px;color:var(--gray-400);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;transition:border-color .15s,color .15s;display:flex}.sidebar__close:hover{border-color:var(--black);color:var(--black)}.sidebar__nav{flex-direction:column;flex:1;display:flex}.sidebar__nav-item{border-bottom:1px solid var(--gray-100);cursor:pointer;color:var(--black);flex-direction:column;gap:.2rem;padding:1.25rem 0;transition:color .15s;display:flex}.sidebar__nav-item:first-child{border-top:1px solid var(--gray-100)}.sidebar__nav-item:hover .sidebar__nav-label{opacity:.6}.sidebar__nav-main{justify-content:space-between;align-items:center;display:flex}.sidebar__nav-label{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:400;line-height:1;transition:opacity .15s}.sidebar__nav-arrow{background:#9a9a96;width:32px;height:32px;font-size:0;display:inline-block;position:relative;top:3px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 17L17 7M7 7H17V17' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 17L17 7M7 7H17V17' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.sidebar__nav-path{color:var(--gray-400);font-size:.75rem;font-family:var(--font-body)}.sidebar__footer{border-top:1px solid var(--gray-100);margin-top:2.5rem;padding-top:2rem;display:none}.sidebar__follow-label{color:var(--gray-400);letter-spacing:.04em;margin-bottom:.875rem;font-size:.75rem}.sidebar__socials{flex-wrap:wrap;gap:1.25rem;display:flex}.sidebar__social-link{color:var(--black);font-size:.8125rem;font-weight:500;transition:color .15s}.sidebar__social-link:hover{color:var(--gray-400)}@media (max-width:1024px){.sidebar__top{margin-bottom:2.5rem}.sidebar__nav-label{font-size:24px}.sidebar__nav-arrow{width:30px;height:30px}.sidebar{padding:2.5rem}}@media (max-width:767px){.sidebar{padding:1.5rem}.sidebar__top{margin-bottom:2rem}.sidebar__logo:before{width:30px;height:30px}.sidebar__close{width:30px;height:30px;font-size:14px}}.main{padding-top:var(--topbar-h)}@media (max-width:1024px){.main{padding-top:70px}}@media (max-width:767px){.main{padding-top:60px}}.hero{border-bottom:1px solid var(--gray-100);padding:var(--section-py) var(--px)}.hero .hero__inner{max-width:var(--max-w);gap:4rem;margin:0 auto;display:grid}.hero__text-block{flex-direction:column;gap:3rem;display:flex}.hero .hero__text-with-button{grid-template-columns:1fr 1fr;justify-content:space-between;gap:3rem;display:grid}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--black);font-weight:400;line-height:1.1}.italic{color:var(--gray-400);font-family:Pinyon Script;font-style:italic}.hero h1 .sparkle-text{margin-left:.5rem;font-size:50px;position:relative;top:-1rem}.hero .hero__greeting{letter-spacing:.03em}.hero .hero__sub{color:var(--gray-600);align-self:flex-end;line-height:1.4}@media (max-width:1205px) and (min-width:1025px){.hero h1{font-size:74px!important}}@media (max-width:1024px) and (min-width:946px){.hero h1{font-size:65px!important}}@media (max-width:1024px){.hero{padding:3rem 2.5rem}.hero .hero__inner{gap:3rem}.hero h1 .sparkle-text{margin-left:.5rem;font-size:30px;top:-.75rem}.hero .hero__text-with-button{gap:2.5rem}}@media (max-width:767px){.hero{padding:3rem 1.5rem}.hero__inner{grid-template-columns:1fr;gap:1.5rem}.hero__sub{align-self:auto;max-width:100%}.hero__text-block{gap:1.5rem}.hero h1{font-size:45px!important}.hero h1 .sparkle-text{margin-left:.5rem;font-size:24px;top:-.1rem}.hero .hero__text-with-button{grid-template-columns:1fr;gap:1.5rem}.hero .hero__inner{gap:2rem}}@media (max-width:539px){.hero h1{font-size:36px!important}}@media (max-width:446px){.hero h1{font-size:30px!important}}@media (max-width:384px){.hero h1{font-size:26px!important}}.section-eyebrow{max-width:calc(1140px + 5rem);margin:0 auto;padding:0}.section-eyebrow span{color:var(--gray-600);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:14px;font-weight:500;display:inline-flex}.section-eyebrow span:before{content:"";background:var(--gray-400);width:20px;height:1px;margin-right:.625rem;display:inline-block}.works{max-width:var(--max-w);padding:1.5rem var(--px) var(--section-py);max-width:calc(1140px + 5rem);margin:0 auto;padding-top:4rem;padding:4rem 2.5rem!important}.works__item{border-bottom:1px solid var(--gray-100);cursor:pointer;color:var(--black)}.works__item:first-of-type{border-top:1px solid var(--gray-100)}.works__item-header{grid-template-columns:2fr 2fr 1fr;align-items:center;gap:2rem;padding:1.75rem 0;transition:opacity .2s;display:grid}.works__item:hover .works__item-header{opacity:.85}@media (max-width:767px){.works__item-header{grid-template-columns:1fr auto;gap:1rem}.works__item-desc{display:none}}.works__item-name-block{flex-direction:column;gap:.25rem;display:flex}.works__item-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:400;line-height:1.4}.works__item-date{color:var(--gray-400);font-size:.75rem}.works__item-desc{color:var(--gray-600);font-size:.8125rem;line-height:1.65}.works__item-tags{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.works__tag{color:var(--black);border:1.5px solid var(--black);letter-spacing:.02em;white-space:nowrap;border-radius:99px;padding:.4rem .5rem;font-size:12px;font-weight:500}.works__item-image-panel{grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,.61,.36,1);display:grid;overflow:hidden}.works__item-image-panel--open{grid-template-rows:1fr}.works__item-image-panel-inner{min-height:0;overflow:hidden}.works__item-image-box{aspect-ratio:16/7;border-radius:1rem;width:100%;margin-bottom:1.5rem;position:relative;overflow:hidden}.works__item-image-box-bg{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.works__item-image-placeholder{object-fit:cover;width:100%;height:100%;display:block}.works__item-mockup{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.works__item-mockup-screen{aspect-ratio:16/10;background:#e8e8e4;border-radius:.5rem;flex-direction:column;align-items:flex-start;gap:.375rem;width:65%;padding:.75rem;display:flex;box-shadow:0 20px 60px #00000040}.works__item-mockup-bar{align-items:center;gap:.25rem;display:flex}.works__item-mockup-dot{background:#0003;border-radius:50%;width:6px;height:6px}.works__item-mockup-content{background:#00000014;border-radius:.25rem;flex:1;width:100%}.works__view-all{justify-content:center;padding-top:2.5rem;display:flex}@media (max-width:1024px){.works{padding:3rem 2.5rem!important}}@media (max-width:767px){.works{padding:3rem 1.5rem!important}.works__item-header{grid-template-columns:1fr;gap:1.5rem}.works__item-tags{flex-wrap:wrap;justify-content:flex-start;gap:1rem;display:flex}.works__view-all{justify-content:center;padding-top:1.75rem;display:flex}}.about{padding:var(--section-py) var(--px);border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}.about__inner{max-width:var(--max-w);grid-template-columns:1fr 1fr;align-items:start;gap:3rem;margin:0 auto 0;display:grid}.about__left{flex-direction:column;gap:1.5rem;display:flex}.about__title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--black);font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:400;line-height:1.15}.about__body{color:var(--gray-600);max-width:420px;font-size:.875rem;line-height:1.8}.about__skills{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.about__skill-tag{color:var(--gray-600);border:1px solid var(--gray-200);background:var(--white);border-radius:999px;padding:.3rem .875rem;font-size:.75rem;font-weight:500}.about__right{flex-direction:column;gap:2.5rem;display:flex}.about__profile-card{background:var(--white);border:1px solid var(--gray-200);border-radius:1.25rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.about__profile-photo{background:url(/images/portfolio-logo-circle.webp) 50%/contain no-repeat;border-radius:50%;flex-shrink:0;width:72px;height:72px}.about__profile-bio{color:var(--gray-600);font-size:.8125rem;line-height:1.75}.about__profile-cta{align-self:flex-start}.about__exp-label{color:var(--gray-400);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:500}.about__exp-list{flex-direction:column;display:flex}.about__exp-row{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.about__exp-row:last-child{border-bottom:1px solid var(--gray-200)}.about__exp-info{flex-direction:column;gap:.125rem;display:flex}.about__exp-role{color:var(--black);font-size:.875rem;font-weight:500}.about__exp-company{color:var(--gray-400);font-size:.75rem}.about__exp-period{font-family:var(--font-display);color:var(--black);white-space:nowrap;flex-shrink:0;font-size:1.125rem}.about__partners-label{max-width:var(--max-w);font-family:var(--font-display);letter-spacing:-.02em;color:var(--black);margin:0 auto 2rem;font-size:clamp(1.25rem,2.5vw,2rem);font-weight:400;line-height:1.2}.about__partners{max-width:var(--max-w);grid-template-columns:repeat(3,1fr);gap:0;margin:0 auto;display:grid}.about__partners-label,.about__partners{display:none}@media (max-width:1024px){.about{padding:3rem 2.5rem}.about__inner{gap:2.5rem}.about__profile-photo{width:46px;height:46px}.about__exp-label{font-size:20px!important}}@media (max-width:767px){.about{padding:3rem 1.5rem}.about__inner{grid-template-columns:1fr;gap:1.75rem}.about__profile-card{padding:1.5rem}.about__left{gap:1.25rem}.about__right{gap:1.5rem}}.ticker-wrap{border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100);background:0 0;width:100%;padding:1.5rem 0;overflow:hidden}.ticker-track{align-items:center;gap:.75rem;width:max-content;animation:24s linear infinite ticker-scroll;display:flex}.ticker-item{white-space:nowrap;align-items:center;gap:.75rem;display:inline-flex}.ticker-pill{color:#000;letter-spacing:.02em;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:0 0;border:1.5px solid;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .75rem .5rem .5rem;font-size:16px;display:inline-flex;font-weight:400!important}.ticker-pill__icon{color:#000;background:0 0;border:1px solid #000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ticker-pill__icon svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px;display:block}.ticker-sparkle{flex-shrink:0;justify-content:center;align-items:center;margin:0 .25rem;display:inline-flex}.ticker-sparkle svg{display:none}.ticker-sparkle:after{content:"✦";color:var(--gray-400);width:20px;height:20px;font-size:24px;line-height:1;display:inline-block}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}@media (max-width:1024px){.ticker-pill{gap:.5rem;padding:.5rem .75rem .5rem .5rem;font-size:14px}}.testimonials,.awards,.insights{display:none}.contact-cta{background:var(--black);padding:var(--section-py) var(--px)}.contact-cta__inner{max-width:var(--max-w);text-align:center;flex-direction:column;align-items:center;gap:2rem;margin:0 auto;display:flex}.contact-cta__eyebrow{color:#ffffff73;letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem}.contact-cta__email{font-family:var(--font-display);color:var(--white);letter-spacing:-.03em;cursor:pointer;font-size:41px;font-weight:400;line-height:1;transition:opacity .2s}.contact-cta__email:hover{opacity:.7}.contact-cta__arrow-btn{width:52px;height:52px;color:var(--white);border:1.5px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;font-size:0;transition:background .2s,border-color .2s;display:inline-flex}.contact-cta__arrow-btn:after{content:"";background:currentColor;width:30px;height:30px;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 17L17 7M7 7H17V17' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 17L17 7M7 7H17V17' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.contact-cta__arrow-btn:hover{background:#ffffff26;border-color:#fff9}@media (max-width:1024px){.contact-cta{padding:3rem 2.5rem!important}.contact-cta__email{font-size:36.5px}.contact-cta__inner{gap:1.5rem}.contact-cta__arrow-btn{width:40px;height:40px;margin-top:.5rem}.contact-cta__arrow-btn:after{width:24px;height:24px}}@media (max-width:767px){.contact-cta{padding:3rem 1.5rem!important}.contact-cta__email{font-size:23.5px}.contact-cta__eyebrow{line-height:1.4}}.site-footer{color:#ffffff80;background:#0a0a0a;padding:0 2.5rem}.site-footer__inner{max-width:var(--max-w);margin:0 auto}.site-footer__cta-section{padding:var(--section-py) 0;text-align:center;border-bottom:1px solid #ffffff14;flex-direction:column;align-items:center;gap:1.75rem;display:flex}.site-footer__cta-eyebrow{color:#ffffff59;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.site-footer__cta-title{font-family:var(--font-display);color:var(--white);letter-spacing:-.03em;font-weight:400;line-height:1.2;font-size:56px!important}.site-footer__cta-links{flex-wrap:wrap;justify-content:center;gap:2.5rem;display:flex}.site-footer__cta-link{color:#ffffff73;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:500;transition:color .15s}.site-footer__cta-link:hover{color:var(--white)}.site-footer__bottom{border-top:1px solid #ffffff14;grid-template-columns:auto 1fr auto;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;display:flex}@media (max-width:1024px){.site-footer__cta-section{padding:3rem 0}.site-footer__cta-title{font-size:36px!important}}@media (max-width:767px){.site-footer{padding:0 1.5rem}.site-footer__cta-section{gap:1.25rem}.site-footer__bottom{grid-template-columns:1fr}.site-footer__cta-links{flex-direction:column;gap:1rem;display:flex}.site-footer__bottom{text-align:center;flex-direction:column;display:flex}.site-footer__logo:before{width:30px!important;height:30px!important}.site-footer__cta-title{font-size:30px!important}}.site-footer__logo{align-items:center;gap:12px;text-decoration:none;display:flex}.site-footer__logo:before{content:"";background:url(/images/portfolio-logo-white.webp) 50%/contain no-repeat;flex-shrink:0;width:36px;height:36px}.site-footer__logo span{display:none}.site-footer__tagline{color:#ffffff4d;font-size:.75rem;line-height:1.6}.site-footer__socials{flex-wrap:wrap;gap:1.5rem;display:none}.site-footer__social{color:#fff6;font-size:.75rem;transition:color .15s}.site-footer__social:hover{color:var(--white)}.site-footer__copy{color:#ffffff40;font-size:.75rem;line-height:1.6}@media (max-width:767px){.topbar__cta--desktop{display:none}:root{--px:1.5rem;--section-py:3rem}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.works__item-image-panel{transition:none}}
