*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#24251f;background:#f8f6ee;font:16px Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header,main,footer{padding-inline:clamp(22px,6vw,100px)}header{display:flex;align-items:center;justify-content:space-between;height:78px;border-bottom:1px solid #c8c7b9}.brand,nav,.controls,.social{display:flex;align-items:center;gap:22px}.brand{gap:10px;letter-spacing:-.8px;font-size:20px}.brand img{width:35px;mix-blend-mode:multiply}nav{font-size:14px}.contact,.explore{background:#252820;color:white;padding:13px 20px;border-radius:40px}.hero{display:grid;grid-template-columns:.88fr 1.12fr;gap:4%;align-items:center;padding-block:50px 54px;border-bottom:1px solid #babcae}.tag,.kicker,.desk small,.controls span,.base,.rail small,.roll small{font:10px/1.5 monospace;letter-spacing:1.6px}.tag{display:flex;align-items:center;gap:10px}.tag i{width:8px;height:8px;border-radius:50%;background:#c35834}h1,h2,h3,figure,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}h1{font-size:clamp(74px,7.9vw,136px);line-height:.88;margin:25px 0}h1 em,h2 span{color:#ad482d}.intro p,.heading p{line-height:1.55;color:#56584e}.explore{display:inline-flex;gap:25px;margin-top:24px;font-size:14px}.desk{isolation:isolate;position:relative;aspect-ratio:1.47;background-color:#d6dbbd;background-image:radial-gradient(#9da887 0.65px,transparent 1px);background-size:5px 5px;border:1px solid #abb49a;overflow:hidden;border-radius:5px}.desk small{position:absolute;bottom:3%;right:3%;font-size:9px}.print,.portrait,.note{position:absolute;box-shadow:2px 5px 9px #28311c55}.print{width:49%;height:56%;left:6%;top:10%;transform:rotate(-9deg);border:6px solid #e2d7b3}.print>img:first-child{width:100%;height:100%;object-fit:cover}.portrait{width:41%;right:9%;top:12%;padding:2% 2% 1.5%;background:#fffaf0;transform:rotate(8deg)}.portrait img{width:100%;display:block}.portrait figcaption,.note span{font:italic clamp(13px,1.6vw,23px) Georgia,serif}.portrait figcaption{text-align:center;padding-top:7%}.tape{position:absolute;top:-5%;left:26%;width:45%;height:11%;background:#d3b77ae0;transform:rotate(-7deg)}.note{left:12%;bottom:10%;transform:rotate(-5deg);width:52%;padding:4% 4% 3%;background:repeating-linear-gradient(#f9f2ce 0 20px,#d9d5b5 21px);display:grid;gap:6px}.note span{margin-bottom:3px}.note a{font:clamp(10px,1.05vw,15px) monospace;text-decoration:underline;text-underline-offset:2px}section[id]{scroll-margin-top:18px}#photos,#paint{padding:44px 0}.kicker{color:#535949}.heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:8px 0 24px}h2{font-size:clamp(42px,4.7vw,78px);line-height:1.04}.heading p{font-size:14px}.bench{background:#dedfcd;border:1px solid #bfc3b1;border-radius:6px;padding:38px 6%;display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:8%;align-items:center}.camera{position:relative;background:repeating-linear-gradient(24deg,#282a26 0 2px,#2c2e29 3px 4px);padding:0 8% 0;border:3px solid #34362e;border-radius:17px;box-shadow:3px 9px 12px #2e322e40}.top{height:12px;position:relative}.top button{position:absolute;bottom:90%;border:2px solid #53544b;background:repeating-linear-gradient(90deg,#999b90 0 2px,#5d5e55 2px 4px);border-radius:4px;width:42px;height:17px}.top #shutter{right:0}.rail,.base{margin-inline:-9.5%;padding:9px 7%;background:linear-gradient(#cecec5,#a4a59a);display:flex;justify-content:space-between}.rail{letter-spacing:3px}.base{border-radius:0 0 12px 12px;font-size:8px}.finder{position:relative;background:#131410;height:clamp(185px,22vw,365px);border:8px ridge #44463d;margin:14px 0;overflow:hidden}.finder img{width:100%;height:100%;object-fit:contain}.corners{position:absolute;inset:9%;pointer-events:none;background:linear-gradient(white,white) left top/16px 1px,linear-gradient(white,white) left top/1px 16px,linear-gradient(white,white) right bottom/16px 1px,linear-gradient(white,white) right bottom/1px 16px;background-repeat:no-repeat;opacity:.55}.controls{justify-content:center;gap:9px;margin-top:17px}.controls button,dialog button{border:1px solid #a9ad9b;background:#f8f7ee;padding:8px 13px;border-radius:20px}.roll{display:flex;align-items:center;gap:14px;width:100%;background:transparent;border:0;border-bottom:1px solid #b7bba6;text-align:left;padding:16px 0;font-size:17px}.roll small{display:block;font-size:9px}.can{display:block;width:34px;height:46px;border-block:5px solid #30322a;border-radius:5px;background:linear-gradient(90deg,#0003,transparent 35%,#fff4 70%,#0002),var(--film);font:bold 10px monospace;text-align:center;padding-top:13px;transform:rotate(-7deg)}.roll[aria-pressed=true]::after{content:'●';color:#a84a30;margin-left:auto}.swap{animation:swap .46s ease}@keyframes swap{0%{transform:translateY(0)}45%{transform:translateY(-12px) rotate(-10deg);opacity:.2}100%{transform:none}}#wall{position:relative;height:530px;background:#d4cbbc;border-radius:5px;overflow:hidden;perspective:1000px}.frame{position:absolute;left:50%;top:50%;height:54%;max-width:75%;padding:7px;background:#ece1c8;border:10px ridge var(--wood);box-shadow:3px 7px 14px #33261455;transition:transform .45s,opacity .45s;transform:translate(-50%,-50%)}.frame img{height:100%;width:100%;object-fit:contain;display:block}.frame.before{transform:translate(-69%,-125%) rotate(-12deg) scale(.65)}.frame.after{transform:translate(-31%,25%) rotate(12deg) scale(.65)}.frame.current{z-index:1}footer{padding-block:44px;background:#292e25;color:#f7f5ea}footer .kicker{color:#c3c7ad}footer h2{margin-top:10px}footer .explore{background:#eff0da;color:#24251f}.social{margin-top:28px;font-size:14px}.social a,nav a:hover{text-decoration:underline}dialog{border:0;border-radius:8px;width:min(850px,93vw);background:#f8f6ee;max-height:85vh}dialog::backdrop{background:#161910aa}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}h3{font-size:36px}#thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px}#thumbs button{padding:0;border:0;border-radius:0;background:#252820}#thumbs img{width:100%;height:120px;object-fit:contain;display:block}
@media(max-width:720px){header{height:60px}.brand{font-size:16px;gap:3px}.brand img{width:34px}nav{gap:12px;font-size:12px}nav .contact{display:none}.hero{grid-template-columns:1fr;padding-block:32px;gap:28px}.desk{width:100%}h1{font-size:78px}.heading{align-items:start;flex-direction:column}.bench{grid-template-columns:1fr;gap:24px;padding:30px 4% 18px}#rolls{display:flex;gap:8px}.roll{flex:1;flex-direction:column;align-items:start;font-size:13px;gap:7px;position:relative}.roll[aria-pressed=true]::after{position:absolute;right:5%;top:20%}.note a{font-size:clamp(10px,2.5vw,16px)}#wall{height:420px}.social{flex-wrap:wrap}.portrait figcaption,.note span{font-size:clamp(14px,4vw,22px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}}
/* Objects on the studio desk */
.print::before,.print::after{content:'';position:absolute;z-index:2;width:10px;height:10px;top:1%;border-radius:50%;background:radial-gradient(at 32% 22%,#fff2b2,#a47c38 52%,#59461d 75%);box-shadow:2px 4px 3px #2a231e88}.print::before{left:2%}.print::after{right:2%}.note{filter:drop-shadow(1px 4px 2px #3334);background:none;box-shadow:none}.note::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 49%,#b6a27845 50%,transparent 52%),radial-gradient(ellipse at 103% 3%,transparent 14%,#ae8a5a55 15%,transparent 17%),repeating-linear-gradient(#f5ebc7 0 19px,#c9c9aa 20px);clip-path:polygon(0 2%,97% 0,100% 8%,99% 94%,94% 98%,89% 94%,83% 100%,77% 96%,69% 99%,62% 95%,52% 99%,47% 96%,38% 100%,31% 95%,23% 99%,15% 96%,8% 100%,0 96%)}.note::after{content:'';position:absolute;top:4px;left:12%;right:9%;height:5px;background:radial-gradient(circle,#9c9677 2px,transparent 2.5px) 0 0/17px 5px}
.bench{position:relative;grid-template-columns:minmax(0,1fr) minmax(145px,18%);gap:4%;padding:62px 3% 30px;background:radial-gradient(at 28% 0%,#e8dfc5,transparent 75%),#cfcab7}.camera{padding-inline:4%;border-radius:24px 24px 18px 18px;background:repeating-radial-gradient(ellipse at 20% 0%,#1a1c19 0 1px,#353831 1.5px 2px,#262923 3px) 0 0/6px 5px;box-shadow:inset 4px 0 6px #696b5c,inset -5px 0 6px #080907,2px 12px 16px #24261855}.top{height:18px;margin-inline:-4%;border-radius:21px 21px 0 0;background:linear-gradient(#d2cfc0,#a4a395,#dad8cd)}.prism{display:grid;place-items:center;position:absolute;left:40%;width:20%;height:43px;bottom:3px;clip-path:polygon(0 100%,11% 65%,24% 0,76% 0,89% 65%,100% 100%);background:linear-gradient(115deg,#686959,#d7d5c8 26%,#b8b9aa 70%,#797b70);font:bold 17px Georgia;letter-spacing:2px}.top button{left:4%;bottom:80%;width:13%;height:22px;border-radius:40% 40% 12% 12%;box-shadow:0 2px 2px #181914}.top #shutter{left:auto;right:6%;width:9%;border-top:5px solid #dcd9ce}.rail,.base{margin-inline:-4%;padding:8px 5%;background:linear-gradient(#d5d4c9,#abae9f 70%,#848778);border-bottom:2px solid #63665a}.rail b{font:700 clamp(17px,2vw,30px) Georgia;letter-spacing:-1px}.rail em{font-weight:400;font-size:.76em}.rail small{align-self:center}.finder{height:clamp(400px,43vw,685px);margin:12px 0;border:11px ridge #494b41;border-radius:11px;box-shadow:0 0 0 2px #11140f;transition:background .25s}.finder img{transition:opacity .25s}.changing .finder img{opacity:.12}.base{align-items:center;gap:8px}.base span:last-child{margin-left:auto}#gate{width:42px;height:11px;border:2px inset #858778;background:#292b24;border-radius:5px}.changing #gate{box-shadow:0 0 0 3px #c6a167}.traveler{position:absolute;left:0;top:0;z-index:8;pointer-events:none;box-shadow:2px 5px 8px #12150c55}.traveler:after{content:'';position:absolute;top:7px;left:92%;width:21px;height:22px;background:repeating-linear-gradient(90deg,#c4ad83 0 3px,transparent 3px 6px) 0 2px/100% 2px no-repeat,linear-gradient(#68472a,#955d31,#4c321f);border-radius:0 4px 2px 0;z-index:-1}.roll[aria-pressed=true] .can{opacity:.35}
#wall{height:clamp(340px,38vw,570px);background:radial-gradient(ellipse at 50% 0,#ded6bd,#afa68d);touch-action:pan-y}.frame{height:auto;width:max-content;max-width:54%;padding:clamp(7px,1.1vw,19px);background:repeating-linear-gradient(4deg,transparent 0 3px,#25110736 4px,transparent 5px 8px),linear-gradient(135deg,#fff5,transparent 35%,#160a0638),var(--wood);box-shadow:inset 0 0 0 2px #dac190,0 8px 14px #2d211b66}.frame img{height:auto;width:auto;max-width:100%;max-height:clamp(210px,23vw,350px);border:3px ridge #aa8c61}.frame[data-profile="1"]{border-style:double;border-width:12px}.frame[data-profile="2"]{border-style:groove;border-width:15px}.frame.before,.frame.after{cursor:pointer}.frame.before{transform:translate(-141%,-50%) rotateY(47deg) scale(.84)}.frame.after{transform:translate(41%,-50%) rotateY(-47deg) scale(.84)}
footer{background:#454f40;padding-block:50px}.postcard{background:#f1e9d3;color:#393b2e;border:8px solid transparent;border-image:repeating-linear-gradient(130deg,#985741 0 15px,#eee4cd 15px 30px,#6e8277 30px 45px,#eee4cd 45px 60px) 8;display:grid;grid-template-columns:1fr 1fr;box-shadow:4px 7px 0 #30392c;padding:clamp(24px,4vw,62px);gap:7%}.letter .kicker{color:#62664e}.letter h2{font-size:clamp(54px,6vw,90px)}.letter em{color:#a34c32}.letter .explore{color:white;background:#303a2d}.address{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:end;border-left:1px solid #a9a693;padding-left:10%;padding-top:90px}.address>p{font:italic 29px Georgia;margin-bottom:6px}.address>a{font:14px/1.9 monospace;border-bottom:1px solid #b9b49f}.stamp{position:absolute;right:0;top:0;width:63px;padding:5px;background:#e3c08b;border:2px dashed #98815b;transform:rotate(6deg);text-align:center}.stamp img{width:100%;display:block}.stamp small,.postmark{font:8px monospace;letter-spacing:1px}.postmark{position:absolute;right:50px;top:15px;border:3px double #757d6d;border-radius:50%;padding:8px;text-align:center;transform:rotate(-12deg);color:#616955}.social{gap:14px;flex-wrap:wrap;margin-top:15px}
@media(max-width:720px){.bench{grid-template-columns:1fr;gap:20px;padding:46px 8px 18px;margin-inline:-12px}.finder{height:clamp(330px,87vw,550px);border-width:7px}.rollbox{padding-inline:12px}.frame{max-width:62%;border-width:7px}.frame.before{transform:translate(-126%,-50%) rotateY(55deg) scale(.78)}.frame.after{transform:translate(26%,-50%) rotateY(-55deg) scale(.78)}.postcard{grid-template-columns:1fr;gap:24px}.address{border-left:0;border-top:1px solid #a9a693;padding:85px 0 0}.stamp{top:10px}.postmark{top:26px}}

.note .magnet{position:absolute;z-index:1;top:0;right:1%;width:clamp(76px,44%,150px);aspect-ratio:1;border-radius:50%;background:#64634e;transform:translateY(-77%) rotate(9deg);box-shadow:0 2px 0 #686751,0 4px 0 #424337,1px 6px 5px #342d206b}
#wall{--slot:45%;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;perspective:none;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#8c8167 #c5beaa;cursor:grab;user-select:none}
#wall::before,#wall::after{content:"";flex:0 0 calc((100% - var(--slot))/2)}#wall.free-scroll{scroll-snap-type:none;cursor:grabbing}.slide{position:relative;flex:0 0 var(--slot);display:grid;place-items:center;scroll-snap-align:center;perspective:850px}.slide .frame{position:relative;top:auto;left:auto;max-width:111%;width:max-content;transform:rotateY(var(--turn,0deg)) scale(var(--scale,1));transition:none;pointer-events:none}.slide .frame img{max-height:clamp(215px,24vw,380px);object-fit:contain}.slide:has(.frame:hover){cursor:pointer}
.bench{background:#cbc8b4;padding:20px 2% 22px;gap:3%}.cameraWrap{min-width:0}.instrument{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;background: url('media/rangefinder.webp') center/100% 100% no-repeat;border-radius:5px;perspective:1200px;overflow:hidden}.back-door,.film-chamber{position:absolute;inset:var(--aperture,28% 18% 18% 18%);border-radius:2px}.back-door{transform-origin:0 50%;transition:transform .42s cubic-bezier(.25,.63,.25,1);backface-visibility:hidden;background:#151511;box-shadow:inset 0 0 5px #000;z-index:2}.changing .back-door{transform:rotateY(-99deg)}.ground-glass,.ground-glass img{width:100%;height:100%}.ground-glass img{display:block;object-fit:contain}.film-chamber{display:flex;align-items:center;justify-content:space-between;padding:4%;background:linear-gradient(#0b0c0a,#45443a 8%,#191a16 13%,#262822 85%,#080908 92%);overflow:hidden}.film-chamber #gate,.spool{position:relative;width:12%;height:90%;border:3px solid #111;border-radius:8px;background:linear-gradient(90deg,#151613,#6e6e60,#30312a 55%,#141512);box-shadow:0 3px 4px #000}.film-strip{flex:1;height:68%;background:repeating-linear-gradient(90deg,#b29b70 0 3px,transparent 3px 10px) 0 5%/100% 5% no-repeat,repeating-linear-gradient(90deg,#b29b70 0 3px,transparent 3px 10px) 0 95%/100% 5% no-repeat,repeating-linear-gradient(90deg,#473320 0 20%,#231a12 20% 22%);box-shadow:0 1px 6px #000}.hotspot{position:absolute;z-index:3;cursor:pointer;background:transparent;border:0;border-radius:30%;min-height:26px}.hotspot:hover,.hotspot:focus-visible{outline:2px solid #f6e7b7;outline-offset:2px}.instrument-caption{display:flex;justify-content:space-between;margin:8px 3px;font:10px monospace;letter-spacing:1.4px;text-transform:uppercase}.cameraWrap .controls{margin-top:10px}
@media(max-width:720px){#wall{--slot:62%}.bench{padding:8px 6px 16px}.slide .frame{max-width:108%}}
.instrument{--aperture:31.5% 17% 19.9% 17.1%}.rewind{left:7.5%;top:5%;width:13%;height:10%}.advance{right:6%;top:5%;width:21%;height:11%}.ground-glass::after{content:'';position:absolute;inset:0;background:#151611;transform:scaleY(0);transform-origin:top;pointer-events:none}.winding .ground-glass::after{animation:curtain .28s ease-out}@keyframes curtain{0%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@media (max-width:720px){.bench{grid-template-columns:minmax(0,1fr)}}
.bench{background:transparent;border:0;padding-inline:0}.instrument{clip-path:url(#camera-outline);border-radius:0}.glass-arrow{position:absolute;top:56%;transform:translateY(-50%);z-index:4;width:clamp(35px,4vw,54px);aspect-ratio:1;border-radius:50%;border:2px solid #4a493f;color:#e8e3cf;font:bold 21px Georgia;background:radial-gradient(circle at 35% 24%,#605f53,#272823 65%,#161813);box-shadow:0 0 0 2px #b0ad9f,inset 0 1px 2px #eee7,0 3px 4px #000b}.glass-arrow.left{left:7%}.glass-arrow.right{right:7%}.glass-arrow:active{transform:translateY(-48%) scale(.94)}.glass-arrow:hover{color:white;border-color:#b7a57e}.glass-arrow:focus-visible{outline:3px solid #fff}
.can{position:relative;flex:none;display:grid;place-content:center;width:44px;height:60px;padding:0;border:1px solid #282923;border-block:5px ridge #48483f;border-radius:38% 38% 27% 27% / 9% 9% 8% 8%;background:linear-gradient(90deg,#100d0a99,transparent 24%,#fffa 39%,transparent 59%,#302e2566),linear-gradient(#b3aa90 0 10%,#31352c 10% 24%,var(--film) 24% 77%,#383a30 77% 88%,#b7b29d 88%);box-shadow:2px 3px 4px #29231950;line-height:1}.can:before{content:'';position:absolute;left:22%;width:55%;height:7px;top:-9px;border-radius:50% 50% 10% 10%;background:repeating-linear-gradient(90deg,#282921 0 1px,#77776b 2px 3px)}.can b,.can i{font:700 6px monospace;letter-spacing:.6px}.can em{font:bold italic 21px Georgia;color:#292b25}.can i{font-size:5px}.roll[aria-pressed=true] .can{opacity:.8}.roll{gap:16px}
#wall{--slot:32%;scroll-snap-type:none;overflow-anchor:none;scrollbar-width:none}#wall::-webkit-scrollbar{display:none}.slide{perspective:750px;min-width:0;scroll-snap-align:none}.slide .frame{max-width:137%;width:max-content;backface-visibility:hidden}.slide .frame img{max-height:clamp(215px,25vw,390px)}@media(max-width:720px){#wall{--slot:44%}.slide .frame{max-width:139%}.roll{gap:8px}.glass-arrow{width:32px}}
/* The cartridge, its shelf space, and the chamber share one physical size. */
.can.traveler{position:absolute;left:0;top:0;margin:0;will-change:transform}
.roll .can.in-transit,.roll[aria-pressed=true] .can{visibility:hidden}
.roll{position:relative}.roll[aria-pressed=true]::before{content:'IN USE';position:absolute;left:0;top:50%;width:44px;text-align:center;transform:translateY(-50%);padding:9px 0;border:1px dashed #9d9b86;border-radius:4px;color:#60644f;font:8px monospace;letter-spacing:.5px}
.film-chamber #gate{display:grid;place-items:center;flex:0 0 44px;height:76%;border:0;box-shadow:inset 1px 2px 7px #0008;background:#141510}
#gate .can{transform:none;z-index:1;font-style:normal}
.film-strip{transform-origin:left;transition:transform .32s ease}.rewound .film-strip{transform:scaleX(.01)}
.ground-glass{position:relative;overflow:hidden;background:#131410}
.ground-glass img{position:absolute;inset:0;background:#131410}
@media(max-width:720px){.roll[aria-pressed=true]::before{top:30px}}
/* Fit the artwork and molding together, even for panoramic canvases. */
#wall{container-type:size;--slot:39%;height:clamp(360px,42vw,630px);background:radial-gradient(ellipse at 48% 15%,#ede6d6,#cfc6b1 76%,#bdb59f)}
.slide{display:flex;align-items:center;justify-content:center;perspective:1050px}
.slide .frame{flex:none;box-sizing:content-box;width:min(46cqw,calc(69cqh * var(--ratio)));height:auto;max-width:none;padding:clamp(4px,.65cqw,11px);border-width:clamp(5px,.72cqw,12px);box-shadow:inset 0 0 0 1px #dcc99e,1px 9px 17px #322a1d35}
.slide .frame img{box-sizing:border-box;width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:var(--ratio);object-fit:contain}
@media(max-width:720px){#wall{--slot:56%;height:clamp(270px,85vw,470px)}.slide .frame{width:min(68cqw,calc(68cqh * var(--ratio)))}}
