/* Kenneth R. Turner — krturnerfineart.com
   Every value here comes from the design component (handoff/design/Kenneth R Turner v2.dc.html) and README §5.
   No shadows, no gradients, no cards, no radius on images. Hairlines only. */

:root{
  --white:#FFFFFF; --plaster:#F3F3F1; --plate-hover:#ECECEA; --row-hover:#F7F7F5; --rule:#D9D9D6; --scale:#C7C7C2;
  --ink:#111111; --ink2:#5C5C58; --dark:#14181D; --dark-text:#E9E7E1; --dark-meta:#A9ADB3; --disabled:#6B7178; --signal:#C8102E;
  --gutter:clamp(20px,5vw,96px);
  /* Content is capped at 1280px (the paintings are 1200px sources). --side is the larger of the gutter and half the leftover, so the header, every section and the footer share one left edge at every width. */
  --max:1280px;
  --side:max(var(--gutter), calc((100% - var(--max)) / 2));
  --display:'Libre Caslon Display',Georgia,'Times New Roman',serif;
  --text:'Libre Caslon Text',Georgia,'Times New Roman',serif;
  --sans:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html,body{margin:0;background:var(--white);color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty}
*{box-sizing:border-box}
body{font-family:var(--sans);font-size:13px;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink2)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea{font:inherit;color:var(--ink)}
img{display:block}
em{font-style:italic}
[hidden]{display:none!important}
.skip{position:absolute;left:var(--side);top:-40px;background:var(--white);padding:8px 12px;z-index:60;text-decoration:none}
.skip:focus{top:8px}

/* Signature motion: the painting lights up as it enters the viewport. Archival photographs stay black-and-white. */
img[data-reveal]{filter:brightness(.55);transition:filter 900ms var(--ease)}
img[data-reveal="on"]{filter:brightness(1)}
img[data-reveal][data-archival]{filter:grayscale(1) contrast(1.12) brightness(.5)}
img[data-reveal="on"][data-archival]{filter:grayscale(1) contrast(1.12) brightness(.98)}
/* Text blocks rise in as they enter. Hidden only when JS is running and motion is allowed; site.js animates them in. */
.js:not(.no-motion) [data-rise]{opacity:0}

/* ---- Type ---- */
.h1{font-family:var(--display);font-weight:400;font-size:clamp(36px,4.5vw,64px);letter-spacing:-0.015em;line-height:1.05;margin:0}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-0.015em;line-height:1.05;margin:0}
.h2-sub{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:-0.015em;line-height:1.1;max-width:14ch;margin:0}
.body{font-family:var(--text);font-size:18px;line-height:1.6;max-width:64ch;display:grid;gap:20px}
.body p{margin:0}
.ledger-val{font-family:var(--text);font-size:17px;line-height:1.5}
.tomb{line-height:1.45}
.tomb-title{font-family:var(--text);font-style:italic;font-size:16px;font-weight:400;margin:0}
.meta{color:var(--ink2)}
.quote{margin:0}
.quote p{margin:0;font-family:var(--text);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-0.005em;max-width:28ch}
.quote footer{margin-top:12px;font-family:var(--sans);font-size:13px;color:var(--ink2)}
/* Standalone action link: ink, no underline, ends in an arrow; underline on hover. */
.action{text-decoration:none}
.action:hover{text-decoration:underline}
/* Selection control: selected = ink + 500, unselected = ink-2 + 400. No underline. 48px touch target at unchanged visual size. */
.sel{padding:14px 0;margin:-14px 0;font-weight:400;color:var(--ink2)}
.sel:hover{color:var(--ink)}
.sel.is-on{font-weight:500;color:var(--ink)}

