/* Homepage presentation only. Hero and ending composition belong to their modules. */
.bf-home {
  --bf-visual-section-gap: 96px;
  --bf-visual-intro-gap: 48px;
  --bf-visual-title: 60px;
  --bf-visual-secondary: 30px;
  --bf-visual-body: 20px;
  --bf-visual-intro: 21px;
  --bf-visual-cta: 18px;
}
.bf-home .bf-home-section:not(.bf-home-hero):not(.bf-home-about):not(.bf-home-footer):not(.bf-home-available) {
  margin-block: 0;
  padding-block: calc(var(--bf-visual-section-gap) / 2);
}
/* Arc has no trailing section padding; keep its internal viewport budget intact. */
.bf-home .bf-home-available.bf-home-section { padding-block: calc(var(--bf-visual-section-gap) / 2) 0; }
.bf-home .bf-home-available + .bf-home-section:not(.bf-home-hero):not(.bf-home-about):not(.bf-home-footer) { padding-top: var(--bf-visual-section-gap); }

.bf-home .bf-home-section:not(.bf-home-hero):not(.bf-home-about):not(.bf-home-footer) :is(.bf-home-heading,h2.bf-practice__heading,.bf-practice__heading h2,.bf-suitman__heading,.bf-suitman__heading h2) {
  font-family: var(--wp--preset--font-family--studio-sans, sans-serif);
  font-size: var(--bf-visual-title);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.bf-home .bf-home-section:not(.bf-home-hero) .bf-home-heading { margin-bottom: var(--bf-visual-intro-gap) !important; }
.bf-home .bf-home-section:not(.bf-home-hero) :is(.bf-practice__statement,.bf-practice__statement h3,.bf-suitman__subtitle,.bf-suitman__subtitle h3,.bf-home-direction h3) {
  font-family: var(--wp--preset--font-family--studio-sans, sans-serif);
  font-size: var(--bf-visual-secondary);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.bf-home .bf-home-section:not(.bf-home-hero) :is(.bf-practice__copy,.bf-suitman__copy p,.bf-pattern-wall__intro p,.bf-digital__intro p,.bf-shop-intro) {
  font-family: var(--wp--preset--font-family--studio-sans, sans-serif);
  font-size: var(--bf-visual-intro);
  line-height: 1.55;
}
.bf-home .bf-home-section:not(.bf-home-hero) .bf-home-direction__text { font-size: var(--bf-visual-body); line-height: 1.55; }
.bf-home .bf-home-section:not(.bf-home-hero) :is(.bf-practice__intro,.bf-suitman__intro,.bf-pattern-wall__intro,.bf-digital__intro,.bf-shop-header) { margin-bottom: var(--bf-visual-intro-gap); }
.bf-home .bf-home-section:not(.bf-home-hero) :is(.bf-pattern-wall__intro,.bf-digital__intro,.bf-shop-header,.bf-visual-section-header) .bf-home-heading { margin-bottom: 0 !important; }
.bf-home .bf-practice__heading { margin-bottom: 20px; }
.bf-home .bf-practice__statement { margin-bottom: 20px; }

/* Header box and all arc stage/card/image dimensions remain unchanged. */
.bf-home .bf-home-arc__heading { padding-block: 0; }
.bf-home .bf-home-section .bf-home-arc__heading h2 { margin: 0; font-family: var(--wp--preset--font-family--studio-sans, sans-serif); font-size: var(--bf-visual-title); font-weight: 400; line-height: 1; letter-spacing: -.035em; text-transform: uppercase; white-space: nowrap; }
.bf-home .bf-home-arc__work-link { line-height: 20px; }
.bf-home .bf-home-arc__hint a { line-height: 16.5px; }

.bf-home .bf-visual-section-header { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; margin-bottom: var(--bf-visual-intro-gap); }
.bf-home .bf-visual-section-header .bf-home-action { flex-shrink: 0; }
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px 28px; }
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__info { min-width: 0; flex: 1; }
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__info + .bf-exhibitions__cta { flex-shrink: 0; margin-top: 0; }
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption:has(> .bf-exhibitions__info) :is(.bf-exhibitions__location,.bf-exhibitions__region) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
/* Current captions have no info wrapper yet; retain their original block flow. */
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption:not(:has(> .bf-exhibitions__info)) { display: block; }
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption h3 { font-family: var(--wp--preset--font-family--studio-sans, sans-serif); font-size: 30px; line-height: 1.2; }
.bf-home .bf-home-section:not(.bf-home-hero) :is(.bf-shop-price,.bf-home-caption-meta,.work-card__meta),
.bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption p { font-size: 13px; line-height: 1.55; }

/* Suppress the shared leading arrow; JS marks only anchors needing a trailing one. */
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) :is(a.bf-action-link,a.bf-home-action,a.bf-practice__cta,a.bf-suitman__cta,.bf-pattern-wall__links a,.bf-digital__intro a,a.bf-exhibitions__cta,a.bf-home-arc__work-link,.bf-home-arc__hint a,.bf-home-arc__caption a[href*="contact"],a.bf-ending-about__link) {
  font-family: var(--wp--preset--font-family--studio-sans, sans-serif);
  font-size: var(--bf-visual-cta);
  font-weight: 400;
  letter-spacing: .035em;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: .28em;
  text-decoration-skip-ink: auto;
}
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) :is(a.bf-action-link,a.bf-home-action,a.bf-practice__cta,a.bf-suitman__cta,.bf-pattern-wall__links a,.bf-digital__intro a,a.bf-exhibitions__cta,a.bf-home-arc__work-link,.bf-home-arc__hint a,.bf-home-arc__caption a[href*="contact"],a.bf-ending-about__link)::before { content: none; }
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) a[data-bf-visual-arrow="append"]::after { content: " ↗" / "" !important; display: inline; }
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) a[data-bf-visual-arrow="inline"]::after { content: none !important; }
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) :is(a.bf-action-link,a.bf-home-action,a.bf-practice__cta,a.bf-suitman__cta,.bf-pattern-wall__links a,.bf-digital__intro a,a.bf-exhibitions__cta,a.bf-home-arc__work-link,.bf-home-arc__hint a,.bf-home-arc__caption a[href*="contact"],a.bf-ending-about__link):is(:hover,:focus-visible) { text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: .34em; opacity: .8; }
.wp-site-blocks .bf-home .bf-home-section:not(.bf-home-hero) :is(a.bf-shop-link,a.bf-exhibitions__cta,a.bf-home-arc__work-link,.bf-home-arc__hint a,.bf-home-arc__caption a[href*="contact"]) { font-size: 16px; }
@media (min-width: 1024px) {
  .wp-site-blocks .bf-home .bf-home-section.bf-home-available:not(.bf-home-hero) .bf-home-arc__hint a { font-size: var(--bf-visual-cta); text-transform: uppercase; }
}

