.pd-portfolio{--pf-gap:24px}
.pd-portfolio .pf-intro{padding:26px 0 30px}
.pd-portfolio .pf-intro h1{font-size:var(--pd-heading-page,clamp(40px,4.5vw,66px));max-width:1080px;margin:20px 0 26px;text-wrap:balance}
.pd-portfolio .pf-intro h1 em{white-space:normal;text-shadow:none}
.pd-portfolio .pf-intro-text{max-width:1000px;font-size:18px;line-height:1.7}
.pd-portfolio .pf-gallery-section{padding:0 0 42px}
.pd-portfolio .pf-filters{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0 0}
.pd-portfolio .pf-filter{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 17px;border:1px solid var(--line);border-radius:28px;background:transparent;color:var(--muted);font:500 14px/1.4 var(--f-body);cursor:pointer}
.pd-portfolio .pf-filter span{font-size:12px;opacity:.75}
.pd-portfolio .pf-filter[aria-pressed=true]{background:var(--warm);border-color:var(--warm);color:var(--night)}
.pd-portfolio .pf-filter:hover{border-color:var(--warm);color:var(--text)}
.pd-portfolio .pf-filter[aria-pressed=true]:hover{color:var(--night)}
.pd-portfolio .pf-result{margin:20px 0 18px;font-size:13px;color:var(--muted)}
.pd-portfolio .pf-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pf-gap);align-items:stretch}
.pd-portfolio .pf-project{min-width:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--dusk);display:flex;flex-direction:column}
.pd-portfolio .pf-project[hidden]{display:none}
.pd-portfolio .pf-photo{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--night)}
.pd-portfolio .pf-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.pd-portfolio .pf-photo:hover img{transform:scale(1.025)}
.pd-portfolio .pf-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #f4c27480;border-radius:50%;background:#0a0e16d9;color:var(--warm);font-size:22px;line-height:1}
.pd-portfolio .pf-project-copy{padding:24px;display:flex;flex-direction:column;flex:1;gap:12px}
#main-content .ny-page.pd-portfolio h2.pf-project-title{font-family:var(--f-display);font-size:var(--pd-heading-card,22px)!important;line-height:1.3!important;font-weight:400;color:var(--warm);margin:0;text-wrap:initial}
.pd-portfolio h2.pf-project-title a{color:inherit;text-decoration:none}
.pd-portfolio .pf-project-spec{font-size:15px;line-height:1.55;margin:0;min-height:24px}
.pd-portfolio .pf-service{display:flex;justify-content:space-between;gap:12px;padding-top:17px;border-top:1px solid var(--line);margin-top:auto;font-size:13px;text-decoration:none!important}
.pd-portfolio .pf-project-facts{font-size:13px;margin:0 0 8px}
.pd-portfolio .pf-project-facts div{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:4px 0}
.pd-portfolio .pf-project-facts dt{color:var(--muted)}
.pd-portfolio .pf-project-facts dd{margin:0;color:var(--text)}
.pd-portfolio .ny-section{padding:38px 0}
.pd-portfolio .ny-section h2{font-size:var(--pd-heading-section,clamp(32px,3.8vw,51.2px));max-width:1050px}
.pd-portfolio .pf-section-lead{max-width:1000px;margin-bottom:26px}
.pd-portfolio .pf-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--dusk)}
.pd-portfolio .pf-direction{display:flex;align-items:flex-start;gap:20px;padding:28px;min-width:0}
.pd-portfolio .pf-direction:nth-child(odd){border-right:1px solid var(--line)}
.pd-portfolio .pf-direction:nth-child(-n+2){border-bottom:1px solid var(--line)}
.pd-portfolio .pf-direction-number{font:400 12px/1 var(--f-mono);color:var(--warm);width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex:none}
.pd-portfolio .pf-direction-copy{min-width:0}
.pd-portfolio .pf-direction-title{font:400 22px/1.3 var(--f-display);min-height:57px;margin-bottom:12px}
.pd-portfolio .pf-direction-title a{text-decoration:none}
.pd-portfolio .pf-direction-copy>p:last-child{font-size:15px;line-height:1.6}
.pd-portfolio .pf-section-note{margin-top:26px}
.pd-portfolio #photo{padding-bottom:70px}
.pf-main .ny-breadcrumb-wrap{padding-top:28px;padding-bottom:0}
.pf-main .ny-breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:#98a2b6}
.pf-main .ny-breadcrumbs a{color:#eee8dc}
.pd-portfolio :is(a,button):focus-visible{outline:2px solid var(--warm);outline-offset:4px}
.pd-portfolio .pf-photo:focus-visible{outline-offset:-4px}
.pf-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:70px 24px 28px;background:#070b12f7;color:#eee8dc;margin:0;z-index:100001}
.pf-lightbox:not([open]){display:none}
.pf-lightbox[open]{display:flex;align-items:center;justify-content:center}
.pf-lightbox::backdrop{background:#070b12e8}
.pf-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-height:100%;width:100%}
.pf-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 155px);object-fit:contain;width:auto;height:auto;border-radius:10px}
.pf-lightbox figcaption{text-align:center;font:400 16px/1.5 'Golos Text',sans-serif;color:#eee8dc;max-width:850px}
.pf-lightbox-close{position:absolute;right:24px;top:20px;width:44px;height:44px;border:1px solid #f4c27480;border-radius:50%;background:#111826;color:#f4c274;font:400 28px/1 sans-serif;cursor:pointer}
.pf-modal-open{overflow:hidden}
.pf-lightbox{padding-inline:84px;padding-bottom:76px}
.pf-lightbox img{max-height:calc(100dvh - 205px);touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-drag:none}
.pf-lightbox-prev,.pf-lightbox-next{position:absolute;top:calc(50% - 24px);display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #f4c27480;border-radius:50%;background:#111826;color:#f4c274;font:400 38px/1 sans-serif;cursor:pointer}
.pf-lightbox-prev{left:24px}.pf-lightbox-next{right:24px}
.pf-lightbox :is(.pf-lightbox-prev,.pf-lightbox-next)[hidden]{display:none}
.pf-lightbox button:hover{background:#233049;border-color:#f4c274}
.pf-lightbox button:focus-visible{outline:2px solid #f4c274;outline-offset:4px}
.pf-lightbox p.pf-lightbox-counter{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);margin:0;color:#eee8dc;font:400 14px/1.5 'Golos Text',sans-serif;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.pd-portfolio .pf-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-portfolio .pf-direction{padding:22px;gap:14px}.pd-portfolio .pf-direction-title{min-height:0;font-size:20px}.pd-portfolio .pf-filters{gap:8px}.pd-portfolio .pf-filter{padding:10px 14px}}
@media(max-width:600px){.pd-portfolio{--pf-gap:20px}.pd-portfolio .pf-intro{padding-top:24px}.pd-portfolio .pf-intro-text{font-size:16px}.pd-portfolio .pf-projects,.pd-portfolio .pf-directions{grid-template-columns:1fr}.pd-portfolio .pf-project-copy{padding:22px}.pd-portfolio .pf-project-title{font-size:20px}.pd-portfolio .pf-direction{padding:22px 18px;border-right:0!important}.pd-portfolio .pf-direction:not(:last-child){border-bottom:1px solid var(--line)}.pd-portfolio .pf-filter{font-size:12px;padding:9px 12px;min-height:42px;gap:7px}.pd-portfolio .pf-filter span{font-size:11px}.pd-portfolio .ny-section{padding:28px 0}.pd-portfolio #photo{padding-bottom:44px}.pf-lightbox{padding:70px 12px 20px}.pf-lightbox figcaption{font-size:14px}}
@media(prefers-reduced-motion:reduce){.pd-portfolio .pf-photo img{transition:none}}
@media(max-width:600px){.pf-lightbox{padding:66px 12px 88px}.pf-lightbox img{max-height:calc(100dvh - 240px)}.pf-lightbox-prev,.pf-lightbox-next{top:auto;bottom:22px;width:44px;height:44px}.pf-lightbox-prev{left:calc(50% - 96px)}.pf-lightbox-next{right:calc(50% - 96px)}.pf-lightbox p.pf-lightbox-counter{bottom:33px}.pf-lightbox-close{right:16px;top:14px}}
