.photos-page{background:var(--ivory)}.portfolio-hero{height:min(580px,100vh);min-height:500px;position:relative;display:flex;align-items:center;color:var(--white)}.portfolio-hero>img,.portfolio-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portfolio-hero>img{object-position:center 45%}.portfolio-hero-shade{background:linear-gradient(90deg,rgba(16,10,6,.77),rgba(16,10,6,.15) 78%)}.portfolio-hero-content{position:relative;padding-top:66px}.portfolio-hero h1{font:500 clamp(3.4rem,6vw,5.5rem)/.82 var(--serif);letter-spacing:-.045em;margin:0 0 19px}.portfolio-hero-content>p:last-child{max-width:390px;font-size:14px;color:rgba(255,255,255,.9);margin:0}.portfolio-scroll{position:absolute;right:5%;bottom:30px;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.portfolio-listing{padding:28px 0 100px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:20px;padding:9px 17px;background:transparent;color:var(--muted);font:500 10px var(--sans);transition:background .25s,color .25s,border-color .25s}.filter:hover,.filter.active{background:var(--brown);color:var(--white);border-color:var(--brown)}.sort-note{white-space:nowrap;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.sort-note b{color:var(--ink);font-weight:600;margin-left:8px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:10px}.portfolio-card{position:relative;min-width:0;overflow:hidden;color:var(--white);display:block;grid-row:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.portfolio-card:hover img{transform:scale(1.025)}.portfolio-card:hover .card-shade{background:linear-gradient(transparent 15%,rgba(14,8,4,.82))}.card-wide{grid-column:span 2;grid-row:span 3}.card-tall{grid-row:span 3}.card-small{grid-row:span 2}.card-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(14,8,4,.78));transition:background .3s}.portfolio-caption{position:absolute;left:17px;right:12px;bottom:15px;display:flex;flex-direction:column}.portfolio-caption strong{font:500 22px/1 var(--serif)}.portfolio-caption small{font-size:9px;letter-spacing:.04em;margin-top:5px}.load-more{display:flex;margin:34px auto 0;background:transparent;color:var(--brown);border-color:#c7b19d}.load-more:hover{color:var(--white)}.load-more span{font-size:14px;margin-left:10px}.extra-card{display:none}.extra-card.is-visible{display:block}.portfolio-card.is-hidden{display:none}.portfolio-grid .reveal{opacity:1;transform:none}.portfolio-grid.filtering .portfolio-card{animation:filter-in .3s ease}@keyframes filter-in{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.card-wide{grid-column:span 2}.portfolio-caption strong{font-size:20px}}
@media (max-width:767px){.portfolio-hero{height:600px;min-height:0;align-items:end;padding-bottom:70px}.portfolio-hero>img{object-position:59% center}.portfolio-hero-shade{background:linear-gradient(0deg,rgba(12,9,7,.84),rgba(12,9,7,.1) 78%)}.portfolio-hero-content{padding-top:40px}.portfolio-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.portfolio-hero-content>p:last-child{font-size:13px;max-width:320px}.portfolio-scroll{right:16px;bottom:22px}.portfolio-listing{padding:23px 0 70px}.filter-row{display:block;margin-bottom:25px}.filters{gap:7px}.filter{padding:8px 13px;font-size:9px}.sort-note{display:block;margin-top:16px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:8px}.card-wide{grid-column:span 2;grid-row:span 2}.card-tall{grid-row:span 2}.card-small{grid-row:span 2}.portfolio-caption{left:12px;bottom:11px}.portfolio-caption strong{font-size:17px}.portfolio-caption small{font-size:8px}.load-more{margin-top:27px}}
@media (max-width:390px){.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:auto}.portfolio-card,.card-wide,.card-tall,.card-small{grid-column:span 1;grid-row:span 1;height:330px}.card-wide{height:380px}.portfolio-caption strong{font-size:22px}}
