.tech-marquee-wrapper{flex-direction:column;gap:1rem;max-width:100vw;margin:auto;padding-bottom:3rem;display:flex;overflow:hidden}.tech-marquee{--gap:10px;--duration:18s;--scroll-start:0;--scroll-end:calc(-100% - var(--gap));-webkit-user-select:none;user-select:none;gap:var(--gap);display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.tech-marquee__group{justify-content:space-around;align-items:center;gap:var(--gap);min-width:100%;animation:tech-scroll-x var(--duration)linear infinite;flex-shrink:0;display:flex}@keyframes tech-scroll-x{0%{transform:translateX(var(--scroll-start))}to{transform:translateX(var(--scroll-end))}}.tech-marquee-item{letter-spacing:-.01em;white-space:nowrap;border-radius:18px;align-items:center;gap:.3em;padding:16px 28px;font-size:2.25rem;font-weight:600;display:flex}.tech-marquee-item svg{display:block}.tech-icon{width:1em;height:1em}@media (max-width:768px){.tech-marquee{--duration:15s}.tech-marquee-item{border-radius:12px;padding:10px 18px;font-size:1.25rem}}
.portfolio-accordion{flex-direction:column;gap:0;margin-top:1.5rem;display:flex}@media (min-width:768px){.portfolio-accordion{gap:0;margin-top:2rem}}.portfolio-item{border-bottom:1px solid #0000001f;padding-top:1.5rem;padding-bottom:1.5rem}@media (min-width:768px){.portfolio-item{padding-top:2rem;padding-bottom:2rem}}.portfolio-item:first-child{padding-top:0}.portfolio-item:last-child{border-bottom:none}.portfolio-header{cursor:pointer;justify-content:space-between;align-items:flex-start;display:flex}.portfolio-text{flex-direction:column;flex:1;gap:.375rem;padding-right:1rem;display:flex}@media (min-width:768px){.portfolio-text{gap:.5rem;padding-right:1.5rem}}.portfolio-title{color:#0a0a0a;font-size:1.125rem;font-weight:500;line-height:1.3}@media (min-width:768px){.portfolio-title{font-size:1.5rem}}.portfolio-description{color:#4a4a4a;font-size:.9375rem;line-height:1.6}.portfolio-toggle{cursor:pointer;color:#0a0a0a;opacity:.6;background:0 0;border:none;border-radius:9999px;flex-shrink:0;transition:all .3s}.portfolio-icon{width:20px;height:20px;transition:transform .3s}@media (min-width:768px){.portfolio-toggle{padding:.25rem}.portfolio-icon{width:24px;height:24px}}.portfolio-toggle:hover{opacity:.8}.portfolio-toggle.is-open{opacity:.3}.portfolio-icon.is-open{transform:rotate(45deg)}.portfolio-content-wrapper{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .4s,opacity .4s,margin-top .4s;display:grid;overflow:hidden}.portfolio-content-wrapper.is-open{opacity:1;grid-template-rows:1fr;margin-top:1rem}@media (min-width:768px){.portfolio-content-wrapper.is-open{margin-top:1.25rem}}.portfolio-content{overflow:hidden}.portfolio-image{border-radius:1rem;width:100%;margin-bottom:2rem;overflow:hidden}.portfolio-image img{width:100%;height:auto;display:block}.portfolio-link{color:#1a1a1a;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.portfolio-link:hover{color:var(--accent)}.portfolio-skills{color:#00000080;margin-top:.375rem;font-size:.8125rem}@media (min-width:768px){.portfolio-skills{margin-top:.5rem;font-size:.875rem}}.portfolio-content .portfolio-description{color:#4a4a4a;margin-bottom:1.25rem;font-size:.9375rem;line-height:1.6}
