/* Technologies page - categorised tech stack */
.tech-stack{--ts-main:var(--main-color,#FF9800);--ts-ink:rgb(29,44,56);--ts-muted:#5d6670;--ts-line:#ececec;--ts-soft:#fff6ea;padding:70px 0;font-family:'Inter',sans-serif;color:var(--ts-ink)}
.tech-stack .ts-head{text-align:center;margin-bottom:28px}
.tech-stack .ts-head h2,.tech-stack .ts-head h1{font-size:34px;font-weight:700;margin:0 0 10px;color:var(--ts-ink)}
.tech-stack .ts-head p{color:var(--ts-muted);font-size:16px;margin:0}
.tech-stack .ts-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 36px}
.tech-stack .ts-filter button{font:500 14px 'Inter',sans-serif;border:1px solid var(--ts-line);background:#fff;color:var(--ts-ink);padding:9px 18px;border-radius:999px;cursor:pointer;transition:.2s}
.tech-stack .ts-filter button:hover{border-color:var(--ts-main)}
.tech-stack .ts-filter button.active{background:var(--ts-main);border-color:var(--ts-main);color:#fff}
.tech-stack .ts-cat{display:grid;grid-template-columns:270px 1fr;gap:28px;padding:28px;border:1px solid var(--ts-line);border-radius:20px;margin-bottom:18px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.03)}
.tech-stack .ts-cat[hidden]{display:none}
.tech-stack .ts-cat-info{border-right:1px dashed #f0d6b0;padding-right:24px}
.tech-stack .ts-cat-num{font-size:13px;font-weight:600;color:var(--ts-main);letter-spacing:.08em}
.tech-stack .ts-cat-info h3{font-size:21px;font-weight:700;margin:6px 0 8px;line-height:1.3;color:var(--ts-ink)}
.tech-stack .ts-cat-info p{font-size:14px;line-height:1.6;color:var(--ts-muted);margin:0}
.tech-stack .ts-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;align-content:start}
.tech-stack .ts-item{background:var(--ts-soft);border-radius:14px;padding:18px;transition:.25s;border:1px solid transparent}
.tech-stack .ts-item:hover{background:#fff;border-color:var(--ts-main);transform:translateY(-3px);box-shadow:0 8px 22px rgba(255,152,0,.15)}
.tech-stack .ts-item-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.tech-stack .ts-icon{font-family:"Flaticon";font-style:normal;font-size:30px;line-height:1;color:var(--ts-main)}
.tech-stack .ts-icon:before{margin:0;font-size:30px}
.tech-stack .ts-item h4{font-size:16px;font-weight:600;margin:0;line-height:1.3;color:var(--ts-ink)}
.tech-stack .ts-tags{display:flex;flex-wrap:wrap;gap:6px}
.tech-stack .ts-tags span{font-size:12px;line-height:1.5;background:#fff;border:1px solid #f3dfc2;color:#6b5a44;padding:3px 9px;border-radius:999px}
@media(max-width:991px){.tech-stack .ts-cat{grid-template-columns:1fr;gap:18px}.tech-stack .ts-cat-info{border-right:0;border-bottom:1px dashed #f0d6b0;padding:0 0 16px}}
@media(max-width:575px){.tech-stack{padding:50px 0}.tech-stack .ts-head h2,.tech-stack .ts-head h1{font-size:26px}.tech-stack .ts-cat{padding:20px}.tech-stack .ts-items{grid-template-columns:1fr}}
