:root{--grey-100: #fdfcf9;--grey-200: #f8f7f7;--grey-300: #e8e7e4;--grey-400: #c9c8c5;--grey-500: #9a999e;--grey-600: #636366;--grey-700: #3b3a3e;--grey-800: #232327;--grey-900: #131313}:root{--max-width-container: 960px;--width-container: 70vw;--border-radius: 1em;--body-margin-bottom: 5em;--figure-gap: .5em;--figure-margin: 1em;--caption-margin: 1em;--list-margin-bottom: .5em;--base-font-size: 12.5px;--base-font-size-tablet: 12px;--base-font-size-mobile: 12px;--h1-size: 2.5em;--h2-size: 2.2em;--h3-size: 1.8em;--h4-size: 1.5em;--h5-size: 1.3em;--h6-size: 1.2em;--text-size: 1.4em;--block-quote-size: 1.4em;--h1-size-mobile: 2em;--h2-size-mobile: 1.8em;--h3-size-mobile: 1.6em;--h4-size-mobile: 1.3em;--h5-size-mobile: 1.15em;--h6-size-mobile: 1.05em;--text-size-mobile: 1.3em;--block-quote-size-mobile: 1.2em;--heading-line-height: 140%;--heading-letter-spacing: -.6px;--heading-margin: .4em;--text-letter-spacing: -.5px;--paragraph-line-height: 130%;--list-line-height: 140%}:root{--bg-color: #ffffff;--bg-color-high: #f5f7fa;--border-color: var(--grey-300);--project-card-border: #ff0000;--primary-text: var(--grey-800);--secondary-text: var(--grey-600);--tertiary-text: var(--grey-500);--highlight-color: #491cff;--highlight-color-light: #6e4aff;--highlight-color-high: #2900cf;--button-color: var(--highlight-color);--button-color-hover: var(--highlight-color-high);--logo-filter: invert(1)}[data-theme=dark]{--bg-color: #1c1c1b;--bg-color-high: #262523;--border-color: var(--grey-700);--project-card-border: #373737;--primary-text: var(--grey-300);--secondary-text: var(--grey-400);--tertiary-text: var(--grey-500);--highlight-color: #f59e42;--highlight-color-light: #ffb347;--highlight-color-high: ;--button-color: #e67300;--button-color-hover: #d97706;--logo-filter: none}@font-face{font-family:Inter;src:url(/assets/InterVariable-DEKF4JyX.ttf) format("truetype");font-weight:100 900;font-display:swap;font-style:normal}*{font-family:Inter,Arial Narrow,Arial,sans-serif}body{margin:0;position:relative;font-size:var(--base-font-size);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{width:100vw;height:-webkit-fill-available;position:absolute;z-index:-1;top:0}main canvas{width:100%;height:100%}h1,h2,h3,h4,h5,h6{margin:var(--heading-margin) 0;line-height:var(--heading-line-height);letter-spacing:var(--heading-letter-spacing)}h1,h3{color:var(--primary-text)}h1{font-size:var(--h1-size);font-weight:500}h2{font-size:var(--h2-size);color:var(--primary-text);letter-spacing:-.8px;font-weight:500;margin-top:1em}h3{font-size:var(--h3-size);font-weight:550}h4{font-size:var(--h4-size);font-weight:500;letter-spacing:-.6px;color:var(--primary-text)}h5,h6{font-size:var(--h6-size);font-weight:450;text-transform:capitalize;line-height:125%;color:var(--secondary-text)}h5{font-family:Architects Daughter,Courier,monospace;font-size:var(--h5-size)}p,li{font-size:var(--text-size);color:var(--secondary-text);letter-spacing:var(--text-letter-spacing);margin:var(--paragraph-margin) 0}p{font-weight:450;line-height:var(--paragraph-line-height)}li{font-weight:450;margin-bottom:var(--list-margin-bottom);line-height:var(--list-line-height)}li li{font-size:1em}li p{font-size:1em;margin:0}details{display:flex;flex-direction:column;padding:.75em;border-radius:.5em;margin:1em 0;border:1px solid var(--border-color);background:var(--bg-color-high)}details :hover{cursor:pointer}details[open]{background:var(--bg-color);gap:.6em}details summary{color:var(--primary-text);font-size:var(--text-size);font-weight:500}details p,details ul,details ol{margin-left:1em 0 1em 0}strong{font-weight:550;color:var(--primary-text)}figure{width:--webkit-fill-available;height:auto;display:flex;flex-direction:column;align-items:center;padding:0;margin:var(--figure-margin) 0;gap:var(--figure-gap)}figure img{width:100%;height:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);object-fit:cover}figure figcaption,figure caption{color:var(--tertiary-text);font-weight:450;font-size:1em;text-align:center;margin-bottom:var(--caption-margin)}.length-m{max-width:35ch}.length-s{max-width:30ch}a{text-decoration:none}blockquote{font-size:var(--block-quote-size)}canvas{display:block}@media(max-width:1024px){:root{--width-container: -webkit-fill-available}body{font-size:var(--base-font-size-tablet)}}@media(max-width:768px){:root{--h1-size: var(--h1-size-mobile);--h2-size: var(--h2-size-mobile);--h3-size: var(--h3-size-mobile);--h4-size: var(--h4-size-mobile);--h5-size: var(--h5-size-mobile);--h6-size: var(--h6-size-mobile);--text-size: var(--text-size-mobile);--block-quote-size: var(--block-quote-size-mobile)}figure img{border-radius:0}body{font-size:var(--base-font-size-mobile)}}.container-nav{width:-webkit-fill-available;display:flex;flex-direction:column;position:fixed;top:0;z-index:100;background:var(--bg-color);align-items:center;border:1px solid var(--border-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background-color:var(--bg-color);background-color:color-mix(in srgb,var(--bg-color) 80%,transparent)}@media screen and (max-width:768px){.container-nav{top:0;bottom:auto}}.container-nav .navbar{width:-webkit-fill-available;position:relative;padding:.5em 1em;display:flex;justify-content:space-between;align-items:center;gap:.5em;transition:all .3s ease;overflow:visible}@media(max-width:800px){.container-nav .navbar{width:-webkit-fill-available}}.container-nav .navbar .hover-indicator{display:none;position:absolute;top:0;bottom:0;background-color:var(--bg-color-hover, var(--bg-color-high));border-radius:1em;transition:all .3s ease;z-index:0}.container-nav .navbar .a-header{font-size:1.2em;display:flex;align-items:center;gap:.5em;padding:.5em .75em;color:var(--tertiary-text);position:relative;z-index:1;transition:color .2s ease;border-radius:1.5em;background:none;border:none;cursor:pointer}@media(max-width:487px){.container-nav .navbar .a-header{justify-content:center;gap:.5em}}.container-nav .navbar .a-header:hover{color:var(--primary-text)}.container-nav .navbar .a-header.active{color:var(--highlight-color)}.container-nav .navbar .navbar-left{display:flex;align-items:center;flex:0 0 auto}.container-nav .navbar .navbar-left .linkedin-btn{display:flex;align-items:center;justify-content:center;color:var(--primary-text);transition:color .2s ease}.container-nav .navbar .navbar-left .linkedin-btn:hover{color:var(--highlight-color)}.container-nav .navbar .navbar-logo{height:2.2em;width:auto;margin-right:2em;flex-shrink:0}.container-nav .navbar .navbar-center{display:flex;align-items:center;justify-content:center;flex:1;gap:.5em;position:relative}@media(max-width:800px){.container-nav .navbar .navbar-center{justify-content:flex-start}}.container-nav .navbar .navbar-right{position:fixed;display:flex;align-items:center;flex:0 0 auto;right:0;margin-right:1.5em}.container-nav .navbar .theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.5em;cursor:pointer;color:var(--tertiary-text);border-radius:50%;transition:all .2s ease;margin-right:1em}.container-nav .navbar .theme-toggle:hover{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown{position:relative;display:flex;align-items:center}@media(max-width:800px){.container-nav .navbar .menu-dropdown{position:absolute;right:0;top:0;height:100%;z-index:30}}.container-nav .navbar .menu-dropdown .mobile-actions{display:flex;align-items:center;gap:.5em}.container-nav .navbar .menu-dropdown .mobile-actions .theme-toggle-mobile{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:.5em;cursor:pointer;color:var(--tertiary-text);border-radius:50%;transition:all .2s ease}.container-nav .navbar .menu-dropdown .mobile-actions .theme-toggle-mobile:hover{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-toggle{display:flex;align-items:center;justify-content:center;padding:.5em 1em;background:none;border:none;color:var(--secondary-text);cursor:pointer;border-radius:1.5em;transition:all .2s ease;font-size:1.2em;position:relative;z-index:10}.container-nav .navbar .menu-dropdown .menu-toggle:hover{color:var(--highlight-color)}.container-nav .navbar .menu-dropdown .menu-toggle.open{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-content{position:absolute;top:-250%;right:0;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75em;box-shadow:0 8px 32px #0000001a;backdrop-filter:blur(10px);min-width:160px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:20}.container-nav .navbar .menu-dropdown .menu-content.open{opacity:1;visibility:visible;transform:translateY(0)}.container-nav .navbar .menu-dropdown .menu-content .menu-item{display:flex;align-items:center;gap:.5em;padding:.75em 1em;color:var(--secondary-text);text-decoration:none;transition:all .2s ease;font-size:1em}.container-nav .navbar .menu-dropdown .menu-content .menu-item:last-child{border-bottom:none}.container-nav .navbar .menu-dropdown .menu-content .menu-item:hover,.container-nav .navbar .menu-dropdown .menu-content .menu-item.active{color:var(--highlight-color);background-color:var(--bg-color-hover, var(--bg-color-high))}.container-nav .navbar .menu-dropdown .menu-content .menu-item span{display:inline!important}.container-nav .navbar .menu-dropdown .menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;z-index:5}.project-nav{justify-content:center;gap:2rem;margin-left:auto;margin-right:auto}.project-nav .a-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:none;color:var(--text-color);cursor:pointer;transition:all .2s ease;font-size:.9rem}.project-nav .a-header:hover{color:var(--accent-color)}.project-nav .a-header:disabled{opacity:.5;cursor:not-allowed}.project-nav .a-header:disabled:hover{color:var(--text-color)}@media(max-width:800px){.project-nav .a-header{justify-content:center;align-items:center;width:100%;text-align:center}}@media(max-width:800px){.project-nav{width:60%!important;margin:0 auto!important;left:0;right:0;display:flex!important;justify-content:center!important}}.custom-button{width:auto;height:fit-content;display:flex;align-items:center;justify-content:center;border:none;flex-direction:row;font-weight:500;cursor:pointer;gap:.5em;transition:transform .2s ease-in-out,background .3s ease,color .3s ease}.custom-button svg{display:inline-block;vertical-align:middle}.custom-button:hover{transform:scale(1.02)}.custom-button.custom-button-left{flex-direction:row}.custom-button.custom-button-right{flex-direction:row-reverse}.custom-button.custom-button-s{padding:.5em .75em;gap:.25em;border-radius:.75em}.custom-button.custom-button-m{padding:.75em 1.25em;border-radius:.75em}.custom-button.custom-button-l{padding:1em 1.5em;border-radius:1em}.custom-button.custom-button-primary{border:1px solid transparent;background-origin:border-box;background-clip:padding-box,border-box;background-image:linear-gradient(180deg,var(--button-color) 0%,color-mix(in srgb,var(--button-color) 70%,#000 30%) 100%),linear-gradient(180deg,#2600c4,#cfc4ff);color:#fff;transition:all .3s ease}.custom-button.custom-button-primary:hover{background-image:linear-gradient(180deg,var(--button-color-hover) 0%,color-mix(in srgb,var(--button-color-hover) 70%,#000 30%) 100%),linear-gradient(180deg,#cfc4ff,#2600c4)}.custom-button.custom-button-secondary{background:linear-gradient(180deg,var(--bg-color-high) 0%,color-mix(in srgb,var(--bg-color-high) 70%,#000 10%) 100%);color:var(--primary-text);border:1px solid var(--border-color)}.custom-button.custom-button-secondary:hover{background:linear-gradient(180deg,var(--bg-color-high) 0%,color-mix(in srgb,var(--bg-color-high) 50%,#000 5%) 100%);color:var(--highlight-color-high);text-decoration:underline}.custom-button.custom-button-tertiary{background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg-color-high) 60%,transparent 10%) 100%);color:var(--highlight-color);padding:.5em!important}.custom-button.custom-button-tertiary:hover{background:linear-gradient(180deg,var(--bg-color-high) 0%,color-mix(in srgb,var(--bg-color-high) 60%,#000 5%) 100%)}.custom-button.custom-button-link{background-color:#28a745;color:#fff;border-radius:1em}.custom-button.custom-button-link:hover{background-color:#218838}.resume-popup-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:flex-end;align-items:stretch;z-index:1000;opacity:0;transition:opacity .3s ease-in-out}.resume-popup-overlay.fade-in{opacity:1}.resume-popup-overlay.fade-out{opacity:0}.resume-popup-content{background-color:var(--bg-color);padding:1em;width:min(90vw,50%);height:100vh;overflow-y:auto;position:relative;transform:translate(100%);transition:transform .3s ease-out}.resume-popup-content.slide-in{transform:translate(0)}.resume-popup-content.slide-out{transform:translate(100%)}.resume-popup-actions{display:flex;flex-direction:row;gap:.75em;align-items:center;justify-content:space-between}.resume-popup-image-viewer{margin-top:1.5rem;margin-left:-1em;margin-right:-1em;margin-bottom:-1em;position:relative}.resume-popup-image-viewer img{width:100%;height:auto;display:block;border:none;outline:none;background:var(--bg-color-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-container{display:flex;flex-direction:column;align-items:center;justify-content:center;column-count:2;background-color:var(--bg-color);position:sticky;top:0;z-index:-2;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.header-container .header-column-one{display:flex;flex-direction:column;height:85vh;justify-content:center;align-items:center;width:var(--width-container);max-width:var(--max-width-container);margin:0 auto;padding:4em 1em 2em;gap:1.5em}@media screen and (max-width:767px){.header-container .header-column-one{padding:2em 1em;height:auto;min-height:80vh}}.header-container .header-column-one .profile-pic{width:8.5em;height:8.5em;display:block;border:5px solid var(--grey-100);background:var(--bg-color-high);background:linear-gradient(0deg,var(--bg-color-high) 0%,#d9e5ff 30%);border-radius:50%;object-fit:cover;box-shadow:1px 1px 13px 1px #00000012}.header-container .header-column-one .header-text-content{display:flex;flex-direction:column;align-items:center;gap:1.2em;width:100%}.header-container .header-column-one .name-tag-group{display:flex;flex-direction:column;align-items:center;gap:.5em}.header-container .header-column-one .tags{display:flex;flex-direction:row;align-items:center;gap:.5em;margin:.2rem 0;flex-wrap:wrap;justify-content:center}.header-container .header-column-one h1{font-size:2.75em;font-weight:500;text-align:center;margin:0}@media screen and (max-width:767px){.header-container .header-column-one h1{font-size:2.2em}}.header-container .header-column-one .intro-text{font-size:1.5em;text-align:center;max-width:46ch;color:var(--tertiary-text);line-height:1.4}@media screen and (max-width:767px){.header-container .header-column-one .intro-text{font-size:1.2em;max-width:90%}}.header-container .header-column-one .button-group{display:flex;flex-direction:column;justify-content:start;align-items:center;flex-wrap:wrap;gap:.5em;margin-top:1em}@media screen and (max-width:767px){.header-container .header-column-one .button-group{display:none}}.header-container .header-column-two .profile{width:7.5em;height:7.5em;border:3px solid var(--grey-100);background:var(--bg-color-high);background:linear-gradient(0deg,var(--bg-color-high) 0%,#f5ecd7 30%,#f0e5ce 100%);border-radius:5em;object-fit:cover;box-shadow:1px 1px 13px 1px #00000012}.carousel-container-logo{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;max-width:var(--max-width-container);flex-wrap:wrap;gap:1em}@media(max-width:800px){.carousel-container-logo{padding-top:1em;padding-bottom:1em;gap:.5em}}.carousel-container-logo img{width:auto;display:block;object-fit:cover;opacity:50%;filter:var(--logo-filter);height:30px}@media(max-width:768px){.carousel-container-logo img{height:25px}}@keyframes pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.tag-parent{display:flex;height:fit-content;flex-direction:row;align-items:center;gap:.75em;padding:.25em .75em;border-radius:5em;border:.5px solid var(--border-color);background-color:var(--bg-color);transition:transform .3s ease}.tag-parent:hover{transform:rotate(0)!important}.tag-parent.nobg{background-color:transparent!important}.tag-parent.nobg .tag{font-weight:600}.tag-parent.small{gap:.5em;padding:.25em .75em}.tag-parent.small .dot{width:.4em;height:.4em}.tag-parent.small .tag{font-size:1.15em}.tag-parent .dot{width:.6em;height:.6em;border-radius:2em}.tag-parent .dot.pulsating{animation:pulsate 1.5s ease-in-out infinite}.tag-parent .tag{font-size:1.25em;letter-spacing:-.5px;margin:0}.project-parent{width:var(--width-container);max-width:var(--max-width-container);display:flex;flex-direction:column;margin:-5em auto auto;gap:2em;padding:2em;background-color:var(--bg-color);border-radius:0 0 1.5em 1.5em;z-index:2}.project-parent.is-bouncing{animation:bounceUp 1.2s cubic-bezier(.34,1.56,.64,1) forwards,gentleBounce 2s ease-in-out infinite 1.4s}.project-parent:not(.is-bouncing){opacity:1;transform:translateY(0)}@media(max-width:996px){.project-parent{padding:0;gap:2em}}.project-parent .project-featured{display:flex;flex-direction:column;gap:2em;width:100%}.project-parent .project-scroll-section{display:flex;flex-direction:column;gap:1em;width:100%}.project-parent .project-scroll-label{margin:0;color:var(--secondary-text);font-size:var(--h5-size);font-weight:500;letter-spacing:-.4px}.project-parent .project-scroll-row{display:flex;gap:1em;overflow-x:auto;padding-bottom:.5em;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.project-parent .project-scroll-row::-webkit-scrollbar{height:6px}.project-parent .project-scroll-row::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px}.project-parent .project-scroll-item{flex:0 0 260px;scroll-snap-align:start}@media(max-width:767px){.project-parent .project-scroll-item{flex-basis:220px}}.project-parent .project-scroll-item .project-container-small{flex-direction:column;align-items:stretch;height:100%;padding:0;gap:.5em;border:none;background:transparent}.project-parent .project-scroll-item .project-container-small img{width:100%;aspect-ratio:16/10;height:auto;border-radius:.75em}.project-parent .project-scroll-item .project-container-small .project-card{flex-direction:column;align-items:flex-start;padding:0;gap:.25em}.project-parent .project-scroll-item .project-container-small .title-details-group{flex-direction:column;align-items:flex-start;gap:.25em}.project-parent .project-scroll-item .project-container-small .title-details-group h3{font-size:1.1em;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-parent .project-scroll-item .project-container-small .title-details-group p{font-size:.95em}.project-parent .project-scroll-item .project-container-small .desc-btn-group{display:none}.project-parent .project-list{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}@keyframes bounceUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.project-container{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:auto;transition:all linear .2s;position:relative;z-index:1;border-radius:1.5em;padding:.5em .5em 0;border:1px solid var(--border-color);background:var(--bg-color-high)}.project-container:hover{cursor:pointer;background-color:var(--bg-color-high)}.project-container:hover img{transition:border-radius .2s ease}.project-container img{width:100%;height:auto;display:block;object-fit:cover;transform-origin:center;border-radius:1em}@media screen and (max-width:767px){.project-container img{aspect-ratio:5/4;border:1px solid transparent;border-radius:0}}.project-container .project-card{width:-webkit-fill-available;display:flex;gap:.5em;padding:2em;position:relative;flex-direction:column;justify-content:space-between;align-items:center}@media screen and (max-width:767px){.project-container .project-card{flex-direction:column;justify-content:flex-start;align-items:flex-start}}.project-container .project-card .title-details-group{width:100%;display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:.2em}.project-container .project-card .title-details-group h6{color:var(--tertiary-text)}@media screen and (max-width:767px){.project-container .project-card .title-details-group{flex-direction:column-reverse;align-items:flex-start;gap:.5em}}.project-container .project-card h3,.project-container .project-card h5{margin:0}.project-container .project-card h5{font-family:Circular-Book,Arial Narrow,Arial,sans-serif;text-transform:uppercase;font-size:1.2em}@media screen and (max-width:900px){.project-container .project-card{flex-direction:column;align-items:flex-end;gap:.2em}.project-container .project-card .title-tag-group{align-items:flex-start}}.project-container .project-card .tag-container{display:flex;gap:.3em}.project-container h2,.project-container h3,.project-container h5,.project-container h6,.project-container p{margin:0}.project-container h3{max-width:35ch;margin-bottom:0}.project-container p{max-width:40ch;margin-top:0}.desc-btn-group{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1em;width:100%}.description{flex:1 1 auto;margin-right:.5em}.button-container{flex:0 0 auto}@media screen and (max-width:767px){.button-container{display:none}}.project-container-small{max-width:var(--max-width-container);display:flex;height:auto;flex-direction:row;overflow:hidden;align-items:center;justify-content:center;gap:.5em;padding:0;border:none;background:transparent;border-radius:0;transition:transform .2s ease}.project-container-small:hover{cursor:pointer;background-color:transparent;transform:scale(.99)}.project-container-small img{width:30%;height:100%;display:block;object-fit:cover;border-radius:.75em;border:1px solid var(--border-color)}@media screen and (max-width:767px){.project-container-small img{aspect-ratio:16/9}}@media screen and (max-width:608px){.project-container-small img{aspect-ratio:1/1;object-position:left}}.project-container-small .project-card{width:-webkit-fill-available;display:flex;position:relative;flex-direction:row;justify-content:space-between;align-items:center;padding:0;gap:.25em}@media screen and (max-width:767px){.project-container-small .project-card{flex-direction:column;justify-content:start;align-items:start}}@media screen and (max-width:367px){.project-container-small .project-card{flex-direction:column;justify-content:start;align-items:start}}.project-container-small .title-details-group p,.project-container-small .description,.project-container-small .desc-btn-group{display:none}.project-container-small .project-card-data{display:flex;flex-direction:column;align-items:start;justify-content:space-between;text-decoration:none;gap:.2em}.project-container-small .project-card-data h2,.project-container-small .project-card-data h5,.project-container-small .project-card-data h6,.project-container-small .project-card-data h3,.project-container-small .project-card-data p{margin:0}.project-container-small .project-card-data h5{text-transform:capitalize;font-size:1.2em}.project-container-small .project-card-data h3{max-width:30ch}@media screen and (max-width:767px){.project-container-small .project-card-data h3{width:100%}}@media screen and (max-width:767px){.project-container-small .link{display:none}}.skeleton-container{opacity:.7;animation:pulse 1.5s infinite ease-in-out;pointer-events:none}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.skeleton-image{width:100%;aspect-ratio:16/9;background-color:var(--background-color, #e0e0e0);border-radius:var(--border-radius, 8px);margin-bottom:24px}.skeleton-card{display:flex;flex-direction:column;gap:16px}.skeleton-line{height:20px;background-color:var(--background-color, #e0e0e0);border-radius:4px;width:100%}.skeleton-title{height:28px;width:70%;margin-bottom:8px}.skeleton-meta{width:40%;height:16px}.skeleton-desc{width:90%}.skeleton-desc.short{width:60%}.skeleton-button{width:120px;height:48px;background-color:var(--background-color, #e0e0e0);border-radius:24px;margin-top:16px}@media(prefers-color-scheme:dark){.skeleton-image,.skeleton-line,.skeleton-button{background-color:var(--background-color, #2a2a2a)}}body.dark-theme .skeleton-image,body.dark-theme .skeleton-line,body.dark-theme .skeleton-button{background-color:var(--background-color, #2a2a2a)}.testimonials-section{width:var(--width-container);max-width:var(--max-width-container);margin-left:auto;background-color:var(--bg-color);margin-right:auto;display:flex;flex-direction:column;gap:.5em;overflow:hidden;align-items:center;padding-top:2em;z-index:-1}.testimonials-section h1{text-align:center}.testimonials-section .testimonials-grid{display:grid;grid-template-columns:1fr 1fr;gap:2em;width:100%;max-width:100%;margin:0 auto}.testimonials-section .testimonial-card{min-width:0;max-width:100%;flex:0 0 auto;min-height:10em;display:flex;background-color:var(--bg-color-high);flex-direction:column-reverse;justify-content:flex-end;gap:1.5em;padding:1.5em;border-radius:1em;transition:transform .3s ease,rotate .3s ease}.testimonials-section .testimonial-content{display:flex;flex-direction:column-reverse;padding-left:3.5em;gap:.5em}.testimonials-section .testimonial-content p{margin:0;line-height:145%;color:#666;flex-grow:1}.testimonials-section .testimonial-content p .highlighted{color:var(--highlight-color);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .1em;border-radius:.2em;font-weight:500}.testimonials-section .testimonial-content .testimonial-title{font-weight:500;color:var(--primary-text);margin:0}.testimonials-section .testimonial-header{display:flex;align-items:start;gap:.5em}.testimonials-section .testimonial-header .testimonial-meta p,.testimonials-section .testimonial-header .testimonial-meta h5{margin:0;font-weight:400}.testimonials-section .testimonial-header .testimonial-meta p{color:var(--primary-text)}.testimonials-section .testimonial-header .testimonial-meta h5{opacity:.7}.testimonials-section .testimonial-avatar{width:3em;height:3em;border-radius:50%;object-fit:cover}@media(max-width:900px){.testimonials-section{padding:1em}.testimonials-section .testimonials-grid{grid-template-columns:1fr}}.faq-container{max-width:var(--max-width-container);display:flex;flex-direction:column;background-color:var(--bg-color);gap:1em;margin:auto;padding-top:4em;padding-bottom:4em}@media screen and (max-width:768px){.faq-container{padding:1em 1em 4em}}.faq-item{overflow:hidden}.faq-question{display:flex;justify-content:space-between;border-radius:1em;align-items:center;padding:1em;background-color:var(--bg-color-high);cursor:pointer;font-weight:700;transition:background-color .3s ease}.faq-question:hover{background-color:var(--bg-color-hover, var(--bg-color-high))}.faq-icon{font-size:1.5em;color:var(--secondary-text);transition:transform .3s ease}.faq-answer{padding:1em;background-color:var(--bg-color);color:var(--secondary-text);font-size:var(--text-size)}.faq-answer li{font-size:1em}.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease}.faq-answer.open{max-height:500px;opacity:1}.faq-answer.closed{padding-top:0;padding-bottom:0}.contact-form-container{max-width:-webkit-fill-available;margin:auto;padding:5em 2em 7em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;border:1px solid var(--border-color);background:linear-gradient(180deg,#f7f5ff 80%,#fff);position:relative;border:none}.contact-form-container:before{content:"";position:absolute;inset:0;padding-top:3px;background:linear-gradient(90deg,var(--bg-color-high) 10%,rgba(73,28,255,.4784313725) 50%,var(--bg-color-high) 90%);-webkit-mask:linear-gradient(#ffcfcf 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:0}.contact-form-container>*{position:relative;z-index:1}.contact-form-container h1{margin-bottom:0}.contact-form-container h4{text-align:center;max-width:40ch;color:var(--secondary-text)}.contact-form-container .cta-row{display:flex;flex-direction:row;gap:1em;justify-content:center;margin-top:1em;margin-bottom:.5em;flex-wrap:wrap}.contact-form-container .tags-row{display:flex;max-width:80ch;flex-direction:row;gap:.5em;justify-content:center;margin-top:1em;flex-wrap:wrap}@media(max-width:800px){.contact-form-container{padding:5em 1em 8em}.cta-row{gap:1em}}.ai-fab-button{position:fixed;bottom:2rem;right:2rem;background:linear-gradient(135deg,var(--highlight-color),#491cff);color:#fff;border:none;border-radius:2em;padding:.75em 1.25em;font-size:var(--text-size);font-family:inherit;font-weight:500;display:flex;align-items:center;gap:.5em;cursor:pointer;box-shadow:0 8px 24px #491cff66;z-index:999;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,visibility .2s ease}.ai-fab-button.hidden{opacity:0;visibility:hidden;transform:scale(.9) translateY(10px)}.ai-fab-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 32px #491cff80}.ai-fab-button .sparkle{font-size:1.2em}.ai-chat-window{position:fixed;bottom:2rem;right:2rem;width:420px;max-height:80vh;background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 12px 36px #00000026;z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.ai-chat-header{padding:1.25em 1.5em;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-color-high)}.ai-chat-header .bot-info{display:flex;align-items:center;gap:.75em}.ai-chat-header .bot-info .bot-avatar{font-size:1.5em;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#491cff1a,#ff1cf01a);border-radius:50%;color:var(--primary-text)}.ai-chat-header .bot-info .bot-text-details{display:flex;flex-direction:column}.ai-chat-header .bot-info .bot-text-details h3{margin:0;font-size:var(--h3-size)}.ai-chat-header .bot-info .bot-text-details .status{font-size:.8em;color:#22c55e;font-weight:500;display:flex;align-items:center;gap:4px}.ai-chat-header .bot-info .bot-text-details .status:before{content:"";display:inline-block;width:6px;height:6px;background-color:#22c55e;border-radius:50%}.ai-chat-header .close-btn{background:transparent;border:none;font-size:1.2em;color:var(--secondary-text);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease,color .2s ease}.ai-chat-header .close-btn:hover{background:var(--border-color);color:var(--primary-text)}.ai-chat-messages{padding:1.5em;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.25em;background:var(--bg-color);min-height:250px}.ai-chat-messages .message{display:flex;flex-direction:column;max-width:90%}.ai-chat-messages .message.user-message{align-self:flex-end;background:var(--bg-color-high);color:var(--primary-text);border-radius:var(--border-radius);border-bottom-right-radius:4px;padding:1em 1.25em;white-space:pre-wrap;border:1px solid var(--border-color)}.ai-chat-messages .message.user-message p{color:var(--primary-text)}.ai-chat-messages .message.bot-message{align-self:flex-start;background:transparent;color:inherit;border:none;padding:0;max-width:100%}.ai-chat-messages .message.bot-message p:last-child{margin-bottom:0}.ai-chat-messages .suggested-prompts{display:flex;flex-wrap:wrap;gap:.5em;margin:.5em 0}.ai-chat-messages .suggested-prompts .prompt-chip{background:var(--bg-color-high);border:1px solid var(--border-color);color:var(--primary-text);padding:.5em 1em;border-radius:2em;font-size:calc(var(--text-size) * .9);font-family:inherit;cursor:pointer;transition:all .2s ease}.ai-chat-messages .suggested-prompts .prompt-chip:hover{background:var(--primary-text);color:var(--bg-color);transform:translateY(-2px)}.ai-chat-messages .searching-text{font-family:inherit;font-size:var(--text-size);color:var(--secondary-text);animation:pulse 1.5s infinite;margin:0}.ai-chat-input{padding:1.25em 1.5em;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.75em;background:var(--bg-color)}.ai-chat-input input{flex:1;background:var(--bg-color-high);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.875em 1.25em;font-size:var(--text-size);color:var(--primary-text);outline:none;transition:border-color .2s ease}.ai-chat-input input::placeholder{color:var(--secondary-text);opacity:.7}.ai-chat-input input:focus{border-color:var(--highlight-color)}.ai-chat-input input:disabled{opacity:.6;cursor:not-allowed}.ai-chat-input .send-btn{width:40px;height:40px;border-radius:50%;background:var(--highlight-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:1.2em;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.ai-chat-input .send-btn:disabled{background:var(--border-color);color:var(--secondary-text);cursor:not-allowed;opacity:.6}.ai-chat-input .send-btn:not(:disabled):hover{transform:scale(1.05)}@keyframes slideUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media(max-width:768px){.ai-chat-window{inset:0;width:100%;height:100%;max-height:100dvh;border-radius:0;border:none;z-index:10000}.ai-chat-messages{padding-bottom:env(safe-area-inset-bottom,1rem)}.ai-fab-button{bottom:1.25rem;right:1.25rem}}.footer-container{margin:auto;display:flex;flex-direction:column;align-items:center;padding:2em;gap:1em;background:var(--bg-color)}.about-redirect{max-width:var(--max-width-container);display:flex;background-color:#fff;flex-direction:column;align-items:start;transition:box-shadow .15s ease-in-out;height:auto;border-radius:.75em;padding:1em;border:2px solid var(--border-color)}