/* ---- Layout ---- */
.page{padding:16px var(--side) clamp(72px,9vw,128px)}
.two-col{display:grid;grid-template-columns:1fr;gap:24px 48px}
.rule{height:1px;background:var(--rule)}
.ledger{display:grid;grid-template-columns:1fr;gap:6px 24px;margin:0}
.ledger dt{color:var(--ink2)}
.ledger dd{margin:0}
.ledger .opts{display:grid;gap:8px}
.ledger .opts-tier{gap:10px}
@media(min-width:600px){.ledger{grid-template-columns:132px 1fr}}
@media(min-width:900px){.two-col{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:1px solid transparent;transform:translateY(0);transition:transform 280ms var(--ease);display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px var(--side) 24px;flex-wrap:wrap}
.site-header.is-scrolled{border-bottom-color:var(--rule)}
.site-header.is-hidden{transform:translateY(-100%)}
.wordmark{font-family:var(--display);font-size:22px;letter-spacing:-0.01em;text-decoration:none}
.nav-desktop{display:none;gap:28px;font-size:13px}
.nav-desktop a{text-decoration:none;color:var(--ink2)}
.nav-desktop a.is-active{color:var(--ink)}
.menu-btn{font-size:13px;padding:14px 0;margin:-14px 0}
.nav-mobile{display:grid;gap:18px;padding:8px var(--side) 32px;font-family:var(--display);font-size:28px;border-bottom:1px solid var(--rule)}
.nav-mobile a{text-decoration:none}
@media(min-width:900px){.nav-desktop{display:flex}.menu-btn{display:none}.nav-mobile{display:none!important}}

/* ---- Home hero: text block first (eyebrow, one-line title, sub, one button), then the painting, then a one-line caption. ---- */
.home-hero{padding:32px var(--side) 0}
.hero-eyebrow{margin:0}
.hero-title{font-family:var(--display);font-weight:400;font-size:clamp(36px,9.6vw,56px);letter-spacing:-0.02em;line-height:1.05;margin:12px 0 0}
.hero-sub{font-family:var(--text);font-size:17px;line-height:1.6;color:var(--ink);margin:16px 0 0}
.hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px}
.hero-cta .btn-fill{width:100%;height:48px}
.hero-secondary{font-family:var(--sans);font-size:13px;color:var(--ink);text-decoration:none}
.hero-secondary:hover{text-decoration:underline}
.hero-link{display:block;width:100%;margin-top:40px;text-decoration:none;transition:opacity 150ms}
.hero-link:hover{opacity:.9}
.hero-link img{width:100%;height:auto}
.hero-caption{margin:10px 0 0}
.home-intro{margin-top:64px;padding-top:40px;border-top:1px solid var(--rule);scroll-margin-top:110px}
.home-intro .h2{max-width:12ch}
/* The one filled button on the site: ink fill, white label, square corners, no shadow. */
.btn-fill{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;background:var(--ink);color:var(--white);font-family:var(--sans);font-size:14px;line-height:1;letter-spacing:0.01em;border-radius:0;text-decoration:none;white-space:nowrap;transition:background 150ms}
.btn-fill:hover{background:#2A2A28;color:var(--white)}
.btn-fill:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(min-width:768px){
  .home-hero{padding-top:48px}
  .hero-title{font-size:clamp(56px,calc(2.87vw + 42px),96px);line-height:1;margin-top:16px;white-space:nowrap}
  .hero-sub{font-size:18px;margin-top:24px}
  .hero-cta{flex-direction:row;align-items:center;gap:24px;margin-top:32px}
  .hero-cta .btn-fill{width:auto;height:44px}
  .hero-link{margin-top:64px}
  .hero-caption{margin-top:12px}
  .home-intro{margin-top:96px}
}
@media(min-width:1024px){
  .home-hero{padding-top:56px}
  .hero-sub{max-width:737px}
}
.divider{padding:clamp(72px,9vw,140px) var(--side) clamp(40px,5vw,72px)}

/* The Hang Line: four canvases at one shared height, widths following each canvas's own proportions. Equal height, not relative scale. */
.hang{padding:0 var(--side) clamp(80px,10vw,160px)}
.hang-set{display:grid;gap:48px 40px;grid-template-columns:1fr}
.hang-img{display:block;width:100%;text-decoration:none}
.hang-img img{width:100%;height:auto}
.hang-tomb{margin-top:14px;line-height:1.45}
.hang-blurb{margin:14px 0 0;font-family:var(--text);font-size:15px;line-height:1.5;color:var(--ink)}
.hang-more{margin:48px 0 0}
@media(min-width:900px){.hang-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){
  /* Shared height = min(420, max(220, 24vw)), scaled down if the natural row would exceed the available width. 6.2279 = the sum of the four aspect ratios. */
  .hang{--hang-h:min(420px,max(220px,24vw),calc((min(100vw - 2 * var(--gutter), var(--max)) - 140px) / 6.2279))}
  .hang-set{grid-template-columns:repeat(4,auto);grid-template-rows:var(--hang-h) auto;grid-auto-flow:column;justify-content:space-between;align-items:center;gap:22px 40px}
  .hang-item{display:contents}
  .hang-img{width:calc(var(--hang-h) * var(--r))}
  .hang-img img{width:calc(var(--hang-h) * var(--r));height:var(--hang-h);object-fit:contain}
  .hang-tomb{margin-top:0;width:calc(var(--hang-h) * var(--r));align-self:start}
  .hang-tomb .tomb-title{min-height:2.9em}
  .hang-tomb .meta{min-height:calc(3 * 1.45em)}
}

/* The Dark Room: the one dark section on the site. */
.dark-room{background:var(--dark);color:var(--dark-text);padding:clamp(72px,9vw,128px) var(--side);display:grid;gap:56px;grid-template-columns:1fr;align-items:center;justify-content:center;justify-items:center}
.dark-room .ashes{display:block;width:100%;max-width:560px;text-decoration:none}
.dark-room .ashes img{width:100%;height:auto}
.dark-copy{max-width:36ch;width:100%}
.dark-quote{margin:0;font-family:var(--text);font-style:italic;font-size:clamp(28px,3.2vw,44px);line-height:1.2;letter-spacing:-0.005em}
.dark-attr{margin:24px 0 0;color:var(--dark-meta);line-height:1.5}
.dark-tomb{margin-top:48px;color:var(--dark-meta);line-height:1.45}
.dark-tomb .tomb-title{color:var(--dark-text)}
.dark-tomb a{color:var(--dark-text);display:inline-block;margin-top:14px}
.dark-doc{margin-top:56px;max-width:260px}
.dark-doc img{width:100%;height:auto}
.dark-doc div{margin-top:12px;color:var(--dark-meta);line-height:1.45}
@media(min-width:900px){.dark-room{grid-template-columns:minmax(0,560px) minmax(0,420px)}}

.home-sections{padding:64px var(--side) clamp(72px,9vw,128px);display:grid;gap:64px}
/* The artist: the thesis line opens the section at .h2 size, breaking after "research"; no rule between it and the two-column block. */
.artist{display:grid;gap:48px}
.statement{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-0.015em;line-height:1.05;max-width:600px;margin:0}
@media(max-width:767.98px){.statement{line-height:1.15;max-width:none}}
.voices{display:grid;gap:44px;max-width:64ch}

/* ---- Works ---- */
.works .h1{margin:0 0 40px}
.filters{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:48px}
.filters-list{display:flex;flex-wrap:wrap;gap:8px 20px}
.filters-view{display:flex;gap:20px;color:var(--ink2)}
.works-grid{display:grid;grid-template-columns:1fr;gap:64px 40px}
@media(min-width:600px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* The catalogue plate: a plaster field at 4:3 with the painting contained inside it. Uniform plates keep rows aligned regardless of canvas shape. */
.plate{display:block;width:100%;background:var(--plaster);aspect-ratio:4/3;position:relative;overflow:hidden;cursor:pointer;transition:background 150ms;text-decoration:none}
.plate:hover{background:var(--plate-hover)}
.plate img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain}
.tile-meta{margin-top:14px;line-height:1.45}
.works-table{width:100%;border-collapse:collapse;table-layout:fixed}
.works-table th{font-weight:400;padding:0 16px 12px 0;border-bottom:1px solid var(--rule);text-align:left;color:var(--ink2)}
.works-table td{padding:14px 16px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink2)}
.works-table th:last-child,.works-table td:last-child{padding-right:0}
.works-table tbody tr{transition:background 150ms}
.works-table tbody tr:hover{background:var(--row-hover)}
.works-table td a{font-family:var(--text);font-style:italic;font-size:16px;text-decoration:none}
.works-table td a:hover{text-decoration:underline}
.works-table td .meta{margin-top:2px}
.works-table .dims{font-variant-numeric:tabular-nums}
.works-stack{display:grid;border-top:1px solid var(--rule)}
.works-stack a{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none;line-height:1.45}
.works-stack .st-title{font-family:var(--text);font-style:italic;font-size:17px}
.works[data-view="grid"] .works-table,.works[data-view="grid"] .works-stack{display:none}
.works[data-view="list"] .works-grid{display:none}
@media(min-width:720px){.works[data-view="list"] .works-stack{display:none}}
@media(max-width:719.98px){.works[data-view="list"] .works-table{display:none}}

