.books{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.books__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(30% 40% at 25% 60%,#ff7a3333,#0000 70%),radial-gradient(35% 40% at 75% 45%,#e2a85f1f,#0000 70%);position:absolute;inset:10% 0}.books__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);max-width:76rem;margin:0 auto;display:grid;position:relative}.books__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.books__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.books__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.books__featured{margin:1.75rem 0 0;padding:1.5rem 1.6rem 1.4rem;position:relative}.books__mark{font-family:var(--font-serif);color:var(--orange);opacity:.55;pointer-events:none;font-size:4.5rem;line-height:1;position:absolute;top:.3rem;right:1.2rem}.books__featured-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-size:.64rem}.books__featured-title{margin:.5rem 0 0;padding-right:2.5rem;font-size:1.2rem;font-weight:600;line-height:1.3}.books__featured-note{color:var(--text);margin:.7rem 0 0;font-size:.95rem;line-height:1.65}.books__featured-aside{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-faint);margin:.9rem 0 0;padding-top:.8rem;font-size:.7rem}.books__shelf{perspective:1200px;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.75rem,3vw,2.75rem) clamp(1.25rem,2.5vw,2.25rem);margin:0;padding:0;list-style:none;display:grid}.book{--hue:22;perspective:900px}.book__cover{aspect-ratio:2/3;background: linear-gradient(90deg, #00000073 0%, #ffffff2e 3%, #00000040 6%, transparent 11%),  linear-gradient(155deg, #ffffff29 0%, transparent 40%), linear-gradient(170deg, hsl(var(--hue) 55% 34%), hsl(var(--hue) 60% 14%));transform-origin:0;border-radius:3px 10px 10px 3px;flex-direction:column;padding:14% 12% 12% 17%;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;display:flex;position:relative;transform:rotateY(-22deg)rotateX(4deg);box-shadow:inset 0 0 0 1px #ffffff14,5px 1px 0 -1px #e9e1d3,7px 2px 0 -1px #cfc5b4,9px 3px 0 -1px #b9ae9b,22px 26px 40px -16px #000000bf}.book:hover .book__cover{box-shadow:inset 0 0 0 1px #ffffff1f, 5px 1px 0 -1px #e9e1d3, 7px 2px 0 -1px #cfc5b4, 9px 3px 0 -1px #b9ae9b, 26px 34px 50px -18px #000c, 0 18px 50px -20px hsl(var(--hue) 80% 50% / .45);transform:rotateY(0)rotateX(0)translateY(-8px)}.book__author{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#f4ede3bf;font-size:clamp(.5rem,.75vw,.62rem)}.book__title{letter-spacing:-.01em;color:#fbf6ee;text-wrap:balance;margin-top:.6rem;font-size:clamp(.85rem,1.25vw,1.08rem);font-weight:600;line-height:1.15}.book__rule{background:hsl(var(--hue) 90% 65%);border-radius:2px;width:1.8rem;height:2px;margin-top:auto}.book--featured .book__cover{background:linear-gradient(90deg,#00000073 0%,#ffffff2e 3%,#00000040 6%,#0000 11%),linear-gradient(155deg,#fff3 0%,#0000 40%),linear-gradient(170deg,#ff7a33,#8a2f06)}.book--featured .book__cover:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);background:#f4ede3;width:12px;height:22%;position:absolute;top:-4px;right:18%;box-shadow:0 2px 6px #0000004d}.book--featured .book__rule{background:#fbf6ee}@media (width<=899px){.books__inner{grid-template-columns:minmax(0,1fr)}}@media (width<=479px){.books__shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.book__author{font-size:.55rem}.book__title{font-size:.95rem}}@media (prefers-reduced-motion:reduce){.book__cover{transition:none}}.photos{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5rem,12vh,8rem) clamp(1.375rem,5vw,5rem);position:relative;overflow-x:clip}.photos__glow{filter:blur(20px);pointer-events:none;background:radial-gradient(30% 30% at 20% 40%,#ff7a332e,#0000 70%),radial-gradient(30% 30% at 80% 70%,#ff7a3324,#0000 70%);position:absolute;inset:10% 0}.photos__inner{max-width:76rem;margin:0 auto;position:relative}.photos__header{max-width:40rem;margin-bottom:clamp(2.5rem,6vh,3.5rem)}.photos__eyebrow{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0 0 1rem;font-size:.7rem}.photos__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem);font-weight:500;line-height:1.08}.photos__lead{color:var(--text-muted);margin:1rem 0 0;font-size:1rem;line-height:1.65}.photos__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.2rem);margin:0;padding:0;list-style:none;display:grid}.photo-tile__button{width:100%;font:inherit;color:inherit;cursor:zoom-in;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(158deg, #ffffff24 0%, #ffffff0d 40%), var(--card-bg);border-radius:18px;padding:.45rem;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .45s;display:block;position:relative}.photo-tile__button:before,.photo-tile__button:after{display:none}.photo-tile__button:hover,.photo-tile__button:focus-visible{border-color:#ff7a33b3;transform:translateY(-5px);box-shadow:0 30px 60px -28px #000000d9,0 18px 50px -20px #ff7a3359}.photo-tile__frame{aspect-ratio:4/5;background:#16130f;border-radius:13px;display:block;overflow:hidden}.photo-tile__frame img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1);display:block}.photo-tile__button:hover img,.photo-tile__button:focus-visible img{transform:scale(1.06)}.photo-tile__caption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;opacity:0;background:#100d0b8c;border:1px solid #ffffff4d;border-radius:999px;justify-content:space-between;align-items:center;padding:.5rem .55rem .5rem .85rem;font-size:.66rem;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:.95rem;left:.95rem;right:.95rem;transform:translateY(8px)}.photo-tile__button:hover .photo-tile__caption,.photo-tile__button:focus-visible .photo-tile__caption{opacity:1;transform:none}.photo-tile__zoom{background:var(--orange);letter-spacing:0;color:#1a0f08;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:1rem;display:grid}.photos__more{background:var(--orange);color:#1a0f08;border-radius:999px;gap:.6rem;margin-top:clamp(2.5rem,6vh,3.5rem);padding:.85rem 1.4rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .25s,background-color .25s;display:inline-flex}.photos__more:hover,.photos__more:focus-visible{background:#ff9455;transform:translateY(-2px)}html.is-viewer-open{overflow:hidden}.photo-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:clamp(1rem,4vw,3rem)}.photo-viewer::backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080706db}.photo-viewer[open]{place-items:center;animation:.35s viewer-in;display:grid}@keyframes viewer-in{0%{opacity:0;transform:scale(.97)}}.photo-viewer__figure{flex-direction:column;align-items:center;gap:1rem;max-width:100%;max-height:100%;margin:0;display:flex}.photo-viewer__figure img{border-radius:16px;max-width:min(100%,1400px);max-height:calc(100dvh - 9rem);animation:.4s viewer-photo;display:block;box-shadow:0 40px 100px -30px #000000e6}@keyframes viewer-photo{0%{opacity:0}}.photo-viewer__caption{color:var(--text-muted);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.photo-viewer__caption:before,.photo-viewer__caption:after{display:none}.photo-viewer__category{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-size:.66rem}.photo-viewer__count{font-family:var(--font-mono);color:var(--text-faint);font-size:.7rem}.photo-viewer__btn{width:3rem;height:3rem;font:inherit;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:1.1rem;transition:background-color .2s;display:grid;position:fixed}.photo-viewer__btn:before,.photo-viewer__btn:after{display:none}.photo-viewer__btn:hover,.photo-viewer__btn:focus-visible{background:var(--orange);color:#1a0f08}.photo-viewer__close{top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.photo-viewer__prev,.photo-viewer__next{margin-top:-1.5rem;top:50%}.photo-viewer__prev{left:clamp(.75rem,2.5vw,2rem)}.photo-viewer__next{right:clamp(.75rem,2.5vw,2rem)}@media (width<=1023px){.photos__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=639px){.photos__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-viewer__prev,.photo-viewer__next{margin-top:0;top:auto;bottom:1.25rem}.photo-viewer__figure img{max-height:calc(100dvh - 12rem)}}@media (prefers-reduced-motion:reduce){.photo-tile__button,.photo-tile__frame img,.photo-tile__caption{transition:none}.photo-tile__button:hover,.photo-tile__button:hover img{transform:none}.photo-viewer[open],.photo-viewer__figure img{animation:none}}
