@view-transition { navigation: auto; }
html[data-motion="reduced"] ::view-transition-group(*), html[data-motion="reduced"] ::view-transition-old(*),
html[data-motion="reduced"] ::view-transition-new(*) { animation: none !important; }
::view-transition-group(*) { animation-duration: 550ms; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 300ms; }
::view-transition-old(*.favor-still):not(:only-child), ::view-transition-new(*.favor-still):not(:only-child) { animation-name: none; mix-blend-mode: normal; }
html:active-view-transition-type(turn-fwd, turn-back) .fcard__img img { view-transition-name: none !important; }
html:active-view-transition-type(turn-fwd, turn-back) .site-header { view-transition-name: site-header; }
html:active-view-transition-type(turn-fwd, turn-back)::view-transition-group(site-header),
html:active-view-transition-type(turn-fwd, turn-back)::view-transition-old(site-header),
html:active-view-transition-type(turn-fwd, turn-back)::view-transition-new(site-header) { animation: none; }
html:active-view-transition-type(turn-fwd)::view-transition-new(root) { animation: fp-in-r 600ms cubic-bezier(.16, 1, .3, 1) both; box-shadow: -26px 0 48px rgb(0 0 0 / .28); }
html:active-view-transition-type(turn-back)::view-transition-new(root) { animation: fp-in-l 600ms cubic-bezier(.16, 1, .3, 1) both; box-shadow: 26px 0 48px rgb(0 0 0 / .28); }
html:active-view-transition-type(turn-fwd)::view-transition-old(root), html:active-view-transition-type(turn-back)::view-transition-old(root) { animation: none; }
@keyframes fp-in-r { from { transform: translateX(100%); } }
@keyframes fp-in-l { from { transform: translateX(-100%); } }
@media (max-width: 767.98px) { html:active-view-transition-type(turn-fwd)::view-transition-new(root), html:active-view-transition-type(turn-back)::view-transition-new(root) { animation-duration: 500ms; } }
.gpage, .fpage { background: var(--pf-paper, #F2EEE6); }
.gallery { --gutter: var(--pf-margin, clamp(20px, 3.2vw, 64px)); background: var(--pf-paper, #F2EEE6); color: var(--pf-ink, #1A1916); padding: calc(var(--_header-h) + 28px) 0 0; }
.gwrap { width: 100%; max-width: calc(1600px + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.gallery :focus-visible { outline: 2px solid var(--pf-ribbon, #7B2D20); outline-offset: 3px; }
html { scroll-padding-top: calc(var(--_header-h) + 24px); }
.gcrumbs .crumbs { list-style: none; padding: 0; margin: 0; }
.gcrumbs .crumbs li { display: inline-flex; align-items: center; gap: .75em; }
.gcrumbs .crumbs [aria-current] { display: inline-flex; align-items: center; min-height: 32px; }
.gintro { display: grid; gap: 18px; padding: 24px 0 28px; }
.gintro__h1 { margin: 0; font-family: var(--_f-display); font-weight: 300; font-size: var(--pf-fs-display-l, clamp(36px, 5vw, 80px)); line-height: .98; }
.gintro__h1 em { font-style: italic; }
.gintro__lede { margin: 0; max-width: 34em; font-size: var(--pf-fs-lede, 20px); line-height: 1.45; font-weight: 300; }
.ghonesty { margin: 10px 0 0; max-width: 46em; font-size: 14px; line-height: 1.5; color: var(--pf-ink-2, #5A554C); }
.ghonesty a, .gintro__turn a, .gfoot a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.gintro__turn { margin: 12px 0 0; font-size: 15px; }
@media (min-width: 1024px) {
  .gintro { grid-template-columns: 1fr 1fr; align-items: end; gap: 48px; }
}
.link-arrow-plain { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; color: inherit;
  text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; cursor: pointer; }
.gskip { position: absolute; left: -9999px; }
.gskip:focus { position: static; display: inline-flex; min-height: 44px; align-items: center; padding: 0 12px; background: var(--pf-ink); color: var(--pf-paper); }
.wall__bay:focus { outline: none; }
.gf { border-top: 1px solid var(--pf-hairline, #CFC8BA); border-bottom: 1px solid var(--pf-hairline, #CFC8BA); margin-bottom: 28px; }
html.no-js .gf, html.no-js .gsummary { display: none; }
.gnojs { display: none; }
html.no-js .gnojs { display: grid; gap: 10px; padding: 14px 0 22px; border-top: 1px solid var(--pf-hairline); margin-bottom: 18px; }
.gnojs p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--pf-ink-2, #5A554C); }
.cindex-plain { display: flex; flex-wrap: wrap; gap: 0 18px; margin: 0; padding: 0; list-style: none; }
.cindex-plain a { display: inline-flex; min-height: 44px; align-items: center; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: inherit; }
.gf__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 24px; padding: 10px 0; align-items: baseline; }
.gf__label { margin: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink-2, #5A554C); }
.gf__opts { display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px; margin: 0; padding: 0; list-style: none; }
.gf__groups { display: grid; grid-template-columns: auto auto minmax(0, 1fr); column-gap: 18px; align-items: baseline; }
.gf__groups > .gf__opts { grid-column: 1; grid-row: 1; }
.gf__grp { grid-column: 2 / 4; display: grid; grid-template-columns: subgrid; align-items: baseline; }
.gf__grp > .gf__sub { grid-column: 1; }
.gf__grp > .gf__opts { grid-column: 2; }
@media (max-width: 479.98px) {
  .gf__groups { grid-template-columns: minmax(0, 1fr); }
  .gf__grp { grid-column: 1; grid-template-columns: minmax(0, 1fr); padding-top: 6px; }
  .gf__grp > .gf__opts { grid-column: 1; }
}
.gf__opt, .gf__link { display: inline-flex; align-items: center; min-height: 32px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--pf-ink-2, #5A554C);
  font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.gf__opt:hover, .gf__link:hover { color: var(--pf-ink); }
.gf__opt[aria-pressed="true"], .gf__link.is-current { color: var(--pf-ink); text-decoration-color: currentColor; }
.gf__sub { display: inline-flex; align-items: center; min-height: 32px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink-2, #5A554C); white-space: nowrap; }
.gf__clear { min-height: 44px; padding: 0 2px; border: 0; background: none; cursor: pointer; font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink);
  text-decoration: underline; text-underline-offset: 6px; }
.gf__clear[hidden] { display: none; }
.gf__toggle-row { display: none; }
.gf__sheetbar { display: none; }
@media (min-width: 1024px) {
  .gf__panel { position: relative; padding: 6px 0; }
  .gf__row { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); }
  .gf__panel { padding-right: 5.5rem; }
  .gf__clear--rail { position: absolute; right: 0; top: 16px; min-height: 32px; }
}
@media (max-width: 1023.98px) {
  .gf { border-bottom: 1px solid var(--pf-hairline); }
  .gf__toggle-row { display: flex; align-items: center; gap: 14px; min-height: 52px; background: var(--pf-paper); }
  .gf__toggle { flex: none; white-space: nowrap; min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink); cursor: pointer; }
  .gf__sel { flex: 1 1 auto; min-width: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pf-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .gf.is-filtered { position: sticky; top: var(--_header-h); z-index: 20; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); background: var(--pf-paper);
    border-top-color: transparent; }
  .gf.is-filtered .gf__sel::before { content: "· "; }
  .gf__panel { position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; max-height: 78svh; overflow-y: auto; padding: 4px var(--gutter) max(18px, env(safe-area-inset-bottom));
    background: var(--pf-paper); border-top: 1px solid var(--pf-rule-strong, #8C8577); box-shadow: 0 -18px 40px rgb(18 17 16 / .2); transform: translateY(105%); visibility: hidden;
    transition: transform 300ms var(--_ease), visibility 300ms; }
  .gf.is-open .gf__panel { transform: none; visibility: visible; transition: transform 300ms var(--_ease), visibility 0s; }
  .gf__sheetbar { display: flex; align-items: center; justify-content: space-between; min-height: 52px; border-bottom: 1px solid var(--pf-hairline); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
  .gf__done { min-height: 44px; padding: 0 4px; border: 0; background: none; font: inherit; color: var(--pf-ink); cursor: pointer; text-decoration: underline; text-underline-offset: 6px; }
  .gf__opt, .gf__link { min-height: 44px; }
  .gf__clear--rail { margin: 8px 0 0; }
  html[data-motion="reduced"] .gf__panel { transition: none; }
}
.gsummary { position: sticky; top: var(--_header-h); z-index: 20; display: flex; align-items: center; gap: 28px; height: 48px; margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter);
  background: color-mix(in oklab, var(--pf-paper) 97%, transparent); border-bottom: 1px solid var(--pf-hairline); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.gsummary[hidden] { display: none; }
.gsummary__sel { flex: 1 1 auto; margin: 0; min-width: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gsummary__btn { min-height: 32px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink);
  text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; }
.gsummary__btn:hover { text-decoration-color: currentColor; }
.gsummary__btn[hidden] { display: none; }
@media (max-width: 1023.98px) { .gsummary { display: none !important; } }
.gpop { position: fixed; inset: calc(var(--_header-h) + 48px) var(--gutter, 64px) auto auto; width: min(960px, calc(100vw - 2 * var(--gutter, 64px))); margin: 0; padding: 8px 24px 14px;
  background: var(--pf-paper); color: var(--pf-ink); border: 1px solid var(--pf-hairline); border-radius: 2px; box-shadow: 0 18px 44px rgb(18 17 16 / .22); }
.gpop:not(:popover-open) { display: none; }
.gpop .gf__row { grid-template-columns: 7rem minmax(0, 1fr); }
.wall { container-type: inline-size; position: relative; }
.wall__bay { --C: 8; --g: 6px; display: grid; grid-template-columns: repeat(var(--C), minmax(0, 1fr)); gap: var(--g);
  grid-auto-rows: calc((100cqw - (var(--C) - 1) * var(--g)) / var(--C) * 1.25); margin: 0 0 var(--g); padding: 0; list-style: none; }
.wprint { position: relative; grid-area: var(--a8); min-width: 0; contain: layout style; }
@media (min-width: 1024px) and (max-width: 1279.98px) { .wall__bay { --C: 6; } .wprint { grid-area: var(--a6); } }
@media (min-width: 768px) and (max-width: 1023.98px) { .wall__bay { --C: 4; --g: 4px; } .wprint { grid-area: var(--a4); } }
@media (max-width: 767.98px) { .wall__bay { --C: 2; --g: 4px; } .wprint { grid-area: var(--a2); } }
.wall--cat .wall__bay { --C: 4; }
.wall--cat .wprint { grid-area: var(--a4); }
@media (min-width: 1280px) { .wall--cat { width: calc(8 / 12 * 100%); margin-inline: auto; } }
@media (max-width: 767.98px) { .wall--cat .wall__bay { --C: 2; } .wall--cat .wprint { grid-area: var(--a2); } }
.wprint__link { position: absolute; inset: 0; display: block; color: inherit; text-decoration: none; border-radius: 2px; }
.wprint__img { position: absolute; inset: 0; overflow: hidden; border-radius: 2px; background: var(--ph, var(--pf-paper-2)); contain: strict; }
.wprint__img picture, .wprint__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
html.js .wprint__img img[loading="lazy"] { opacity: 0; transition: opacity 300ms linear; }
html.js .wprint__img img.is-in { opacity: 1; }
html[data-motion="reduced"] .wprint__img img { transition: none; }
.wprint__cap { position: absolute; left: 6px; bottom: 6px; max-width: calc(100% - 12px); padding: 6px 8px; border-radius: 2px; background: rgb(242 238 230 / .92); color: var(--pf-ink, #1A1916);
  font-family: var(--_f-display); font-weight: 400; font-size: 15px; line-height: 1.15; }
.wprint--hero .wprint__cap { font-size: 18px; }
html.js .wprint__cap { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.wprint.is-hot .wprint__link { outline: 1px solid var(--pf-ink, #1A1916); outline-offset: 3px; }
.wprint.is-selected .wprint__link { outline: 2px solid var(--pf-ink, #1A1916); outline-offset: 3px; }
.wprint .wprint__link:focus-visible, .wprint.is-hot .wprint__link:focus-visible, .wprint.is-selected .wprint__link:focus-visible { outline: 2px solid var(--pf-ribbon, #7B2D20); outline-offset: 3px; }
.wprint__img::after { content: ""; position: absolute; inset: 0; background: var(--pf-paper, #F2EEE6); opacity: 0; pointer-events: none;
  transition: opacity 600ms cubic-bezier(.65, 0, .35, 1); }
.wprint__img { transition: transform 600ms cubic-bezier(.65, 0, .35, 1); }
.wprint.is-receded .wprint__img::after { opacity: .74; }
.wprint.is-receded[data-luma="dark"] .wprint__img::after { opacity: .82; }
.wprint.is-receded[data-luma="light"] .wprint__img::after { opacity: .66; }
.wprint.is-receded .wprint__img { transform: scale(.94); }
.wprint--hero.is-receded .wprint__img { transform: scale(.97); }
html[data-motion="reduced"] .wprint__img { transition: none; }
html[data-motion="reduced"] .wprint.is-receded .wprint__img { transform: none; }
html[data-motion="reduced"] .wprint__img::after { transition: opacity 150ms linear !important; transition-duration: 150ms !important; }
@media (forced-colors: active) {
  .wprint__img::after { display: none; }
  .wprint.is-receded .wprint__img img { opacity: .4 !important; }
  .glabel, .gsheet, .gempty { border: 1px solid CanvasText; }
}
.glabel { position: fixed; z-index: 40; top: 0; left: 0; display: grid; gap: 8px; width: var(--lw, 300px); box-sizing: border-box; padding: 18px 20px 16px; background: var(--pf-paper, #F2EEE6); color: var(--pf-ink, #1A1916);
  border: 1px solid var(--pf-hairline, #CFC8BA); border-radius: 2px; box-shadow: 0 18px 44px rgb(18 17 16 / .22), 0 2px 6px rgb(18 17 16 / .08); cursor: pointer;
  opacity: 0; transform: translateY(6px); transition: opacity 240ms cubic-bezier(.22, 1, .36, 1), transform 240ms cubic-bezier(.22, 1, .36, 1); }
.glabel[hidden] { display: none; }
.glabel.is-in { opacity: 1; transform: none; }
.glabel.is-out { opacity: 0; transition-duration: 160ms; }
html[data-motion="reduced"] .glabel { transition: none; transform: none; }
.glabel__t { font-family: var(--_f-display); font-weight: 400; font-size: 26px; line-height: 1.12; }
.glabel__m { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pf-ink-2, #5A554C); margin: 0; }
.glabel__d { margin: 0; font-size: 15px; line-height: 1.45; color: var(--pf-ink-2, #5A554C); }
.glabel__r { margin-top: 4px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.gsheet { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; display: grid; gap: 12px; max-height: 46svh; padding: 0 var(--gutter, 20px) max(14px, env(safe-area-inset-bottom));
  background: var(--pf-paper, #F2EEE6); color: var(--pf-ink); border-top: 1px solid var(--pf-rule-strong, #8C8577); box-shadow: 0 -18px 40px rgb(18 17 16 / .18);
  transform: translateY(105%); transition: transform 240ms cubic-bezier(.7, 0, .84, 0); }
.gsheet[hidden] { display: none; }
.gsheet.is-in { transform: none; transition: transform 300ms cubic-bezier(.22, 1, .36, 1); }
html[data-motion="reduced"] .gsheet { transition: none; }
.gsheet__grab { justify-self: center; width: 36px; height: 4px; margin: 10px 0 2px; border-radius: 2px; background: var(--pf-hairline); }
.gsheet__top { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: start; }
.gsheet__thumb { width: 72px; height: 90px; object-fit: cover; border-radius: 2px; background: var(--pf-paper-2); }
.gsheet__txt { display: grid; gap: 6px; align-content: start; }
.gsheet__t { margin: 0; font-family: var(--_f-display); font-weight: 400; font-size: 24px; line-height: 1.15; }
.gsheet__t:focus { outline: none; }
.gsheet__t:focus-visible { outline: 2px solid var(--pf-ribbon); outline-offset: 2px; }
.gsheet__txt [data-s-swap], .gsheet [data-s-dek] { transition: opacity 150ms linear; }
.gsheet > [data-s-dek] { margin-left: 86px; }
.gsheet__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gsheet__close { min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pf-ink); cursor: pointer; }
.gsheet__read { color: var(--pf-ink); border: 1px solid var(--pf-rule-strong); }
html.is-sheet-open .sticky-bar, html.is-fsheet-open .sticky-bar { transform: translateY(100%) !important; visibility: hidden !important; }
html.is-sheet-open { scroll-padding-bottom: calc(46svh + 16px); }
.gempty { position: fixed; z-index: 30; left: 50%; bottom: 24px; transform: translateX(-50%); width: min(420px, calc(100vw - 2 * var(--gutter, 20px))); display: grid; gap: 12px;
  padding: 20px 22px; background: var(--pf-paper); color: var(--pf-ink); border: 1px solid var(--pf-hairline); border-radius: 2px; box-shadow: 0 18px 44px rgb(18 17 16 / .22); }
.gempty[hidden] { display: none; }
.gempty__h { margin: 0; font-family: var(--_f-display); font-weight: 400; font-size: 24px; line-height: 1.15; text-wrap: balance; }
.gempty p { margin: 0; color: var(--pf-ink-2); font-size: 15px; }
.gempty__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
@media (max-width: 767.98px) { .gempty { bottom: calc(76px + env(safe-area-inset-bottom)); } }
.gend { display: grid; gap: 18px; padding: 56px 0 28px; margin-top: 48px; border-top: 1px solid var(--pf-hairline); }
.gend:focus { outline: none; }
.gend__line { margin: 0; max-width: 24em; font-family: var(--_f-display); font-weight: 400; font-size: var(--pf-fs-display-s, clamp(24px, 2.2vw, 36px)); line-height: 1.2; }
.gend__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
@media (min-width: 1024px) { .gend { grid-template-columns: 1fr 1fr; align-items: center; } }
.gfoot { display: grid; gap: 10px; padding: 10px 0 64px; max-width: 64em; }
.gfoot:focus { outline: none; }
.gfoot__note { margin: 0; font-size: 11px; line-height: 1.6; letter-spacing: .06em; text-transform: none; color: var(--pf-ink-2, #5A554C); }
.fpage--dark { background: var(--_night, #121110); }
.favor-page { --gutter: var(--pf-margin, clamp(20px, 3.2vw, 64px)); padding: calc(var(--_header-h) + 20px) 0 0; display: block; }
.favor-page.pf-cat { padding-bottom: 0; transition: none; }
.fp-wrap { max-width: none; padding: 0 var(--gutter); }
.favor-page .gcrumbs { padding-bottom: 14px; border-bottom: 1px solid var(--line); color: var(--fg); }
.favor-page .gcrumbs .crumbs { color: var(--fg); }
.fp-row { position: relative; padding: 28px var(--gutter) 0; }
.fp-card { max-width: none; }
.favor-page .fcard__img img { -webkit-user-drag: none; }
.fp-filed { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .2em; margin: 2px 0 6px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); }
.fp-filed a { display: inline-flex; align-items: center; min-height: 32px; color: inherit; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--rule); }
.fp-filed a:hover { text-decoration-color: currentColor; }
.fp-dek { margin: 0 0 6px; color: var(--fg-2); font-size: 16px; }
.favor-page h1.fcard__gift { margin: 0; font-weight: 400; font-size: var(--pf-fs-display-m, clamp(30px, 3.8vw, 56px)); line-height: 1.05; }
.favor-page h2.fcard__label { font-weight: 400; margin-bottom: 0; }
.fp-h::before { content: "[ "; content: "[ " / ""; }
.fp-h::after { content: " ]"; content: " ]" / ""; }
.favor-page .fcard__meta-rest { display: inline-block; }
.fp-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 22px; }
.fp-share { min-height: 44px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); }
.fp-share[hidden] { display: none; }
.fp-promise { margin: 6px 0 0; font-size: 14px; color: var(--fg-2); }
.fret { display: grid; gap: 6px; margin-bottom: 16px; padding: 14px 16px; border-left: 2px solid var(--rule); background: color-mix(in oklab, var(--fg) 5%, var(--bg)); }
.fret p { margin: 0; color: var(--fg-2); }
.fret .fret__h { color: var(--fg); font-family: var(--_f-display); font-size: 22px; }
.fret .fcard__label { margin-top: 0; }
.frel { margin-top: 64px; padding-top: 24px; border-top: 1px solid var(--line); }
.frel__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; }
.frel__head .fcard__label { margin: 0; }
.frel__head a { color: var(--fg); }
.frel__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 18px 0 0; padding: 0; list-style: none; }
.frel__tile { background: transparent; }
.frel__tile a { display: grid; gap: 8px; color: var(--fg); text-decoration: none; }
.frel__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 2px; background: var(--bg); }
.frel__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.favor-page .frel__tile { --fg: inherit; --fg-2: inherit; --rule: inherit; }
.frel__t { font-family: var(--_f-display); font-size: 24px; line-height: 1.15; }
.frel__m { font-size: 11px; letter-spacing: .14em; color: var(--fg-2); }
.frel__tile a:hover .frel__t, .frel__tile a:focus-visible .frel__t { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.fp-back { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 40px 0 0; }
.fp-back a { color: var(--fg); }
.favor-page .gfoot { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.favor-page .gfoot__note { color: var(--fg-2); }
.fp-bar { display: none; }
html.is-seq .favor-page .pf-edge__text, html.is-seq .fp-bar__title { visibility: hidden; }
.fp-edges .pf-edge { text-decoration: none; }
.favor-page .pf-edge--fwd .pf-edge__text { text-align: left; }
@media (min-width: 768px) {
  .favor-page { --edge-col: clamp(56px, 13vw, 210px); --img-cap: 9999px; --img-h: min(56vh, 460px, var(--img-cap)); }
  .fp-wrap { padding-inline: var(--edge-col); }
  .fp-row { display: grid; grid-template-columns: var(--edge-col) minmax(0, 1fr) var(--edge-col); padding-inline: 0; }
  .fp-edges { display: contents; }
  .fp-card { grid-column: 2; grid-row: 1; grid-template-columns: auto minmax(0, 1fr); }
  .favor-page .fcard__img { height: var(--img-h); }
  .favor-page .pf-edge { grid-row: 1; height: var(--img-h); padding-inline: 12px; }
  .favor-page .pf-edge--back { grid-column: 1; justify-content: flex-end; }
  .favor-page .pf-edge--back .pf-edge__text { text-align: right; justify-items: end; order: -1; }
  .favor-page .pf-edge--fwd { grid-column: 3; justify-content: flex-start; }
}
@media (min-width: 1024px) { .favor-page { --img-h: min(64vh, 640px, var(--img-cap)); } }
@media (min-width: 1024px) and (max-height: 760px) { .favor-page { --img-h: min(72vh, 520px, var(--img-cap)); } }
@media (min-width: 768px) and (max-width: 1179.98px) {
  .favor-page .pf-edge { gap: 8px; padding-inline: 6px; }
  .favor-page .pf-edge__text { writing-mode: vertical-rl; max-width: none; max-height: 100%; }
  .favor-page .pf-edge--back .pf-edge__text { transform: rotate(180deg); }
  .favor-page .pf-edge__t { font-size: 17px; }
  .favor-page { --img-cap: calc((100vw - 2 * var(--edge-col) - 15rem - 48px) * 1.25); }
  .frel__list { gap: 16px; }
}
@media (max-width: 767.98px) {
  .favor-page { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .favor-page .gcrumbs .crumbs li:last-child { display: none; }
  .fp-row { padding-top: 0; }
  .fp-card { gap: 0; }
  .favor-page .fcard__img { margin-inline: calc(-1 * var(--gutter)); border-radius: 0; aspect-ratio: auto; height: max(220px, min(125vw, 52svh, calc(100svh - 396px))); }
  .favor-page .fcard__text { padding-top: 16px; max-width: none; }
  .favor-page .fcard__meta { margin-bottom: 8px; }
  .favor-page h1.fcard__gift { font-size: 30px; margin-bottom: 4px; }
  .favor-page .pf-edge { position: fixed; z-index: 3; top: calc(50svh - 70px); height: 140px; width: 44px; padding: 0; }
  .favor-page .pf-edge--back { left: 0; justify-content: flex-start; padding-left: 3px; }
  .favor-page .pf-edge--fwd { right: 0; justify-content: flex-end; padding-right: 3px; }
  .favor-page .pf-edge__lines { width: 12px; height: 100%; }
  .favor-page .pf-edge--fwd .pf-edge__lines i { left: auto; right: calc(var(--i) * 2px); }
  .favor-page .pf-edge--back .pf-edge__lines i { right: auto; left: calc(var(--i) * 2px); }
  .favor-page .pf-edge--fwd .turn__corner { left: auto; right: -1px; transform-origin: 100% 0; transform: rotate(-4deg); }
  .favor-page .pf-edge--back .turn__corner { right: auto; left: -1px; transform-origin: 0 0; transform: scaleX(-1) rotate(-4deg); }
  .favor-page .pf-edge__text { display: none; }
  .fp-bar { display: grid; position: fixed; z-index: 6; left: 0; right: 0; bottom: 0; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; min-height: 56px;
    padding: 0 6px max(6px, env(safe-area-inset-bottom)); background: var(--bg); color: var(--fg); border-top: 1px solid var(--line); }
  .fp-bar__btn { display: grid; place-items: center; width: 48px; height: 48px; color: var(--fg); font-size: 26px; line-height: 1; text-decoration: none; }
  .fp-bar__title { min-width: 0; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--_f-display); font-style: italic; font-size: 17px; color: var(--fg); text-decoration: none; }
  .frel__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .frel__t { font-size: 20px; }
}
.fpage .site-header[data-theme] { background: color-mix(in oklab, var(--page-bg, var(--pf-paper)) 92%, transparent); }
.fpage--c-time { --page-bg: var(--pf-cat-time); } .fpage--c-stone { --page-bg: var(--pf-cat-stone); }
.fpage--c-leather { --page-bg: var(--pf-cat-leather); } .fpage--c-cellar { --page-bg: var(--pf-cat-cellar); }
.fpage--c-table { --page-bg: var(--pf-cat-table); } .fpage--c-paper { --page-bg: var(--pf-cat-paper); }
.fpage--c-craft { --page-bg: var(--pf-cat-craft); } .fpage--c-instrument { --page-bg: var(--pf-cat-instrument); }
.fpage--c-passage { --page-bg: var(--pf-cat-passage); }
.fpage { background: var(--page-bg, var(--pf-paper)); }
.fpage .site-header__chapter, .gpage .site-header__chapter { display: block; }
@media (max-width: 1023.98px) { .fpage .site-header__chapter, .gpage .site-header__chapter { display: none; } }
@media (max-height: 320px) {
  .gpage .site-header, .fpage .site-header { position: absolute; }
  .fp-bar { position: static !important; }
  .favor-page { padding-bottom: 0; }
  .favor-page .pf-edge { display: none; }
  .gpage .sticky-bar { display: none !important; }
  .gf.is-filtered, .gsummary { position: static; }
  html { scroll-padding-top: 8px !important; }
}
@media (max-width: 767.98px) {
  .fpage { scroll-padding-bottom: calc(56px + 16px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767.98px) and (max-height: 500px), (max-width: 359.98px) { .favor-page .pf-edge { display: none; } }
.gerr .gwrap { min-height: 60svh; display: grid; align-content: center; gap: 18px; padding-bottom: 80px; }
.gerr__label { margin: 0; font-size: 11px; letter-spacing: .16em; color: var(--pf-ink-2); }
.gerr__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin: 8px 0 0; }
@media print {
  .gf, .gsummary, .glabel, .gsheet, .gempty, .fp-edges, .fp-bar, .site-header, .sticky-bar { display: none !important; }
  .wprint__cap { position: static !important; width: auto; height: auto; clip: auto; }
}
.journal .gwrap { max-width: calc(1240px + 2 * var(--gutter)); }
.journal .gcrumbs { padding-bottom: 14px; border-bottom: 1px solid var(--pf-hairline); }
.jhead { display: grid; gap: 22px; padding: 28px 0 8px; }
.jhead__text { display: grid; gap: 14px; align-content: end; min-width: 0; }
.jhead__h1 { margin: 0; font-family: var(--_f-display); font-weight: 300; font-size: clamp(36px, 1.6rem + 2.6vw, 66px); line-height: 1.02;
  letter-spacing: var(--pf-track-display, -.01em); text-wrap: balance; }
.jhead__dek { margin: 0; max-width: 34em; font-size: var(--pf-fs-lede, 20px); line-height: 1.45; font-weight: 300; color: var(--pf-ink, #1A1916); text-wrap: pretty; }
.jhead__meta { margin: 4px 0 0; font-size: 11px; letter-spacing: .16em; color: var(--pf-ink-2, #5A554C); }
.jhead__img { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 2px; background: var(--pf-paper-2, #E8E2D6); }
.jhead__img picture, .jhead__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 768px) {
  .jhead { --jgap: clamp(48px, 6vw, 88px); --jimgh: clamp(300px, calc(100svh - var(--_header-h, 72px) - 250px), 520px);
    grid-template-columns: minmax(0, 1fr) min(calc((100% - var(--jgap)) * 5 / 13), calc(var(--jimgh) * .8));
    gap: 48px var(--jgap); align-items: stretch; padding-top: 48px; }
  .jhead__text { display: flex; flex-direction: column; gap: 28px; align-self: start; }
  .jhead__h1 { margin-top: -.08em; font-size: clamp(40px, 1.2rem + 3.4vw, 80px); }
  .jhead__meta { margin-top: 0; padding-top: 16px; max-width: calc(34 * var(--pf-fs-lede, 20px));
    border-top: 1px solid var(--pf-hairline, #CFC8BA); }
  .jhead__img { align-self: start; width: 100%; }
}
@media (max-width: 767.98px) {
  .journal .gcrumbs .crumbs li:last-child { display: none; }
  .jhead { padding-top: 22px; }
  .jhead__img { order: 2; margin-inline: calc(-1 * var(--gutter)); border-radius: 0; aspect-ratio: auto; height: min(115vw, 64svh); }
}
.jart { --jfs: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); --jcol: calc(30 * var(--jfs)); }
.jbody { max-width: var(--jcol); margin-inline: auto; padding: 40px 0 8px; font-size: var(--jfs); line-height: 1.65; color: var(--pf-ink, #1A1916); }
.jbody p { margin: 0 0 1.05em; text-wrap: pretty; }
.jbody > p:first-child { font-size: 1.06em; }
.jbody strong { font-weight: 500; }
.jbody em { font-style: italic; }
.jbody a, .jabout a, .jentry__dek a { color: inherit; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in oklab, currentColor 45%, transparent); transition: text-decoration-color 150ms linear; }
.jbody a:hover, .jbody a:focus-visible, .jabout a:hover, .jabout a:focus-visible { text-decoration-color: currentColor; }
.jbody__h2 { margin: 1.9em 0 .5em; font-family: var(--_f-display); font-weight: 400; font-size: var(--pf-fs-display-s, clamp(24px, 2.2vw, 36px));
  line-height: var(--pf-lh-display-s, 1.15); letter-spacing: var(--pf-track-display, -.01em); text-wrap: balance; }
.jbody__h3 { margin: 1.6em 0 .4em; font-family: var(--_f-display); font-weight: 400; font-style: italic; font-size: 1.35em; line-height: 1.2; }
.jbody__h2:target, .jbody__h3:target { scroll-margin-top: calc(var(--_header-h) + 24px); }
.jbody__list { margin: 0 0 1.2em; padding: 0 0 0 1.6em; }
.jbody__list li { margin: 0 0 .6em; padding-left: .3em; }
.jbody ol.jbody__list li::marker { font-family: var(--_f-mono); font-size: .78em; color: var(--pf-ink-2, #5A554C); }
.jbody ul.jbody__list { list-style: none; padding-left: 1.4em; }
.jbody ul.jbody__list li { position: relative; }
.jbody ul.jbody__list li::before { content: ""; position: absolute; left: -1.1em; top: .82em; width: .6em; height: 1px; background: var(--pf-rule-strong, #8C8577); }
.jbody__rule { margin: 2.2em 0; border: 0; border-top: 1px solid var(--pf-hairline, #CFC8BA); }
.jabout { margin: 28px auto 0; padding-top: 18px; max-width: var(--jcol); border-top: 1px solid var(--pf-hairline, #CFC8BA); font-size: 11px; letter-spacing: .16em; color: var(--pf-ink-2, #5A554C); }
.jabout a { display: inline-flex; align-items: center; min-height: 32px; }
.jrel { margin-top: 72px; border-top-color: var(--pf-hairline, #CFC8BA); }
.jrel .frel__list { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
@media (min-width: 1024px) { .jrel .frel__list { grid-template-columns: repeat(var(--n, 3), minmax(0, 290px)); gap: 28px; } }
@media (max-width: 767.98px) { .jrel .frel__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.jend { margin-top: 64px; }
.jback { margin: 8px 0 0; padding-bottom: 72px; }
.jback a { color: var(--pf-ink, #1A1916); }
@media (max-width: 767.98px) { .jpage-body .site-footer { padding-bottom: calc(72px + 64px + env(safe-area-inset-bottom)); } }
.jintro { padding-bottom: 36px; }
@media (min-width: 1024px) { .jintro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.jintro .gintro__lede { overflow-wrap: break-word; }
.jindex .jend { margin-top: 0; border-top: 0; }
.jlist { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pf-hairline, #CFC8BA); }
.jentry { position: relative; display: grid; gap: 10px; padding: 30px 0 34px; border-bottom: 1px solid var(--pf-hairline, #CFC8BA); }
.jentry__date { margin: 0; font-size: 11px; letter-spacing: .16em; color: var(--pf-ink-2, #5A554C); }
.jentry__text { display: grid; gap: 12px; max-width: 46em; }
.jentry__t { margin: 0; font-family: var(--_f-display); font-weight: 300; font-size: clamp(28px, 1.2rem + 1.9vw, 48px); line-height: 1.06;
  letter-spacing: var(--pf-track-display, -.01em); text-wrap: balance; }
.jentry__t a { color: inherit; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; text-decoration-thickness: 1px;
  transition: text-decoration-color 150ms linear; }
.jentry__t a::after { content: ""; position: absolute; inset: 0; }
.jentry:hover .jentry__t a, .jentry__t a:focus-visible { text-decoration-color: currentColor; }
.jentry__dek { margin: 0; max-width: 40em; font-size: var(--pf-fs-body, 17px); line-height: 1.55; color: var(--pf-ink-2, #5A554C); text-wrap: pretty; }
@media (min-width: 1024px) {
  .jentry { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 24px; align-items: baseline; padding: 40px 0 44px; }
}
html[data-motion="reduced"] .jentry__t a, html[data-motion="reduced"] .jbody a { transition: none; }
.fp-journal { margin: 36px 0 0; }
.fp-journal a { color: var(--fg); font-size: 15px; }
.fp-journal + .fp-back { margin-top: 8px; }
@media print { .jrel, .jend, .jback { display: none !important; } }
