:root{--black:#0b0c0c;--paper:#d7d1c5;--muted:#9d9d93;--rule:#323432;--accent:#aaa18b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--black);color:var(--paper);font:15px/1.75 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--paper);outline-offset:7px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05}h2{font-size:clamp(44px,5.4vw,86px);letter-spacing:-.045em}h2 em{font-weight:400;color:var(--accent)}.micro{font-size:9px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase}.section{padding:120px 7vw}.skip{position:absolute;left:-10000px}.skip:focus{left:15px;top:15px;background:black;z-index:100;padding:15px}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:30px;padding:30px 4vw}.brand{width:350px;margin-right:auto;flex-shrink:0}.brand img{filter:invert(1);mix-blend-mode:screen;opacity:.9}.site-header nav{display:flex;gap:24px;font-size:11px;color:var(--muted)}.site-header nav a:hover{color:var(--paper)}.languages{display:flex;gap:9px;font-size:10px;letter-spacing:.06em}.languages a{color:#787f77}.languages [aria-current]{border-bottom:1px solid var(--paper)}.header-book{border-bottom:1px solid #82877b;padding:5px 0;font-size:11px}.menu{display:none}.hero{height:max(950px,100svh);max-height:1250px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 55% 43%,#252820 0,#0b0c0c 65%)}.hero-plate{position:absolute;top:90px;left:50%;transform:translateX(-50%);height:70%;width:auto;max-width:56vw;aspect-ratio:1841/2560;background-color:transparent;animation:plate-arrival 2s ease-in-out both,plate-stock 8s linear both}.hero-plate img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:brightness(.85);box-shadow:0 20px 100px #0008;animation:plate-positive 8s linear both;mask-image:radial-gradient(ellipse,#000 42%,transparent 72%);mask-repeat:no-repeat;mask-position:50% 43%;-webkit-mask-image:radial-gradient(ellipse,#000 42%,transparent 72%);-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 43%}.hero-plate:after{z-index:3;content:'';position:absolute;inset:60% -2px -2px;background:linear-gradient(transparent,var(--black));pointer-events:none}.hero-heading{position:absolute;bottom:190px;left:7vw;right:7vw;z-index:4}.hero-heading>.micro{margin-bottom:10px;color:#a7ac9f}.hero h1{font-size:clamp(90px,13.8vw,215px);letter-spacing:-.06em;line-height:.95;white-space:nowrap;text-shadow:0 3px 40px #0006}.hero-floor{position:absolute;bottom:70px;left:7vw;right:7vw;display:flex;justify-content:space-between;align-items:center;gap:40px;z-index:4}.hero-floor>p{font:17px/1.6 Georgia,serif;color:#bbbbae;max-width:450px}.orbit-link{display:flex;align-items:center;gap:22px;max-width:250px;font-size:11px}.orbit-link b{font:28px/1 Georgia,serif;border:1px solid #7c8471;border-radius:100%;display:grid;place-items:center;width:65px;height:65px;flex-shrink:0;transition:background .3s,transform .3s}.orbit-link:hover b{background:#363b2d;transform:rotate(-12deg)}.scroll-cue{position:absolute;bottom:20px;left:7vw;right:7vw;display:flex;justify-content:space-between;color:#6e7765}.history{display:grid;grid-template-columns:1fr 1fr;gap:13%;border-top:1px solid var(--rule);padding-top:150px;padding-bottom:150px}.history-title{position:relative;align-self:start}.history-title .micro{margin-bottom:32px;color:var(--muted)}.date-mark{display:block;font:italic 110px/1 Georgia,serif;letter-spacing:-.07em;margin-top:50px;color:#41483b}.history-body{padding-top:25px;max-width:450px;color:var(--muted);font-size:14px}.seal{width:65px;height:65px;border-radius:100%;filter:invert(.83);mix-blend-mode:screen;margin-bottom:35px;opacity:.6}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end;margin-bottom:75px}.section-heading>.micro{align-self:start;color:var(--muted);margin-top:10px}.section-heading .aside{font-size:11px;line-height:1.8;color:var(--muted);max-width:230px;justify-self:end}.gallery-section{padding-top:80px}.gallery{display:flex;flex-wrap:wrap;gap:clamp(6px,.7vw,10px);align-items:flex-start}.plate{display:block;background:none;border:0;padding:0;text-align:left;min-width:0;width:var(--plate-width);flex:0 0 var(--plate-width);margin:0;line-height:0}.plate img{width:100%;height:auto;filter:brightness(.9);transition:filter .4s}.plate:hover img{filter:brightness(1)}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;background:none;border:0;border-bottom:1px solid #717961;padding:13px 0}.line-link:hover{color:white;border-color:#d0d5c7}#more{display:flex;width:280px;margin:80px auto 0}.process-section{display:grid;grid-template-columns:1fr 1fr;gap:14%;background:#151813;border-top:1px solid #373e30;border-bottom:1px solid #373e30}.process-intro{align-self:start;position:sticky;top:85px}.process-intro>.micro{margin-bottom:30px;color:var(--muted)}.process-intro>p:not(.micro){color:#a4ac97;margin-top:35px;font-size:14px;max-width:410px}.process-intro>p.process-footnote{font-size:11px;color:#7d896c}.process-steps{list-style:none;padding:0;margin:0}.process-steps li{padding:33px 0;border-top:1px solid #414935}.process-steps li:first-child{padding-top:0;border:0}.process-steps li:last-child{padding-bottom:0}.process-steps h3{font-size:30px;color:#c6ccb8}.process-steps p{font-size:13px;margin-top:20px;color:#9da98e}.atelier-section{background:#0d0e0c}.atelier-image{height:56vw;max-height:800px;overflow:hidden;position:relative}.atelier-image:after{content:'';position:absolute;inset:0;background:linear-gradient(#0b0c0c00 65%,#0d0e0c)}.atelier-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.72)}.atelier-content{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-top:30px}.atelier-content .micro{color:var(--muted);margin-bottom:30px}.atelier-body p{font-size:14px;color:var(--muted);margin-bottom:24px}.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #656b59;border-bottom:1px solid #333a2d}.format{padding:35px 32px 35px 0}.format+.format{padding-left:32px;border-left:1px solid #333a2d}.format>.micro{color:#7d896e;margin-bottom:20px}.format h3{font-size:33px}.format-size{font:50px/1.2 Georgia,serif;letter-spacing:-.04em;margin:35px 0;color:#b9c0a9}.format-size small{font:13px Arial,sans-serif;letter-spacing:0}.format dl{margin:0}.format dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:11px 0;border-top:1px solid #2b3225}.format dt{font-size:10px;color:#8d997d}.format dd{margin:0;font:24px Georgia,serif;white-space:nowrap}.session-notes{display:grid;grid-template-columns:1fr 1fr;gap:14%;margin-top:40px;font-size:13px;color:#929e82}.session-notes .line-link{margin-top:15px}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-top:30px}.faq-title{align-self:start;position:sticky;top:85px}.faq-title .micro{margin-bottom:30px;color:var(--muted)}details{border-top:1px solid #343c2c;padding:22px 0}details:last-child{border-bottom:1px solid #343c2c}summary{display:flex;justify-content:space-between;gap:22px;cursor:pointer;list-style:none;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1.3;color:#879672;flex-shrink:0;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:#9ba68e;margin-top:20px}.contact-section{padding-top:120px;padding-bottom:70px;background:radial-gradient(ellipse at top right,#22271c,#10120e 70%);border-top:1px solid #323a29}.contact-section>.micro{color:var(--muted);margin-bottom:40px}.contact-section h2{font-size:clamp(65px,9.5vw,150px);max-width:1000px}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;margin-top:80px;padding-top:35px;border-top:1px solid #3c4531}.contact-grid .micro{color:#7c8b68;margin-bottom:18px}.contact-grid p:not(.micro){font-size:12px;color:#abb59b}.contact-links{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:16px;overflow-wrap:anywhere}.contact-grid .line-link{font-size:11px}footer{display:flex;justify-content:space-between;gap:25px;padding:28px 7vw;font-size:9px;letter-spacing:.07em;color:#81916d}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity 1s ease,transform 1.2s ease}.js .reveal.visible{opacity:1;transform:none}dialog{background:#0b0c0cf8;color:var(--paper);width:100vw;height:100svh;max-width:none;max-height:none;margin:0;border:0;padding:50px 20px}dialog::backdrop{background:#0b0c0c}dialog[open]{display:flex;align-items:center;justify-content:center;gap:20px}dialog img{max-height:85svh;max-width:80vw;object-fit:contain}dialog button{background:none;border:0;font-size:26px;padding:15px}.viewer-close{position:absolute;top:10px;right:20px}[hidden]{display:none!important}
@media(min-width:1700px){.history-body{max-width:550px}.section{padding-left:max(7vw,calc((100vw - 1600px)/2));padding-right:max(7vw,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.site-header{gap:18px}.site-header nav{gap:15px;font-size:10px}.brand{width:290px}.header-book{display:none}.hero{height:950px}.hero-plate{max-width:66vw}.hero h1{font-size:14vw}.history,.process-section,.atelier-content,.faq-section,.session-notes{gap:8%}.section-heading{grid-template-columns:1fr 2.6fr 1fr}.format{padding-right:20px}.format+.format{padding-left:20px}.format h3{font-size:28px}.format-size{font-size:42px}.format dd{font-size:21px}.contact-grid{gap:25px}.contact-links{font-size:14px}}
@media(max-width:760px){.section{padding:80px 6vw}.site-header{padding:23px 6vw;gap:14px}.brand{width:min(290px,54vw)}.header-book{display:none}.menu{display:block;background:none;border:0;font-size:11px;padding:6px 0}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 6vw;background:#10130f;border-bottom:1px solid #444d38;font-size:16px;gap:18px}.site-header nav.open{display:flex;flex-direction:column}.languages{font-size:10px}.hero{height:870px;max-height:none;min-height:100svh}.hero-plate{top:155px;height:490px;max-height:60%;max-width:78vw}.hero-heading{left:6vw;right:6vw;bottom:210px}.hero h1{font-size:14.2vw}.hero-floor{left:6vw;right:6vw;bottom:60px;gap:15px}.hero-floor>p{font-size:14px;max-width:65%}.orbit-link{gap:10px;font-size:9px;flex-direction:column-reverse;align-items:end;max-width:90px;text-align:right}.orbit-link b{width:50px;height:50px;font-size:25px}.scroll-cue{left:6vw;right:6vw;font-size:7px}.history{grid-template-columns:1fr;gap:45px}.date-mark{font-size:75px;margin-top:25px}.history-body{padding-top:0;max-width:none}.seal{display:none}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.section-heading>.micro{margin:0}.section-heading .aside{justify-self:start;max-width:280px}.process-section{grid-template-columns:1fr;gap:55px}.process-intro{position:static}.process-intro>p:not(.micro){max-width:none}.process-steps h3{font-size:28px}.atelier-image{height:72vw}.atelier-content{grid-template-columns:1fr;gap:35px;padding-top:35px}.formats{grid-template-columns:1fr}.format:nth-child(n){padding:30px 0;border-left:0}.format+.format{border-top:1px solid #3c4531}.format-size{font-size:50px;margin:25px 0}.format dd{font-size:25px}.format h3{font-size:35px}.format dl>div{padding:12px 0}.format dt{font-size:12px}.session-notes{grid-template-columns:1fr;gap:25px}.faq-section{grid-template-columns:1fr;gap:40px;padding-top:0}.faq-title{position:static}.contact-section h2{font-size:16vw}.contact-grid{grid-template-columns:1fr;gap:35px;margin-top:50px}.contact-links{font-size:18px}.contact-grid .micro{margin-bottom:12px}.contact-grid .line-link{font-size:12px}footer{padding:25px 6vw;flex-wrap:wrap;font-size:8px}dialog{padding:40px 0}dialog[open]{gap:0}dialog img{max-width:82vw}dialog button{padding:8px;font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-plate{animation:none}.js .reveal{opacity:1;transform:none;transition:none}.plate img,.orbit-link b{transition:none}}

.archer-portrait{max-width:360px;width:100%;margin-top:55px}.archer-portrait img{width:100%;height:auto}.archer-portrait figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:18px}
.archer-copy{margin-top:45px;padding-top:35px;border-top:1px solid var(--rule)}.archer-copy>.micro{color:var(--muted);margin-bottom:22px}.archer-copy h3{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.035em;margin-bottom:28px}.archer-copy h3 em{font-weight:400;color:var(--accent)}.archer-copy>p:not(.micro){font-size:14px;color:var(--muted);margin-top:22px}
@media(max-width:760px){.archer-portrait{max-width:280px;margin-top:35px}.archer-copy{margin-top:35px;padding-top:30px}.archer-copy h3{font-size:36px}}

.brand-location{display:block;text-align:center;color:var(--muted);white-space:nowrap;margin-top:12px}
@media(max-width:760px){.brand-location{font-size:8px;margin-top:10px}}

/* Refinement: readable type, a shorter introduction and an actual studio visit. */
body{font-size:16px;line-height:1.75}
h2{font-size:clamp(44px,5.1vw,78px)}
.micro{font-size:11px;letter-spacing:.13em}
.section{padding-top:105px;padding-bottom:105px}
.site-header{gap:22px}
.site-header nav{gap:19px;font-size:13px}
.site-header nav a{padding:10px 0;white-space:nowrap}
.languages{gap:2px;font-size:12px;align-items:center}
.languages a,.languages span{display:grid;place-items:center;min-width:30px;min-height:40px}
.languages [aria-current]{border-bottom:0;text-decoration:underline;text-underline-offset:7px}
.languages a{color:#a0a497}
.header-book{font-size:13px;white-space:nowrap;padding:10px 0}
.brand-location{font-size:10px;letter-spacing:.14em}
.hero-heading>.micro{font-size:12px}
.hero-floor{gap:30px}
.hero-floor>p{font-size:18px;max-width:460px}
.hero-actions{display:flex;align-items:center;gap:35px}
.booking-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;width:fit-content;padding:10px 0;border-bottom:1px solid #717961;color:var(--paper);font-size:14px;line-height:1.4;white-space:nowrap}
.booking-link:hover{color:#fff;border-color:#d0d5c7}
.orbit-link{font-size:12px;gap:17px}
.orbit-link b{width:53px;height:53px}
.scroll-cue{font-size:10px;color:#959e88}
.history{grid-template-columns:.9fr 1.1fr;gap:10%;padding-top:85px;padding-bottom:85px}
.history-title .micro{margin-bottom:26px}
.history-title h2{font-size:clamp(40px,4.5vw,64px)}
.history-body{padding-top:0;max-width:600px;font-size:16px}
.history-body>p+p{margin-top:20px}
.archer-details{margin-top:28px;padding:18px 0}
.archer-details summary{font-size:14px;align-items:center;min-height:32px}
.archer-story{display:grid;grid-template-columns:minmax(130px,.8fr) 1.2fr;gap:26px;padding-top:30px}
.archer-portrait{margin:0;max-width:none}
.archer-portrait figcaption{font-size:11px;line-height:1.6;margin-top:14px}
.archer-copy{padding:0;margin:0;border:0}
.archer-copy h3{font-size:29px;line-height:1.15;margin-bottom:20px;letter-spacing:-.025em}
.archer-copy>p:not(.micro){font-size:14px;line-height:1.75;margin-top:16px}
.section-heading{grid-template-columns:.75fr 2.1fr 1fr;margin-bottom:60px}
.section-heading .aside{font-size:13px;max-width:240px}
.gallery-section{padding-top:85px}
.line-link{font-size:14px;min-height:44px}
.process-section{display:block;background:#141811;padding-top:100px;padding-bottom:80px}
.process-heading{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:50px}
.process-heading .micro{color:var(--muted);margin-bottom:25px}
.process-lead{font:20px/1.65 Georgia,serif;color:#bbc3ae;max-width:480px;padding-bottom:5px}
.plate-preparation{display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:center;max-width:900px;margin:0 0 65px auto;padding-top:30px;border-top:1px solid #353e2d}
.darkroom-frame{aspect-ratio:4/5;overflow:hidden}
.darkroom-frame img{width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:saturate(.72) brightness(.88)}
.plate-preparation h3{font-size:30px;margin-bottom:18px}
.plate-preparation p{font-size:15px;color:#adb89e;max-width:660px}
.process-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:0}
.process-frame{aspect-ratio:3/4;overflow:hidden;margin-bottom:28px;background:#10130e}
.process-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.process-camera img{object-position:center 46%}
.process-bath img{object-position:center 48%}
.process-plate img{object-position:center 54%}
.process-card h3{font-size:31px;line-height:1.12;margin-bottom:19px;color:#d3d7c8}
.process-card>p{font-size:15px;line-height:1.8;color:#adb89e}
.process-section>.process-footnote{margin-top:45px;padding-top:24px;border-top:1px solid #353e2d;font-size:13px;color:#96a386;max-width:760px}
.atelier-content{padding-top:50px}
.atelier-content h2{font-size:clamp(42px,4.8vw,72px)}
.atelier-body p{font-size:16px}
.sessions .section-heading{grid-template-columns:.75fr 2fr 1fr}
.sessions .section-heading h2{font-size:clamp(40px,4.5vw,66px)}
.format>.micro{font-size:12px;color:#a2ae92}
.format dt{font-size:13px;color:#acb69e}
.format dd{font-size:27px}
.session-notes{font-size:15px;color:#a9b39a}
.session-notes .booking-link{margin-top:24px}
.faq-section{padding-top:30px}
.faq-title h2{font-size:clamp(40px,4.6vw,68px)}
summary{font-size:16px;align-items:center}
details p{font-size:15px;line-height:1.8;color:#adb89e}
.contact-section{padding-top:95px;padding-bottom:70px}
.contact-section h2{font-size:clamp(56px,8vw,116px)}
.contact-grid{margin-top:60px;grid-template-columns:1fr 1.15fr 1fr;gap:35px}
.contact-grid .micro{font-size:11px;color:#a1af8e}
.contact-grid p:not(.micro){font-size:15px}
.contact-links{font-size:18px;gap:18px}
.contact-links a{min-height:32px}
.contact-grid .line-link{font-size:14px}
.booking-note{margin-bottom:18px;color:#abb59b}
footer{font-size:11px;letter-spacing:.03em}
#booking{scroll-margin-top:35px}
@media(min-width:1101px) and (max-width:1450px){.brand{width:300px}.site-header{gap:18px}.site-header nav{font-size:12px;gap:15px}.header-book{font-size:12px}.hero-actions{gap:22px}.hero-floor>p{font-size:17px;max-width:420px}}
@media(max-width:1100px){
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 6vw;background:#10130f;border-bottom:1px solid #444d38;font-size:16px;gap:10px}
 .site-header nav.open{display:flex;flex-direction:column}.site-header nav a{padding:6px 0}
 .menu{display:block;background:none;border:0;font-size:14px;padding:10px 4px;min-height:44px}.header-book{display:none}
 .hero-actions{gap:20px}.hero-floor>p{max-width:380px;font-size:17px}.orbit-link{gap:12px;max-width:185px}
 .process-story{gap:23px}.process-card h3{font-size:27px}.process-card>p{font-size:15px}
 .section-heading,.sessions .section-heading{grid-template-columns:.7fr 2fr 1fr;gap:25px}
 .format dd{font-size:25px}.contact-links{font-size:16px}
}
@media(max-width:760px){
 .section{padding:72px 6vw}.site-header{padding:20px 6vw;gap:10px}.brand{width:min(290px,53vw)}.brand-location{font-size:9px;letter-spacing:.1em}
 .languages{font-size:11px;gap:0}.languages a,.languages span{min-width:25px;min-height:44px}.menu{font-size:12px;padding:10px 2px}
 .micro{font-size:11px;letter-spacing:.12em}.hero{height:max(820px,100svh);min-height:820px}.hero-plate{top:140px;height:455px;max-height:56%;max-width:80vw}
 .hero-heading{bottom:220px}.hero-heading>.micro{font-size:10px}.hero h1{font-size:14.1vw;line-height:1.05}
 .hero-floor{display:block;bottom:65px}.hero-floor>p{font-size:16px;max-width:100%;line-height:1.6;margin-bottom:24px}
 .hero-actions{gap:20px;justify-content:space-between;align-items:center}
 .orbit-link{flex-direction:row;align-items:center;text-align:left;font-size:11px;gap:10px;max-width:155px}.orbit-link b{width:38px;height:38px;font-size:22px}
 .scroll-cue{font-size:9px;bottom:20px}
 .history{grid-template-columns:1fr;gap:28px;padding-top:60px;padding-bottom:60px}.history-title .micro{margin-bottom:20px}.history-title h2{font-size:42px}
 .history-body{font-size:16px}.archer-details{margin-top:25px}.archer-details summary{font-size:14px;line-height:1.5;min-height:44px}
 .archer-story{grid-template-columns:1fr;gap:28px;padding-top:25px}.archer-portrait{max-width:220px}.archer-copy h3{font-size:30px}.archer-copy>p:not(.micro){font-size:15px}
 .section-heading,.sessions .section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.section-heading .aside{max-width:290px;font-size:13px}
 .section-heading h2{font-size:47px}.gallery-section{padding-top:55px}#more{margin-top:55px;width:100%;max-width:280px}
 .process-heading{grid-template-columns:1fr;gap:28px;margin-bottom:35px}.process-heading h2{font-size:47px}.process-heading .micro{margin-bottom:22px}.process-lead{font-size:19px;padding:0}
 .plate-preparation{grid-template-columns:95px 1fr;gap:20px;align-items:start;padding-top:25px;margin:0 0 42px}.darkroom-frame{aspect-ratio:3/4}.plate-preparation h3{font-size:25px;line-height:1.15;margin-bottom:15px}.plate-preparation p{font-size:14px;line-height:1.8}
 .process-story{grid-template-columns:1fr;gap:40px}.process-frame{aspect-ratio:4/3;margin-bottom:23px}.process-card h3{font-size:31px;margin-bottom:16px}.process-card>p{font-size:16px;line-height:1.75}.process-section>.process-footnote{font-size:13px;margin-top:35px}
 .atelier-content{padding-top:35px}.atelier-content h2{font-size:46px}.atelier-body p{font-size:16px}.atelier-image{height:75vw}
 .sessions .section-heading h2{font-size:43px}.format h3{font-size:34px}.format dt{font-size:14px}.format dd{font-size:28px}.session-notes{font-size:15px;gap:28px}
 .faq-section{padding-top:10px}.faq-title h2{font-size:43px}summary{font-size:16px;line-height:1.55}details p{font-size:15px}
 .contact-section{padding-top:70px}.contact-section h2{font-size:13.8vw;line-height:1.08}.contact-section>.micro{margin-bottom:30px}.contact-grid{grid-template-columns:1fr;gap:30px;margin-top:40px;padding-top:28px}.contact-links{font-size:18px;gap:12px}.contact-links a{min-height:40px}.contact-grid .micro{font-size:11px}.contact-grid p:not(.micro){font-size:15px}.contact-grid .line-link{font-size:14px}footer{font-size:10px;line-height:1.6}
}
@media(max-width:360px){.brand{width:51vw}.site-header{gap:6px}.languages a,.languages span{min-width:23px}.hero-actions{gap:12px}.orbit-link{font-size:10px;gap:8px}.orbit-link b{width:34px;height:34px}.plate-preparation{grid-template-columns:1fr}.darkroom-frame{width:110px;aspect-ratio:4/5}.process-frame{aspect-ratio:1/1}}


/* Keep the darkroom photograph small, and give the explanation room to read. */
@media(max-width:760px){
 .section-heading,.sessions .section-heading,.process-heading{grid-template-columns:minmax(0,1fr)}
 .section-heading>*,.process-heading>*{min-width:0}
 .section-heading h2,.process-heading h2{font-size:clamp(35px,12vw,47px)}
 .sessions .section-heading h2{font-size:clamp(35px,12vw,43px)}
 .plate-preparation{grid-template-columns:96px minmax(0,1fr);column-gap:22px;row-gap:22px}
 .plate-preparation>div{display:contents}
 .plate-preparation .darkroom-frame{grid-column:1;grid-row:1;width:100%;aspect-ratio:4/5}
 .plate-preparation h3{grid-column:2;grid-row:1;align-self:center;font-size:27px;margin:0}
 .plate-preparation p{grid-column:1/-1;margin:0;font-size:16px;line-height:1.75}
 .process-frame{aspect-ratio:4/5}
}
@media(max-width:360px){
 .plate-preparation{grid-template-columns:90px minmax(0,1fr);column-gap:18px}
 .plate-preparation h3{font-size:26px}
}

/* White glass, a milky negative, then the fixed positive. The original plate
   remains intact; all development effects are temporary presentation layers. */
.hero-plate:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:url('assets/12.webp') center/contain no-repeat;opacity:0;filter:invert(1) grayscale(1) contrast(.62) brightness(1.08);animation:plate-negative 8s linear both}
@keyframes plate-arrival{from{opacity:0;transform:translate(-50%,28px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes plate-stock{
 0%,48%{background-color:#ebe8df}
 72%{background-color:#53574c}
 100%{background-color:transparent}
}
@keyframes plate-negative{
 0%,12%{opacity:0;filter:invert(1) grayscale(1) contrast(.38) brightness(1.15)}
 34%,52%{opacity:.82;filter:invert(1) grayscale(1) contrast(.62) brightness(1.08)}
 70%{opacity:.3;filter:invert(1) grayscale(1) contrast(.62) brightness(1.08)}
 86%,100%{opacity:0;filter:invert(1) grayscale(1) contrast(.62) brightness(1.08)}
}
@keyframes plate-positive{
 0%,48%{opacity:0;filter:brightness(1.03) contrast(.7);mask-size:12% 16%;-webkit-mask-size:12% 16%}
 52%{opacity:.12;filter:brightness(1.03) contrast(.7);mask-size:35% 40%;-webkit-mask-size:35% 40%}
 66%{opacity:.85;filter:brightness(.91) contrast(.9);mask-size:150% 170%;-webkit-mask-size:150% 170%}
 84%{opacity:1;filter:brightness(.85) contrast(1);mask-size:320% 340%;-webkit-mask-size:320% 340%}
 100%{opacity:1;filter:brightness(.85) contrast(1);mask-size:360% 380%;-webkit-mask-size:360% 380%}
}
@media(prefers-reduced-motion:reduce){
 .hero-plate{animation:none;opacity:1;background-color:transparent}
 .hero-plate img{animation:none;opacity:1;filter:brightness(.85);mask-image:none;-webkit-mask-image:none}
 .hero-plate:before{animation:none;opacity:0}
}

/* Audit fixes: let the plate fit independently of the viewer controls. */
#lightbox{width:100%;height:100svh;padding:64px 24px;overflow:hidden}
#lightbox[open]{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);gap:20px;align-items:center}
#lightbox .viewer-stage{position:relative;grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;width:100%;height:100%;min-width:0;min-height:0;isolation:isolate}
#lightbox #full{position:relative;grid-area:1/1;min-width:0;min-height:0;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-y;user-select:none}
#lightbox #previous-plate{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0;visibility:hidden;pointer-events:none;user-select:none}
#lightbox .is-fading #previous-plate{visibility:visible;will-change:opacity}
#lightbox .is-fading #full{will-change:opacity}
#lightbox button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;font-size:28px;line-height:1;color:var(--paper)}
#lightbox #prev{grid-column:1;grid-row:1}
#lightbox #next{grid-column:3;grid-row:1}
#lightbox #close{position:absolute;top:12px;right:16px;font-size:30px}

.scroll-cue{color:#929b87}
.brand-location{font-size:11px}
.hero-heading>.micro{font-size:12px}
.inline-link{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#717961}
.inline-link:hover{text-decoration-color:var(--paper);color:var(--paper)}
.map-link{margin-top:15px}
@media(max-width:760px){
 #lightbox{padding:64px 12px 16px}
 #lightbox[open]{grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr) 44px;gap:12px}
 #lightbox .viewer-stage{grid-column:1/-1;grid-row:1}
 #lightbox #prev,#lightbox #next{grid-row:2}
 
 .brand-location{font-size:10px;letter-spacing:.09em}
 .hero-heading>.micro{font-size:11px}
 .scroll-cue{font-size:10px;letter-spacing:.1em}
}

@media(prefers-reduced-motion:reduce){
 #lightbox #previous-plate{display:none}
}

/* Keep an already-cached page usable while its new markup is loading. */
#lightbox>#full{grid-column:2;grid-row:1;justify-self:center;max-height:calc(100svh - 128px)}
@media(max-width:760px){#lightbox>#full{grid-column:1/-1;max-height:calc(100svh - 136px)}}