/* ---- Work page ---- */
.work{padding:8px var(--side) clamp(72px,9vw,128px)}
.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:12px 24px}
.pager-back{justify-self:start;color:var(--ink2);text-decoration:none;padding:12px 0;margin:-12px 0;white-space:nowrap}
.pager-back:hover{color:var(--ink)}
.pager-pos{justify-self:center;color:var(--ink2);white-space:nowrap}
.pager-nav{justify-self:end;display:flex;gap:12px;align-items:baseline;color:var(--ink2)}
.pager-nav a{text-decoration:none;padding:12px 0;margin:-12px 0}
.pager-nav a:hover{text-decoration:underline}
.work-figure{margin-top:32px;display:grid;place-items:center}
.work-figure button{display:block;cursor:zoom-in;max-width:100%}
.work-figure img{max-width:100%;max-height:85vh;width:auto;height:auto}
.work-body{margin-top:40px;display:grid;grid-template-columns:1fr;gap:56px 64px;align-items:start}
.work-main{min-width:0}
.story{margin-top:40px}
.ledger-block{margin-top:56px;padding-top:36px;border-top:1px solid var(--rule);display:grid;gap:28px}
.ledger-block dd img{width:260px;max-width:100%;height:auto;margin-top:12px}
.archive{margin:28px 0 0}
.archive dd{max-width:420px}
.archive img{width:100%;height:auto}
.archive .cap{margin-top:12px;color:var(--ink2);line-height:1.45}
.rail{min-width:0;position:static;top:104px;display:grid;gap:26px;padding-top:24px;border-top:1px solid var(--rule);scroll-margin-top:110px}
.btn-fill + .acquire-note{margin-top:12px}
.opt{font-family:var(--text);font-size:17px;padding:10px 0;margin:-10px 0;text-align:left;font-weight:400;color:var(--ink2)}
.opt:hover{color:var(--ink)}
.opt.is-on{font-weight:500;color:var(--ink)}
.tier-row{display:flex;flex-wrap:wrap;gap:2px 14px;align-items:baseline}
.tier-row span{color:var(--ink2)}
.scale-photo{width:100%;height:auto}
.scale-wall{position:relative;width:100%;max-width:320px;background:var(--plaster);overflow:hidden}
.scale-sofa{position:absolute;left:50%;bottom:0;transform:translateX(-50%);border:1px solid var(--scale);border-bottom:0;transition:width 350ms var(--ease),height 350ms var(--ease)}
.scale-floor{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--scale)}
.scale-print{position:absolute;left:50%;transform:translateX(-50%);background:var(--white);border:1px solid var(--ink);transition:width 350ms var(--ease),height 350ms var(--ease),bottom 350ms var(--ease)}
.scale-cap{margin-top:10px;color:var(--ink2);line-height:1.45}
.acquire-note{margin-top:8px;font-family:var(--sans);font-size:13px;color:var(--ink2);line-height:1.45}
.related{margin-top:96px;padding-top:40px;border-top:1px solid var(--rule)}
.related-label{color:var(--ink2);margin-bottom:28px}
.related-grid{display:grid;grid-template-columns:1fr;gap:40px}
.related-grid .tile-meta{margin-top:12px}
.work-mail{margin:56px 0 0;font-family:var(--text);font-size:18px}
@media(min-width:600px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.work-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.rail{position:sticky}}

