*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#141110;color:#faf2eb;font:1rem/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #efaa80;outline-offset:5px}.topbar,main,footer{max-width:1240px;margin:auto;padding-left:clamp(20px,5vw,64px);padding-right:clamp(20px,5vw,64px)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid #3e3028}.brand{font:1.7rem Georgia,serif}.brand em,h1 em{color:#efaa80;font-weight:400}.back{font-size:.875rem;padding:10px 0}.intro{padding:48px 0 30px}.eyebrow{font-size:.75rem;letter-spacing:2px;color:#efaa80}.intro h1{font:400 clamp(2.5rem,6vw,4.75rem)/1.12 Georgia,serif;margin:16px 0}.intro>p:last-child{color:#baaca2;margin:0}.gallery{columns:3;column-gap:18px}.photo{position:relative;display:block;break-inside:avoid;margin-bottom:18px;border-radius:5px;overflow:hidden;background:#211b18}.photo img{display:block;width:100%;height:auto;transition:filter .2s}.photo:hover img{filter:brightness(1.07)}.photo-number{position:absolute;bottom:12px;left:12px;border:1px solid #ffffff45;border-radius:30px;background:#141110b3;padding:3px 10px;font-size:.75rem}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:30px;padding-bottom:36px;color:#baaca2;font-size:.875rem}footer a{color:#efaa80}dialog{border:1px solid #584235;border-radius:10px;background:#141110;color:#faf2eb;padding:0;width:min(1100px,96vw);height:94vh;height:94dvh;max-height:none;max-width:none;overflow:hidden}dialog::backdrop{background:#000e}dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.viewer-toolbar,.viewer-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px}.viewer-toolbar p{margin:0;color:#baaca2;font-size:.875rem}dialog button{background:#211b18;color:#faf2eb;border:1px solid #584235;border-radius:8px;min-height:44px;padding:8px 16px}dialog button:hover{background:#3e3028}#close span{font-size:1.25rem;margin-left:8px}.stage{min-height:0;display:flex;align-items:center;justify-content:center;padding:0 12px;touch-action:pan-y pinch-zoom}.stage img{max-width:100%;max-height:100%;object-fit:contain}body.viewing{overflow:hidden}@media(max-width:760px){.gallery{columns:2;column-gap:12px}.photo{margin-bottom:12px}.intro{padding-top:32px}.topbar{padding-top:20px;padding-bottom:20px}}@media(max-width:360px){.gallery{columns:1}.brand{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){.photo img{transition:none}}