/* Nails By Tasher Portfolio */
.tnp-wrap{--bg:#e9e3db;--paper:#f7f2ec;--ink:#171513;--muted:#746b64;--line:rgba(23,21,19,.18);position:relative;overflow:hidden;background:var(--bg);color:var(--ink);padding:120px clamp(20px,5vw,80px)}
.tnp-wrap *{box-sizing:border-box}
.tnp-header{max-width:1100px;margin:0 auto 70px;text-align:center}
.tnp-kicker,.tnp-footer p{margin:0 0 24px;font-family:"Montserrat",sans-serif;font-size:11px;font-weight:300;letter-spacing:.38em;text-transform:uppercase}
.tnp-header h2{margin:0;font-family:"Italiana",Georgia,serif!important;font-weight:400!important;font-size:clamp(68px,10vw,150px);line-height:.86;letter-spacing:-.045em;color:var(--ink)}
.tnp-script{margin-top:-12px;font-family:"Pinyon Script",cursive;font-size:clamp(62px,9vw,132px);line-height:.8;color:#746357}
.tnp-intro{max-width:650px;margin:42px auto 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(20px,2.2vw,27px);line-height:1.55;font-style:italic;color:var(--muted)}
.tnp-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;max-width:1100px;margin:0 auto 55px}
.tnp-filters button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:10px 19px;font-family:"Montserrat",sans-serif;font-size:10px;font-weight:300;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.tnp-filters button:hover,.tnp-filters button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.tnp-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,30px)}
.tnp-card{grid-column:span 4}.tnp-card:nth-child(5n+2),.tnp-card:nth-child(5n+4){margin-top:80px}.tnp-card.is-hidden{display:none}
.tnp-image-button{width:100%;display:block;position:relative;padding:0;border:0;background:#d7cec5;overflow:hidden;cursor:zoom-in}
.tnp-image-button img{width:100%;height:clamp(410px,52vw,650px);display:block;object-fit:cover;transition:transform .8s ease}
.tnp-card:nth-child(3n+2) .tnp-image-button img{height:clamp(360px,45vw,570px)}
.tnp-image-button:hover img{transform:scale(1.035)}
.tnp-number{position:absolute;top:18px;left:18px;z-index:2;font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.2em;color:#fff}
.tnp-view{position:absolute;right:18px;bottom:16px;z-index:2;color:#fff;font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase}
.tnp-card-copy{padding:18px 2px 10px}.tnp-card-copy>p{margin:0 0 7px;font-family:"Montserrat",sans-serif;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.tnp-card-copy h3{margin:0 0 9px;font-family:"Italiana",Georgia,serif!important;font-size:clamp(28px,3vw,44px);font-weight:400!important;line-height:1;color:var(--ink)}
.tnp-card-copy>div{font-family:"Cormorant Garamond",Georgia,serif;font-size:17px;line-height:1.45;color:var(--muted)}
.tnp-footer{margin:100px auto 0;text-align:center}.tnp-footer a{color:var(--ink)!important;font-family:"Italiana",Georgia,serif;font-size:clamp(28px,4vw,52px);text-decoration:none!important;border-bottom:1px solid var(--ink)}
.tnp-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(10,9,8,.92);opacity:0;visibility:hidden;transition:.3s ease}
.tnp-lightbox.is-open{opacity:1;visibility:visible}.tnp-lightbox-inner{max-width:min(1000px,90vw);max-height:86vh;text-align:center}
.tnp-lightbox img{max-width:100%;max-height:78vh;display:block;margin:auto;object-fit:contain}.tnp-lightbox p{margin:14px 0 0;color:#fff;font-family:"Italiana",Georgia,serif;font-size:28px}
.tnp-lightbox-close{position:absolute;top:22px;right:28px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}
.tnp-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.tnp-reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.tnp-wrap{padding:90px 20px}.tnp-grid{grid-template-columns:repeat(2,1fr)}.tnp-card{grid-column:span 1}.tnp-card:nth-child(5n+2),.tnp-card:nth-child(5n+4){margin-top:45px}}
@media(max-width:580px){.tnp-grid{display:block}.tnp-card,.tnp-card:nth-child(5n+2),.tnp-card:nth-child(5n+4){margin:0 0 44px}.tnp-image-button img,.tnp-card:nth-child(3n+2) .tnp-image-button img{height:520px}}