/* ---- About ---- */
.about .h1{margin:0 0 56px}
.br-md{display:none}
@media(min-width:768px){.br-md{display:inline}}
.about-sections{margin-top:clamp(64px,8vw,112px);display:grid;gap:56px}
.chron{margin-top:clamp(72px,9vw,128px)}
.chron .h2{margin:0 0 40px}
.chron-sub{margin:-24px 0 40px;color:var(--ink2);max-width:56ch}
.chron-list{display:grid;gap:14px;border-top:1px solid var(--rule);padding-top:16px;margin:0}
.chron-item{display:grid;grid-template-columns:1fr;gap:6px 24px}
.chron-item dt{color:var(--ink2)}
.chron-item dd{margin:0;font-family:var(--text);font-size:17px;line-height:1.5}
@media(min-width:600px){.chron-item{grid-template-columns:132px 1fr}}
@media(min-width:1180px){
  .chron-list{grid-template-columns:repeat(8,minmax(0,1fr));gap:32px}
  .chron-item{display:block;line-height:1.45}
  .chron-item dt{color:var(--ink)}
  .chron-item dd{color:var(--ink2);margin-top:6px;font-family:var(--sans);font-size:13px;line-height:1.45}
}
.about-close{margin-top:clamp(72px,9vw,128px);display:grid;gap:64px}
.recog{font-family:var(--text);font-size:17px;line-height:1.5;max-width:64ch;display:grid;gap:14px}
.recog p{margin:0}
.quote-inline{margin:0}
.quote-inline p{margin:0;color:var(--ink2);font-style:italic}
.quote-inline footer{margin-top:8px;font-family:var(--sans);font-size:13px;color:var(--ink2)}
.quote-closing{margin:0;padding:40px 0 0;border-top:1px solid var(--rule);font-family:var(--text)}
.quote-closing p{margin:0;font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-0.005em;max-width:28ch}
.quote-closing footer{margin-top:16px;font-family:var(--sans);font-size:13px;color:var(--ink2)}
.about-cta{margin:0;font-family:var(--text);font-size:18px}

