@property --room-accent{syntax:"<color>";inherits:true;initial-value:hsl(20 60% 42%)}@property --room-deep{syntax:"<color>";inherits:true;initial-value:hsl(24 30% 18%)}@property --room-wash{syntax:"<color>";inherits:true;initial-value:hsl(30 28% 84%)}.room{--room-paper:var(--paper-warm);--room-ink:var(--ink-900,#121212);--room-ink-soft:color-mix(in oklab,var(--room-deep) 62%,var(--room-ink));--room-accent-ink:color-mix(in oklab,var(--room-accent) 68%,var(--room-ink));--room-rule:color-mix(in oklab,var(--room-deep) 22%,transparent);--room-serif:var(--font-cormorant),"Cormorant Garamond",Georgia,serif;--room-mono:var(--font-jetbrains-mono),ui-monospace,monospace;--room-ease:cubic-bezier(0.22,1,0.36,1);--room-colour-ms:1100ms;position:relative;isolation:isolate;scroll-margin-top:4.5rem;color:var(--room-ink);background:color-mix(in oklab,var(--room-wash) 72%,var(--room-paper));transition:--room-accent var(--room-colour-ms) var(--room-ease),--room-deep var(--room-colour-ms) var(--room-ease),--room-wash var(--room-colour-ms) var(--room-ease),background-color var(--room-colour-ms) var(--room-ease);overflow-x:clip}.dark .room{--room-paper:#15130f;--room-ink:#f3ece0;--room-ink-soft:color-mix(in oklab,var(--room-wash) 60%,var(--room-ink));--room-accent-ink:color-mix(in oklab,var(--room-accent) 55%,var(--room-ink));--room-rule:rgba(243,236,224,.16);background:color-mix(in oklab,var(--room-wash) 16%,var(--room-paper))}.dark .room-button{background:var(--room-ink);border-color:var(--room-ink);color:var(--room-paper)}.dark .room-cover-blank{background:color-mix(in oklab,var(--room-deep) 70%,#000)}.room-bloom{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.room-bloom>img{position:absolute;inset:-14%;width:128%;max-width:none;height:128%;object-fit:cover;filter:blur(70px) saturate(1.1) brightness(1.12);transform:scale(1.04);opacity:.5;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 78% 72% at 62% 42%,#000 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 78% 72% at 62% 42%,#000 20%,transparent 100%)}.dark .room-bloom>img{opacity:.42;mix-blend-mode:screen;filter:blur(64px) saturate(.7) brightness(.55)}.room:not(.room-preview):before{content:"";position:absolute;inset:0 0 auto 0;height:9rem;z-index:0;pointer-events:none;background:linear-gradient(to bottom,var(--paper-pure,#fdfdfd),transparent)}.dark .room:not(.room-preview):before{background:linear-gradient(to bottom,var(--background,#0a0a0a),transparent)}.room:not(.room-preview):after{content:"";inset:auto 0 0 0;height:11rem;background:linear-gradient(to bottom,transparent,var(--room-paper))}.room-grain,.room:not(.room-preview):after{position:absolute;z-index:0;pointer-events:none}.room-grain{inset:0;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.dark .room-grain{mix-blend-mode:screen;opacity:.12}.room-inner{position:relative;z-index:1;margin:0 auto;max-width:96rem;padding:3.25rem clamp(1.25rem,4vw,3.5rem) 0}.room-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem 3rem;padding-bottom:1.4rem}.room-head h2{margin:.7rem 0 0;font-weight:500;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1;letter-spacing:-.02em}.room-head h2,.room-head p{font-family:var(--room-serif)}.room-head p{margin:0;max-width:34rem;font-size:1.1rem;line-height:1.4;color:var(--room-ink-soft);text-align:right;text-wrap:balance}@media (max-width:1023px){.room-head{grid-template-columns:1fr}.room-head p{text-align:left}}.room-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding-bottom:1.1rem;border-bottom:1px solid var(--room-rule);font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}.room-filters-label{color:var(--room-ink-soft);opacity:.75}.room-chip{appearance:none;background:none;border:0;padding:.55rem 0;color:var(--room-ink-soft);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;position:relative;transition:color .3s;min-height:44px}.room-chip:after{content:"";position:absolute;left:0;right:0;bottom:.35rem;height:1px;background:var(--room-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--room-ease)}.room-chip:focus-visible,.room-chip:hover{color:var(--room-ink);outline:none}.room-chip[aria-pressed=true]{color:var(--room-ink)}.room-chip[aria-pressed=true]:after{transform:scaleX(1)}.room-chip small{margin-left:.35em;opacity:.55;letter-spacing:.1em}.room-filters-moods{display:flex;flex-wrap:wrap;gap:0 1.35rem;margin-left:auto}@media (max-width:1023px){.room-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:1.25rem;margin:0 calc(-1 * clamp(1.25rem, 4vw, 3.5rem));padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:clamp(1.25rem,4vw,3.5rem)}.room-filters::-webkit-scrollbar{display:none}.room-filters>*{flex:none}.room-filters-moods{display:contents}}.room-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:min(72vh,700px);padding:clamp(2rem,4vw,3.5rem) 0 1.5rem}@media (max-width:1023px){.room-stage{grid-template-columns:minmax(0,1fr);gap:1.75rem;min-height:0;padding-top:1.5rem}.room-copy{min-width:0}}.room-eyebrow{display:flex;align-items:center;gap:.8rem;font-family:var(--room-mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--room-accent-ink)}.room-eyebrow:before{content:"";width:2.25rem;height:1px;background:var(--room-accent-ink)}.room-title{margin:1.1rem 0 0;font-family:var(--room-serif);font-weight:500;font-size:clamp(2.6rem,6vw,6.2rem);line-height:.94;letter-spacing:-.025em;text-wrap:balance;color:var(--room-ink)}.room-title-link{color:inherit;text-decoration:none;font:inherit;letter-spacing:inherit;background:none;border:0;padding:0;text-align:inherit;cursor:pointer}.room-title-link:focus-visible{outline:2px solid var(--room-accent);outline-offset:6px}.room-title-link:hover{color:color-mix(in oklab,var(--room-deep) 70%,var(--room-ink))}.room-byline{margin:1rem 0 0;font-family:var(--room-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--room-ink-soft)}.room-excerpt{margin:1.75rem 0 0;max-width:36ch;font-family:var(--room-serif);font-size:clamp(1.25rem,1.55vw,1.6rem);line-height:1.32;color:color-mix(in oklab,var(--room-ink) 88%,var(--room-deep));text-wrap:pretty}.room-excerpt:first-letter{float:left;margin:.12em .12em 0 0;font-size:3.1em;line-height:.78;font-weight:500;color:var(--room-accent)}.room-excerpt-note{display:block;margin-top:.9rem;font-size:9px;letter-spacing:.22em;opacity:.8}.room-excerpt-note,.room-meta{font-family:var(--room-mono);text-transform:uppercase;color:var(--room-ink-soft)}.room-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:1.5rem 0 0;font-size:10px;letter-spacing:.18em}.room-meta b{font-weight:500;color:var(--room-ink)}.room-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin:2rem 0 0}.room-button{display:inline-flex;align-items:center;gap:.9rem;min-height:48px;padding:0 1.6rem;background:var(--room-deep);color:var(--room-paper);border:1px solid var(--room-deep);border-radius:999px;font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color var(--room-colour-ms) var(--room-ease),border-color var(--room-colour-ms) var(--room-ease),transform .5s var(--room-ease)}.room-button:hover{transform:translateY(-1px)}.room-button:focus-visible{outline:2px solid var(--room-accent);outline-offset:3px}.room-button svg{width:14px;height:14px;transition:transform .5s var(--room-ease)}.room-button:hover svg{transform:translateX(3px)}.room-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--room-ink);text-decoration:none;border-bottom:1px solid var(--room-rule)}.room-link:hover{border-color:var(--room-accent);color:var(--room-accent-ink)}.room-link svg{width:13px;height:13px}.room-lectern{position:relative;height:clamp(340px,48vh,480px);perspective:1400px}.room-lectern-slot{position:absolute;left:50%;top:50%;aspect-ratio:2/3;height:100%;translate:-50% -50%;transform-style:preserve-3d;transition:transform .9s var(--room-ease),opacity .9s var(--room-ease),filter .9s var(--room-ease);will-change:transform}.room-cover{appearance:none;border:0;padding:0;background:none;cursor:pointer;display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:3px;box-shadow:0 40px 70px -30px color-mix(in oklab,var(--room-deep) 70%,transparent),0 12px 22px -14px color-mix(in oklab,var(--room-deep) 60%,transparent);transition:box-shadow var(--room-colour-ms) var(--room-ease)}.room-cover:focus-visible{outline:2px solid var(--room-accent);outline-offset:4px}.room-cover img{display:block;width:100%;height:100%;object-fit:cover}.room-cover-blank{display:flex;align-items:flex-end;width:100%;height:100%;padding:1.25rem;background:var(--room-deep);color:var(--room-paper);font-family:var(--room-serif);font-size:1.5rem;line-height:1.05;text-align:left}.room-cover-mark{position:absolute;right:.55rem;top:.55rem;padding:.3rem .5rem;background:rgba(8,8,8,.86);color:#f3ddb0;font-family:var(--room-mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.room-cover-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.14),rgba(255,255,255,0) 38%)}.room-lectern-nav{position:absolute;left:0;right:0;bottom:-2.6rem;display:flex;align-items:center;justify-content:center;gap:1.2rem;font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;color:var(--room-ink-soft)}.room-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--room-rule);background:color-mix(in oklab,var(--room-paper) 70%,transparent);color:var(--room-ink);cursor:pointer;transition:border-color .3s,background-color .3s}.room-arrow:hover{border-color:var(--room-accent)}.room-arrow:focus-visible{outline:2px solid var(--room-accent);outline-offset:2px}.room-arrow svg{width:15px;height:15px}@media (max-width:1023px){.room-lectern{display:none}}.room-strip{display:none}@media (max-width:1023px){.room-strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * clamp(1.25rem, 4vw, 3.5rem));padding:1.25rem calc(50vw - 30vw) 1.75rem;-webkit-overflow-scrolling:touch}.room-strip::-webkit-scrollbar{display:none}.room-strip-item{flex:0 0 60vw;max-width:260px;aspect-ratio:2/3;scroll-snap-align:center;scroll-snap-stop:always;transition:transform .6s var(--room-ease),opacity .6s var(--room-ease)}.room-strip-item[data-active=false]{transform:scale(.9);opacity:.62}}.room-rail{position:relative;margin-top:3.4rem;padding:1.4rem 0 2.4rem;border-top:1px solid var(--room-rule)}.room-rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--room-ink-soft)}.room-rail-head a{color:var(--room-ink);text-decoration:none;border-bottom:1px solid var(--room-rule)}.room-rail-head a:hover{color:var(--room-accent);border-color:var(--room-accent)}.room-rail-scroller{display:flex;align-items:flex-end;gap:.55rem;margin:1.1rem calc(-1 * clamp(1.25rem, 4vw, 3.5rem)) 0;padding:.9rem clamp(1.25rem,4vw,3.5rem) .25rem;overflow-x:auto;scrollbar-width:none}.room-rail-scroller::-webkit-scrollbar{display:none}.room-rail-item{flex:none;width:58px;aspect-ratio:2/3;appearance:none;border:0;padding:0;background:var(--room-deep);cursor:pointer;overflow:hidden;border-radius:2px;opacity:.78;transition:transform .45s var(--room-ease),opacity .45s var(--room-ease),box-shadow .45s var(--room-ease)}.room-rail-item img{display:block;width:100%;height:100%;object-fit:cover}.room-rail-item:hover{opacity:1;transform:translateY(-6px)}.room-rail-item[aria-current=true]{opacity:1;transform:translateY(-10px) scale(1.08);box-shadow:0 14px 24px -14px color-mix(in oklab,var(--room-deep) 80%,transparent),0 0 0 1px var(--room-accent)}.room-rail-item:focus-visible{outline:2px solid var(--room-accent);outline-offset:3px}@media (min-width:1024px){.room-rail-item{width:66px}}.room-elsewhere{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem;margin-top:2.2rem;border-top:1px solid var(--room-rule)}.room-elsewhere a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:1rem;align-items:center;padding:1.2rem 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--room-rule)}.room-elsewhere strong{font-family:var(--room-serif);font-weight:500;font-size:1.35rem;line-height:1.1;letter-spacing:-.01em;transition:color .3s}.room-elsewhere span{grid-column:1;font-size:.82rem;line-height:1.4;color:var(--room-ink-soft);margin-top:.25rem}.room-elsewhere svg{grid-column:2;grid-row:1/span 2;width:16px;height:16px;transition:transform .5s var(--room-ease)}.room-elsewhere a:hover strong,.room-elsewhere svg{color:var(--room-accent-ink)}.room-elsewhere a:hover svg{transform:translateX(4px)}.room-elsewhere a:focus-visible{outline:2px solid var(--room-accent);outline-offset:2px}@media (max-width:1023px){.room-elsewhere{grid-template-columns:minmax(0,1fr);gap:0}}.room-preview{position:fixed;inset:0;z-index:120;display:grid;color:var(--room-ink);overflow:hidden}.room-preview .room-bloom>img{mask-image:radial-gradient(ellipse 70% 80% at 28% 45%,#000 15%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 28% 45%,#000 15%,transparent 100%)}@media (max-width:1023px){.room-preview .room-bloom>img{mask-image:radial-gradient(ellipse 90% 60% at 50% 20%,#000 15%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 20%,#000 15%,transparent 100%)}}.room-preview-sheet{position:relative;z-index:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100dvh}.room-preview-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.25rem,4vw,3.5rem);font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--room-ink-soft);pointer-events:none}.room-preview-bar>*{pointer-events:auto}.room-close{display:inline-flex;align-items:center;gap:.7rem;white-space:nowrap;min-height:44px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--room-rule);background:color-mix(in oklab,var(--room-paper) 82%,transparent);color:var(--room-ink);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.room-close:hover{border-color:var(--room-accent)}.room-close:focus-visible{outline:2px solid var(--room-accent);outline-offset:2px}.room-close svg{width:14px;height:14px}.room-preview-body{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,6rem);align-items:start;margin:0 auto;max-width:92rem;padding:1rem clamp(1.25rem,4vw,3.5rem) 6rem}.room-preview-cover{position:sticky;top:6rem;display:flex;justify-content:center;align-items:flex-start}.room-preview-cover .room-cover{width:min(100%,420px);height:auto;aspect-ratio:2/3;cursor:default}.room-preview-copy{padding-top:1.5rem}.room-preview-title{margin:1rem 0 0;font-family:var(--room-serif);font-weight:500;font-size:clamp(2.4rem,4.8vw,5rem);line-height:.94;letter-spacing:-.025em;text-wrap:balance}.room-preview-sub{margin:.8rem 0 0;font-family:var(--room-serif);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.5rem);color:var(--room-ink-soft)}.room-preview-prose{margin:2rem 0 0;max-width:62ch;font-family:var(--room-serif);font-size:clamp(1.2rem,1.45vw,1.45rem);line-height:1.42;color:color-mix(in oklab,var(--room-ink) 90%,var(--room-deep))}.room-preview-prose p{margin:0 0 1em;text-wrap:pretty}.room-preview-prose p:first-child:first-letter{float:left;margin:.1em .1em 0 0;font-size:3.4em;line-height:.78;font-weight:500;color:var(--room-accent)}.room-doors{margin:2.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--room-rule);max-width:40rem}.room-door{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--room-rule);color:inherit;text-decoration:none}.room-door strong{display:block;font-family:var(--room-serif);font-weight:500;font-size:1.45rem;line-height:1.1;letter-spacing:-.01em;transition:color .3s}.room-door span{display:block;margin-top:.3rem;font-size:.84rem;line-height:1.45;color:var(--room-ink-soft)}.room-door svg{width:18px;height:18px;color:var(--room-accent-ink);transition:transform .5s var(--room-ease)}.room-door:focus-visible strong,.room-door:hover strong{color:var(--room-accent-ink)}.room-door:hover svg{transform:translateX(5px)}.room-door:focus-visible{outline:none}.room-door[data-primary=true] strong{font-size:1.7rem}.room-kindred{margin:3rem 0 0}.room-kindred-head{font-family:var(--room-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--room-ink-soft)}.room-kindred-list{display:flex;gap:.9rem;margin:1rem 0 0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.room-kindred-list::-webkit-scrollbar{display:none}.room-kindred-item{flex:none;width:92px;appearance:none;border:0;padding:0;background:none;cursor:pointer;text-align:left;color:inherit}.room-kindred-item .room-cover{height:auto;aspect-ratio:2/3;box-shadow:0 10px 18px -12px color-mix(in oklab,var(--room-deep) 70%,transparent)}.room-kindred-item small{display:block;margin-top:.55rem;font-family:var(--room-serif);font-size:.95rem;line-height:1.15}.room-kindred-item:hover .room-cover{transform:translateY(-4px)}.room-kindred-item:focus-visible{outline:2px solid var(--room-accent);outline-offset:3px}@media (max-width:1023px){.room-preview-body{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-bottom:5rem}.room-preview-copy{min-width:0}.room-preview-bar{justify-content:flex-end}.room-preview-bar span:first-child{display:none}.room-preview-cover{position:static;justify-content:flex-start}.room-preview-cover .room-cover{width:min(52vw,240px)}.room-preview-copy{padding-top:0}.room-preview-handle{position:absolute;left:50%;top:.55rem;width:42px;height:4px;border-radius:2px;background:var(--room-rule);translate:-50% 0}}@media (prefers-reduced-motion:reduce){.room,.room-button,.room-chip:after,.room-cover,.room-door svg,.room-lectern-slot,.room-rail-item,.room-strip-item{transition:none!important}}@media (prefers-reduced-motion:no-preference){html:has(.room){scroll-behavior:smooth}}