.home-page .my-hero .hero-card .hero-layout{flex-direction:column;display:flex}@media (min-width:800px){.home-page .my-hero .hero-card .hero-layout{flex-direction:row;align-items:flex-start}}.home-page .my-hero .hero-card .hero-layout .hero-image-section{justify-content:center;align-self:center;max-width:100%;display:flex}@media (min-width:800px){.home-page .my-hero .hero-card .hero-layout .hero-image-section{flex-shrink:0}}.home-page .my-hero .hero-card .hero-layout .hero-image-section .hero-image{border:3px solid #006279;border-radius:50%;width:15rem;height:15rem;margin:2rem 0 0;position:relative;overflow:hidden}@media (min-width:800px){.home-page .my-hero .hero-card .hero-layout .hero-image-section .hero-image{width:20rem;height:20rem;margin:2rem}}.home-page .my-hero .hero-card .hero-layout .hero-content-section{flex:1}.error,.error-page{justify-content:center;align-items:center;min-height:50vh;padding:3rem 1rem;display:flex}.error .card,.error-page .card{text-align:center;width:100%;max-width:500px;box-shadow:none;background:#fff;border:none;border-radius:.75rem;padding:2.5rem 2rem}.error [data-slot=card-header],.error-page [data-slot=card-header]{margin-bottom:1.5rem}.error [data-slot=card-header]>div:first-child,.error-page [data-slot=card-header]>div:first-child{color:#006279;margin-bottom:.5rem;font-size:4rem;font-weight:650;line-height:1}.error [data-slot=card-header] .bird-loader-wrap,.error-page [data-slot=card-header] .bird-loader-wrap{margin-bottom:.5rem}.error .card-title,.error-page .card-title{color:#476167;margin-bottom:.5rem;font-size:1.5rem;font-weight:650}.error .card-description,.error-page .card-description{color:#6b7280;font-size:1rem;font-weight:400}.error [data-slot=card-content],.error-page [data-slot=card-content]{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.error [data-slot=card-content] .error-btn-live,.error-page [data-slot=card-content] .error-btn-live{color:#efefef;text-align:center;cursor:pointer;background-color:#006279;border-radius:.3rem;padding:.75rem 1.5rem;font-family:Raleway,sans-serif;font-size:1rem;font-weight:550;text-decoration:none;display:inline-block}.error [data-slot=card-content] .error-btn-live:hover,.error-page [data-slot=card-content] .error-btn-live:hover{color:#fff;background-color:#006279e6;text-decoration:underline}.error [data-slot=card-content] .error-btn-github,.error-page [data-slot=card-content] .error-btn-github{color:#476167;text-align:center;cursor:pointer;background-color:#0062791a;border:1px solid #476167;border-radius:.4rem;padding:.75rem 1.5rem;font-family:Raleway,sans-serif;font-size:1rem;font-weight:550;display:inline-block}.error [data-slot=card-content] .error-btn-github:hover,.error-page [data-slot=card-content] .error-btn-github:hover{color:#efefef;background-color:#476167e6;text-decoration:underline}.calendar-page{text-align:center;flex-direction:column;max-width:1200px;margin:0 auto;font-family:Raleway,sans-serif;display:flex}.calendar-page .calendar-header h1{color:#006279;margin:2rem auto;font-size:2rem;font-weight:550}.calendar-page .calendar-header p{color:#476167;margin:0 1rem 2rem;font-size:1.2rem;font-weight:400}.calendar-page .calendar-content{flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.calendar-page .calendar-content .widget-note{color:#6b7280;max-width:1100px;margin-bottom:1rem;font-size:1rem}.widget{border:2px solid #006279;border-radius:.5rem;width:100%;max-width:1100px;height:700px;margin:0 auto;position:relative}.widget iframe{border:0;width:100%;height:700px;position:absolute;top:0;left:0}@media (min-width:861px){.widget{height:510px;overflow:hidden}.widget iframe{top:-52px}}@media (min-width:800px){.widget{height:560px}.widget iframe{top:-25px}}.cal-loading{z-index:20;background:#fff;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.contact-page{text-align:center;flex-direction:column;max-width:900px;margin:0 auto;padding:0 1rem;font-family:Raleway,sans-serif;display:flex}.contact-page .contact-header h1{color:#006279;margin:2rem auto;font-size:2rem;font-weight:550}.contact-page .contact-header p{color:#476167;margin-bottom:2rem;font-size:1.2rem;font-weight:400}.github-page{text-align:center;flex-direction:column;max-width:1200px;margin:0 auto;font-family:Raleway,sans-serif;display:flex}.github-page .github-header h1{color:#006279;margin:2rem auto;font-size:2rem;font-weight:550}.github-page .github-header p{color:#476167;margin-bottom:2rem;font-size:1.2rem;font-weight:400}.github-page .repo-list{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem;padding:0 1rem;display:grid}@media (min-width:800px){.github-page .repo-list{grid-template-columns:repeat(3,1fr)}}.github-page .repo-card{text-align:left;background:#fff;border-radius:.5rem;flex-direction:column;justify-content:space-between;max-width:800px;min-height:200px;margin:0 auto;padding:1.5rem;display:flex;box-shadow:0 1px 3px #476167e6}@media (min-width:800px){.github-page .repo-card{min-height:250px}}.github-page .repo-card .case-study-card-badge{text-align:center;color:#fff;background:#fb9935;border:none;border-radius:1rem;width:5rem;margin:.25rem 0 .5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:550;display:inline-block}.github-page .repo-card .repo-description{color:#6b7280;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.github-page .repo-card .repo-description .read-more{color:#006279;align-self:end;font-style:italic;font-weight:400;text-decoration:none}.github-page .repo-card .repo-description .read-more:hover{color:#476167;text-decoration:underline}.github-page .repo-card .repo-title{color:#476167;margin-bottom:.5rem;font-size:1.2rem;font-weight:550}.github-page .repo-card .card-content{flex-direction:column;gap:1rem;display:flex}.github-page .repo-card .card-content .technologies{flex-direction:column;gap:.5rem;display:flex}.github-page .repo-card .card-content .technologies .tech-stack{color:#006279e6;flex-wrap:wrap;gap:.5rem;max-height:4.8rem;font-size:1rem;display:flex;overflow:hidden}.github-page .repo-card .card-content .technologies .tech-stack .tech-badge{border:1px solid #006279e6;border-radius:1rem;padding:.4rem}.github-page .repo-card .card-content .technologies .tech-stack .tech-badge:hover{color:#374151;border-color:#374151}.github-page .repo-card .card-content .repo-links{text-align:center;flex-direction:column;gap:1rem;width:100%;max-width:800px;margin:auto;padding:.5rem 0;display:flex}@media (min-width:800px){.github-page .repo-card .card-content .repo-links{flex-flow:wrap;gap:.5rem;margin-top:auto}}.github-page .repo-card .card-content .repo-links a{color:#fff;background:#006279;border:none;border-radius:.375rem;padding:.5rem 1rem;font-weight:400;text-decoration:none}.github-page .repo-card .card-content .repo-links a:hover{background:#476167;text-decoration:underline}.project-details-page{flex-direction:column;max-width:1200px;margin:0 auto;font-family:Raleway,sans-serif;display:flex}.project-details-page .back-button{align-self:flex-start;margin:1.5rem 1rem;padding-top:.7rem}@media (min-width:800px){.project-details-page .back-button{margin:1rem;padding-top:0}}.project-details-page .back-button a{color:#006279;text-decoration:none}.project-details-page .back-button a:hover{color:#476167;text-decoration:underline}.project-details-page .project-details{background:#fff;border:5px solid #006279;border-radius:.5rem;flex-direction:column;align-items:center;margin:0 1rem 4rem;padding:1rem;display:flex;overflow:hidden}.project-details-page .project-details .additional-images{display:none}@media (min-width:800px){.project-details-page .project-details{flex-direction:row;align-items:stretch}.project-details-page .project-details .images-column{flex-direction:column;justify-content:center;align-self:stretch;min-width:250px;max-width:300px;margin-right:1rem;display:flex}.project-details-page .project-details .images-column>.project-image{flex:none;width:auto;max-height:300px}.project-details-page .project-details .images-column>.project-image img{object-fit:contain;width:100%;height:100%}.project-details-page .project-details .additional-images{flex-direction:column;flex:1;display:flex}.project-details-page .project-details .additional-images .project-image{flex:1;width:auto;height:auto;max-height:300px}.project-details-page .project-details .additional-images .project-image img{object-fit:contain;width:100%;height:100%}}.project-details-page .project-details .project-image{flex-shrink:0;justify-content:center;align-items:center;height:200px;padding:1rem;display:flex;position:relative}.project-details-page .project-details .project-image img{object-fit:contain;max-width:100%;max-height:100%}.project-details-page .project-details .project-title h1{color:#006279;font-size:2rem;font-weight:550}.project-details-page .project-details .project-title h3{color:#476167;font-size:1.2rem;font-weight:550}.project-details-page .project-details .project-description h3{color:#476167;text-align:left;flex:1;align-items:center;margin:0;font-size:1.2rem;display:flex}.project-details-page .project-details .project-description p,.project-details-page .project-details .lessons p{color:#374151;font-size:1rem}.project-details-page .live-project{text-align:center;background-color:#006279;border-radius:.3rem;width:100%;margin:2rem 0;padding:1rem 0}.project-details-page .live-project:hover{color:#fff;background-color:#006279e6;text-decoration:underline}.project-details-page .live-project a{color:#efefef;width:100%;font-size:1rem;font-weight:550;text-decoration:none;display:block}@media (min-width:800px){.project-details-page .live-project{width:18rem}}.project-details-page .demo-details>div{flex-direction:column;gap:.5rem;display:flex}@media (min-width:800px){.project-details-page .demo-details>div{flex-direction:row;gap:0}}.project-details-page .demo-details a{color:#476167;text-align:center;background-color:#0062791a;border:1px solid #476167;border-radius:.4rem;padding:.5rem;font-weight:550;text-decoration:none}@media (min-width:800px){.project-details-page .demo-details a{width:auto;margin:.5rem}}.project-details-page .demo-details a:hover{color:#efefef;background-color:#476167e6;text-decoration:underline}.project-details-page .technologies{flex-direction:column;display:flex}.project-details-page .technologies .tech-stack{color:#006279e6;flex-wrap:wrap;gap:.5rem;font-size:1rem;display:flex}.project-details-page .technologies .tech-stack .tech-badge{border:1px solid #006279e6;border-radius:1rem;padding:.4rem}.project-details-page .technologies .tech-stack .tech-badge:hover{color:#374151;border-color:#374151}.walkthrough-section{margin:1.5rem 0}.walkthrough-section h3{margin-bottom:1rem}.walkthrough-grid{flex-direction:column;gap:.75rem;display:flex}@media (min-width:800px){.walkthrough-grid{flex-flow:wrap}}.walkthrough-thumbnail{cursor:pointer;background:0 0;border:2px solid #006279e6;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.5rem;transition:border-color .2s,transform .2s;display:flex}@media (min-width:800px){.walkthrough-thumbnail{gap:0;width:8rem;padding:.25rem}}.walkthrough-thumbnail:hover{border-color:#476167;transform:scale(1.02)}@media (min-width:800px){.walkthrough-thumbnail:hover{transform:scale(1.05)}}.walkthrough-thumbnail .thumbnail-image{object-fit:contain;border-radius:.25rem;width:100%;height:auto}@media (min-width:800px){.walkthrough-thumbnail .thumbnail-image{object-fit:cover;width:100%;height:80px}}.walkthrough-thumbnail .thumbnail-caption{color:#374151;text-align:center;margin-top:.5rem;font-family:Raleway,sans-serif;font-size:1rem;font-weight:400}@media (min-width:800px){.walkthrough-thumbnail .thumbnail-caption{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:120px;font-size:.85rem;overflow:hidden}.walkthrough-grid--inline .walkthrough-thumbnail{pointer-events:none;cursor:default;border:none;flex:1 1 0;width:auto;max-width:50%;padding:.5rem}.walkthrough-grid--inline .walkthrough-thumbnail:hover{transform:none}.walkthrough-grid--inline .thumbnail-image{object-fit:contain;width:100%;height:auto}.walkthrough-grid--inline .thumbnail-caption{max-width:none;text-overflow:unset;white-space:normal;font-size:1rem;overflow:visible}}.walkthrough-grid--inline .thumbnail-caption--link{pointer-events:auto;cursor:pointer;color:#006279;text-decoration:none}.walkthrough-grid--inline .thumbnail-caption--link:hover{color:#476167;text-decoration:underline}.lightbox-modal{z-index:1000;background:#fff;border-radius:.5rem;max-width:90vw;height:100%;max-height:75vh;padding:1rem;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10px 50px #0000004d}@media (min-width:800px){.lightbox-modal{max-width:700px;max-height:90vh}}.lightbox-modal:focus{outline:none}.lightbox-content{grid-template-rows:1fr auto auto;place-items:center;gap:1rem;height:90%;margin-top:1rem;display:grid}.lightbox-image{border-radius:.25rem;max-width:90vw;height:auto;max-height:70vh}@media (min-width:800px){.lightbox-image{object-fit:contain;max-width:100%;max-height:65vh}}.lightbox-text{text-align:center;max-width:600px;margin:0 auto}@media (min-width:800px){.lightbox-text{max-width:none}}.lightbox-caption{color:#476167;margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.lightbox-description{color:#374151;margin:0;font-size:.95rem;line-height:1.5}.lightbox-nav{text-align:center;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:1rem;margin-top:1rem;display:grid}@media (min-width:800px){.lightbox-nav{width:100%}}.lightbox-nav .nav-button{cursor:pointer;color:#476167;background:#0062791a;border:1px solid #476167;border-radius:.25rem;padding:.5rem 1rem;font-size:1.25rem}@media (min-width:800px){.lightbox-nav .nav-button{width:4rem;margin:0 auto}}.lightbox-nav .nav-button:hover{color:#efefef;background:#476167e6}.lightbox-nav .nav-counter{color:#374151;font-size:.875rem}.lightbox-close{cursor:pointer;color:#374151;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.lightbox-close:hover{color:#476167}[data-slot=dialog-overlay]{z-index:999;background:#0009;position:fixed;inset:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projects-page{max-width:1200px;margin:0 auto;padding:0 1rem 1rem}.projects-page .projects-header{margin-bottom:2rem}.projects-page .projects-header h2{color:#476167;margin-bottom:.5rem;font-size:2rem;font-weight:650}.projects-page .projects-header p{color:#6b7280;font-size:1.2rem}.projects-page .projects-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem;display:grid}.projects-page .projects-grid .project-card{background:#fff;border:5px solid #006279;border-radius:.5rem;flex-direction:column;align-items:center;padding:1rem;display:flex;overflow:hidden}@media (min-width:800px){.projects-page .projects-grid .project-card{flex-direction:row}}.projects-page .projects-grid .project-card .project-card-image{flex-shrink:0;justify-content:center;align-items:center;height:200px;padding:2rem;display:flex;position:relative}@media (min-width:800px){.projects-page .projects-grid .project-card .project-card-image{width:250px;height:250px}}.projects-page .projects-grid .project-card .project-card-image img{object-fit:contain;border-radius:1rem;max-width:100%;max-height:100%}.projects-page .projects-grid .project-card .project-card-content{flex-direction:column;flex:1;justify-content:space-between;padding:1.5rem;display:flex}.projects-page .projects-grid .project-card .project-card-content .card-title{color:#476167;margin-bottom:1rem;font-size:1.5rem;font-weight:550}.projects-page .projects-grid .project-card .project-card-content .card-description{color:#6b7280;flex:1;margin:0 0 1rem;font-size:1rem;line-height:1.6}.projects-page .projects-grid .project-card .project-card-content .card-footer{text-align:center;margin-top:auto}@media (min-width:800px){.projects-page .projects-grid .project-card .project-card-content .card-footer{text-align:left}}.projects-page .projects-grid .project-card .project-card-content .card-footer button,.projects-page .projects-grid .project-card .project-card-content .card-footer a{color:#fff;text-align:center;cursor:pointer;background:#006279;border:none;border-radius:.375rem;padding:.75rem;font-weight:550;text-decoration:none;display:block}@media (min-width:800px){.projects-page .projects-grid .project-card .project-card-content .card-footer button,.projects-page .projects-grid .project-card .project-card-content .card-footer a{width:6rem;display:inline-block}}.projects-page .projects-grid .project-card .project-card-content .card-footer button:hover,.projects-page .projects-grid .project-card .project-card-content .card-footer a:hover{background:#476167}.projects-page .projects-grid .project-card.case-study-card{border-color:#00a0c5}.projects-page .projects-grid .project-card.case-study-card .project-card-image{background:#6e9460;border-radius:12px}.projects-page .projects-grid .project-card.case-study-card .project-card-image img{border-radius:0}.projects-page .projects-grid .project-card .case-study-card-badge{text-align:center;color:#fff;background:#fb9935;border:none;border-radius:1rem;width:5rem;margin:.25rem 0 .5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:550;display:inline-block}.resume-page{text-align:center;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 1rem 1rem;font-family:Raleway,sans-serif;display:flex}.resume-page .resume-header-section{border-bottom:1px dashed #006279e6;flex-direction:column;align-items:center;margin-bottom:.5rem;padding-bottom:1.5rem;display:flex}@media (min-width:800px){.resume-page .resume-header-section{flex-direction:row;justify-content:space-between;align-items:center}}.resume-page .resume-header-section h1{color:#006279;margin:2rem autos;text-align:center;font-size:2rem;font-weight:550}.resume-page .download-buttons{flex-direction:column;gap:1rem;width:100%;display:flex}@media (min-width:800px){.resume-page .download-buttons{flex-direction:row;width:auto}}.resume-page .download-buttons button,.resume-page .download-buttons a{color:#fff;cursor:pointer;background:#006279;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:550;text-decoration:none;transition:background .2s;display:inline-flex}@media (min-width:800px){.resume-page .download-buttons button,.resume-page .download-buttons a{width:auto}}.resume-page .download-buttons button:hover,.resume-page .download-buttons a:hover{background:#476167}.resume-page .resume-content{text-align:left;flex-direction:column;display:flex}.resume-page .resume-content .resume-card-header{padding:1rem}@media (min-width:800px){.resume-page .resume-content .resume-card-header{padding:1.5rem 0}}.resume-page .resume-content .resume-card-header .contact-info{flex-direction:column;align-items:center;display:flex}@media (min-width:800px){.resume-page .resume-content .resume-card-header .contact-info{flex-direction:row;justify-content:space-between;align-items:center}}.resume-page .resume-content .resume-card-header .contact-info h1{color:#006279;text-align:center;margin-bottom:1rem;font-size:1.5rem;font-weight:650}@media (min-width:800px){.resume-page .resume-content .resume-card-header .contact-info h1{margin-bottom:0}}.resume-page .resume-content .resume-card-header .contact-info .contact-items{flex-flow:wrap;justify-content:center;gap:1rem;display:flex}@media (min-width:800px){.resume-page .resume-content .resume-card-header .contact-info .contact-items{justify-content:flex-end}}.resume-page .resume-content .resume-card-header .contact-info .contact-item{flex-direction:row;align-items:center;gap:.5rem;display:flex}.resume-page .resume-content .resume-card-header .contact-info .contact-item svg{color:#006279e6;width:1rem;height:1rem}.resume-page .resume-content .resume-card-header .contact-info .contact-item a,.resume-page .resume-content .resume-card-header .contact-info .contact-item p{color:#006279;font-size:1rem;text-decoration:none}.resume-page .resume-content .resume-card-header .contact-info .contact-item a:hover,.resume-page .resume-content .resume-card-header .contact-info .contact-item p:hover{color:#476167e6;text-decoration:underline}.resume-page .resume-content .skills-attributes-container{flex-direction:column;gap:2rem;display:flex}@media (min-width:800px){.resume-page .resume-content .skills-attributes-container{flex-direction:row;gap:0}.resume-page .resume-content .skills-attributes-container .technical-skills-column{border-right:1px solid #efefef;flex:1;padding-right:2rem}.resume-page .resume-content .skills-attributes-container .attributes-certifications-column{flex-direction:column;flex:1;gap:2rem;padding-left:2rem;display:flex}}.resume-page .resume-content .resume-section{padding:1rem 0}.resume-page .resume-content .resume-section .card-title{color:#476167;border-bottom:1px solid #6b7280;width:15rem;margin-bottom:1rem;padding-bottom:.7rem;font-size:1.5rem;font-weight:550}.resume-page .resume-content .resume-section p{color:#6b7280;margin-bottom:1rem;font-size:1rem;line-height:1.6}.resume-page .resume-content .resume-section .section-list{margin-left:1.5rem;list-style-type:disc}.resume-page .resume-content .resume-section .section-list li{color:#6b7280;margin-bottom:.5rem;font-size:1rem;line-height:1.6}.resume-page .resume-content .employment{border-bottom:1px solid #efefef;margin-bottom:1rem;padding-bottom:1rem}.resume-page .resume-content .employment .employment-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}@media (min-width:800px){.resume-page .resume-content .employment .employment-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.resume-page .resume-content .employment .employment-info h3{color:#476167e6;margin-bottom:.5rem;font-size:1.2rem;font-weight:550}.resume-page .resume-content .employment .employment-info .company-name{color:#374151;margin:0;font-size:1rem;font-weight:400}.resume-page .resume-content .employment .employment-meta .employment-dates,.resume-page .resume-content .employment .employment-meta .employment-location{color:#476167e6;margin:0;font-size:1rem}@media (min-width:800px){.resume-page .resume-content .employment .employment-meta{text-align:right}}.resume-page .resume-content .employment .employment-duties{color:#6b7280;margin-top:.5rem}.resume-page .resume-content .education{border-bottom:1px solid #efefef;margin-bottom:1rem;padding-bottom:1rem}.resume-page .resume-content .education .education-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}@media (min-width:800px){.resume-page .resume-content .education .education-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.resume-page .resume-content .education .education-info h3{color:#476167;margin-bottom:.25rem;font-size:1.2rem;font-weight:550}.resume-page .resume-content .education .education-info .institution-name{color:#374151;margin:0;font-size:1rem;font-weight:400}.resume-page .resume-content .education .education-meta .education-dates,.resume-page .resume-content .education .education-meta .education-location{color:#476167e6;margin:0;font-size:1rem}@media (min-width:800px){.resume-page .resume-content .education .education-meta{text-align:right}}.resume-page .resume-content .education .education-learnings{color:#6b7280;margin-top:.5rem}.resume-page .resume-content .skills{flex-direction:column;gap:2rem;margin-bottom:3rem;display:flex}.resume-page .resume-content .skills .skill-category{flex-direction:column;gap:1rem;display:flex}.resume-page .resume-content .skills .skill-category .skill-label{color:#476167;font-size:1rem;font-weight:550}.resume-page .resume-content .skills .skill-category .skill-items{flex-wrap:wrap;gap:.5rem;display:flex}.resume-page .resume-content .skills .skill-category .skill-items .skill-badge{color:#006279e6;border:1px solid #006279e6;border-radius:1rem;padding:.4rem;font-size:1rem;transition:all .2s}.resume-page .resume-content .skills .skill-category .skill-items .skill-badge:hover{color:#374151;border-color:#374151}.resume-page .resume-content .attributes{flex-wrap:wrap;gap:.5rem;margin-bottom:3rem;display:flex}.resume-page .resume-content .attributes .attribute-badge{text-align:center;color:#006279e6;border:1px solid #006279e6;border-radius:1rem;padding:.4rem;font-size:.95rem;transition:all .2s}.resume-page .resume-content .attributes .attribute-badge:hover{color:#374151;border-color:#374151}.resume-page .resume-content .certifications{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.resume-page .resume-content .certifications .certification-badge{text-align:center;color:#006279e6;border:1px solid #006279e6;border-radius:1rem;padding:.4rem;font-size:.95rem;transition:all .2s}.resume-page .resume-content .certifications .certification-badge:hover{color:#374151;border-color:#374151}.video-page{flex-direction:column;max-width:1200px;margin:0 auto;font-family:Raleway,sans-serif;display:flex}.video-page .back-button{align-self:flex-start;margin:2rem}@media (min-width:800px){.video-page .back-button{margin:1rem}}.video-page .back-button a{color:#006279;text-decoration:none}.video-page .back-button a:hover{color:#476167;text-decoration:underline}.video-page .video-title{text-align:center}.video-page .video-title h1{color:#006279;margin:1rem auto 2rem;font-size:2rem;font-weight:550}.video-page .video{aspect-ratio:16/9;border:5px solid #006279;border-radius:.5rem;max-width:1000px;margin:1rem 1rem 4rem;overflow:hidden}@media (min-width:800px){.video-page .video{margin:2rem auto 4rem}}.video-page .video iframe,.video-page .video video{border:none;width:100%;height:100%}.case-study-page{flex-direction:column;max-width:1200px;margin:0 auto;padding-bottom:3rem;font-family:Raleway,sans-serif;display:flex}@media (min-width:800px){.case-study-page{margin:0 auto 1rem}}.case-study-page .back-button{align-self:flex-start;margin:1.5rem 1rem;padding-top:.7rem}@media (min-width:800px){.case-study-page .back-button{margin:1rem;padding-top:0}}.case-study-page .back-button a{color:#006279;text-decoration:none}.case-study-page .back-button a:hover{color:#476167;text-decoration:underline}.case-study-hero{text-align:center;border-bottom:4px solid #006279;flex-direction:column;align-items:center;padding:2rem 1.5rem;display:flex}@media (min-width:800px){.case-study-hero{text-align:left;flex-direction:row;gap:2rem}}.case-study-hero .case-study-hero-image{background:#6e9460;border-radius:12px;flex-shrink:0;margin-bottom:1.5rem;padding:1rem}@media (min-width:800px){.case-study-hero .case-study-hero-image{margin-bottom:0}}.case-study-hero .case-study-hero-image img{object-fit:contain;border-radius:0}.case-study-hero .case-study-hero-text h1{color:#006279;margin-bottom:.75rem;font-size:2rem;font-weight:650}.case-study-hero .case-study-hero-text .case-study-tagline{color:#6b7280;margin-bottom:1rem;font-size:1.2rem;line-height:1.5}.case-study-hero .case-study-hero-text .case-study-badge{text-align:center;color:#fff;background:#fb9935;border:none;border-radius:1rem;align-self:center;max-width:5rem;padding:.3rem .8rem;font-size:.85rem;font-weight:550}@media (min-width:800px){.case-study-hero .case-study-hero-text .case-study-badge{align-self:flex-start}}.case-study-hero .case-study-hero-text .case-study-actions{flex-direction:column;align-items:stretch;gap:1rem;margin-top:1rem;display:flex}@media (min-width:800px){.case-study-hero .case-study-hero-text .case-study-actions{flex-direction:row;align-items:center;gap:.5rem}.case-study-hero .case-study-hero-text .case-study-actions a{margin:0 .5rem}.case-study-hero .case-study-hero-text .case-study-actions .video-link{margin-left:auto}}.case-study-hero .case-study-hero-text .case-study-actions a{color:#476167;text-align:center;background-color:#0062791a;border:1px solid #476167;border-radius:.375rem;padding:.75rem;font-weight:550;text-decoration:none;display:block}.case-study-hero .case-study-hero-text .case-study-actions a:hover{color:#efefef;background-color:#476167e6;text-decoration:underline}@media (min-width:800px){.case-study-hero .case-study-hero-text .case-study-actions a{border-radius:.4rem;padding:.5rem;display:inline-block}}.case-study-hero .case-study-hero-text .case-study-actions a.live-link{color:#fff;background-color:#006279;border-color:#006279}.case-study-hero .case-study-hero-text .case-study-actions a.live-link:hover{color:#fff;background-color:#006279e6}.case-study-section{padding:1.5rem 1.5rem 0}.case-study-section h2{color:#006279;border-bottom:2px solid #0062791a;margin-bottom:1rem;padding-bottom:.4rem;font-size:1.5rem;font-weight:650}.case-study-section h3{color:#476167;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem;font-weight:550}.case-study-section p{color:#374151;margin-bottom:1rem;font-size:1rem;line-height:1.7}.case-study-section ul{margin-bottom:1rem;padding-left:0;list-style-position:inside}@media (min-width:800px){.case-study-section ul{padding-left:1.5rem;list-style-position:outside}}.case-study-section ul li{color:#374151;margin-bottom:.75rem;font-size:1rem;line-height:1.7}.case-study-role{color:#374151;border-left:4px solid #006279;padding-left:1rem}.case-study-tech-stack{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.case-study-tech-stack .tech-badge{color:#006279e6;border:1px solid #006279e6;border-radius:1rem;padding:.4rem}.case-study-tech-stack .tech-badge:hover{color:#374151;border-color:#374151}.case-study-section .case-study-challenges{padding-left:0;list-style:none}.case-study-section .case-study-challenges li{background:#efefef;border-left:4px solid #006279;border-radius:.5rem;margin-bottom:.75rem;padding:1rem}.case-study-details{border:1px solid #0062791a;border-radius:.5rem;margin-bottom:1rem;overflow:hidden}.case-study-details summary{color:#006279;cursor:pointer;background:#efefef;border-bottom:1px solid #0000;padding:1rem 1.5rem;font-size:1.2rem;font-weight:550;list-style:none;transition:background-color .2s}.case-study-details summary::-webkit-details-marker{display:none}.case-study-details summary:before{content:"▶";margin-right:.75rem;font-size:.75rem;transition:transform .2s;display:inline-block}.case-study-details summary:hover{background:#0062791a}.case-study-details[open] summary{border-bottom:1px solid #0062791a}.case-study-details[open] summary:before{transform:rotate(90deg)}.case-study-details .case-study-details-content{padding:1.5rem;overflow:hidden}.case-study-details .case-study-details-content h3{color:#476167;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem;font-weight:550}.case-study-details .case-study-details-content h3:first-child{margin-top:0}.case-study-details .case-study-details-content p{color:#374151;margin-bottom:1rem;font-size:1rem;line-height:1.7}.case-study-details .case-study-details-content ul{margin-bottom:1rem;padding-left:1.5rem}.case-study-details .case-study-details-content ul li{color:#374151;margin-bottom:.5rem;font-size:1rem;line-height:1.7}.case-study-personas{grid-template-columns:1fr;gap:1.5rem;margin:1rem 0;display:grid}@media (min-width:800px){.case-study-personas{grid-template-columns:1fr 1fr}}.case-study-personas .persona-card{background:#fff;border:1px solid #0062791a;border-radius:.5rem;overflow:hidden}.case-study-personas .persona-card img{border-radius:.5rem}.case-study-video{border:1px solid #0062791a;border-radius:.5rem;height:0;margin-bottom:1.5rem;padding-bottom:56.25%;position:relative;overflow:hidden}.case-study-video iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.case-study-links{flex-direction:column;gap:.5rem;margin:1rem 0 2rem;display:flex}@media (min-width:800px){.case-study-links{flex-direction:row;gap:0}}.case-study-links a{color:#476167;text-align:center;background-color:#0062791a;border:1px solid #476167;border-radius:.4rem;padding:.5rem;font-weight:550;text-decoration:none}@media (min-width:800px){.case-study-links a{width:auto;margin:.5rem}}.case-study-links a:hover{color:#efefef;background-color:#476167e6;text-decoration:underline}.my-hero{text-align:center;border-bottom:1px solid #006279;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0 auto;padding-bottom:1rem;display:flex}@media (min-width:1200px){.my-hero{border:1px solid #006279;max-width:1200px;padding:0 1rem}}.my-hero .hero-card{text-align:center;background:#fff;border-radius:.5rem;overflow:hidden}@media (min-width:800px){.my-hero .hero-card{text-align:right}}.my-hero .hero-title{color:#006279;margin:2rem 2rem 1rem;font-size:2rem;font-weight:550}.my-hero .hero-description{color:#006279e6;white-space:pre-line;max-width:100%;padding:0 2rem;font-size:1rem;font-weight:550}@media screen and (min-width:905px){.my-hero .hero-description{white-space:normal}}.my-hero .hero-content{max-width:100%}.my-hero .hero-content .long-description{color:#476167e6;margin:2rem;font-size:1rem}.my-hero .hero-content .availability{color:#476167;max-width:900px;margin:2rem;font-size:1rem;font-weight:550}nav{z-index:50;background-color:#006279e6;width:100%;margin:0 auto;position:fixed;top:0;left:0;right:0}@media (min-width:1200px){nav{max-width:1250px}}nav .navbar{justify-content:space-between;height:5%;display:flex}nav .navbar>ul{margin:0;padding:0;list-style:none;display:none}nav .navbar>ul li{margin:0}nav .navbar>ul li a{color:#efefef;padding:1rem;font-size:1rem;text-decoration:none;display:block}nav .navbar>ul li a:hover{text-decoration:underline}nav .navbar>ul li a.active{font-weight:650}@media (min-width:800px){nav .navbar>ul{display:flex}}nav .navbar>button{color:#efefef;background-color:#476167;border:1px solid #efefef;margin:1.5rem;display:block}nav .navbar>button:hover{background-color:#006279}@media (min-width:800px){nav .navbar>button,nav>.mobile-menu{display:none}}nav>.mobile-menu ul{text-align:center;padding-left:0;list-style:none}nav>.mobile-menu ul li{margin:0}nav>.mobile-menu ul li a{color:#efefef;padding:1.5rem 0;text-decoration:none;display:block}nav>.mobile-menu ul li a.active{font-weight:650;text-decoration:underline}.project-preview-section{margin:0 auto;padding:2rem .5rem}@media (min-width:800px){.project-preview-section{padding:2rem 1rem}}.project-preview-section .project-summary{margin-bottom:2rem}.project-preview-section .project-summary h2{color:#476167;margin-bottom:.5rem;font-size:2rem;font-weight:700}.project-preview-section .project-summary p{color:#6b7280;font-size:1rem}.project-preview-section .project-cards{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:800px){.project-preview-section .project-cards{grid-template-columns:repeat(3,1fr)}}.project-preview-section .project-card{background:#fff;border-radius:.5rem;flex-direction:column;min-height:500px;display:flex;overflow:hidden}.project-preview-section .project-card-image{background:#0062791a;flex-shrink:0;justify-content:center;align-items:center;height:200px;padding:2rem;display:flex}.project-preview-section .project-card-image img{object-fit:contain;width:100%;height:100%}.project-preview-section .case-study-card .project-card-image{background:#6e9460}.project-preview-section .project-card-content{flex-direction:column;flex:1;justify-content:space-between;padding:1.5rem .5rem;display:flex}.project-preview-section .project-card-content .card-title{color:#476167;font-size:1.5rem;font-weight:550}.project-preview-section .project-card-content .card-description{color:#6b7280;text-align:left;flex:1;align-items:center;margin:0;font-size:1rem;display:flex}.project-preview-section .project-card-content .card-footer{margin-top:auto;padding-top:1rem}.project-preview-section .project-card-content .card-footer button,.project-preview-section .project-card-content .card-footer a{color:#fff;text-align:center;cursor:pointer;background:#006279;border:none;border-radius:.375rem;margin:0 auto;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;display:block}.project-preview-section .project-card-content .card-footer button:hover,.project-preview-section .project-card-content .card-footer a:hover{background:#476167}.project-preview-section .case-study-card-badge{text-align:center;color:#fff;background:#fb9935;border:none;border-radius:1rem;width:5rem;margin:.7rem 0;padding:.15rem .5rem;font-size:.7rem;font-weight:550;display:inline-block}.github-calendar{flex-direction:column;max-width:100%;margin-bottom:2rem;padding:0 1rem;display:flex}.github-calendar .github-calendar-card{background:#fff;border-radius:.5rem;justify-content:space-between;max-width:100%;overflow-x:auto;box-shadow:0 1px 3px #476167e6}.github-calendar .calendar{max-width:100%;overflow-x:auto}.github-calendar .calendar svg{max-width:100%;height:auto}.github-calendar .calendar a[href^=\#year-link]{display:none!important}@media screen and (min-width:600px){.github-calendar{text-align:left}}@media screen and (max-width:999px){.github-calendar .calendar .ContributionCalendar-label span[aria-hidden=true]{font-size:6px!important}}@media (min-width:800px){.github-calendar{text-align:left;max-width:1200px;padding:0}.github-calendar .calendar{padding:.5rem}}.github-calendar .github-calendar-header{grid-template-rows:1fr auto;grid-template-columns:1fr auto;margin:2rem 1rem;display:grid}.github-calendar .github-calendar-title{color:#476167;justify-content:space-between;align-items:center;gap:1rem;font-size:1rem;font-weight:550;display:flex}@media (min-width:800px){.github-calendar .github-calendar-title{font-size:1.2rem}}.github-calendar .github-link a{color:#006279;white-space:nowrap;font-size:1rem;text-decoration:none}.github-calendar .github-link a:hover{text-decoration:underline}.github-calendar .github-calendar-description{color:#6b7280;grid-area:2/1/auto/span 2;margin:1rem 0 0;font-size:1rem}.contact-form{background:#fff;border:2px solid #efefef;border-radius:.5rem;max-width:900px;margin:0 0 2rem;font-family:Raleway,sans-serif;box-shadow:0 1px 3px #476167e6}.contact-form .contact-form-content{padding:1rem}.contact-form .contact-form-content .contact-form-fields{flex-direction:column;gap:1.5rem;display:flex}.contact-form .contact-form-content .contact-form-fields .form-field{text-align:left;flex-direction:column;gap:.5rem;display:flex}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-label{color:#476167;font-family:Raleway,sans-serif;font-size:1rem;font-weight:550}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input{align-items:center;display:flex;position:relative}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input .field-icon{color:#6b7280;pointer-events:none;z-index:1;width:1.25rem;height:1.25rem;position:absolute;top:.75rem;left:1rem}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input input,.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input textarea{color:#6b7280;background:#fff;border:1px solid #476167e6;border-radius:.375rem;width:100%;padding:.75rem 1rem .75rem 3rem;font-family:Raleway,sans-serif;font-size:1rem;transition:border-color .2s}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input input:focus,.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input textarea:focus{border-color:#006279;outline:none}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input input::placeholder,.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input textarea::placeholder{color:#6b7280}.contact-form .contact-form-content .contact-form-fields .form-field .form-field-input textarea{resize:vertical;min-height:150px}.contact-form .contact-form-content .contact-form-fields .form-submit{color:#fff;cursor:pointer;background:#006279;border:none;border-radius:.375rem;margin-top:1rem;padding:.75rem 2rem;font-family:Raleway,sans-serif;font-size:1rem;font-weight:550;transition:background-color .2s}.contact-form .contact-form-content .contact-form-fields .form-submit:hover:not(:disabled){background:#006279e6}.contact-form .contact-form-content .contact-form-fields .form-submit:disabled{opacity:.6;cursor:not-allowed}.nc-container{color:#374151;font-family:Raleway,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;overflow:hidden}.nc-heading{color:#476167;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem;font-weight:550}.nc-subheading{color:#476167;margin-top:1.25rem;margin-bottom:.5rem;font-size:1rem;font-weight:550}.nc-code-block{color:#374151;background:#efefef;border-left:4px solid #006279;border-radius:6px;margin:1rem 0;padding:1.25rem 1.5rem;font-family:Courier New,Courier,monospace;font-size:.9rem;line-height:1.8;overflow-x:auto}.nc-convention-list{margin:1rem 0;padding:0;list-style:none}.nc-convention-list li{background:#efefef;border-radius:6px;flex-direction:column;gap:.25rem;margin-bottom:.4rem;padding:.6rem 1rem;display:flex}@media (min-width:800px){.nc-convention-list li{flex-direction:row;align-items:baseline;gap:.75rem}}.nc-convention-list li code{color:#476167;background:#fff;border:1px solid #0062791a;border-radius:4px;padding:.15rem .4rem;font-family:Courier New,Courier,monospace;font-size:.88rem}.nc-label{color:#006279;flex-shrink:0;font-weight:550}@media (min-width:800px){.nc-label{min-width:160px}}.nc-divider{border:none;border-top:1px solid #0062791a;margin:1.5rem 0}.nc-table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}.nc-table thead{display:none}@media (min-width:800px){.nc-table thead{display:table-header-group}}.nc-table thead th{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.03em;background:#006279;padding:.75rem 1rem;font-size:.85rem;font-weight:550}.nc-table thead th:first-child{border-radius:6px 0 0}.nc-table thead th:last-child{border-radius:0 6px 0 0}.nc-table tbody tr{border:1px solid #0062791a;border-radius:6px;margin-bottom:.75rem;padding:.5rem 0;display:block}@media (min-width:800px){.nc-table tbody tr{border:none;border-radius:0;margin-bottom:0;padding:0;display:table-row}}.nc-table tbody td{border-bottom:none;padding:.3rem 1rem;display:block}.nc-table tbody td:before{content:attr(data-label);color:#006279;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem;font-size:.75rem;font-weight:550;display:block}@media (min-width:800px){.nc-table tbody td{border-bottom:1px solid #0062791a;padding:.6rem 1rem;display:table-cell}.nc-table tbody td:before{display:none}.nc-table tbody tr:nth-child(2n){background:#0062791a}.nc-table tbody tr:last-child td:first-child{border-radius:0 0 0 6px}.nc-table tbody tr:last-child td:last-child{border-radius:0 0 6px}}.nc-table code{color:#476167;background:#fff;border:1px solid #0062791a;border-radius:3px;padding:.1rem .35rem;font-family:Courier New,Courier,monospace;font-size:.88rem}.nc-tree{color:#e5e7eb;white-space:pre;background:#374151;border-radius:8px;margin:1rem 0;padding:1rem;font-family:Courier New,Courier,monospace;font-size:.75rem;line-height:1.7;overflow-x:auto}@media (min-width:800px){.nc-tree{padding:1.5rem 2rem;font-size:.85rem}}.nc-tree--mobile{display:block}@media (min-width:650px){.nc-tree--mobile{display:none}}.nc-tree--desktop{display:none}@media (min-width:650px){.nc-tree--desktop{display:block}}@media print{.nc-tree{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.nc-heading{break-after:avoid}.nc-code-block,.nc-tree,.nc-table{break-inside:avoid}}.site-footer{text-align:center;opacity:.4;color:#476167;padding:1.5rem 0 1rem;font-size:.75rem}.site-footer p{margin:0}html{opacity:1;background-image:url(/bg1.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}html:before{content:"";z-index:-1;background:#ffffff80;width:100%;height:100%;position:fixed;top:0;left:0}body{background:#fff;max-width:1250px;margin:0 auto;padding-top:4.3rem;font-family:Raleway,sans-serif;box-shadow:0 4px 6px #47616799}@media (min-width:800px){body{border-radius:.5rem}}