body:has(main.bf-home) .primary-navigation .has-child > .wp-block-navigation__submenu-container {
  background: #f5f5f2;
  border: 1px solid #dfdfd8;
  border-radius: 3px;
  box-shadow: 0 4px 14px rgb(30 30 24 / .045);
  text-align: left;
}
body:has(main.bf-home) .primary-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { min-height: 44px; text-align: left; }
body:has(main.bf-home) .primary-navigation[data-bf-visual-enhanced] .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item { animation: none; }
@media (min-width: 1181px) {
  body:has(main.bf-home) .primary-navigation .has-child > .wp-block-navigation__submenu-container { width: 230px !important; }
  body:has(main.bf-home) .primary-navigation .has-child:has(> a[href*="/about/"]) > .wp-block-navigation__submenu-container { width: 290px !important; }
}
@media (max-width: 1180px) {
  body:has(main.bf-home) .primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child.is-binfeng-submenu-open > .wp-block-navigation__submenu-container { background: #f5f5f2 !important; border: 1px solid #dfdfd8; max-width: 100%; width: 100%; }
  body:has(main.bf-home) .primary-navigation[data-bf-visual-enhanced] .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child.is-binfeng-submenu-open > .wp-block-navigation__submenu-container { opacity: var(--bf-visual-panel-opacity, 1) !important; }
}
@media (max-width: 1180px) {
  .bf-home { --bf-visual-section-gap: 72px; --bf-visual-intro-gap: 40px; --bf-visual-title: 48px; --bf-visual-intro: 20px; }
}
@media (max-width: 767px) {
  .bf-home { --bf-visual-section-gap: 52px; --bf-visual-intro-gap: 32px; --bf-visual-title: clamp(32px, 8.8vw, 44px); --bf-visual-secondary: 26px; --bf-visual-body: 18px; --bf-visual-intro: 19px; --bf-visual-cta: 16px; }
  .bf-home .bf-home-arc__heading { padding-block: 6px; }
  .bf-home .bf-home-arc__heading h2 { white-space: normal; }
  .bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__caption:has(> .bf-exhibitions__info) { flex-wrap: wrap; }
  .bf-home .bf-exhibitions :is(.bf-exhibitions__active,.bf-exhibitions__cards) .bf-exhibitions__info { flex-basis: 100%; }
}
@media (min-width: 701px) and (max-height: 800px) {
  .bf-home .bf-home-arc__heading { padding-block: 0; }
  .bf-home .bf-home-section .bf-home-arc__heading h2 { font-size: 52px; }
}
@media (min-width: 701px) and (max-width: 767px) and (max-height: 800px) {
  .bf-home .bf-home-section .bf-home-arc__heading h2 { font-size: 44px; }
}
@media (max-height: 600px) {
  .bf-home .bf-home-section .bf-home-arc__heading h2 { font-size: 44px; }
}
@media (max-width: 700px) and (max-height: 600px) {
  .bf-home .bf-home-section .bf-home-arc__heading h2 { font-size: clamp(28px, 7.5vw, 36px); }
}

/* One editorial header system. Feature media/engines retain their own geometry. */
.bf-home .bf-home-section .bf-home-intro {
  display: grid;
  grid-template-columns: minmax(0,42fr) minmax(0,52fr);
  column-gap: 6%;
  row-gap: 24px;
  align-items: start;
  width: min(92vw,1440px);
  max-width: none;
  margin-block: 0 var(--bf-visual-intro-gap);
  margin-inline: calc((100% - min(92vw,1440px)) / 2);
}
.bf-home .bf-home-section .bf-home-intro > :is(h2,div:first-child),
.bf-home .bf-home-section .bf-home-intro h2 {
  margin: 0 !important;
  max-width: none;
  white-space: normal;
}
.bf-home .bf-home-section .bf-home-intro h2 { font-size: var(--bf-visual-title); line-height: 1.05; }
.bf-home .bf-home-intro__copy { min-width: 0; }
.bf-home .bf-home-section .bf-home-intro__copy :is(p,.bf-shop-intro,.bf-practice__copy) {
  margin: 0;
  max-width: none;
  font-family: var(--wp--preset--font-family--studio-sans,sans-serif);
  font-size: var(--bf-visual-intro);
  line-height: 1.55;
  letter-spacing: normal;
  color: inherit;
}
.bf-home .bf-home-intro__copy > :is(h3,.bf-suitman__subtitle) { margin: 0 0 16px; }
.bf-home .bf-home-intro__copy :is(.bf-practice__copy p+p,.bf-shop-intro p+p) { margin-top: 12px; }
.bf-home .bf-home-intro__copy > a,
.bf-home .bf-home-intro__copy .bf-pattern-wall__links { display: inline-flex; margin-top: 20px; }
.bf-home .bf-home-intro__copy a { text-transform: uppercase; }
.bf-home .bf-home-intro__copy .bf-pattern-wall__links { display: flex; gap: 28px; flex-wrap: wrap; }
.bf-home .bf-visual-section-header .bf-home-intro__copy > a { margin-top: 0; }
.bf-home .bf-home-section .bf-home-arc__heading.bf-home-intro {
  width: min(92%,1440px);
  height: auto;
  padding: 0;
  margin-inline: auto;
  text-align: left;
}
.bf-home .bf-home-intro .bf-home-arc__eyebrow { display: block; }
.bf-home .bf-home-section.bf-home-directions > .bf-home__container > h2 {
  max-width: none;
  font-size: clamp(48px,4.4vw,60px);
  white-space: nowrap;
}
.bf-home .bf-home-direction__text { max-width: none; }
.bf-home [data-home-journey] a.bf-home-hero__cta { font-size: 30px; font-weight: 600; }
/* User review: subtitles belong to their titles, not to the body column. */
.bf-home .bf-home-intro__title :is(.bf-practice__statement,.bf-suitman__subtitle) { margin: 18px 0 0; text-transform: none; max-width: none; }
/* Restore the title-left / archive-link-far-right Exhibition header. */
.bf-home .bf-home-section .bf-visual-section-header.bf-home-intro { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 20px 32px; }
.bf-home .bf-visual-section-header .bf-home-intro__copy { flex-shrink: 0; }
/* Spend the Arc's height on the artwork, not surplus centered empty stage. */
.bf-home .bf-home-available.bf-home-section { padding-top: var(--bf-visual-section-gap); }
.bf-home .bf-home-section .bf-home-arc__heading.bf-home-intro { margin-bottom: 8px; }
.bf-home .bf-home-arc { height: auto; --arc-stage-artwork-height: min(76svh,840px); }
.bf-home .bf-home-arc__stage { flex: none; height: calc(var(--arc-stage-artwork-height) + var(--arc-image-gap)); }
@media (max-width: 700px) {
 .bf-home .bf-home-arc { --arc-stage-artwork-height: min(64svh,640px); }
}
@media (max-width: 1180px) {
  .bf-home .bf-home-section .bf-home-intro { grid-template-columns: minmax(0,1fr); row-gap: 24px; }
  .bf-home [data-home-journey] a.bf-home-hero__cta { font-size: 26px; }
  .bf-home .bf-home-section.bf-home-directions > .bf-home__container > h2 { font-size: var(--bf-visual-title); white-space: normal; }
}
@media (max-width: 599px) {
  .bf-home [data-home-journey] a.bf-home-hero__cta { font-size: 22px; }
}
