:root{--linen:#f3ecdd;--paper:#fbf7ec;--ink:#22201a;--gilt:#8a6d1f;--gilt-deep:#6e5617;--viridian:#3d5245;--umber:#6b6353;--wall-night:#201d19;--linen-night:#e8e2d3;--wall:var(--linen);--label-paper:var(--paper);--text:var(--ink);--text-muted:var(--umber);--accent:var(--gilt);--frame:var(--gilt-deep);--hairline:color-mix(in srgb, var(--text) 75%, transparent);--hairline-faint:color-mix(in srgb, var(--text) 30%, transparent);--serif-display:"Didot", "Bodoni 72", "Playfair Display", Georgia, serif;--serif-text:"Baskerville", "Libre Baskerville", Georgia, serif;--label-tracking:.18em;font-family:var(--serif-text);color:var(--text);background:var(--wall);line-height:1.5}@media (prefers-color-scheme:dark){:root{--wall:var(--wall-night);--text:var(--linen-night);--text-muted:color-mix(in srgb, var(--linen-night) 65%, transparent);--accent:#b1904a}}*{box-sizing:border-box}body{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.loss-chart{width:min(30rem,92vw);margin:0;position:relative}.loss-chart figcaption{text-align:left;flex-direction:column;gap:.15rem;margin-bottom:.6rem;display:flex}.chart-title{font-family:var(--serif-display);font-size:1.05rem}.chart-caption{color:var(--text-muted);font-size:.8rem;font-style:italic}.loss-chart svg{touch-action:none;width:100%;height:auto;display:block}.loss-chart .grid{stroke:var(--hairline-faint);stroke-width:1px}.loss-chart .tick{fill:var(--text-muted);font-family:var(--serif-text);font-size:10px}.loss-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round}.loss-chart .series-label{fill:var(--text);font-family:var(--serif-text);font-size:11px;font-style:italic}.loss-chart .crosshair{stroke:var(--hairline);stroke-width:1px;stroke-dasharray:2 3}.loss-chart .dot{stroke:var(--wall);stroke-width:2px}.tooltip{background:var(--label-paper);color:var(--ink);border:1px solid var(--hairline-faint);text-align:left;pointer-events:none;flex-direction:column;gap:.1rem;padding:.45rem .7rem;font-size:.72rem;display:flex;position:absolute;top:.2rem;right:0}.tooltip i{border-radius:50%;width:8px;height:8px;margin-right:.3rem;display:inline-block}.chart-table summary{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);cursor:pointer;text-align:left;margin-top:.5rem;font-size:.72rem}.chart-table table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.75rem}.chart-table th,.chart-table td{border-bottom:1px solid var(--hairline-faint);text-align:right;padding:.25rem .5rem}.chart-table th:first-child,.chart-table td:first-child{text-align:left}.approach{flex-direction:column;align-items:center;width:100%;margin-top:5rem;padding-top:3rem;display:flex}.approach-title{font-family:var(--serif-display);letter-spacing:.03em;margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:400}.approach-lead{max-width:34rem;margin:1.6rem 0 0;font-size:1.05rem}.approach abbr{letter-spacing:.06em;text-decoration:none}.studio{counter-reset:studio;text-align:left;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;max-width:52rem;margin:2.5rem 0 0;padding:0;list-style:none;display:grid}.studio li{counter-increment:studio;border-top:1px solid var(--hairline);padding-top:1rem;position:relative}.studio li:before{content:counter(studio, upper-roman);font-family:var(--serif-display);color:var(--accent);letter-spacing:.1em;font-size:.85rem}.studio h3{font-family:var(--serif-display);margin:.3rem 0 .5rem;font-size:1.25rem;font-weight:400}.studio p{color:var(--text);margin:0;font-size:.92rem;line-height:1.55}.progress-strip{width:100%;max-width:52rem;margin:3.5rem 0 0}.progress-strip figcaption{text-align:left;flex-direction:column;gap:.15rem;margin-bottom:.9rem;display:flex}.frames{grid-template-columns:repeat(6,1fr);gap:.75rem;display:grid}@media (width<=44rem){.frames{grid-template-columns:repeat(3,1fr)}}.frame-cell{flex-direction:column;gap:.4rem;display:flex}.frame-cell img{border:1px solid var(--frame);width:100%;height:auto;box-shadow:0 0 0 3px var(--label-paper)}.frame-cell span{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);font-size:.68rem}.charts{flex-wrap:wrap;justify-content:center;gap:2.5rem;max-width:64rem;margin-top:3.5rem;display:flex}.facts{flex-wrap:wrap;justify-content:center;gap:1rem;margin:3.5rem 0 0;padding:0;list-style:none;display:flex}.facts li{background:var(--label-paper);color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 22%, var(--label-paper));min-width:7.5rem;padding:.8rem 1rem}.fact-value{font-family:var(--serif-display);font-size:1.6rem;display:block}.fact-label{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--umber);margin-top:.2rem;font-size:.65rem;display:block}.approach-note{max-width:34rem;color:var(--text-muted);margin:3rem 0 0;font-size:.92rem;font-style:italic}.before-after{aspect-ratio:1;-webkit-user-select:none;user-select:none;border:1px solid var(--frame);outline:1px solid var(--frame);outline-offset:5px;width:min(26rem,88vw);box-shadow:0 0 0 6px var(--label-paper), 0 2px 14px color-mix(in srgb, var(--ink) 25%, transparent);position:relative}.before-after img{width:100%;height:100%;display:block;position:absolute;inset:0}.before-after-handle{background:var(--label-paper);width:2px;box-shadow:0 0 4px color-mix(in srgb, var(--ink) 60%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;transform:translate(-1px)}.before-after input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.before-after:has(input[type=range]:focus-visible){outline:2px solid var(--accent);outline-offset:5px}.drop-zone{aspect-ratio:16/10;border:1px solid var(--frame);outline:1px solid var(--frame);outline-offset:-7px;width:min(26rem,88vw);color:var(--text-muted);font:italic 1rem var(--serif-text);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.drop-zone.dragging,.drop-zone:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.drop-zone:disabled{opacity:.5;cursor:wait}main{text-align:center;flex-direction:column;align-items:center;max-width:44rem;margin:0 auto;padding:3.5rem 1.25rem 5rem;display:flex}.masthead{font-family:var(--serif-display);letter-spacing:.04em;margin:0;font-size:clamp(3rem,10vw,4.5rem);font-weight:400;line-height:1}.double-rule{border:0;border-top:1px solid var(--hairline);width:min(22rem,70vw);margin:1.1rem 0 0;position:relative}.double-rule:after{content:"";border-top:1px solid var(--hairline-faint);position:absolute;top:3px;left:0;right:0}.tagline{max-width:30rem;color:var(--text-muted);margin:1.4rem 0 1.1rem;font-style:italic}.anchor-link{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--hairline-faint);margin-bottom:2.2rem;padding-bottom:.15rem;font-size:.72rem;text-decoration:none}.anchor-link:hover{color:var(--accent);border-color:var(--accent)}.status{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);margin:0 0 2rem;font-size:.8rem}.status progress{appearance:none;background:var(--hairline-faint);border:none;width:16rem;height:2px;margin:.9rem auto 0;display:block}.status progress::-webkit-progress-bar{background:var(--hairline-faint)}.status progress::-webkit-progress-value{background:var(--accent)}.status[data-state=painting]{animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.status[data-state=painting]{animation:none}}.error{max-width:28rem;color:var(--text);background:var(--label-paper);border:1px solid var(--hairline-faint);padding:1rem 1.25rem;font-size:.9rem}@media (prefers-color-scheme:dark){.error{color:var(--ink)}}.gallery{flex-direction:column;align-items:center;margin-top:2.5rem;display:flex}.placard{background:var(--label-paper);color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 22%, var(--label-paper));min-width:16rem;box-shadow:0 1px 4px color-mix(in srgb, var(--ink) 12%, transparent);margin-top:2rem;padding:1rem 1.5rem 1.1rem}.placard .artist{font-family:var(--serif-display);letter-spacing:.05em;font-size:1.05rem}.placard .dates{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--umber);margin-top:.15rem;font-size:.65rem}.placard .work{font-family:var(--serif-text);margin-top:.7rem;font-style:italic}.placard .medium{color:var(--umber);margin-top:.25rem;font-size:.7rem}.actions{gap:1rem;margin-top:1.8rem;display:flex}.button{border:1px solid var(--text);color:var(--text);font-family:var(--serif-text);letter-spacing:var(--label-tracking);text-transform:uppercase;cursor:pointer;background:0 0;padding:.7rem 1.6rem;font-size:.75rem;text-decoration:none;display:inline-block}.button:hover{border-color:var(--accent);color:var(--accent)}.colophon{letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-muted);margin-top:3.5rem;font-size:.7rem}