/* ---- Commissions ---- */
.commissions .h1{margin:0 0 56px}
.comm-examples{margin-top:clamp(56px,7vw,96px);padding-top:40px;border-top:1px solid var(--rule)}
.comm-two{display:grid;grid-template-columns:1fr;gap:48px 40px;margin-top:40px}
.comm-text{margin:14px 0 0;font-family:var(--text);font-size:16px;line-height:1.55}
.comm-link{margin:14px 0 0;font-family:var(--text);font-size:16px}
.comm-six{margin-top:clamp(48px,6vw,72px);padding-top:36px;border-top:1px solid var(--rule)}
.comm-six-label{color:var(--ink2);margin-bottom:24px}
.comm-six-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
.comm-six-title{margin-top:12px;font-family:var(--text);font-style:italic;font-size:15px;line-height:1.4}
@media(min-width:760px){.comm-six-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.comm-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.comm-six-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.form-h2{margin:clamp(56px,7vw,96px) 0 0}
.form-intro{margin:14px 0 0;font-family:var(--text);font-size:17px;line-height:1.6;max-width:64ch}
.form-wrap{margin-top:32px;padding-top:36px;border-top:1px solid var(--rule);max-width:720px}
.form{display:grid;gap:24px}
.form label{display:grid;gap:8px}
.form label span span{color:var(--ink2)}
.form input,.form textarea{background:var(--plaster);border:1px solid var(--plaster);border-radius:0;padding:12px 14px;font-size:15px;min-width:0;width:100%}
.form textarea{resize:vertical}
.form .is-invalid{border-color:var(--signal)}
.form-err{margin:0;color:var(--signal)}
.btn{border:1px solid var(--ink);padding:12px 22px;border-radius:0;font-size:13px}
.btn:disabled{color:var(--ink2);border-color:var(--ink2);cursor:default}
.sent{display:grid;gap:20px}
.sent p{margin:0;font-family:var(--text);font-size:18px;line-height:1.6}
.composed{background:var(--plaster);padding:20px;white-space:pre-wrap;font-family:var(--text);font-size:16px;line-height:1.6}
.sent-actions{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}

/* ---- Contact ---- */
.contact .h1{margin:0 0 40px}
.contact-lead{margin:0 0 48px;font-family:var(--text);font-size:18px;line-height:1.6;max-width:56ch}
.contact-block{display:grid;gap:18px;max-width:720px;padding-top:36px;border-top:1px solid var(--rule)}

/* ---- Footer ---- */
.site-footer{border-top:1px solid var(--rule);padding:48px var(--side) 64px;display:grid;grid-template-columns:1fr;gap:32px 48px;color:var(--ink2);line-height:1.6}
.wordmark-f{font-family:var(--display);font-size:22px;color:var(--ink)}
.site-footer .addr{margin-top:8px}
.site-footer .addr a{color:var(--ink2)}
.footer-nav{display:grid;gap:8px;align-content:start}
.footer-nav a{justify-self:start;color:var(--ink2);text-decoration:none}
.footer-nav a:hover{color:var(--ink)}
.footer-tag{display:grid;gap:14px;align-content:start}
.footer-tag p{margin:0;max-width:46ch}
.footer-tag .tagline{font-family:var(--text);font-size:16px;color:var(--ink)}
@media(min-width:900px){.site-footer{grid-template-columns:minmax(0,1.1fr) minmax(0,0.7fr) minmax(0,1.4fr)}}

/* ---- The Lens ---- */
.lens{position:fixed;inset:0;z-index:50;background:var(--dark);color:var(--dark-text);display:flex;flex-direction:column}
.lens-bar{display:flex;justify-content:space-between;align-items:baseline;padding:20px var(--gutter);gap:12px 24px;flex-wrap:wrap}
.lens-bar > div{display:flex;gap:20px;align-items:baseline}
.lens-bar .left{color:var(--dark-meta)}
.lens-bar button{padding:12px 0;margin:-12px 0;color:var(--dark-text)}
.lens-bar button:disabled{color:var(--disabled);cursor:default}
.lens-stage{flex:1;overflow:hidden;position:relative;cursor:zoom-in;touch-action:none}
.lens-stage.is-zoomed{cursor:grab}
.lens-stage.is-dragging{cursor:grabbing}
.lens-stage img{position:absolute;left:50%;top:50%;max-width:none;height:auto;transform:translate(-50%,-50%);transform-origin:center;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
.lens-foot{padding:20px var(--gutter) 28px;color:var(--dark-meta);line-height:1.45;max-width:640px}
.lens-foot .tomb-title{color:var(--dark-text)}

/* ---- 404 ---- */
.notfound{padding:16px var(--side) clamp(72px,9vw,128px)}
.notfound .h1{margin:0 0 24px}

/* ---- Reduced motion: no animation, no transition, no reveal filter. ---- */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  img[data-reveal]{filter:none}
  img[data-reveal][data-archival]{filter:grayscale(1) contrast(1.12)}
  [data-rise]{opacity:1!important;transform:none!important}
}
