:root{--ink: #17110F;--ink-soft: #4A403C;--ink-faint: #8B7F79;--paper: #F6F2E9;--paper-2: #EFE8DA;--wall: #E9E7E2;--plum: #7A3B5C;--plum-deep: #40182E;--magenta: #B32E86;--line: rgba(23, 17, 15, 0.14);--line-soft: rgba(23, 17, 15, 0.07);--display: "Fraunces", "Instrument Serif", Georgia, serif;--display-var: "SOFT" 45, "WONK" 1;--serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--sans: "Schibsted Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "Azeret Mono", ui-monospace, "SF Mono", Menlo, monospace;--pad: clamp(1.25rem, 4vw, 4.5rem);--ease: cubic-bezier(0.22, 1, 0.36, 1);--pass: cubic-bezier(0.2, 0.74, 0.28, 1);--nav-h: 60px}*, *::before, *::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}body{margin: 0;background: var(--paper);color: var(--ink);font-family: var(--sans);font-size: 16px;line-height: 1.6;-webkit-font-smoothing: antialiased;overflow-x: hidden}img{max-width: 100%;display: block}a{color: inherit;text-decoration: none}::selection{background: var(--magenta);color: #fff}.label{font-family: var(--mono);font-size: 0.66rem;letter-spacing: 0.18em;text-transform: uppercase;color: var(--ink-faint)}.display{font-family: var(--serif);font-weight: 400;line-height: 0.94;letter-spacing: -0.004em;margin: 0}.rule{height: 1px;background: var(--line);border: 0;margin: 0}.page-gallery body{background: #F1F0EC}.page-gallery .nav{background: rgba(241, 240, 236, 0.82)}.nav{position: fixed;inset: 0 0 auto 0;z-index: 100;height: var(--nav-h);display: flex;align-items: center;justify-content: space-between;padding: 0 var(--pad);background: rgba(246, 242, 233, 0.82);backdrop-filter: saturate(1.4) blur(14px);-webkit-backdrop-filter: saturate(1.4) blur(14px);border-bottom: 1px solid var(--line-soft);transition: transform 0.45s var(--ease), background 0.3s}.nav--hidden{transform: translateY(-100%)}.nav--over{background: transparent;border-bottom-color: transparent;color: var(--paper)}.nav--over .nav__mark i{background: var(--paper)}.nav--expose{opacity: 0;animation: navIn 0.9s var(--ease) 1.85s forwards}@keyframes navIn{to{opacity: 1}}.nav--over .nav__mark, .nav--over .nav__links a{text-shadow: 0 1px 14px rgba(20, 6, 14, 0.6)}.nav--over .nav__burger svg{filter: drop-shadow(0 1px 6px rgba(20, 6, 14, 0.7))}.nav__mark{font-family: var(--display);font-variation-settings: "opsz" 32, var(--display-var);font-weight: 600;text-transform: uppercase;font-size: 0.94rem;letter-spacing: 0.11em;display: flex;align-items: center;gap: 0.6rem;white-space: nowrap}.nav__mark i{width: 6px;height: 6px;border-radius: 50%;background: var(--magenta);display: inline-block;transition: background 0.3s}.nav__links{display: flex;gap: clamp(1rem, 2.6vw, 2.4rem);align-items: center}.nav__links a{font-family: var(--mono);font-size: 0.68rem;letter-spacing: 0.16em;text-transform: uppercase;position: relative;padding: 0.4rem 0;opacity: 0.75;transition: opacity 0.25s}.nav__links a{isolation: isolate}.nav__links a::before{content: attr(data-label);position: absolute;inset: 0;padding: inherit;z-index: -1;color: var(--magenta);opacity: 0;transform: translate(0, 0);transition: transform 0.32s var(--ease), opacity 0.32s var(--ease);pointer-events: none;white-space: nowrap}.nav__links a:hover{opacity: 1}.nav__links a:hover::before{opacity: 0.45;transform: translate(1px, -1px)}.nav__links a[aria-current="page"]{opacity: 1}.nav__links a[aria-current="page"]::before{opacity: 0.4;transform: translate(0.8px, -0.8px)}.nav__links a[aria-current="page"]::after{content: "";position: absolute;left: 50%;bottom: -0.1rem;width: 3px;height: 3px;border-radius: 50%;background: var(--magenta);transform: translateX(-50%)}.nav__burger{display: none;background: none;border: 0;color: inherit;padding: 0.5rem;cursor: pointer}.nav__burger svg{display: block}@media (max-width: 720px){.nav__burger{display: block}.nav__links{position: fixed;inset: var(--nav-h) 0 auto 0;flex-direction: column;align-items: flex-start;gap: 0;background: var(--paper);color: var(--ink);padding: 0 var(--pad);border-bottom: 1px solid var(--line);max-height: 0;overflow: hidden;transition: max-height 0.45s var(--ease)}.nav__links--open{max-height: 60vh}.nav--over .nav__links a{text-shadow: none}.nav__links a{width: 100%;padding: 1rem 0;border-bottom: 1px solid var(--line-soft);font-size: 0.8rem;opacity: 1}.nav__links a:last-child{border-bottom: 0}.nav__links a[aria-current="page"]::after{display: none}}.hero{position: relative;min-height: 100svh;display: flex;align-items: flex-end;overflow: hidden;background: var(--plum-deep);color: var(--paper)}.hero__media{position: absolute;inset: 0;z-index: 0}.hero__media picture{display: block;width: 100%;height: 100%}.hero__media img{width: 100%;height: 100%;object-fit: cover;object-position: center 16%;transform: scale(1.1) translate3d(0, 0, 0);animation: settle 2.9s var(--ease) 0.1s forwards}@keyframes settle{to{transform: scale(1) translate3d(0, 0, 0)}}.hero__scrim{position: absolute;inset: 0;z-index: 1;background: linear-gradient(to top, rgba(26, 8, 19, 0.94) 0%, rgba(26, 8, 19, 0.62) 34%, rgba(26, 8, 19, 0.18) 62%, rgba(26, 8, 19, 0.55) 100%), linear-gradient(to right, rgba(26, 8, 19, 0.58) 0%, rgba(26, 8, 19, 0.12) 55%, rgba(26, 8, 19, 0) 100%)}.hero-wait .hero__sheet, .hero-wait .hero__bloom, .hero-wait .hero__bloom svg, .hero-wait .bloom__lily, .hero-wait .bloom__tepal, .hero-wait .bloom__stamen, .hero-wait .bloom__pistil, .hero-wait .bloom__stalk, .hero-wait .hero__media img, .hero-wait .hero__title .line > span, .hero-wait .hero__eyebrow, .hero-wait .hero__foot, .hero-wait .nav--expose, .hero-wait .scroll-cue{animation-play-state: paused}.hero__sheet{position: absolute;inset: 0;z-index: 2;background: var(--paper);animation: sheetOut 1.85s cubic-bezier(0.55, 0.06, 0.32, 1) 0.1s both}@supports (mask-image: linear-gradient(#000, transparent)){.hero__sheet{-webkit-mask-image: linear-gradient(112deg, #000 24%, rgba(0,0,0,0.45) 42%, transparent 58%);mask-image: linear-gradient(112deg, #000 24%, rgba(0,0,0,0.45) 42%, transparent 58%);-webkit-mask-size: 280% 280%;mask-size: 280% 280%;-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat;animation-name: expose}}@keyframes sheetOut{to{opacity: 0;visibility: hidden}}@keyframes expose{0%{-webkit-mask-position: 0% 0%;mask-position: 0% 0%;opacity: 1}88%{opacity: 1}100%{-webkit-mask-position: 100% 100%;mask-position: 100% 100%;opacity: 0;visibility: hidden}}.hero__bloom{position: absolute;inset: 0;z-index: 3;overflow: hidden;pointer-events: none;transform: translate3d(var(--bx, 0px), var(--by, 0px), 0)}.hero__bloom svg{position: absolute;top: 50%;right: -20%;height: 100%;aspect-ratio: 1;overflow: visible;transform: translateY(-50%);animation: focusIn 2.4s var(--ease) 0.1s both}@keyframes focusIn{from{filter: blur(5px)}to{filter: blur(0)}}.bloom__lily{fill: rgba(64, 24, 46, 0.26);stroke: rgba(179, 46, 134, 0.30);animation: develop 3s var(--ease) var(--d, 0s) both}@keyframes develop{0%{fill: rgba(64, 24, 46, 0.26);stroke: rgba(179, 46, 134, 0.30)}60%{fill: rgba(246, 242, 233, 0.82);stroke: rgba(240, 183, 218, 0.5)}100%{fill: rgba(246, 242, 233, 0.07);stroke: rgba(240, 183, 218, 0.085)}}.bloom__tepal, .bloom__stamen, .bloom__pistil, .bloom__stalk{transform-box: view-box;transform-origin: 0 0}.bloom__tepal{transform: rotate(var(--a)) translateY(-12px) scaleX(var(--w));animation: unfurl 2.2s cubic-bezier(0.34, 0.75, 0.18, 1) calc(var(--d, 0s) + var(--td, 0s)) both}@keyframes unfurl{0%{transform: rotate(calc(var(--a) * 0.06 + 14deg)) translateY(-1px) scaleX(calc(var(--w) * 0.36)) scaleY(0.85)}70%{transform: rotate(calc(var(--a) * 1.06)) translateY(-12px) scaleX(var(--w)) scaleY(1.02)}100%{transform: rotate(var(--a)) translateY(-12px) scaleX(var(--w)) scaleY(1)}}.bloom__stamen{transform: rotate(var(--a));animation: stamenOut 1.5s var(--ease) calc(var(--d, 0s) + var(--td, 0s)) both}@keyframes stamenOut{0%{transform: rotate(calc(var(--a) * 0.1)) scale(0.14);opacity: 0}26%{opacity: 0}100%{transform: rotate(var(--a)) scale(1);opacity: 1}}.bloom__pistil{animation: pistilOut 1.1s var(--ease) calc(var(--d, 0s) + 0.72s) both}@keyframes pistilOut{0%{transform: scale(0.18);opacity: 0}100%{transform: scale(1);opacity: 1}}.bloom__stalk{animation: stalkGrow 1.9s var(--ease) var(--d, 0s) both}@keyframes stalkGrow{0%{transform: scaleY(0.04);opacity: 0}100%{transform: scaleY(1);opacity: 1}}.bloom__lily use, .bloom__leaf{stroke-width: 1.6}.bloom__filament{fill: none;stroke-width: 3;stroke-linecap: round}.bloom__stem{fill: none;stroke-width: 5;stroke-linecap: round}.bloom__anther, .bloom__speck{stroke: none}.hero__bloom{animation: breathe 15s ease-in-out 3.4s infinite}@keyframes breathe{0%, 100%{opacity: 1}50%{opacity: 0.68}}@media (max-width: 900px){.hero__bloom svg{top: 20%;right: -28%;height: 46%}.hero__bloom{opacity: 0.75}.hero__media img{object-position: center 34%}}.hero__inner{position: relative;z-index: 4;width: 100%;padding: var(--pad);padding-bottom: clamp(2rem, 6vh, 4rem)}.hero__eyebrow{color: rgba(246, 242, 233, 0.72);margin-bottom: 1.1rem;display: block}.hero__title{font-family: var(--display);font-variation-settings: "opsz" 144, var(--display-var);font-weight: 800;text-transform: uppercase;font-size: clamp(2.6rem, 11.5vw, 10rem);line-height: 0.86;letter-spacing: 0.018em;margin: 0 0 1.4rem;text-wrap: balance}.hero__title em{font-style: italic;color: #F0B7DA}.hero__title .line{display: block;overflow: hidden;padding-bottom: 0.08em}.hero__title .line > span{display: block;transform: translateY(105%);animation: rise 1.1s var(--ease) 1.25s forwards}.hero__title .line:nth-child(2) > span{animation-delay: 1.4s}@keyframes rise{to{transform: none}}.hero__eyebrow, .hero__foot{opacity: 0;animation: fadeUp 1s var(--ease) 1.5s forwards}.hero__foot{animation-delay: 1.68s}@keyframes fadeUp{from{opacity: 0;transform: translateY(14px)}to{opacity: 1;transform: none}}.hero__foot{display: flex;flex-wrap: wrap;gap: 1.5rem 2.5rem;align-items: flex-end;justify-content: space-between;border-top: 1px solid rgba(246, 242, 233, 0.24);padding-top: 1.3rem}.hero__blurb{max-width: 34ch;font-size: clamp(0.95rem, 1.4vw, 1.08rem);color: rgba(246, 242, 233, 0.9);margin: 0}.hero__actions{display: flex;gap: 0.8rem;flex-wrap: wrap}@media (max-width: 560px){.hero__eyebrow{font-size: 0.58rem;letter-spacing: 0.14em}.hero__actions{width: 100%;flex-direction: column;align-items: stretch}.hero__actions .btn{justify-content: center;padding: 0.9rem 1rem}}.btn{display: inline-flex;align-items: center;gap: 0.7rem;font-family: var(--mono);font-size: 0.7rem;letter-spacing: 0.16em;text-transform: uppercase;padding: 0.95rem 1.7rem;border-radius: 999px;border: 1px solid currentColor;background: transparent;color: inherit;cursor: pointer;position: relative;overflow: hidden}.btn span{position: relative;z-index: 1;transition: color 0.35s var(--ease) 0.08s}.btn::before{content: "";position: absolute;inset: 0;background: currentColor;transform: translateY(101%);transition: transform 0.45s var(--ease)}.btn:hover::before, .btn:focus-visible::before{transform: translateY(0)}.btn:hover span, .btn:focus-visible span{color: var(--btn-label, var(--paper))}.hero, .manifesto{--btn-label: var(--plum-deep)}.btn--solid{background: var(--ink);color: var(--paper);border-color: var(--ink);--btn-label: var(--ink)}.btn--magenta{background: var(--magenta);border-color: var(--magenta);color: #fff;--btn-label: var(--magenta)}.btn--magenta::before{background: var(--paper)}.marquee{overflow: hidden;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line);background: var(--plum);color: var(--paper);padding: 0.85rem 0;white-space: nowrap}.marquee__track{display: inline-flex;gap: 3rem;padding-right: 3rem;animation: slide 34s linear infinite;will-change: transform}@keyframes slide{to{transform: translateX(-50%)}}.marquee span{transform: skewX(var(--mq-lean, 0deg));transition: transform 0.5s var(--ease);font-family: var(--mono);font-size: 0.72rem;letter-spacing: 0.2em;text-transform: uppercase;display: inline-flex;align-items: center;gap: 3rem}.marquee span::after{content: "✦";opacity: 0.55}.section{padding: clamp(3.5rem, 9vw, 7.5rem) var(--pad)}.section--tight{padding-top: clamp(2rem, 5vw, 3.5rem)}.section--wall{background: var(--wall)}.section--deep{background: var(--plum-deep);color: var(--paper)}.section__head{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 1rem 2rem;margin-bottom: clamp(2rem, 5vw, 3.5rem);padding-bottom: 1.1rem;border-bottom: 1px solid var(--line)}.section--deep .section__head{border-bottom-color: rgba(246, 242, 233, 0.2)}.section--deep .label{color: rgba(246, 242, 233, 0.6)}.section__title{font-family: var(--display);font-variation-settings: "opsz" 96, var(--display-var);font-weight: 700;text-transform: uppercase;font-size: clamp(1.7rem, 4.6vw, 3.2rem);line-height: 1.02;letter-spacing: 0.02em;margin: 0}.section__note{max-width: 46ch;color: var(--ink-soft);margin: 0;font-size: 0.95rem}.section--deep .section__note{color: rgba(246, 242, 233, 0.78)}.wall-room{background: radial-gradient(120% 80% at 50% -10%, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0) 58%), linear-gradient(180deg, var(--wall) 0%, #DEDBD5 100%);padding: clamp(3rem, 8vw, 6.5rem) var(--pad) clamp(4rem, 10vw, 8rem);position: relative}.wall-room::before{content: "";position: absolute;left: 0;right: 0;top: clamp(2rem, 5vw, 3.5rem);height: 1px;background: linear-gradient(90deg, transparent, rgba(23,17,15,0.16) 12%, rgba(23,17,15,0.16) 88%, transparent);z-index: 1}.wall-room::after{content: "";position: absolute;inset: 0;background: radial-gradient( 34rem circle at var(--mx, 50%) var(--my, 28%), rgba(255, 252, 244, 0.92) 0%, rgba(255, 252, 244, 0.44) 26%, rgba(255, 252, 244, 0.12) 46%, rgba(255, 252, 244, 0) 64%);opacity: 0;transition: opacity 0.7s var(--ease);pointer-events: none;z-index: 1}.wall-room.is-lit::after{opacity: 1}.wall-room .hang{position: relative;z-index: 2}@media (hover: none){.wall-room::after{display: none}}.hang{display: grid;grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr));gap: clamp(1.75rem, 3vw, 2.75rem) clamp(1.5rem, 3.5vw, 3rem);align-items: start;max-width: 1500px;margin: 0 auto}.piece{display: block;margin-top: var(--drop, 0px)}@media (max-width: 640px){.piece{margin-top: 0}}.piece__wire{display: block;height: 26px;margin: 0 auto -1px;width: 46px;border-top: 0;position: relative}.piece__wire::before, .piece__wire::after{content: "";position: absolute;top: 0;width: 1px;height: 100%;background: rgba(23, 17, 15, 0.28)}.piece__wire::before{left: 0;transform-origin: top;transform: rotate(-9deg)}.piece__wire::after{right: 0;transform-origin: top;transform: rotate(9deg)}.frame--a{--moulding: linear-gradient(148deg, #6E5320 0%, #D9BE73 20%, #A8842F 46%, #5C4515 72%, #C7A85C 100%);--lip: clamp(8px, 1vw, 13px)}.frame--b{--moulding: linear-gradient(150deg, #7A5C1E 0%, #EBD79A 24%, #B08D33 50%, #634B14 76%, #D4B968 100%);--lip: clamp(12px, 1.45vw, 19px)}.frame--c{--moulding: linear-gradient(146deg, #5E4A1C 0%, #BFA059 22%, #8A6C26 48%, #4A3A11 74%, #AD9450 100%);--lip: clamp(6px, 0.8vw, 10px)}.frames-gilt{--bevel-top: rgba(255, 246, 214, 0.42)}.frames-black .frame--a{--moulding: linear-gradient(148deg, #2B2320 0%, #16110F 45%, #332A26 100%)}.frames-black .frame--b{--moulding: linear-gradient(150deg, #3B2233 0%, #1E0F1A 48%, #442838 100%)}.frames-black .frame--c{--moulding: linear-gradient(146deg, #322C22 0%, #191509 46%, #3C3422 100%)}.frames-black{--bevel-top: rgba(255, 250, 240, 0.16)}.frame{background: var(--moulding, linear-gradient(148deg, #2B2320 0%, #16110F 45%, #332A26 100%));padding: var(--lip, clamp(8px, 1vw, 13px));box-shadow: inset 0 1px 0 var(--bevel-top, rgba(255, 250, 240, 0.16)), inset 0 -1px 0 rgba(0, 0, 0, 0.55), inset 1px 0 0 rgba(255, 250, 240, 0.05), 0 1px 1px rgba(23, 17, 15, 0.16), 0 10px 22px -8px rgba(23, 17, 15, 0.34), 0 26px 50px -22px rgba(23, 17, 15, 0.42);transition: box-shadow 0.5s var(--ease), transform 0.5s var(--ease)}.piece:hover .frame{transform: translateY(-5px);box-shadow: inset 0 1px 0 var(--bevel-top, rgba(255, 250, 240, 0.18)), inset 0 -1px 0 rgba(0, 0, 0, 0.55), inset 1px 0 0 rgba(255, 250, 240, 0.05), 0 1px 1px rgba(23, 17, 15, 0.18), 0 18px 34px -10px rgba(23, 17, 15, 0.4), 0 44px 74px -26px rgba(23, 17, 15, 0.5)}.frame__mat{background: #FBF8F1;padding: clamp(11px, 1.5vw, 18px);position: relative;box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.42), inset 0 2px 4px -1px rgba(23, 17, 15, 0.20)}.frame__mat::after{content: "";position: absolute;inset: clamp(7px, 1.1vw, 13px);border: 1px solid rgba(179, 46, 134, 0.22);pointer-events: none;transition: border-color 0.45s var(--ease), inset 0.45s var(--ease)}.frame__img{position: relative;overflow: hidden;background: var(--paper-2);aspect-ratio: var(--ar, 4 / 5)}.frame__img img{width: 100%;height: 100%;object-fit: cover;transition: filter 0.6s;filter: saturate(0.94)}.frame__img::before{content: "";position: absolute;inset: 0;z-index: 2;pointer-events: none;box-shadow: inset 0 2px 6px rgba(23, 17, 15, 0.26), inset 0 0 0 1px rgba(23, 17, 15, 0.11)}.frame__img::after{content: "";position: absolute;inset: 0;z-index: 3;background: linear-gradient(122deg, rgba(214, 233, 255, 0.16) 0%, rgba(255, 255, 255, 0.04) 26%, rgba(255, 255, 255, 0) 52%);pointer-events: none;transition: opacity 0.5s var(--ease)}.piece:hover .frame__img::after, .piece:focus-visible .frame__img::after{opacity: 0.45}.frame__corners{--cs: clamp(11px, 1.5vw, 17px);position: absolute;inset: 0;z-index: 4;pointer-events: none;background: linear-gradient(135deg, rgba(247, 242, 231, 0.82) 0 50%, transparent 50%) top left, linear-gradient(225deg, rgba(247, 242, 231, 0.82) 0 50%, transparent 50%) top right, linear-gradient(45deg, rgba(247, 242, 231, 0.82) 0 50%, transparent 50%) bottom left, linear-gradient(315deg, rgba(247, 242, 231, 0.82) 0 50%, transparent 50%) bottom right;background-size: var(--cs) var(--cs);background-repeat: no-repeat;filter: drop-shadow(0 1px 1px rgba(23, 17, 15, 0.3))}.placard{margin: 1.1rem auto 0;text-align: center;max-width: 30ch}.piece:hover .frame__mat::after, .piece:focus-visible .frame__mat::after{border-color: rgba(179, 46, 134, 0.5)}.placard__title::before{content: attr(data-label);position: absolute;inset: 0;z-index: -1;color: var(--magenta);opacity: 0;transform: translate(0, 0);transition: transform 0.34s var(--ease), opacity 0.34s var(--ease);pointer-events: none}.piece:hover .placard__title::before, .piece:focus-visible .placard__title::before{opacity: 0.45;transform: translate(1.1px, -1.1px)}.placard__title{position: relative;isolation: isolate;font-family: var(--display);font-variation-settings: "opsz" 40, var(--display-var);font-weight: 600;text-transform: uppercase;font-size: 0.94rem;letter-spacing: 0.06em;line-height: 1.3;display: block;margin-bottom: 0.34rem}.placard__meta{font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.15em;text-transform: uppercase;color: var(--ink-faint);display: block}.placard__meta em{font-style: normal;color: var(--magenta)}.toc{border-top: 1px solid var(--line)}.toc__row{display: grid;grid-template-columns: 3.2rem 1fr auto;gap: 1.5rem;align-items: center;padding: clamp(1.3rem, 3vw, 2.3rem) 0;border-bottom: 1px solid var(--line);position: relative;overflow: hidden;transition: padding-left 0.45s var(--ease), color 0.3s}.toc__row:hover{padding-left: 1.1rem;color: var(--magenta)}.toc__num{font-family: var(--mono);font-size: 0.68rem;color: var(--ink-faint)}.toc__row:hover .toc__num{color: var(--magenta)}.toc__plate{position: absolute;right: clamp(150px, 17%, 250px);top: 50%;height: calc(100% - 1.6rem);aspect-ratio: 4 / 5;overflow: hidden;background: var(--paper-2);opacity: 0;transform: translateY(-50%);transition: opacity 0.3s var(--ease);pointer-events: none}.toc__plate img{width: 100%;height: 100%;object-fit: cover;transform: scale(1.06);transition: transform 0.5s var(--ease)}.toc__row:hover .toc__plate, .toc__row:focus-visible .toc__plate{opacity: 1}.toc__row:hover .toc__plate img, .toc__row:focus-visible .toc__plate img{transform: scale(1)}@media (max-width: 900px){.toc__plate{display: none}}.toc__name{font-family: var(--display);font-variation-settings: "opsz" 72, var(--display-var);font-weight: 600;text-transform: uppercase;font-size: clamp(1.05rem, 2.7vw, 1.7rem);letter-spacing: 0.03em;line-height: 1.14}.toc__year{font-family: var(--mono);font-size: 0.68rem;color: var(--ink-faint)}.toc__row:hover .toc__year{color: var(--magenta)}.card.is-gone{cursor: default}.card.is-gone .card__media img{filter: saturate(0.35) contrast(0.94) brightness(1.06)}.card.is-gone .card__name, .card.is-gone .card__price{color: var(--ink-faint)}.card.is-gone .card__price{text-decoration: line-through}.card__tag.is-gone{background: rgba(23, 17, 15, 0.55);color: var(--paper);letter-spacing: 0.14em}.card.is-gone .card__cta{color: var(--ink-faint)}.card.is-gone:hover .card__media img{transform: none}.shop-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr));gap: clamp(1.4rem, 3vw, 2.6rem) clamp(1rem, 2vw, 1.6rem)}.card{display: block;position: relative}.card__media{position: relative;overflow: hidden;background: var(--plum);aspect-ratio: 1 / 1;margin-bottom: 0.9rem}.card__media img{width: 100%;height: 100%;object-fit: cover;transition: opacity 0.5s var(--ease), transform 0.9s var(--ease)}.card__media img + img, .card__media picture + picture img{position: absolute;inset: 0;opacity: 0}.card:hover .card__media img + img, .card:hover .card__media picture + picture img{opacity: 1}.card:hover .card__media img{transform: scale(1.045)}.card__tag{position: absolute;top: 0.7rem;left: 0.7rem;z-index: 2;font-family: var(--mono);font-size: 0.55rem;letter-spacing: 0.16em;text-transform: uppercase;background: var(--paper);color: var(--ink);padding: 0.3rem 0.6rem;border-radius: 999px}.card__tag--soon{background: var(--ink);color: var(--paper)}.card__row{display: flex;justify-content: space-between;gap: 1rem;align-items: baseline}.card__name{font-family: var(--display);font-variation-settings: "opsz" 40, var(--display-var);font-weight: 600;text-transform: uppercase;font-size: 0.88rem;letter-spacing: 0.055em;line-height: 1.3}.card__price{font-family: var(--mono);font-size: 0.72rem;color: var(--ink-soft);white-space: nowrap}.card__sub{font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ink-faint);margin-top: 0.32rem}.card__cta{margin-top: 0.6rem;font-family: var(--mono);font-size: 0.62rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--magenta);opacity: 0;transform: translateY(4px);transition: opacity 0.35s var(--ease), transform 0.35s var(--ease)}.card:hover .card__cta{opacity: 1;transform: translateY(0)}@media (hover: none){.card__cta{opacity: 1;transform: none}}.proj-hero{padding: calc(var(--nav-h) + clamp(2.5rem, 7vw, 5rem)) var(--pad) clamp(2rem, 5vw, 3.5rem)}.proj-hero__top{display: flex;justify-content: space-between;gap: 1rem;flex-wrap: wrap;margin-bottom: clamp(1.5rem, 4vw, 2.6rem)}.proj-title{font-family: var(--display);font-variation-settings: "opsz" 120, var(--display-var);font-weight: 800;text-transform: uppercase;font-size: clamp(2.1rem, 8vw, 6.4rem);line-height: 0.9;letter-spacing: 0.014em;margin: 0 0 clamp(1.5rem, 4vw, 2.6rem);text-wrap: balance}.proj-meta{display: grid;grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));gap: 1.6rem 2.4rem;border-top: 1px solid var(--line);padding-top: 1.4rem}.proj-meta dt{font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.16em;text-transform: uppercase;color: var(--ink-faint);margin-bottom: 0.45rem}.proj-meta dd{margin: 0;font-size: 0.95rem;line-height: 1.55}.proj-statement{max-width: 62ch;font-size: clamp(1rem, 1.5vw, 1.08rem);line-height: 1.68;margin: 0 0 clamp(2rem, 5vw, 3.2rem);color: var(--ink-soft)}.proj-statement p{margin: 0 0 1.2rem}.proj-statement p:last-child{margin-bottom: 0}.proj-statement p.is-lede{font-family: var(--serif);font-size: clamp(1.35rem, 2.8vw, 2rem);line-height: 1.34;letter-spacing: -0.012em;color: var(--ink);margin-bottom: 1.6rem}.proj-count{font-family: var(--mono);font-size: 0.66rem;letter-spacing: 0.16em;color: var(--ink-faint)}.proj-count b{color: var(--magenta);font-weight: 400}.plates{display: flex;flex-direction: column;gap: clamp(1rem, 2.6vw, 2.2rem)}.plate{position: relative;background: var(--paper-2);overflow: hidden}.plate img{width: 100%;height: auto}.plate--full{margin: 0 calc(var(--pad) * -1)}.plate--pair{display: grid;grid-template-columns: 1fr 1fr;gap: inherit;background: none}.plate--pair > figure{margin: 0;background: var(--paper-2);overflow: hidden}.plate--inset{max-width: 74%;margin-inline: auto}.plate--right{max-width: 60%;margin-left: auto}@media (max-width: 720px){.plate--pair{grid-template-columns: 1fr}.plate--inset, .plate--right{max-width: 100%;margin: 0}}.plate figcaption{font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ink-faint);padding: 0.6rem 0 0}.pager{display: grid;grid-template-columns: 1fr 1fr;border-top: 1px solid var(--line)}.pager a{padding: clamp(1.6rem, 4vw, 2.8rem) var(--pad);transition: background 0.35s}.pager a:hover{background: var(--wall)}.pager a + a{border-left: 1px solid var(--line);text-align: right}.pager__name{font-family: var(--display);font-variation-settings: "opsz" 72, var(--display-var);font-weight: 600;text-transform: uppercase;font-size: clamp(0.95rem, 2.4vw, 1.5rem);letter-spacing: 0.04em;line-height: 1.2;display: block;margin-top: 0.4rem}.split{display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: clamp(2rem, 5vw, 5rem);align-items: start}@media (max-width: 860px){.split{grid-template-columns: 1fr}}.lede{font-family: var(--serif);font-size: clamp(1.5rem, 3.6vw, 2.5rem);line-height: 1.3;letter-spacing: -0.015em;margin: 0 0 1.8rem}.prose{max-width: 60ch;color: var(--ink-soft)}.prose p{margin: 0 0 1.15rem}.facts{list-style: none;margin: 0;padding: 0;border-top: 1px solid var(--line)}.facts li{display: flex;justify-content: space-between;gap: 1.5rem;padding: 0.95rem 0;border-bottom: 1px solid var(--line);font-size: 0.92rem}.facts b{font-weight: 500}.facts span{font-family: var(--mono);font-size: 0.66rem;letter-spacing: 0.14em;text-transform: uppercase;color: var(--ink-faint);flex: none}.foot{background: var(--ink);color: var(--paper);padding: clamp(3rem, 7vw, 5.5rem) var(--pad) 2rem}.foot__grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));gap: 2.5rem;padding-bottom: 3rem;border-bottom: 1px solid rgba(246, 242, 233, 0.18)}.foot h4{font-family: var(--mono);font-size: 0.62rem;letter-spacing: 0.18em;text-transform: uppercase;color: rgba(246,242,233,0.5);margin: 0 0 1.1rem;font-weight: 400}.foot ul{list-style: none;margin: 0;padding: 0}.foot li{margin-bottom: 0.6rem}.foot a{opacity: 0.82;transition: opacity 0.25s, color 0.25s}.foot a:hover{opacity: 1;color: #F0B7DA}.foot__wordmark{font-family: var(--display);font-variation-settings: "opsz" 120, var(--display-var);font-weight: 700;text-transform: uppercase;font-size: clamp(2.2rem, 11vw, 7.6rem);line-height: 0.92;letter-spacing: 0.02em;margin: 2.5rem 0 0;color: rgba(246, 242, 233, 0.13);user-select: none}.foot__fine{display: flex;flex-wrap: wrap;gap: 0.6rem 1.6rem;justify-content: space-between;font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.13em;text-transform: uppercase;color: rgba(246,242,233,0.42);padding-top: 1.5rem}.manifesto{background: var(--plum-deep);color: var(--paper);padding: clamp(4.5rem, 12vw, 10rem) var(--pad);position: relative;overflow: hidden}.manifesto::before{content: "";position: absolute;inset: -30% -10% auto -10%;height: 130%;background: radial-gradient(60% 60% at 18% 0%, rgba(179, 46, 134, 0.42), transparent 70%);pointer-events: none}.manifesto__inner{position: relative;max-width: 1200px;margin: 0 auto}.manifesto__label{color: rgba(246, 242, 233, 0.55);display: block;margin-bottom: clamp(1.5rem, 4vw, 2.5rem)}.manifesto__text{font-family: var(--serif);font-weight: 400;font-size: clamp(1.85rem, 6.2vw, 5.2rem);line-height: 1.06;letter-spacing: -0.025em;margin: 0;text-wrap: balance}.manifesto__text em{font-style: italic;color: #F0B7DA}.manifesto__text .w{display: inline-block}.manifesto__foot{margin-top: clamp(2rem, 5vw, 3.5rem);padding-top: 1.5rem;border-top: 1px solid rgba(246, 242, 233, 0.2);display: flex;flex-wrap: wrap;gap: 1rem 2.5rem;align-items: baseline;justify-content: space-between}.manifesto__foot p{margin: 0;max-width: 48ch;color: rgba(246, 242, 233, 0.82);font-size: 0.98rem}.js .frame__img img, .js .plate img{opacity: 0;transition: opacity 0.8s var(--ease), transform 0.9s var(--ease), filter 0.6s}.js .frame__img img.is-loaded, .js .plate img.is-loaded{opacity: 1}[data-reveal] .frame__img img, [data-reveal] .plate img{filter: saturate(0.2) brightness(1.3) contrast(0.72) sepia(0.55) hue-rotate(162deg);transition: filter 1.6s var(--ease)}[data-reveal].is-in .frame__img img{filter: saturate(0.94)}[data-reveal].is-in .plate img{filter: none}.js [data-reveal]{opacity: 0;transform: translateY(18px) scale(0.988);transition: opacity 0.7s var(--pass), transform 0.8s var(--pass);transition-delay: var(--delay, 0s);will-change: opacity, transform}.js [data-reveal].is-in{opacity: 1;transform: none}.js [data-reveal].is-done{will-change: auto}.js.page-index .toc__row[data-reveal]{opacity: 1;transform: none}.js.page-index .toc__row[data-reveal]::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 1px;background: var(--magenta);opacity: 0.5;transform: scaleX(0);transform-origin: left;transition: transform 0.55s var(--pass);transition-delay: var(--delay, 0s)}.js.page-index .toc__row[data-reveal].is-in::after{transform: scaleX(1)}.js.page-index .toc__row[data-reveal] > *{-webkit-mask-image: linear-gradient(90deg, #000 0 44%, transparent 53%);mask-image: linear-gradient(90deg, #000 0 44%, transparent 53%);-webkit-mask-size: 260% 100%;mask-size: 260% 100%;-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat;-webkit-mask-position: 100% 0;mask-position: 100% 0;transition: -webkit-mask-position 0.6s var(--pass), mask-position 0.6s var(--pass);transition-delay: calc(var(--delay, 0s) + 0.16s)}.js.page-index .toc__row[data-reveal].is-in > *{-webkit-mask-position: 0% 0;mask-position: 0% 0}.js.page-index .toc__row[data-reveal].is-done > *{-webkit-mask-image: none;mask-image: none}.js.page-gallery .piece[data-reveal]{opacity: 1;transform: none;-webkit-mask-image: url("../img/bleed-mask.png");mask-image: url("../img/bleed-mask.png");-webkit-mask-size: 200% 300%;mask-size: 200% 300%;-webkit-mask-repeat: no-repeat;mask-repeat: no-repeat;-webkit-mask-position: var(--bx, 0%) 100%;mask-position: var(--bx, 0%) 100%;transition: -webkit-mask-position 1.15s var(--ease), mask-position 1.15s var(--ease);transition-delay: var(--delay, 0s)}.js.page-gallery .piece[data-reveal].is-in{-webkit-mask-position: var(--bx, 0%) 0%;mask-position: var(--bx, 0%) 0%}.js [data-reveal].is-done{-webkit-mask-image: none;mask-image: none}.lb{position: fixed;inset: 0;z-index: 200;background: rgba(18, 8, 14, 0.94);display: flex;align-items: center;justify-content: center;padding: clamp(1rem, 4vw, 3rem);opacity: 0;visibility: hidden;transition: opacity 0.4s var(--ease), visibility 0.4s}.lb--open{opacity: 1;visibility: visible}.lb img{max-width: 100%;max-height: 88vh;object-fit: contain;box-shadow: 0 30px 80px -20px rgba(0,0,0,0.7)}.lb__close, .lb__nav{position: absolute;background: none;border: 1px solid rgba(246,242,233,0.34);color: var(--paper);width: 46px;height: 46px;border-radius: 50%;cursor: pointer;display: grid;place-items: center;transition: background 0.3s, border-color 0.3s}.lb__close:hover, .lb__nav:hover{background: rgba(246,242,233,0.14);border-color: var(--paper)}.lb__close{top: clamp(1rem, 3vw, 2rem);right: clamp(1rem, 3vw, 2rem)}.lb__nav--prev{left: clamp(0.6rem, 2.5vw, 2rem);top: 50%;transform: translateY(-50%)}.lb__nav--next{right: clamp(0.6rem, 2.5vw, 2rem);top: 50%;transform: translateY(-50%)}.lb__count{position: absolute;bottom: clamp(1rem, 3vw, 2rem);left: 50%;transform: translateX(-50%);font-family: var(--mono);font-size: 0.66rem;letter-spacing: 0.16em;color: rgba(246,242,233,0.7)}.skip{position: absolute;left: -9999px;background: var(--ink);color: var(--paper);padding: 0.8rem 1.2rem;z-index: 300;font-family: var(--mono);font-size: 0.7rem}.skip:focus{left: 1rem;top: 1rem}:focus-visible{outline: 2px solid var(--magenta);outline-offset: 3px}.scroll-cue{position: absolute;right: var(--pad);bottom: clamp(2rem, 6vh, 4rem);z-index: 4;writing-mode: vertical-rl;font-family: var(--mono);font-size: 0.6rem;letter-spacing: 0.22em;text-transform: uppercase;color: rgba(246,242,233,0.62);display: flex;align-items: center;gap: 0.8rem;opacity: 0;animation: fadeUp 0.9s var(--ease) 2.1s forwards}.scroll-cue::after{content: "";width: 1px;height: 54px;background: linear-gradient(to bottom, rgba(246,242,233,0.62), transparent);animation: cue 2.4s ease-in-out infinite}@keyframes cue{0%,100%{transform: scaleY(0.35);transform-origin: top}50%{transform: scaleY(1);transform-origin: top}}@media (max-width: 720px){.scroll-cue{display: none}}.film{position: relative;aspect-ratio: 16 / 9;overflow: hidden;cursor: pointer}.film img{width: 100%;height: 100%;object-fit: cover;display: block}.film iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0}.film__play{position: absolute;inset: 0;margin: auto;width: 5rem;height: 5rem;padding: 0;border: 1px solid rgba(255,255,255,.65);border-radius: 50%;background: rgba(20,8,16,.32);backdrop-filter: blur(2px);cursor: pointer;transition: background .35s ease, transform .35s ease}.film__play::after{content: "";position: absolute;inset: 0;margin: auto;width: 0;height: 0;transform: translateX(3px);border-left: 1.15rem solid #fff;border-top: .7rem solid transparent;border-bottom: .7rem solid transparent}.film:hover .film__play{background: rgba(20,8,16,.55);transform: scale(1.06)}.film__play:focus-visible{outline: 2px solid #fff;outline-offset: 4px}@media (prefers-reduced-motion: reduce){.film__play, .film:hover .film__play{transition: none;transform: none}}.foot__legal{text-transform: none;letter-spacing: 0.02em;max-width: 46rem}
