@media only screen and (min-width:0em){#tabs-section{padding:5em 0;background:var(--section-bg)}.tabs-header{margin-bottom:2em}.tabs-header h2{font-size:min(8vw, 2.5em);font-weight:800;color:var(--section-text);margin-bottom:0}.tab-controls{display:flex;width:100%;background:var(--primaryShade);border:.0625em solid var(--section-muted);border-radius:.625em;padding:.25em;margin:0 0 2em;gap:0}.tab-btn{flex:1;background:0 0;border:none;border-radius:.4375em;padding:.625em 0;font-size:.875em;font-weight:600;color:var(--section-text);cursor:pointer;font-family:inherit;letter-spacing:.02em;transition:background .5s,color .5s;text-align:center}.tab-btn.active{background:var(--primary);color:#fff}.tab-panel{opacity:0;visibility:hidden;height:0;overflow:hidden}.tab-panel.active{opacity:1;visibility:visible;height:auto;overflow:visible}.timeline{position:relative;width:100%;border:.09375em solid var(--section-muted);border-radius:.875em;overflow:hidden}.timeline-item{position:relative;padding:1.5em 1.5em 1.5em 4.75em;background:0 0;transition:background .2s;margin-bottom:0}.timeline-item:last-of-type{border-bottom:none}.timeline-item:hover{background:#bad5fd5d}.timeline-item .company-logo{position:absolute;left:1.125em;top:1.5em;width:2.375em;height:2.375em;background:0 0;border-radius:.5em;display:flex;align-items:center;justify-content:center;overflow:hidden}.timeline-item .company-logo img{width:100%;height:100%;object-fit:contain;display:block}.timeline-item .company{font-size:.9375em;font-weight:700;color:var(--section-text);margin-bottom:.13333333em}.timeline-item .company a{color:var(--section-text);text-decoration:none}.timeline-item .company a:hover{color:var(--primary)}.timeline-item .role{font-size:.8125em;color:var(--section-text);font-weight:500;margin-bottom:.15384615em}.timeline-item .date{font-size:.75em;color:var(--section-text);font-weight:400;margin-bottom:1em;display:flex;align-items:center;gap:0}.timeline-item .date:before{display:none}.timeline-item ul{padding-left:0}.timeline-item ul li{font-size:.8125em;color:var(--section-text);padding:.23076923em 0 .23076923em 1.23076923em;position:relative;line-height:1.6}.timeline-item ul li:before{content:'•';position:absolute;left:0;color:var(--primary);font-size:1em;top:.3em}}@media only screen and (min-width:64em){.timeline-item{padding-left:4.75em;padding-right:2em}}@media only screen and (min-width:0em){#featured-projects{padding:5em 0;background:var(--section-bg)}.section-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1em;margin-bottom:2.5em}.section-header h2{font-size:min(8vw, 2.4em);font-weight:800;color:var(--section-text)}.section-header a{font-size:.875em;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:.42857143em;transition:gap .2s}.section-header a:hover{gap:.71428571em}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.25em}.project-card{background:#fff;border:.0625em solid var(--section-muted);border-radius:.875em;overflow:hidden;transition:background .2s,border-color .2s,box-shadow .2s}.project-card:hover{border-color:var(--section-muted);box-shadow:0 .5em 1.75em var(--section-muted)}.project-card .card-img-placeholder{width:100%;height:7.5em;background:var(--primaryShade);display:flex;align-items:center;justify-content:center;font-size:2em;padding:.625em 1em 0;overflow:hidden}.project-card .card-img-placeholder img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block;border-radius:.25em}.project-card.has-video .card-img-placeholder{position:relative}.project-card.has-video .card-img-placeholder .play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;transition:transform .2s ease}.project-card.has-video .card-img-placeholder .play-icon svg{width:1.75em;height:1.75em;filter:drop-shadow(0 .125em .375em rgba(0, 0, 0, .4))}.project-card.has-video:hover .card-img-placeholder .play-icon{transform:translate(-50%,-50%) scale(1.12)}.project-card .card-body{padding:.875em 1em 0}.project-card h3{font-size:.9375em;font-weight:700;color:var(--section-text);margin-bottom:.26666667em}.project-card p{font-size:.8125em;color:var(--section-text);margin-bottom:.92307692em;line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:.3125em;margin-bottom:.75em}.tag{font-size:.6875em;font-weight:600;padding:.27272727em .90909091em;border:.09090909em solid var(--primaryDark);color:var(--primaryDark);border-radius:100px}.card-links{display:flex;gap:.625em;padding:0 1em 1.125em}.card-trigger{display:block;cursor:pointer}.card-trigger:focus-visible{outline:.125em solid var(--primary);outline-offset:-0.125em}.card-link{font-size:.6875em;font-weight:600;color:var(--primaryDark);border:.13636364em solid var(--primaryDark);padding:.36363636em 1.09090909em;border-radius:.45454545em;transition:background .2s,color .2s,border-color .2s}.card-link:hover{background:var(--primary);color:#fff}}@media only screen and (min-width:666px){.projects-grid{grid-template-columns:1fr 1fr}}@media only screen and (min-width:64em){.projects-grid{grid-template-columns:1fr 1fr}}@media only screen and (min-width:0em){#tech-stack{padding:4em 0 5em;background:var(--section-bg)}#tech-stack .tech-heading{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1em;margin-bottom:2.5em}#tech-stack .tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1em}#tech-stack .tech-item{display:flex;flex-direction:column;align-items:center;gap:.5em;width:4.5em}#tech-stack .tech-item img{width:2.5em;height:2.5em;object-fit:contain;display:block;background:0 0}#tech-stack .tech-item span{font-size:.6875em;font-weight:600;color:var(--section-text);text-align:center;letter-spacing:.02em;text-transform:uppercase;line-height:1.3}}@media only screen and (min-width:64em){#tech-stack .tech-item{width:5em}#tech-stack .tech-item img{width:2.75em;height:2.75em}}@media only screen and (min-width:0em){#project-modal{position:fixed;inset:0;z-index:50000;display:flex;align-items:flex-start;justify-content:center;padding:3em 1em;background:var(--section-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}#project-modal.open{opacity:1;visibility:visible}.modal-panel{position:relative;width:92%;max-width:43.75em;margin:auto;background:var(--section-bg);border-radius:1em;box-shadow:0 0 0 .09375em rgba(91,134,182,.3),0 2em 5em rgba(0,0,0,.4);overflow:hidden}.modal-img{width:100%;height:auto;background:var(--primaryShade);display:flex;align-items:center;justify-content:center;font-size:3.5em;padding:.75em .75em;overflow:hidden}.modal-img img{max-width:100%;width:auto;height:auto;object-fit:cover;display:block;border-radius:.25em}.modal-body{padding:1.75em 1.75em 2em}.modal-body h2{font-size:1.25em;font-weight:800;color:var(--section-text);margin-bottom:.4em}.modal-body .modal-desc{font-size:.9375em;color:var(--section-text);line-height:1.7;margin-bottom:.8em}.modal-body .modal-detail{font-size:.875em;color:var(--section-text);line-height:1.75;margin-bottom:1.42857143em}.modal-body .modal-tags{display:flex;flex-wrap:wrap;gap:.375em;margin-bottom:1.25em}.modal-body .modal-links-heading{font-size:.625em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--section-text);margin-bottom:1em;opacity:.7}.modal-body .modal-links{display:flex;gap:.625em;flex-wrap:wrap}.modal-close{position:absolute;top:.75em;right:.75em;width:1.875em;height:1.875em;background:rgba(0,0,0,.4);border:none;border-radius:50%;color:#fff;font-size:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2}.modal-close:hover{background:rgba(0,0,0,.7)}.video-facade{position:relative;cursor:pointer;display:block;width:100%;line-height:0}.video-facade img{width:100%;height:auto;max-height:25em;object-fit:contain;display:block;border-radius:.25em}.video-facade .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;transition:transform .15s ease}.video-facade:hover .play-btn{transform:translate(-50%,-50%) scale(1.12)}.video-facade:focus-visible{outline:.125em solid var(--primary);outline-offset:0.125em}#modal-img video{width:auto;max-width:100%;max-height:31.25em;display:block;margin:0 auto;border-radius:.25em}}