:root{--paper:#f4f3ee;--ink:#252621;--muted:#74756e;--rule:#cfcec6;--accent:#bb4b2c;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:91px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 3.3vw;background:var(--paper)}header .identity{font-weight:700;font-size:33px;letter-spacing:-2px;text-decoration:none;display:flex;align-items:baseline;gap:15px}header .identity span{font-weight:400;font-size:13px;letter-spacing:-.2px}header>p{position:absolute;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:1.5px}header>button{font-size:13px;display:flex;gap:24px;align-items:center}.index-icon{font-size:22px;font-weight:300}#index-panel{position:fixed;z-index:19;inset:91px 0 auto;background:var(--paper);padding:20px 3.3vw 40px;border-bottom:1px solid var(--rule);box-shadow:0 35px 70px #25262115}#index-panel[hidden]{display:none}.index-heading{font-size:10px;letter-spacing:1.3px;margin:20px 0 25px}#index-panel>button{display:flex;align-items:baseline;gap:35px;text-align:left;padding:16px 0;border-top:1px solid var(--rule);width:100%;font-size:42px;letter-spacing:-1.5px}#index-panel button span{font-size:11px;letter-spacing:0;width:90px}#index-panel small{margin-left:auto;font-size:13px;letter-spacing:0}#index-panel #sources-open{font-size:15px;letter-spacing:0;margin-top:15px;padding-top:25px}#scroll-track{height:910svh}.stage{height:100svh;min-height:570px;position:sticky;top:0;overflow:hidden}.object-heading{position:absolute;z-index:5;left:3.3vw;top:119px}.eyebrow{font-size:10px;letter-spacing:1.1px;color:var(--muted);margin:0 0 10px}.object-heading h2{font-size:16px;letter-spacing:-.3px;line-height:1.1;font-weight:400;margin:0 0 8px}.object-heading>p:last-child{font-size:11px;color:var(--muted);margin:0}.edition{position:absolute;right:3.3vw;top:120px;z-index:4;text-align:right;font-size:12px;line-height:1.9;font-variant-numeric:tabular-nums}.edition>span:last-child{font-size:9px;color:var(--muted);letter-spacing:1px}h1{position:absolute;left:0;right:0;top:44%;transform:translateY(-50%);text-align:center;margin:0;white-space:nowrap;font-size:clamp(180px,29vw,540px);font-weight:400;line-height:.9;letter-spacing:-.065em;user-select:none}#drawing{position:absolute;z-index:2;inset:0;pointer-events:none}canvas{width:100%;height:100%;display:block}#part-labels{position:absolute;z-index:4;inset:0;pointer-events:none}.part-label{position:absolute;font-size:10px;letter-spacing:.4px;white-space:nowrap;padding:7px 10px;background:var(--paper);border-top:1px solid var(--rule);color:#65665f}.part-label span{color:var(--accent);margin-right:10px;font-size:9px}.object-footer{position:absolute;z-index:5;left:3.3vw;right:3.3vw;bottom:100px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;pointer-events:none}.detail{width:285px;min-height:105px;padding:18px 20px;border:1px solid var(--rule);background:var(--paper)}.detail>p:last-child{font-size:17px;letter-spacing:-.5px;line-height:1.17;margin:0}.description{max-width:260px;font-size:12px;line-height:1.55;background:var(--paper)}.description>p{margin:0}.description .dimensions{margin-top:13px;font-size:9px;letter-spacing:1.1px;color:var(--muted)}.scroll-cue{display:flex;flex-direction:column;gap:11px;align-items:center;margin-bottom:5px;font-size:9px;letter-spacing:1.3px;color:var(--muted)}.down{font-size:24px;font-weight:300;color:var(--ink)}.bottom{position:absolute;left:3.3vw;right:3.3vw;bottom:25px;z-index:8;display:flex;align-items:center;justify-content:space-between;font-size:11px}.object-controls{display:flex;gap:14px;align-items:center}.object-controls button{padding:7px 0;color:var(--muted)}.object-controls button.active{color:var(--ink)}.object-controls button.active:before{content:"";width:4px;height:4px;border-radius:50%;display:inline-block;vertical-align:middle;background:var(--accent);margin-right:7px}.object-controls>span{color:var(--rule)}#drawing-note{font-size:8px;letter-spacing:1px;color:var(--muted);position:absolute;left:50%;transform:translateX(-50%)}#next-object{display:flex;gap:22px;align-items:center;padding:7px 0}#next-object span{font-size:16px}.progress{position:absolute;bottom:0;height:2px;left:0;right:0;background:#e3e2da}.progress>div{height:100%;width:0;background:var(--ink);transform-origin:left}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);padding:14px}.skip:focus{top:0}dialog{color:var(--ink);background:var(--paper);width:min(760px,calc(100% - 30px));max-height:85svh;border:1px solid var(--rule);padding:35px}dialog::backdrop{background:#25262155;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px}dialog h2{font-weight:400;font-size:60px;letter-spacing:-3px;margin:30px 0 20px}dialog p{font-size:14px;line-height:1.6}dialog article{border-top:1px solid var(--rule);padding:12px 0 20px}dialog h3{font-size:14px;font-weight:400}dialog article a{display:block;margin:12px 0;font-size:12px;text-underline-offset:4px}.colophon{color:var(--muted);font-size:11px!important}.noscript{position:fixed;z-index:30;inset:30% 10% auto;background:var(--paper);padding:40px;border:1px solid var(--rule)}
@media(min-width:1600px){.detail{width:330px}.description{max-width:300px}.object-footer{bottom:115px}}
@media(max-width:700px){header{height:75px;padding:0 22px}header .identity{font-size:29px;gap:10px}header .identity span{font-size:11px}header>p{display:none}#index-panel{top:75px;padding:10px 22px 25px}#index-panel>button{font-size:32px;gap:15px}#index-panel button span{width:65px;font-size:9px}#index-panel small{font-size:10px}#index-panel #sources-open{font-size:13px}.object-heading{top:99px;left:22px}.object-heading h2{font-size:14px}.object-heading>p:last-child{font-size:10px}.edition{top:99px;right:22px;font-size:10px}.edition>span:last-child{display:none}h1{font-size:34vw;top:44%;letter-spacing:-.065em}.object-footer{left:22px;right:22px;bottom:100px;gap:20px}.detail{width:46%;padding:13px;min-height:100px}.detail>p:last-child{font-size:14px}.detail .eyebrow{font-size:8px;letter-spacing:.7px}.description{width:47%;font-size:10px;line-height:1.45}.description .dimensions{font-size:7px;letter-spacing:.6px;margin-top:8px}.scroll-cue{position:absolute;bottom:-40px;left:0;right:0;font-size:8px;flex-direction:row;justify-content:center;gap:14px}.down{font-size:17px}.bottom{left:22px;right:22px;bottom:17px;font-size:10px}.object-controls{gap:10px}#drawing-note{display:none}#next-object{gap:10px}.part-label{font-size:8px;padding:5px 6px;letter-spacing:0}.part-label span{margin-right:5px;font-size:7px}dialog{padding:23px}dialog h2{font-size:48px}.stage{min-height:570px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#progress-fill{width:100%;transform:scaleX(0);will-change:transform}#name,#drawing canvas,#part-labels{will-change:transform,opacity}
/* Five chapters: type leads, the model follows, both leave through the top. */
#scroll-track{height:1510svh}h1{top:25%;font-size:clamp(190px,32vw,640px);letter-spacing:-.065em}.object-heading{top:110px}.readable-model{font-size:30px!important;font-weight:500;letter-spacing:-1.1px;color:var(--ink)!important;margin:0 0 9px!important}.object-heading h2{font-size:18px}.object-heading>p:last-child{font-size:12px}.object-footer .description{font-size:14px;max-width:310px}.detail{width:310px}.detail>p:last-child{font-size:20px}.eyebrow{font-size:11px}.object-footer{bottom:95px}#drawing-note{bottom:-35px;left:0;transform:none;margin:0;font-size:9px;letter-spacing:1px;color:var(--muted)}#view-3d{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;border-bottom:1px solid var(--ink);padding:7px 0}.part-label{font-size:12px}.object-heading,.object-footer,h1,#part-labels{will-change:transform}#index-panel{max-height:calc(100svh - 91px);overflow:auto}#index-panel>button{font-size:31px;padding:12px 0}#orbit-dialog{width:calc(100% - 48px);max-width:1500px;height:calc(100svh - 48px);max-height:none;padding:25px;overflow:hidden}#orbit-host{height:calc(100% - 160px);width:100%;cursor:grab;touch-action:none;outline-offset:-2px}#orbit-host:active{cursor:grabbing}#orbit-host canvas{transform:none!important;opacity:1!important}.orbit-help,.orbit-note{text-align:center;font-size:11px;letter-spacing:.2px;color:var(--muted);margin:7px 0}.orbit-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding:10px 0}.orbit-controls label{display:flex;align-items:center;gap:12px;font-size:12px}.orbit-controls input{width:130px;accent-color:var(--ink)}.orbit-controls button{font-size:12px;border-bottom:1px solid var(--rule);padding:5px 0}
@media(max-width:700px){h1{top:29%;font-size:36vw}.readable-model{font-size:25px!important}.object-heading{top:88px}.object-heading h2{font-size:14px}.object-heading>p:last-child{font-size:10px;max-width:250px}.object-footer{bottom:105px}.object-footer .description{font-size:11px}.detail>p:last-child{font-size:16px}.detail{width:47%}.part-label{font-size:9px}#view-3d{position:static;transform:none;font-size:10px}#drawing-note{display:none}.bottom{gap:15px}.object-controls{gap:7px}#next-object{font-size:9px;gap:5px}#orbit-dialog{width:calc(100% - 16px);height:calc(100svh - 16px);padding:17px}#orbit-host{height:calc(100% - 200px)}.orbit-controls{gap:14px;flex-wrap:wrap}.orbit-controls input{width:95px}.orbit-controls label{font-size:10px;gap:7px}#index-panel{max-height:calc(100svh - 75px)}}

h1{top:27%;font-size:clamp(170px,26vw,540px)}@media(max-width:700px){h1{top:29%;font-size:36vw}}

/* Device-led composition: oversized type shares the model's centre, behind it. */
h1{top:47%;font-size:clamp(210px,38vw,760px);z-index:0;color:#41423b}.readable-model{display:none}.object-heading{top:119px}.object-heading h2{font-size:18px}#drawing{z-index:2}
@media(max-width:700px){h1{top:44%;font-size:43vw}.object-heading{top:99px}.object-heading h2{font-size:15px}}

#scroll-track{height:1010svh}#next-name{will-change:transform}#next-name[hidden]{display:none}

#scroll-track{height:1610svh}
/* Swiss archive: an asymmetric catalogue grid around the moving studies. */
:root{--accent:#c43d27;--rule:#c5c5bc}
header{height:96px;margin:0 28px;padding:0 0 0 92px;border-bottom:1px solid var(--ink);background:var(--paper)}header .identity{font-size:22px;letter-spacing:-1px;gap:24px}header .identity:before{content:"";position:absolute;left:0;width:22px;height:22px;background:var(--accent)}header .identity span{font-size:11px;font-weight:400;letter-spacing:.3px;line-height:1.4}header>p{position:static;transform:none;margin-left:auto;margin-right:12vw;font-size:11px;line-height:1.6;letter-spacing:.6px}header>p span{color:var(--muted)}header>button{font-size:12px;text-transform:uppercase;letter-spacing:1px;gap:16px}
.object-rail{position:fixed;z-index:16;left:28px;top:125px;bottom:100px;width:45px;display:flex;flex-direction:column;align-items:stretch;gap:3px;border-right:1px solid var(--rule);padding-right:13px}.rail-label{font-size:9px;letter-spacing:1.4px;writing-mode:vertical-rl;margin:0 auto 22px;transform:rotate(180deg)}.object-rail button{font-size:12px;font-variant-numeric:tabular-nums;padding:10px 0;color:var(--muted);border-top:1px solid var(--rule)}.object-rail button.selected{color:var(--accent);font-weight:700;border-top-color:var(--accent)}
.object-heading{left:120px;top:124px;display:grid;grid-template-columns:165px minmax(200px,360px);column-gap:28px;align-items:baseline}.object-heading .eyebrow{grid-row:1 / 3;line-height:1.4;font-size:12px;letter-spacing:.4px}.object-heading h2{font-size:20px;margin-bottom:7px;letter-spacing:-.6px}.object-heading>p:last-child{grid-column:2;font-size:12px}.edition{right:28px;top:117px;font-size:12px;color:var(--muted);line-height:1.2}.edition #counter{font-size:56px;letter-spacing:-4px;color:var(--accent);font-weight:400}.edition>span:last-child{display:none}
h1{left:7%;right:2%;text-align:left;top:48%;font-size:clamp(210px,37vw,740px);color:#44453e;font-weight:500;letter-spacing:-.08em}
.object-footer{left:120px;right:28px;bottom:107px;display:grid;grid-template-columns:1fr 150px 1.2fr;gap:35px;border-top:1px solid var(--ink);padding-top:16px;align-items:start;background:var(--paper)}.detail{width:auto;min-height:0;padding:0;border:0;background:none}.detail .eyebrow{font-size:10px;color:var(--accent);letter-spacing:1px;margin-bottom:9px}.detail>p:last-child{font-size:22px;letter-spacing:-.7px;line-height:1.1}.object-footer .description{max-width:430px;font-size:13px;line-height:1.5;justify-self:end}.description .dimensions{font-size:10px;margin-top:9px}.scroll-cue{font-size:9px;line-height:1.5;align-items:flex-start;padding-top:3px;max-width:150px}.scroll-cue .down{font-size:27px}#drawing-note{bottom:-24px;font-size:8px}
.bottom{left:120px;right:28px;bottom:22px;border-top:1px solid var(--rule);padding-top:12px;font-size:12px}.object-controls{gap:0}.object-controls>span{display:none}.object-controls button{padding:8px 14px;border:1px solid var(--rule);font-size:11px}.object-controls button+button{border-left:0}.object-controls button.active{background:var(--ink);color:var(--paper)}.object-controls button.active:before{display:none}#view-3d{left:auto;right:165px;transform:none;border:0;font-size:11px;letter-spacing:.3px}#next-object{font-size:11px}.progress{height:3px}.progress>div{background:var(--accent)}.part-label{font-size:11px;padding:6px 0;border-top:1px solid var(--ink)}.part-label span{font-size:10px;color:var(--accent)}#index-panel{top:96px;padding-left:120px;padding-right:28px;box-shadow:none}#index-panel>button{font-size:32px}#index-panel button span{color:var(--accent)}
@media(max-width:700px){header{height:80px;margin:0 18px;padding-left:32px}header .identity{font-size:18px;gap:12px}header .identity:before{width:12px;height:12px}header .identity span{font-size:9px}header>p{display:none}header>button{font-size:10px;gap:10px}.object-rail{top:auto;bottom:0;left:0;width:100%;height:35px;flex-direction:row;padding:0 18px;background:var(--paper);border:0;border-top:1px solid var(--rule);gap:0;justify-content:space-between}.rail-label{display:none}.object-rail button{font-size:10px;padding:8px 10px;border-top:0}.object-rail button.selected{border-top:2px solid var(--accent)}.object-heading{left:22px;top:102px;display:block;max-width:76%}.object-heading .eyebrow{font-size:10px;margin-bottom:7px}.object-heading h2{font-size:16px}.object-heading>p:last-child{font-size:10px}.edition{right:20px;top:99px;font-size:9px}.edition #counter{font-size:36px;letter-spacing:-2px}h1{left:3%;right:0;top:44%;font-size:43vw}.object-footer{left:22px;right:22px;bottom:129px;grid-template-columns:1fr 1fr;gap:17px;padding-top:12px}.detail{width:auto}.detail>p:last-child{font-size:16px}.detail .eyebrow{font-size:9px}.object-footer .description{width:auto;font-size:10px}.description .dimensions{font-size:8px}.scroll-cue{position:absolute;bottom:-25px;left:0;right:0;max-width:none;flex-direction:row;align-items:center;justify-content:center;padding:0;font-size:8px}.scroll-cue .down{font-size:14px}.bottom{left:22px;right:22px;bottom:45px;padding-top:8px;gap:9px}.object-controls button{padding:7px 9px;font-size:9px}#view-3d{position:static;font-size:9px;padding:7px 0}#next-object{font-size:9px}#index-panel{top:80px;padding:12px 22px;max-height:calc(100svh - 80px)}.part-label{font-size:9px}.part-label span{font-size:8px}}
/* One continuous opaque footer, including the space below the notes. */
.object-footer::before{content:"";position:absolute;z-index:-1;top:0;bottom:-220px;left:0;right:0;background:var(--paper);pointer-events:none}
.bottom{background:var(--paper)}#view-3d{position:static;transform:none;margin-left:auto}.author-credit{font-size:11px;letter-spacing:.2px;text-decoration:none;margin-right:32px;white-space:nowrap}.author-credit:hover{text-decoration:underline;text-underline-offset:4px}header>p{margin-right:5vw}
@media(max-width:700px){.author-credit{font-size:9px;margin-left:auto;margin-right:16px}header .identity span{display:none}header>button{font-size:9px;gap:7px}.object-footer::before{bottom:-220px}}
.ui-arrow{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.16em;flex-shrink:0}.down .ui-arrow{width:1em;height:1em}.author-credit .ui-arrow,#view-3d .ui-arrow{margin-left:3px}
