/* The existing cloth, paper and fine ink, extended to instruments and correspondence. */
.discovery-head{margin-bottom:14px;max-width:none}
.discovery-head .page-title{font-size:clamp(42px,5vw,66px)}
.post-intro{font-style:italic;color:var(--ink-2);font-size:19px;margin-top:16px}
.discovery-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 36px;padding:10px 0 30px;border-bottom:1px solid var(--line)}
.compass-dial{border:0;width:380px;flex:0 1 380px;min-width:0;max-width:100%;padding:0;margin:0}
.compass-dial legend,.filter-switcher legend{text-align:center;color:var(--ink);font:14px var(--mono);letter-spacing:.06em;padding:0 8px}
.dial-face{position:relative;height:326px}
.compass-case{position:absolute;left:50%;top:50%;width:48%;max-width:184px;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;isolation:isolate;background:radial-gradient(circle at 36% 28%,#40362a 0,#1d1a16 68%,#745c38 70%,#292219 76%,#a48a59 77%,#362c20 80%,#695336 87%,#282119 93%,#89704b 95%,#30261c 98%);border:1px solid #30261b;box-shadow:0 2px 1px #ead3a254,0 7px 0 -2px #30251c,0 10px 4px -4px #1e171560,0 21px 26px -10px #30251c80,inset 0 1px 1px #c5a36a80}
.compass-case::after{content:"";position:absolute;inset:2px;border-radius:50%;border:1px solid #c6a16a50;box-shadow:inset 0 1px 1px #e1cda139,0 1px 1px #130f0dbb;pointer-events:none;z-index:3}
.instrument-material{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:0}
.dial-rose{position:absolute;inset:0;width:100%;height:100%;fill:none;overflow:visible;z-index:1}
.dial-engraving{stroke:#bca273;stroke-width:.65}
.dial-engraving .minor{opacity:.42}.dial-engraving .major{stroke:#d0b888;stroke-width:1}
.dial-cross{opacity:.22;stroke-dasharray:1 3}.dial-windrose{fill:#b8955320;stroke:#b69a6559}
.dial-degrees{font:7px var(--mono);fill:#c0a77c;stroke:none;text-anchor:middle;letter-spacing:.08em}
.dial-screws circle{fill:#443628;stroke:#b2935c;stroke-width:.6}.dial-screws path{stroke:#1a1712;stroke-width:1.2}
.dial-needle{transform-origin:100px 100px;transform:rotate(var(--bearing,0deg));transition:transform 1.1s cubic-bezier(.2,.8,.24,1.1);filter:drop-shadow(1px 3px 1.5px #08070499)}
.needle-north{fill:#d4b778;stroke:#f0d5a0;stroke-width:.7}.needle-south{fill:#8d462e;stroke:#bf7250;stroke-width:.7}.needle-ridge{fill:#f1d9a480;stroke:none}
.dial-pivot-ring{fill:#332c21;stroke:#b89456;stroke-width:1.5}.dial-pivot{fill:#c0a169;stroke:#e0c495;stroke-width:.6}
.compass-glass{position:absolute;inset:13%;z-index:2;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,38%) var(--light-y,27%),#efddb81c,transparent 60%),linear-gradient(125deg,transparent 21%,#fff5df0d 21.7%,transparent 24%,transparent 74%,#fff5df07 75%,transparent 77%);box-shadow:inset 0 2px 4px #090706aa,inset 0 -1px 1px #dfc69a22}
.dial-options{position:absolute;inset:0}
.dial-options button{position:absolute;transform:translate(-50%,-50%);max-width:27%;min-height:44px;padding:8px 5px;font:500 15px/1.25 var(--body);text-wrap:balance;color:#554330;border-radius:4px;transition:color .25s,background .25s,box-shadow .25s}
.dial-options button[aria-checked=true]{color:#f0dbb2;background:linear-gradient(145deg,#524332,#30281f);box-shadow:inset 0 1px #b49a664f,0 2px 1px #20180e88,0 5px 8px #34261826;text-shadow:0 1px #120e0b}
.dial-options button[aria-checked=true]::after{content:"";display:block;width:18px;height:1px;background:#c5a166;margin:5px auto -6px}
.dial-options button:focus-visible,.spine-link:focus-visible,.envelope-link:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
.filter-switches{flex:1 1 340px;max-width:540px;min-width:0;display:grid;gap:28px}
.filter-switcher{border:0;padding:0;margin:0;min-width:0}
.filter-switcher legend{text-align:left;padding:0;margin:0 0 12px 5px}
.switcher-rail{position:relative;isolation:isolate;display:flex;flex-wrap:wrap;gap:7px;padding:11px;background:linear-gradient(120deg,#393025,#241f19 65%,#45392a);border:1px solid #382b1c;border-radius:8px;box-shadow:inset 0 1px 1px #b3966170,inset 0 -2px 3px #0d0b08aa,0 4px 0 -1px #282018,0 11px 16px -4px #34271845}
.switcher-rail::after{content:"";position:absolute;inset:4px;border:1px solid #b59a5e2b;border-radius:4px;pointer-events:none;z-index:2}
.switcher-rail button{position:relative;z-index:1;flex:1 1 auto;min-height:46px;padding:12px 13px;font:15px/1.3 var(--body);color:#d8c5a0;text-shadow:0 1px 1px #100d09;border:1px solid #8a714740;border-bottom-color:#130f0baa;border-radius:3px;background:radial-gradient(ellipse at var(--light-x,35%) 0%,#bca27916,transparent 80%),linear-gradient(#514535,#342d23);box-shadow:inset 0 1px 0 #c3a76d35,0 2px 1px #100d0ad9,0 3px 4px #0e0b0838;transition:transform .2s,color .3s,background .3s,box-shadow .3s}
.switcher-rail button:hover{color:#f0d9ab;box-shadow:inset 0 1px #d1b27760,0 2px 1px #100d0ad9,0 3px 4px #0e0b0838}
.switcher-rail button[aria-checked=true]{color:#f0d4a0;border-color:#aa87523d;background:radial-gradient(ellipse at var(--light-x,40%) 0%,#b48a4533,transparent 75%),linear-gradient(#38271c,#523b26);box-shadow:inset 0 2px 3px #08060488,inset 0 -1px #b1946140;transform:translateY(2px)}
.switcher-rail button[aria-checked=true]::after{content:"";position:absolute;bottom:5px;left:calc(50% - 9px);width:18px;height:1px;background:#d5af6a;box-shadow:0 1px #20170e}
.switcher-rail button:focus-visible{outline:2px solid #e4c48a;outline-offset:3px}
@media(max-width:720px){.dial-face{height:310px}.dial-options button{font-size:14px}.filter-switches{gap:22px}.switcher-rail{gap:6px;padding:9px}.switcher-rail button{font-size:14px;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.dial-needle,.dial-options button,.switcher-rail button{transition:none}}
@media(forced-colors:active){.instrument-material,.compass-glass{display:none}.dial-options button[aria-checked=true],.switcher-rail button[aria-checked=true]{outline:2px solid Highlight}.dial-engraving{stroke:CanvasText}.dial-degrees{fill:CanvasText}}
.catalog-note{font-size:13px;font-style:italic;color:var(--ink-3);text-align:center;margin:13px 0 34px}
.catalog-empty{padding:55px 16px;text-align:center;font-style:italic;font-size:20px;color:var(--ink-2)}
.spine-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;align-items:center;margin:16px 0 65px;padding:20px 8px 40px}
.journal-object{position:relative;min-width:0;padding:8px 0}
.journal-spine{position:relative;width:var(--book-width,95%);margin:auto;transform:rotate(var(--book-angle,0deg));transform-origin:50% 75%;background-image:linear-gradient(0deg,#0004,transparent 20%,#fff1 60%,#0002),var(--cloth);border-radius:5px 10px 8px 5px;border:1px solid #38281888;box-shadow:0 12px 15px -10px #38281888,0 3px 2px #38281855,inset 0 3px 2px #e1c78a44,inset 0 -4px 4px #180f1166;transition:transform .6s cubic-bezier(.2,.65,.2,1),box-shadow .6s}
.journal-spine::before{content:"";position:absolute;inset:5px 17px;border-top:1px solid #c8a04b66;border-bottom:1px solid #c8a04b66;pointer-events:none}
.journal-spine::after{content:"";position:absolute;top:9px;bottom:8px;right:-9px;width:9px;z-index:-1;background:repeating-linear-gradient(0deg,#c3b595 0 1px,#e7dbc1 1px 3px);border-radius:0 3px 3px 0}
.journal-spine:hover,.journal-spine:focus-within{transform:translateY(-5px) rotate(0deg);box-shadow:0 20px 22px -12px #38281888,0 3px 2px #38281855,inset 0 3px 2px #e1c78a44,inset 0 -4px 4px #180f1166}
.spine-link{position:relative;display:grid;grid-template-columns:34px 1fr 54px;gap:12px;align-items:center;min-height:110px;padding:22px;text-decoration:none;color:#e2cba0}
.spine-number{font-family:var(--serif);font-size:22px;text-align:center;border-right:1px solid #c8a04b66;padding-right:12px}
.spine-title{font:600 clamp(24px,2.4vw,32px)/1.07 var(--serif);text-wrap:balance;text-shadow:0 1px 1px #100a0888;padding-right:5px}
.spine-year{font:11px var(--mono);line-height:1.65;text-align:center;overflow-wrap:break-word}
.journal-spine .reading-ribbons{right:19px;top:-14px}
.journal-spine:has(.reading-ribbons) .spine-year{opacity:0}
.journal-back{display:block;font:12px var(--mono);letter-spacing:.06em;margin-bottom:25px;color:var(--ink-2);text-decoration:none}
.journal-back::before{content:"←";margin-right:12px}
.journal-open{margin-top:45px}
.journal-open .lib-rows{margin-top:30px}
.journal-open .cover-box{justify-self:end}
.envelope-desk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;margin:30px 0 90px;align-items:center}
.letter-object{min-width:0;padding:8px 3px}
.envelope{position:relative;transform:rotate(var(--letter-angle,0deg));background:linear-gradient(155deg,rgba(255,255,255,.2),rgba(226,212,184,.36)),var(--paper-2);border:1px solid rgba(107,92,72,.25);border-radius:1px;box-shadow:0 14px 20px -14px #3a302477,0 2px 3px #3a30241a;transition:transform .65s cubic-bezier(.2,.65,.2,1),box-shadow .65s}
.envelope::before,.envelope::after{content:"";position:absolute;pointer-events:none;bottom:0;height:45%;width:50%;opacity:.25}
.envelope::before{left:0;background:linear-gradient(30deg,transparent calc(50% - .5px),var(--ink-3) 50%,transparent calc(50% + .5px))}
.envelope::after{right:0;background:linear-gradient(-30deg,transparent calc(50% - .5px),var(--ink-3) 50%,transparent calc(50% + .5px))}
.envelope:hover,.envelope:focus-within{transform:translateY(-7px) rotate(0deg);box-shadow:0 20px 27px -15px #3a30246b}
.envelope-link{display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:70px 25px 30px;text-decoration:none;position:relative;z-index:1}
.envelope-name{font:600 29px/1.1 var(--serif);text-wrap:balance;margin-bottom:14px}
.envelope-address{font:12px/1.5 var(--mono);color:var(--ink-2)}
.post-stamp{position:absolute;right:18px;top:14px;width:48px;height:56px;border:1px dashed var(--ink-3);padding:4px;color:var(--accent,var(--rust));background:var(--paper);transform:rotate(4deg)}
.post-stamp svg{width:100%;height:100%;border:1px solid var(--line);fill:none;stroke:currentColor;stroke-width:.8}
.postmark{position:absolute;right:50px;top:20px;border:1px solid var(--ink-3);width:77px;height:77px;border-radius:50%;font:9px var(--mono);letter-spacing:.08em;opacity:.5;transform:rotate(-14deg);display:flex;align-items:center;justify-content:center;text-align:center;padding:10px}
.postmark::after{content:"";position:absolute;left:63px;top:24px;width:36px;height:22px;border-top:1px solid var(--ink-3);border-bottom:1px solid var(--ink-3)}
.atlas-instruments{justify-content:flex-start;border:0;gap:36px}
.atlas-instruments .compass-dial{flex-shrink:0}
.atlas-sheet-label{display:flex;align-items:baseline;gap:16px;justify-content:space-between;margin:12px 0 16px;padding:0 16px}
.atlas-sheet-label h2{font-size:38px}
.atlas-sheet-label span{font:12px var(--mono);color:var(--ink-3)}
.atlas-wrap.chart-sheet{max-width:none;margin-top:12px;padding:10px 8px 14px;isolation:isolate;transform-origin:50% 0}
.atlas-story-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 30px;margin:32px 8px 0}
.atlas-story-links a{font-family:var(--body);text-decoration:none;border-bottom:1px solid var(--line);padding:8px 0;font-size:16px}
.atlas-story-links a:hover{color:var(--rust)}
@media(max-width:1060px){.discovery-controls{gap:10px 4px}.compass-dial{width:320px}.compass-dial.compact{width:240px}.envelope-desk{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .discovery-controls{justify-content:center;gap:6px 0}.compass-dial{width:100%;max-width:340px}.compass-dial.compact{width:50%;max-width:260px}
  .compass-dial.compact .dial-face{height:200px}.compass-dial.compact .dial-rose{width:59px;height:59px}.compass-dial.compact .dial-options button{font-size:13px;max-width:67px}
  .spine-shelf{grid-template-columns:1fr;gap:14px;padding:15px 7px}.spine-link{min-height:100px;grid-template-columns:24px 1fr 44px;padding:20px 14px;gap:9px}.spine-title{font-size:27px}
  .envelope-desk{gap:30px 18px}.envelope-link{min-height:235px;padding:95px 15px 22px}.envelope-name{font-size:25px}.post-stamp{right:12px}
  .atlas-instruments .compass-dial.compact{width:240px}.atlas-instruments .compass-dial.compact .dial-rose{width:84px;height:84px}
  .atlas-story-links{grid-template-columns:1fr 1fr}.atlas-sheet-label h2{font-size:30px}
}
@media(max-width:430px){.envelope-desk{grid-template-columns:1fr;margin-inline:8px}.envelope-link{min-height:225px}.atlas-story-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dial-needle,.journal-spine,.envelope{transition:none}.chart-sheet.unfurl,.chart-sheet.unfurl::after{animation:none}}
/* Postcards loosely shingled across the existing paper desk. */
.envelope-desk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:start;padding:30px 28px 80px;margin:22px 0 65px;isolation:isolate}
.letter-object{position:relative;width:112%;padding:0;margin-bottom:-38px;z-index:1}
.letter-object:nth-child(3n+2){padding-top:27px}
.letter-object:nth-child(3n){padding-top:8px;width:100%}
.letter-object:hover,.letter-object:focus-within{z-index:10}
.envelope{background:#e9dcc2;border:1px solid #a8957466;box-shadow:0 16px 22px -10px #3a302466,0 3px 2px #3a302433}
.envelope::before,.envelope::after{display:none}
.envelope-link{min-height:320px;padding:12px 14px 35px;justify-content:flex-start}
.postcard-photo{display:block;width:100%;height:190px;flex:none;overflow:hidden;position:relative;border:1px solid #b3a17f;background:linear-gradient(145deg,#c7b99d,#e3d7bd 50%,#b6a687);margin-bottom:16px}
.postcard-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.5) saturate(.65);transition:filter .8s;display:block}
.envelope:hover .postcard-photo img{filter:sepia(0) saturate(1)}
.postcard-photo:empty::after{content:"";position:absolute;inset:12px;border:1px solid #78684855}
.envelope-name{font-size:27px;margin:0 75px 9px 2px}
.envelope-address{font-size:12px;padding:0 65px 0 2px}
.post-stamp{top:220px;right:15px;background:#e9dcc2}
.postmark{top:239px;right:45px}
.spine-shelf{overflow:clip;padding-bottom:50px;perspective:1000px}
@media(max-width:720px){
 .discovery-controls{gap:12px;padding-bottom:24px}.filter-switches{flex-basis:100%;max-width:none;gap:18px}.compass-dial{flex-basis:320px}.switcher-rail button{font-size:14px;padding:9px}
 .envelope-desk{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 10px 65px}
 .letter-object,.letter-object:nth-child(3n){width:108%;padding-top:0;margin-bottom:-24px}.letter-object:nth-child(2n){width:100%;padding-top:35px}
 .envelope-link{min-height:295px;padding:9px 10px 30px}.postcard-photo{height:150px}.envelope-name{font-size:23px;margin-right:0}.envelope-address{padding-right:0}.post-stamp{top:115px;right:13px;transform:rotate(7deg);opacity:.85}.postmark{top:115px;right:42px}
}
@media(max-width:480px){
 .envelope-desk{grid-template-columns:1fr;padding:15px 16px 70px}
 .letter-object,.letter-object:nth-child(3n),.letter-object:nth-child(2n){width:100%;padding-top:0;margin-bottom:-30px}
 .envelope-link{min-height:325px}.postcard-photo{height:185px}.post-stamp{top:151px}.postmark{top:148px}
}
@media(prefers-reduced-motion:reduce){.switcher-rail button,.postcard-photo img{transition:none}}
/* Lighter instruments: let the paper carry the controls and rust mark selection. */
.compass-case{width:44%;max-width:166px;background:radial-gradient(circle at 36% 28%,#726044 0,#514634 68%,#9b8256 70%,#554531 76%,#b49b6b 77%,#705b3f 80%,#8c734d 87%,#534632 93%,#a68d63 95%,#61513a 98%);border-color:#796441;box-shadow:0 1px 1px #ead3a269,0 4px 0 -1px #796043,0 13px 19px -7px #49371e52,inset 0 1px 1px #dbc39670}
.compass-glass{box-shadow:inset 0 2px 4px #30241866,inset 0 -1px 1px #dfc69a33}
.dial-options button{background:none;border-radius:0;transition:color .3s,text-shadow .3s}
.dial-options button[aria-checked=true]{color:var(--rust);background:none;box-shadow:none;text-shadow:0 0 .35px currentColor}
.dial-options button[aria-checked=true]::after{background:currentColor;opacity:.65}
.switcher-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;isolation:auto}
.switcher-rail::after{display:none}
.switcher-rail button{min-width:0;min-height:45px;padding:11px 7px;color:var(--ink-2);background:linear-gradient(#fff9ed1c,#b4a17a08);border:0;border-bottom:1px solid #8c775139;border-radius:0;box-shadow:0 1px 0 #fff8e352;text-shadow:none;transition:color .3s,border-color .3s}
.switcher-rail button:hover{color:var(--rust);box-shadow:0 1px 0 #fff8e352}
.switcher-rail button[aria-checked=true]{color:var(--rust);border-color:#a34d2c88;background:none;transform:none;box-shadow:0 1px 0 #fff8e352;text-shadow:0 0 .35px currentColor}
.switcher-rail button[aria-checked=true]::after{display:none}
.switcher-rail button:focus-visible{outline:1px solid var(--rust);outline-offset:3px}
.switcher-rail.season-switches{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:6px;row-gap:8px}
.season-switches button:first-child{grid-column:1/-1;justify-self:center;padding-inline:20px;min-width:120px}
.season-switches button:not(:first-child){padding-inline:2px;white-space:normal;overflow-wrap:anywhere;hyphens:auto}
/* Printed parchment beneath two rounded paper rolls. */
.atlas-wrap.chart-sheet{padding:12px 8px 20px;perspective:1200px;--paper-hidden:0%}
.chart-sheet #atlas{clip-path:inset(0 0 var(--paper-hidden) 0);background:radial-gradient(ellipse at 37% 35%,#f5e9cd90,transparent 62%),linear-gradient(90deg,#b99a6140,#efe0bd70 8%,#ead9b770 92%,#b99a6140);border:1px solid #9e80553b;box-shadow:inset 0 0 50px #93763c22,0 3px 7px #5b482922}
.chart-sheet::before{content:"";position:absolute;z-index:3;pointer-events:none;left:5px;right:5px;top:4px;height:17px;border-radius:8px/48%;border:1px solid #937b554d;background:linear-gradient(#bba37e,#ede0c1 37%,#ddc9a4 70%,#a68b6266);box-shadow:0 3px 4px #4a38241f}
.chart-sheet::after{display:none}
.chart-roll{position:absolute;z-index:4;pointer-events:none;transform:translateY(-50%);border-radius:8px/45%;border:1px solid #92764e5c;box-shadow:0 var(--curl-shadow,3px) 10px -3px #55412655,inset 0 1px #fff4d699;background:linear-gradient(#b8a17a,#f0e3c7 46%,#9b835e);overflow:hidden}
.chart-roll-ink{display:block;width:100%;height:100%;border-radius:inherit}
.chart-roll::before,.chart-roll::after{content:"";position:absolute;top:0;bottom:0;width:8px;border:1px solid #8b714a55;border-radius:50%;background:radial-gradient(ellipse,#c7b38c 0 22%,#99815c66 25% 28%,#dac6a1 31% 48%,#b29a7255 51% 56%,#e6d5b1 60%);box-shadow:inset 1px 0 2px #71553233}
.chart-roll::before{left:-3px}.chart-roll::after{right:-3px}
.chart-sheet.rolling #atlas{pointer-events:none}.chart-sheet.rolling .tip{visibility:hidden}
/* Sun-worn timber, quiet enough for the photographs and their paper borders. */
.envelope-desk{position:relative;background-image:linear-gradient(#f3ecdf3d,#f3ecdf3d),repeating-linear-gradient(180deg,transparent 0 190px,#846b4026 191px,#fff4da45 192px,transparent 193px 384px),var(--desk-grain,linear-gradient(#d3c3a7,#d3c3a7));background-size:auto,auto,768px 384px;border:1px solid #90785142;border-radius:3px;box-shadow:inset 0 1px #fff5df77,inset 0 0 42px #987b4320,0 5px 0 -2px #af997544,0 15px 24px -18px #58412560;padding-top:45px;padding-bottom:90px}
@media(max-width:720px){.switcher-rail{padding:0;gap:6px}.switcher-rail button{font-size:14px;padding:10px 4px}.season-switches button:not(:first-child){padding-inline:1px}.envelope-desk{padding-top:28px;padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){.dial-options button,.switcher-rail button{transition:none}}
