.image-page {
  --image-accent: #48566b;
  --image-dark: #344153;
  --image-yellow: #c47139;
  --image-paper: #f5f7fa;
  --image-muted: #69758a;
  --image-line: #d5dce5;
  background: var(--image-paper);
  color: var(--image-dark);
}
.image-page .site-header { background: #f5f7faf2; }
.image-page .site-work-nav a[aria-current="page"]::after { background: var(--image-accent); }
.image-main { padding-top: var(--site-header-height); }
.image-hero { --spread: 0; padding: 26px 5% 22px; overflow: clip; background: #e9edf2; color: var(--image-dark); }
.image-hero-top,.image-hero-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; font:600 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; }
.image-hero-top a { padding:7px 0; border-bottom:1px solid #48566b55; font-size:12px; font-family:inherit; letter-spacing:0; }
.image-hero-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:30px; align-items:center; min-height:500px; padding:38px 0; }
.image-kicker { color:var(--image-yellow); font:650 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; margin:0 0 27px; }
.image-hero h1 { margin:0; font-size:clamp(46px,5.4vw,90px); font-weight:650; line-height:1.18; letter-spacing:-.055em; }
.image-hero h1 span { color:var(--image-yellow); }
.image-hero-copy>p:not(.image-kicker) { color:#657184; font-size:clamp(12px,1.04vw,16px); line-height:1.95; margin:25px 0 32px; }
.image-hero-copy>a { display:inline-flex; align-items:center; justify-content:space-between; min-width:215px; padding:15px 0; border-top:1px solid #48566b55; font-size:12px; }
.image-hero-copy>a span { font-size:22px; }
.image-hero-art { position:relative; min-width:0; height:430px; perspective:1500px; }
.hero-poster { --shift:0px; --angle:0deg; position:absolute; top:50%; left:50%; width:clamp(200px,22vw,330px); padding:0; transform:translate(calc(-50% + var(--shift)), -50%) rotate(var(--angle)); box-shadow:0 20px 40px #26344630; transition:filter .25s; cursor:zoom-in; }
.hero-poster img { width:100%; height:auto; display:block; }
.hero-poster:nth-child(1) { --shift:calc(-100px - var(--spread)*35px); --angle:calc(-13deg - var(--spread)*5deg); top:53%; z-index:1; }
.hero-poster:nth-child(2) { --shift:calc(100px + var(--spread)*35px); --angle:calc(11deg + var(--spread)*5deg); top:47%; z-index:2; }
.hero-poster:nth-child(3) { --angle:calc(-1deg + var(--spread)*2deg); z-index:3; }
.hero-poster:hover { z-index:4; filter:brightness(1.04); }
.hero-poster:active { transform:translate(calc(-50% + var(--shift)), -50%) rotate(var(--angle)); }
.image-hero-foot { border-top:1px solid #48566b28; padding-top:17px; color:#657184; }
.image-contact-sheet { max-width:1680px; margin:auto; padding:95px 5% 45px; scroll-margin-top:calc(var(--site-header-height) + 20px); }
.image-sheet-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:45px; }
.image-sheet-heading>div>p,.image-closing>p { font:650 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.13em; color:var(--image-muted); margin:0 0 22px; }
.image-sheet-heading h2 { font-size:clamp(38px,4.6vw,68px); font-weight:620; letter-spacing:-.055em; line-height:1.15; margin:0; }
.image-sheet-heading>p { font-size:12px; line-height:1.9; color:var(--image-muted); margin:0 0 5px; }
.image-filter-bar { position:sticky; z-index:8; top:var(--site-header-height); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; background:#f5f7faf5; border-top:1px solid var(--image-line); border-bottom:1px solid var(--image-line); backdrop-filter:blur(14px); }
.image-filters { display:flex; gap:3px; flex-wrap:wrap; }
.image-filters button { padding:11px 10px; border:1px solid transparent; font-size:11px; white-space:nowrap; }
.image-filters button small { margin-left:5px; opacity:.62; font:500 9px ui-monospace,Menlo,monospace; }
.image-filters button[aria-pressed="true"] { color:var(--image-paper); background:var(--image-accent); }
.image-filters button:hover:not([aria-pressed="true"]) { border-color:var(--image-line); }
.image-filter-bar>p { font-size:10px; color:var(--image-muted); white-space:nowrap; min-width:65px; text-align:right; margin:0; }
.poster-series { padding:48px 0 64px; border-bottom:1px solid var(--image-line); }
.poster-series[hidden] { display:none; }
.series-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:30px; margin-bottom:28px; }
.series-heading h3 { font-size:26px; font-weight:620; letter-spacing:-.04em; margin:0 0 8px; }
.series-heading h3 small { font:500 11px ui-monospace,Menlo,monospace; color:var(--image-muted); margin-left:12px; }
.series-heading span { font:600 9px ui-monospace,Menlo,monospace; letter-spacing:.11em; color:var(--image-muted); }
.series-heading>p { max-width:38em; justify-self:end; color:var(--image-muted); font-size:12px; line-height:1.85; margin:0; }
.poster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; align-items:start; }
.print-card { display:block; width:100%; padding:0; text-align:left; min-width:0; cursor:zoom-in; }
.print-frame { display:block; background:#e2e7ee; box-shadow:0 2px 3px #3441530e; transform-origin:center bottom; transition:transform .5s cubic-bezier(.22,.68,.28,1),box-shadow .5s; }
.print-frame img { display:block; width:100%; height:auto; aspect-ratio:1122/1402; object-fit:contain; }
.print-card:hover .print-frame,.print-card:focus-visible .print-frame { transform:translateY(-7px) rotate(-.6deg); box-shadow:6px 16px 25px #26344624; }
.print-caption { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-top:17px; }
.print-caption strong { font-size:13px; font-weight:550; line-height:1.5; }
.print-caption small { font:500 9px ui-monospace,Menlo,monospace; color:var(--image-muted); white-space:nowrap; }
.print-description { display:block; font-size:11px; line-height:1.8; color:var(--image-muted); margin-top:6px; }
.image-closing { display:flex; flex-direction:column; align-items:center; padding:100px 6%; text-align:center; }
.image-closing h2 { font-size:clamp(30px,4.2vw,60px); font-weight:580; line-height:1.25; letter-spacing:-.04em; margin:0; }
.image-closing>a { margin-top:32px; padding:12px 0; border-bottom:1px solid var(--image-dark); font-size:12px; display:flex; gap:50px; }
.image-bottom-nav { justify-content:space-between; padding:30px 5% 60px; border-top:1px solid var(--image-line); font-size:12px; }
.image-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:38px 5%; background:#e9edf2; color:var(--image-dark); font-size:10px; }
.image-footer .logo { color:var(--image-dark); }
.image-lightbox { position:fixed; inset:0; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; color:var(--image-paper); background:#17202d; overflow:auto; overscroll-behavior:contain; }
.image-lightbox::backdrop { background:#17202d; }
.image-lightbox[open] { display:flex; flex-direction:column; }
.lightbox-top { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; height:62px; padding:0 4%; border-bottom:1px solid #ffffff20; font:500 10px ui-monospace,Menlo,monospace; color:#adbacb; }
.lightbox-top button { min-width:64px; min-height:44px; color:var(--image-paper); font-size:12px; }
.lightbox-body { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr); align-items:center; gap:4vw; flex:1; min-height:0; padding:24px 4%; }
.lightbox-art { height:100%; min-height:0; display:grid; place-items:center; }
.lightbox-art img { max-width:100%; width:auto; height:auto; max-height:calc(100dvh - 110px); object-fit:contain; box-shadow:0 9px 40px #0004; }
.lightbox-copy>p:first-child { color:#e7ac7e; font:650 10px/1.7 ui-monospace,Menlo,monospace; letter-spacing:.08em; }
.lightbox-copy h2 { font-size:clamp(26px,3vw,46px); font-weight:580; letter-spacing:-.04em; line-height:1.25; margin:18px 0; }
.lightbox-copy h2 span { display:block; }
.lightbox-copy>p:nth-of-type(2) { font-size:13px; line-height:1.9; color:#c0cad8; }
.lightbox-copy>a { display:inline-block; padding:12px 0; margin-top:16px; font-size:11px; border-bottom:1px solid #dde3ec66; }
.lightbox-controls { display:flex; justify-content:space-between; border-top:1px solid #ffffff26; margin-top:35px; padding-top:14px; gap:20px; }
.lightbox-controls button { min-height:44px; font-size:12px; }
.lightbox-controls button:disabled { opacity:.3; cursor:default; }
@media(min-width:1600px) { .image-hero-layout { min-height:630px; }.image-hero-art{height:500px;} }
@media(max-width:1000px) {
  .image-hero-layout { grid-template-columns:.9fr 1fr; gap:14px; }
  .hero-poster { width:clamp(180px,23vw,240px); }
  .hero-poster:nth-child(1) { --shift:calc(-64px - var(--spread)*15px); }
  .hero-poster:nth-child(2) { --shift:calc(64px + var(--spread)*15px); }
  .image-filter-bar { display:block; }.image-filter-bar>p { display:none; }
  .poster-grid { gap:28px 18px; }
}
@media(max-width:700px) {
  .image-hero { padding:19px 6% 20px; }.image-hero-top { font-size:8px; }
  .image-hero-layout { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:38px 0 18px; }
  .image-hero h1 { font-size:clamp(42px,10vw,68px); }.image-kicker{margin-bottom:18px;font-size:9px;}
  .image-hero-copy>p:not(.image-kicker) { margin:18px 0;font-size:12px; }.desktop-break{display:none;}
  .image-hero-copy>a { font-size:11px;min-width:190px; }
  .image-hero-art { height:355px; margin:10px 0 0; }
  .hero-poster { width:clamp(166px,43vw,240px); }
  .hero-poster:nth-child(1) { --shift:calc(-65px - var(--spread)*10px); }
  .hero-poster:nth-child(2) { --shift:calc(65px + var(--spread)*10px); }
  .image-hero-foot{font-size:8px;gap:10px;}
  .image-contact-sheet{padding:65px 6% 20px;}
  .image-sheet-heading{display:block;margin-bottom:28px;}.image-sheet-heading h2{font-size:38px;}.image-sheet-heading>p{margin-top:22px;font-size:11px;}
  .image-filters{gap:2px;}.image-filters button{font-size:10px;padding:9px 8px;}.image-filters button small{font-size:8px;}
  .poster-series{padding:30px 0 40px;}.series-heading{display:block;margin-bottom:22px;}.series-heading h3{font-size:24px;}.series-heading>p{margin-top:13px;font-size:11px;}
  .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px;}
  .print-caption{display:block;padding-top:11px;}.print-caption strong{display:block;font-size:12px;}.print-caption small{display:block;margin-top:4px;font-size:8px;}.print-description{font-size:10px;margin-top:6px;}
  .image-closing{padding:65px 6%;}.image-closing>p{font-size:8px;}
  .image-bottom-nav{padding:25px 6% 40px;font-size:10px;gap:12px;}.image-footer{flex-wrap:wrap;padding:30px 6%;}
  .lightbox-top{height:54px;padding:0 5%;}
  .lightbox-body{display:flex;flex-direction:column;gap:18px;padding:16px 5% 22px;min-height:auto;}
  .lightbox-art{width:100%;flex:1;min-height:220px;}.lightbox-art img{max-height:min(54dvh,calc(100dvh - 330px));max-width:100%;}
  .lightbox-copy{width:100%;}.lightbox-copy h2{font-size:23px;margin:6px 0 9px;}.lightbox-copy>p:first-child{margin:0;font-size:9px;}
  .lightbox-copy>p:nth-of-type(2){font-size:11px;line-height:1.75;margin:0;}.lightbox-copy>a{margin:5px 0 0;padding:8px 0;font-size:10px;}
  .lightbox-controls{margin-top:12px;padding-top:4px;}
}
@media(prefers-reduced-motion:reduce) {
  .image-hero { --spread:0 !important; }
  .print-frame { transition:none; }.print-card:hover .print-frame,.print-card:focus-visible .print-frame{transform:none;}
}
