:root,[data-bs-theme=light]{--accent:#7c3aed;--bs-primary:var(--accent);--bs-link-color:var(--accent);--bs-link-hover-color:color-mix(in oklab,var(--accent) 85%,black);--bs-border-radius:16px}[data-bs-theme=dark]{--accent:#6ee7f9;--bs-primary:var(--accent);--bs-body-bg:#0c0f14;--bs-body-color:#e6e8ec;--bs-link-color:var(--accent);--bs-link-hover-color:color-mix(in oklab,var(--accent) 85%,white)}.btn-primary{--bs-btn-bg:var(--bs-primary);--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary);--bs-btn-active-bg:var(--bs-primary);--bs-btn-active-border-color:var(--bs-primary)}.btn-outline-primary{--bs-btn-color:var(--bs-primary);--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary)}.card{transition:transform .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.section-title{position:relative;display:inline-block}.section-title:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.section-title.is-visible:after{transform:scaleX(1)}body,html{scroll-behavior:smooth;font-family:var(--font-plus-jakarta),sans-serif}h1,h2,h3{font-family:var(--font-space-grotesk),sans-serif}.navbar .nav-link.active{color:var(--bs-link-color)!important;border-bottom:2px solid var(--accent)}.btn{transition:transform .08s ease}.btn:active{transform:translateY(1px)}a.link-underline{position:relative;text-decoration:none}a.link-underline:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}a.link-underline:hover:after{transform:scaleX(1)}.page-shell{padding:32px 20px}@media (min-width:768px){.page-shell{padding:56px 32px}}@media (min-width:1200px){.page-shell{padding:72px 0}}section.section{padding-block:64px}@media (min-width:768px){section.section{padding-block:88px}}.hero-img{width:100%;max-width:380px;border-radius:24px;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.12)}.hero-title{letter-spacing:-.02em}@media (min-width:768px){.py-md-6{padding-top:4.5rem!important;padding-bottom:4.5rem!important}}.about-box{background:var(--bs-body-bg);border-color:var(--bs-border-color)}.object-fit-cover{object-fit:cover}.skill-chip{padding:.6rem .9rem;font-weight:500;background:rgba(0,0,0,.06);color:var(--bs-body-color);border:1px solid var(--bs-border-color)}[data-bs-theme=dark] .skill-chip{background:rgba(255,255,255,.06)}.skill-chip:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.06)}.skill-chip{background-color:var(--accent)!important;color:#fff!important;border:none!important;border-radius:9999px;padding:.55rem .9rem;font-weight:600;letter-spacing:.1px;line-height:1;font-size:.9rem}.skill-chip:hover{filter:brightness(1.1);box-shadow:0 4px 14px rgba(0,0,0,.08)}.carousel-shell{position:relative;display:flex;align-items:center}.snap-container{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.25rem;scrollbar-width:none}.snap-container::-webkit-scrollbar{display:none}.snap-item{scroll-snap-align:start;flex:0 0 85%}@media (min-width:768px){.snap-item{flex:0 0 48%}}@media (min-width:992px){.snap-item{flex:0 0 31%}}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5}.carousel-btn.left{left:-3rem}.carousel-btn.right{right:-3rem}@media (max-width:767px){.carousel-btn.left{left:-1rem}.carousel-btn.right{right:-1rem}}.carousel-btn:disabled{opacity:.35;pointer-events:none}