nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-logo img{height:55px}.nav-cta{display:none}.mobile-menu a:last-child{color:var(--plum)}.portfolio-hero{background:var(--white);border-radius:12px;margin:1.5rem;padding:2.5rem 2rem;overflow:hidden;box-shadow:0 8px 40px #0000001f}.portfolio-hero h1{color:var(--dark);margin-bottom:.6rem;font-family:Playfair Display,serif;font-size:36px;font-weight:400;line-height:1.1}.portfolio-hero h1 em{color:var(--plum);font-style:italic}.portfolio-hero p{color:var(--mid);font-size:14px;line-height:1.8}.hero-cta-row{flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;display:flex}.filter-section{padding:0 2rem 1.75rem}.filter-label{letter-spacing:.18em;text-transform:uppercase;color:var(--linen);margin-bottom:.75rem;font-size:10px;font-weight:600}.filter-bar{flex-wrap:wrap;gap:.45rem;display:flex}.filter-pill{letter-spacing:.08em;text-transform:uppercase;background:var(--white);color:var(--mid);border:1px solid var(--light);cursor:pointer;border-radius:100px;padding:.45rem 1rem;font-family:Nunito,sans-serif;font-size:11px;font-weight:600;transition:all .18s;box-shadow:0 1px 4px #0000000d}.filter-pill:hover{border-color:var(--plum);color:var(--plum)}.filter-pill.active{background:var(--plum);color:#fff;border-color:var(--plum);box-shadow:0 2px 8px #7b3f6138}.portfolio-section{padding:0 2rem 4rem}.portfolio-grid{grid-template-columns:1fr;gap:1rem;display:grid}.photo-card{background:var(--white);border-radius:10px;transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden;box-shadow:0 4px 18px #00000014}.photo-card:hover{transform:translateY(-2px);box-shadow:0 10px 32px #00000024}.photo-card-img-wrap{aspect-ratio:4/5;background:var(--light);position:relative;overflow:hidden}.photo-card-img-wrap img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s,transform .45s;display:block}.photo-card-img-wrap img.loaded{opacity:1}.photo-card:hover .photo-card-img-wrap img{transform:scale(1.04)}.photo-card.skeleton .photo-card-img-wrap{background:linear-gradient(90deg, var(--light) 25%, #ece7e2 50%, var(--light) 75%);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.photo-card-overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 45%,#1a1a1ab8 100%);padding:1.5rem 1rem .85rem;transition:opacity .25s;position:absolute;inset:auto 0 0}.photo-card:hover .photo-card-overlay{opacity:1}.photo-overlay-title{color:#fff;margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:15px;font-weight:400;line-height:1.3}.photo-overlay-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:9px;font-weight:700}.photo-card-meta{padding:.8rem 1rem .9rem}.photo-meta-title{color:var(--dark);margin-bottom:.2rem;font-family:Playfair Display,serif;font-size:14px;font-weight:400;line-height:1.3}.photo-meta-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--linen);font-size:9px;font-weight:700}.portfolio-empty{text-align:center;padding:4rem 1rem;display:none}.portfolio-empty-title{color:var(--dark);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:22px;font-weight:400}.portfolio-empty-sub{color:var(--mid);font-size:13px;line-height:1.7}.load-sentinel{height:1px}@media (width>=640px){.portfolio-hero{margin:2rem;padding:3rem 2.5rem}.portfolio-hero h1{font-size:42px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}@media (width>=900px){.nav-cta{background:var(--plum);border-radius:2px;padding:.5rem 1.1rem;display:block;color:#fff!important;letter-spacing:.1em!important;font-size:10px!important;font-weight:700!important}.portfolio-hero{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin:2rem;display:grid}.portfolio-hero h1{font-size:48px}.portfolio-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}
