.portrait-open{display:block;color:inherit;cursor:zoom-in;overflow:hidden;text-decoration:none}
.portrait-open:focus-visible{outline:3px solid #9a793e;outline-offset:-4px}
.photo-marquee .portrait-open img{pointer-events:none}
.portrait-viewer-open{overflow:hidden;scrollbar-gutter:stable}
dialog.portrait-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:20px 4% 28px;border:0;background:rgba(21,22,20,.97);color:#f7f4ec;box-sizing:border-box;overflow:hidden}
dialog.portrait-viewer[open]{display:flex;flex-direction:column;gap:18px}
.portrait-viewer::backdrop{background:rgba(21,22,20,.85)}
.portrait-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1400px;margin:0 auto;font:13px/1.4 Arial,sans-serif;letter-spacing:.04em}
.portrait-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid #787870;border-radius:4px;background:#f6f3eb;color:#242622;font:16px/1.2 Arial,sans-serif;cursor:pointer}
.portrait-viewer-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0}
.portrait-dismiss{display:block;flex:none;aspect-ratio:4/5;max-width:100%;max-height:100%;margin:0;padding:0;border:0;overflow:hidden;background:none;cursor:zoom-out}
.portrait-dismiss img{display:block;width:100%;height:100%;object-fit:cover}
.portrait-close:focus-visible,.portrait-dismiss:focus-visible{outline:3px solid #d5bd85;outline-offset:4px}
.portfolio-intro{padding:48px 5% 32px;max-width:1100px}
.portfolio-intro h1{font-size:clamp(42px,5vw,72px);margin:16px 0}
.portfolio-intro p{max-width:670px;color:#5b635a;font-size:19px;line-height:1.6}
.portfolio-intro .actions{margin-top:22px}
.headshot-portfolio{padding:8px 5% 64px}
.headshot-portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.headshot-portfolio-grid figure{margin:0;overflow:hidden}
.headshot-portfolio-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.headshot-portfolio-grid .portrait-n390-headshot img{transform:scale(1.9);transform-origin:50% 24%;object-position:54% 50%;filter:brightness(1.06)}
.headshot-portfolio-grid .new-blue-dress img{transform:scale(1.09);transform-origin:50% 100%;object-position:52% 50%}
.headshot-portfolio-grid .portrait-jacob-blue img{transform:scale(1.35);transform-origin:50% 15%;object-position:56% 50%}
.portfolio-note{font-size:13px;color:#62675f;margin:0 0 18px}
.portfolio-more{margin:26px 0 0}
.showcase-portfolio-link{display:flex;justify-content:center;padding:18px 5% 0}
.portfolio-booking{padding:50px 5%;background:#eae6dc;display:flex;align-items:center;justify-content:space-between;gap:24px}
.portfolio-booking h2{font-size:36px;margin:0 0 12px}
.portfolio-booking p{margin:0;color:#596255}
@media(max-width:1050px){.headshot-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){dialog.portrait-viewer{padding:max(12px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom));gap:12px}.portrait-viewer-bar{font-size:12px}.portfolio-intro{padding:30px 5% 24px}.portfolio-intro h1{font-size:42px}.portfolio-intro p{font-size:17px}.headshot-portfolio{padding:8px 4% 40px}.headshot-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-booking{display:block;padding:36px 5%}.portfolio-booking .btn{margin-top:22px}.portfolio-more .btn{width:100%}}
