.portfolio-page{background:#ece8e0}.portfolio-page .site-header{background:rgba(18,18,17,.94)}.works-hero{height:min(900px,100vh);min-height:680px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.works-hero-photo{position:absolute;inset:0;background:url('../works/wedding-01.jpg') 62% 42%/cover;transform:scale(1.02)}.works-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 50%)}.works-hero-copy{position:relative;z-index:2;padding:0 8vw 10vh;max-width:780px}.works-hero h1{font:400 clamp(4rem,8vw,8rem)/.83 var(--serif);letter-spacing:-.04em;margin:1rem 0 1.5rem}.works-hero-copy>p:not(.eyebrow){max-width:600px;font-size:1.1rem}.works-count{position:absolute;z-index:2;right:4vw;bottom:2.2rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.works-section{padding:8rem 4vw}.works-intro{display:grid;grid-template-columns:.45fr 1.2fr .7fr;gap:4vw;align-items:end;margin:0 4vw 4rem}.works-intro h2,.works-cta h2{font:400 clamp(3.5rem,6vw,6.5rem)/.95 var(--serif);margin:0}.works-intro>p:last-child{font-size:1.05rem}.filter-bar{position:sticky;top:68px;z-index:20;display:flex;gap:.35rem;overflow:auto;padding:1rem 4vw;margin:0 -4vw 3rem;background:rgba(236,232,224,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar button{white-space:nowrap;border:1px solid #aaa;background:transparent;padding:.65rem 1rem;font:700 .7rem var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.filter-bar button.active{background:var(--ink);border-color:var(--ink);color:#fff}.works-grid{columns:3 330px;column-gap:1rem}.work-card{break-inside:avoid;margin:0 0 1rem;opacity:1;transition:opacity .3s,transform .3s}.work-card[hidden]{display:none}.work-open{display:block;width:100%;padding:0;border:0;background:#171716;position:relative;overflow:hidden;cursor:zoom-in;color:#fff;text-align:left}.work-open img{width:100%;height:auto;transition:transform .55s,opacity .35s}.work-overlay{position:absolute;inset:auto 0 0;padding:3.5rem 1.2rem 1.1rem;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent);display:flex;justify-content:space-between;align-items:end;opacity:0;transition:.3s}.work-overlay b{font:400 1.35rem var(--serif)}.work-overlay small{text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}.work-open:hover img,.work-open:focus-visible img{transform:scale(1.025);opacity:.88}.work-open:hover .work-overlay,.work-open:focus-visible .work-overlay{opacity:1}.works-cta{background:#191817;color:#fff;padding:8rem 12vw}.works-cta p:not(.section-number){max-width:590px;font-size:1.1rem}#work-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;background:#0d0d0d;color:#fff;padding:3vh 5vw;overflow:hidden}#work-lightbox::backdrop{background:#000}#work-lightbox>img{width:100%;height:86vh;object-fit:contain}#work-lightbox>div{position:absolute;left:6vw;bottom:2.5vh;display:flex;gap:1rem;align-items:center}#work-lightbox p{font:400 1.2rem var(--serif);margin:0}#work-lightbox small{text-transform:uppercase;letter-spacing:.1em}.lightbox-nav{position:absolute;z-index:2;top:50%;width:48px;height:48px;border:0;background:#fff;color:#111;font-size:1.4rem;cursor:pointer}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}#work-lightbox .lightbox-close{z-index:3}
@media(max-width:900px){.works-hero-copy{padding:0 1.5rem 10vh}.works-count{display:none}.works-section{padding:5rem 1rem}.works-intro{grid-template-columns:1fr;margin:0 .5rem 2.5rem;gap:.8rem}.works-grid{columns:2 260px}.filter-bar{margin-left:-1rem;margin-right:-1rem;padding-left:1rem}.works-cta{padding:5rem 1.5rem}.work-overlay{opacity:1}.works-hero h1{font-size:clamp(4rem,16vw,7rem)}}@media(max-width:560px){.works-grid{columns:1}.works-hero{min-height:700px}.works-hero-photo{background-position:68% center}.works-hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.12))}.works-hero h1{font-size:4rem}.works-hero-copy>p:not(.eyebrow){font-size:.95rem}.lightbox-nav{top:auto;bottom:1rem}#work-lightbox>img{height:80vh}}
.works-hero-copy{width:min(780px,100%);min-width:0}@media(max-width:560px){.works-hero-copy{width:100%;overflow-wrap:anywhere}.works-hero h1{font-size:clamp(3.2rem,15vw,4rem)}}
@media(max-width:560px){.works-hero-copy>*{width:calc(100vw - 3rem);max-width:calc(100vw - 3rem)!important}.works-hero h1{font-size:3.15rem;overflow-wrap:normal;word-break:normal}}
html[data-theme="dark"] .portfolio-page{background:#121211}
html[data-theme="dark"] .filter-bar{background:rgba(18,18,17,.96)}
html[data-theme="dark"] .filter-bar button{border-color:#666;color:#eee}
html[data-theme="dark"] .filter-bar button.active{background:var(--brand);border-color:var(--brand);color:#17130a}
.filter-bar a{white-space:nowrap;border:1px solid #aaa;background:transparent;padding:.65rem 1rem;color:inherit;font:700 .7rem var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.filter-bar a.active{background:var(--ink);border-color:var(--ink);color:#fff}
html[data-theme="dark"] .filter-bar a{border-color:#666;color:#eee}
html[data-theme="dark"] .filter-bar a.active{background:var(--brand);border-color:var(--brand);color:#17130a}
.works-hero{display:grid;grid-template-rows:68px minmax(0,1fr);align-items:stretch}
.works-hero-copy{grid-row:2;align-self:end}
.works-hero h1{font-size:clamp(3.4rem,min(8vw,10.5vh),8rem)}
@media(max-width:900px){.works-hero h1{font-size:clamp(3rem,min(16vw,9.5vh),5.5rem)}}
@media(max-width:560px){.works-hero h1{font-size:clamp(3rem,min(15vw,8.5vh),3.6rem)}}

#work-lightbox>div{left:50%;bottom:2.5vh;transform:translateX(-50%);width:min(80vw,720px);display:flex;flex-direction:column;gap:.15rem;align-items:center;text-align:center}
#work-lightbox p,.works-intro h2,.works-cta h2,.work-overlay b{font-family:'Inter',Arial,sans-serif;font-weight:600}
.works-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.work-open>picture{display:block;width:100%}
