/* Homepage-only arc: viewport budget belongs to artwork, not empty controls. */
.bf-home .bf-home-available { padding: clamp(96px, 9vw, 144px) 0 0; margin-block: 0; }
.bf-home .bf-home-available > .bf-home__container { width: 100%; max-width: none; margin: 0; }
.bf-home-arc { --arc-paper: #f5f5f2; --arc-ink: #22221f; --arc-muted: #797973; --arc-header-offset: 76px; --arc-image-gap: 20px; height: calc(100svh - var(--arc-header-offset) - 12px); min-height: 340px; display: flex; flex-direction: column; position: relative; overflow: clip; color: var(--arc-ink); font-family: Arial, sans-serif; }
.bf-home-arc *, .bf-home-arc *::before, .bf-home-arc *::after { box-sizing: border-box; }
.bf-home-arc__heading { padding: 12px 42px 8px; height: 64px; flex-shrink: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.bf-home-arc__eyebrow, .bf-home-arc__section-number { font-size: 10px; letter-spacing: .13em; color: var(--arc-muted); }
.bf-home-arc__section-number { text-align: right; }
.bf-home-arc__heading h2 { margin: 0; font: normal clamp(30px, 3.2vw, 52px)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.bf-home-arc__stage { flex: 1; min-height: 0; position: relative; outline-offset: -6px; touch-action: pan-y; user-select: none; cursor: grab; }
.bf-home-arc__stage:active { cursor: grabbing; }
.bf-home-arc .bf-home-arc__card { position: absolute; top: calc(50% + var(--arc-image-gap) / 2); left: 50%; width: min(66vw, 660px); height: min(76svh, 840px, calc(100% - var(--arc-image-gap))); padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; cursor: inherit; transform-origin: center; visibility: hidden; }
/* Progressive first paint: no blank module if JavaScript is unavailable. */
.bf-home-arc__card:first-child { visibility: visible; transform: translate(-50%, -50%); }
.wp-site-blocks .bf-home-arc .bf-home-arc__card img { position: absolute; inset: 0; display: block; width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important; margin: 0 !important; object-fit: contain; pointer-events: none; border: 0; border-radius: 0; box-shadow: none; }
.bf-home-arc__card .bf-home-arc__full { opacity: 0; }
.bf-home-arc__card.full-ready .bf-home-arc__full { opacity: 1; }
.bf-home-arc__card:focus-visible, .bf-home-arc__stage:focus-visible { outline: 2px solid #6a5d4b; outline-offset: 8px; }
.bf-home-arc__bottom { flex-shrink: 0; padding: 18px 42px 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; align-items: end; position: relative; z-index: 30; background: var(--arc-paper); }
.bf-home-arc__caption { min-width: 0; line-height: 1.35; overflow-wrap: anywhere; }
.bf-home-arc__actions { position: static; grid-column: 2; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: auto; }
.bf-home-arc__work-link { font: normal 14px/20px Arial, sans-serif; white-space: nowrap; text-decoration: underline; text-underline-offset: 5px; }
.bf-home-arc__work-link span { display: inline-block; margin-left: 8px; }
.bf-home-arc__work-link:hover { opacity: .7; }
.bf-home-arc__kind { color: var(--arc-muted); font-size: 9px; letter-spacing: .1em; }
.bf-home-arc .bf-home-arc__title { margin: 3px 0 0; font: normal 15px/1.25 Arial, sans-serif; }
.bf-home-arc a { color: inherit; }
.bf-home-arc__title a { text-decoration: none; }
.bf-home-arc__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bf-home-arc__navigation { display: flex; align-items: center; gap: 16px; }
.bf-home-arc__navigation button { width: 38px; height: 38px; padding: 0; border: 1px solid #c7c6bf; border-radius: 50%; background: var(--arc-paper); color: inherit; font: normal 20px/1 Arial, sans-serif; cursor: pointer; }
.bf-home-arc__navigation button:hover { background: #eae8e2; }
.bf-home-arc__navigation button:focus-visible, .bf-home-arc a:focus-visible { outline: 2px solid #6a5d4b; outline-offset: 4px; }
.bf-home-arc__counter { font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .07em; min-width: 50px; text-align: center; }
.bf-home-arc__hint { text-align: right; font-size: 11px; color: var(--arc-muted); line-height: 1.5; }
.bf-home-arc__hint span { display: block; }
.bf-home-arc__hint a { display: inline-block; margin-top: 3px; text-decoration: underline; text-underline-offset: 4px; }
.bf-home-arc__progress { height: 2px; flex-shrink: 0; margin: 0 42px; background: #dfded7; }
.bf-home-arc__progress span { display: block; height: 100%; background: #494942; transform-origin: left; }
@media (max-width: 700px) {
  .bf-home .bf-home-available { padding-top: clamp(48px, 10vw, 80px); }
  .bf-home-arc { --arc-image-gap: 0px; }
  .bf-home-arc__heading { height: 76px; padding: 10px 20px 8px; display: block; text-align: center; }
  .bf-home-arc__heading .bf-home-arc__eyebrow { display: block; margin-bottom: 6px; font-size: 9px; }
  .bf-home-arc__section-number { display: none; }
  .bf-home-arc .bf-home-arc__card { width: 86vw; height: min(64svh, 640px, 100%); }
  .bf-home-arc__bottom { padding: 18px 20px 8px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .bf-home-arc__actions { grid-column: 1 / -1; grid-row: 1; }
  .bf-home-arc__caption, .bf-home-arc__hint { grid-row: 2; }
  .bf-home-arc .bf-home-arc__title { font-size: 13px; }
  .bf-home-arc__navigation { gap: 12px; }
  .bf-home-arc__navigation button { width: 44px; height: 44px; font-size: 19px; }
  .bf-home-arc__counter { font-size: 10px; min-width: 45px; }
  .bf-home-arc__hint { text-align: right; margin: 0; }
  .bf-home-arc__hint span { display: none; }
  .bf-home-arc__progress { margin: 0 20px; }
}
@media (min-width: 701px) and (max-height: 800px) {
  .bf-home-arc { --arc-image-gap: 8px; }
  .bf-home-arc__heading { height: 56px; padding-top: 6px; padding-bottom: 4px; }
  .bf-home-arc__heading h2 { font-size: clamp(30px, 3.2vw, 44px); }
  .bf-home-arc__bottom { padding-top: 12px; padding-bottom: 8px; }
  .bf-home-arc__actions { gap: 6px; }
  .bf-home-arc__navigation button { width: 32px; height: 32px; font-size: 18px; }
}
@media (max-height: 600px) {
  .bf-home-arc__heading { height: 54px; padding-top: 6px; }
  .bf-home-arc__heading h2 { font-size: 28px; }
  .bf-home-arc__heading .bf-home-arc__eyebrow { display: none; }
  .bf-home-arc__bottom { padding-bottom: 6px; }
  .bf-home-arc__hint span { display: none; }
}
