.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:18px;margin:16px 0 36px}.portfolio-item{display:block;position:relative;overflow:hidden;border-radius:10px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,0.12);transition:box-shadow 0.3s ease, transform 0.3s ease}.portfolio-item:hover{box-shadow:0 8px 24px rgba(0,0,0,0.22);transform:translateY(-4px)}.portfolio-item img{width:100%;height:220px;object-fit:cover;display:block;transition:transform 0.4s ease}.portfolio-item:hover img{transform:scale(1.06)}.portfolio-item .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px;background:linear-gradient(to top, rgba(0,0,0,0.72) 0%, transparent 55%);color:#fff;transition:background 0.3s ease, justify-content 0s}.portfolio-item:hover .overlay{background:rgba(0,0,0,0.65);justify-content:center;align-items:center;text-align:center}.portfolio-item .title{font-size:15px;font-weight:700;line-height:1.3;margin:0}.portfolio-item .subtitle{font-size:12px;margin-top:5px;opacity:0;transform:translateY(6px);transition:opacity 0.3s ease 0.05s, transform 0.3s ease 0.05s}.portfolio-item:hover .subtitle{opacity:0.88;transform:translateY(0)}.page h2{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:#555;border-bottom:2px solid #e5e5e5;padding-bottom:6px;margin-top:2rem;margin-bottom:0}.page .about-container{display:flex;align-items:flex-start;gap:24px;margin-bottom:28px}.page .about-photo{width:180px;border-radius:50%;flex-shrink:0}.page .about-container .message{margin:0}
