:root{color-scheme:dark;--gold:#d6ad53;--navy:#11141a}*{box-sizing:border-box}html{background:var(--navy);scroll-behavior:smooth}body{margin:0;color:#fff;font-family:Arial,sans-serif}main{width:min(100%,1100px);margin:0 auto}.presentation-section{width:100%;position:relative;overflow:hidden}.section-art{width:100%;height:auto;display:block}.hotspot{position:absolute;display:block;border:0;margin:0;padding:0;background:transparent;cursor:pointer;border-radius:2px;-webkit-tap-highlight-color:#d6ad5340}.hotspot:focus-visible{outline:3px solid var(--gold);outline-offset:2px;background:#d6ad5318}.photo-link:hover{box-shadow:inset 0 0 0 2px #d6ad5380}.contact-link:hover{background:#ffffff12}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-100px;padding:12px;background:var(--gold);color:#11141a;z-index:20}.skip-link:focus{top:16px}dialog{padding:0;border:0;background:#090b0ff5;color:white;width:100%;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;overscroll-behavior:contain}dialog::backdrop{background:#090b0ff5}.viewer-shell{display:flex;flex-direction:column;height:100%;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.viewer-toolbar{height:52px;flex:none;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#d6d9de;padding:0 10px}.viewer-toolbar button{border:1px solid #565b66;border-radius:4px;padding:10px 16px;background:#1b2029;color:white;font:inherit;cursor:pointer}.viewer-toolbar button span{font-size:23px;margin-left:8px}.photo-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center}.image-scroll{width:100%;height:100%;display:grid;place-items:center;overflow:auto;touch-action:pan-x pan-y pinch-zoom}#enlarged-photo{display:block;max-width:100%;max-height:calc(100dvh - 92px);object-fit:contain;user-select:none}.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:64px;border:1px solid #ffffff30;border-radius:4px;background:#090b0f9c;color:white;font:40px/1 Arial;cursor:pointer}.gallery-arrow:hover{background:#343840}.gallery-arrow:focus-visible,.viewer-toolbar button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.previous{left:0}.next{right:0}.gallery-arrow[hidden]{display:none}body.gallery-open{overflow:hidden}@media(max-width:600px){.viewer-shell{padding-left:6px;padding-right:6px}.gallery-arrow{width:38px;height:54px;font-size:32px}.viewer-toolbar{padding:0 6px}.section-art{image-rendering:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@font-face{font-family:GallerySans;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap}@font-face{font-family:GalleryDisplay;src:url('assets/playfair-display.ttf') format('truetype');font-weight:600;font-display:swap}.mosaic-gallery{background:#f4f2ed;color:#14171c;padding:0 clamp(12px,1.6vw,20px);font-family:GallerySans,Arial,sans-serif}.gallery-heading{padding:clamp(24px,4.2vw,64px) clamp(8px,2.8vw,50px) clamp(24px,4.2vw,52px)}.gallery-agent{font-size:clamp(9px,1.6vw,23px);margin:0 0 28px}.gallery-eyebrow{font-size:clamp(10px,1.6vw,23px);color:#b98c36;margin:0 0 30px}.gallery-heading h2{font-family:GalleryDisplay,Georgia,serif;font-weight:600;font-size:clamp(26px,5.6vw,66px);line-height:1.19;margin:0 0 24px;letter-spacing:-.025em}.gallery-instruction{color:#666970;font-size:clamp(10px,1.55vw,22px);margin:0}.mosaic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(155px,24vw,285px);gap:clamp(6px,1vw,12px)}.mosaic-tile{display:block;position:relative;min-width:0;min-height:0;border:0;padding:0;background:#e7e4dc;cursor:pointer;overflow:hidden;border-radius:0;-webkit-tap-highlight-color:#d6ad5340}.mosaic-tile.featured{grid-column:span 2;grid-row:span 2}.mosaic-tile img{display:block;width:100%;height:100%;object-fit:cover}.mosaic-tile:focus-visible{outline:3px solid #d6ad53;outline-offset:-3px}.mosaic-tile:hover img{filter:brightness(1.04)}.gallery-footer{text-align:center;font-size:clamp(8px,1vw,15px);color:#666970;padding:clamp(24px,5vw,65px) 0 clamp(24px,3vw,44px)}@media(max-width:650px){.mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(140px,45vw,280px);gap:7px}.gallery-agent{margin-bottom:20px}.gallery-eyebrow{margin-bottom:22px}.gallery-heading h2{margin-bottom:18px}.gallery-heading{padding-top:30px;padding-bottom:28px}}
