.tech-stack{padding:var(--space-16) 0;background:var(--color-soft)}.tech-stack__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4)}.tech-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-5) var(--space-4);text-align:center;transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.tech-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tech-card__icon{font-size:32px;margin-bottom:var(--space-2)}.tech-card__name{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-ink)}.tech-card__cat{font-size:var(--text-xs);color:var(--color-muted);margin-top:2px}.portfolio{padding:var(--space-16) 0}.portfolio-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.portfolio-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.portfolio-card__image{height:200px;background:var(--color-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.portfolio-card__img{width:100%;height:100%;object-fit:cover}.portfolio-card__placeholder{font-size:48px;color:var(--color-muted)}.portfolio-card__body{padding:var(--space-6)}.portfolio-card__title{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);color:var(--color-ink);margin-bottom:var(--space-2)}.portfolio-card__desc{font-size:var(--text-sm);color:var(--color-muted);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.portfolio-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.portfolio-card__tag{font-size:11px;font-weight:var(--font-weight-bold);padding:3px 8px;border-radius:4px;background:var(--color-soft);color:var(--color-muted)}.vertical-focus{padding:var(--space-16) 0}.vertical-focus__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.vertical-focus__media{background:linear-gradient(135deg,#EEF2FF 0%,#F0FDF4 100%);border:1px solid var(--color-line);border-radius:var(--radius-md);min-height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden}.vertical-focus__img{width:100%;height:100%;object-fit:cover}.vertical-focus__placeholder{font-size:80px}.vertical-focus__checklist{list-style:none;padding:0;margin:0 0 var(--space-6);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-6)}.vertical-focus__check-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ink);padding:var(--space-1) 0}.vertical-focus__checkmark{color:var(--color-primary);font-weight:var(--font-weight-bold);flex-shrink:0}.vertical-focus__actions{display:flex;gap:var(--space-4);flex-wrap:wrap}@media (max-width:1023px){.tech-stack__grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:767px){.tech-stack{padding:var(--space-10) 0}.portfolio{padding:var(--space-10) 0}.vertical-focus{padding:var(--space-10) 0}.vertical-focus__grid{grid-template-columns:1fr;gap:var(--space-8)}.vertical-focus__media{min-height:240px}.portfolio-card__image{height:160px}.portfolio-card__body{padding:var(--space-4)}.portfolio-card__title{font-size:var(--text-base)}}@media (max-width:639px){.tech-stack__grid{grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.tech-card{padding:var(--space-3)}.tech-card__icon{font-size:24px}.tech-card__name{font-size:var(--text-xs)}}@media (max-width:479px){.tech-stack__grid{grid-template-columns:repeat(2,1fr)}.vertical-focus__checklist{grid-template-columns:1fr}.vertical-focus__actions{flex-direction:column;align-items:stretch;text-align:center}.vertical-focus__actions .btn{width:100%;justify-content:center}}