.portfolio{border-top:1px solid var(--line,#aaa);padding-block:90px}.portfolio .intro{margin-bottom:18px}.portfolio .gallery-disclosure{font:12px/1.7 'DM Sans',sans-serif;color:var(--muted,#666);max-width:760px;margin:20px 0 32px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.portfolio-item{margin:0;min-width:0}.portfolio-item a{display:block;position:relative;overflow:hidden}.portfolio-item img{height:400px;transition:transform .4s;object-fit:cover}.portfolio-item a:hover img{transform:scale(1.035)}.portfolio-item .zoom-hint{position:absolute;right:14px;bottom:14px;background:#fffffff0;color:#171715;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font:24px/1 'DM Sans',sans-serif}.portfolio-item figcaption{padding-top:16px;font:13px/1.5 'DM Sans',sans-serif;display:flex;justify-content:space-between;gap:15px}.portfolio-item figcaption small{font-size:10px;color:var(--muted,#666);white-space:nowrap}.portfolio.staggered .portfolio-item:nth-child(2){padding-top:65px}.portfolio.staggered .portfolio-item:nth-child(3){padding-top:130px}.portfolio.wide .portfolio-grid{grid-template-columns:1.5fr 1fr 1fr}.portfolio.wide img{height:340px}.portfolio.square img{height:auto;aspect-ratio:1}.portfolio.horizontal img{height:280px}.portfolio.related-strip{padding-block:60px}.related-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px}.related-links a{border:1px solid var(--line,#aaa);padding:12px 18px;font-size:13px}.related-links a:hover{border-color:currentColor}.gallery-viewer{padding:0;border:0;background:#181817;color:#f8f1e5;width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px)}.gallery-viewer::backdrop{background:#000c}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;border-bottom:1px solid #ffffff30;font-size:12px}.viewer-head strong{font-weight:400;letter-spacing:1px}.gallery-viewer button{font:13px/1.5 'DM Sans',sans-serif;background:transparent;border:1px solid #ffffff50;color:#fff;min-height:44px;padding:10px 15px;cursor:pointer}.gallery-viewer img{width:100%;height:min(70dvh,720px);object-fit:contain}.viewer-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px}.viewer-caption{font:13px/1.5 'DM Sans',sans-serif;margin:0}.viewer-caption small{display:block;color:#bbb6ab;font-size:11px;margin-top:4px}.viewer-controls{display:flex;gap:10px;flex-shrink:0}.gallery-viewer button:hover{background:#ffffff20}.gallery-viewer button:focus-visible{outline:3px solid #f8f1e5;outline-offset:4px}.portfolio-credit{margin:30px 0 0;font-size:11px;color:var(--muted,#666)}.portfolio-credit summary{cursor:pointer;display:inline-block;border-bottom:1px solid currentColor}.portfolio-credit ul{padding-left:18px;margin-top:14px}.portfolio-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.portfolio-grid{gap:20px}.portfolio-item img{height:330px}.portfolio.wide img{height:280px}.portfolio.staggered .portfolio-item:nth-child(2){padding-top:40px}.portfolio.staggered .portfolio-item:nth-child(3){padding-top:80px}}
@media(max-width:700px){.portfolio{padding-block:60px}.portfolio .w{width:calc(100% - 40px)}.portfolio .intro{display:block}.portfolio .intro p{margin-top:25px}.portfolio-grid,.portfolio.wide .portfolio-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.portfolio-grid .portfolio-item:last-child{grid-column:1/-1}.portfolio-item img,.portfolio.wide img{height:260px}.portfolio-item:last-child img{height:320px}.portfolio.staggered .portfolio-item:nth-child(2),.portfolio.staggered .portfolio-item:nth-child(3){padding-top:0}.portfolio-item figcaption{display:block;font-size:12px;padding-top:10px}.portfolio-item figcaption small{display:block;margin-top:4px}.portfolio-item .zoom-hint{width:36px;height:36px;right:10px;bottom:10px}.portfolio.horizontal img{height:220px}.viewer-head{padding:12px 15px}.viewer-foot{display:block;padding:15px}.viewer-controls{margin-top:15px;justify-content:space-between}.gallery-viewer img{height:60dvh}.viewer-head strong{font-size:10px}.portfolio.related-strip{padding-block:45px}}
@media(prefers-reduced-motion:reduce){.portfolio-item img{transition:none}}
@media(max-width:700px){.nails .nail-word{font-size:clamp(90px,30vw,180px);letter-spacing:-5px}}
