/* An open photographic index: the image supplies the color. */
.photography-portfolio{--photo-ink:#151515;--photo-muted:#666;--photo-line:#dedede;--photo-margin:clamp(18px,2vw,38px);background:#fff;color:var(--photo-ink);font-family:var(--sans,Arial,sans-serif);padding:24px var(--photo-margin) 0;overflow:clip}
.photography-portfolio *{box-sizing:border-box}
.photography-portfolio a{color:inherit;text-decoration:none}
.photography-portfolio button{font:inherit;color:inherit;touch-action:manipulation}
.photography-portfolio [hidden]{display:none!important}
.photography-portfolio .photo-eyebrow{font:500 10px/1.6 var(--sans,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--photo-muted)}
.photography-portfolio .photo-opening{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:6px 0 35px}
.photography-portfolio .photo-heading h1{font:600 clamp(48px,6.5vw,106px)/.98 var(--sans,Arial,sans-serif);letter-spacing:-.07em;margin:13px 0 0}
.photography-portfolio .photo-title-period{font-family:Georgia,serif}
.photography-portfolio .photo-introduction{padding-bottom:2px}
.photography-portfolio .photo-introduction p{font-size:14px;line-height:1.6;margin:0 0 12px;color:var(--photo-muted)}
.photography-portfolio .photo-introduction nav{display:flex;flex-wrap:wrap;gap:6px 24px}
.photography-portfolio .photo-introduction a{display:inline-flex;gap:16px;align-items:center;min-height:44px;font-size:11px}
.photography-portfolio .photo-gallery-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--photo-line);padding-top:7px}
.photography-portfolio .photo-gallery-label{font-size:12px;line-height:1.4;letter-spacing:0;font-weight:500;margin:0}
.photography-portfolio sup{position:relative;top:-.25em;font:400 8px/1 var(--sans,Arial,sans-serif);margin-left:3px;color:var(--photo-muted);vertical-align:baseline}
.photography-portfolio .photo-density{display:flex;gap:4px}
.photography-portfolio .photo-density button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:72px;min-height:44px;padding:8px;border:0;background:transparent;font-size:11px;cursor:pointer}
.photography-portfolio .photo-density button[aria-pressed=false]{color:#777}
.photography-portfolio .photo-density button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.photography-portfolio .photo-density-icon{width:13px;height:13px;background:repeating-linear-gradient(90deg,currentColor 0,currentColor 5px,transparent 5px,transparent 8px);position:relative}
.photography-portfolio .photo-density-icon:after{content:"";position:absolute;left:0;right:0;top:5px;height:3px;background:#fff}
.photography-portfolio .photo-density-icon-index{background:repeating-linear-gradient(90deg,currentColor 0,currentColor 3px,transparent 3px,transparent 5px)}
.photography-portfolio .photo-density-icon-index:after{top:3px;height:2px;box-shadow:0 5px #fff}
.photography-portfolio .photo-filters{display:flex;flex-wrap:wrap;gap:0 23px}
.photography-portfolio .photo-filters button{display:inline-flex;align-items:center;gap:1px;min-height:44px;padding:7px 0;border:0;background:transparent;cursor:pointer;font-size:11px;color:#777}
.photography-portfolio .photo-filters button[aria-pressed=true]{color:#111;text-decoration:underline;text-underline-offset:5px}
.photography-portfolio .photo-filters button[aria-pressed=true] sup{color:inherit}
.photography-portfolio .photo-gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.photography-portfolio .photo-no-script{font-size:12px;color:var(--photo-muted);margin:16px 0}
.photography-portfolio .photo-contact-sheet{--photo-columns:4;--photo-gap:10px;position:relative;columns:var(--photo-columns);column-gap:var(--photo-gap);margin-top:14px;scroll-margin-top:125px}
.photography-portfolio[data-photo-density=index] .photo-contact-sheet{--photo-columns:8;--photo-gap:8px}
.photography-portfolio .photo-contact-sheet.is-masonry{columns:auto}
.photography-portfolio .photo-contact-sheet .photography-artwork{display:block;position:relative;min-width:0;margin:0 0 var(--photo-gap);padding:0;border:0;background:#f2f2f2;box-shadow:none;break-inside:avoid;overflow:hidden}
.photography-portfolio .photo-contact-sheet.is-masonry .photography-artwork{position:absolute;margin:0}
.photography-portfolio .photo-contact-sheet .creative-image-button{display:block;position:relative;width:100%;height:auto;min-width:0;padding:0;border:0;border-radius:0;background:#eee;cursor:zoom-in;overflow:hidden}
.photography-portfolio .photo-contact-sheet .creative-image-button img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:none;scale:1;transition:opacity .25s}
.photography-portfolio .photo-contact-sheet .creative-enlarge{display:none}
.photography-portfolio .photo-contact-sheet figcaption{position:absolute;inset:auto 0 0;padding:34px 12px 12px;margin:0;color:#fff;background:linear-gradient(transparent,#0009);font:400 11px/1.45 var(--sans,Arial,sans-serif);opacity:0;pointer-events:none;transition:opacity .2s}
.photography-portfolio .photo-contact-sheet .photography-artwork:has(.cofo-motion-button) figcaption{padding-bottom:47px}
.photography-portfolio .photo-contact-sheet .photography-artwork:focus-within figcaption{opacity:1}
.photography-portfolio .photo-contact-sheet .cofo-motion-button{position:absolute;bottom:8px;left:8px;right:8px;width:calc(100% - 16px);min-height:36px;padding:6px 10px;margin:0;background:#fffef5ed;color:#111;border:1px solid #fff8;font-size:10px;z-index:2}
.photography-portfolio .photo-contact-sheet .cofo-motion-button[aria-pressed=true]{background:#151515;color:#fff}
.photography-portfolio .photo-gallery-footnote{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0 0;padding:5px 0 38px;font-size:10px;line-height:1.5;color:var(--photo-muted)}
.photography-portfolio .photo-gallery-footnote a{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:#111}
.photography-portfolio .photo-model-stories,.photography-portfolio .photo-services{padding:58px 0 65px;border-top:1px solid var(--photo-line)}
.photography-portfolio .photo-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:8px 30px;align-items:end;margin-bottom:32px}
.photography-portfolio .photo-section-heading .photo-eyebrow{grid-column:1/-1}
.photography-portfolio .photo-section-heading h2,.photography-portfolio .photo-services h2{font:500 clamp(28px,3.5vw,54px)/1.08 var(--sans,Arial,sans-serif);letter-spacing:-.05em;margin:8px 0}
.photography-portfolio .photo-section-heading p{justify-self:end;margin:0 0 10px;font-size:12px;line-height:1.7;color:var(--photo-muted)}
.photography-portfolio .photo-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.photography-portfolio .photo-case-grid:has(>:only-child){grid-template-columns:1fr}
.photography-portfolio .photo-case-grid .creative-case-card{display:grid;grid-template-columns:1fr 1fr;border:0;background:transparent;gap:30px;overflow:visible}
.photography-portfolio .photo-case-grid .creative-case-cover{background:#f4f4f4;overflow:hidden;max-height:530px}
.photography-portfolio .photo-case-grid .creative-case-cover img{display:block;min-height:0;max-height:530px;width:100%;height:auto;object-fit:contain}
.photography-portfolio .photo-case-grid .creative-case-copy{padding:20px 0;align-self:center}
.photography-portfolio .photo-case-grid .creative-case-copy h3{font:500 clamp(27px,3vw,48px)/1.1 var(--sans,Arial,sans-serif);letter-spacing:-.04em;margin:20px 0;color:#151515}
.photography-portfolio .photo-case-grid .creative-case-copy p{font-size:12px;line-height:1.8;color:var(--photo-muted)}
.photography-portfolio .photo-case-grid .service-eyebrow{font-size:9px;letter-spacing:.08em;color:#666}
.photography-portfolio .photo-case-grid .service-text-link{font-size:11px;color:#151515}
.photography-portfolio .photo-project-credits{display:grid;grid-template-columns:1fr 2fr;gap:12px 40px;margin-top:40px;padding-top:28px;border-top:1px solid var(--photo-line)}
.photography-portfolio .photo-project-credits h3{margin:0;font-size:16px;font-weight:500}
.photography-portfolio .photo-project-credits p{margin:0;font-size:12px;line-height:1.8;color:var(--photo-muted);max-width:80ch}
.photography-portfolio .photo-project-credits nav{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 24px}
.photography-portfolio .photo-project-credits nav a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:11px}
.photography-portfolio .photo-services{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.photography-portfolio .photo-service-links a{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:61px;padding:14px 0;border-bottom:1px solid var(--photo-line);font-size:14px;line-height:1.5}
.photography-portfolio .photo-service-links a:first-child{border-top:1px solid var(--photo-line)}
.photography-portfolio .photo-closing{padding:75px 0 90px;border-top:1px solid var(--photo-line)}
.photography-portfolio .photo-closing h2{font:500 clamp(42px,7.5vw,112px)/1 var(--sans,Arial,sans-serif);letter-spacing:-.06em;margin:24px 0 38px}
.photography-portfolio .photo-closing h2 em{font-family:Georgia,serif;font-weight:400}
.photography-portfolio .photo-closing h2 a>span{font-size:.65em;white-space:nowrap}
.photography-portfolio .photo-closing nav{display:flex;flex-wrap:wrap;gap:8px 35px}
.photography-portfolio .photo-closing nav a{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:12px}
.photography-portfolio a:focus-visible,.photography-portfolio button:focus-visible{outline:2px solid #222;outline-offset:3px}
.photography-portfolio .photo-contact-sheet .creative-image-button:focus-visible{outline-offset:-3px;outline-color:#fff}
.photography-portfolio .cofo-motion-note{color:#666;font-size:11px}
.photography-portfolio .cofo-viewer{background:#fff;color:#151515}
.photography-portfolio .cofo-viewer::backdrop{background:#fff}
.photography-portfolio .cofo-viewer-bar h2{color:#151515;font:500 16px/1.3 var(--sans,Arial,sans-serif);letter-spacing:-.03em}
.photography-portfolio .cofo-viewer button{border:1px solid #ddd;background:#fff;color:#151515}
.photography-portfolio .cofo-viewer-controls p{color:#555}
@media(hover:hover) and (pointer:fine){.photography-portfolio .photo-contact-sheet .photography-artwork:hover figcaption{opacity:1}.photography-portfolio .photo-contact-sheet .creative-image-button:hover img{opacity:.83;scale:1}.photography-portfolio .photo-introduction a:hover,.photography-portfolio .photo-project-credits a:hover,.photography-portfolio .photo-closing nav a:hover{text-decoration:underline;text-underline-offset:4px}}
@media(min-width:1440px){.photography-portfolio .photo-contact-sheet{--photo-columns:5}.photography-portfolio[data-photo-density=index] .photo-contact-sheet{--photo-columns:10}}
@media(max-width:999px){.photography-portfolio .photo-contact-sheet{--photo-columns:3}.photography-portfolio[data-photo-density=index] .photo-contact-sheet{--photo-columns:6}.photography-portfolio .photo-opening{align-items:flex-start}.photography-portfolio .photo-introduction{padding-top:8px}.photography-portfolio .photo-introduction nav{gap:0 14px}.photography-portfolio .photo-case-grid{grid-template-columns:1fr}}
@media(max-width:760px){.photography-portfolio{padding-top:20px}.photography-portfolio .photo-opening{display:block;padding-bottom:22px}.photography-portfolio .photo-heading h1{font-size:clamp(43px,10.5vw,76px)}.photography-portfolio .photo-introduction{padding-top:15px}.photography-portfolio .photo-introduction p{font-size:12px;margin-bottom:2px}.photography-portfolio .photo-introduction nav{gap:0 25px}.photography-portfolio .photo-filters{gap:0 18px}.photography-portfolio .photo-filters button{font-size:10px;min-height:44px}.photography-portfolio .photo-section-heading{display:block}.photography-portfolio .photo-section-heading h2{margin:16px 0}.photography-portfolio .photo-section-heading p{margin:0}.photography-portfolio .photo-project-credits{grid-template-columns:1fr;gap:15px}.photography-portfolio .photo-project-credits nav{grid-column:auto}.photography-portfolio .photo-services{grid-template-columns:1fr;gap:20px}.photography-portfolio .photo-model-stories,.photography-portfolio .photo-services{padding:40px 0}.photography-portfolio .photo-closing{padding:50px 0 65px}.photography-portfolio .photo-case-grid .creative-case-card{gap:22px}.photography-portfolio .photo-case-grid .creative-case-copy h3{font-size:30px}}
@media(max-width:599px){.photography-portfolio{--photo-margin:14px}.photography-portfolio .photo-contact-sheet{--photo-columns:2;--photo-gap:7px;margin-top:10px}.photography-portfolio[data-photo-density=index] .photo-contact-sheet{--photo-columns:3;--photo-gap:6px}.photography-portfolio .photo-gallery-bar{padding-top:4px}.photography-portfolio .photo-density button{min-width:66px}.photography-portfolio .photo-filters{gap:0 15px}.photography-portfolio .photo-filters button{font-size:10px;min-height:44px}.photography-portfolio .photo-gallery-footnote{align-items:flex-start;font-size:9px;padding-bottom:24px}.photography-portfolio .photo-gallery-footnote>span{max-width:25ch;padding-top:12px}.photography-portfolio .photo-case-grid .creative-case-card{grid-template-columns:1fr;gap:6px}.photography-portfolio .photo-case-grid .creative-case-copy{padding:16px 0}.photography-portfolio .photo-closing h2{font-size:clamp(42px,11vw,64px)}.photography-portfolio .photo-contact-sheet .cofo-motion-button{font-size:9px;left:5px;right:5px;bottom:5px;width:calc(100% - 10px);padding:5px;gap:2px;min-height:35px}.photography-portfolio[data-photo-density=index] .photo-contact-sheet .cofo-motion-button{font-size:8px}.photography-portfolio .photo-contact-sheet figcaption{font-size:10px;padding:28px 8px 8px}}
@media(prefers-reduced-motion:reduce){.photography-portfolio *,.photography-portfolio *:before,.photography-portfolio *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.motion-paused .photography-portfolio *{transition:none!important;animation:none!important}
@media(forced-colors:active){.photography-portfolio .photo-filters button[aria-pressed=true],.photography-portfolio .photo-density button[aria-pressed=true]{outline:1px solid ButtonText}.photography-portfolio .photo-contact-sheet figcaption{background:Canvas;color:CanvasText}.photography-portfolio .photo-contact-sheet .cofo-motion-button{border-color:ButtonText}}
@media print{.photography-portfolio{padding-top:20px}.photography-portfolio [data-photo-controls],.photography-portfolio .photo-contact-sheet .cofo-motion-button,.photography-portfolio .cofo-viewer{display:none!important}.photography-portfolio .photo-contact-sheet.is-masonry{height:auto!important;columns:3}.photography-portfolio .photo-contact-sheet.is-masonry .photography-artwork{position:relative!important;left:auto!important;top:auto!important;width:100%!important;margin-bottom:10px}.photography-portfolio .photo-contact-sheet figcaption{position:static;background:none;opacity:1;color:#111;padding:8px 0}}
