.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}.contact-page{text-align:center;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 1rem;font-family:Raleway,sans-serif;display:flex;overflow:hidden}.contact-page .contact-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;padding:2rem 0;display:flex}@media (min-width:800px){.contact-page .contact-header{text-align:left;align-items:flex-start;margin:0 auto;padding:2rem 0}}.contact-page .contact-header{box-sizing:border-box;width:100%}.contact-page .contact-header h1{color:#006279;margin:0;font-size:2rem;font-weight:650}.contact-page .contact-links{border-top:1px dashed #006279e6;border-bottom:1px dashed #006279e6;flex-direction:column;justify-content:center;gap:.5rem;width:100%;margin-top:.75rem;display:flex}@media (min-width:800px){.contact-page .contact-links{display:none}}.contact-page .contact-about{box-sizing:border-box;text-align:center;width:100%;max-width:1100px;margin:0 auto 2rem;padding:1.5rem 0}@media (min-width:800px){.contact-page .contact-about{text-align:left;padding-top:.5rem}}.contact-page .contact-about p{color:#374151;margin:0;font-size:.92rem;line-height:1.75}.contact-page .contact-about p a{color:#006279;text-decoration:none}.contact-page .contact-about p a:hover{color:#00a0c5}.contact-page .contact-about .contact-notice{color:#6b7280;margin-top:1.5rem;font-size:.8rem;font-style:italic;font-weight:400}.contact-page .contact-about .contact-notice strong{color:#fb9935;font-weight:550}.contact-page .contact-content{flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.contact-page .contact-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}.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{flex-direction:column;margin:2rem 0;display:flex}@media (min-width:800px){.project-details-page .live-project{flex-direction:row;justify-content:flex-start}}.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}.project-details-page .walkthrough-section{margin:1.5rem 0}.project-details-page .walkthrough-section h3{margin-bottom:1rem}.project-details-page .walkthrough-grid{flex-direction:column;gap:.75rem;display:flex}@media (min-width:800px){.project-details-page .walkthrough-grid{flex-flow:wrap}}.project-details-page .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){.project-details-page .walkthrough-thumbnail{gap:0;width:8rem;padding:.25rem}}.project-details-page .walkthrough-thumbnail:hover{border-color:#476167;transform:scale(1.02)}@media (min-width:800px){.project-details-page .walkthrough-thumbnail:hover{transform:scale(1.05)}}.project-details-page .walkthrough-thumbnail .thumbnail-image{object-fit:cover;border-radius:.25rem;width:10rem;height:10rem}@media (min-width:800px){.project-details-page .walkthrough-thumbnail .thumbnail-image{width:100%;height:5rem}}.project-details-page .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){.project-details-page .walkthrough-thumbnail .thumbnail-caption{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:120px;font-size:.85rem;overflow:hidden}.project-details-page .walkthrough-grid--inline .walkthrough-thumbnail{pointer-events:none;cursor:default;border:none;flex:1 1 0;width:auto;max-width:50%;padding:.5rem}.project-details-page .walkthrough-grid--inline .walkthrough-thumbnail:hover{transform:none}.project-details-page .walkthrough-grid--inline .thumbnail-image{aspect-ratio:auto;object-fit:contain;width:100%;height:auto}.project-details-page .walkthrough-grid--inline .thumbnail-caption{max-width:none;text-overflow:unset;white-space:normal;font-size:1rem;overflow:visible}}.project-details-page .walkthrough-grid--inline .thumbnail-caption--link{pointer-events:auto;cursor:pointer;color:#006279;text-decoration:none}.project-details-page .walkthrough-grid--inline .thumbnail-caption--link:hover{color:#476167;text-decoration:underline}.lightbox-modal{z-index:999;background:#00000080;justify-content:center;align-items:center;padding:2rem;animation:.6s fadeIn;display:flex;position:fixed;inset:0}.lightbox-modal__content{background:#fff;border-radius:.5rem;flex-direction:column;width:100%;max-width:90vw;height:75vh;padding:1rem;animation:.6s fadeSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 48px #00627933}@media (min-width:800px){.lightbox-modal__content{max-width:700px;height:85vh}}.lightbox-modal__content:focus{outline:none}.lightbox-modal__close{color:#374151;cursor:pointer;z-index:1;background:#efefef;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex;position:absolute;top:.5rem;right:.5rem}.lightbox-modal__close:hover{color:#476167}.lightbox-content{flex-direction:column;flex:1;align-items:center;gap:1rem;min-height:0;margin-top:1rem;display:flex}.lightbox-image{object-fit:contain;border-radius:.25rem;flex:1;max-width:100%;min-height:0}.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}.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{text-align:center;margin-bottom:2rem}@media (min-width:800px){.projects-page .projects-header{text-align:left;align-items:baseline;display:flex}}.projects-page .projects-header h2{color:#006279;margin-bottom:.5rem;font-size:2rem;font-weight:650}@media (min-width:800px){.projects-page .projects-header h2{margin-bottom:0}}.projects-page .projects-header p{color:#374151;margin:0;font-size:1rem}@media (min-width:800px){.projects-page .projects-header p{margin-left:auto}}.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--jargon .project-card-image{background:0 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 .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}.resume-page .download-buttons button:hover,.resume-page .download-buttons a:hover{background:#476167}.resume-header{flex-direction:column;align-items:center;gap:1rem;padding:2rem 1.5rem;display:flex}@media (min-width:800px){.resume-header{flex-direction:row;justify-content:space-between;align-items:center}}.resume-header h1{color:#006279;flex-shrink:0;margin:0;font-size:2rem;font-weight:650}.resume-header__subtitle{color:#6b7280;white-space:nowrap;margin:0;font-size:.9rem}@media (min-width:800px){.resume-header__subtitle{text-align:center;flex:1}}.resume-header__subtitle a{color:#006279;font-weight:550;text-decoration:none}.resume-header__subtitle a:hover{text-decoration:underline}.resume-header__sep{color:#6b7280;margin:0 .5rem}@media (min-width:800px){.resume-header__sep{margin:0 1rem}}.resume-about{text-align:center;margin:0 auto 2.5rem;padding:1.5rem 2rem}@media (min-width:800px){.resume-about{padding-top:.5rem}}.resume-about p{color:#374151;font-size:.92rem;line-height:1.75}.resume-about__attributes{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1.15rem;display:flex}.attr-tag{color:#006279;background:#0062791a;border:1px solid #00627926;border-radius:100px;padding:.28rem .7rem;font-size:.73rem;font-weight:550;transition:background .2s,color .2s}.attr-tag:hover{color:#fff;background:#006279}.timeline-legend{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:0 auto 2rem;padding:0 1.5rem;display:flex}.timeline-legend__item{color:#6b7280;align-items:center;gap:.4rem;font-size:.73rem;font-weight:550;display:flex}.timeline-legend__dot{border:2.5px solid;border-radius:50%;width:10px;height:10px}.timeline-legend__dot--work{border-color:#00a0c5}.timeline-legend__dot--education{border-color:#006279}.timeline-legend__dot--certification{border-style:dashed;border-color:#fb9935}.timeline-legend__dot--milestone{border-style:dashed;border-color:#476167}.timeline-legend__note{color:#6b7280;font-size:.7rem;font-style:italic}.timeline-container{margin:0 auto;padding:.5rem 1.5rem 4rem;position:relative}@media (min-width:800px){.timeline-container{width:90%;padding:.5rem 1.5rem 4rem}}.timeline-line{background:linear-gradient(#0000,#00627933 20px calc(100% - 20px),#0000);width:2px;position:absolute;top:0;bottom:0;left:28px}@media (min-width:800px){.timeline-line{left:50%;transform:translate(-50%)}}.timeline-entry{margin-bottom:.85rem;padding-left:56px;animation:.4s both fadeSlideIn;position:relative}@media (min-width:800px){.timeline-entry{width:45%;margin-left:0;padding-left:0;padding-right:0}.timeline-entry--left{text-align:right;margin-right:55%}.timeline-entry--right{margin-left:55%}}.timeline-entry__marker{z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}@media (min-width:800px){.timeline-entry__marker{left:auto;right:-1.5rem}}@media (min-width:1100px){.timeline-entry__marker{right:-2.5rem}}@media (min-width:800px){.timeline-entry--right .timeline-entry__marker{left:-1.5rem;right:auto}}@media (min-width:1100px){.timeline-entry--right .timeline-entry__marker{left:-2.5rem}}.timeline-entry__dot{background:#fff;border:3px solid #006279;border-radius:50%;width:18px;height:18px;transition:all .3s}.timeline-entry__date{color:#374151;white-space:nowrap;margin-top:.2rem;font-size:.6rem;font-weight:650}.timeline-entry--work .timeline-entry__dot{border-color:#00a0c5}.timeline-entry--education .timeline-entry__dot{border-color:#006279}.timeline-entry--certification .timeline-entry__dot{border-style:dashed;border-color:#fb9935}.timeline-entry--milestone .timeline-entry__dot{border-style:dashed;border-color:#476167}.timeline-entry__card{cursor:pointer;background:#fff;border:1px solid #00627933;border-radius:10px;padding:1rem 1.25rem;transition:all .25s;box-shadow:0 2px 12px #00627914}.timeline-entry__card:hover{border-color:#00627973;transform:translateY(-1px);box-shadow:0 6px 24px #00627924}.timeline-entry--work .timeline-entry__card{border-width:2px;border-color:#00a0c54d;padding:1.15rem 1.4rem;box-shadow:0 2px 12px #00a0c514}.timeline-entry--work .timeline-entry__card:hover{border-color:#00a0c580;box-shadow:0 6px 24px #00a0c524}.timeline-entry--certification .timeline-entry__card{box-shadow:0 2px 12px #fb993514}.timeline-entry--certification .timeline-entry__card:hover{box-shadow:0 6px 24px #fb993524}.timeline-entry--milestone .timeline-entry__card{box-shadow:0 2px 12px #47616714}.timeline-entry--milestone .timeline-entry__card:hover{box-shadow:0 6px 24px #47616724}@media (min-width:800px){.timeline-entry--left .timeline-entry__card{text-align:right;margin-right:1.5rem}.timeline-entry--right .timeline-entry__card{text-align:left;margin-left:1.5rem}}.timeline-entry__title{color:#374151;margin-bottom:.35rem;font-size:1rem;font-weight:650}.timeline-entry--work .timeline-entry__title{font-size:1.05rem}.timeline-entry__org{color:#006279;font-size:.85rem;font-weight:550}.timeline-entry__org--work{color:#00a0c5}.timeline-entry__org--certification{color:#fb9935}.timeline-entry__org--milestone{color:#476167}.timeline-entry__summary{color:#6b7280;margin:.4rem 0 0;font-size:.8rem;line-height:1.5}.entry-modal{z-index:999;background:#00000080;justify-content:center;align-items:center;padding:2rem;animation:.6s fadeIn;display:flex;position:fixed;inset:0}.entry-modal__content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:680px;height:92vh;animation:.6s fadeSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 48px #00627933}.entry-modal__inner{scrollbar-width:none;flex-direction:column;flex:1;min-height:0;padding:3rem 2.5rem 2rem;display:flex;overflow-y:auto}.entry-modal__inner::-webkit-scrollbar{display:none}.entry-modal__close{color:#374151;cursor:pointer;background:#efefef;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.entry-modal__close:hover{background:#00627926}.entry-modal__header{border-bottom:1px solid #0062791a;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.entry-modal__title{color:#374151;margin:0 0 .25rem;font-size:1.25rem;font-weight:650}.entry-modal__org{color:#006279;margin:0;font-size:.9rem;font-weight:550}.entry-modal__org--certification{color:#fb9935}.entry-modal__org--milestone{color:#00a0c5}.entry-modal__meta{text-align:right;flex-shrink:0}.entry-modal__date{color:#6b7280;white-space:nowrap;margin:0;font-size:.85rem}.entry-modal__location{color:#6b7280;margin:.15rem 0 0;font-size:.8rem}.entry-modal__paragraphs{margin:0 0 1.25rem}.entry-modal__paragraphs p{color:#374151;margin:0 0 .85rem;font-size:.9rem;line-height:1.7}.entry-modal__paragraphs p:last-child{margin-bottom:0}.entry-modal__summary{color:#374151;margin:0 0 1rem;font-size:.9rem;line-height:1.7}.entry-modal__expiry{color:#6b7280;margin:0 0 .75rem;font-size:.85rem}.entry-modal__badge-image{justify-content:center;margin:1rem 0;display:flex}.entry-modal__badge-link{color:#006279;border:1px solid #0062794d;border-radius:6px;margin-bottom:1rem;padding:.4rem 1rem;font-size:.85rem;font-weight:550;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.entry-modal__badge-link:hover{color:#fff;background:#006279}.entry-modal__single-photo{justify-content:center;margin:1.25rem 0;display:flex}.entry-modal__single-image{object-fit:contain;border-radius:8px;max-width:60%;max-height:400px;width:auto!important;height:auto!important}.entry-modal__section-title{color:#374151;margin:1.25rem 0 .5rem;font-size:.9rem;font-weight:550}.entry-modal__skills{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.entry-modal__photos{flex-direction:column;gap:2rem;margin-bottom:1rem;display:flex}.entry-modal__photos-row{flex-direction:column;gap:1rem;display:flex}@media (min-width:800px){.entry-modal__photos-row{flex-direction:row;align-items:stretch}}.entry-modal__photo{text-align:center;flex:1}.entry-modal__photo--portrait{flex:none;width:100%;max-width:100%;margin:0 auto}@media (min-width:800px){.entry-modal__photo--portrait{max-width:250px}}.entry-modal__photo-img{object-fit:contain;border-radius:8px;width:100%;height:auto}@media (min-width:800px){.entry-modal__photos-row:has(.entry-modal__photo+.entry-modal__photo) .entry-modal__photo-img{object-fit:cover;height:100%}}.entry-modal__photo-caption{color:#6b7280;margin-top:.4rem;margin-bottom:.75rem;font-size:.75rem;display:block}.skill-tag{color:#006279;background:#0062791a;border-radius:100px;padding:.22rem .6rem;font-size:.7rem;font-weight:650;transition:background .2s,color .2s}.skill-tag:hover{color:#fff;background:#006279}.cert-badge{color:#fb9935;letter-spacing:.03em;vertical-align:middle;background:#fb99351a;border:1px solid #fb99354d;border-radius:100px;margin-left:.4rem;padding:.15rem .5rem;font-size:.65rem;font-weight:650;display:inline-flex}.milestone-badge{color:#00a0c5;letter-spacing:.03em;vertical-align:middle;background:#00a0c514;border:1px solid #00a0c54d;border-radius:100px;margin-left:.4rem;padding:.15rem .5rem;font-size:.65rem;font-weight:650;display:inline-flex}.type-label{letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:.5rem;padding:.12rem .45rem;font-size:.6rem;font-weight:650;display:inline-flex;position:relative;top:-1px}.type-label--edu{color:#006279;background:#0062791a}.photo-carousel{align-items:center;gap:.75rem;margin-top:1.25rem;margin-bottom:2rem;display:flex;position:relative}.photo-carousel__image-wrapper{cursor:zoom-in;border-radius:8px;flex:1;justify-content:center;display:flex;overflow:hidden}.photo-carousel__image{object-fit:contain;border-radius:8px;width:100%;height:auto}.photo-carousel__arrow{color:#374151;cursor:pointer;background:#fff;border:1px solid #00627933;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:background .2s;display:flex}.photo-carousel__arrow:hover{background:#efefef}.photo-carousel__counter{color:#6b7280;font-size:.7rem;position:absolute;bottom:-1.25rem;left:50%;transform:translate(-50%)}.photo-lightbox{z-index:1000;cursor:pointer;background:#000000b3;justify-content:center;align-items:center;gap:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.photo-lightbox__content{cursor:default;max-width:90vw;max-height:90vh;position:relative}.photo-lightbox__image{object-fit:contain;border-radius:10px;max-width:90vw;max-height:85vh;width:auto!important;height:auto!important}.photo-lightbox__arrow{color:#374151;cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:background .2s;display:flex}.photo-lightbox__arrow:hover{background:#fff}.photo-lightbox__close{color:#374151;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 2px 8px #0003}.photo-lightbox__close:hover{background:#efefef}.testimonial-strip{background:#0062791a;border-left:3px solid #006279;border-radius:0 7px 7px 0;margin-top:1.15rem;padding:.9rem 1.15rem}.testimonial-strip__quote{color:#374151;font-size:.85rem;font-style:italic;line-height:1.65}.testimonial-strip__attribution{color:#6b7280;margin-top:.35rem;font-size:.75rem}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:799px){.resume-header{padding:2rem 1rem 1rem}.resume-header h1{font-size:2rem}.resume-header__subtitle{white-space:normal;flex-direction:column;align-items:center;gap:.25rem;display:flex}.resume-header__sep{display:none}.resume-about{margin-left:1rem;margin-right:1rem;padding:1.25rem}.timeline-legend{gap:.8rem}.timeline-container{padding:.5rem 1rem 3rem}.timeline-line{left:18px}.timeline-entry{padding-left:52px}.timeline-entry__marker{margin-left:.2rem}.timeline-entry__card{margin-left:.5rem;padding:.9rem 1rem}.entry-modal{padding:1rem}.entry-modal__content{max-width:100%}.entry-modal__inner{padding:2.5rem 1.5rem 1.5rem}.entry-modal__header{flex-direction:column;gap:.5rem}.entry-modal__meta{text-align:left}}.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-flow:wrap;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{flex:1;min-width: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 .btn{margin:0 .5rem}.case-study-hero .case-study-hero-text .case-study-actions .btn--outline{margin-left:auto}}.case-study-page--jargon .case-study-hero-image{background:0 0;padding:0}.case-study-page--jargon .walkthrough-thumbnail .thumbnail-image[src*=Jargon_Wordmark]{object-fit:contain}.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:#fff;border:1px solid #6b7280;border-left:4px solid #006279;border-radius:.5rem;margin-bottom:.75rem;padding:1rem}.case-study-explore{border:1px dashed #6b7280;border-radius:.5rem;margin-top:1.5rem}@media (min-width:800px){.case-study-explore{margin-top:.25rem}}.case-study-explore{flex-basis:100%;width:100%;overflow:hidden}.case-study-explore summary{color:#006279;cursor:pointer;padding:.75rem 1.5rem;font-size:1rem;font-weight:550;list-style:none}@media (min-width:800px){.case-study-explore summary{padding:1rem 1.5rem;font-size:1.2rem}}.case-study-explore summary::-webkit-details-marker{display:none}.case-study-explore summary:hover{background-color:#0000}.case-study-explore__content{padding:0 1.5rem 1.25rem}.case-study-explore[open]>.case-study-explore__content{animation:.25s ease-out caseStudyDropdownFade}.case-study-explore__demo{margin-bottom:1.25rem}.case-study-explore__demo p{color:#374151;margin:0 0 .75rem;font-size:1rem;line-height:1.7}.case-study-explore__demo .demo-credentials{color:#374151;flex-direction:column;gap:.25rem;font-size:1rem;display:flex}@media (min-width:800px){.case-study-explore__demo .demo-credentials{flex-direction:row}}.case-study-explore__demo .demo-separator{color:#6b7280;margin:0 .5rem;display:none}@media (min-width:800px){.case-study-explore__demo .demo-separator{display:inline}}.case-study-explore h5{color:#6b7280;margin:0 0 .5rem;font-size:1rem;font-weight:550}.case-study-explore__links{flex-direction:column;gap:.75rem;display:flex}.case-study-explore__links:not(:last-of-type){margin-bottom:2rem}@media (min-width:800px){.case-study-explore__links{flex-direction:row}.case-study-explore__links:not(:last-of-type){margin-bottom:1rem}}.case-study-explore__links a{color:#374151;text-align:center;background-color:#efefef;border:1px solid #d6d6d6;border-radius:.375rem;flex:1;padding:.6rem .75rem;font-size:1rem;font-weight:550;text-decoration:none;display:block}.case-study-explore__links a:hover{background-color:#dcdcdc}.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[open]>.case-study-details-content{animation:.25s ease-out caseStudyDropdownFade}.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 a{color:#006279;text-decoration:none}.case-study-details .case-study-details-content a:hover{text-decoration:underline}.case-study-details .case-study-details-content .demo-credentials{color:#374151;flex-direction:column;gap:.25rem;margin-bottom:1rem;font-size:1rem;display:flex}.case-study-details .case-study-details-content .demo-credentials .demo-separator{display:none}@media (min-width:800px){.case-study-details .case-study-details-content .demo-credentials{flex-direction:row;gap:.5rem}.case-study-details .case-study-details-content .demo-credentials .demo-separator{display:inline}}.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}.case-study-page .persona-images{flex-direction:column;gap:1.5rem;display:flex}.case-study-page .persona-image{text-align:center}.case-study-page .persona-image img{object-fit:contain;border-radius:.5rem;width:100%;height:auto}.case-study-page .persona-caption{color:#6b7280;margin-top:.5rem;font-size:1rem;display:block}.case-study-page .walkthrough-grid{flex-direction:column;gap:.75rem;display:flex}@media (min-width:800px){.case-study-page .walkthrough-grid{flex-flow:wrap}}.case-study-page .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){.case-study-page .walkthrough-thumbnail{gap:0;width:8rem;padding:.25rem}}.case-study-page .walkthrough-thumbnail:hover{border-color:#476167;transform:scale(1.02)}@media (min-width:800px){.case-study-page .walkthrough-thumbnail:hover{transform:scale(1.05)}}.case-study-page .walkthrough-thumbnail .thumbnail-image{object-fit:cover;border-radius:.25rem;width:10rem;height:10rem}@media (min-width:800px){.case-study-page .walkthrough-thumbnail .thumbnail-image{width:100%;height:5rem}}.case-study-page .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){.case-study-page .walkthrough-thumbnail .thumbnail-caption{text-overflow:ellipsis;white-space:nowrap;width:100%;max-width:120px;font-size:.85rem;overflow:hidden}.case-study-page .walkthrough-grid--inline .walkthrough-thumbnail{pointer-events:none;cursor:default;border:none;flex:1 1 0;width:auto;max-width:50%;padding:.5rem}.case-study-page .walkthrough-grid--inline .walkthrough-thumbnail:hover{transform:none}.case-study-page .walkthrough-grid--inline .thumbnail-image{aspect-ratio:auto;object-fit:contain;width:100%;height:auto}.case-study-page .walkthrough-grid--inline .thumbnail-caption{max-width:none;text-overflow:unset;white-space:normal;font-size:1rem;overflow:visible}}@keyframes caseStudyDropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}body.qr-active{min-height:92.5dvh}@media (min-width:800px){body.qr-active{min-height:unset}}.qr-page{box-sizing:border-box;background-color:#efefef;flex-direction:column;height:85dvh;min-height:80vh;margin-top:-2.3rem;padding:5.3rem 1rem 1rem;font-family:Raleway,sans-serif;display:flex;overflow:hidden}@media (min-width:800px){.qr-page{height:calc(100dvh - 4.3rem);margin-top:-2%;padding-top:1rem}}@media (min-width:1100px){.qr-page{margin-top:-1.5%}}.qr-page .qr-card{background:#fff;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;min-height:0;padding:2.5rem 2rem;display:flex}.qr-page .qr-card h1{color:#006279;text-align:center;margin:0;font-size:1.5rem;font-weight:650}.qr-page .qr-card p{color:#6b7280;text-align:center;margin:0;font-size:1rem;line-height:1.5}.qr-page .qr-card .qr-fallback{color:#006279;text-underline-offset:3px;margin-top:.5rem;font-size:.9rem;font-weight:550;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{display:none}}nav .navbar .nav-socials{align-items:center;gap:1rem;margin:0 1.5rem;padding:0;list-style:none;display:none}@media (min-width:800px){nav .navbar .nav-socials{display:flex}}nav .navbar .nav-socials li{margin:0}nav .navbar .nav-socials a{color:#fff;display:inline-flex}nav .navbar .nav-socials a:hover{opacity:.7}@media (min-width:800px){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:3rem 0;font-size:1.5rem;text-decoration:none;display:block}nav>.mobile-menu ul li a.active{font-size:1.5rem;font-weight:650;text-decoration:underline}.project-preview-section{margin:0 auto;padding:2rem 1rem}.project-preview-section .project-summary{text-align:center;margin-bottom:2rem}@media (min-width:800px){.project-preview-section .project-summary{text-align:left}}.project-preview-section .project-summary h2{color:#006279;margin-bottom:.5rem;font-size:2rem;font-weight:700}.project-preview-section .project-summary p{color:#374151;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;position:relative;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 .case-study-card--jargon .project-card-image{background:#0062791a}.project-preview-section .project-card-content{text-align:center;flex-direction:column;flex:1;justify-content:space-between;padding:1.5rem .5rem;display:flex}@media (min-width:800px){.project-preview-section .project-card-content{text-align:left}}.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:center;flex:1;justify-content:center;align-items:center;margin:0;font-size:1rem;display:flex}@media (min-width:800px){.project-preview-section .project-card-content .card-description{text-align:left;justify-content:flex-start}}.project-preview-section .project-card-content .card-footer{margin-top:auto;padding-top:1rem}.project-preview-section .project-card-content .card-footer .btn{width:100%;margin:0 auto}@media (min-width:800px){.project-preview-section .project-card-content .card-footer .btn{width:auto}}.project-preview-section .project-card-link:after{content:"";position:absolute;inset:0}.project-preview-section .case-study-card-badge{text-align:center;color:#fff;background:#fb9935;border:none;border-radius:1rem;align-self:center;width:5rem;margin:.7rem auto;padding:.15rem .5rem;font-size:.7rem;font-weight:550;display:inline-block}@media (min-width:800px){.project-preview-section .case-study-card-badge{align-self:flex-start;margin:.7rem 0}}.github-calendar{flex-direction:column;max-width:100%;margin:0 auto;padding:2rem 1rem;display:flex}.github-calendar .github-calendar-card{background:#fff;border-radius:0;justify-content:space-between;max-width:100%;overflow-x:auto;box-shadow:0 4px 6px #0062794d}.github-calendar .calendar{max-width:100%;min-height:0;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}.github-calendar .calendar{padding:.5rem}}.github-calendar .github-calendar-header{text-align:center;margin-bottom:2rem}.github-calendar .github-calendar-header h2{color:#006279;margin:0 0 .5rem;font-size:2rem;font-weight:700}.github-calendar .github-calendar-header p{color:#374151;margin-bottom:1.25rem;font-size:1rem}.github-calendar .github-calendar-header .btn{width:100%}@media (min-width:800px){.github-calendar .github-calendar-header{text-align:left;align-items:center;display:flex}.github-calendar .github-calendar-header .github-calendar-text{flex:1}.github-calendar .github-calendar-header .github-calendar-text p{margin-bottom:0}.github-calendar .github-calendar-header .btn{white-space:nowrap;width:auto;margin-left:2rem}}.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;color:#476167e6;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem 1rem;font-size:.75rem;display:flex}.site-footer p{margin:0}.site-footer__socials{gap:1rem;margin:0;padding:0;list-style:none;display:flex}.site-footer__socials li{margin:0}.site-footer__socials a{color:#476167e6;display:inline-flex}.site-footer__socials a:hover{opacity:.7}@media (min-width:800px){.site-footer__socials{display:none}}.flying-bird-container{pointer-events:none;z-index:9000;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.flying-bird{opacity:0;will-change:transform,opacity;transition:opacity .5s;position:absolute;top:0;left:0}@keyframes fly-flap-wing{0%{transform:rotate(0)}50%{transform:rotate(-25deg)}to{transform:rotate(0)}}@keyframes fly-flap-wing2{0%{transform:rotate(0)}50%{transform:rotate(-18deg)}to{transform:rotate(0)}}@keyframes fly-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.flying-bird-svg{filter:drop-shadow(0 0 .5px #fff)drop-shadow(0 0 .5px #fff);animation:.5s ease-in-out infinite fly-bob;display:block}.flying-bird-svg .bird-fill-primary{fill:#d66853;transition:fill .4s}.flying-bird-svg .bird-fill-accent{fill:#006279;transition:fill .4s}.flying-bird-svg #flying-main-wing{transform-box:fill-box;transform-origin:100% 100%;animation:.35s ease-in-out infinite fly-flap-wing}.flying-bird-svg #flying-accent-wing{transform-box:fill-box;transform-origin:100% 100%;animation:.35s ease-in-out 50ms infinite fly-flap-wing2}@keyframes fly-land{0%{transform:translate(0)scale(1)}to{transform:translate(1px,-1px)scale(.48)}}@keyframes fly-land-recall{0%{transform:translate(0)scale(1)}to{transform:translate(1px,1px)scale(.48)}}.flying-bird.is-landing .flying-bird-svg .bird-fill-primary,.flying-bird.is-landing .flying-bird-svg .bird-fill-accent{fill:#fff}.flying-bird.is-landing-entry .flying-bird-svg{animation:.4s forwards fly-land}.flying-bird.is-landing-recall .flying-bird-svg{animation:.4s forwards fly-land-recall}@keyframes fly-takeoff{0%{transform:translate(1px,-1px)scale(.48)}to{transform:translate(0)scale(1)}}@keyframes fly-takeoff-fill-primary{0%{fill:#fff}to{fill:#d66853}}@keyframes fly-takeoff-fill-accent{0%{fill:#fff}to{fill:#006279}}.flying-bird.is-taking-off .flying-bird-svg{animation:.4s forwards fly-takeoff}.flying-bird.is-taking-off .flying-bird-svg .bird-fill-primary{animation:.4s forwards fly-takeoff-fill-primary}.flying-bird.is-taking-off .flying-bird-svg .bird-fill-accent{animation:.4s forwards fly-takeoff-fill-accent}.bird-toggle{color:#fff;cursor:pointer;visibility:hidden;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:opacity .3s,transform .2s;display:inline-flex}.bird-toggle.is-perched,.bird-toggle.is-active{visibility:visible;opacity:1}.bird-toggle:hover{transform:scale(1.15)}.bird-toggle:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #fff}.bird-toggle.is-active{color:#efefef}.perch-bird-svg{display:block;transform:scaleX(-1)}.perch-bird-svg .perch-fill{fill:#fff}@keyframes perch-idle-twitch{0%,82%,to{transform:rotate(0)}86%{transform:rotate(-28deg)}90%{transform:rotate(0)}93%{transform:rotate(-22deg)}96%{transform:rotate(0)}}@keyframes perch-idle-twitch-accent{0%,82%,to{transform:rotate(0)}86%{transform:rotate(-22deg)}90%{transform:rotate(0)}93%{transform:rotate(-16deg)}96%{transform:rotate(0)}}.bird-toggle.is-perched .perch-wing{transform-box:fill-box;transform-origin:100% 100%;animation:8s ease-in-out infinite perch-idle-twitch}.bird-toggle.is-perched .perch-wing-accent{transform-box:fill-box;transform-origin:100% 100%;animation:8s ease-in-out 60ms infinite perch-idle-twitch-accent}.bird-hint{z-index:9001;color:#006279;pointer-events:none;opacity:0;white-space:nowrap;background:#efefef;border-radius:6px;padding:.4rem .7rem;font-size:.8rem;line-height:1.2;transition:opacity .3s,transform .3s;position:fixed;transform:translateY(-4px);box-shadow:0 4px 12px #0000002e}.bird-hint.is-visible{opacity:1;transform:translateY(0)}.bird-hint:after{content:"";border:6px solid #0000;border-bottom-color:#efefef;position:absolute;bottom:100%;right:14px}@media (prefers-reduced-motion:reduce){.flying-bird-container{display:none}.bird-toggle.is-perched .perch-wing,.bird-toggle.is-perched .perch-wing-accent{animation:none}.bird-toggle:hover{transform:none}}@media (max-width:799px){.flying-bird-container,.bird-hint{display:none}}.timeline-preview-section{margin:0 auto;padding:2rem 1rem}.timeline-preview-header{text-align:center;margin-bottom:2rem}.timeline-preview-header h2{color:#006279;margin:0 0 .5rem;font-size:2rem;font-weight:700}.timeline-preview-header p{color:#374151;margin-bottom:1.25rem;font-size:1rem}.timeline-preview-header .btn{width:100%;margin:0 auto}@media (min-width:800px){.timeline-preview-header{text-align:left;align-items:center;display:flex}.timeline-preview-header .timeline-preview-text{flex:1}.timeline-preview-header .timeline-preview-text p{margin-bottom:0}.timeline-preview-header .btn{white-space:nowrap;width:auto;margin-left:2rem}}.timeline-preview-card-link{cursor:pointer;text-decoration:none;display:block}.timeline-preview-card{aspect-ratio:1;background:#fff;border-radius:0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 6px #0062794d}@media (min-width:600px){.timeline-preview-card{aspect-ratio:auto}}.timeline-preview-image{background:#fff;height:100%;display:block;overflow:hidden}.timeline-preview-image img{object-fit:cover;width:400%;height:100%;margin-left:-100%;display:block}@media (min-width:600px){.timeline-preview-image img{width:100%;margin-left:0}.timeline-preview-image{justify-content:center;align-items:center;display:flex}}.btn{cursor:pointer;text-align:center;box-sizing:border-box;border:none;border-radius:.375rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.btn--primary{color:#fff;background:#006279}.btn--primary:hover{color:#fff;background:#476167}.btn--outline{color:#476167;background:#0062791a;border:1px solid #476167}.btn--outline:hover{color:#efefef;background:#476167e6;text-decoration:underline}.btn--ghost{color:#006279;background:0 0}.btn--ghost:hover{color:#476167}.btn--link{color:#006279;background:0 0;padding:.5rem 1rem;font-weight:400}.btn--link:hover{color:#476167;text-decoration:underline}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.btn--lg{padding:1rem 2rem;font-size:1.125rem}.btn--icon{padding:.5rem}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;min-height:100vh;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}}
