.tech-stack-rows-section.tss-wp{--tss-ink:var(--gray-900);--tss-muted:var(--gray-600);--tss-soft:var(--gray-500);--tss-line:var(--gray-200);--tss-surface:var(--gray-25);--tss-blue:var(--pillars-blue);--tss-blue-soft:var(--blue-light-50);--tss-chip-bg:var(--gray-50);--tss-chip-border:var(--gray-200)}.tech-stack-rows-section.tss-wp.tech-stack-rows-section--bg-muted{background:#f8f9fc}.tech-stack-rows-section .tss-card{--tss-card-radius:20px;background:#fff;border-radius:var(--tss-card-radius);border:1px solid var(--gray-200);border-top:3px solid var(--orange,var(--pillars-blue));box-shadow:0 2px 24px rgba(16,24,40,.06),0 0 0 1px rgba(255,255,255,.8) inset;padding:clamp(28px,4vw,48px) clamp(20px,4vw,40px);position:relative}.tech-stack-rows-section .tss-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:28px 40px;margin-bottom:clamp(28px,4vw,40px)}.tech-stack-rows-section .tss-head-main{flex:1 1 280px;max-width:460px}.tech-stack-rows-section .tss-eyebrow{display:block;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tss-blue);margin-bottom:12px}.tech-stack-rows-section .tss-title{font-size:clamp(22px, 2.4vw, 28px);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--tss-ink);margin:0}.tech-stack-rows-section .tss-title .tss-title-accent{color:var(--tss-blue);font-style:normal;font-weight:inherit}.tech-stack-rows-section .tss-lede{flex:1 1 240px;max-width:360px;align-self:center;padding:16px 18px;border-radius:12px;background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);border:1px solid var(--gray-200);transition:box-shadow .2s ease,border-color .2s ease}.tech-stack-rows-section .tss-lede-p{font-family:Inter,sans-serif;font-size:15px;line-height:1.72;color:var(--tss-soft);font-weight:400}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section .tss-head:hover .tss-lede{border-color:var(--gray-300);box-shadow:0 4px 18px rgba(8,111,235,.06)}}.tech-stack-rows-section .tss-rows{display:flex;flex-direction:column}.tech-stack-rows-section .tss-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr;align-items:center;gap:24px 32px;padding:18px 12px;margin:0 -8px;border-radius:10px;border-bottom:1px solid var(--gray-100);transition:background .18s ease}.tech-stack-rows-section .tss-rows .tss-row:last-child{border-bottom:none}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section .tss-row:hover{background:var(--gray-50)}}.tech-stack-rows-section .tss-row-label{display:flex;align-items:center;gap:10px;min-width:0}.tech-stack-rows-section--legacy .tss-journey .tss-row-label{align-items:flex-start}.tech-stack-rows-section--legacy .tss-journey .tss-row-icon{margin-top:2px}.tech-stack-rows-section .tss-row-title{font-size:13px;font-weight:600;color:var(--tss-muted);letter-spacing:.01em;line-height:1.25}.tech-stack-rows-section .tss-row:hover .tss-row-title{color:var(--gray-800)}.tech-stack-rows-section .tss-row-icon{width:28px;height:28px;flex-shrink:0;border-radius:6px;background:var(--tss-blue-soft);color:var(--tss-blue);display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}.tech-stack-rows-section .tss-row-icon svg{display:block;width:13px;height:13px;max-width:100%;max-height:100%;flex-shrink:0;fill:currentColor}.tech-stack-rows-section .tss-row-icon svg.stroke-only{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tech-stack-rows-section .tss-row-icon--image .tss-row-icon-img{display:block;width:22px;height:22px;object-fit:contain}.tech-stack-rows-section .tss-row-icon--text .tss-row-icon-text{display:flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;font-size:14px;line-height:1;font-weight:600;color:inherit}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section .tss-row:hover .tss-row-icon svg,.tech-stack-rows-section .tss-row:hover .tss-row-icon--custom-svg svg{transform:scale(1.05)}.tech-stack-rows-section .tss-row:hover .tss-row-icon--image .tss-row-icon-img{transform:scale(1.05)}}.tech-stack-rows-section .tss-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0}.tech-stack-rows-section .tss-chip{display:inline-block;cursor:default;font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:1.35;color:var(--gray-800);background:var(--tss-chip-bg);border:1px solid var(--tss-chip-border);border-radius:6px;padding:6px 13px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.tech-stack-rows-section a.tss-chip--link{cursor:pointer;text-decoration:none;color:inherit;box-sizing:border-box}.tech-stack-rows-section a.tss-chip--link:focus-visible{outline:2px solid var(--tss-blue);outline-offset:2px}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section .tss-chip:hover{background:#ebf2ff;border-color:rgba(8,111,235,.35);color:var(--tss-blue);transform:translateY(-1px);box-shadow:0 3px 10px rgba(8,111,235,.1)}}.tech-stack-rows-section--legacy .tss-journey{padding:10px 14px 14px;border-radius:16px;background:linear-gradient(165deg,#fbfcfe 0,var(--gray-50) 45%,#eef2f7 100%);border:1px solid rgba(16,24,40,.06);box-shadow:0 1px 2px rgba(16,24,40,.04)}.tech-stack-rows-section--legacy .tss-journey-bridge{display:flex;justify-content:center;padding:6px 0 10px}.tech-stack-rows-section--legacy .tss-journey-arrow-wrap{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--gray-200);box-shadow:0 2px 12px rgba(8,111,235,.1);color:var(--tss-blue)}.tech-stack-rows-section--legacy .tss-journey .tss-row{border-bottom:none}.tech-stack-rows-section--legacy .tss-row-label-inner{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.tech-stack-rows-section--legacy .tss-caption{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:999px;line-height:1}.tech-stack-rows-section--legacy .tss-caption--from{color:var(--gray-600);background:var(--gray-100);border:1px solid var(--gray-200)}.tech-stack-rows-section--legacy .tss-caption--to{color:var(--blue-700);background:var(--tss-blue-soft);border:1px solid rgba(8,111,235,.2)}.tech-stack-rows-section--legacy .tss-row-icon--muted{background:#f0eeeb;color:var(--gray-600)}.tech-stack-rows-section--legacy .tss-chip--muted{background:#f6f5f3;border-color:#e5e2dc;color:var(--gray-700)}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section--legacy .tss-chip--muted:hover{background:#f0ebe4;border-color:#d4cec4;color:var(--gray-900)}}.tech-stack-rows-section--legacy .tss-notes{margin-top:28px;display:grid;grid-template-columns:1fr;gap:14px}@media (min-width:720px){.tech-stack-rows-section--legacy .tss-notes{grid-template-columns:1fr 1fr;gap:16px}}.tech-stack-rows-section--legacy .tss-note{padding:20px 22px;border-radius:14px;border:1px solid var(--gray-200);background:linear-gradient(160deg,#fff 0,var(--gray-50) 100%);box-shadow:0 1px 3px rgba(16,24,40,.04);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.tech-stack-rows-section--legacy .tss-note-label{display:flex;align-items:center;gap:10px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tss-blue);margin-bottom:8px}.tech-stack-rows-section--legacy .tss-note-label::before{content:"";width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--blue-500),var(--tss-blue));box-shadow:0 0 0 3px rgba(8,111,235,.12);flex-shrink:0}.tech-stack-rows-section--legacy .tss-note-text{font-family:Inter,sans-serif;font-size:14px;line-height:1.7;color:var(--tss-soft)}@media (hover:hover) and (pointer:fine){.tech-stack-rows-section--legacy .tss-note:hover{border-color:rgba(8,111,235,.25);box-shadow:0 8px 24px rgba(8,111,235,.08);transform:translateY(-2px)}}@media (max-width:700px){.tech-stack-rows-section .tss-row{grid-template-columns:1fr;gap:12px}.tech-stack-rows-section .tss-head{flex-direction:column}.tech-stack-rows-section .tss-head-main{flex:0 1 auto;max-width:none}.tech-stack-rows-section .tss-lede{flex:0 1 auto;max-width:none;align-self:stretch}.tech-stack-rows-section--legacy .tss-journey{padding:8px 10px 12px}}@media (prefers-reduced-motion:reduce){.tech-stack-rows-section .tss-chip:hover,.tech-stack-rows-section--legacy .tss-note:hover{transform:none}.tech-stack-rows-section .tss-row:hover .tss-row-icon svg,.tech-stack-rows-section .tss-row:hover .tss-row-icon--custom-svg svg,.tech-stack-rows-section .tss-row:hover .tss-row-icon--image .tss-row-icon-img{transform:none}}