/* Homepage ending only. Responsive derivatives and stored focal controls stay intact. */
.bf-home-about.bf-home-section { padding-block: calc(var(--bf-visual-section-gap,96px) / 2) 0; }
.bf-home-about > .bf-home__container { width: 100%; max-width: none; }
.bf-ending-about { --about-frame-height: max(85svh,640px); --about-photo-height: max(var(--about-frame-height),calc(100vw / var(--about-photo-ratio,1.5))); --about-photo-y: clamp(0,calc(var(--about-desktop-y-number,.2) + .35),1); --about-board-bottom: calc(var(--about-photo-height) * .532 - (var(--about-photo-height) - var(--about-frame-height)) * var(--about-photo-y)); position: relative; isolation: isolate; overflow: clip; height: var(--about-frame-height); min-height: 640px; color: #FFFFFF; }
.bf-ending-about__media { position: absolute; inset: 0; overflow: hidden; }
.wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { display: block; width: 100% !important; max-width: none; height: 100% !important; object-fit: cover !important; object-position: var(--about-desktop-x,50%) clamp(0%,calc(var(--about-desktop-y,20%) + 35%),100%); margin: 0; }
.bf-ending-about__copy { position: absolute; inset: calc(var(--about-board-bottom) + 20px) auto auto calc(3% + 64px); width: min(836px,48vw); display: block; z-index: 1; text-shadow: none; font-family: "Helvetica Neue","Segoe UI",Arial,sans-serif; }
.bf-ending-about__copy::before { content: ''; position: absolute; z-index: -1; inset: -100px -22% -110px -28%; pointer-events: none; background: rgb(22 18 14 / .62); mask-image: linear-gradient(to right,transparent,#000 18%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 var(--about-gradient-top,100px),#000 calc(100% - var(--about-gradient-bottom,110px)),transparent); mask-composite: intersect; }
.bf-home-about .bf-ending-about__copy h2 { position: relative; width: fit-content; margin: 0 0 18px; font-family: inherit; font-size: clamp(75px,5.83vw,99px); line-height: 1.03; font-weight: 300; letter-spacing: -.02em; white-space: nowrap; }
.bf-home-about .bf-ending-about__copy :is(h2,.bf-ending-about__bio,.bf-ending-about__bio p,a,a:hover,a:focus-visible) { color: #FFFFFF; opacity: 1; }
.wp-site-blocks .bf-home .bf-home-section.bf-home-about:not(.bf-home-hero) .bf-ending-about__copy a.bf-ending-about__link:is(:hover,:focus-visible) { color: #FFFFFF; opacity: 1; }
.bf-ending-about__body { position: relative; width: 100%; max-width: 760px; }
.bf-ending-about__bio { font-family: inherit; font-size: 24.2px; line-height: 1.45; font-weight: 300; letter-spacing: .005em; }
.bf-home-about .bf-ending-about__bio p { font-family: inherit; font-weight: inherit; letter-spacing: inherit; }
.bf-ending-about__bio p+p { margin-top: 1em; }
.bf-ending-about__link { display: inline-block; margin-top: 28px; font-size: var(--bf-visual-cta,18px); line-height: 1.3; letter-spacing: .12em; }
.wp-site-blocks .bf-home .bf-home-section.bf-home-about:not(.bf-home-hero) .bf-ending-about__copy a.bf-ending-about__link { font-family: "Helvetica Neue","Segoe UI",Arial,sans-serif; font-size: 22px; letter-spacing: .12em; }
.bf-ending-about__link::before,.bf-ending-about__link::after { content: none !important; }
.bf-ending-about--no-image { background: #302a23; }
.bf-ending-about--no-image .bf-ending-about__copy { top: auto; bottom: 32px; }
.bf-home-footer.bf-home-section { padding-block: 64px 28px; background: #f5f5f2; color: #302a23; }
.bf-ending-footer__contact { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); align-items: end; gap: 32px 48px; }
.bf-home-footer .bf-ending-footer h2 { margin: 0 0 16px; font-size: 14px; line-height: 1.3; letter-spacing: .12em; }
.bf-ending-footer__contact-copy > p { max-width: 36ch; font-size: 20px; line-height: 1.5; color: #64645f; }
.bf-ending-footer__email { justify-self: end; max-width: 100%; display: inline-block; font-size: clamp(36px,3vw,44px); line-height: 1.25; letter-spacing: -.035em; white-space: nowrap; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.bf-ending-footer__bottom { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 56px; padding-top: 22px; border-top: 1px solid #deded8; font-size: 12px; line-height: 1.6; color: #696962; text-align: center; }
.bf-ending-footer__trademark { letter-spacing: .08em; color: #302a23; }
.bf-ending-footer__social { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 12px; padding: 0; list-style: none; color: #302a23; }
.bf-ending-footer__social a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; text-decoration: none; }
.bf-ending-footer__social svg,.bf-ending-footer__social a[aria-label="小红书"] svg { width: 22px; height: 22px; }
.bf-ending-footer__social a:hover { opacity: .65; }
.bf-ending-footer__social a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.bf-ending-footer__bottom nav ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 26px; padding: 0; list-style: none; }
.bf-ending-footer__bottom nav a { text-underline-offset: .2em; }
/* Short ultrawide needs a taller crop to keep complete copy below the artwork. */
@media (min-width: 1024px) and (min-aspect-ratio: 1.65/1) {
 .bf-ending-about { --about-photo-y: clamp(0,calc(var(--about-desktop-y-number,.2) + .15),1); }
 .wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { object-position: var(--about-desktop-x,50%) clamp(0%,calc(var(--about-desktop-y,20%) + 15%),100%); }
}
@media (min-width: 1024px) and (min-aspect-ratio: 1.9/1) {
 .bf-ending-about { --about-frame-height: max(95svh,640px); --about-photo-y: clamp(0,calc(var(--about-desktop-y-number,.2) + .20),1); }
 .wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { object-position: var(--about-desktop-x,50%) clamp(0%,calc(var(--about-desktop-y,20%) + 20%),100%); }
}
@media (min-width: 1024px) and (max-height: 950px) {
 .bf-ending-about { --about-photo-y: clamp(0,calc(var(--about-desktop-y-number,.2) + .20),1); }
 .wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { object-position: var(--about-desktop-x,50%) clamp(0%,calc(var(--about-desktop-y,20%) + 20%),100%); }
 .bf-home-about .bf-ending-about__copy h2 { font-size: 70.4px; line-height: 1; margin-bottom: 10px; }
 .bf-ending-about__bio { font-size: 22px; line-height: 1.3; }
 .bf-ending-about__link { margin-top: 20px; }
}
/* Only extreme low-height ratios exceed the usual85–95vh composition. */
@media (min-width: 1024px) and (min-aspect-ratio: 2.5/1) {
 .bf-ending-about { --about-frame-height: max(95svh,640px,calc(27vw + 330px)); min-height: max(640px,calc(27vw + 330px)); }
}
/* Equally short ultrawide windows need the same natural-scroll safety fallback. */
@media (min-width: 1024px) and (min-aspect-ratio: 2.35/1) and (max-height: 700px) {
 .bf-ending-about { --about-frame-height: max(95svh,640px,calc(27vw + 330px)); min-height: max(640px,calc(27vw + 330px)); }
}
@media (min-width: 1024px) and (max-width: 1259px) {
 .bf-ending-about__copy { width: min(836px,54vw); }
 .bf-ending-footer__contact { grid-template-columns: minmax(0,1fr); }
 .bf-ending-footer__email { justify-self: start; }
}
@media (max-width: 1180px) {
 .bf-ending-about { --about-frame-height:max(75svh,620px,calc(100vw / var(--about-photo-ratio,1.5)),calc((var(--about-compact-copy-height,300px) + 44px) / .468)); --about-photo-y:0; height:var(--about-frame-height); min-height:620px; }
 .wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { object-position: clamp(0%,calc(var(--about-mobile-x,52%) - 32%),100%) var(--about-mobile-y,35%); }
 .bf-ending-about__copy { inset:calc(var(--about-board-bottom) + 20px) auto auto 6%; width:min(400px,48vw); }
 .bf-home-about .bf-ending-about__copy h2 { font-size: clamp(35.2px,5.5vw,44px); margin-bottom: 18px; white-space: normal; }
 .bf-ending-about__body { max-width: 560px; }
 .bf-ending-about__bio { font-size: 19px; line-height: 1.5; }
 .bf-ending-about__copy::before { --about-gradient-top:75px; --about-gradient-bottom:85px; inset: -75px -22% -85px -28%; }
 .bf-ending-about__link { margin-top: 22px; min-height:44px; font-size: var(--bf-visual-cta,16px); }
 .wp-site-blocks .bf-home .bf-home-section.bf-home-about:not(.bf-home-hero) .bf-ending-about__copy a.bf-ending-about__link { font-size: 17.6px; }
 .bf-home-footer.bf-home-section { padding-block: 40px 24px; }
 .bf-ending-footer__contact { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .bf-ending-footer__contact-copy > p { font-size: 18px; }
 .bf-ending-footer__email { justify-self: start; font-size: clamp(23px,4.5vw,28px); letter-spacing: -.035em; white-space: normal; overflow-wrap: anywhere; }
 .bf-ending-footer__bottom { gap: 18px; margin-top: 36px; }
}
@media (max-width: 599px) {
 .bf-ending-about { --about-frame-height:max(780px,90svh,calc((var(--about-compact-copy-height,320px) + 44px) / .468)); min-height:780px; }
 .wp-site-blocks .bf-home-about .bf-ending-about__media > img.bf-ending-about__photo { object-position:clamp(0%,calc(var(--about-mobile-x,52%) - 18%),100%) var(--about-mobile-y,35%); }
 .bf-ending-about__copy { left:6%; width:88%; }
 .bf-ending-about__body { max-width:68vw; }
 .bf-home-about .bf-ending-about__copy h2 { font-size:clamp(32px,8.8vw,38px); }
 .bf-ending-about__bio { font-size: 17.6px; }
}
