.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-bottom-left-radius:0}}.project-section{position:relative;z-index:1;padding:9.5rem .75rem 5rem;min-height:100vh;text-align:left;color:#eaf2ff}.projects-title{margin:0;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.035em;line-height:1.15}.projects-title:before{content:"";display:block;width:42px;height:3px;margin-bottom:1.25rem;border-radius:3px;background:#4d92ff;box-shadow:0 0 12px #367fec55}.projects-intro{max-width:720px;margin:1.25rem 0 0;line-height:1.75;color:#bccce1}.project-filter-shell{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:2rem 0;padding-bottom:1.25rem;border-bottom:1px solid #94b7e726}.project-filter-bar{display:flex;gap:.5rem;flex-wrap:wrap}.project-filter-chip{min-height:42px;padding:.5rem .9rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#b5c8e1;font-size:.9rem;font-weight:600}.project-filter-chip.active{background:#387bdb28;color:#d8eaff;border-color:#88baff55}.project-filter-chip:hover{color:#fff;background:#387bdb20}.project-filter-count{color:#9fb6d3;font-size:.85rem}.project-explorer{display:grid;grid-template-columns:275px minmax(0,1fr);gap:2rem;align-items:start}.project-nav{position:sticky;top:6.5rem;min-width:0}.project-nav-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.project-nav-title{margin:0;font-weight:600;font-size:.9rem;color:#bdcfe7}.project-nav-count{font-size:.8rem;color:#8fa8ca}.project-nav-list{display:flex;flex-direction:column;gap:.45rem;max-height:calc(100vh - 11rem);overflow-y:auto;padding:4px;scrollbar-width:thin}.project-nav-item{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:.8rem;padding:.75rem;width:100%;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:#d6e5f7}.project-nav-item:hover{background:#8ab5f212}.project-nav-item.active{background:#387bdb20;border-color:#88baff44}.project-nav-thumbnail{width:56px;height:43px;object-fit:contain;border-radius:5px;background:#15243b}.project-nav-copy{display:flex;flex-direction:column;gap:.35rem;min-width:0}.project-nav-name{font-size:.9rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.project-nav-meta{display:flex;flex-wrap:wrap;gap:.3rem .5rem;color:#99b0cf;font-size:.72rem}.project-nav-featured{color:#b8d7ff}.project-detail{min-width:0}.project-detail-stage{display:grid;min-width:0}.project-detail-stage>*{grid-area:1 / 1;min-width:0}.project-detail-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.project-detail-position{margin:0;font-size:.85rem;color:#a9bfdc}.project-detail-switches{display:flex;gap:.5rem}.project-switch-btn{min-height:40px;padding:.4rem .8rem;border-radius:8px;border:1px solid #94b7e733;background:#172b4655;color:#dbeaff;font-size:.8rem}.project-switch-btn:hover:not(:disabled){background:#294d7a77}.project-switch-btn:disabled{opacity:.4;cursor:not-allowed}.project-section :focus-visible{outline:2px solid #94c3ff;outline-offset:3px}.project-card-view.card{display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid #94b7e733;border-radius:18px;background:linear-gradient(135deg,#182b46db,#0d1727f5);color:#eaf2ff}.project-img-wrapper{width:100%;padding:1rem;background:#08121f;border-bottom:1px solid #94b7e726}.project-img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:8px}.project-img-wrapper-contain{height:380px}.project-img-contain{height:100%;aspect-ratio:auto;object-fit:contain}.project-card-body{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.project-featured-pill{align-self:flex-start;color:#9bc6ff;font-size:.75rem;font-weight:600}.project-card-title{margin:0}.project-title-text{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3}.project-title-text .blue{color:#f0f6ff}.project-panel-title{margin:0 0 .7rem;font-size:.8rem;letter-spacing:.04em;font-weight:600;color:#9eb9dc}.project-description,.project-result{margin:0;line-height:1.75;color:#cad7e9;font-size:.95rem}.project-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-top:1.5rem;border-top:1px solid #94b7e726}.project-tech-badges{display:flex;flex-wrap:wrap;gap:.5rem}.project-tech-badge{padding:.35rem .6rem;border-radius:6px;background:#81b4ff12;color:#bcd8fc;font-size:.8rem;overflow-wrap:anywhere}.project-section .button-group{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.project-section .button-group a{min-height:42px;padding:.6rem .9rem;border-radius:9px;font-size:.85rem;text-decoration:none;box-shadow:none}.project-section .button-github,.project-section .button-youtube{background:transparent;border:1px solid #94b7e744;color:#d6e7ff}.project-section .button-see{background:#bad9ff;color:#0b1b30;border:1px solid #bad9ff}.project-section .button-group a:hover{filter:brightness(1.15)}.project-button-icon{margin-right:.4rem}.project-empty{color:#c3d6ee}@media (max-width: 991px){.project-explorer{grid-template-columns:220px minmax(0,1fr);gap:1.25rem}.project-nav-item{grid-template-columns:42px minmax(0,1fr);gap:.6rem;padding:.55rem}.project-nav-thumbnail{width:42px;height:36px}.project-info-grid{grid-template-columns:1fr}.project-card-body{padding:1.5rem}}@media (max-width: 767px){.project-section{padding-top:7.5rem}.project-explorer{grid-template-columns:minmax(0,1fr)}.project-nav{position:static}.project-nav-list{flex-direction:row;max-height:none;overflow-x:auto;scroll-snap-type:x proximity}.project-nav-item{flex:0 0 225px;scroll-snap-align:start}.project-nav-header{margin-bottom:.5rem}.project-filter-shell{margin:1.5rem 0;gap:.75rem}.project-filter-chip{padding:.45rem .65rem;font-size:.85rem}.project-card-body{padding:1.25rem;gap:1.25rem}.project-img-wrapper{padding:.5rem}.project-img-wrapper-contain{height:300px}.project-info-grid{padding-top:1.25rem}}@media (prefers-reduced-motion: reduce){.project-section *,.project-section *:before{scroll-behavior:auto!important;transition:none!important}}
