*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050505;font-family:inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.nav-shell{z-index:1000;position:sticky;top:0}.nav-wrapper{flex-direction:column;align-items:center;width:100%;padding:1rem 1rem 0;display:flex}.nav-pill{-webkit-backdrop-filter:blur(18px);background:linear-gradient(135deg,#18181ee0,#0a0a0ec7);border:1px solid #ffffff1a;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1300px,100% - 1rem);padding:.9rem 1rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff08,0 10px 30px #00000073,0 0 30px #6f42c11f}.nav-logo{color:#fff;letter-spacing:.1em;justify-self:start;font-size:1.2rem;font-weight:700;text-decoration:none}.nav-center{justify-content:center;align-items:center;gap:2rem;display:flex}.nav-right{justify-self:end;align-items:center;gap:.2rem;display:flex}.nav-link{color:#ffffffd1;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s,transform .2s}.nav-link:hover{color:#fff;transform:translateY(-2px)}.nav-projects{align-items:center;display:flex;position:relative}.nav-projects-link{padding-right:.25rem}.nav-projects-toggle{color:#ffffffa6;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.25rem;transition:color .2s,transform .2s;display:inline-flex}.nav-projects:hover .nav-projects-toggle,.nav-projects:focus-within .nav-projects-toggle{color:#fff}.nav-projects:hover .nav-projects-toggle svg,.nav-projects:focus-within .nav-projects-toggle svg{transform:rotate(180deg)}.nav-projects-toggle svg{transition:transform .2s}.nav-projects-dropdown{z-index:20;-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;background:#0c0c0ff5;border:1px solid #ffffff1a;border-radius:16px;width:220px;padding:.5rem;transition:opacity .18s,visibility .18s,transform .18s;position:absolute;top:calc(100% + .8rem);left:50%;transform:translate(-50%,-6px);box-shadow:0 18px 45px #00000073}.nav-projects-dropdown:before{content:"";height:.8rem;position:absolute;bottom:100%;left:0;right:0}.nav-projects:hover .nav-projects-dropdown,.nav-projects:focus-within .nav-projects-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.nav-dropdown-link{color:#ffffffdb;border-radius:11px;flex-direction:column;gap:.2rem;padding:.8rem .9rem;text-decoration:none;transition:background .2s,color .2s;display:flex}.nav-dropdown-link:hover,.nav-dropdown-link:focus-visible{color:#fff;background:#ffffff0f;outline:none}.nav-dropdown-link span{font-size:.9rem;font-weight:600}.nav-dropdown-link small{color:#ffffff6b;font-size:.72rem;font-weight:400}.nav-icon{color:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.nav-icon:hover{color:#fff;background:#ffffff14;transform:translateY(-2px)}.github-logo{width:1.75rem;height:1.75rem}.desktop-only{display:flex}.menu-toggle{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;justify-self:end;align-items:center}.mobile-menu{-webkit-backdrop-filter:blur(14px);text-align:center;background:#121212f5;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;align-items:center;gap:1rem;width:min(1100px,100% - 1.5rem);margin-top:.75rem;padding:1.25rem;display:flex;box-shadow:0 10px 20px #00000059}.mobile-link{color:#ffffffdb;padding:.25rem 0;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s}.mobile-link:hover{color:#fff}.mobile-projects{flex-direction:column;align-items:center;width:100%;display:flex}.mobile-projects-header{justify-content:center;align-items:center;gap:.25rem;display:flex}.mobile-projects-toggle{color:#ffffffa6;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.mobile-chevron{transition:transform .2s}.mobile-chevron.open{transform:rotate(180deg)}.mobile-projects-submenu{background:#ffffff06;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;gap:.25rem;width:min(280px,100%);margin-top:.65rem;padding:.5rem;display:flex}.mobile-sublink{color:#ffffff9e;border-radius:10px;padding:.7rem 1rem;font-size:.88rem;text-decoration:none;transition:background .2s,color .2s}.mobile-sublink:hover{color:#fff;background:#ffffff0d}.mobile-icons{justify-content:center;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.mobile-only{display:none}@media (width<=768px){.nav-wrapper{padding:.85rem .75rem 0}.nav-pill{grid-template-columns:1fr auto}.desktop-only{display:none}.mobile-only{display:inline-flex}.nav-logo{font-size:.9rem}}.hero{justify-content:center;align-items:center;min-height:100svh;padding:3rem 1.5rem 2rem;display:flex;position:relative;overflow:clip}.hero-background{pointer-events:none;background:radial-gradient(circle at 20% 20%,#2ecc7114,#0000 20%),radial-gradient(circle at 80% 15%,#00aaff14,#0000 22%),radial-gradient(circle at 50% 100%,#8250ff14,#0000 28%);position:absolute;inset:0}.hero-container{z-index:1;width:100%;max-width:1200px;margin:0 auto;position:relative}.hero-content{text-align:center;max-width:1200px;margin:0 auto}.availability-badge{isolation:isolate;border-radius:999px;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:.8rem 1.2rem;display:inline-flex;position:relative;overflow:hidden}.availability-badge:before{content:"";border-radius:inherit;z-index:-2;background:conic-gradient(#0000 0deg 300deg,#32d583f2 330deg,#82ffb4a6 345deg,#0000 360deg);animation:2.2s linear infinite spinBorder;position:absolute;inset:-40%}.availability-badge:after{content:"";border-radius:inherit;z-index:-1;background:#0c100ef2;position:absolute;inset:1.5px}.availability-dot{background:#32d583;border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:1.8s ease-in-out infinite pulseDot;box-shadow:0 0 0 4px #32d58324,0 0 18px #32d583bf}.availability-text{letter-spacing:0;color:#d7ffe8;font-size:.95rem;font-weight:600}.hero-name{letter-spacing:-.05em;text-wrap:balance;-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#d9d9df 55%,#7a7a85 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;padding-bottom:1rem;font-size:clamp(3.2rem,9vw,7rem);font-weight:800;line-height:.98}.hero-title{letter-spacing:-.03em;color:#fff;margin:0 0 1rem;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:700;line-height:1.05}.hero-tagline{color:#ffffffd1;max-width:760px;margin:0 auto 1.25rem;font-size:clamp(1.08rem,2.1vw,1.45rem);line-height:1.5}.hero-description{color:#ffffff8f;max-width:720px;margin:0 auto 2.5rem;font-size:clamp(1.1rem,1.7vw,1.12rem);line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.hero-button{cursor:pointer;border:none;border-radius:16px;align-items:center;gap:.65rem;padding:1rem 1.5rem;font-size:.98rem;font-weight:600;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.hero-button-primary{color:#050505;background:#fff;box-shadow:0 10px 30px #ffffff14}.hero-button-primary:hover{background:#f2f2f2}.hero-button-secondary{color:#fff;-webkit-backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a}.hero-button-secondary:hover{background:#ffffff14;border-color:#ffffff29}.hero-scroll-indicator{position:absolute;bottom:7rem;left:50%;transform:translate(-50%)}.scroll-mouse{border:2px solid #ffffff2e;border-radius:999px;justify-content:center;width:1.7rem;height:2.8rem;padding-top:.45rem;display:flex}.scroll-wheel{background:#ffffff73;border-radius:999px;width:.22rem;height:.55rem}@keyframes spinBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@media (width<=768px){.hero{min-height:auto;padding:2rem 1.25rem 3.5rem}.hero-content{max-width:540px;padding:1rem}.availability-badge{margin-bottom:1.5rem;padding:.75rem 1rem}.availability-text{font-size:.88rem}.hero-name{font-size:clamp(2.5rem,12vw,4.4rem);line-height:.98}.hero-title{font-size:clamp(1.5rem,7vw,2.4rem)}.hero-tagline{font-size:1rem}.hero-description{margin-bottom:1.8rem;font-size:.98rem}.hero-actions{flex-direction:column;width:100%}.hero-button{justify-content:center;width:100%;max-width:320px}.hero-scroll-indicator{display:none}}@media (width<=480px){.hero{padding:2rem}.hero-content{padding-top:.75rem}.availability-badge{gap:.55rem}.availability-dot{width:.62rem;height:.62rem}.hero-name{font-size:clamp(2.2rem,13vw,3.5rem)}.hero-tagline{font-size:1.05rem}.hero-description{max-width:30ch}.hero-button{border-radius:14px;padding:.95rem 1.25rem}}.featured-projects{width:min(1200px,100% - 3rem);margin:0 auto;padding:7rem 0}.featured-projects-header{text-align:center;max-width:700px;margin:0 auto 4rem}.featured-projects-label{letter-spacing:.14em;color:#32d583;margin-bottom:1rem;font-size:.8rem;font-weight:700;display:block}.featured-projects-header h2{letter-spacing:-.05em;margin:0 0 1.25rem;font-size:clamp(2.75rem,6vw,5rem);line-height:1}.featured-projects-header p{color:#fff9;max-width:600px;margin:0 auto;font-size:1.05rem;line-height:1.7}.featured-projects-grid{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.featured-project-card{color:inherit;background:#ffffff06;border:1px solid #ffffff1a;border-radius:24px;text-decoration:none;overflow:hidden}.featured-project-image-wrapper{background:#ffffff08;width:100%;overflow:hidden}.featured-project-image{width:100%;height:auto;display:block}.featured-project-content{padding:1.75rem}.featured-project-type{letter-spacing:.04em;color:#ffffff73;margin-bottom:.6rem;font-size:.78rem;font-weight:600;display:block}.featured-project-content h3{letter-spacing:-.03em;margin:0 0 .8rem;font-size:1.65rem;line-height:1.1}.featured-project-content p{color:#fff9;margin:0;line-height:1.65}.featured-projects-footer{justify-content:center;margin-top:2.5rem;display:flex}.featured-projects-all{color:#fff;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.featured-projects-all:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-2px)}@media (width<=768px){.featured-projects-grid{grid-template-columns:1fr}.featured-projects{width:min(100% - 2rem,1200px);padding:5rem 0}.featured-projects-header{margin-bottom:3rem}}@media (width<=480px){.featured-project-card{border-radius:20px}.featured-project-content{padding:1.25rem}}.about{text-align:center;justify-self:center;justify-items:center;padding:7rem 1.5rem;position:relative;overflow:hidden}.about-container{z-index:1;width:min(1200px,100%);margin:0 auto;position:relative}.about-header{text-align:center;max-width:820px;margin:0 auto 3rem}.about-main{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:center;gap:4rem;display:grid}.about-copy{max-width:760px}.about-copy p{color:#ffffffad;margin:0 0 1.15rem;font-size:1.05rem;line-height:1.8}.about-status-card{color:#ffffffd4;isolation:isolate;background:0 0;border-radius:18px;align-items:flex-start;gap:.85rem;margin-top:1.75rem;padding:1rem;display:flex;position:relative;overflow:hidden}.about-status-card svg{color:#32d583;flex-shrink:0;margin-top:.15rem}.about-status-card:before{content:"";border-radius:inherit;z-index:-2;background:conic-gradient(#0000 0deg 300deg,#32d583f2 330deg,#82ffb4a6 345deg,#0000 360deg);animation:2.2s linear infinite spinBorder;position:absolute;inset:-40%}.about-status-card:after{content:"";border-radius:inherit;z-index:-1;background:#0c100ef2;position:absolute;inset:1.5px}.about-status-card svg,.about-status-card span{z-index:1;position:relative}.about-visual{justify-self:center;width:100%;max-width:360px}.profile-ring{aspect-ratio:1;background:linear-gradient(#070707,#070707) padding-box padding-box,linear-gradient(135deg,#32d583e6,#6f42c1b3);border:1px solid #0000;border-radius:50%;width:min(320px,76vw);margin:0 auto;padding:4px;box-shadow:0 0 40px #32d5831a,0 0 70px #6f42c129}.profile-image{object-fit:cover;filter:saturate(.92)contrast(1.04);border-radius:50%;width:100%;height:100%}.profile-card{-webkit-backdrop-filter:blur(14px);background:linear-gradient(135deg,#fff1,#ffffff06);border:1px solid #ffffff17;border-radius:22px;margin-top:1.5rem;padding:1.2rem}.profile-card div+div{margin-top:1rem}.profile-label{color:#ffffff75;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem;font-size:.78rem;display:block}.profile-card strong{color:#ffffffe0;font-size:.96rem}.strength-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:4rem;display:grid}.strength-card,.stack-group,.about-stack{-webkit-backdrop-filter:blur(14px);background:#ffffff0a;border:1px solid #ffffff14}.strength-card{border-radius:22px;padding:1.35rem;transition:transform .2s,border-color .2s,background .2s}.strength-card:hover{background:#ffffff0f;border-color:#32d58347;transform:translateY(-3px)}.strength-card svg{color:#32d583;margin-bottom:1rem}.strength-card h3{margin:0 0 .55rem;font-size:1.05rem}.strength-card p{color:#ffffff94;margin:0;line-height:1.65}.about-stack{border-radius:26px;margin-top:3rem;padding:1.5rem}.stack-heading{text-align:center;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.2rem;display:flex}.stack-heading svg{color:#32d583}.stack-heading h3{margin:0;font-size:1.2rem}.stack-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.stack-group{border-radius:20px;padding:1.15rem}.stack-group h4{color:#ffffffeb;margin:0 0 .85rem}.skill-list{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.skill-list span{color:#ffffffc7;border:1px solid #ffffff14;border-radius:999px;padding:.45rem .65rem;font-size:.83rem}@media (width<=900px){.about{padding:5.5rem 1.25rem}.about-main{grid-template-columns:1fr;gap:3rem}.about-header{margin-bottom:2.5rem}.about-visual{max-width:420px}.strength-grid,.stack-grid{grid-template-columns:1fr}}@media (width<=520px){.about{padding:4.5rem 1rem}.about-header h2{font-size:clamp(2rem,11vw,3rem)}.about-copy p{font-size:.98rem}.about-status-card{flex-direction:column;align-items:center}.profile-ring{width:min(260px,72vw)}.strength-grid{margin-top:3rem}.stack-heading{flex-direction:column;gap:.5rem}.stack-heading h3{white-space:nowrap;font-size:clamp(1.2rem,4vw,1.5rem)}}.contact{padding:8rem 1.5rem;position:relative;overflow:hidden}.contact-container{z-index:1;width:min(1200px,100%);margin:0 auto;position:relative}.contact-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:1.5rem;display:grid}.contact-form,.contact-card{background:#ffffff06;border:1px solid #ffffff1a;border-radius:24px}.contact-form{padding:2rem}.contact-header{text-align:center;max-width:760px;margin:0 auto 3rem}.contact-header .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#32d583;margin:0 0 1rem;font-size:.8rem;font-weight:700}.contact-header .section-heading{letter-spacing:-.05em;margin:0 0 1.25rem;font-size:clamp(2.75rem,6vw,5rem);line-height:1}.contact-header .section-subtitle{color:#fff9;max-width:650px;margin:0 auto;font-size:1.05rem;line-height:1.7}.form-row{grid-template-columns:repeat(2,1fr);gap:.9rem;display:grid}.contact-form label{color:#ffffffc7;flex-direction:column;gap:.45rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:flex}.contact-form input,.contact-form textarea{color:#fff;resize:vertical;width:100%;transition:border-color .2s ease, background .2s ease box-shadow .2s ease;background:#0000003d;border:1px solid #ffffff17;border-radius:16px;outline:none;padding:.9rem 1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff57}.contact-form input:focus,.contact-form textarea:focus{background:#00000057;border-color:#32d58380;box-shadow:0 0 0 4px #32d58314}.contact-submit{color:#050505;cursor:pointer;width:100%;transition:transform .2s ease background .2s ease;background:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.6rem;margin-top:.35rem;padding:1rem 1.25rem;font-weight:700;display:inline-flex}.contact-submit:hover{background:#32d583;transform:translateY(-2px)}.contact-status{color:#d7ffe8;margin:1rem 0 0;font-size:.92rem;line-height:1.6}.contact-card{text-align:center;flex-direction:column;align-items:center;padding:2rem;display:flex}.contact-card-icon{color:#32d583;background:#32d5831a;border:1px solid #32d58333;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1.25rem;display:inline-flex}.contact-card h3{margin:0 0 .6rem;font-size:1.45rem}.contact-card p{color:#ffffff9e;margin:0 0 1.25rem;line-height:1.7}.direct-email-link{color:#fff;word-break:break-word;background:#ffffff0e;border:1px solid #ffffff17;border-radius:16px;padding:.9rem 1rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,color .2s}.direct-email-link:hover{color:#32d583;background:#ffffff17;border-color:#32d5834d;transform:translateY(-2px)}.contact-socials{justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.contact-socials-img{object-fit:contain;width:1.25rem;height:1.25rem;display:block}.contact-socials a{color:#ffffff0e;border-radius:999px;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;transition:transform .2s,background .2s,color .2s;display:inline-flex}.contact-socials a:hover{color:#fff;background:#ffffff17;transform:translateY(-2px)}.contact-note{color:#ffffff8a;flex-direction:column;gap:.35px;margin-top:auto;padding-top:1.5rem;line-height:1.6;display:flex}.contact-note strong{color:#ffffffd1}.honeypot{opacity:0;pointer-events:none;position:absolute;left:-999px}.turnstile-wrap{justify-content:center;margin:.5rem 0 1rem;display:flex}.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=850px){.contact{padding:5.5rem 1.25rem}.contact-grid{grid-template-columns:1fr}}@media (width<=520px){.contact{padding:4.5rem 1rem}.contact-header{font-size:clamp(2rem,11vw,3rem)}.form-row{grid-template-columns:1fr;gap:0}.contact-form,.contact-card{border-radius:24px;padding:1.1rem}}.footer{background:#00000038;border-top:1px solid #ffffff14;padding:3rem 1.5rem 2rem;position:relative}.footer-content{text-align:center;flex-direction:column;align-items:center;width:min(1200px,100%);margin:0 auto;display:flex}.footer-logo{color:#fff;letter-spacing:.16em;margin-bottom:1.25rem;font-size:1.1rem;font-weight:800;text-decoration:none}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-bottom:1.25rem;display:flex}.footer-links a,.footer-email{color:#ffffffad;transition:color .2 ease, transform .2s ease;text-decoration:none}.footer-links a:hover,.footer-email:hover{color:#fff;background:#ffffff17;transform:translateY(-1px)}.footer-contact{word-break:break-word;justify-content:center;align-items:center;gap:.5rem;display:flex}.footer-socials{justify-content:center;align-items:center;gap:.75rem;display:flex}.footer-social-link{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:background .2s,color .2s,transform .2s;display:inline-flex}.footer-social-link:hover{background:#ffffff17;transform:translateY(-2px)}.footer-socials img{object-fit:contain;width:1.15rem;height:1.15rem}.linkedin-logo{width:1rem!important;height:1rem!important}.footer-copy{color:#ffffff70;text-align:center;margin-top:1rem;font-size:.9rem}@media (width<=520px){.footer{padding:2.5rem 1rem 1.75rem}.footer-links{gap:1rem}.footer-email{font-size:.9rem}}.github-cta{text-align:center;background:#ffffff06;border:1px solid #ffffff1a;border-radius:24px;width:min(1000px,100% - 3rem);margin:0 auto;padding:4rem}.github-cta-label{letter-spacing:.14em;color:#32d583;margin-bottom:1rem;font-size:.8rem;font-weight:700;display:block}.github-cta h2{letter-spacing:-.04em;margin:0 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.github-cta p{color:#fff9;max-width:600px;margin:0 auto 2rem;line-height:1.7}.github-cta-link{color:#fff;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.github-cta-link:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-2px)}@media (width<=768px){.github-cta{width:min(100% - 2rem,1000px);padding:3rem 1.5rem}}.projects-page{width:min(1200px,100% - 3rem);margin:0 auto;padding:10rem 0 6rem}.projects-page-header{text-align:center;max-width:760px;margin:0 auto 3rem}.projects-page-label{letter-spacing:.14em;color:#32d583;margin-bottom:1rem;font-size:.8rem;font-weight:700;display:block}.projects-page-header h1{letter-spacing:-.05em;margin:0 0 1.25rem;font-size:clamp(3rem,7vw,6rem);line-height:1}.projects-page-header p{color:#fff9;max-width:650px;margin:0 auto;font-size:1.1rem;line-height:1.7}.project-filter-groups{flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:3rem;display:flex}.project-filter-group{flex-direction:column;align-items:center;width:100%;display:flex}.project-filter-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:block}.project-filters{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.project-filter{color:#fff9;font:inherit;cursor:pointer;background:#ffffff06;border:1px solid #ffffff1a;border-radius:999px;padding:.7rem 1rem;font-size:.9rem;transition:background .2s,border-color .2s,color .2s,transform .2s}.project-filter:hover{color:#fff;background:#ffffff0f;border-color:#ffffff29}.project-filter.active{color:#050505;background:#fff;border-color:#fff}.projects-grid{flex-direction:column;gap:1.5rem;display:flex}.project-card{background:#ffffff06;border:1px solid #ffffff1a;border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:2.5rem;width:100%;padding:2rem;display:grid}.project-card-image-right .project-image-wrapper{order:2}.project-card-image-right .project-card-content{order:1}.project-card-no-image{display:block}.project-card-no-image .project-card-content{width:100%}.project-image-wrapper{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;width:100%;overflow:hidden}.project-image{width:100%;height:auto;display:block}.project-card-content{min-width:0}.project-card-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.project-type{letter-spacing:.04em;color:#ffffff73;font-size:.8rem;font-weight:600}.project-card h2{letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1}.project-card p{color:#fff9;margin:0 0 1.5rem;line-height:1.7}.project-technologies{flex-wrap:wrap;gap:.5rem;display:flex}.project-technologies span{color:#ffffffb3;border:1px solid #ffffff1a;border-radius:999px;padding:.45rem .7rem;font-size:.78rem}.project-links{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.project-link{color:#ffffffb8;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.78rem;font-weight:600;line-height:1;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.project-link:hover{color:#fff;background:#ffffff12;border-color:#fff3;transform:translateY(-1px)}.project-link-primary{color:#b8f7d3;background:#32d58314;border-color:#32d58338}.project-link-primary:hover{color:#d7ffe8;background:#32d58321;border-color:#32d58361}.project-case-study{color:#ffffffd1;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.project-case-study-arrow{font-size:1.2rem;transition:transform .2s}.project-case-study:hover{color:#32d583}.project-case-study:hover .project-case-study-arrow{transform:translate(4px)}@media (width<=768px){.projects-page{width:min(100% - 2rem,1200px);padding:8rem 0 4rem}.projects-page-header{margin-bottom:2.5rem}.projects-page-header p{font-size:1rem}.project-filter-groups{margin-bottom:2.5rem}.project-filters{gap:.5rem}.project-filter{padding:.6rem .85rem;font-size:.82rem}.project-card{grid-template-columns:1fr;gap:1.5rem;padding:1.25rem}.project-card-image-right .project-image-wrapper,.project-card-image-right .project-card-content{order:initial}.project-card h2{font-size:1.75rem}}@media (width<=480px){.projects-page{width:min(100% - 1.5rem,1200px)}.project-card{border-radius:20px;padding:1rem}.project-image-wrapper{border-radius:13px}.project-card-top{align-items:flex-start}.project-links{gap:.4rem}.project-link{padding:.45rem .65rem;font-size:.72rem}}.root-bower-case-study{width:min(1200px,100% - 3rem);margin:0 auto;padding:10rem 0 7rem}.rb-hero{text-align:center;max-width:900px;margin:0 auto 4rem}.rb-eyebrow,.rb-section-label{letter-spacing:.14em;text-transform:uppercase;color:#32d583;margin-bottom:1rem;font-size:.75rem;font-weight:700;display:block}.rb-hero h1{letter-spacing:-.06em;-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#dedee3 55%,#85858f 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1.25rem;font-size:clamp(4rem,10vw,8rem);font-weight:800;line-height:.92}.rb-hero-tagline{letter-spacing:-.03em;color:#fff;max-width:760px;margin:0 auto 1rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.2}.rb-hero-description{color:#ffffff94;max-width:720px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.8}.rb-live-link{color:#b8f7d3;background:#32d58314;border:1px solid #32d5833d;border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.rb-live-link:hover{background:#32d58321;border-color:#32d58366;transform:translateY(-2px)}.rb-project-meta{background:#ffffff06;border:1px solid #ffffff17;border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8rem;display:grid;overflow:hidden}.rb-meta-item{min-width:0;padding:1.5rem}.rb-meta-item+.rb-meta-item{border-left:1px solid #ffffff14}.rb-meta-item span{letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:block}.rb-meta-item strong{color:#ffffffe0;font-size:.95rem;line-height:1.5}.rb-section{border-top:1px solid #ffffff14;margin:0 auto;padding:7rem 0}.rb-section-narrow{max-width:820px}.rb-section h2,.rb-outcome h2{letter-spacing:-.045em;max-width:850px;margin:0 0 1.5rem;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.rb-section-narrow h2{max-width:760px}.rb-section p,.rb-outcome p{color:#ffffff94;max-width:760px;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.85}.rb-section p:last-child{margin-bottom:0}.rb-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:3rem 0;display:grid}.rb-stat{background:#ffffff06;border:1px solid #ffffff17;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:180px;padding:1.5rem;display:flex}.rb-stat strong{letter-spacing:-.06em;color:#fff;font-size:clamp(2.8rem,6vw,4.5rem);line-height:1}.rb-stat span{color:#ffffff73;max-width:140px;font-size:.85rem;line-height:1.4}.rb-section-copy{max-width:760px}.rb-flow{background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:2.5rem;padding:1.25rem;display:flex}.rb-flow span:nth-child(odd){color:#ffffffc7;background:#ffffff09;border:1px solid #ffffff17;border-radius:10px;padding:.55rem .75rem;font-size:.82rem;font-weight:600}.rb-flow span:nth-child(2n){color:#32d583}.rb-tech-grid{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}.rb-tech-grid span{color:#ffffffb8;background:#ffffff06;border:1px solid #ffffff1a;border-radius:999px;padding:.75rem 1rem;font-size:.9rem}.rb-outcome{background:radial-gradient(circle at 85% 15%,#32d58314,#0000 35%),#ffffff06;border:1px solid #32d58329;border-radius:28px;margin-top:2rem;padding:6rem}.rb-outcome p{margin-bottom:2rem}@media (width<=900px){.rb-project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-meta-item+.rb-meta-item{border-left:none}.rb-meta-item:nth-child(2n){border-left:1px solid #ffffff14}.rb-meta-item:nth-child(n+3){border-top:1px solid #ffffff14}.rb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-outcome{padding:4rem}}@media (width<=600px){.root-bower-case-study{width:min(100% - 2rem,1200px);padding:8rem 0 4rem}.rb-hero{margin-bottom:3rem}.rb-hero h1{font-size:clamp(3.5rem,18vw,5.5rem)}.rb-hero-tagline{font-size:1.4rem}.rb-project-meta{grid-template-columns:1fr;margin-bottom:5rem}.rb-meta-item:nth-child(2n){border-left:none}.rb-meta-item+.rb-meta-item{border-top:1px solid #ffffff14}.rb-section{padding:5rem 0}.rb-section h2,.rb-outcome h2{font-size:clamp(2rem,10vw,3rem)}.rb-section p,.rb-outcome p{font-size:1rem;line-height:1.75}.rb-stats{grid-template-columns:1fr 1fr;gap:.75rem}.rb-stat{min-height:150px;padding:1.1rem}.rb-flow{flex-direction:column;align-items:stretch}.rb-flow span:nth-child(2n){align-self:center;transform:rotate(90deg)}.rb-outcome{border-radius:22px;padding:2rem}}
