.home-page{flex-direction:column;width:100%;min-height:100vh;display:flex}.home-page__content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;padding:clamp(.5rem,2vw,1.5rem);display:flex}@media (max-width:600px){.home-page__content{padding:clamp(.25rem,1.5vw,.75rem)}}.page-content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:calc(100vh - 60px);padding:clamp(.25rem,1vw,.5rem);display:flex;overflow:visible}@media (max-width:600px){.page-content{padding:.25rem}}@media (max-width:480px){.page-content{padding:.125rem}}.bento-grid{box-sizing:border-box;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(360px,auto);gap:16px;width:100%;min-height:100%;display:grid}.bento-grid .item{background-color:var(--card-bg);border:1px solid var(--border);min-width:0;min-height:0;color:var(--text-primary);border-radius:12px;padding:clamp(1rem,2vw,2rem);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s;display:flex;position:relative;overflow:hidden}.bento-grid .item *,.bento-grid .item h1,.bento-grid .item h2,.bento-grid .item h3,.bento-grid .item h4,.bento-grid .item h5,.bento-grid .item h6{color:var(--text-primary)}.bento-grid .item p{color:var(--text-secondary)}.bento-grid .item:hover{box-shadow:var(--card-hover-shadow);border-color:var(--card-hover-border);transform:translateY(-3px)}.bento-grid .item:has(.shader-gradient-container){padding:0}.bento-grid .item:has(.shader-gradient-container):hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f,0 4px 12px #0066cc14}.bento-grid .shader-gradient-container{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.bento-grid .shader-gradient-container canvas{touch-action:none;pointer-events:none;-webkit-user-zoom:none}.bento-grid .shader-gradient-container *{touch-action:none}.bento-grid .item.item1{min-height:auto;padding:0;position:relative}.bento-grid .item.item1:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(#0000 0%,#00000026 60%,#00000080 100%);border-radius:0 0 12px 12px;height:60%;position:absolute;bottom:0;left:0;right:0}.bento-grid .item-content{z-index:10;pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:100%;height:100%;padding:clamp(1.25rem,2vw,2rem);display:flex;position:relative}.bento-grid .item-content h1{color:#fff;text-shadow:0 2px 12px #0006;letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(2rem,4vw,2.6rem);font-weight:700;line-height:1.15}.bento-grid .item-content p{color:#ffffffe6;text-shadow:0 1px 6px #0006;margin:.5rem 0;font-size:clamp(1rem,2.5vw,1.15rem)}.bento-grid .item-content *{pointer-events:auto}.bento-grid .about-card{flex-direction:column;gap:14px;max-width:420px;display:flex}.bento-grid .about-card .about-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.8rem;font-weight:500}.bento-grid .about-card .about-header{align-items:center;gap:14px;display:flex}.bento-grid .about-card .about-header h3{margin:0;font-size:clamp(1.2rem,3vw,1.4rem);line-height:1.2}.bento-grid .about-card .about-header span{color:var(--text-secondary);font-size:.9rem}.bento-grid .about-card .about-avatar{border:2px solid var(--border);border-radius:999px;flex-shrink:0;width:64px;height:64px;transition:border-color .3s;position:relative;overflow:hidden}.bento-grid .about-card p{color:var(--text-secondary);margin:0;font-size:clamp(.95rem,2.2vw,1rem);line-height:1.6}.bento-grid .about-card .about-link-wrapper{width:fit-content}.bento-grid .about-card .about-link{border:1px solid var(--card-hover-border);background:linear-gradient(135deg, var(--accent-glow), transparent);color:var(--accent);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:auto;padding:clamp(.5rem,2vw,.55rem) clamp(.875rem,2vw,1rem);font-size:clamp(.875rem,2vw,1rem);font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex}@media (max-width:600px){.bento-grid .about-card .about-link{width:100%;min-height:40px}}.bento-grid .about-card .about-link:hover{border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow);background:linear-gradient(135deg,#50b4ff40,#50b4ff14)}.bento-grid .about-card .about-link:active{transform:scale(.97)}.bento-grid .about-card .about-link .about-link-arrow{transition:transform .2s}.bento-grid .about-card .about-link:hover .about-link-arrow{transform:translate(4px)}.bento-grid .availability-card{flex-direction:column;gap:14px;display:flex}.bento-grid .availability-card .availability-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.8rem;font-weight:500}.bento-grid .availability-card h3{margin:0;font-size:clamp(1.2rem,3vw,1.4rem);line-height:1.3}.bento-grid .availability-card p{color:var(--text-secondary);margin:0;font-size:clamp(.9rem,2.3vw,1rem);line-height:1.6}.bento-grid .availability-card .status-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;position:relative;box-shadow:0 0 8px #22c55e80}.bento-grid .availability-card .status-dot:before{content:"";background:#22c55e4d;border-radius:50%;animation:2s ease-in-out infinite pulse-ring;position:absolute;inset:-3px}@keyframes pulse-ring{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(2)}}.bento-grid .availability-card .availability-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.bento-grid .availability-card .availability-actions a{border:1px solid var(--border);color:var(--text-primary);border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:clamp(.4rem,2vw,.45rem) clamp(.8rem,2vw,.9rem);font-size:clamp(.875rem,2vw,.95rem);font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,background .2s,box-shadow .2s;display:inline-flex}@media (max-width:600px){.bento-grid .availability-card .availability-actions a{min-height:40px}}.bento-grid .availability-card .availability-actions a:first-child{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-color:#0000;font-weight:600}.bento-grid .availability-card .availability-actions a:first-child:hover{box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.bento-grid .availability-card .availability-actions a:not(:first-child):hover{border-color:var(--accent);color:var(--accent)}.bento-grid .availability-card .availability-actions a:active{transform:scale(.97)}.bento-grid .trust-card{flex-direction:column;gap:14px;display:flex}.bento-grid .trust-card .trust-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.78rem;font-weight:500}.bento-grid .trust-card .trust-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.bento-grid .trust-card .trust-stats h4{color:var(--accent);margin:0;font-size:1.6rem;font-weight:700}.bento-grid .trust-card .trust-stats span{color:var(--text-secondary);font-size:.85rem}.bento-grid .trust-card blockquote{border-top:1px solid var(--border);color:var(--text-secondary);margin:0;padding:14px 0 0;font-style:italic;line-height:1.6}.bento-grid .trust-card blockquote span{color:var(--text-primary);margin-top:8px;font-size:.9rem;font-style:normal;font-weight:500;display:block}.bento-grid .trust-card .trust-proof{color:var(--text-secondary);flex-wrap:wrap;gap:8px;font-size:.85rem;display:flex}.bento-grid .trust-card .trust-proof span{border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;transition:border-color .2s,background .2s}.bento-grid .trust-card .trust-proof span:hover{border-color:var(--accent);background:var(--accent-glow)}@media (max-width:1200px){.bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(320px,auto)}}@media (max-width:900px){.bento-grid{grid-auto-rows:minmax(0,auto);gap:14px;grid-template-columns:1fr!important}.bento-grid .item{padding:1rem}.bento-grid .item.item1{min-height:400px}.bento-grid .about-card,.bento-grid .availability-card,.bento-grid .trust-card{max-width:none}.bento-grid .item-content{align-items:flex-start;padding:clamp(1rem,3vw,1.5rem)}.bento-grid .availability-actions{flex-direction:column;align-items:stretch}.bento-grid .availability-actions a{text-align:center;justify-content:center;width:100%}.bento-grid .trust-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}@media (max-width:768px){.bento-grid .item.item1{min-height:350px}.bento-grid .item-content h1{font-size:clamp(1.75rem,6vw,2.2rem)}.bento-grid .about-header{flex-direction:column;align-items:flex-start;gap:12px}.bento-grid .about-header .about-avatar{width:56px;height:56px}.bento-grid .about-card{gap:10px}.bento-grid .availability-card h3{font-size:clamp(1.1rem,4vw,1.3rem)}}@media (max-width:600px){.bento-grid{gap:12px}.bento-grid .item{padding:.85rem}.bento-grid .item.item1{min-height:300px}.bento-grid .item-content{padding:clamp(.875rem,4vw,1.25rem)}.bento-grid .about-header{gap:10px}.bento-grid .about-header .about-avatar{width:48px;height:48px}.bento-grid .about-header h3{font-size:clamp(1.1rem,5vw,1.25rem)}.bento-grid .about-header span{font-size:.85rem}.bento-grid .about-card p,.bento-grid .availability-card p{font-size:clamp(.875rem,3vw,.95rem)}.bento-grid .trust-stats{grid-template-columns:1fr;gap:16px}.bento-grid .trust-stats h4{font-size:1.4rem}.bento-grid .trust-proof{flex-direction:column;gap:6px}.bento-grid .trust-proof span{text-align:center;font-size:.8rem}.bento-grid .trust-card blockquote{font-size:.9rem}}@media (max-width:480px){.bento-grid{gap:10px}.bento-grid .item{border-radius:10px;padding:.75rem}.bento-grid .item-content h1{margin-bottom:.75rem;font-size:clamp(1.5rem,7vw,2rem)}.bento-grid .about-link{padding:.5rem .875rem;font-size:.9rem}.bento-grid .availability-actions a{padding:.4rem .8rem;font-size:.875rem}.bento-grid .about-card,.bento-grid .availability-card,.bento-grid .trust-card{gap:10px}.bento-grid .trust-card blockquote{font-size:.85rem;line-height:1.5}}.bento-grid .item,.bento-grid h1,.bento-grid h2,.bento-grid h3,.bento-grid h4,.bento-grid h5,.bento-grid h6{word-wrap:break-word;overflow-wrap:break-word}
.tech-stack-card{flex-direction:column;gap:clamp(12px,3vw,20px);width:100%;height:100%;padding:clamp(1rem,3vw,24px);display:flex;overflow:hidden}.tech-stack-title{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0;padding-bottom:12px;font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700}.tech-stack-description{color:var(--text-secondary);opacity:.9;max-width:620px;margin:4px 0 0;padding:0;font-size:clamp(.85rem,2vw,.9rem);line-height:1.6}.marquee-container{flex:1;align-items:center;display:flex;position:relative;overflow:hidden}.marquee-container .react-fast-marquee{z-index:1;width:100%;position:relative}.marquee-container:before,.marquee-container:after{content:"";z-index:2;pointer-events:none;width:40px;position:absolute;top:0;bottom:0}.marquee-container:before{background:linear-gradient(to right, var(--card-bg) 0%, transparent 100%);left:0}.marquee-container:after{background:linear-gradient(to left, var(--card-bg) 0%, transparent 100%);right:0}.tech-item{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-width:clamp(80px,15vw,100px);margin:0 clamp(8px,2vw,12px);padding:clamp(12px,2vw,16px) clamp(16px,3vw,24px);transition:transform .3s cubic-bezier(.22,1,.36,1),background-color .2s;display:flex}.tech-item:hover{background-color:var(--bg-secondary);transform:scale(1.08)translateY(-2px)}@media (max-width:600px){.tech-item{min-width:70px;margin:0 8px;padding:10px 14px}}.tech-logo{background:0 0;justify-content:center;align-items:center;width:clamp(40px,8vw,48px);height:clamp(40px,8vw,48px);display:flex}.tech-logo img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;filter:drop-shadow(0 2px 4px var(--shadow-sm)) brightness(1.1) contrast(1.1);transition:filter .2s;background:0 0!important}.dark .tech-logo img{mix-blend-mode:screen;filter:drop-shadow(0 2px 4px var(--shadow-sm)) brightness(1.2)}.tech-name{color:var(--text-primary);text-align:center;font-size:clamp(.75rem,2vw,.875rem);font-weight:500;transition:color .2s}.tech-category{color:var(--text-tertiary);text-align:center;opacity:.7;font-size:clamp(.65rem,1.8vw,.75rem);font-weight:400;transition:opacity .2s,color .2s}@media (max-width:600px){.marquee-container:before,.marquee-container:after{width:20px}}.tech-item:hover .tech-name{color:var(--accent)}.tech-item:hover .tech-category{opacity:1;color:var(--text-secondary)}
.featured-projects-card{--preview-width:clamp(220px, 20vw, 280px);border-radius:18px;flex-direction:column;gap:clamp(12px,3vw,16px);width:100%;height:100%;padding:clamp(1rem,3vw,24px);display:flex;position:relative}.projects-title{color:var(--text-primary);margin:0;font-size:clamp(1.2rem,4vw,1.4rem);font-weight:600}.projects-list{flex-direction:column;gap:0;display:flex}.project-row{border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:clamp(12px,2vw,16px) 8px;transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .2s;display:flex}.project-row:last-child{border-bottom:none}.project-row:hover{background-color:var(--bg-secondary);transform:translate(6px)}.project-row:hover .project-name{color:var(--accent)}.project-row:hover .project-arrow{opacity:1;transform:translate(0)}@media (max-width:640px){.project-row{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 8px}}.project-name{color:var(--text-primary);align-items:center;gap:8px;font-size:clamp(.95rem,3vw,1.05rem);font-weight:500;transition:color .2s;display:flex}.project-arrow{opacity:0;color:var(--accent);font-size:.9rem;transition:opacity .2s,transform .2s;transform:translate(-6px)}.project-type{color:var(--text-secondary);text-align:right;max-width:55%;font-size:clamp(.8rem,2.5vw,.9rem)}@media (max-width:640px){.project-type{text-align:left;max-width:100%}}
