/* A quiet, consistent portfolio with room for each specialty. */
.gallery{background:var(--beige)}
.work-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.work-filters button{font:14px Arial,sans-serif;border:1px solid #c9bfaf;border-radius:30px;background:transparent;color:var(--ink);padding:12px 22px;cursor:pointer;transition:background .2s,color .2s}
.work-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.work-filters button:hover{border-color:var(--gold)}
.work-status{color:#6e6558;font-size:13px;margin:0 0 28px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.work-card{margin:0;min-width:0}
.work-card[hidden]{display:none}
.work-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:20px;overflow:hidden;background:#131111;cursor:zoom-in;aspect-ratio:3/4}
.work-open img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .45s}
.work-open .work-contain{object-fit:contain}
.work-open:hover img{transform:scale(1.025)}
.work-expand{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fcfaf6e8;color:var(--ink);font:23px Arial}
.work-card figcaption{padding:20px 3px 0}
.work-card figcaption>span{font:10px Arial;letter-spacing:1.6px;color:#745c35}
.work-card h3{font:28px var(--serif);margin:10px 0 0;line-height:1.2}
.portfolio-footer{margin-top:45px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.portfolio-footer p{color:var(--gray);font-size:16px}
.work-dialog{border:0;border-radius:20px;background:#272c29;color:var(--ivory);padding:20px;max-width:min(90vw,1000px);max-height:92svh;overflow:auto}
.work-dialog::backdrop{background:#141714ed}
.work-dialog img{display:block;max-width:100%;max-height:76svh;object-fit:contain;margin:auto}
.work-dialog p{text-align:center;font:22px var(--serif);margin:15px 0 2px}
.work-close{position:sticky;top:0;float:right;z-index:1;margin:0 0 10px 10px;border:1px solid #a79a84;border-radius:50%;background:var(--ivory);color:var(--ink);width:42px;height:42px;font:28px Arial;cursor:pointer}
.work-filters button:focus-visible,.work-open:focus-visible,.work-close:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.portfolio-film{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:65px;padding-top:45px;border-top:1px solid var(--line)}
.portfolio-film video{display:block;width:100%;max-height:550px;border-radius:20px;background:#131111}
.portfolio-film h3{font:clamp(35px,3.5vw,52px) var(--serif);margin:16px 0}
.portfolio-film p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--gray);max-width:350px}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-film{gap:28px}}
@media(max-width:700px){.work-grid{gap:25px 14px}.work-card h3{font-size:23px}.work-card figcaption>span{font-size:9px;letter-spacing:.6px}.work-open{border-radius:16px}.work-filters button{padding:11px 16px}.portfolio-film{grid-template-columns:1fr;gap:20px;margin-top:45px}.portfolio-footer{margin-top:32px}.work-dialog{padding:12px}}
@media(max-width:400px){.work-grid{grid-template-columns:1fr}.work-card h3{font-size:28px}.work-card figcaption>span{font-size:10px;letter-spacing:1.4px}}
@media(prefers-reduced-motion:reduce){.work-open img,.work-filters button{transition:none}}

/* Client work lives inside its own service, one image at a time. */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.service-grid article:nth-child(n){display:flex;flex-direction:column;min-width:0;padding:28px;align-self:stretch}
.service-grid article:has(.service-work){grid-column:span 2;order:0}
.service-grid article:not(:has(.service-work)){order:1}
.service-grid .number{display:none}
.service-grid h3{margin:0 0 22px;font-size:35px}
.service-work{width:100%;margin-bottom:26px}
.service-work .work-open{aspect-ratio:4/3;border-radius:16px}
.service-work .work-open img{object-position:center 32%}
.service-work .work-open .work-contain{object-fit:contain}
.service-work .work-card figcaption{padding:16px 1px 0}
.service-work .work-card figcaption h3{font-size:25px;margin:8px 0 0}
.service-media-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}
.service-media-controls button{border:1px solid #c8bda9;border-radius:50%;width:40px;height:40px;font:22px Arial;background:transparent;color:var(--ink);cursor:pointer}
.service-media-controls button:hover{background:var(--beige)}
.slide-count{font-size:12px;color:#745c35;letter-spacing:2px}
.service-grid article>p{margin-bottom:18px}
.service-grid .service-specialist{margin-top:auto}
.service-grid .service-specialist+a{margin-top:0}
.service-video{width:100%;margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}
.service-video summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:15px}
.service-video summary::-webkit-details-marker{display:none}
.service-video summary span{font-size:20px}
.service-video video{display:block;width:100%;max-height:500px;margin-top:20px;background:#131111;border-radius:14px}
.service-media-controls button:focus-visible,.service-video summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid article:has(.service-work){grid-column:span 1}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-grid article:nth-child(n){padding:24px}.service-grid h3{padding-right:0;font-size:34px}.service-work .work-open{aspect-ratio:3/4}.service-work .work-open img{object-position:center 35%}.service-work .work-card figcaption h3{font-size:25px}.service-work{margin-bottom:22px}.service-grid .service-icon{margin-bottom:20px}.service-video video{max-height:440px}}
