.camera-page{--yellow:#ffd43c;--pink:#ff4b9b;--cream:#faf3e6;--ink:#171515;background:var(--cream)}
.camera-hero{margin:28px 5vw 48px;border:2px solid var(--ink);border-radius:24px;background:var(--yellow);box-shadow:8px 10px 0 var(--ink);overflow:hidden}
.camera-topline,.camera-bottomline{display:flex;justify-content:space-between;gap:12px;padding:16px 28px;font:10px monospace;letter-spacing:.1em}.camera-topline{border-bottom:1px solid #17151555}.camera-bottomline{background:var(--ink);color:var(--yellow);padding:14px 28px}
.camera-face{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding:40px 5vw 45px}.camera-copy h1{font:clamp(58px,7vw,100px)/.94 Georgia,serif;font-weight:900;letter-spacing:-.065em;margin:0 0 25px}.camera-copy>p:not(.eyebrow){font-size:15px;line-height:1.6}.camera-browse{display:inline-block;background:var(--pink);padding:13px 22px;transform:rotate(-2deg);font-size:13px;font-weight:bold;text-decoration:none;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.camera-object{position:relative;width:100%;max-width:490px;aspect-ratio:1.5;border:3px solid #171515;border-radius:28px;background:linear-gradient(to bottom,#252323 0 31%,#ffd43c 31% 75%,#252323 75%);box-shadow:10px 13px 0 #17151528;transform:rotate(6deg)}
.camera-flash{position:absolute;left:8%;top:7%;width:29%;height:17%;background:repeating-linear-gradient(90deg,#fff8e7 0 3px,#c7c0af 3px 5px);border:7px solid #090909;border-radius:7px}.camera-viewfinder{position:absolute;left:46%;top:9%;width:17%;height:14%;background:#57534b;border:7px solid #090909;border-radius:6px;box-shadow:inset 2px 2px 4px #ffffff50}
.camera-lens{position:absolute;left:35%;top:30%;width:43%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#222 0 5px,#333 6px 8px);border:8px solid #111;display:grid;place-items:center;box-shadow:4px 6px 0 #0003}.camera-lens>span{width:70%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;background:radial-gradient(at 30% 25%,#5b5650,#171515 55%);border:2px solid #747065;color:#fff4df;font:italic bold 33px Georgia,serif}.camera-lens small{font:7px monospace;letter-spacing:.04em;margin-top:4px}
.camera-grip{position:absolute;right:4%;top:9%;width:12%;height:79%;border-radius:12px;background:repeating-linear-gradient(0deg,#101010 0 4px,#333 4px 6px)}.camera-brand{position:absolute;left:6%;top:39%;font:900 clamp(11px,1.6vw,22px)/.95 Arial,sans-serif;letter-spacing:-.05em}.camera-counter{position:absolute;left:7%;bottom:9%;font:11px monospace;color:var(--yellow)}
.roll-intro{padding:20px 6vw 0;scroll-margin-top:110px}.roll-intro h2{font:clamp(29px,3vw,43px)/1.1 Georgia,serif;letter-spacing:-.04em}.roll-intro>p:last-child{font-size:14px;max-width:600px}
.camera-page .album-index{margin:25px 6vw 45px;gap:12px}.camera-page .album-index a{border:1px solid var(--ink);border-radius:2px;background:var(--cream);box-shadow:3px 3px 0 var(--ink);min-height:44px;display:flex;align-items:center;font:12px monospace}.camera-page .album-index a:hover{background:var(--pink)}
.camera-page .album{margin:0 5vw 42px;padding:26px 22px 16px;background:#242120;color:var(--cream);border:0;border-radius:8px;box-shadow:6px 7px 0 #17151522}.camera-page .album .section-heading{align-items:center;gap:15px}.camera-page .album h2{font:clamp(28px,3vw,40px)/1.1 Georgia,serif;letter-spacing:-.03em}.camera-page .album .eyebrow{color:var(--yellow);font-family:monospace}.camera-page .scroll-controls{display:flex;gap:8px;flex-shrink:0}.camera-page .scroll-controls button{width:44px;height:44px;border:1px solid #fff7e8;border-radius:50%;color:var(--cream)}.camera-page .scroll-controls button:hover{background:var(--yellow);color:var(--ink)}
.camera-page .album-strip{gap:0;padding:0;scrollbar-color:var(--pink) #242120}.camera-page .photo{position:relative;flex:0 0 36%;min-width:240px;padding:28px 10px 30px;color:var(--cream);background:#111;border:0}.camera-page .photo:before,.camera-page .photo:after{content:"";position:absolute;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 10px,#faf3e6 10px 23px,transparent 23px 34px)}.camera-page .photo:before{top:9px}.camera-page .photo:after{bottom:9px}.camera-page .photo img{height:340px;object-fit:cover}.camera-page .photo .frame-label{display:flex;align-items:center;gap:10px;margin-top:12px;font:9px monospace;letter-spacing:.02em}.frame-label b{color:var(--yellow);font-size:12px}.frame-label em{margin-left:auto;color:var(--pink);font-size:8px;font-style:normal}.camera-page .photo:focus-visible{outline:3px solid var(--pink);outline-offset:-4px}.camera-page footer{background:var(--yellow)}
@media(max-width:700px){.camera-hero{margin:20px 5vw 32px;border-radius:16px;box-shadow:5px 6px 0 var(--ink)}.camera-topline,.camera-bottomline{padding:13px 15px;font-size:8px;letter-spacing:0}.camera-face{grid-template-columns:1fr;gap:30px;padding:28px 22px 35px}.camera-copy h1{font-size:62px}.camera-copy>p:not(.eyebrow){font-size:13px}.camera-object{width:88%;margin:0 auto;max-width:350px}.camera-brand{font-size:16px}.camera-lens>span{font-size:26px}.camera-lens small{font-size:6px}.camera-flash{border-width:5px}.camera-viewfinder{border-width:5px}.camera-counter{font-size:8px}.camera-page .album{padding:23px 12px 12px;margin-bottom:28px}.camera-page .album .section-heading{display:block}.camera-page .scroll-controls{margin:18px 0}.camera-page .photo{flex-basis:88%;min-width:0}.camera-page .photo img{height:310px}.camera-page .photo .frame-label{font-size:8px;gap:6px}.frame-label em{font-size:7px}.camera-page .album-index{gap:10px}.roll-intro{padding-top:14px}}
/* Show the complete photo collection in upright, uncropped frames. */
.camera-page .photo .photo-media{position:relative;display:block;aspect-ratio:3/4;margin:0;overflow:hidden;background:#111}
.camera-page .photo .photo-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.camera-page .photo .photo-media img.turned{inset:auto;left:50%;top:50%;width:133.333333%;height:75%;max-width:none;transform:translate(-50%,-50%) rotate(var(--photo-turn));object-fit:contain}
.camera-page #photo-dialog .expanded-stage{position:relative;width:min(86vw,1100px);height:68svh;display:grid;place-items:center;overflow:hidden}
.camera-page #photo-dialog .expanded-stage img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;margin:0;object-fit:contain;transform:translate(-50%,-50%) rotate(var(--expanded-turn,0deg))}

.camera-photo{width:100%;max-width:530px;transform:rotate(5deg);filter:drop-shadow(8px 12px 6px #17151530)}.camera-photo img{display:block;width:100%;height:auto}@media(max-width:700px){.camera-photo{width:100%;max-width:380px;margin:0 auto}}

.album-full-link{display:inline-block;margin:24px 0 4px;padding:13px 18px;background:var(--yellow,#ffdb37);color:#171515;border:1px solid #171515;border-radius:999px;text-decoration:none;font-size:14px;font-weight:bold}.album-full-link:hover{text-decoration:underline}.album-full-link:focus-visible{outline:3px solid var(--pink,#ff4099);outline-offset:4px}

.album-page-top{padding:32px 7vw 0}.album-page-top a{font-weight:700;text-underline-offset:5px}.camera-page .album h1{font:400 clamp(30px,5vw,58px)/1.15 Shrikhand,Georgia,serif;margin:14px 0}.album-load-status{margin:22px 7vw}.album-load-status:empty{display:none}.camera-page main>.album-index{margin-bottom:50px}.camera-page main>.album-index[hidden]{display:none}
