/* ==========================================================================
   HBFS Studio — cinematic system
   Hummingbird Film Studios Inc.

   Balance target: 55% black/charcoal, 25% photography, 15% warm ivory,
   4% crimson, 1% gold. Crimson carries action. Gold is reserved for
   hairlines, micro-labels and small marks — never large fills.
   ========================================================================== */

:root {
	--hbfs-black: #08090a;
	--hbfs-charcoal: #141416;
	--hbfs-border: #2b2928;
	--hbfs-ivory: #f7f3eb;
	--hbfs-ivory-warm: #f5f1e8;
	--hbfs-gray: #aaa6a0;
	--hbfs-near-black: #171719;
	--hbfs-crimson: #be1230;
	--hbfs-crimson-deep: #8e0d24;
	--hbfs-gold: #c39a47;

	--hbfs-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--hbfs-slow: 900ms;
	--hbfs-gutter: clamp(1.25rem, 5vw, 4.5rem);
	--hbfs-section-y: clamp(4.5rem, 9vw, 8.5rem);
	--hbfs-header-h: 84px;
	--hbfs-container: 1280px;
}

/* v4 master discipline pages */
.hbfs-masterhero{position:relative;min-height:clamp(620px,82vh,900px);display:grid;align-items:end;overflow:hidden;background:#111;color:#f8f1e7}.hbfs-masterhero .hbfs-mastermedia{position:absolute;inset:0;margin:0}.hbfs-masterhero .hbfs-mastermedia img{width:100%;height:100%;object-fit:cover}.hbfs-masterhero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.88) 0%,rgba(10,10,10,.52) 48%,rgba(10,10,10,.18) 100%),linear-gradient(0deg,rgba(10,10,10,.72),transparent 55%)}.hbfs-masterhero__copy{position:relative;z-index:2;width:100%;padding-top:180px;padding-bottom:clamp(64px,9vw,120px)}.hbfs-masterhero h1{max-width:920px;margin:.35em 0 .35em;font-size:clamp(3rem,7vw,7rem);line-height:.94;letter-spacing:-.055em;color:#fff}.hbfs-masterhero__copy>p:not(.hbfs-label){max-width:720px;font-size:clamp(1rem,1.5vw,1.35rem);line-height:1.7}.hbfs-masterghost{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none}.hbfs-mastersection{padding:clamp(72px,9vw,140px) 0;background:#f3eee5;color:#1b1a18}.hbfs-mastersection:nth-of-type(odd){background:#1b1a18;color:#f3eee5}.hbfs-mastersection>.hbfs-container{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:clamp(40px,7vw,110px);align-items:center}.hbfs-mastersection:nth-of-type(even) .hbfs-mastermedia{order:2}.hbfs-mastermedia{margin:0;overflow:hidden;background:#292724;min-height:260px}.hbfs-mastermedia img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.hbfs-mastermedia--missing{display:grid;place-items:center;padding:30px;border:1px dashed rgba(172,139,77,.65);color:#a98952}.hbfs-mastersection h2,.hbfs-masterproposal h2{font-size:clamp(2.2rem,4.6vw,5rem);line-height:1;letter-spacing:-.045em;margin:.3em 0}.hbfs-mastersection__copy>p:not(.hbfs-label){font-size:1.1rem;line-height:1.8;max-width:700px}.hbfs-masterlist{columns:2;column-gap:34px;margin:30px 0 0;padding:0;list-style:none}.hbfs-masterlist li{break-inside:avoid;padding:12px 0;border-top:1px solid currentColor;font-size:.95rem;opacity:.86}.hbfs-masterproposal{padding:clamp(80px,10vw,150px) 0;background:#7f1424;color:#fff;text-align:center}.hbfs-masterproposal .hbfs-container{max-width:900px}.hbfs-masterproposal p:not(.hbfs-label){max-width:700px;margin:0 auto 34px;line-height:1.75}.hbfs-masterproposal .hbfs-sitefooter__btn{display:inline-flex;background:#fff;color:#7f1424}.hbfs-sitefooter__nav li,.hbfs-sitefooter__services li{margin-block:0!important}.hbfs-sitefooter__nav a,.hbfs-sitefooter__services a{line-height:1.25!important;padding-block:4px!important}
@media(max-width:800px){.hbfs-masterhero{min-height:720px}.hbfs-masterhero__shade{background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.45) 75%,rgba(10,10,10,.2))}.hbfs-masterhero__copy{padding-top:150px;padding-bottom:60px}.hbfs-masterhero .hbfs-actions{display:grid;gap:10px}.hbfs-mastersection>.hbfs-container{grid-template-columns:1fr}.hbfs-mastersection:nth-of-type(even) .hbfs-mastermedia{order:0}.hbfs-masterlist{columns:1}.hbfs-mastersection{padding:72px 0}.hbfs-masterhero h1{font-size:clamp(2.8rem,14vw,4.7rem)}}
.hbfs-masterprocess,.hbfs-masterdetails,.hbfs-artworks{padding:clamp(72px,9vw,130px) 0;background:#111;color:#f7f0e6}.hbfs-masterprocess h2,.hbfs-masterdetails h2,.hbfs-artworks h2{font-size:clamp(2.2rem,4.6vw,5rem);line-height:1;letter-spacing:-.045em;margin:.3em 0 1em}.hbfs-masterprocess__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.18)}.hbfs-masterprocess article{background:#171717;padding:clamp(24px,3vw,42px)}.hbfs-masterprocess article span{color:#b8955d;font-size:.8rem}.hbfs-masterprocess article h3{margin:1rem 0 .7rem;font-size:1.25rem}.hbfs-masterprocess article p{margin:0;opacity:.72;line-height:1.65}.hbfs-masterdetails{background:#ece5da;color:#1b1a18}.hbfs-masterdetails ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;padding:0;list-style:none}.hbfs-masterdetails li{padding:14px 0;border-top:1px solid rgba(20,20,20,.2)}.hbfs-artworks{background:#f3eee5;color:#1b1a18}.hbfs-artworks__intro{max-width:760px;line-height:1.7}.hbfs-artworks__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px);margin-top:48px}.hbfs-artworks article{border-top:1px solid #ad8a50;padding-top:16px}.hbfs-artworks__placeholder{aspect-ratio:4/5;background:#d9d0c2;display:grid;place-items:center;color:#796b58}.hbfs-artworks h3{margin:20px 0 4px}.hbfs-artworks article p{opacity:.68}.hbfs-artworks article strong{display:block;margin:12px 0}.hbfs-artworks article a{color:#7f1424;font-weight:600}.hbfs-sitefooter__nav ul,.hbfs-sitefooter__services ul{gap:0!important}.hbfs-sitefooter__nav li,.hbfs-sitefooter__services li{margin:0!important;padding:0!important}.hbfs-sitefooter__nav a,.hbfs-sitefooter__services a{display:inline-block;line-height:1.2!important;padding:3px 0!important}
@media(max-width:800px){html,body{max-width:100%;overflow-x:hidden}.hbfs-masterprocess__grid,.hbfs-artworks__grid{grid-template-columns:1fr}.hbfs-masterdetails ul{grid-template-columns:1fr}.hbfs-mastermedia,.hbfs-mastersection__copy{min-width:0}.hbfs-mapcard{width:100%;max-width:100%;overflow:hidden}}

/* v3 standalone shell: one measured container everywhere. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto}
.hbfs-container,.hbfs-section>div,.hbfs-hero__inner,.hbfs-archivehero>div{width:100%;max-width:var(--hbfs-container);margin-inline:auto}
.site-header .inside-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;max-width:calc(var(--hbfs-container) + (2 * var(--hbfs-gutter)));margin-inline:auto;padding-inline:var(--hbfs-gutter)}
.site-logo{display:flex;align-items:center;flex:0 0 auto}
.site-logo img{display:block}
.main-navigation{margin-left:auto}
.main-navigation .main-nav{display:flex;align-items:center;gap:clamp(.75rem,1.7vw,1.6rem);list-style:none!important;margin:0!important;padding:0!important}
.main-navigation li{list-style:none!important;margin:0;padding:0}
.main-navigation a{display:block;text-decoration:none!important;color:var(--hbfs-ivory)!important}
.main-navigation .menu-item-has-children{position:relative}
.main-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:240px;margin:0!important;padding:.7rem!important;list-style:none!important;background:rgba(20,20,22,.98);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(0,0,0,.3)}
.main-navigation .menu-item-has-children:hover>.sub-menu,.main-navigation .menu-item-has-children:focus-within>.sub-menu{display:grid;grid-template-columns:1fr}
.main-navigation .sub-menu a{padding:.62rem .75rem!important;white-space:nowrap;font-size:.78rem;letter-spacing:.06em}
.main-navigation .sub-menu a:hover,.main-navigation .sub-menu a:focus{background:rgba(255,255,255,.08)}
.main-navigation .menu-cta a,.main-navigation li:last-child a{border:1px solid var(--hbfs-crimson);padding:.8rem 1rem}
.hbfs-nav-toggle{display:none;background:transparent;border:1px solid var(--hbfs-border);color:var(--hbfs-ivory);padding:.65rem .85rem;text-transform:uppercase;letter-spacing:.1em}
.site-content{width:100%;max-width:none;margin:0;padding:0}
.hbfs-page{margin:0;padding:0}
.hbfs-loop,.hbfs-single{padding:clamp(3rem,6vw,6rem) var(--hbfs-gutter)}
.hbfs-loop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.hbfs-loopcard a{color:inherit;text-decoration:none}
.hbfs-sitefooter a,.hbfs-sitefooter a:visited,.hbfs-footer__menu a,.hbfs-sitefooter__legal a{color:var(--hbfs-ivory)!important;text-decoration:none!important}
.hbfs-footer__menu,.hbfs-footer__menu li{list-style:none!important;margin-left:0!important;padding-left:0!important}
.hbfs-footer__menu li::marker{content:""}
.hbfs-contactgrid a{color:var(--hbfs-near-black);text-decoration:none}
.hbfs-founderpage{background:var(--hbfs-ivory-warm)!important;color:var(--hbfs-near-black)!important}
.hbfs-founderpage h2,.hbfs-founderpage h3,.hbfs-founderpage p{color:var(--hbfs-near-black)}
.hbfs-founderpage__cols{align-items:center;gap:clamp(2rem,6vw,6rem)}
.hbfs-founderpage__media{align-self:center}
.hbfs-founder__portrait{width:min(100%,520px);aspect-ratio:4/5;margin:0 auto;overflow:hidden;background:#ded8ce}
.hbfs-founder__portrait img,.hbfs-founder__portraitimg{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center top}
.hbfs-sitefooter nav a,.hbfs-sitefooter__nav a,.hbfs-sitefooter__nav a:link,.hbfs-sitefooter__nav a:visited,.hbfs-sitefooter__base a,.hbfs-sitefooter__base a:visited{color:#f7f3eb!important;background:transparent!important;border:0;text-decoration:none!important}
.hbfs-sitefooter__nav a:hover,.hbfs-sitefooter__base a:hover{color:var(--hbfs-gold)!important}
.hbfs-section--ivory+.hbfs-section--ivory{border-top:1px solid rgba(23,23,25,.12)}
/* Section headings follow the same measured left edge at every viewport. */
@media(max-width:1100px){.hbfs-nav-toggle{display:block}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--hbfs-charcoal);padding:1.25rem var(--hbfs-gutter)}body.hbfs-nav-open .main-navigation{display:block}.main-navigation .main-nav{align-items:stretch;flex-direction:column}.main-navigation .sub-menu{display:grid;position:static;min-width:0;padding:0 0 .5rem 1rem!important;border:0;box-shadow:none;background:transparent}.main-navigation .sub-menu a{min-height:40px!important;padding:.45rem 0!important}.hbfs-loop{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.hbfs-loop{grid-template-columns:1fr}.site-header .inside-header{padding-inline:1.25rem}.hbfs .site-logo img{height:36px}}

/* --------------------------------------------------------------------------
   1. Base
   -------------------------------------------------------------------------- */

body.hbfs {
	background-color: var(--hbfs-black);
	color: var(--hbfs-ivory);
	font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0.005em;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

.hbfs h1,
.hbfs h2,
.hbfs h3,
.hbfs h4 {
	font-weight: 600;
	letter-spacing: -0.022em;
	line-height: 1.1;
	text-wrap: balance;
}

.hbfs p {
	text-wrap: pretty;
}

/* Extremely light film grain. Present, never dirty, never retro. */
body.hbfs::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: 0.025;
	mix-blend-mode: overlay;
	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='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hbfs :is(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--hbfs-gold);
	outline-offset: 3px;
}

.hbfs-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   2. Editorial marks — micro-labels, numbers, hairlines
   -------------------------------------------------------------------------- */

.hbfs-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hbfs-gray);
	margin: 0 0 clamp(1rem, 2vw, 1.75rem);
	display: flex;
	align-items: center;
	gap: 0.75em;
}

.hbfs-label--gold {
	color: var(--hbfs-gold);
}

/*
 * Optical alignment: large display type is set with negative letter-spacing,
 * which pulls its first glyph very slightly left of the true text edge. The
 * micro-label above it is nudged by the same amount so the two share a visually
 * straight left edge rather than a mathematically straight one.
 */
.hbfs-label,
.hbfs-textlink {
	margin-left: 0;
	padding-left: 0;
	text-indent: -0.04em;
}

.hbfs-num {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--hbfs-gold);
	letter-spacing: 0.04em;
}

.hbfs-label .hbfs-num::after {
	content: "";
	display: inline-block;
	width: 2.25rem;
	height: 1px;
	margin-left: 0.75em;
	vertical-align: middle;
	background: var(--hbfs-crimson);
}

.hbfs-hair {
	display: block;
	width: 64px;
	height: 1px;
	background: var(--hbfs-gold);
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.hbfs-display {
	font-size: clamp(1.9rem, 4.4vw, 3.6rem);
	line-height: 1.06;
	letter-spacing: -0.03em;
	max-width: 20ch;
	margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
}

.hbfs-lede {
	font-size: clamp(1.0625rem, 1.5vw, 1.3rem);
	color: var(--hbfs-gray);
	max-width: 56ch;
}

.hbfs-textlink a {
	color: var(--hbfs-ivory);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	padding-bottom: 0.35em;
	border-bottom: 1px solid var(--hbfs-crimson);
	transition: border-color 240ms var(--hbfs-ease), color 240ms var(--hbfs-ease);
}

.hbfs-textlink a:hover {
	color: var(--hbfs-gold);
	border-bottom-color: var(--hbfs-gold);
}

/* --------------------------------------------------------------------------
   3. Section rhythm — alternating dark and warm ivory
   -------------------------------------------------------------------------- */

.hbfs-section {
	padding: var(--hbfs-section-y) var(--hbfs-gutter);
	position: relative;
}

.hbfs-section--flush {
	padding-left: 0;
	padding-right: 0;
}

.hbfs-section--black {
	background: var(--hbfs-black);
}

.hbfs-section--charcoal {
	background: var(--hbfs-charcoal);
}

.hbfs-section--ivory {
	background: var(--hbfs-ivory-warm);
	color: var(--hbfs-near-black);
}

.hbfs-section--ivory :is(h1, h2, h3, h4) {
	color: var(--hbfs-near-black);
}

.hbfs-section--ivory .hbfs-label {
	color: #6b665f;
}

.hbfs-section--ivory .hbfs-lede,
.hbfs-section--ivory p {
	color: #47433e;
}

.hbfs-section--ivory .hbfs-textlink a {
	color: var(--hbfs-near-black);
}

/* Asymmetry: no two adjacent sections share the same text/image rhythm. */
.hbfs-split {
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

.hbfs-split__aside {
	padding-top: clamp(0.5rem, 2.5vw, 2.75rem);
}

.hbfs-split__aside p {
	color: var(--hbfs-gray);
	max-width: 46ch;
}

/* --------------------------------------------------------------------------
   4. Header — transparent over the hero, warm charcoal once scrolled
   -------------------------------------------------------------------------- */

.hbfs .site-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 900;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background-color 420ms var(--hbfs-ease), border-color 420ms var(--hbfs-ease), backdrop-filter 420ms var(--hbfs-ease);
}

.hbfs .site-header .inside-header {
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
}

/* Keep the fixed header below WordPress's toolbar while editors are signed in. */
body.admin-bar.hbfs .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar.hbfs .site-header {
		top: 46px;
	}
}

.hbfs.hbfs-scrolled .site-header {
	background: rgba(20, 20, 22, 0.92);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom-color: var(--hbfs-border);
}

/* Pages without a hero start on charcoal so the nav is always legible. */
.hbfs:not(.hbfs-has-hero) .site-header {
	background: var(--hbfs-charcoal);
	border-bottom-color: var(--hbfs-border);
}

.hbfs:not(.hbfs-has-hero) .site-content {
	padding-top: var(--hbfs-header-h);
}

/* Optional warm-ivory header treatment for the colour logo. */
.hbfs.hbfs-header-light .site-header,
.hbfs.hbfs-header-light.hbfs-scrolled .site-header {
	background: var(--hbfs-ivory-warm);
	border-bottom-color: rgba(23, 23, 25, 0.12);
	backdrop-filter: none;
}

.hbfs.hbfs-header-light .main-navigation a {
	color: var(--hbfs-near-black);
}

/*
 * Logo: generous clear space, never distorted, never recreated in text.
 * The wordmark already says "Hummingbird Film Studios Inc.", so GeneratePress's
 * text site title and tagline are suppressed — printing both duplicates the
 * name next to the mark and breaks the logo's clear space.
 */
body.hbfs .site-branding,
body.hbfs .main-title,
body.hbfs .site-description {
	display: none;
}

.hbfs .site-logo img {
	width: auto;
	height: clamp(35px, 3.9vw, 48px);
	max-width: none;
	padding: 0.25rem 0;
}

.hbfs .main-navigation,
.hbfs .main-navigation .main-nav ul li a {
	background: transparent;
	color: var(--hbfs-ivory);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.hbfs .main-navigation .main-nav ul li a {
	position: relative;
}

.hbfs .main-navigation .main-nav ul li a::after {
	content: "";
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 22px;
	height: 1px;
	background: var(--hbfs-crimson);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 280ms var(--hbfs-ease);
}

.hbfs .main-navigation .main-nav ul li:hover > a::after,
.hbfs .main-navigation .main-nav ul li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* Persistent Start a Project CTA in the menu: add class "hbfs-nav-cta". */
.hbfs .main-navigation .main-nav ul li.hbfs-nav-cta > a {
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	margin: 0 0 0 0.75rem;
}

.hbfs .main-navigation .main-nav ul li.hbfs-nav-cta > a:hover {
	background: var(--hbfs-crimson-deep);
}

.hbfs .main-navigation .main-nav ul li.hbfs-nav-cta > a::after {
	display: none;
}

/* --------------------------------------------------------------------------
   5. Hero
   -------------------------------------------------------------------------- */

.hbfs-hero {
	min-height: 100svh;
	display: grid;
	align-items: end;
	padding-bottom: clamp(3.5rem, 8vh, 7rem);
	padding-top: calc(var(--hbfs-header-h) + 2rem);
	isolation: isolate;
	overflow: clip;
}

.hbfs-hero--page {
	min-height: 62svh;
}

.hbfs-hero__media,
.hbfs-hero__picture {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
}

.hbfs-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 2400ms var(--hbfs-ease);
}

.hbfs-hero.is-revealed .hbfs-hero__img {
	transform: scale(1);
}

.hbfs-scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, rgba(8, 9, 10, 0.94) 0%, rgba(8, 9, 10, 0.55) 42%, rgba(8, 9, 10, 0.18) 78%),
		linear-gradient(to right, rgba(8, 9, 10, 0.5), rgba(8, 9, 10, 0) 62%);
}

.hbfs-scrim--soft {
	background: linear-gradient(to right, rgba(8, 9, 10, 0.92) 0%, rgba(8, 9, 10, 0.72) 45%, rgba(8, 9, 10, 0.25) 100%);
}

/* Text sits centre-right so the subject on the left of the image stays clear. */
.hbfs-hero__inner {
	width: 100%;
	margin-inline: auto;
}

.hbfs-hero__title {
	font-size: clamp(2.75rem, 7.4vw, 6.25rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
	max-width: 15ch;
}

.hbfs-hero__title--page {
	font-size: clamp(2.1rem, 5vw, 4rem);
	max-width: 18ch;
}

.hbfs-hero__lede {
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	color: var(--hbfs-gray);
	max-width: 50ch;
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
}

.hbfs-hero__rule {
	position: absolute;
	left: var(--hbfs-gutter);
	right: var(--hbfs-gutter);
	bottom: 0;
	height: 1px;
	background: linear-gradient(to right, var(--hbfs-crimson) 0%, var(--hbfs-crimson) 12%, var(--hbfs-border) 12%, var(--hbfs-border) 100%);
}

/*
 * The hero shares the same left edge as every other section. The composition
 * stays cinematic through scale and the scrim rather than by shifting the text
 * across the page, which broke alignment with the sections below it.
 */
@media (min-width: 1025px) {
	.hbfs-hero__inner > * {
		max-width: 44ch;
	}

	.hbfs-hero__title {
		max-width: 14ch;
	}

	.hbfs-hero__lede {
		max-width: 46ch;
	}
}

/* --------------------------------------------------------------------------
   6. Buttons — crimson with ivory text. No gradients, no glow.
   -------------------------------------------------------------------------- */

.hbfs .wp-block-button__link {
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	border-radius: 0;
	border: 1px solid var(--hbfs-crimson);
	padding: 1rem 2.1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	transition: background-color 240ms var(--hbfs-ease), border-color 240ms var(--hbfs-ease), color 240ms var(--hbfs-ease);
}

.hbfs .wp-block-button__link:hover {
	background: var(--hbfs-crimson-deep);
	border-color: var(--hbfs-crimson-deep);
}

.hbfs .hbfs-btn-ghost .wp-block-button__link {
	background: transparent;
	border-color: var(--hbfs-border);
	color: var(--hbfs-ivory);
}

.hbfs .hbfs-btn-ghost .wp-block-button__link:hover {
	border-color: var(--hbfs-gold);
	color: var(--hbfs-gold);
	background: transparent;
}

.hbfs-section--ivory .hbfs-btn-ghost .wp-block-button__link {
	color: var(--hbfs-near-black);
	border-color: rgba(23, 23, 25, 0.25);
}

.hbfs-actions {
	gap: 0.75rem 1rem;
}

/* --------------------------------------------------------------------------
   7. Selected Work — horizontal poster track (desktop), stack (mobile)
   -------------------------------------------------------------------------- */

.hbfs-work {
	position: relative;
	margin: clamp(2.5rem, 5vw, 4rem) 0;
}

.hbfs-work__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 25vw);
	gap: clamp(1rem, 2vw, 2rem);
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scroll-padding-left: var(--hbfs-gutter);
	padding: 0 var(--hbfs-gutter) 1.25rem;
	scrollbar-width: thin;
	scrollbar-color: var(--hbfs-border) transparent;
	overscroll-behavior-x: contain;
}

.hbfs-work__item {
	scroll-snap-align: start;
}

.hbfs-work__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.hbfs-work__frame {
	display: block;
	position: relative;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	background: var(--hbfs-charcoal);
	border: 1px solid var(--hbfs-border);
}

.hbfs-work__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(8, 9, 10, 0.55), transparent 55%);
	opacity: 0;
	transition: opacity 420ms var(--hbfs-ease);
}

.hbfs-work__img {
	transition: transform 1200ms var(--hbfs-ease);
}

.hbfs-work__link:hover .hbfs-work__img {
	transform: scale(1.035);
}

.hbfs-work__link:hover .hbfs-work__frame::after {
	opacity: 1;
}

.hbfs-work__meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.15rem;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hbfs-gray);
}

.hbfs-work__title {
	font-size: clamp(1.25rem, 1.7vw, 1.6rem);
	margin: 0.5rem 0 0.5rem;
}

.hbfs-work__link:hover .hbfs-work__title {
	color: var(--hbfs-gold);
}

.hbfs-work__excerpt {
	color: var(--hbfs-gray);
	font-size: 0.9375rem;
	margin: 0;
	max-width: 34ch;
}

.hbfs-work__controls {
	display: none;
	gap: 0.5rem;
	padding-inline: var(--hbfs-gutter);
}

.hbfs-work__btn {
	width: 44px;
	height: 44px;
	background: transparent;
	border: 1px solid var(--hbfs-border);
	color: var(--hbfs-ivory);
	cursor: pointer;
	transition: border-color 240ms var(--hbfs-ease), color 240ms var(--hbfs-ease);
}

.hbfs-work__btn:hover:not(:disabled) {
	border-color: var(--hbfs-gold);
	color: var(--hbfs-gold);
}

.hbfs-work__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

@media (min-width: 1025px) {
	.hbfs-work__controls {
		display: flex;
	}
}

@media (max-width: 782px) {
	.hbfs-work__track {
		grid-auto-flow: row;
		grid-auto-columns: auto;
		overflow-x: visible;
		gap: clamp(2rem, 6vw, 3rem);
	}
}

/* --------------------------------------------------------------------------
   8. Capabilities list
   -------------------------------------------------------------------------- */

/*
 * Compact capability grid. The earlier stacked list ran the full height of the
 * screen for five short statements; this says the same thing in about a third
 * of the space and reads as a considered set rather than a long scroll.
 */
.hbfs-capgrid {
	display: grid;
	gap: 0;
	background: var(--hbfs-ivory-warm);
	border: 1px solid rgba(23, 23, 25, 0.12);
	margin: clamp(2rem, 4vw, 3rem) 0 clamp(1.75rem, 3vw, 2.5rem);
}

.hbfs-cap {
	position: relative;
	background: var(--hbfs-ivory-warm);
	border-right: 1px solid rgba(23, 23, 25, 0.12);
	border-bottom: 1px solid rgba(23, 23, 25, 0.12);
	padding: clamp(1.4rem, 2.4vw, 2rem);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.hbfs-cap__link {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.hbfs-cap:focus-within {
	outline: 2px solid var(--hbfs-crimson);
	outline-offset: -2px;
}

.hbfs-cap__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 8;
	margin: 0 0 0.7rem;
	overflow: hidden;
	background: #d8d3c8;
}

.hbfs-cap__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.78) contrast(1.04);
	transition: transform 500ms var(--hbfs-ease), filter 500ms var(--hbfs-ease);
}

.hbfs-cap:hover .hbfs-cap__media img {
	transform: scale(1.035);
	filter: saturate(0.95) contrast(1.04);
}

.hbfs-capgrid > *,
.hbfs-capgrid .hbfs-cap {
	margin: 0;
}

.hbfs-cap__num {
	margin: 0;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: var(--hbfs-crimson);
}

.hbfs-cap__title {
	font-size: clamp(1.0625rem, 1.35vw, 1.25rem);
	line-height: 1.25;
	margin: 0;
}

.hbfs-cap__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.55;
	max-width: 40ch;
}

@media (min-width: 700px) {
	.hbfs-capgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.hbfs-capgrid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hbfs-capgrid > .hbfs-cap {
		grid-column: auto;
	}
}

/* --------------------------------------------------------------------------
   9. Signature statement
   -------------------------------------------------------------------------- */

.hbfs-statement {
	padding-block: clamp(6rem, 14vw, 12rem);
	text-align: left;
}

.hbfs-statement__text {
	font-size: clamp(1.75rem, 4vw, 3.25rem);
	line-height: 1.14;
	letter-spacing: -0.028em;
	margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
	max-width: 22ch;
}

.hbfs-statement__sub {
	color: var(--hbfs-gray);
	max-width: 54ch;
	margin: 0;
}

/* --------------------------------------------------------------------------
   10. Founder section
   -------------------------------------------------------------------------- */

.hbfs-section--founder {
	position: relative;
	isolation: isolate;
	padding-block: clamp(5rem, 12vw, 10rem);
	overflow: clip;
}

.hbfs-sectionbg {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.hbfs-sectionbg__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hbfs-founder__inner {
	position: relative;
}

.hbfs-founder__panel {
	max-width: 620px;
}

.hbfs-founder__panel p {
	color: var(--hbfs-gray);
}

/* --------------------------------------------------------------------------
   Founder portrait — Studio page only.
   Shown on a clean charcoal surface at full size, never cropped to a forced
   ratio and never layered over atmospheric imagery.
   -------------------------------------------------------------------------- */

.hbfs-founderpage__media {
	align-self: start;
}

.hbfs-founder__portrait {
	margin: 0;
	position: relative;
	max-width: 460px;
}

.hbfs-founder__portrait .hbfs-img,
.hbfs-founder__portraitimg {
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	display: block;
}

.hbfs-founder__portrait::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 40%;
	height: 2px;
	background: var(--hbfs-crimson);
}

@media (max-width: 860px) {
	.hbfs-founder__portrait {
		margin-top: clamp(2rem, 5vw, 3rem);
		max-width: 340px;
	}
}

/* Legacy homepage placement, retained only as a safety net. */
.hbfs-section--founder .hbfs-founder__portrait {
	display: none;
}

.hbfs-founder__portrait--legacy {
	margin: clamp(2.5rem, 5vw, 0) 0 0;
	max-width: 320px;
	position: relative;
}

.hbfs-founder__portrait::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 44%;
	height: 2px;
	background: var(--hbfs-crimson);
}

/* --------------------------------------------------------------------------
   10b. Clients and partners band
   -------------------------------------------------------------------------- */

.hbfs-clients {
	background: #101012;
	color: var(--hbfs-ivory);
	padding: clamp(3rem, 5vw, 4.5rem) var(--hbfs-gutter);
	border-top: 1px solid rgba(201,164,86,.2);
}

.hbfs-clients__inner {
	max-width: var(--hbfs-container);
	margin-inline: auto;
}

.hbfs-clients__heading { display:grid; gap:1rem 3rem; align-items:end; }
.hbfs-clients__heading h2 { color:var(--hbfs-ivory); margin:.55rem 0 0; max-width:820px; font-size:clamp(2rem,3.25vw,3.35rem); line-height:1.04; font-weight:450; letter-spacing:-.035em; }
.hbfs-clients__heading > p { color:rgba(245,240,229,.62); max-width:30rem; margin:0; font-size:clamp(.95rem,1.15vw,1.08rem); line-height:1.7; }

.hbfs-clients .hbfs-partners {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(.75rem,1.5vw,1.25rem);
	background: transparent;
	border: 0;
}

.hbfs-clients .hbfs-partner {
	min-width: 0;
	min-height: 126px;
	padding: 1.35rem;
	align-items: center;
	justify-content: center;
	background: #171719;
	border: 1px solid rgba(255,255,255,.07);
	filter: none;
	opacity: 1;
	transition: background 240ms ease, border-color 240ms ease, transform 240ms ease;
}

.hbfs-clients .hbfs-partner:hover {
	background: #1d1d20;
	border-color: rgba(201,164,86,.34);
	transform: translateY(-3px);
}

.hbfs-clients .hbfs-partnerlogo {
	display: block;
	width: auto;
	height: auto;
	max-width: min(78%, 180px);
	max-height: 70px;
	object-fit: contain;
	filter: none;
	opacity: .92;
	transition: filter 240ms ease, opacity 240ms ease, transform 240ms ease;
}

.hbfs-clients .hbfs-partner:hover .hbfs-partnerlogo {
	filter: none;
	opacity: 1;
	transform: translateY(-2px);
}

.hbfs-partners--placeholders { display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr)); }
.hbfs-partner--placeholder { min-height:110px; border:1px solid rgba(23,23,25,.18)!important; color:#635d55; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.55rem; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.28); }
.hbfs-placeholdermark { font-family:Georgia,serif; font-size:1.7rem; letter-spacing:-.08em; color:#8c7950; }

/* Social rows — compact in the header, more expressive in the footer. */
.hbfs-social { display:flex; align-items:center; gap:.55rem; }
.hbfs-social__link { width:34px; height:34px; border:1px solid rgba(255,255,255,.24); color:var(--hbfs-ivory); display:grid; place-items:center; transition:color .2s ease,border-color .2s ease,background .2s ease; }
.hbfs-social__link:hover { color:var(--hbfs-gold); border-color:var(--hbfs-gold); background:rgba(255,255,255,.05); }
.hbfs-social svg { width:15px; height:15px; fill:currentColor; stroke:currentColor; stroke-width:1.5; }
.hbfs-social__link--facebook svg { stroke:none; }
.hbfs-social__link--instagram svg,.hbfs-social__link--email svg { fill:none; }
.hbfs-social__dot { fill:currentColor!important; stroke:none!important; }
.hbfs-social--header { margin-left:auto; }

.hbfs-section--project { background:linear-gradient(120deg,#721d26 0%,#a32935 55%,#6d1922 100%); color:var(--hbfs-ivory); }
.hbfs-section--project .hbfs-panel { max-width:var(--hbfs-container); margin-inline:auto; background:transparent; border-left-color:var(--hbfs-gold); padding-block:clamp(1rem,3vw,2rem); }
.hbfs-section--project .hbfs-btn-ghost .wp-block-button__link { background:transparent; border-color:rgba(255,255,255,.6); color:var(--hbfs-ivory); }
.hbfs-section--closing { background:#d8cdbd; color:var(--hbfs-near-black); }
.hbfs-section--closing h2,.hbfs-section--closing p { color:var(--hbfs-near-black); }
.hbfs-section--closing::after { content:""; position:absolute; right:var(--hbfs-gutter); top:50%; width:clamp(90px,15vw,240px); aspect-ratio:1; border:1px solid rgba(23,23,25,.15); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 28px rgba(23,23,25,.035),0 0 0 56px rgba(23,23,25,.025); pointer-events:none; }
.hbfs-section--closing > * { position:relative; z-index:1; }

.hbfs-sitefooter__connect { color:var(--hbfs-gray); }
.hbfs-sitefooter__connect p { margin:.65rem 0; }
.hbfs-sitefooter__email { color:var(--hbfs-ivory); text-decoration:none; font-size:clamp(1rem,1.5vw,1.25rem); }
.hbfs-sitefooter__email:hover { color:var(--hbfs-gold); }
.hbfs-sitefooter__connect .hbfs-social { margin-top:1.4rem; }

@media (min-width:861px) {
	.hbfs-clients__heading { grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); }
	.hbfs-sitefooter__inner--simple { grid-template-columns:minmax(0,1.5fr) minmax(180px,.55fr) minmax(220px,.65fr)!important; }
}

@media (max-width:1100px) {
	.hbfs-social--header { display:none; }
	.hbfs-partners--placeholders { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.hbfs-clients .hbfs-partners { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:620px) {
	.hbfs-partners--placeholders { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.hbfs-clients__heading h2 { font-size:clamp(1.85rem,9vw,2.45rem); }
	.hbfs-clients .hbfs-partner { min-height:100px; padding:1rem .75rem; }
	.hbfs-clients .hbfs-partnerlogo { max-width:82%; max-height:54px; }
	.hbfs-section--closing::after { opacity:.45; right:-55px; }
}

/* --------------------------------------------------------------------------
   11. Journey timeline
   -------------------------------------------------------------------------- */

.hbfs-journey {
	list-style: none;
	margin: clamp(2.5rem, 5vw, 4rem) 0 0;
	padding: 0;
	display: grid;
	gap: 0;
	counter-reset: journey;
}

.hbfs-journey__item {
	display: grid;
	gap: 0.5rem clamp(2rem, 5vw, 5rem);
	padding: clamp(1.5rem, 3vw, 2.25rem) 0;
	border-top: 1px solid var(--hbfs-border);
	position: relative;
}

.hbfs-journey__item::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 34px;
	height: 1px;
	background: var(--hbfs-gold);
}

.hbfs-journey__marker {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hbfs-gold);
}

.hbfs-journey__body p {
	margin: 0;
	color: var(--hbfs-gray);
	max-width: 60ch;
}

@media (min-width: 861px) {
	.hbfs-journey__item {
		grid-template-columns: 260px minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   12. Ventures
   -------------------------------------------------------------------------- */

.hbfs-ventures {
	display: grid;
	gap: 1px;
	background: var(--hbfs-border);
	border: 1px solid var(--hbfs-border);
	margin: clamp(2.5rem, 5vw, 4rem) 0;
}

.hbfs-venture {
	background: var(--hbfs-charcoal);
	padding: clamp(1.75rem, 3.5vw, 3rem);
	transition: background-color 320ms var(--hbfs-ease);
}

.hbfs-venture:hover {
	background: #17171a;
}

.hbfs-venture__logo {
	margin-bottom: 1.5rem;
	min-height: 40px;
	display: flex;
	align-items: center;
}

.hbfs-partnerlogo {
	width: auto;
	max-width: 180px;
	max-height: 44px;
	height: auto;
	object-fit: contain;
}

.hbfs-venture__title {
	font-size: clamp(1.2rem, 1.8vw, 1.5rem);
	margin: 0 0 0.75rem;
}

.hbfs-venture__title a {
	text-decoration: none;
	color: inherit;
}

.hbfs-venture__title a:hover {
	color: var(--hbfs-gold);
}

.hbfs-venture__text {
	color: var(--hbfs-gray);
	margin: 0;
	font-size: 0.9375rem;
}

.hbfs-venture__note {
	margin: 1rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--hbfs-border);
	font-size: 0.8125rem;
	color: var(--hbfs-gold);
}

@media (min-width: 861px) {
	.hbfs-ventures {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --------------------------------------------------------------------------
   13. Panels, journal, partners
   -------------------------------------------------------------------------- */

.hbfs-panel {
	background: var(--hbfs-charcoal);
	padding: clamp(2.5rem, 6vw, 5rem);
	border-left: 2px solid var(--hbfs-crimson);
}

.hbfs-panel--crimson .hbfs-lede {
	max-width: 60ch;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.hbfs-section--ivory .hbfs-panel {
	background: transparent;
	color: var(--hbfs-near-black);
	border-left-color: var(--hbfs-crimson);
	padding-block: clamp(1rem, 3vw, 2rem);
}

.hbfs-section--ivory .hbfs-panel .hbfs-lede {
	color: #47433e;
}

.hbfs-journal {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	margin: clamp(2.5rem, 5vw, 4rem) 0;
}

.hbfs-journal__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	margin-bottom: 1.25rem;
	border: 1px solid var(--hbfs-border);
}

.hbfs-journal__img {
	transition: transform 1000ms var(--hbfs-ease);
}

.hbfs-journal__item:hover .hbfs-journal__img {
	transform: scale(1.03);
}

.hbfs-journal__title {
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
	margin: 0 0 0.6rem;
}

.hbfs-journal__title a {
	text-decoration: none;
	color: inherit;
}

.hbfs-journal__title a:hover {
	color: var(--hbfs-gold);
}

.hbfs-journal__excerpt {
	color: var(--hbfs-gray);
	font-size: 0.9375rem;
	margin: 0;
}

@media (min-width: 861px) {
	.hbfs-journal {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.hbfs-partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.hbfs-partner {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	filter: grayscale(1);
	opacity: 0.75;
	transition: filter 320ms var(--hbfs-ease), opacity 320ms var(--hbfs-ease);
}

.hbfs-partner:hover {
	filter: none;
	opacity: 1;
}

.hbfs-partner__rel {
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hbfs-gray);
}

/* --------------------------------------------------------------------------
   14. Case study, gallery, trailer facade
   -------------------------------------------------------------------------- */

.hbfs-case__statement {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	line-height: 1.35;
	letter-spacing: -0.018em;
	color: var(--hbfs-ivory);
	padding-left: 1.25rem;
	border-left: 2px solid var(--hbfs-crimson);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.hbfs-case__h {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--hbfs-gold);
	margin-top: clamp(2rem, 4vw, 3rem);
}

.hbfs-gallery-grid {
	display: grid;
	gap: 1px;
	background: var(--hbfs-border);
}

.hbfs-gallery-grid__item {
	margin: 0;
	background: var(--hbfs-black);
}

.hbfs-gallery-grid figcaption {
	font-size: 0.8125rem;
	color: var(--hbfs-gray);
	padding: 0.75rem 1rem 1.25rem;
}

@media (min-width: 861px) {
	.hbfs-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.hbfs-trailer {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--hbfs-charcoal);
}

.hbfs-trailer__poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hbfs-trailer__play {
	position: absolute;
	inset: auto auto 2rem 2rem;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.9rem 1.6rem;
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	border: 0;
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	cursor: pointer;
}

.hbfs-trailer__play:hover {
	background: var(--hbfs-crimson-deep);
}

.hbfs-trailer__icon {
	width: 0;
	height: 0;
	border-left: 10px solid currentColor;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.hbfs-trailer iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.hbfs-credits-list {
	margin: 1.5rem 0 0;
}

.hbfs-credits-list__row {
	display: grid;
	gap: 0.25rem 2rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--hbfs-border);
}

.hbfs-credits-list dt {
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hbfs-gray);
}

.hbfs-credits-list dd {
	margin: 0;
}

@media (min-width: 641px) {
	.hbfs-credits-list__row {
		grid-template-columns: 220px minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   15. Footer
   -------------------------------------------------------------------------- */

.hbfs-footer {
	background: var(--hbfs-black);
	border-top: 1px solid var(--hbfs-border);
	padding: clamp(3.5rem, 7vw, 6rem) var(--hbfs-gutter) clamp(2rem, 4vw, 3rem);
}

.hbfs-footer__mark {
	width: auto;
	height: 38px;
	margin-bottom: 1.5rem;
}

.hbfs-footer__blurb {
	color: var(--hbfs-gray);
	max-width: 46ch;
	font-size: 0.9375rem;
}

.hbfs-footer__nav a {
	color: var(--hbfs-ivory);
	text-decoration: none;
	font-size: 0.875rem;
}

.hbfs-footer__nav a:hover {
	color: var(--hbfs-gold);
}

.hbfs-footer__legal a,
.hbfs-footer__base {
	color: var(--hbfs-gray);
	font-size: 0.8125rem;
}

.hbfs-footer__base {
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--hbfs-border);
}

/* --------------------------------------------------------------------------
   15b. Site footer — rendered automatically on every page
   -------------------------------------------------------------------------- */

/* GeneratePress credit bar is removed in PHP; this is belt and braces. */
body.hbfs .site-info,
body.hbfs .copyright-bar {
	display: none;
}

.hbfs-sitefooter {
	position: relative;
	background: var(--hbfs-black);
	padding: clamp(3.5rem, 7vw, 6.5rem) var(--hbfs-gutter) clamp(1.75rem, 3vw, 2.5rem);
}

.hbfs-sitefooter__rule {
	position: absolute;
	top: 0;
	left: var(--hbfs-gutter);
	right: var(--hbfs-gutter);
	height: 1px;
	background: linear-gradient(to right, var(--hbfs-crimson) 0%, var(--hbfs-crimson) 9%, var(--hbfs-border) 9%, var(--hbfs-border) 100%);
}

.hbfs-sitefooter__inner {
	max-width: var(--hbfs-container);
	margin-inline: auto;
	display: grid;
	gap: clamp(2.5rem, 5vw, 4rem);
}

.hbfs-sitefooter .hbfs-footer__mark {
	width: auto;
	height: 40px;
	margin-bottom: 1.5rem;
	display: block;
}

.hbfs-footer__mark--light {
	background: var(--hbfs-ivory-warm);
	padding: .65rem .85rem;
}

.hbfs-sitefooter__name {
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0 0 1.25rem;
}

.hbfs-sitefooter__blurb {
	color: var(--hbfs-gray);
	font-size: 0.9375rem;
	max-width: 42ch;
	margin: 0 0 1.5rem;
}

.hbfs-sitefooter__menu {
	list-style: none !important;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.7rem;
}

.hbfs-sitefooter__menu a {
	color: var(--hbfs-ivory) !important;
	text-decoration: none !important;
	font-size: 0.9375rem;
	position: relative;
	padding-bottom: 2px;
	border-bottom: 1px solid transparent;
	transition: color 240ms var(--hbfs-ease), border-color 240ms var(--hbfs-ease);
}

.hbfs-sitefooter__menu li,
.hbfs-sitefooter__menu li::marker {
	list-style: none !important;
	content: "";
}

.hbfs-sitefooter__menu a:hover {
	color: var(--hbfs-gold);
	border-bottom-color: var(--hbfs-gold);
}

.hbfs-sitefooter__pitch {
	font-size: clamp(1.125rem, 1.6vw, 1.4rem);
	font-weight: 600;
	letter-spacing: -0.015em;
	margin: 0 0 1.5rem;
	max-width: 18ch;
}

.hbfs-sitefooter__btn {
	display: inline-block;
	padding: 0.95rem 1.9rem;
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid var(--hbfs-crimson);
	transition: background-color 240ms var(--hbfs-ease), border-color 240ms var(--hbfs-ease);
}

.hbfs-sitefooter__btn:hover {
	background: var(--hbfs-crimson-deep);
	border-color: var(--hbfs-crimson-deep);
	color: var(--hbfs-ivory);
}

.hbfs-sitefooter__base {
	max-width: var(--hbfs-container);
	margin: clamp(3rem, 6vw, 5rem) auto 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--hbfs-border);
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	align-items: baseline;
	justify-content: space-between;
}

.hbfs-sitefooter__base p {
	margin: 0;
	color: var(--hbfs-gray);
	font-size: 0.8125rem;
}

.hbfs-sitefooter__note {
	max-width: 46ch;
}

.hbfs-sitefooter__legal {
	display: flex;
	gap: 1.5rem;
}

.hbfs-sitefooter__legal a {
	color: var(--hbfs-gray);
	text-decoration: none;
}

.hbfs-sitefooter__legal a:hover {
	color: var(--hbfs-gold);
}

@media (min-width: 861px) {
	.hbfs-sitefooter__inner {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* --------------------------------------------------------------------------
   16. Motion — slow cinematic reveals, fully optional
   -------------------------------------------------------------------------- */

.hbfs-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity var(--hbfs-slow) var(--hbfs-ease), transform var(--hbfs-slow) var(--hbfs-ease);
	will-change: opacity, transform;
}

.hbfs-reveal.is-revealed {
	opacity: 1;
	transform: none;
	will-change: auto;
}

/* If JavaScript never runs, content must still be visible. */
.no-js .hbfs-reveal {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.hbfs *,
	.hbfs *::before,
	.hbfs *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.hbfs-reveal {
		opacity: 1;
		transform: none;
	}

	.hbfs-hero__img {
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   17. GeneratePress integration
   Set Customize → Layout → Container to "One Container" and Sidebars to
   "Content (no sidebars)". These rules then let the cinematic sections run
   edge to edge inside GP's shell.
   -------------------------------------------------------------------------- */

/*
 * GeneratePress prints its dynamic CSS inline in wp_head, after this
 * stylesheet. On equal specificity GP would win, so these overrides are
 * deliberately qualified with body.hbfs to sit one class higher.
 */
body.hbfs,
body.hbfs .site-content,
body.hbfs .content-area,
body.hbfs .site-main,
body.hbfs .inside-article,
body.hbfs .entry-content,
body.hbfs.one-container .site-content,
body.hbfs.separate-containers .inside-article,
body.hbfs.separate-containers .site-main {
	background-color: var(--hbfs-black);
	background-image: none;
	box-shadow: none;
	border: 0;
}

body.hbfs .site-content,
body.hbfs .content-area,
body.hbfs .site-main,
body.hbfs .inside-article,
body.hbfs .entry-content {
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: none;
}

/* Parent theme layout choices must never reserve a widget column. */
body.hbfs #right-sidebar,
body.hbfs #left-sidebar,
body.hbfs .widget-area.sidebar {
	display: none !important;
}

body.hbfs.right-sidebar .content-area,
body.hbfs.left-sidebar .content-area,
body.hbfs.both-sidebars .content-area {
	float: none;
	width: 100% !important;
	max-width: none;
}

/*
 * Only the CONTENT container is released to full width. The header keeps its
 * measured column — releasing it too is what pushed the logo to the far left
 * edge, out of line with every section below it.
 */
body.hbfs .site-content > .container,
body.hbfs .site-content > .grid-container {
	max-width: none;
	padding: 0;
}

/* Header sits in exactly the same column as the page content. */
body.hbfs .site-header .inside-header {
	/*
	 * Sections use a 1280px content column plus outer gutters. Include those
	 * gutters in the header's measured box so the logo and CTA align exactly
	 * with section text at every viewport width.
	 */
	max-width: calc(var(--hbfs-container) + (2 * var(--hbfs-gutter)));
	margin-inline: auto;
	padding-inline: var(--hbfs-gutter);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1.5rem, 4vw, 3rem);
	width: 100%;
}

/* Sections paint their own surface so nothing depends on the container. */
body.hbfs .hbfs-hero,
body.hbfs .hbfs-section {
	background-color: var(--hbfs-black);
}

body.hbfs .hbfs-section--charcoal {
	background-color: var(--hbfs-charcoal);
}

body.hbfs .hbfs-section--ivory {
	background-color: var(--hbfs-ivory-warm);
}

/* Buttons: GP's own button colours are printed inline and must be overridden. */
body.hbfs .wp-block-button__link,
body.hbfs .wp-block-button .wp-block-button__link {
	background-color: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	border-color: var(--hbfs-crimson);
}

body.hbfs .wp-block-button__link:hover,
body.hbfs .wp-block-button .wp-block-button__link:hover {
	background-color: var(--hbfs-crimson-deep);
	border-color: var(--hbfs-crimson-deep);
	color: var(--hbfs-ivory);
}

body.hbfs .hbfs-btn-ghost .wp-block-button__link {
	background-color: transparent;
	border-color: var(--hbfs-border);
	color: var(--hbfs-ivory);
}

body.hbfs .hbfs-btn-ghost .wp-block-button__link:hover {
	background-color: transparent;
	border-color: var(--hbfs-gold);
	color: var(--hbfs-gold);
}

body.hbfs .hbfs-section--ivory .hbfs-btn-ghost .wp-block-button__link {
	color: var(--hbfs-near-black);
	border-color: rgba(23, 23, 25, 0.25);
}

/*
 * The content wrapper is already full width above, so full-bleed sections need
 * no negative margins. Negative margins based on 100vw overflow by the width of
 * the scrollbar, which is what was pushing sections out of alignment.
 */
body.hbfs .entry-content > .alignfull,
body.hbfs .entry-content > .alignwide {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: none;
}

/*
 * ONE measured column for the whole site.
 *
 * Every section is full-bleed for its background and imagery, but its content
 * sits in the same 1360px column with the same gutters. That shared left edge
 * is what makes the pages feel composed rather than drifting.
 */
body.hbfs .hbfs-section > *,
body.hbfs .hbfs-hero > .hbfs-hero__inner,
body.hbfs .hbfs-section__head,
body.hbfs .hbfs-section__foot {
	width: 100%;
	max-width: var(--hbfs-container);
	margin-inline: auto;
}

/* Media and decorative layers must stay full-bleed, not join the column. */
body.hbfs .hbfs-section > .hbfs-hero__media,
body.hbfs .hbfs-section > .hbfs-sectionbg,
body.hbfs .hbfs-section > .hbfs-scrim,
body.hbfs .hbfs-section > .hbfs-hero__rule {
	max-width: none;
	margin-inline: 0;
}

/* Nothing may cause a horizontal scrollbar. */
body.hbfs,
body.hbfs .site,
body.hbfs .site-content {
	overflow-x: clip;
	max-width: 100%;
}

body.hbfs * {
	min-width: 0;
}

/*
 * Page titles are suppressed on pages: every HBFS section pattern supplies its
 * own H1, so GP's title would create a second, competing one. Posts keep theirs.
 */
.hbfs.page .entry-header,
.hbfs.page .page-header,
.hbfs .page .entry-header .entry-title {
	display: none;
}

.hbfs .entry-content > *:last-child {
	margin-bottom: 0;
}

/* GP separator/footer defaults that fight the dark system. */
.hbfs .site-footer,
.hbfs .site-info {
	background: var(--hbfs-black);
	color: var(--hbfs-gray);
	border-top: 1px solid var(--hbfs-border);
}

/* --------------------------------------------------------------------------
   17b. Navigation, ivory-section behaviour and empty states
   -------------------------------------------------------------------------- */

/* Primary navigation, floated into the header beside the logo. */
body.hbfs .main-navigation {
	background: transparent;
	flex: 0 1 auto;
}

body.hbfs .main-navigation .inside-navigation {
	padding: 0;
	max-width: none;
}

body.hbfs .main-navigation .main-nav > ul {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(0.25rem, 1vw, 0.75rem);
}

/* Never inherit a parent-theme desktop rule that hides the primary menu. */
@media (min-width: 1101px) {
	body.hbfs .main-navigation,
	body.hbfs .main-navigation .main-nav,
	body.hbfs .main-navigation .main-nav > ul {
		display: flex !important;
		visibility: visible;
		opacity: 1;
	}
}

@media (max-width: 1100px) {
	body.hbfs .site-header .inside-header { padding: 0.75rem var(--hbfs-gutter); }
	body.hbfs .site-logo img { height: 34px; max-width: min(62vw, 230px); }
	body.hbfs .hbfs-nav-toggle { display: flex !important; align-items: center; min-height: 44px; padding: 0.5rem 0.7rem; cursor:pointer; }
	body.hbfs .main-navigation { display:none !important; }
	body.hbfs-nav-open .main-navigation { display:block !important; position:fixed; top:var(--hbfs-header-h); left:0; right:0; z-index:999; max-height:calc(100dvh - var(--hbfs-header-h)); overflow-y:auto; background:rgba(20,20,22,.98); border-top:1px solid var(--hbfs-border); padding:1rem var(--hbfs-gutter) 1.5rem; }
	body.hbfs-nav-open { overflow:hidden; }
	body.hbfs-nav-open .main-navigation .main-nav { display:flex !important; flex-direction:column; align-items:stretch; gap:0; }
	body.hbfs .main-navigation .main-nav li a { display:flex; align-items:center; min-height:48px; padding:.8rem 0; }
	body.hbfs .main-navigation .main-nav li.hbfs-nav-cta > a,
	body.hbfs .main-navigation .main-nav li.menu-cta > a { display:inline-flex; width:auto; margin:.75rem 0 0; padding:.8rem 1.2rem; }
	body.hbfs.hbfs-header-light .main-navigation .main-nav li.hbfs-nav-cta > a,
	body.hbfs.hbfs-header-light .main-navigation .main-nav li.menu-cta > a { color:var(--hbfs-ivory); }
}

.hbfs-prose { max-width: 820px; }
.hbfs-prose p { color: inherit; }
.hbfs-prose h2 { margin-top: 2.5rem; }
.hbfs-servicegrid, .hbfs-contactgrid { display: grid; gap: 1px; background: rgba(23,23,25,.14); margin-top: clamp(2rem,4vw,4rem); }
.hbfs-servicecard, .hbfs-contactgrid > div { background: var(--hbfs-ivory-warm); padding: clamp(1.5rem,3vw,2.75rem); }
.hbfs-servicecard h3 { margin: .8rem 0; color: var(--hbfs-near-black); }
.hbfs-servicecard p, .hbfs-contactgrid p { color: #47433e; }
.hbfs-textlink { color: var(--hbfs-crimson) !important; font-weight: 700; }
.hbfs-legalpage { padding-top: calc(var(--hbfs-header-h) + clamp(4rem,8vw,8rem)); min-height: 70vh; }
.hbfs-legalpage__updated { color: #716c65; font-size: .9rem; margin-bottom: 3rem; }
.hbfs-archivehero > div { width: 100%; max-width: var(--hbfs-container); margin-inline: auto; }
.hbfs-archivehero h1 { max-width: 20ch; }
.hbfs-archivehero p:last-child { max-width: 62ch; color: var(--hbfs-gray); }
.post-type-archive-hbfs_project .site-main, .post-type-archive-hbfs_venture .site-main, body.blog .site-main { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.25rem,2.5vw,2.5rem); padding: clamp(3rem,6vw,6rem) var(--hbfs-gutter); max-width: var(--hbfs-container); margin-inline: auto; }
.hbfs-archivecard { background: var(--hbfs-charcoal); border: 1px solid var(--hbfs-border); }
.hbfs-archivecard .inside-article { padding: 0; background: transparent; }
.hbfs-archivecard .post-image, .hbfs-archivecard .post-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin: 0; }
.hbfs-archivecard .entry-header, .hbfs-archivecard .entry-summary { display: block !important; padding: 0 1.5rem; }
.hbfs-archivecard .entry-header { padding-top: 1.5rem; }
.hbfs-archivecard .entry-summary { padding-bottom: 1.5rem; color: var(--hbfs-gray); }
@media (min-width: 700px) { .hbfs-servicegrid { grid-template-columns: repeat(2,minmax(0,1fr)); } .hbfs-contactgrid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 960px) { .post-type-archive-hbfs_project .site-main, .post-type-archive-hbfs_venture .site-main, body.blog .site-main { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .post-type-archive-hbfs_project .site-main, .post-type-archive-hbfs_venture .site-main, body.blog .site-main { grid-template-columns: 1fr; } }

/* v3.1 — photographic services, project inquiry and hardened global shell. */
.hbfs-container,
.hbfs-section > .hbfs-container,
.hbfs-hero__inner,
.hbfs-sitefooter__inner,
.hbfs-sitefooter__base {
	width: 100%;
	max-width: var(--hbfs-container);
	margin-inline: auto;
}
.hbfs-section { overflow: hidden; }
.hbfs-servicegrid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; background: transparent; }
.hbfs-servicecard--photo { padding: 0; overflow: hidden; background: #fff; border: 1px solid rgba(23,23,25,.12); box-shadow: 0 10px 35px rgba(23,23,25,.06); }
.hbfs-servicecard--photo > img { display:block; width:100%; height:clamp(180px,16vw,245px); object-fit:cover; transition:transform 700ms var(--hbfs-ease); }
.hbfs-servicecard--photo:hover > img { transform:scale(1.035); }
.hbfs-servicecard__body { padding:clamp(1.35rem,2.2vw,2rem); }
.hbfs-servicecard__body h3 { margin:0 0 .8rem; font-size:clamp(1.15rem,1.6vw,1.45rem); }
.hbfs-servicecard__body p { margin:0; }

.hbfs-inquiry { background:#e8e0d2; color:var(--hbfs-near-black); padding:var(--hbfs-section-y) var(--hbfs-gutter); }
.hbfs-inquiry__intro { max-width:760px; margin-bottom:clamp(2.5rem,5vw,4rem); }
.hbfs-inquiry__intro h2 { color:var(--hbfs-near-black); font-size:clamp(2rem,4.5vw,4rem); margin:.2rem 0 1rem; }
.hbfs-inquiry__intro p { color:#575149; }
.hbfs-projectform { background:#f9f6ef; border:1px solid rgba(23,23,25,.14); padding:clamp(1.5rem,4vw,3.5rem); box-shadow:0 20px 55px rgba(23,23,25,.08); }
.hbfs-formgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem 1.5rem; }
.hbfs-formgrid label { display:flex; flex-direction:column; gap:.55rem; color:var(--hbfs-near-black); font-size:.82rem; font-weight:700; letter-spacing:.04em; }
.hbfs-formgrid label span { color:var(--hbfs-crimson); }
.hbfs-formgrid input,.hbfs-formgrid select,.hbfs-formgrid textarea { width:100%; border:1px solid #cbc2b5; border-radius:0; background:#fff; color:#171719; font:inherit; font-weight:400; letter-spacing:0; padding:.95rem 1rem; min-height:50px; }
.hbfs-formgrid textarea { resize:vertical; }
.hbfs-formgrid input:focus,.hbfs-formgrid select:focus,.hbfs-formgrid textarea:focus { border-color:var(--hbfs-gold); outline:2px solid rgba(195,154,71,.22); }
.hbfs-formgrid__wide { grid-column:1/-1; }
.hbfs-formnote { color:#6b665f; font-size:.85rem; margin:1.25rem 0; }
.hbfs-formsubmit { border:1px solid var(--hbfs-crimson); border-radius:0; background:var(--hbfs-crimson); color:#fff; padding:1rem 1.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.hbfs-formsubmit:hover { background:var(--hbfs-crimson-deep); }
.hbfs-honeypot { position:absolute!important; left:-9999px!important; }
.hbfs-formnotice { padding:1rem 1.2rem; margin:0 0 1.25rem; border:1px solid; }
.hbfs-formnotice--success { background:#edf7ed; border-color:#659665; color:#214b21; }
.hbfs-formnotice--error { background:#fff0f0; border-color:#b96b6b; color:#741e1e; }

.hbfs-sitefooter__inner--simple { grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr)!important; align-items:start; }
.hbfs-sitefooter .hbfs-footer__mark { width:auto; height:clamp(118px,10vw,156px); max-width:min(100%,560px); object-fit:contain; object-position:left center; margin-bottom:1.25rem; }
.hbfs-founderpage { padding-bottom:var(--hbfs-section-y)!important; }
.hbfs-founderpage__cols { margin-bottom:0!important; }
.hbfs-founderpage__media,.hbfs-founder__portrait { margin-bottom:0!important; }
.hbfs-section--charcoal::after,.hbfs-founderpage::after { display:none!important; }

@media(max-width:980px){.hbfs-servicegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.7 — rich six-discipline services architecture. */
.hbfs-servicesintro { text-align: center; }
.hbfs-servicesintro .hbfs-display,
.hbfs-servicesintro .hbfs-lede,
.hbfs-servicescta p { margin-inline: auto; }
.hbfs-servicesintro .hbfs-lede { max-width: 68ch; }
.hbfs-serviceindex { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border:1px solid rgba(23,23,25,.16); margin-top:clamp(2rem,4vw,3.5rem); }
.hbfs-serviceindex a { padding:1.05rem .75rem; color:var(--hbfs-near-black); text-decoration:none; font-size:.82rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; border-right:1px solid rgba(23,23,25,.16); }
.hbfs-serviceindex a:last-child { border-right:0; }
.hbfs-serviceindex a:hover,.hbfs-serviceindex a:focus-visible { color:var(--hbfs-crimson); background:#fff; }
.hbfs-servicechapter { scroll-margin-top:100px; padding:clamp(5rem,9vw,8rem) 0; }
.hbfs-servicechapter--dark { background:var(--hbfs-charcoal); color:#fff; }
.hbfs-servicechapter--light { background:var(--hbfs-ivory-warm); color:var(--hbfs-near-black); }
.hbfs-servicechapter--accent { background:var(--hbfs-crimson); color:#fff; }
.hbfs-servicechapter--accent .hbfs-label,.hbfs-servicechapter--accent .hbfs-servicechapter__num { color:#f1cf9e; }
.hbfs-servicechapter__head { display:grid; grid-template-columns:minmax(70px,12%) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); align-items:start; max-width:1040px; }
.hbfs-servicechapter__num { margin:0; font-size:clamp(2.4rem,6vw,5rem); font-weight:300; line-height:.9; color:var(--hbfs-gold); opacity:.8; }
.hbfs-servicechapter__head h2 { margin:.45rem 0 1.1rem; font-size:clamp(2rem,4.6vw,4.6rem); line-height:1.02; letter-spacing:-.04em; font-weight:400; }
.hbfs-servicechapter__head div>p:last-child { max-width:66ch; font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.75; opacity:.82; }
.hbfs-servicechapter__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:clamp(3rem,6vw,5rem); background:currentColor; border:1px solid currentColor; }
.hbfs-servicechapter__grid article { padding:clamp(1.5rem,3vw,2.6rem); background:var(--hbfs-charcoal); }
.hbfs-servicechapter--light .hbfs-servicechapter__grid article { background:var(--hbfs-ivory-warm); }
.hbfs-servicechapter--accent .hbfs-servicechapter__grid article { background:var(--hbfs-crimson); }
.hbfs-servicechapter__grid h3 { margin:0 0 .8rem; font-size:clamp(1.08rem,1.55vw,1.35rem); font-weight:500; }
.hbfs-servicechapter__grid p { margin:0; max-width:58ch; line-height:1.7; opacity:.78; }
.hbfs-servicescta { text-align:center; background:var(--hbfs-black); color:#fff; }
.hbfs-servicescta p { max-width:60ch; }
.hbfs-servicescta .hbfs-sitefooter__btn { display:inline-flex; margin-top:1.5rem; }
@media(max-width:900px){.hbfs-serviceindex{grid-template-columns:repeat(3,minmax(0,1fr))}.hbfs-serviceindex a:nth-child(3){border-right:0}.hbfs-serviceindex a:nth-child(-n+3){border-bottom:1px solid rgba(23,23,25,.16)}}
@media(max-width:620px){.hbfs-servicechapter__head{grid-template-columns:1fr}.hbfs-servicechapter__num{font-size:2rem}.hbfs-servicechapter__grid{grid-template-columns:1fr}.hbfs-serviceindex{grid-template-columns:repeat(2,minmax(0,1fr))}.hbfs-serviceindex a:nth-child(3){border-right:1px solid rgba(23,23,25,.16)}.hbfs-serviceindex a:nth-child(2n){border-right:0}.hbfs-serviceindex a:nth-child(-n+4){border-bottom:1px solid rgba(23,23,25,.16)}}
@media(max-width:680px){
	.hbfs-servicegrid,.hbfs-formgrid{grid-template-columns:1fr}
	.hbfs-formgrid__wide{grid-column:auto}
	.hbfs-sitefooter__inner--simple{grid-template-columns:1fr!important}
	.hbfs-servicecard--photo>img{height:210px}
	.hbfs-section,.hbfs-inquiry,.hbfs-sitefooter{padding-inline:1.25rem}
	.hbfs-sitefooter__rule{left:1.25rem;right:1.25rem}
	.hbfs-sitefooter .hbfs-footer__mark{height:118px;max-width:88vw;margin-bottom:1rem}
}

/* v3.2 mobile composition: intentional spacing, readable type and no overflow. */
@media (max-width: 680px) {
	:root {
		--hbfs-gutter: 1.25rem;
		--hbfs-section-y: clamp(3.75rem, 15vw, 5.25rem);
		--hbfs-header-h: 72px;
	}

	body.hbfs .site-header .inside-header {
		min-height: var(--hbfs-header-h);
		padding: 0.7rem var(--hbfs-gutter);
		gap: 0.75rem;
	}

	body.hbfs .site-logo img {
		height: 34px;
		max-width: min(66vw, 225px);
	}

	body.hbfs .hbfs-section,
	body.hbfs .hbfs-inquiry,
	body.hbfs .hbfs-sitefooter {
		padding-left: var(--hbfs-gutter);
		padding-right: var(--hbfs-gutter);
	}

	.hbfs-display,
	.hbfs-hero h1,
	.hbfs-archivehero h1 {
		font-size: clamp(2.15rem, 11.5vw, 3.4rem);
		line-height: 1.02;
		overflow-wrap: anywhere;
	}

	.hbfs-capgrid {
		grid-template-columns: 1fr;
		margin-top: 2rem;
	}

	.hbfs-cap {
		border-right: 0;
		padding: 1rem;
	}

	.hbfs-cap__media {
		aspect-ratio: 16 / 8.5;
	}

	.hbfs-sitefooter__base,
	.hbfs-sitefooter__legal {
		align-items: flex-start;
		flex-direction: column;
	}

	.hbfs-sitefooter__legal {
		gap: 0.7rem;
	}

	.hbfs-projectform {
		padding: 1.25rem;
	}

	.hbfs-formgrid input,
	.hbfs-formgrid select,
	.hbfs-formgrid textarea,
	.hbfs-formsubmit {
		font-size: 16px;
	}

	.hbfs-formsubmit {
		width: 100%;
		min-height: 50px;
	}
}

body.hbfs .main-navigation .main-nav ul li a {
	padding: 0.75rem 0.9rem;
	line-height: 1;
}

body.hbfs .main-navigation .main-nav ul li a::after {
	left: 0.9rem;
	right: 0.9rem;
	bottom: 0.4rem;
}

/* Persistent desktop CTA; on mobile it lives inside the opened menu only. */
body.hbfs .main-navigation .main-nav li.hbfs-nav-cta > a,
body.hbfs .main-navigation .main-nav li.menu-cta > a {
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	padding: 0.8rem 1.4rem;
	margin-left: 0.6rem;
}

body.hbfs .main-navigation .main-nav li.hbfs-nav-cta > a:hover,
body.hbfs .main-navigation .main-nav li.menu-cta > a:hover {
	background: var(--hbfs-crimson-deep);
}

body.hbfs .menu-toggle {
	background: transparent;
	color: var(--hbfs-ivory);
}

/*
 * Sections on warm ivory: rules, timeline and cards must switch to the dark-on-
 * light palette or they vanish against the light ground.
 */
.hbfs-section--ivory .hbfs-journey__item {
	border-top-color: rgba(23, 23, 25, 0.14);
}

.hbfs-section--ivory .hbfs-journey__item::before {
	background: var(--hbfs-crimson);
}

.hbfs-section--ivory .hbfs-journey__marker {
	color: #8a6d2f;
}

.hbfs-section--ivory .hbfs-journey__body p {
	color: #47433e;
}

.hbfs-section--ivory .hbfs-num {
	color: #8a6d2f;
}

/* Venture cards read as black on the charcoal band, not charcoal on charcoal. */
.hbfs-section--charcoal .hbfs-venture {
	background: var(--hbfs-black);
}

.hbfs-section--charcoal .hbfs-venture:hover {
	background: #101013;
}

/* A tighter display size for section headings that are not the page opener. */
.hbfs-display--tight {
	font-size: clamp(1.7rem, 3.2vw, 2.75rem);
	max-width: 24ch;
}

/* Founder copy keeps a readable measure instead of running edge to edge. */
.hbfs-founder__panel {
	max-width: 620px;
}

.hbfs-founder__panel p,
.hbfs-founder__panel .hbfs-display {
	max-width: 34ch;
}

.hbfs-founder__panel .hbfs-display {
	font-size: clamp(1.8rem, 3.4vw, 3rem);
}

/*
 * Empty states: a section with nothing in it is worse than no section. Selected
 * Work hides itself until a project is marked "Feature on homepage", and the
 * same applies to the journey, ventures and journal bands.
 */
.hbfs-section--work:not(:has(.hbfs-work)),
.hbfs-section--journey:not(:has(.hbfs-journey)),
.hbfs-section--ventures:not(:has(.hbfs-ventures)),
.hbfs-section--journal:not(:has(.hbfs-journal)) {
	display: none;
}

/* --------------------------------------------------------------------------
   18. Editor parity
   -------------------------------------------------------------------------- */

.editor-styles-wrapper {
	background-color: var(--hbfs-black);
	color: var(--hbfs-ivory);
}

.editor-styles-wrapper .hbfs-reveal {
	opacity: 1;
	transform: none;
}

/* The editor body has no .hbfs class, so button styling is repeated here. */
.editor-styles-wrapper .wp-block-button__link {
	background: var(--hbfs-crimson);
	color: var(--hbfs-ivory);
	border: 1px solid var(--hbfs-crimson);
	border-radius: 0;
	padding: 1rem 2.1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.editor-styles-wrapper .hbfs-btn-ghost .wp-block-button__link {
	background: transparent;
	border-color: var(--hbfs-border);
	color: var(--hbfs-ivory);
}

.editor-styles-wrapper .hbfs-section--ivory .hbfs-btn-ghost .wp-block-button__link {
	color: var(--hbfs-near-black);
	border-color: rgba(23, 23, 25, 0.25);
}

.hbfs-notice {
	padding: 1rem 1.25rem;
	border: 1px dashed var(--hbfs-gold);
	color: var(--hbfs-gold);
	font-size: 0.875rem;
}

/* v3.3 final cascade locks: legacy section/footer rules above must not flatten
   the new homepage colour rhythm or its three-column footer. */
body.hbfs .hbfs-section--project {
	background: linear-gradient(120deg,#721d26 0%,#a32935 55%,#6d1922 100%);
	color: var(--hbfs-ivory);
}

body.hbfs .hbfs-section--closing {
	background: #d8cdbd;
	color: var(--hbfs-near-black);
}

body.hbfs .hbfs-section--closing :is(h2,p) { color: var(--hbfs-near-black); }

/* Header social links live in their own quiet utility strip; never between the
   logo and navigation. */
body.hbfs .hbfs-utility {
	background:#0b0b0d;
	border-bottom:1px solid rgba(255,255,255,.09);
	min-height:34px;
}

body.hbfs .hbfs-utility__inner {
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:1.2rem;
	min-height:34px;
	font-size:.62rem;
	font-weight:600;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:#8f8b85;
}

body.hbfs .hbfs-utility .hbfs-social--header { margin:0; display:flex; gap:.35rem; }
body.hbfs .hbfs-utility .hbfs-social__link { width:25px; height:25px; border:0; color:#b8b3aa; }
body.hbfs .hbfs-utility .hbfs-social__link:hover { color:var(--hbfs-gold); background:transparent; }
body.hbfs .hbfs-utility .hbfs-social svg { width:13px; height:13px; }

/* Compact, intentional footer: brand / navigation / contact share one row. */
body.hbfs .hbfs-sitefooter { padding-top:clamp(3rem,5vw,4.5rem); padding-bottom:1.5rem; }
body.hbfs .hbfs-sitefooter__inner { gap:clamp(2.5rem,5vw,5rem); align-items:start; }
body.hbfs .hbfs-sitefooter__brand .hbfs-sitefooter__blurb { max-width:37rem; }
body.hbfs .hbfs-sitefooter__connect { align-self:start; }
body.hbfs .hbfs-sitefooter__base { margin-top:clamp(2.5rem,4vw,3.5rem); }
body.hbfs .hbfs-sitefooter__connect .hbfs-social { margin-top:1.2rem; }

/* CTA must remain readable even when an older cached section class is present. */
body.hbfs .hbfs-closing,
body.hbfs .hbfs-section--closing { background:#d8cdbd !important; }
body.hbfs .hbfs-closing :is(h2,p),
body.hbfs .hbfs-section--closing :is(h2,p) { color:#171719 !important; }

@media (min-width:861px) {
	body.hbfs .hbfs-sitefooter__inner.hbfs-sitefooter__inner--simple {
		grid-template-columns: minmax(0,1.5fr) minmax(180px,.55fr) minmax(220px,.65fr) !important;
	}
}

@media (min-width:1101px) {
	body.hbfs { --hbfs-header-h:118px; }
}

@media (max-width:1100px) {
	body.hbfs .hbfs-utility { display:none; }
}

/* v3.4 — Founder portrait and editorial typography. */
body.hbfs .hbfs-founderpage__cols {
	align-items:center;
	gap:clamp(2.5rem,5vw,5.5rem);
}
body.hbfs .hbfs-founderpage__cols > .wp-block-column:first-child { flex-basis:58%!important; }
body.hbfs .hbfs-founderpage__media { flex-basis:42%!important; align-self:center; }
body.hbfs .hbfs-founderpage .hbfs-display {
	font-size:clamp(2.35rem,3.35vw,3.35rem);
	font-weight:520;
	letter-spacing:-.035em;
}
body.hbfs .hbfs-founderpage p:not(.hbfs-label) {
	font-size:clamp(1rem,1.15vw,1.12rem);
	line-height:1.72;
	font-weight:390;
	color:#4f4a44;
}
body.hbfs .hbfs-founder__portrait {
	width:min(100%,480px)!important;
	height:auto!important;
	aspect-ratio:4/5!important;
	max-width:480px!important;
	margin:0 auto!important;
	overflow:hidden!important;
	background:#dcd6cd;
}
body.hbfs .hbfs-founder__portrait :is(img,.hbfs-img,.hbfs-founder__portraitimg) {
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:0!important;
	max-height:none!important;
	aspect-ratio:auto!important;
	object-fit:cover!important;
	object-position:50% 18%!important;
}

/* v3.4 — Contact page: cinematic hero, practical form and integrated map. */
.hbfs-contacthero { position:relative; min-height:min(760px,78vh); display:grid; align-items:end; overflow:hidden; color:var(--hbfs-ivory); }
.hbfs-contacthero > .hbfs-img,.hbfs-contacthero > picture,.hbfs-contacthero > picture img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hbfs-contacthero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,6,8,.9) 0%,rgba(6,6,8,.58) 48%,rgba(6,6,8,.14) 100%),linear-gradient(0deg,rgba(6,6,8,.78),transparent 55%); }
.hbfs-contacthero__inner { position:relative; z-index:2; padding-block:clamp(5rem,10vw,8rem); }
.hbfs-contacthero h1 { margin:.75rem 0 1.5rem; max-width:11ch; font-size:clamp(3.5rem,7.8vw,7.8rem); line-height:.86; letter-spacing:-.065em; font-weight:600; }
.hbfs-contacthero h1 span,.hbfs-contacthero h1 em { display:block; }
.hbfs-contacthero h1 em { color:var(--hbfs-gold); font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.hbfs-contacthero__inner > p:not(.hbfs-label) { max-width:38rem; color:rgba(247,243,235,.78); font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.6; }
.hbfs-contacthero__jump { display:inline-flex; gap:1.25rem; margin-top:2rem; color:var(--hbfs-ivory); text-decoration:none; padding-bottom:.6rem; border-bottom:1px solid rgba(247,243,235,.45); }
.hbfs-contactstudio { background:#eee9e0; color:var(--hbfs-near-black); padding-block:clamp(5rem,9vw,9rem); }
.hbfs-contactstudio__head { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(3rem,7vw,8rem); align-items:end; margin-bottom:clamp(3rem,6vw,6rem); }
.hbfs-contactstudio__head h2 { margin:.6rem 0 0; font-size:clamp(2.6rem,5vw,5.1rem); line-height:.98; letter-spacing:-.055em; }
.hbfs-contactstudio__head > p { color:#5b554e; line-height:1.75; }
.hbfs-contactstudio__layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); background:#171719; color:var(--hbfs-ivory); box-shadow:0 24px 70px rgba(25,20,15,.13); }
.hbfs-contactstudio__details { padding:clamp(2rem,4vw,4.5rem); background:linear-gradient(155deg,#7d202a 0%,#9e2935 55%,#641922 100%); }
.hbfs-contactdetail { display:grid; grid-template-columns:2.2rem 1fr; gap:1rem; padding:1.55rem 0; border-top:1px solid rgba(255,255,255,.2); }
.hbfs-contactdetail > span { color:rgba(255,255,255,.5); font-size:.68rem; letter-spacing:.12em; }
.hbfs-contactdetail p { margin:0 0 .45rem; color:rgba(255,255,255,.62); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
.hbfs-contactdetail a,.hbfs-contactdetail address { color:#fff; font-style:normal; text-decoration:none; line-height:1.55; overflow-wrap:anywhere; }
.hbfs-contactstudio__note { margin-top:2rem; color:rgba(255,255,255,.68); font-size:.78rem; letter-spacing:.08em; }
.hbfs-contactstudio__form { padding:clamp(2rem,5vw,5rem); }
.hbfs-contactstudio__form h3 { margin:.5rem 0 2.5rem; color:var(--hbfs-ivory); font-size:clamp(1.9rem,3vw,3.2rem); letter-spacing:-.035em; }
.hbfs-contactstudio__form .hbfs-projectform { margin-top:0; }
.hbfs-contactstudio__form :is(label,.hbfs-formlabel) { color:rgba(255,255,255,.75); }
.hbfs-contactstudio__form :is(input,select,textarea) { color:#fff; background:transparent; border-color:rgba(255,255,255,.22); }
.hbfs-contactstudio__form :is(input,select,textarea):focus { border-color:var(--hbfs-gold); }
.hbfs-mapcard { display:grid; grid-template-columns:.68fr 1.32fr; min-height:430px; margin-top:clamp(2.5rem,5vw,5rem); background:#d8cdbd; overflow:hidden; }
.hbfs-mapcard__copy { padding:clamp(2rem,4vw,4rem); }
.hbfs-mapcard__copy h3 { margin:.65rem 0 1.2rem; font-size:clamp(2rem,3.6vw,3.8rem); line-height:1; letter-spacing:-.045em; }
.hbfs-mapcard__copy p { color:#585149; line-height:1.65; }
.hbfs-mapcard__copy a { display:inline-block; margin-top:1rem; color:var(--hbfs-near-black); font-weight:650; text-decoration:none; border-bottom:1px solid currentColor; }
.hbfs-mapcard iframe { width:100%; min-height:430px; height:100%; border:0; filter:grayscale(1) contrast(.92) sepia(.08); }

@media (max-width:860px) {
	body.hbfs .hbfs-founderpage__cols { display:block; }
	body.hbfs .hbfs-founder__portrait { max-width:390px!important; margin:2.5rem 0 0!important; }
	.hbfs-contacthero { min-height:620px; }
	.hbfs-contactstudio__head,.hbfs-contactstudio__layout,.hbfs-mapcard { grid-template-columns:1fr; }
	.hbfs-contactstudio__head { gap:1.5rem; }
	.hbfs-mapcard iframe { min-height:340px; }
}

@media (max-width:560px) {
	.hbfs-contacthero h1 { font-size:clamp(3rem,16vw,4.5rem); }
	.hbfs-contactstudio__form,.hbfs-contactstudio__details,.hbfs-mapcard__copy { padding:1.6rem; }
	.hbfs-contactstudio__form .hbfs-formgrid { grid-template-columns:1fr!important; }
	body.hbfs .hbfs-founder__portrait { width:100%!important; max-width:none!important; }
}

/* v3.5 — restored Contact hero, unified light contact surface, reference-scale footer. */
body.hbfs .hbfs-contacthero > .hbfs-hero__media,
body.hbfs .hbfs-contacthero > .hbfs-hero__media picture,
body.hbfs .hbfs-contacthero > .hbfs-hero__media img {
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
body.hbfs .hbfs-contacthero > .hbfs-hero__media { z-index:0; }
body.hbfs .hbfs-contacthero__shade { z-index:1; }
body.hbfs .hbfs-contacthero { min-height:min(720px,76vh); }
body.hbfs .hbfs-contacthero h1 { font-size:clamp(3.6rem,6.6vw,6.7rem); max-width:12ch; }

body.hbfs .hbfs-contactstudio { background:#f3efe8; padding-block:clamp(4.5rem,8vw,7.5rem); }
body.hbfs .hbfs-contactstudio__head { align-items:start; margin-bottom:clamp(2.5rem,5vw,4.5rem); }
body.hbfs .hbfs-contactstudio__head h2 { font-size:clamp(2.5rem,4.4vw,4.45rem); }
body.hbfs .hbfs-contactstudio__layout {
	grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);
	gap:0;
	background:#fbf8f2;
	color:var(--hbfs-near-black);
	border:1px solid rgba(23,23,25,.1);
	box-shadow:0 24px 65px rgba(35,29,22,.09);
}
body.hbfs .hbfs-contactstudio__details {
	background:#e6ded2;
	color:var(--hbfs-near-black);
	border-right:1px solid rgba(23,23,25,.1);
}
body.hbfs .hbfs-contactdetail { border-top-color:rgba(23,23,25,.16); grid-template-columns:2.4rem minmax(0,1fr); }
body.hbfs .hbfs-contactdetail > p:empty { display:none!important; }
body.hbfs .hbfs-contactdetail > div { min-width:0; }
body.hbfs .hbfs-contactdetail > span { color:#9a2632; }
body.hbfs .hbfs-contactdetail p { color:#7c262f; }
body.hbfs .hbfs-contactdetail a,
body.hbfs .hbfs-contactdetail address {
	color:#262326;
	overflow-wrap:normal;
	word-break:normal;
	font-size:.98rem;
	letter-spacing:0;
	text-transform:none;
}
body.hbfs .hbfs-contactdetail a { white-space:nowrap; }
body.hbfs .hbfs-contactstudio__note { color:#6a625a; }
body.hbfs .hbfs-contactstudio__form { background:#fbf8f2; }
body.hbfs .hbfs-contactstudio__form h3 { color:var(--hbfs-near-black); }
body.hbfs .hbfs-contactstudio__form :is(label,.hbfs-formlabel) { color:#514b45; }
body.hbfs .hbfs-contactstudio__form :is(input,select,textarea) {
	color:#262326;
	background:rgba(255,255,255,.52);
	border-color:rgba(23,23,25,.22);
}
body.hbfs .hbfs-contactstudio__form :is(input,select,textarea)::placeholder { color:#8a837b; opacity:1; }
body.hbfs .hbfs-contactstudio__form :is(input,select,textarea):focus { border-color:#9a2632; box-shadow:0 1px 0 #9a2632; }
body.hbfs .hbfs-mapcard {
	grid-template-columns:.62fr 1.38fr;
	gap:24px;
	padding:24px;
	margin-top:clamp(2.5rem,5vw,4.5rem);
	background:#e6ded2;
	border:1px solid rgba(23,23,25,.1);
	box-shadow:0 18px 50px rgba(35,29,22,.07);
}
body.hbfs .hbfs-mapcard__copy { padding:clamp(1.5rem,3vw,3.25rem); }
body.hbfs .hbfs-mapcard > p { display:flex; min-width:0; margin:0; }
body.hbfs .hbfs-mapcard iframe { display:block; flex:1 1 auto; margin:0; width:100%; height:auto; min-height:430px; border-radius:2px; }

body.hbfs .hbfs-sitefooter { background:#0b1016; padding:0!important; color:rgba(255,255,255,.58); }
body.hbfs .hbfs-sitefooter__rule { display:none; }
body.hbfs .hbfs-sitefooter__inner,
body.hbfs .hbfs-sitefooter__inner.hbfs-sitefooter__inner--simple {
	width:min(calc(100% - 80px),1280px);
	margin:0 auto;
	padding:72px 0 60px;
	display:grid;
	grid-template-columns:minmax(260px,1.25fr) minmax(120px,.55fr) minmax(150px,.7fr) minmax(180px,.75fr)!important;
	gap:clamp(2rem,4vw,4.5rem)!important;
}
body.hbfs .hbfs-sitefooter .hbfs-footer__mark { height:92px!important; width:auto!important; max-width:300px!important; margin:0 0 1.5rem!important; object-position:left center; }
body.hbfs .hbfs-sitefooter__blurb { max-width:300px!important; margin:0 0 1rem; color:rgba(255,255,255,.72); font-size:15px!important; line-height:1.75!important; font-weight:300!important; }
body.hbfs .hbfs-sitefooter .hbfs-label { margin:0 0 .85rem; color:#ba9042!important; font-size:10px!important; line-height:1.1!important; font-weight:500!important; letter-spacing:.08em; }
body.hbfs .hbfs-sitefooter__brand > .hbfs-label { margin-top:1rem; color:rgba(255,255,255,.42)!important; font-size:10px!important; }
body.hbfs .hbfs-footer__menu { display:block!important; margin:0!important; padding:0!important; list-style:none!important; }
body.hbfs .hbfs-footer__menu li { margin:0 0 .3rem!important; padding:0!important; }
body.hbfs .hbfs-footer__menu a,
body.hbfs .hbfs-sitefooter__email,
body.hbfs .hbfs-sitefooter__connect > p:not(.hbfs-label) {
	color:rgba(255,255,255,.7)!important;
	font-size:14.5px!important;
	line-height:1.7!important;
	font-weight:300!important;
}
body.hbfs .hbfs-sitefooter__connect > p:not(.hbfs-label) { margin:.4rem 0; }
body.hbfs .hbfs-sitefooter__connect .hbfs-social { margin-top:1rem; }
body.hbfs .hbfs-sitefooter__base {
	width:min(calc(100% - 80px),1280px);
	margin:0 auto!important;
	padding:28px 0 34px;
	border-top:1px solid rgba(255,255,255,.12);
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:2rem;
	color:rgba(255,255,255,.42);
}
body.hbfs .hbfs-sitefooter__base p,
body.hbfs .hbfs-sitefooter__base a { font-size:12.5px!important; line-height:1.5!important; font-weight:300!important; }
body.hbfs .hbfs-sitefooter__legal { justify-self:center; }
body.hbfs .hbfs-sitefooter__credit {
	grid-column:3;
	justify-self:end;
	text-align:right;
}

@media (max-width:980px) {
	body.hbfs .hbfs-sitefooter__inner,
	body.hbfs .hbfs-sitefooter__inner.hbfs-sitefooter__inner--simple { grid-template-columns:1.25fr .75fr .9fr!important; }
	body.hbfs .hbfs-sitefooter__services { display:none; }
	body.hbfs .hbfs-contactstudio__layout { grid-template-columns:1fr; }
	body.hbfs .hbfs-contactstudio__details { border-right:0; border-bottom:1px solid rgba(23,23,25,.1); }
}
@media (max-width:700px) {
	body.hbfs .hbfs-contacthero { min-height:600px; }
	body.hbfs .hbfs-contacthero__inner { padding-block:4.5rem 3.75rem; }
	body.hbfs .hbfs-contactstudio__details { padding:1.6rem; }
	body.hbfs .hbfs-contactdetail { grid-template-columns:2rem minmax(0,1fr); gap:.75rem; }
	body.hbfs .hbfs-contactdetail a,
	body.hbfs .hbfs-contactdetail address { font-size:1rem; line-height:1.55; }
	body.hbfs .hbfs-contactdetail address { max-width:24ch; }
	body.hbfs .hbfs-mapcard { grid-template-columns:1fr; }
	body.hbfs .hbfs-mapcard { gap:18px; padding:18px; }
	body.hbfs .hbfs-mapcard__copy { padding:1.35rem .35rem .5rem; }
	body.hbfs .hbfs-mapcard iframe { margin:0; width:100%; min-height:330px; }
	body.hbfs .hbfs-sitefooter__inner,
	body.hbfs .hbfs-sitefooter__base { width:min(calc(100% - 40px),1280px); }
	body.hbfs .hbfs-sitefooter__inner,
	body.hbfs .hbfs-sitefooter__inner.hbfs-sitefooter__inner--simple { grid-template-columns:1fr 1fr!important; padding:52px 0 42px; }
	body.hbfs .hbfs-sitefooter__brand { grid-column:1/-1; }
	body.hbfs .hbfs-sitefooter__base { grid-template-columns:1fr; gap:.75rem; }
	body.hbfs .hbfs-sitefooter__legal,
	body.hbfs .hbfs-sitefooter__credit {
		grid-column:1;
		justify-self:start;
		text-align:left;
	}
}
@media (max-width:460px) {
	body.hbfs .hbfs-sitefooter__inner,
	body.hbfs .hbfs-sitefooter__inner.hbfs-sitefooter__inner--simple { grid-template-columns:1fr!important; }
	body.hbfs .hbfs-sitefooter__brand { grid-column:auto; }
}

img.hbfs-protected-image {
	-webkit-user-drag:none;
	-webkit-user-select:none;
	user-select:none;
}

/* v3.6 — four restrained hero signatures, isolated from content and controls. */
.hbfs-hero,
.hbfs-contacthero { isolation:isolate; }
.hbfs-hero-fx {
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
	overflow:hidden;
	opacity:1;
	transition:opacity .6s ease;
}
.hbfs-hero-fx canvas { display:block; width:100%; height:100%; }
.hbfs-hero-fx.is-finished { opacity:0; }
.hbfs-hero > :not(.hbfs-hero__media):not(.hbfs-hero-fx),
.hbfs-contacthero > :not(.hbfs-hero__media):not(.hbfs-hero-fx):not(.hbfs-contacthero__shade) { position:relative; z-index:3; }
.hbfs-contacthero__shade { z-index:1!important; }
.hbfs-filmbeam {
	position:absolute;
	top:-35%;
	left:-42%;
	width:34%;
	height:175%;
	transform:rotate(11deg);
	background:linear-gradient(90deg,transparent,rgba(255,232,178,.06) 25%,rgba(255,242,211,.3) 52%,rgba(255,224,159,.04) 78%,transparent);
	filter:blur(7px);
	animation:hbfs-film-sweep 2.55s cubic-bezier(.22,.65,.3,1) both;
}
.hbfs-filmflare {
	position:absolute;
	top:45%;
	left:-12%;
	width:14rem;
	height:14rem;
	border-radius:50%;
	background:radial-gradient(circle,rgba(255,244,215,.56) 0,rgba(201,142,60,.14) 22%,transparent 67%);
	filter:blur(2px);
	animation:hbfs-flare-pass 2.55s ease-out both;
}
.hbfs-filmgrain { position:absolute; inset:0; opacity:.08; background-image:repeating-radial-gradient(circle at 17% 31%,rgba(255,255,255,.5) 0 1px,transparent 1px 4px); background-size:7px 7px; animation:hbfs-grain 1.8s steps(5,end) both; }
@keyframes hbfs-film-sweep { 0%{transform:translateX(0) rotate(11deg);opacity:0} 16%{opacity:1} 82%{opacity:.8} 100%{transform:translateX(470%) rotate(11deg);opacity:0} }
@keyframes hbfs-flare-pass { 0%{transform:translateX(0) scale(.55);opacity:0} 22%{opacity:.7} 100%{transform:translateX(760%) scale(1.1);opacity:0} }
@keyframes hbfs-grain { 0%{transform:translate(0);opacity:0} 18%{opacity:.08} 42%{transform:translate(-1%,1%)} 72%{transform:translate(1%,-1%)} 100%{opacity:0} }
@media (max-width:700px) {
	.hbfs-filmbeam { width:48%; opacity:.72; }
	.hbfs-filmflare { width:9rem; height:9rem; }
}
@media (prefers-reduced-motion:reduce) {
	.hbfs-hero-fx { display:none!important; }
}

/* --------------------------------------------------------------------------
   2026 v6.2 coherence layer
   One container, one spacing rhythm and resilient content visibility.
   -------------------------------------------------------------------------- */

/* Content must never disappear if an observer, cache or deferred script fails. */
body.hbfs .hbfs-reveal,
body.hbfs .hbfs-reveal.is-revealed { opacity:1; transform:none; }

/* Main navigation: Art Collection is top-level; dropdowns read as real panels. */
body.hbfs .main-navigation .sub-menu {
	width:270px;
	min-width:270px;
	padding:8px!important;
	background:linear-gradient(145deg,rgba(17,18,21,.99),rgba(32,28,29,.99));
	border:1px solid rgba(194,154,82,.32);
	border-top:3px solid var(--hbfs-gold);
	border-radius:0 0 8px 8px;
	box-shadow:0 20px 48px rgba(0,0,0,.42);
}
body.hbfs .main-navigation .sub-menu a {
	padding:8px 11px!important;
	border-bottom:1px solid rgba(255,255,255,.07);
	font-size:.72rem;
	line-height:1.25;
	letter-spacing:.075em;
}
body.hbfs .main-navigation .sub-menu li:last-child a { border-bottom:0; }
body.hbfs .main-navigation .sub-menu a:hover,
body.hbfs .main-navigation .sub-menu a:focus { background:rgba(194,154,82,.09); color:#fff!important; box-shadow:inset 2px 0 0 var(--hbfs-gold); transform:none; }

/* Homepage complete capability system. */
body.hbfs .hbfs-capgrid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; }
body.hbfs .hbfs-cap__media,
body.hbfs .hbfs-cap__media .hbfs-mastermedia { min-height:0; height:auto; margin:0; background:#292724; }
body.hbfs .hbfs-cap__media img { width:100%; aspect-ratio:4/3; object-fit:cover; }

.hbfs-homefeature { padding:clamp(76px,9vw,138px) 0; background:#141416; color:#f7f2e9; }
.hbfs-homefeature__grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); gap:clamp(44px,7vw,110px); align-items:center; }
.hbfs-homefeature__media .hbfs-mastermedia { margin:0; min-height:0; }
.hbfs-homefeature__media img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.hbfs-homefeature__copy h2 { margin:.35em 0 .45em; max-width:720px; font-size:clamp(2.4rem,4.8vw,5rem); line-height:1; letter-spacing:-.045em; font-weight:430; }
.hbfs-homefeature__copy>p:not(.hbfs-label):not(.hbfs-textlink) { max-width:62ch; font-size:1.08rem; line-height:1.8; color:rgba(247,242,233,.76); }

.hbfs-platformgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:clamp(42px,6vw,80px); background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
body.hbfs .hbfs-section--ventures:has(.hbfs-platformgrid) { display:block!important; }
.hbfs-platformcard { padding:clamp(28px,4vw,52px); background:var(--hbfs-charcoal); }
.hbfs-platformcard h3 { margin:.4rem 0 .8rem; font-size:clamp(1.6rem,2.6vw,2.65rem); font-weight:450; color:#fff; }
.hbfs-platformcard>p:last-child { max-width:58ch; color:rgba(255,255,255,.68); line-height:1.7; }
.hbfs-platformcard__logo .hbfs-mastermedia { width:min(100%,320px); min-height:0; margin:0 0 28px; background:#080b0f; }
.hbfs-platformcard__logo img { width:100%; height:auto; object-fit:contain; }

/* Rich Services gateway. */
.hbfs-servicesgateway { padding:clamp(78px,9vw,140px) 0; background:#f2ede4; color:#19191b; }
.hbfs-servicesgateway__intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); gap:clamp(36px,7vw,100px); align-items:end; margin-bottom:clamp(50px,7vw,90px); }
.hbfs-servicesgateway__intro h2 { margin:.35em 0 0; font-size:clamp(2.5rem,5vw,5.4rem); line-height:.98; letter-spacing:-.05em; font-weight:420; }
.hbfs-servicesgateway__intro>p { margin:0; max-width:58ch; line-height:1.75; color:#5d5953; }
.hbfs-servicesgateway__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,3vw,38px); }
.hbfs-serviceportal { position:relative; overflow:hidden; background:#171719; color:#fff; }
.hbfs-serviceportal>a { position:absolute; inset:0; z-index:3; }
.hbfs-serviceportal__media .hbfs-mastermedia { min-height:0; margin:0; }
.hbfs-serviceportal__media img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .7s var(--hbfs-ease); }
.hbfs-serviceportal:hover .hbfs-serviceportal__media img { transform:scale(1.035); }
.hbfs-serviceportal__body { position:relative; padding:clamp(24px,3.5vw,44px); }
.hbfs-serviceportal__body>span { position:absolute; right:clamp(24px,3.5vw,44px); top:clamp(24px,3.5vw,44px); color:var(--hbfs-gold); font-size:.78rem; letter-spacing:.18em; }
.hbfs-serviceportal__body h3 { max-width:16ch; margin:.45rem 0 .8rem; font-size:clamp(1.7rem,3vw,3rem); line-height:1.05; letter-spacing:-.035em; font-weight:430; }
.hbfs-serviceportal__body>p:not(.hbfs-label) { max-width:54ch; color:rgba(255,255,255,.66); line-height:1.65; }
.hbfs-serviceportal__body strong { display:block; margin-top:22px; color:var(--hbfs-gold); font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; }
.hbfs-serviceprocess { padding:clamp(76px,9vw,136px) 0; background:#151517; color:#fff; }
.hbfs-serviceprocess h2 { max-width:900px; margin:.35em 0 1em; font-size:clamp(2.5rem,5vw,5.2rem); line-height:.98; letter-spacing:-.045em; font-weight:420; }
.hbfs-serviceprocess__steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.18); }
.hbfs-serviceprocess__steps article { padding:28px 24px 24px 0; border-right:1px solid rgba(255,255,255,.12); }
.hbfs-serviceprocess__steps span { color:var(--hbfs-gold); }
.hbfs-serviceprocess__steps h3 { margin:1.25rem 0 .7rem; font-size:1.25rem; }
.hbfs-serviceprocess__steps p { color:rgba(255,255,255,.62); line-height:1.6; }

/* Reusable proposal section: one centered axis and controlled measure. */
body.hbfs .hbfs-masterproposal { padding:clamp(76px,8vw,128px) var(--hbfs-gutter); text-align:center; }
body.hbfs .hbfs-masterproposal .hbfs-container { width:100%; max-width:1180px; margin-inline:auto; padding-inline:0; }
body.hbfs .hbfs-masterproposal .hbfs-label { margin-inline:auto; text-align:center; }
body.hbfs .hbfs-masterproposal h2 { max-width:1100px; margin:.35em auto .45em; font-size:clamp(2.75rem,5.5vw,5.6rem); line-height:1; text-wrap:balance; }
body.hbfs .hbfs-masterproposal p:not(.hbfs-label) { max-width:760px; margin:0 auto 34px; font-size:clamp(1rem,1.45vw,1.22rem); text-wrap:balance; }

/* Footer/client wall are one deliberate closing system. */
body.hbfs .hbfs-clients { border-bottom:1px solid rgba(255,255,255,.1); }
body.hbfs .hbfs-sitefooter .hbfs-footer__mark { width:min(100%,410px)!important; height:auto!important; max-height:none!important; margin:0 0 28px!important; object-fit:contain; object-position:left center; }
body.hbfs .hbfs-sitefooter__blurb { max-width:43ch; font-size:1rem; line-height:1.7; color:rgba(247,243,235,.72); }
body.hbfs .hbfs-sitefooter__relationship { width:min(100% - (2 * var(--hbfs-gutter)),1280px); margin:0 auto; padding:0 0 34px; color:rgba(247,243,235,.46); font-size:.76rem; }
body.hbfs .hbfs-sitefooter__nav .hbfs-footer__menu,
body.hbfs .hbfs-sitefooter__services .hbfs-footer__menu { display:flex!important; flex-direction:column; gap:0!important; margin:12px 0 0!important; padding:0!important; }
body.hbfs .hbfs-sitefooter__nav .hbfs-footer__menu li,
body.hbfs .hbfs-sitefooter__services .hbfs-footer__menu li { margin:0!important; padding:0!important; line-height:1!important; }
body.hbfs .hbfs-sitefooter__nav .hbfs-footer__menu a,
body.hbfs .hbfs-sitefooter__services .hbfs-footer__menu a { display:block; padding:5px 0!important; line-height:1.25!important; }

/* Services closing CTA: compact and deliberately connected to the footer. */
body.hbfs .hbfs-servicescta { padding:clamp(72px,7vw,112px) var(--hbfs-gutter)!important; min-height:0!important; }
body.hbfs .hbfs-servicescta .hbfs-container { max-width:1060px; margin-inline:auto; padding-inline:0; }
body.hbfs .hbfs-servicescta .hbfs-label { margin:0 auto 22px; }
body.hbfs .hbfs-servicescta .hbfs-display { max-width:980px; margin:0 auto; font-size:clamp(2.5rem,5vw,5.2rem); line-height:1.02; letter-spacing:-.045em; text-wrap:balance; }
body.hbfs .hbfs-servicescta .hbfs-sitefooter__btn { margin-top:34px; }

@media (max-width:1100px) {
	body.hbfs .hbfs-capgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.hbfs-serviceprocess__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
	.hbfs-homefeature__grid,.hbfs-servicesgateway__intro { grid-template-columns:1fr; }
	.hbfs-platformgrid,.hbfs-servicesgateway__grid { grid-template-columns:1fr; }
	body.hbfs .hbfs-capgrid { grid-template-columns:1fr; }
	.hbfs-serviceprocess__steps { grid-template-columns:1fr; }
	body.hbfs .main-navigation .sub-menu { width:auto; min-width:0; border:0; border-left:2px solid var(--hbfs-gold); border-radius:0; box-shadow:none; }
}

/* --------------------------------------------------------------------------
   v6.3 final UI/UX consolidation
   -------------------------------------------------------------------------- */

/* Compact futuristic service flyout: readable without becoming a mega-menu. */
body.hbfs .main-navigation .menu-item-has-children > .sub-menu {
	width:248px!important;
	min-width:248px!important;
	padding:10px!important;
	background:linear-gradient(155deg,rgba(12,16,22,.98),rgba(28,23,28,.98))!important;
	border:1px solid rgba(210,170,92,.28)!important;
	border-top:2px solid var(--hbfs-gold)!important;
	border-radius:0 0 12px 12px!important;
	box-shadow:0 28px 70px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.04)!important;
	backdrop-filter:blur(18px);
}
body.hbfs .main-navigation .sub-menu li + li { margin-top:2px!important; }
body.hbfs .main-navigation .sub-menu a {
	position:relative;
	padding:9px 12px 9px 20px!important;
	border:0!important;
	border-radius:6px;
	font-size:.69rem!important;
	line-height:1.22!important;
	letter-spacing:.075em!important;
	transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
body.hbfs .main-navigation .sub-menu a::before {
	content:''; position:absolute; left:8px; top:50%; width:4px; height:4px;
	border-radius:50%; background:var(--hbfs-gold); opacity:.42; transform:translateY(-50%);
}
body.hbfs .main-navigation .sub-menu a:hover,
body.hbfs .main-navigation .sub-menu a:focus {
	background:linear-gradient(90deg,rgba(194,154,82,.16),rgba(194,154,82,.035))!important;
	box-shadow:none!important; transform:translateX(3px)!important;
}

/* Contact introduction follows one top grid line: CONNECT and support copy. */
body.hbfs .hbfs-contactstudio__head { align-items:start!important; }
body.hbfs .hbfs-contactstudio__head > p { margin:0!important; padding-top:0!important; align-self:start; }

/* Contact-inspired editorial typography for every detailed-page hero. */
body.hbfs .hbfs-masterhero__copy .hbfs-label { color:var(--hbfs-gold); }
body.hbfs .hbfs-masterhero h1 span,
body.hbfs .hbfs-masterhero h1 em { display:block; }
body.hbfs .hbfs-masterhero h1 em {
	color:var(--hbfs-gold); font-family:Georgia,'Times New Roman',serif;
	font-weight:400; font-style:italic; letter-spacing:-.045em;
}

/* Ayesha is content-height; the redundant manifesto no longer follows it. */
body.hbfs .hbfs-homefeature { min-height:0!important; padding-block:clamp(68px,7vw,112px)!important; }
body.hbfs .hbfs-homefeature + .hbfs-section { margin-top:0!important; }

/* The clients band deliberately contrasts the darker footage/final CTA above. */
body.hbfs .hbfs-clients {
	background:linear-gradient(135deg,#172433 0%,#213246 52%,#17212d 100%)!important;
	border-top:1px solid rgba(210,170,92,.25);
	padding-block:clamp(58px,6vw,92px)!important;
}
body.hbfs .hbfs-clients__carousel {
	position:relative; display:grid; grid-template-columns:48px minmax(0,1fr) 48px;
	align-items:center; gap:14px; margin-top:clamp(30px,4vw,50px);
}
body.hbfs .hbfs-clients__track {
	overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity;
}
body.hbfs .hbfs-clients__track::-webkit-scrollbar { display:none; }
body.hbfs .hbfs-clients__track .hbfs-partners {
	display:flex!important; flex-wrap:nowrap!important; grid-template-columns:none!important;
	gap:12px!important; margin:0!important; width:max-content; min-width:100%;
}
body.hbfs .hbfs-clients__track .hbfs-partner {
	flex:0 0 clamp(150px,16vw,205px); width:clamp(150px,16vw,205px);
	min-height:108px; scroll-snap-align:start;
}
body.hbfs .hbfs-clients__arrow {
	display:grid; place-items:center; width:44px; height:44px; padding:0;
	border:1px solid rgba(210,170,92,.5); border-radius:50%;
	background:rgba(9,14,20,.42); color:#e3bd70; font-size:1.25rem; cursor:pointer;
	transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
body.hbfs .hbfs-clients__arrow:hover { background:var(--hbfs-gold); color:#121418; transform:scale(1.06); }

/* Footer brand hierarchy and one consistent axis. */
body.hbfs .hbfs-sitefooter__brand { text-align:left; }
body.hbfs .hbfs-sitefooter__tagline {
	margin:-10px 0 18px; color:#fff; font-family:Georgia,'Times New Roman',serif;
	font-size:clamp(1.15rem,1.6vw,1.45rem); font-style:italic; letter-spacing:-.01em;
}
body.hbfs .hbfs-sitefooter__brand > .hbfs-label {
	color:#d8ad5d!important; opacity:1!important; letter-spacing:.1em!important;
}
body.hbfs .hbfs-sitefooter .hbfs-footer__mark { width:min(100%,360px)!important; }
body.hbfs .hbfs-sitefooter__base { display:grid; }

/* Every closing proposal/CTA uses the same centred axis sitewide. */
body.hbfs :is(.hbfs-masterproposal,.hbfs-servicescta,.hbfs-section--closing) > .hbfs-container,
body.hbfs :is(.hbfs-masterproposal,.hbfs-servicescta,.hbfs-section--closing) .hbfs-panel {
	margin-inline:auto; text-align:center;
}

@media (max-width:760px) {
	body.hbfs .main-navigation .menu-item-has-children > .sub-menu {
		width:auto!important; min-width:0!important; padding:4px 0 8px 12px!important;
		background:transparent!important; border:0!important; border-left:1px solid rgba(210,170,92,.55)!important;
		border-radius:0!important; box-shadow:none!important; backdrop-filter:none;
	}
	body.hbfs .hbfs-clients__carousel { grid-template-columns:38px minmax(0,1fr) 38px; gap:8px; }
	body.hbfs .hbfs-clients__arrow { width:36px; height:36px; }
	body.hbfs .hbfs-clients__track .hbfs-partner { flex-basis:145px; width:145px; }
	body.hbfs .hbfs-sitefooter__brand { text-align:center; }
	body.hbfs .hbfs-sitefooter .hbfs-footer__mark { margin-inline:auto!important; }
	body.hbfs .hbfs-sitefooter__blurb { margin-inline:auto!important; }
}

/* --------------------------------------------------------------------------
   v6.4 final visual refinements
   -------------------------------------------------------------------------- */

/* Compact flyout: one authoritative desktop rule, separated from the header. */
body.hbfs .site-logo img {
	height:clamp(39px,4.25vw,53px)!important;
	padding-block:.2rem!important;
}
body.hbfs .main-navigation .main-nav li.hbfs-nav-cta > a,
body.hbfs .main-navigation .main-nav li.menu-cta > a {
	padding:.58rem 1.25rem!important;
	min-height:0!important;
}
@media (min-width:1101px) {
	body.hbfs .main-navigation .menu-item-has-children > .sub-menu {
		top:calc(100% + 9px)!important;
		left:50%!important;
		right:auto!important;
		width:218px!important;
		min-width:218px!important;
		max-width:218px!important;
		transform:translateX(-50%)!important;
		padding:7px!important;
		border-top-width:2px!important;
		border-radius:8px!important;
	}
	body.hbfs .main-navigation .sub-menu::before {
		content:'';
		position:absolute;
		left:0;
		right:0;
		top:-11px;
		height:11px;
	}
	body.hbfs .main-navigation .sub-menu li + li { margin-top:0!important; }
	body.hbfs .main-navigation .sub-menu a {
		padding:7px 10px 7px 18px!important;
		font-size:.665rem!important;
		line-height:1.2!important;
		white-space:normal!important;
	}
	body.hbfs .main-navigation .sub-menu a::before { left:7px; }
}

/* Ten disciplines remain a balanced 5 x 2, but read as open editorial cards. */
body.hbfs .hbfs-capgrid {
	gap:clamp(24px,2.5vw,42px)!important;
	background:transparent!important;
	border:0!important;
}
body.hbfs .hbfs-cap {
	padding:0 0 clamp(24px,3vw,38px)!important;
	border:0!important;
	background:transparent!important;
}
body.hbfs .hbfs-cap::before,
body.hbfs .hbfs-cap::after { display:none!important; }
body.hbfs .hbfs-cap__media { margin-bottom:20px!important; overflow:hidden; }
body.hbfs .hbfs-cap__media img { aspect-ratio:16/11!important; }
body.hbfs .hbfs-cap__title { font-size:clamp(1.15rem,1.45vw,1.48rem)!important; }
body.hbfs .hbfs-cap__text { font-size:clamp(.9rem,1vw,1rem)!important; line-height:1.65!important; }
body.hbfs .hbfs-cap__title::after {
	content:'';
	display:block;
	width:34px;
	height:2px;
	margin-top:12px;
	background:linear-gradient(90deg,var(--hbfs-gold),var(--hbfs-crimson));
	transition:width .35s ease;
}
body.hbfs .hbfs-cap:hover .hbfs-cap__title::after { width:76px; }

/* Ayesha artwork fills the same vertical span as label, copy and CTA. */
body.hbfs .hbfs-homefeature__grid { align-items:stretch!important; }
body.hbfs .hbfs-homefeature__media,
body.hbfs .hbfs-homefeature__media .hbfs-mastermedia { display:flex; min-height:100%; }
body.hbfs .hbfs-homefeature__media img {
	flex:1 1 auto;
	height:100%!important;
	min-height:clamp(430px,38vw,650px);
	aspect-ratio:auto!important;
	object-fit:cover;
}
body.hbfs .hbfs-homefeature__copy { display:flex; flex-direction:column; justify-content:center; padding-block:8px; }

/* Ventures are intentionally text-led until their individual pages/sites launch. */
body.hbfs .hbfs-platformgrid { background:transparent!important; border:0!important; gap:clamp(16px,2vw,28px)!important; }
body.hbfs .hbfs-platformcard { border:1px solid rgba(255,255,255,.12); }
body.hbfs .hbfs-platformcard__logo { display:none!important; }
body.hbfs .hbfs-platformcard__link {
	display:inline-block;
	position:relative;
	z-index:2;
	margin-top:22px;
	color:var(--hbfs-gold)!important;
	font-size:.76rem;
	font-weight:650;
	letter-spacing:.085em;
	text-transform:uppercase;
	text-decoration:none;
}

/* Gold client wall bridges a red closing CTA and charcoal footer without repetition. */
body.hbfs .hbfs-clients {
	background:linear-gradient(135deg,#b18a45 0%,#c5a15b 48%,#9b7435 100%)!important;
	color:#161719!important;
	border-color:rgba(20,20,20,.16)!important;
}
body.hbfs .hbfs-clients .hbfs-label { color:#432a12!important; }
body.hbfs .hbfs-clients__heading h2 { color:#161719!important; }
body.hbfs .hbfs-clients__heading > p { color:rgba(22,23,25,.72)!important; }
body.hbfs .hbfs-clients .hbfs-partner { background:#111318!important; border:1px solid rgba(255,255,255,.08); }
body.hbfs .hbfs-clients__arrow { background:rgba(17,19,24,.92)!important; color:#e6c276!important; border-color:rgba(17,19,24,.78)!important; }
body.hbfs .hbfs-clients__arrow:hover { background:#751728!important; color:#fff!important; }

/* Every page closes in the crimson brand family; the following gold client wall
   guarantees a distinct transition before the charcoal footer. */
body.hbfs .hbfs-servicescta,
body.hbfs .hbfs-section--closing,
body.hbfs .hbfs-masterproposal {
	background:linear-gradient(120deg,#681421 0%,#8d1c2d 54%,#59101b 100%)!important;
	color:#fff!important;
	text-align:center!important;
}
body.hbfs :is(.hbfs-servicescta,.hbfs-section--closing,.hbfs-masterproposal) :is(h2,p) { color:#fff!important; }
body.hbfs :is(.hbfs-servicescta,.hbfs-section--closing,.hbfs-masterproposal) .hbfs-label {
	display:block;
	width:100%;
	margin-inline:auto!important;
	color:#e4bd70!important;
	text-align:center!important;
}

/* Text joins the cinematic hero effect instead of appearing abruptly. */
body.hbfs [data-hero-signature] :is(.hbfs-masterhero__copy,.hbfs-contacthero__inner,.hbfs-hero__inner,.hbfs-archivehero__inner) > * {
	opacity:0;
	transform:translateY(24px);
	animation:hbfs-hero-copy-in .82s cubic-bezier(.2,.7,.2,1) forwards;
}
body.hbfs [data-hero-signature] :is(.hbfs-masterhero__copy,.hbfs-contacthero__inner,.hbfs-hero__inner,.hbfs-archivehero__inner) > *:nth-child(2) { animation-delay:.12s; }
body.hbfs [data-hero-signature] :is(.hbfs-masterhero__copy,.hbfs-contacthero__inner,.hbfs-hero__inner,.hbfs-archivehero__inner) > *:nth-child(3) { animation-delay:.24s; }
body.hbfs [data-hero-signature] :is(.hbfs-masterhero__copy,.hbfs-contacthero__inner,.hbfs-hero__inner,.hbfs-archivehero__inner) > *:nth-child(4) { animation-delay:.36s; }
@keyframes hbfs-hero-copy-in { to { opacity:1; transform:translateY(0); } }

@media (max-width:1100px) and (min-width:761px) {
	body.hbfs .hbfs-capgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
	body.hbfs .site-logo img { height:37px!important; max-width:min(68vw,250px)!important; }
	body.hbfs .hbfs-homefeature__media img { min-height:0; height:auto!important; aspect-ratio:16/10!important; }
	body.hbfs .hbfs-sitefooter__brand { text-align:left!important; }
	body.hbfs .hbfs-sitefooter .hbfs-footer__mark,
	body.hbfs .hbfs-sitefooter__blurb { margin-left:0!important; margin-right:0!important; }
}
@media (prefers-reduced-motion:reduce) {
	body.hbfs [data-hero-signature] :is(.hbfs-masterhero__copy,.hbfs-contacthero__inner,.hbfs-hero__inner,.hbfs-archivehero__inner) > * {
		opacity:1; transform:none; animation:none;
	}
}

/* v6.6 restoration lock: original typography, gold accents and 5 x 2 Services. */
body.hbfs .hbfs-split { align-items:start!important; }

/* v7.1 — The Art House: museum narrative, collection spotlight and room views. */
.hbfs-arthousehero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:clamp(130px,18vh,230px) 0 clamp(70px,10vh,120px);color:#f7f0e6;background:radial-gradient(ellipse at 50% 22%,rgba(194,154,82,.2),transparent 28%),linear-gradient(115deg,#060708 0%,#15120f 56%,#050607 100%);overflow:hidden}.hbfs-arthousehero:before{content:"";position:absolute;inset:7% 18% 15%;border:1px solid rgba(194,154,82,.22);box-shadow:inset 0 0 100px rgba(0,0,0,.8)}.hbfs-arthousehero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),transparent 65%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%)}.hbfs-arthousehero .hbfs-container{position:relative;z-index:2}.hbfs-arthousehero h1,.hbfs-collectionhero h1{font-family:Georgia,serif;font-size:clamp(3.5rem,8.5vw,9rem);line-height:.87;letter-spacing:-.055em;margin:.18em 0 .28em;max-width:1200px}.hbfs-arthousehero h1 em,.hbfs-collectionhero h1 em{color:#c29a52;font-weight:400}.hbfs-arthousehero>div p:not(.hbfs-label){font-size:clamp(1rem,1.6vw,1.35rem);max-width:680px;color:rgba(255,255,255,.72)}.hbfs-arthousehero a,.hbfs-artbutton{display:inline-flex;gap:28px;align-items:center;margin-top:28px;padding:15px 20px;border:1px solid rgba(194,154,82,.75);color:#fff;text-decoration:none;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.hbfs-arteditorial,.hbfs-arttimeline,.hbfs-ayesha,.hbfs-artprovenance,.hbfs-artinvitation{padding:clamp(80px,11vw,165px) 0}.hbfs-arteditorial{background:#eee8dc;color:#171717}.hbfs-arteditorial h2,.hbfs-arttimeline h2,.hbfs-ayesha h2,.hbfs-artprovenance h2,.hbfs-artinvitation h2,.hbfs-roompreview h2,.hbfs-collectiongrid h2,.hbfs-collector h2{font-family:Georgia,serif;font-size:clamp(2.5rem,5.8vw,6.5rem);line-height:.95;letter-spacing:-.045em;margin:.25em 0 .65em}.hbfs-arteditorial__columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px);max-width:1100px;margin-left:auto}.hbfs-arteditorial__columns p{font-size:clamp(1.02rem,1.35vw,1.22rem);line-height:1.9}.hbfs-arttimeline{background:#0b0c0e;color:#f5efe4}.hbfs-arttimeline>.hbfs-container>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}.hbfs-arttimeline article{padding:36px 28px;border-right:1px solid rgba(255,255,255,.14)}.hbfs-arttimeline article span{color:#c29a52}.hbfs-arttimeline article h3{font-family:Georgia,serif;font-size:1.55rem}.hbfs-arttimeline article p{color:rgba(255,255,255,.62);line-height:1.7}.hbfs-ayesha{background:#18130f;color:#f7f0e6}.hbfs-ayesha>.hbfs-container{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(50px,10vw,150px);align-items:center}.hbfs-ayesha p{max-width:720px;line-height:1.8;color:rgba(255,255,255,.72)}.hbfs-ayesha a{color:#d8b77a}.hbfs-ayesha blockquote{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,3.2rem);line-height:1.3;color:#d8b77a;margin:0;border-left:1px solid #c29a52;padding-left:35px}.hbfs-artprovenance{background:#c09a59;color:#15120e}.hbfs-artprovenance .hbfs-container{max-width:1050px;text-align:center}.hbfs-artprovenance p:last-child{font-size:1.14rem;line-height:1.8;max-width:850px;margin:auto}.hbfs-artinvitation,.hbfs-collector{background:#07080a;color:#f7f0e6;text-align:center}.hbfs-artinvitation .hbfs-container,.hbfs-collector .hbfs-container{max-width:980px}.hbfs-artinvitation p,.hbfs-collector p{color:rgba(255,255,255,.68)}
.hbfs-collectionhero{background:#050607;color:#f7f0e6}.hbfs-collectionhero__room{position:relative;min-height:100svh;display:grid;place-items:center;padding:110px 30px 150px;overflow:hidden;background:linear-gradient(90deg,#050607,#141312 50%,#050607)}.hbfs-collectionhero__room:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(170deg,transparent 48%,rgba(255,255,255,.025) 49%)}.hbfs-collectionhero__light{position:absolute;top:-20%;left:25%;right:25%;height:90%;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,238,194,.18),rgba(255,238,194,.025));filter:blur(12px)}.hbfs-collectionhero__room figure{position:relative;z-index:2;margin:0;max-width:min(52vw,620px);max-height:66vh;padding:12px;background:#17120c;border:7px ridge #9c7a40;box-shadow:0 28px 75px #000}.hbfs-collectionhero__room figure img{display:block;max-height:60vh;width:auto;max-width:100%;object-fit:contain}.hbfs-artmissing{aspect-ratio:4/5;min-width:250px;display:grid;place-items:center;text-align:center;background:#171717;color:#c29a52;padding:30px}.hbfs-artmissing small{display:block;color:#807569}.hbfs-collectionhero__plaque{position:absolute;z-index:3;bottom:42px;text-align:center}.hbfs-collectionhero__plaque p{font-family:Georgia,serif;font-size:1.3rem;margin:0}.hbfs-collectionhero__plaque span,.hbfs-collectionhero__plaque strong{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:7px}.hbfs-collectionhero__plaque strong{color:#c29a52}.hbfs-collectionhero__intro{padding:clamp(70px,10vw,145px) var(--hbfs-gutter);max-width:1500px;margin:auto}.hbfs-collectionhero__intro p:last-child{color:rgba(255,255,255,.6)}
.hbfs-roompreview{padding:clamp(75px,9vw,130px) 0;background:#eae4d9}.hbfs-roompreview>.hbfs-container{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,7vw,100px);align-items:center}.hbfs-roompreview p{line-height:1.75}.hbfs-roompreview__buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.hbfs-roompreview__buttons button{border:1px solid #8e826f;background:transparent;padding:10px 13px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.hbfs-roompreview__buttons button.is-active{background:#171717;color:#fff}.hbfs-roompreview__scene{min-height:570px;position:relative;display:grid;place-items:center;overflow:hidden;transition:.3s ease;background:#b8aa94}.hbfs-roompreview__scene:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#6d5640 0 15%,transparent 15%),linear-gradient(90deg,transparent 72%,rgba(0,0,0,.12) 72%)}.hbfs-roompreview__scene.is-office{background:#77726b}.hbfs-roompreview__scene.is-gallery{background:#eeeae1}.hbfs-roompreview__scene.is-artwork{background:#111}.hbfs-roompreview__scene figure{position:relative;z-index:2;margin:0;width:34%;padding:7px;background:#20170e;border:5px ridge #9f7c42;box-shadow:0 14px 36px rgba(0,0,0,.35)}.hbfs-roompreview__scene figure img{display:block;width:100%;height:auto}.hbfs-roompreview__scene.is-artwork figure{width:72%;max-height:500px}.hbfs-collectiongrid{padding:clamp(85px,10vw,150px) 0;background:#0b0c0e;color:#f7f0e6}.hbfs-collectiongrid__head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px}.hbfs-collectiongrid__head>p{text-align:right;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:#c29a52}.hbfs-collectiongrid__head span{color:rgba(255,255,255,.5)}.hbfs-collectiongrid__masonry{columns:3 300px;column-gap:clamp(18px,3vw,42px)}.hbfs-artcard{display:inline-block;width:100%;break-inside:avoid;margin:0 0 clamp(35px,5vw,70px);padding:0 0 18px;border:0;border-bottom:1px solid rgba(255,255,255,.17);background:transparent;color:inherit;text-align:left;cursor:pointer}.hbfs-artcard figure{margin:0 0 18px;position:relative;background:#171717;overflow:hidden}.hbfs-artcard figure img{display:block;width:100%;height:auto;transition:transform .65s ease,filter .4s ease}.hbfs-artcard:hover figure img{transform:scale(1.025)}.hbfs-artcard.is-selected{border-color:#c29a52}.hbfs-artcard>span{color:#c29a52;font-size:.65rem;letter-spacing:.12em}.hbfs-artcard h3{font-family:Georgia,serif;font-size:1.45rem;margin:.45rem 0}.hbfs-artcard p,.hbfs-artcard strong{display:block;margin:.35rem 0;color:rgba(255,255,255,.55);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.hbfs-artcard strong{color:#c29a52}.hbfs-collector{padding:clamp(90px,11vw,160px) 0}.hbfs-collector small{display:block;margin-top:24px;color:rgba(255,255,255,.45)}
@media(max-width:800px){.hbfs-arteditorial__columns,.hbfs-ayesha>.hbfs-container,.hbfs-roompreview>.hbfs-container{grid-template-columns:1fr}.hbfs-arttimeline>.hbfs-container>div{grid-template-columns:1fr 1fr}.hbfs-collectionhero__room figure{max-width:82vw}.hbfs-roompreview__scene{min-height:430px}.hbfs-collectiongrid__head{display:block}.hbfs-collectiongrid__head>p{text-align:left}.hbfs-collectiongrid__masonry{columns:2 140px}.hbfs-artcard h3{font-size:1.15rem}}
@media(max-width:520px){.hbfs-arttimeline>.hbfs-container>div{grid-template-columns:1fr}.hbfs-collectiongrid__masonry{columns:1}.hbfs-arthousehero:before{inset:10% 5% 18%}.hbfs-collectionhero__room{min-height:82svh}.hbfs-roompreview__scene figure{width:47%}}
body.hbfs .hbfs-split__aside { padding-top:0!important; }
body.hbfs .hbfs-split__aside > p:first-child { margin-top:0!important; }

body.hbfs .hbfs-servicesgateway { background:#f2ede4!important; color:#19191b!important; }
body.hbfs .hbfs-servicesgateway__grid { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:0!important; }
body.hbfs .hbfs-serviceportal { display:block!important; min-height:0!important; background:transparent!important; color:#19191b!important; border:0!important; padding:clamp(12px,1.35vw,22px)!important; }
body.hbfs .hbfs-serviceportal__media { height:auto!important; }
body.hbfs .hbfs-serviceportal__media img { width:100%!important; height:auto!important; min-height:0!important; aspect-ratio:4/3!important; object-fit:cover!important; }
body.hbfs .hbfs-serviceportal__body { display:block!important; padding:22px 0 12px!important; }
body.hbfs .hbfs-serviceportal__body > span,
body.hbfs .hbfs-serviceportal__body .hbfs-label,
body.hbfs .hbfs-serviceportal__body strong { color:var(--hbfs-gold)!important; }
body.hbfs .hbfs-serviceportal__body h3 { color:#19191b!important; }
body.hbfs .hbfs-serviceportal__body > p:not(.hbfs-label) { color:#5d5953!important; }

body.hbfs .site-logo img { height:clamp(48px,5.25vw,66px)!important; }
body.hbfs .main-navigation .main-nav li.hbfs-nav-cta > a,
body.hbfs .main-navigation .main-nav li.menu-cta > a { padding:.48rem 1.15rem!important; }
@media (min-width:1101px) {
	body.hbfs .main-navigation .menu-item-has-children > .sub-menu { width:max-content!important; min-width:178px!important; max-width:236px!important; text-align:left!important; }
	body.hbfs .main-navigation .sub-menu a { text-align:left!important; white-space:nowrap!important; }
}

body.hbfs .hbfs-sitefooter__brand { overflow:visible!important; text-align:left!important; }
body.hbfs .hbfs-sitefooter .hbfs-footer__mark { width:min(100%,430px)!important; height:auto!important; margin:0 0 24px!important; transform:none!important; object-position:left center!important; }
body.hbfs .hbfs-sitefooter__tagline,
body.hbfs .hbfs-sitefooter__blurb { margin-left:0!important; text-align:left!important; }
body.hbfs .hbfs-contactline { display:grid!important; grid-template-columns:24px 1fr!important; gap:12px!important; align-items:start!important; margin:.58rem 0!important; color:rgba(255,255,255,.76)!important; font-size:.9rem!important; line-height:1.55!important; text-decoration:none!important; }
body.hbfs .hbfs-contactline__icon { width:20px; height:20px; color:var(--hbfs-gold); }
body.hbfs .hbfs-contactline__icon svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
body.hbfs .hbfs-sitefooter__locations { color:var(--hbfs-gold)!important; }
body.hbfs .hbfs-sitefooter__connect .hbfs-social__link { width:34px!important; height:34px!important; color:var(--hbfs-gold)!important; border-color:rgba(194,154,82,.48)!important; }

body.hbfs :is(.hbfs-servicescta,.hbfs-section--closing,.hbfs-masterproposal) { background:linear-gradient(120deg,#681421 0%,#8d1c2d 54%,#59101b 100%)!important; color:#fff!important; }
body.hbfs :is(.hbfs-servicescta,.hbfs-section--closing,.hbfs-masterproposal) :is(h2,p) { color:#fff!important; }
body.hbfs :is(.hbfs-servicescta,.hbfs-section--closing,.hbfs-masterproposal) .hbfs-label { color:var(--hbfs-gold)!important; }

@media (max-width:1100px) {
	body.hbfs .hbfs-servicesgateway__grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:620px) {
	body.hbfs .site-logo img { height:44px!important; max-width:min(72vw,280px)!important; }
	body.hbfs .hbfs-servicesgateway__grid { grid-template-columns:1fr!important; }
	body.hbfs .hbfs-sitefooter .hbfs-footer__mark { width:min(100%,360px)!important; }
}

/* --------------------------------------------------------------------------
   v6.7 approved corrections: preserve the established white/gold/red system.
   -------------------------------------------------------------------------- */

/* Navigation: no red underline; active and hover states are communicated in gold. */
body.hbfs .main-navigation .main-nav a::after { display:none!important; }
body.hbfs .main-navigation .main-nav li:not(.hbfs-nav-cta):not(.menu-cta) > a:hover,
body.hbfs .main-navigation .main-nav li:not(.hbfs-nav-cta):not(.menu-cta) > a:focus,
body.hbfs .main-navigation .main-nav li.current-menu-item > a,
body.hbfs .main-navigation .main-nav li.current-menu-ancestor > a,
body.hbfs .main-navigation .main-nav li.current_page_item > a,
body.hbfs .main-navigation .main-nav li.current_page_ancestor > a { color:var(--hbfs-gold)!important; }
body.hbfs .main-navigation .sub-menu,
body.hbfs .main-navigation .sub-menu li,
body.hbfs .main-navigation .sub-menu a { text-align:left!important; }
body.hbfs .main-navigation .sub-menu a::before { display:none!important; }
@media (min-width:1101px) {
	body.hbfs .main-navigation .menu-item-has-children > .sub-menu {
		width:max-content!important; min-width:0!important; max-width:none!important;
		padding:12px 10px!important;
	}
	body.hbfs .main-navigation .sub-menu li + li { margin-top:3px!important; }
	body.hbfs .main-navigation .sub-menu a {
		padding:12px 15px!important; line-height:1.35!important; white-space:nowrap!important;
	}
}

/* Services: five balanced rows of two premium editorial cards. */
body.hbfs .hbfs-servicesgateway__grid {
	display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
	gap:clamp(22px,3vw,40px)!important;
}
body.hbfs .hbfs-serviceportal {
	padding:0!important; overflow:hidden!important; background:#171719!important; color:#fff!important;
	box-shadow:0 16px 45px rgba(30,24,18,.08);
}
body.hbfs .hbfs-serviceportal__media { position:relative; display:block; width:100%; padding:0; border:0; background:#101012; cursor:zoom-in; overflow:hidden; }
body.hbfs .hbfs-serviceportal__media .hbfs-mastermedia { margin:0!important; min-height:0!important; }
body.hbfs .hbfs-serviceportal__media img { display:block; width:100%; aspect-ratio:16/9!important; height:auto!important; object-fit:cover; }
body.hbfs .hbfs-serviceportal__body { min-height:300px; padding:clamp(28px,3.2vw,46px)!important; }
body.hbfs .hbfs-serviceportal__body h3 { color:#fff!important; }
body.hbfs .hbfs-serviceportal__body > p:not(.hbfs-label) { color:rgba(255,255,255,.68)!important; }
body.hbfs .hbfs-serviceportal__link { display:inline-block; margin-top:22px; color:var(--hbfs-gold)!important; font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
body.hbfs .hbfs-image-expand { position:absolute; right:18px; bottom:18px; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(10,10,12,.58); color:#fff; font-size:1.35rem; line-height:1; opacity:0; transform:translateY(5px); transition:.25s ease; }
body.hbfs .hbfs-serviceportal__media:hover .hbfs-image-expand, body.hbfs .hbfs-serviceportal__media:focus-visible .hbfs-image-expand { opacity:1; transform:none; }

.hbfs-image-lightbox { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:clamp(18px,4vw,60px); background:rgba(5,5,7,.95); opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s ease; }
.hbfs-image-lightbox.is-open { opacity:1; visibility:visible; }
.hbfs-image-lightbox__figure { position:relative; margin:0; max-width:min(94vw,1500px); max-height:90vh; }
.hbfs-image-lightbox__image { display:block; max-width:100%; max-height:88vh; width:auto; height:auto; object-fit:contain; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.hbfs-image-lightbox__copyright { position:absolute; right:12px; bottom:10px; padding:6px 9px; background:rgba(0,0,0,.62); color:rgba(255,255,255,.86); font-size:clamp(.58rem,.9vw,.72rem); letter-spacing:.04em; }
.hbfs-image-lightbox__close { position:absolute; top:14px; right:18px; width:46px; height:46px; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(0,0,0,.35); color:#fff; font-size:1.75rem; cursor:pointer; }
body.hbfs-lightbox-open { overflow:hidden; }

/* Consistent two-font heroes, kept smaller than the previous oversized treatment. */
body.hbfs .hbfs-masterhero h1 { max-width:900px; font-size:clamp(2.75rem,5.7vw,5.9rem)!important; }
body.hbfs .hbfs-masterhero h1 em { color:var(--hbfs-gold)!important; }
body.hbfs .hbfs-contextcta { position:relative; overflow:hidden; gap:.65rem; }
body.hbfs .hbfs-contextcta::before {
	content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.25),transparent 80%);
	transform:translateX(-120%); transition:transform .65s ease;
}
body.hbfs .hbfs-contextcta:hover::before { transform:translateX(120%); }
body.hbfs .hbfs-contextcta span { transition:transform .25s ease; }
body.hbfs .hbfs-contextcta:hover span { transform:translateX(4px); }

/* Ayesha: intentional editorial crop, not a stretched full-height banner. */
body.hbfs .hbfs-homefeature__grid { align-items:center!important; }
body.hbfs .hbfs-homefeature__media,
body.hbfs .hbfs-homefeature__media .hbfs-mastermedia { display:block!important; min-height:0!important; }
body.hbfs .hbfs-homefeature__media img {
	display:block; width:100%!important; height:auto!important; min-height:0!important;
	aspect-ratio:4/3!important; object-fit:cover!important; object-position:center 42%!important;
}
body.hbfs .hbfs-homefeature__copy { justify-content:center; }

@media (max-width:620px) {
	body.hbfs .hbfs-servicesgateway__grid { grid-template-columns:1fr!important; }
	body.hbfs .hbfs-serviceportal__body { min-height:0; }
	body.hbfs .hbfs-masterhero h1 { font-size:clamp(2.55rem,12vw,4.25rem)!important; }
}

/* v6.9 mobile safe area: custom master-page containers previously touched
   the viewport edge because they sit outside the standard .hbfs-section shell. */
@media (max-width:760px) {
body.hbfs :is(
		.hbfs-masterhero__copy,
		.hbfs-mastersection > .hbfs-container,
		.hbfs-masterprocess > .hbfs-container,
		.hbfs-masterdetails > .hbfs-container,
		.hbfs-artworks > .hbfs-container,
		.hbfs-masterproposal > .hbfs-container,
		.hbfs-archivehero > div
	) {
		padding-left:max(1.25rem, env(safe-area-inset-left))!important;
		padding-right:max(1.25rem, env(safe-area-inset-right))!important;
	}

	body.hbfs :is(
		.hbfs-mastersection__copy,
		.hbfs-artworks__intro,
		.hbfs-masterdetails li,
		.hbfs-masterprocess article
	) { min-width:0; overflow-wrap:anywhere; }
}

/* --------------------------------------------------------------------------
   v7.0 — light-touch CTA, photo rights, awards and Studio opportunities.
   -------------------------------------------------------------------------- */

/* The CTA rests without a permanent drop shadow; a restrained highlight moves
   through it only on hover/focus. */
body.hbfs :is(.wp-block-button__link,.hbfs-sitefooter__btn,.hbfs-formsubmit,.hbfs-contextcta,.hbfs-opportunities__cta) {
	box-shadow:none!important;
	transition:background-color .24s ease,border-color .24s ease,color .24s ease,transform .24s ease!important;
}
body.hbfs :is(.wp-block-button__link,.hbfs-sitefooter__btn,.hbfs-formsubmit,.hbfs-contextcta,.hbfs-opportunities__cta):is(:hover,:focus-visible) {
	box-shadow:inset 0 1px 0 rgba(255,255,255,.22)!important;
	transform:translateY(-1px);
}
body.hbfs .hbfs-contextcta::before {
	background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.16),transparent 75%)!important;
}

/* Photo rights: substantial editorial photographs receive a subtle icon.
   Tiny thumbs, logos and partner marks are deliberately excluded. */
body.hbfs .hbfs-photo-rights { position:relative; cursor:zoom-in; }
/* Hero images remain background layers with copy overlaid. The global photo
   rights treatment belongs to editorial/content photography only. */
body.hbfs :is(.hbfs-hero,.hbfs-masterhero,.hbfs-contacthero,.hbfs-archivehero) > .hbfs-mastermedia,
body.hbfs :is(.hbfs-hero,.hbfs-masterhero,.hbfs-contacthero,.hbfs-archivehero) > .hbfs-hero__media {
	position:absolute!important;
	inset:0!important;
}
body.hbfs :is(.hbfs-hero,.hbfs-masterhero,.hbfs-contacthero,.hbfs-archivehero) > .hbfs-photo-rights__mark {
	display:none!important;
}
body.hbfs .hbfs-photo-rights__mark,
body.hbfs .hbfs-image-lightbox__copyright i {
	display:block;
	width:30px;
	height:30px;
	background:rgba(255,255,255,.82);
	-webkit-mask:url('../setup-media/hbfs-icon-color-2026.png') center/contain no-repeat;
	mask:url('../setup-media/hbfs-icon-color-2026.png') center/contain no-repeat;
}
body.hbfs .hbfs-photo-rights__mark {
	position:absolute;
	right:14px;
	bottom:14px;
	z-index:3;
	width:24px;
	height:24px;
	opacity:.55;
	filter:drop-shadow(0 1px 4px rgba(0,0,0,.48));
	pointer-events:none;
}
body.hbfs .hbfs-image-lightbox__copyright {
	display:flex;
	align-items:center;
	gap:8px;
	right:14px;
	bottom:12px;
	padding:7px 10px;
	background:rgba(0,0,0,.38);
	color:rgba(255,255,255,.82);
}
body.hbfs .hbfs-image-lightbox__copyright i { width:25px; height:25px; background:rgba(255,255,255,.88); }
body.hbfs .hbfs-image-lightbox__copyright span { font-size:.66rem; letter-spacing:.045em; }

/* Studio energy and opportunities. */
body.hbfs .hbfs-studiojoin { position:relative; overflow:hidden; padding:clamp(80px,10vw,150px) 0; background:#171719; color:#fff; }
body.hbfs .hbfs-studiojoin::before { content:''; position:absolute; width:460px; height:460px; right:-120px; top:-210px; border:1px solid rgba(194,154,82,.2); border-radius:50%; box-shadow:0 0 0 70px rgba(194,154,82,.025),0 0 0 140px rgba(194,154,82,.018); }
body.hbfs .hbfs-studiojoin>.hbfs-container { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(45px,8vw,120px); align-items:end; }
body.hbfs .hbfs-studiojoin h2 { max-width:760px; margin:.3em 0; color:#fff; font-size:clamp(2.5rem,5.5vw,5.8rem); line-height:.98; letter-spacing:-.05em; }
body.hbfs .hbfs-studiojoin p:not(.hbfs-label) { max-width:660px; color:rgba(255,255,255,.68); line-height:1.75; }
body.hbfs .hbfs-studiojoin__links { display:grid; border-top:1px solid rgba(255,255,255,.18); }
body.hbfs .hbfs-studiojoin__links a { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.18); color:#fff; text-decoration:none; }
body.hbfs .hbfs-studiojoin__links a:hover { color:var(--hbfs-gold); }

body.hbfs .hbfs-opportunities { padding:clamp(80px,10vw,150px) 0; background:#f2ede4; color:#19191b; }
body.hbfs .hbfs-opportunities h2 { max-width:850px; margin:.3em 0 .9em; font-size:clamp(2.5rem,5vw,5.4rem); line-height:1; letter-spacing:-.05em; }
body.hbfs .hbfs-opportunities__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(25,25,27,.16); }
body.hbfs .hbfs-opportunities article { padding:clamp(28px,4vw,58px); background:#faf7f1; }
body.hbfs .hbfs-opportunities article>span { color:var(--hbfs-gold); font-size:.75rem; letter-spacing:.1em; }
body.hbfs .hbfs-opportunities article h3 { margin:1.1rem 0 .7rem; font-size:clamp(1.35rem,2vw,2rem); }
body.hbfs .hbfs-opportunities article p { color:#5d5953; line-height:1.7; }
body.hbfs .hbfs-opportunities__cta { display:inline-flex; align-items:center; gap:.75rem; margin-top:38px; padding:16px 24px; background:var(--hbfs-crimson); color:#fff; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:700; }
body.hbfs .hbfs-talent { padding:clamp(80px,10vw,150px) 0; background:#eee7dc; }
body.hbfs .hbfs-talent>.hbfs-container { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(38px,7vw,100px); align-items:start; }
body.hbfs .hbfs-talent__intro h2 { margin:.3em 0; font-size:clamp(2.4rem,4.8vw,5rem); line-height:1; letter-spacing:-.05em; }
body.hbfs .hbfs-talent__intro p:not(.hbfs-label) { color:#5d5953; line-height:1.75; }

@media(max-width:800px) {
	body.hbfs .hbfs-studiojoin>.hbfs-container,
	body.hbfs .hbfs-talent>.hbfs-container { grid-template-columns:1fr; }
	body.hbfs .hbfs-opportunities__grid { grid-template-columns:1fr; }
	body.hbfs .hbfs-image-lightbox__copyright span { display:none; }
}

/* v7.0.2 — scoped image behavior and balanced editorial detail sections. */
body.hbfs .hbfs-serviceportal__media {
	cursor:default!important;
}
body.hbfs .hbfs-serviceportal__media > .hbfs-photo-rights__mark,
body.hbfs .hbfs-serviceportal__media .hbfs-image-expand {
	display:none!important;
}

/* Detail-page editorial photography is given more presence while copy and
   image remain vertically centered. This also removes the excessive empty
   cream space seen around the Signature Awards craftsmanship image. */
body.hbfs .hbfs-mastersection {
	padding:clamp(58px,6.5vw,96px) 0!important;
}
body.hbfs .hbfs-mastersection > .hbfs-container {
	grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr)!important;
	gap:clamp(34px,5vw,78px)!important;
	align-items:center!important;
}
body.hbfs .hbfs-mastersection .hbfs-mastermedia {
	width:100%;
	min-height:0!important;
}
body.hbfs .hbfs-mastersection .hbfs-mastermedia img {
	width:100%!important;
	height:auto!important;
	aspect-ratio:4/3!important;
	object-fit:cover!important;
}
body.hbfs .hbfs-mastersection h2 {
	font-size:clamp(2.15rem,3.9vw,4.35rem)!important;
	text-wrap:balance;
}

@media(max-width:800px) {
	body.hbfs .hbfs-mastersection > .hbfs-container {
		grid-template-columns:1fr!important;
		gap:32px!important;
	}
	body.hbfs .hbfs-mastersection:nth-of-type(even) .hbfs-mastermedia { order:0!important; }
}
/* Art House opening artwork override. */
.hbfs-arthousehero__veil{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.92) 0 34%,rgba(0,0,0,.2) 72%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 58%)}
.hbfs-arthousehero__art{position:absolute;z-index:0;right:10%;top:12%;bottom:10%;width:38%;margin:0;display:grid;place-items:center;padding:12px;background:#17120c;border:7px ridge #9c7a40;box-shadow:0 30px 90px #000}
.hbfs-arthousehero__art img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:520px){.hbfs-arthousehero__art{right:6%;top:14%;bottom:34%;width:68%;opacity:.46}}

/* --------------------------------------------------------------------------
   v7.1.1 — Royal Viewing Room and immediate collection experience.
   The room preview now lives inside the hero; the collection begins directly
   below it instead of being pushed down by a second oversized section.
   -------------------------------------------------------------------------- */
.hbfs-collectionhero__intro,
.hbfs-roompreview { display:none!important; }

.hbfs-collectionhero__room {
	min-height:clamp(680px,88svh,940px);
	padding:clamp(145px,17vh,190px) clamp(20px,4vw,64px) clamp(175px,19vh,215px);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	isolation:isolate;
	transition:background-image .35s ease, background-color .35s ease;
}
.hbfs-collectionhero__room.is-gallery {
	background-image:linear-gradient(90deg,rgba(5,5,6,.36),transparent 25% 75%,rgba(5,5,6,.36)),url('../setup-media/art-room-royal-gallery.webp');
}
.hbfs-collectionhero__room.is-living {
	background-image:linear-gradient(90deg,rgba(18,12,9,.2),transparent 28% 72%,rgba(18,12,9,.2)),url('../setup-media/art-room-living-room.webp');
}
.hbfs-collectionhero__room.is-office {
	background-image:linear-gradient(90deg,rgba(5,5,6,.35),transparent 28% 72%,rgba(5,5,6,.35)),url('../setup-media/art-room-executive-office.webp');
}
.hbfs-collectionhero__room.is-artwork {
	background-image:radial-gradient(circle at 50% 42%,#29241d 0,#0b0b0c 44%,#030304 100%);
}
.hbfs-collectionhero__room::after {
	inset:0;
	height:auto;
	z-index:0;
	background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 24% 68%,rgba(0,0,0,.68));
	pointer-events:none;
}
.hbfs-collectionhero__light {
	z-index:1;
	top:-24%;
	left:31%;
	right:31%;
	height:82%;
	opacity:.6;
	filter:blur(18px);
}
.hbfs-collectionhero__context {
	position:absolute;
	z-index:4;
	top:clamp(122px,15vh,155px);
	left:var(--hbfs-gutter);
	display:flex;
	gap:16px;
	align-items:center;
	color:#f7f0e6;
	font-size:.66rem;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
	text-shadow:0 2px 16px rgba(0,0,0,.85);
}
.hbfs-collectionhero__context p { margin:0; }
.hbfs-collectionhero__context span { color:#e3bd78; }
.hbfs-collectionhero__room figure {
	z-index:2;
	max-width:min(58vw,760px);
	max-height:55vh;
	padding:10px;
	border:6px ridge #ad8748;
	background:#17120c;
	box-shadow:0 30px 75px rgba(0,0,0,.72),0 0 0 1px rgba(255,226,157,.4);
	transition:max-width .35s ease,max-height .35s ease,transform .35s ease;
}
.hbfs-collectionhero__room figure img {
	max-height:50vh;
	filter:saturate(1.04) contrast(1.015);
}
.hbfs-collectionhero__room.is-artwork figure { max-width:min(72vw,980px); max-height:64vh; }
.hbfs-collectionhero__room.is-artwork figure img { max-height:59vh; }
.hbfs-collectionhero__plaque {
	z-index:4;
	bottom:102px;
	left:50%;
	width:min(92%,760px);
	transform:translateX(-50%);
	padding:11px 18px 9px;
	background:rgba(8,8,9,.76);
	border-top:1px solid rgba(211,173,103,.58);
	backdrop-filter:blur(10px);
	box-shadow:0 12px 34px rgba(0,0,0,.26);
}
.hbfs-collectionhero__plaque p { font-size:clamp(1rem,1.45vw,1.35rem); }
.hbfs-collectionhero__plaque span,
.hbfs-collectionhero__plaque strong { margin-top:4px; font-size:.61rem; line-height:1.35; }
.hbfs-collectionhero__plaque a {
	display:inline-block;
	margin-top:7px;
	color:#f4d69d;
	font-size:.61rem;
	font-weight:700;
	letter-spacing:.09em;
	text-decoration:none;
	text-transform:uppercase;
}
.hbfs-collectionhero__plaque a:hover,
.hbfs-collectionhero__plaque a:focus { color:#fff; }
.hbfs-viewcontrols {
	position:absolute;
	z-index:5;
	left:var(--hbfs-gutter);
	right:var(--hbfs-gutter);
	bottom:18px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	color:#f7f0e6;
}
.hbfs-viewcontrols>div:first-child>span {
	display:block;
	color:#e0b86f;
	font-size:.67rem;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
}
.hbfs-viewcontrols small { display:block; margin-top:3px; color:rgba(255,255,255,.65); font-size:.69rem; }
.hbfs-viewcontrols__buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.hbfs-viewcontrols__buttons button {
	min-height:36px;
	padding:8px 12px;
	border:1px solid rgba(255,255,255,.42);
	background:rgba(6,6,7,.68);
	color:#fff;
	font-size:.61rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	cursor:pointer;
	backdrop-filter:blur(8px);
}
.hbfs-viewcontrols__buttons button:hover,
.hbfs-viewcontrols__buttons button:focus,
.hbfs-viewcontrols__buttons button.is-active { border-color:#d6ad64; background:#c29a52; color:#111; }

.hbfs-collectiongrid { padding:clamp(62px,7.5vw,110px) 0 clamp(85px,10vw,145px); }
.hbfs-collectiongrid__head {
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
	align-items:end;
	gap:clamp(35px,7vw,100px);
	margin-bottom:clamp(42px,6vw,72px);
	padding-bottom:clamp(34px,4vw,55px);
	border-bottom:1px solid rgba(255,255,255,.16);
}
.hbfs-collectiongrid__head h1 {
	max-width:850px;
	margin:.2em 0 .28em;
	font-family:Georgia,serif;
	font-size:clamp(2.5rem,5.25vw,6rem);
	font-weight:400;
	line-height:.94;
	letter-spacing:-.045em;
}
.hbfs-collectiongrid__head h1 em { color:#c29a52; font-weight:400; }
.hbfs-collectiongrid__summary { max-width:680px; margin:0; color:rgba(255,255,255,.65); line-height:1.75; }
.hbfs-collectiongrid__head>p { margin:0; line-height:1.75; }
.hbfs-collectiongrid__head>p span,
.hbfs-collectiongrid__head>p strong { display:block; margin-top:7px; }
.hbfs-collectiongrid__head>p strong { color:#f1d39c; font-weight:600; }

@media(max-width:800px){
	.hbfs-collectionhero__room {
		min-height:max(760px,90svh);
		padding:150px 16px 220px;
		background-position:center;
	}
	.hbfs-collectionhero__context { top:118px; left:18px; }
	.hbfs-collectionhero__room figure { max-width:84vw; max-height:47vh; padding:7px; border-width:4px; }
	.hbfs-collectionhero__room figure img { max-height:43vh; }
	.hbfs-collectionhero__plaque { bottom:137px; width:calc(100% - 32px); padding:9px 12px 8px; }
	.hbfs-collectionhero__plaque span:nth-of-type(2) { display:none; }
	.hbfs-viewcontrols { left:16px; right:16px; bottom:14px; display:block; }
	.hbfs-viewcontrols small { display:none; }
	.hbfs-viewcontrols__buttons { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:8px; }
	.hbfs-viewcontrols__buttons button { padding:7px 8px; }
	.hbfs-collectiongrid__head { grid-template-columns:1fr; gap:25px; }
	.hbfs-collectiongrid__head>p { text-align:left; }
}

/* --------------------------------------------------------------------------
   v7.1.6 — centered fixed-ratio gallery canvas.

   The complete room is one 1672:941 composition. On desktop the room,
   spotlight, work, label, arrows and controls all scale from that canvas,
   instead of reacting independently to viewport width and height. Ultra-wide
   screens receive ambient side space; the room itself never stretches.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-collectionhero {
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(ellipse at 50% 48%,rgba(113,78,38,.28),transparent 58%),
		linear-gradient(90deg,#030304,#0b0907 26%,#0b0907 74%,#030304);
}

body.hbfs .hbfs-collectionhero__room {
	--art-unit:.60cqw;
	position:relative;
	width:min(100%,1672px);
	height:auto;
	min-height:0;
	aspect-ratio:1672 / 941;
	margin-inline:auto;
	padding:0;
	display:block;
	container-type:inline-size;
	background-position:center;
	background-size:100% 100%;
	box-shadow:0 0 96px 38px rgba(76,52,27,.26);
}
body.hbfs .hbfs-collectionhero__room.is-living { --art-unit:.58cqw; }
body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:.59cqw; }
body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:.70cqw; }

body.hbfs .hbfs-collectionhero__light {
	top:-7cqw;
	left:35cqw;
	right:35cqw;
	height:44cqw;
	filter:blur(1.05cqw);
}

body.hbfs .hbfs-collectionhero__context {
	top:6.2cqw;
	left:2.7cqw;
	gap:1cqw;
}

body.hbfs .hbfs-collectionhero__stage {
	position:absolute;
	inset:9.5cqw 0 7.8cqw;
	width:100%;
	height:auto;
	margin:0;
	display:grid;
	place-items:center;
	gap:0;
}

body.hbfs .hbfs-collectionhero__room figure,
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	width:fit-content;
	max-width:none;
	max-height:none;
	margin:0;
	padding:clamp(10px,1.05cqw,18px);
	border-width:clamp(4px,.34cqw,6px);
	box-sizing:border-box;
	background:#080808;
	box-shadow:inset 0 0 0 1px rgba(244,226,190,.18),0 1.8cqw 4.5cqw rgba(0,0,0,.68),0 0 0 1px rgba(255,226,157,.4);
}
body.hbfs .hbfs-collectionhero__room figure img,
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	display:block;
	width:auto;
	height:auto;
	max-width:min(calc(var(--art-width) * var(--art-unit)),58cqw);
	max-height:min(calc(var(--art-height) * var(--art-unit)),33cqw);
	object-fit:contain;
}
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	max-width:min(calc(var(--art-width) * var(--art-unit)),60cqw);
	max-height:min(calc(var(--art-height) * var(--art-unit)),36cqw);
}

/* The museum label owns a reserved strip of wall. It never sits on the work. */
body.hbfs .hbfs-collectionhero__plaque,
body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
	position:absolute;
	top:50%;
	right:2.55cqw;
	left:auto;
	bottom:auto;
	width:clamp(198px,14cqw,248px);
	padding:clamp(12px,1cqw,17px);
	transform:translateY(-50%);
	text-align:left;
}

body.hbfs .hbfs-artnav button {
	top:50%;
	width:clamp(42px,3.35cqw,56px);
	height:clamp(42px,3.35cqw,56px);
	transform:translateY(-50%);
}
body.hbfs .hbfs-artnav button:hover,
body.hbfs .hbfs-artnav button:focus-visible {
	transform:translateY(-50%) scale(1.06);
}
body.hbfs .hbfs-artnav [data-art-prev] { left:2.25cqw; }
body.hbfs .hbfs-artnav [data-art-next] { right:2.25cqw; }

body.hbfs .hbfs-viewcontrols {
	left:2.7cqw;
	right:2.7cqw;
	bottom:1.15cqw;
}

@media(min-width:901px) and (max-width:1120px){
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
		right:1.8cqw;
		width:clamp(184px,18cqw,205px);
		padding:11px 13px;
	}
	body.hbfs .hbfs-collectionhero__plaque span,
	body.hbfs .hbfs-collectionhero__plaque strong { font-size:.5rem; }
	body.hbfs .hbfs-collectionhero__plaque a { font-size:.51rem; }
	body.hbfs .hbfs-viewcontrols>div:first-child { display:none; }
	body.hbfs .hbfs-viewcontrols { justify-content:center; }
}

/* Mobile is intentionally vertical: the full-width room remains readable and
   the label becomes part of the flow beneath the framed work. */
@media(max-width:900px){
	body.hbfs .hbfs-collectionhero__room {
		--art-unit:clamp(5.4px,1.55vw,7px);
		width:100%;
		min-height:max(720px,88svh);
		aspect-ratio:auto;
		padding:128px 14px 142px;
		display:grid;
		place-items:center;
		container-type:normal;
		background-size:cover;
		box-shadow:none;
	}
	body.hbfs .hbfs-collectionhero__room.is-living,
	body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:clamp(5.3px,1.5vw,6.8px); }
	body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:clamp(6.5px,1.9vw,8.4px); }
	body.hbfs .hbfs-collectionhero__light {
		top:-24%;
		left:31%;
		right:31%;
		height:82%;
		filter:blur(18px);
	}
	body.hbfs .hbfs-collectionhero__context { top:92px; left:18px; gap:12px; }
	body.hbfs .hbfs-collectionhero__stage {
		position:relative;
		inset:auto;
		width:94vw;
		height:auto;
		margin:auto;
		gap:10px;
	}
	body.hbfs .hbfs-collectionhero__room figure,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure {
		padding:clamp(10px,3vw,15px);
		border-width:4px;
	}
	body.hbfs .hbfs-collectionhero__room figure img,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(88vw - 42px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),42svh);
	}
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(92vw - 36px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),50svh);
	}
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
		position:static;
		top:auto;
		right:auto;
		left:auto;
		width:min(92vw,520px);
		padding:9px 12px 8px;
		transform:none;
		text-align:center;
	}
	body.hbfs .hbfs-artnav button { top:42%; transform:none; }
	body.hbfs .hbfs-artnav button:hover,
	body.hbfs .hbfs-artnav button:focus-visible { transform:none; }
	body.hbfs .hbfs-artnav [data-art-prev] { left:7px; }
	body.hbfs .hbfs-artnav [data-art-next] { right:7px; }
	body.hbfs .hbfs-viewcontrols { left:16px; right:16px; bottom:14px; }
}

/* --------------------------------------------------------------------------
   v7.1.8 — normalized museum scale and under-artwork navigation.

   Catalogue inches retain their relative hierarchy through a softened display
   curve. The largest works no longer consume the room, and navigation becomes
   a quiet control directly below the frame so both wall edges remain clean.
   -------------------------------------------------------------------------- */
@media(min-width:901px){
	body.hbfs .hbfs-collectionhero__stage {
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:clamp(7px,.62cqw,11px);
	}
	body.hbfs .hbfs-collectionhero__room figure img,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(var(--art-display-width),47cqw);
		max-height:min(var(--art-display-height),30.5cqw);
	}
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(var(--art-display-width),49cqw);
		max-height:min(var(--art-display-height),32cqw);
	}
}

body.hbfs .hbfs-artnav {
	position:relative;
	inset:auto;
	z-index:7;
	display:inline-flex;
	align-items:center;
	width:auto;
	height:auto;
	padding:3px;
	border:1px solid rgba(223,190,128,.38);
	border-radius:999px;
	background:linear-gradient(180deg,rgba(17,15,13,.86),rgba(5,5,6,.82));
	box-shadow:0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
	backdrop-filter:blur(10px);
	pointer-events:auto;
}
body.hbfs .hbfs-artnav button,
body.hbfs .hbfs-artnav [data-art-prev],
body.hbfs .hbfs-artnav [data-art-next] {
	position:static;
	top:auto;
	left:auto;
	right:auto;
	width:clamp(30px,2.25cqw,38px);
	height:clamp(28px,2.05cqw,35px);
	padding:0 0 2px;
	border:0;
	border-radius:999px;
	background:transparent;
	box-shadow:none;
	color:#ead2a6;
	font-size:clamp(1.15rem,1.45cqw,1.48rem);
	line-height:1;
	transform:none;
	transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
body.hbfs .hbfs-artnav button:hover,
body.hbfs .hbfs-artnav button:focus-visible,
body.hbfs .hbfs-artnav [data-art-prev]:hover,
body.hbfs .hbfs-artnav [data-art-next]:hover {
	background:#c29a52;
	color:#101010;
	transform:none;
}
body.hbfs .hbfs-artnav button:focus-visible {
	outline:2px solid #fff;
	outline-offset:2px;
}
body.hbfs .hbfs-artnav [data-art-nav-count] {
	min-width:clamp(66px,5.1cqw,84px);
	padding-inline:8px;
	color:rgba(255,255,255,.78);
	font:700 clamp(.56rem,.5cqw,.65rem)/1 "Plus Jakarta Sans",sans-serif;
	letter-spacing:.12em;
	text-align:center;
}

@media(max-width:900px){
	body.hbfs .hbfs-collectionhero__stage {
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:9px;
	}
	body.hbfs .hbfs-artnav { order:2; }
	body.hbfs .hbfs-collectionhero__plaque { order:3; }
	body.hbfs .hbfs-artnav button,
	body.hbfs .hbfs-artnav [data-art-prev],
	body.hbfs .hbfs-artnav [data-art-next] {
		position:static;
		width:34px;
		height:32px;
		transform:none;
	}
}

@media(max-width:520px){
	.hbfs-collectionhero__room { min-height:max(720px,88svh); }
	.hbfs-collectionhero__room.is-gallery { background-position:center; }
	.hbfs-collectiongrid__head h1 { font-size:clamp(2.3rem,12vw,4rem); }
}

/* --------------------------------------------------------------------------
   v7.1.2 — verified artwork catalogue, stable spotlight and collector inquiry.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-collectionhero__room {
	min-height:clamp(650px,86svh,900px);
	padding:clamp(112px,14vh,145px) clamp(18px,4vw,62px) clamp(82px,10vh,110px);
}
body.hbfs .hbfs-collectionhero__stage {
	position:relative;
	z-index:3;
	display:grid;
	justify-items:center;
	gap:12px;
	width:min(94vw,1120px);
	margin:auto;
}
body.hbfs .hbfs-collectionhero__room figure {
	max-width:min(62vw,820px);
	max-height:48vh;
}
body.hbfs .hbfs-collectionhero__room figure img { max-height:43vh; }
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	max-width:min(78vw,1080px);
	max-height:57vh;
}
body.hbfs .hbfs-collectionhero__room.is-artwork figure img { max-height:52vh; }
body.hbfs .hbfs-collectionhero__plaque {
	position:static;
	left:auto;
	bottom:auto;
	width:min(100%,760px);
	transform:none;
	box-sizing:border-box;
}
body.hbfs .hbfs-viewcontrols { display:flex; }
body.hbfs .hbfs-artcard .hbfs-photo-rights { cursor:pointer; }
body.hbfs [data-spotlight-frame].hbfs-photo-rights { cursor:default; }

body.hbfs .hbfs-collectiongrid {
	padding:clamp(42px,5vw,72px) 0 clamp(78px,9vw,130px);
}
body.hbfs .hbfs-collectiongrid__head {
	grid-template-columns:minmax(0,1.45fr) minmax(255px,.55fr);
	gap:clamp(30px,5vw,72px);
	margin-bottom:clamp(30px,4vw,48px);
	padding-bottom:clamp(24px,3vw,38px);
}
body.hbfs .hbfs-collectiongrid__head h1 {
	max-width:none;
	font-size:clamp(2.4rem,4.4vw,5.15rem);
	line-height:.93;
}
body.hbfs .hbfs-collectiongrid__head h1 span,
body.hbfs .hbfs-collectiongrid__head h1 em {
	display:block;
	white-space:nowrap;
}
body.hbfs .hbfs-collectiongrid__summary {
	max-width:740px;
	line-height:1.6;
}

body.hbfs .hbfs-collectorhero {
	position:relative;
	padding:calc(var(--hbfs-header-h) + clamp(72px,9vw,125px)) 0 clamp(70px,9vw,120px);
	overflow:hidden;
	background:radial-gradient(circle at 78% 28%,rgba(194,154,82,.19),transparent 28%),linear-gradient(115deg,#050607,#15110d 62%,#050607);
	color:#f7f0e6;
}
body.hbfs .hbfs-collectorhero::after {
	content:"";
	position:absolute;
	inset:12% 8%;
	border:1px solid rgba(194,154,82,.18);
	pointer-events:none;
}
body.hbfs .hbfs-collectorhero>.hbfs-container { position:relative; z-index:1; }
body.hbfs .hbfs-collectorhero h1 {
	max-width:1080px;
	margin:.2em 0 .28em;
	font-family:Georgia,serif;
	font-size:clamp(3.1rem,7.2vw,7.7rem);
	font-weight:400;
	line-height:.9;
	letter-spacing:-.052em;
}
body.hbfs .hbfs-collectorhero h1 em { color:#c29a52; font-weight:400; }
body.hbfs .hbfs-collectorhero p:last-child { max-width:720px; color:rgba(255,255,255,.68); font-size:clamp(1rem,1.35vw,1.2rem); line-height:1.75; }
body.hbfs .hbfs-collectorform { padding:clamp(72px,9vw,130px) 0; background:#eae3d7; color:#171719; }
body.hbfs .hbfs-collectorform>.hbfs-container {
	display:grid;
	grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr);
	gap:clamp(38px,7vw,105px);
	align-items:start;
}
body.hbfs .hbfs-collectorform aside {
	position:sticky;
	top:calc(var(--hbfs-header-h) + 28px);
	padding-top:12px;
	border-top:1px solid #aa864b;
}
body.hbfs .hbfs-collectorform aside figure {
	position:relative;
	margin:24px 0;
	padding:7px;
	background:#17120c;
	border:4px ridge #a57e3f;
	box-shadow:0 18px 42px rgba(35,27,17,.2);
}
body.hbfs .hbfs-collectorform aside figure img { display:block; width:100%; height:auto; }
body.hbfs .hbfs-collectorform aside h2,
body.hbfs .hbfs-collectorform>div>div>h2 {
	margin:.35em 0 .55em;
	font-family:Georgia,serif;
	font-size:clamp(2rem,3.3vw,3.7rem);
	font-weight:400;
	line-height:1.03;
	letter-spacing:-.035em;
}
body.hbfs .hbfs-collectorform aside p:not(.hbfs-label) { color:#645e55; line-height:1.75; }
body.hbfs .hbfs-collectorform aside a { color:#7b5b2d; font-weight:700; text-decoration:none; }
body.hbfs .hbfs-collectorinquiryform { margin-top:28px; border-color:rgba(113,86,46,.25); background:#f7f2e9; }
body.hbfs .hbfs-collectorinquiryform .hbfs-formsubmit { border-color:#b58b48; background:#b58b48; color:#111; }
body.hbfs .hbfs-collectorinquiryform .hbfs-formsubmit:hover,
body.hbfs .hbfs-collectorinquiryform .hbfs-formsubmit:focus { background:#cda862; }
body.hbfs .hbfs-formconsent {
	display:flex;
	align-items:flex-start;
	gap:11px;
	margin:22px 0 0;
	color:#5d574f;
	font-size:.78rem;
	font-weight:600;
	line-height:1.55;
}
body.hbfs .hbfs-formconsent input { flex:0 0 auto; width:17px; height:17px; margin-top:3px; accent-color:#b58b48; }

@media(max-width:800px){
	body.hbfs .hbfs-collectionhero__room {
		min-height:max(720px,88svh);
		padding:128px 14px 142px;
	}
	body.hbfs .hbfs-collectionhero__stage { width:94vw; gap:8px; }
	body.hbfs .hbfs-collectionhero__room figure { max-width:86vw; max-height:38vh; }
	body.hbfs .hbfs-collectionhero__room figure img { max-height:34vh; }
	body.hbfs .hbfs-collectionhero__room.is-artwork figure { max-width:92vw; max-height:45vh; }
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img { max-height:41vh; }
	body.hbfs .hbfs-collectionhero__plaque { width:100%; padding:9px 12px 8px; }
	body.hbfs .hbfs-viewcontrols { display:block; }
	body.hbfs .hbfs-collectiongrid__head { grid-template-columns:1fr; }
	body.hbfs .hbfs-collectiongrid__head h1 span,
	body.hbfs .hbfs-collectiongrid__head h1 em { white-space:normal; }
	body.hbfs .hbfs-collectorform>.hbfs-container { grid-template-columns:1fr; }
	body.hbfs .hbfs-collectorform aside { position:static; }
}

/* --------------------------------------------------------------------------
   v7.1.3 — responsive-safe artwork swapping and in-room collection navigation.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-artnav {
	position:absolute;
	inset:0;
	z-index:6;
	pointer-events:none;
}
body.hbfs .hbfs-artnav button {
	position:absolute;
	top:46%;
	display:grid;
	place-items:center;
	width:56px;
	height:56px;
	padding:0 0 5px;
	border:1px solid rgba(238,206,145,.58);
	border-radius:50%;
	background:rgba(7,7,8,.62);
	box-shadow:0 10px 30px rgba(0,0,0,.32);
	backdrop-filter:blur(9px);
	color:#f2d59d;
	font-family:Georgia,serif;
	font-size:2.25rem;
	font-weight:400;
	line-height:1;
	cursor:pointer;
	pointer-events:auto;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body.hbfs .hbfs-artnav [data-art-prev] { left:clamp(18px,4vw,64px); }
body.hbfs .hbfs-artnav [data-art-next] { right:clamp(18px,4vw,64px); }
body.hbfs .hbfs-artnav button:hover,
body.hbfs .hbfs-artnav button:focus-visible {
	border-color:#e3bd78;
	background:#c29a52;
	color:#111;
	transform:scale(1.06);
	outline:2px solid rgba(255,255,255,.84);
	outline-offset:3px;
}
body.hbfs [data-spotlight-frame] img {
	opacity:1;
	transition:opacity .18s ease;
}
body.hbfs [data-spotlight-frame].is-changing img { opacity:.42; }

@media(max-width:800px){
	body.hbfs .hbfs-artnav button {
		top:40%;
		width:44px;
		height:44px;
		padding-bottom:4px;
		font-size:1.8rem;
		background:rgba(5,5,6,.76);
	}
	body.hbfs .hbfs-artnav [data-art-prev] { left:7px; }
	body.hbfs .hbfs-artnav [data-art-next] { right:7px; }
}

/* --------------------------------------------------------------------------
   v7.1.4 — true-to-scale room viewing and an authentic museum side label.

   Artwork no longer scales from viewport height. Its listed physical side
   lengths, oriented by the source image, now control its size in each room.
   This keeps a work visually consistent between tall and ultra-wide windows.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-collectionhero__room {
	--art-unit:clamp(4.8px,.31vw,6.4px);
	min-height:clamp(660px,86svh,940px);
}
body.hbfs .hbfs-collectionhero__room.is-living { --art-unit:clamp(5.1px,.34vw,6.8px); }
body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:clamp(4.95px,.325vw,6.55px); }
body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:clamp(6.2px,.48vw,9.4px); }

body.hbfs .hbfs-collectionhero__stage {
	--art-width:84;
	--art-height:48;
	display:grid;
	place-items:center;
	width:min(94vw,1240px);
	min-width:0;
	gap:0;
}
body.hbfs .hbfs-collectionhero__room figure,
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	width:fit-content;
	max-width:none;
	max-height:none;
	margin:0;
	padding:clamp(28px,1.8vw,36px);
	box-sizing:border-box;
	background:#070707;
	box-shadow:inset 0 0 0 1px rgba(244,226,190,.2),0 30px 75px rgba(0,0,0,.72),0 0 0 1px rgba(255,226,157,.4);
	transition:transform .35s ease;
}
body.hbfs .hbfs-collectionhero__room figure img,
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	display:block;
	width:min(calc(var(--art-width) * var(--art-unit)),68vw);
	height:auto;
	max-width:none;
	max-height:none;
	object-fit:contain;
	outline:1px solid rgba(236,220,187,.18);
}
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	width:min(calc(var(--art-width) * var(--art-unit)),76vw,1060px);
}

/* Wide screens use a discreet wall label beside the work, not a banner below. */
body.hbfs .hbfs-collectionhero__plaque {
	position:absolute;
	top:50%;
	right:-24px;
	left:auto;
	bottom:auto;
	width:clamp(218px,15vw,274px);
	padding:16px 18px 15px;
	transform:translateY(-50%);
	box-sizing:border-box;
	border:1px solid rgba(217,181,114,.3);
	border-left:3px solid #c9a15b;
	background:linear-gradient(135deg,rgba(10,10,11,.93),rgba(28,23,18,.88));
	box-shadow:0 18px 45px rgba(0,0,0,.3);
	backdrop-filter:blur(12px);
	text-align:left;
}
body.hbfs .hbfs-collectionhero__plaque p {
	margin:0 0 10px;
	font-size:clamp(1rem,1.1vw,1.18rem);
	line-height:1.15;
}
body.hbfs .hbfs-collectionhero__plaque span,
body.hbfs .hbfs-collectionhero__plaque strong {
	margin-top:5px;
	font-size:.56rem;
	line-height:1.45;
	letter-spacing:.085em;
}
body.hbfs .hbfs-collectionhero__plaque strong {
	margin-top:9px;
	padding-top:9px;
	border-top:1px solid rgba(217,181,114,.22);
}
body.hbfs .hbfs-collectionhero__plaque a {
	margin-top:10px;
	font-size:.56rem;
	line-height:1.35;
}
body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__stage { gap:12px; }
body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
	position:static;
	top:auto;
	right:auto;
	left:auto;
	width:min(88vw,560px);
	padding:11px 18px 10px;
	transform:none;
	text-align:center;
}

@media(max-width:1180px){
	body.hbfs .hbfs-collectionhero__stage { gap:12px; }
	body.hbfs .hbfs-collectionhero__plaque {
		position:static;
		top:auto;
		right:auto;
		left:auto;
		width:min(88vw,560px);
		padding:11px 18px 10px;
		transform:none;
		border-left-width:2px;
		text-align:center;
	}
	body.hbfs .hbfs-collectionhero__plaque p { margin-bottom:5px; }
	body.hbfs .hbfs-collectionhero__plaque strong {
		margin-top:5px;
		padding-top:5px;
	}
	body.hbfs .hbfs-collectionhero__plaque a { margin-top:6px; }
}

@media(max-width:800px){
	body.hbfs .hbfs-collectionhero__room {
		--art-unit:clamp(4.15px,1.15vw,4.8px);
		min-height:max(720px,88svh);
	}
	body.hbfs .hbfs-collectionhero__room.is-living,
	body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:clamp(4.3px,1.2vw,5px); }
	body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:clamp(5.2px,1.55vw,6.4px); }
	body.hbfs .hbfs-collectionhero__room figure,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure {
		width:fit-content;
		max-width:none;
		max-height:none;
		padding:clamp(16px,4.5vw,20px);
	}
	body.hbfs .hbfs-collectionhero__room figure img,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		width:min(calc(var(--art-width) * var(--art-unit)),calc(82vw - 52px));
		max-height:none;
	}
	body.hbfs .hbfs-collectionhero__plaque { width:min(92vw,520px); }
}

@media(min-width:801px) and (max-height:700px){
	body.hbfs .hbfs-collectionhero__room {
		min-height:660px;
		padding-top:108px;
		padding-bottom:88px;
	}
	body.hbfs .hbfs-collectionhero__context { top:92px; }
}

/* --------------------------------------------------------------------------
   v7.1.5 — balanced collector scale, restrained mat and mode-only rights mark.

   The physical dimensions still establish the relationship between works,
   while the room presentation is deliberately larger so collectors can read
   presence and detail. A wall-height safety cap prevents tall works from
   turning into banners on short or ultra-wide displays.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-collectionhero__room {
	--art-unit:clamp(9.2px,.54vw,11.2px);
}
body.hbfs .hbfs-collectionhero__room.is-living {
	--art-unit:clamp(8.8px,.5vw,10.5px);
}
body.hbfs .hbfs-collectionhero__room.is-office {
	--art-unit:clamp(9px,.51vw,10.8px);
}
body.hbfs .hbfs-collectionhero__room.is-artwork {
	--art-unit:clamp(11px,.66vw,14px);
}

body.hbfs .hbfs-collectionhero__stage {
	width:min(94vw,1320px);
}
body.hbfs .hbfs-collectionhero__room figure,
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	padding:clamp(14px,1.05vw,22px);
	border-width:5px;
	background:#080808;
}
body.hbfs .hbfs-collectionhero__room figure img,
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	width:auto;
	height:auto;
	max-width:min(calc(var(--art-width) * var(--art-unit)),64vw,980px);
	max-height:min(calc(var(--art-height) * var(--art-unit)),clamp(360px,56svh,620px));
}
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	max-width:min(calc(var(--art-width) * var(--art-unit)),78vw,1180px);
	max-height:min(calc(var(--art-height) * var(--art-unit)),clamp(410px,62svh,720px));
}

/* Keep Hummingbird branding out of the imagined rooms. It appears only when
   the collector deliberately switches to Artwork Only. */
body.hbfs .hbfs-artcard .hbfs-photo-rights__mark,
body.hbfs .hbfs-collectionhero__room:not(.is-artwork) [data-spotlight-frame] > .hbfs-photo-rights__mark {
	display:none!important;
}
body.hbfs .hbfs-collectionhero__room.is-artwork [data-spotlight-frame] > .hbfs-photo-rights__mark {
	display:block;
}

@media(max-width:800px){
	body.hbfs .hbfs-collectionhero__room {
		--art-unit:clamp(5.4px,1.55vw,7px);
	}
	body.hbfs .hbfs-collectionhero__room.is-living,
	body.hbfs .hbfs-collectionhero__room.is-office {
		--art-unit:clamp(5.3px,1.5vw,6.8px);
	}
	body.hbfs .hbfs-collectionhero__room.is-artwork {
		--art-unit:clamp(6.5px,1.9vw,8.4px);
	}
	body.hbfs .hbfs-collectionhero__room figure,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure {
		padding:clamp(10px,3vw,15px);
		border-width:4px;
	}
	body.hbfs .hbfs-collectionhero__room figure img,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(88vw - 42px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),42svh);
	}
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(92vw - 36px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),50svh);
	}
}

/* --------------------------------------------------------------------------
   v7.1.7 — Art House finishing pass.

   A scoped type rhythm, non-overlapping navigation, optional user-initiated
   music and a restrained artwork hover make the fixed gallery canvas feel
   finished without changing the rest of the HBFS site.
   -------------------------------------------------------------------------- */
body.hbfs .hbfs-collectionhero__context {
	gap:clamp(12px,1.05cqw,18px);
	font-size:clamp(.67rem,.68cqw,.76rem);
	line-height:1.25;
}
body.hbfs .hbfs-collectionhero__plaque,
body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
	right:2.45cqw;
	width:clamp(238px,17cqw,284px);
	padding:clamp(15px,1.15cqw,19px) clamp(16px,1.3cqw,22px);
	border-top:0;
	border-left:3px solid rgba(214,173,100,.9);
	background:linear-gradient(135deg,rgba(10,9,9,.9),rgba(21,17,13,.84));
	box-shadow:0 18px 48px rgba(0,0,0,.34),inset 0 0 0 1px rgba(218,180,111,.24);
}
body.hbfs .hbfs-collectionhero__plaque p {
	font-size:clamp(1.12rem,1.35cqw,1.45rem);
	line-height:1.15;
}
body.hbfs .hbfs-collectionhero__plaque span,
body.hbfs .hbfs-collectionhero__plaque strong {
	font-size:clamp(.62rem,.58cqw,.7rem);
	line-height:1.5;
	letter-spacing:.065em;
}
body.hbfs .hbfs-collectionhero__plaque a {
	font-size:clamp(.63rem,.59cqw,.7rem);
	line-height:1.35;
}

/* The next control sits in the dedicated gap between the largest frame and
   the museum label, rather than covering the artwork specifications. */
body.hbfs .hbfs-artnav [data-art-next] { right:22.5cqw; }

body.hbfs .hbfs-collectionhero__room figure,
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	overflow:hidden;
}
body.hbfs [data-spotlight-frame] > img {
	transform:scale(1);
	transform-origin:center;
	transition:opacity .18s ease,transform .75s cubic-bezier(.2,.7,.2,1),filter .55s ease;
}
@media(hover:hover) and (pointer:fine){
	body.hbfs [data-spotlight-frame]:hover > img {
		transform:scale(1.028);
		filter:saturate(1.075) contrast(1.025);
	}
}

body.hbfs .hbfs-viewcontrols>div:first-child>span {
	font-size:clamp(.66rem,.58cqw,.73rem);
}
body.hbfs .hbfs-viewcontrols small {
	font-size:clamp(.68rem,.57cqw,.75rem);
}
body.hbfs .hbfs-viewcontrols__buttons button {
	min-height:clamp(36px,2.55cqw,43px);
	padding:clamp(8px,.62cqw,11px) clamp(11px,.9cqw,15px);
	font-size:clamp(.62rem,.53cqw,.69rem);
	transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
body.hbfs .hbfs-viewcontrols__buttons button:hover,
body.hbfs .hbfs-viewcontrols__buttons button:focus-visible {
	transform:translateY(-2px);
	box-shadow:0 9px 24px rgba(0,0,0,.25);
}

body.hbfs .hbfs-soundtoggle {
	position:absolute;
	z-index:8;
	top:5.9cqw;
	right:2.7cqw;
	display:inline-flex;
	align-items:center;
	gap:9px;
	min-height:36px;
	padding:8px 12px;
	border:1px solid rgba(238,206,145,.46);
	background:rgba(7,7,8,.62);
	backdrop-filter:blur(9px);
	color:#f3e4c8;
	font:700 clamp(.59rem,.5cqw,.67rem)/1 "Plus Jakarta Sans",sans-serif;
	letter-spacing:.085em;
	text-transform:uppercase;
	cursor:pointer;
	transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
body.hbfs .hbfs-soundtoggle:hover,
body.hbfs .hbfs-soundtoggle:focus-visible,
body.hbfs .hbfs-soundtoggle.is-playing {
	border-color:#e3bd78;
	background:rgba(194,154,82,.92);
	color:#111;
	transform:translateY(-2px);
}
body.hbfs .hbfs-soundtoggle:focus-visible {
	outline:2px solid #fff;
	outline-offset:3px;
}
body.hbfs .hbfs-soundtoggle__icon {
	display:flex;
	align-items:center;
	gap:2px;
	height:13px;
}
body.hbfs .hbfs-soundtoggle__icon i {
	display:block;
	width:2px;
	height:5px;
	background:currentColor;
	transform-origin:center;
}
body.hbfs .hbfs-soundtoggle__icon i:nth-child(2) { height:11px; }
body.hbfs .hbfs-soundtoggle.is-playing .hbfs-soundtoggle__icon i {
	animation:hbfs-soundmeter .85s ease-in-out infinite alternate;
}
body.hbfs .hbfs-soundtoggle.is-playing .hbfs-soundtoggle__icon i:nth-child(2) { animation-delay:-.32s; }
body.hbfs .hbfs-soundtoggle.is-playing .hbfs-soundtoggle__icon i:nth-child(3) { animation-delay:-.56s; }
@keyframes hbfs-soundmeter { from { transform:scaleY(.45); } to { transform:scaleY(1.15); } }

body.hbfs .hbfs-collectiongrid__head h1 {
	font-size:clamp(2.5rem,4.25vw,4.9rem);
	line-height:.98;
}
body.hbfs .hbfs-collectiongrid__summary {
	font-size:clamp(.98rem,1.05vw,1.12rem);
}
body.hbfs .hbfs-artcard h3 {
	font-size:clamp(1.25rem,1.35vw,1.52rem);
	line-height:1.2;
}
body.hbfs .hbfs-artcard:focus-visible {
	outline:2px solid #d6ad64;
	outline-offset:7px;
}

@media(min-width:901px) and (max-width:1120px){
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
		right:2cqw;
		width:clamp(205px,19cqw,225px);
		padding:12px 14px;
	}
	body.hbfs .hbfs-artnav [data-art-next] { right:23cqw; }
}

@media(max-width:900px){
	body.hbfs .hbfs-soundtoggle {
		top:86px;
		right:16px;
		min-height:34px;
		padding:7px 10px;
		font-size:.59rem;
	}
	body.hbfs .hbfs-artnav [data-art-next] { right:7px; }
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
		width:min(92vw,520px);
		border-top:1px solid rgba(211,173,103,.58);
		border-left:0;
		padding:11px 14px 10px;
	}
}

@media(prefers-reduced-motion:reduce){
	body.hbfs .hbfs-soundtoggle.is-playing .hbfs-soundtoggle__icon i { animation:none; }
	body.hbfs [data-spotlight-frame] > img,
	body.hbfs .hbfs-viewcontrols__buttons button,
	body.hbfs .hbfs-soundtoggle { transition:none; }
}

/* v7.1.8 FINAL OVERRIDES — keep this block last in the cascade. */
body.hbfs .hbfs-collectionhero {
	position:relative;
	overflow:hidden;
	background:radial-gradient(ellipse at 50% 48%,rgba(113,78,38,.28),transparent 58%),linear-gradient(90deg,#030304,#0b0907 26%,#0b0907 74%,#030304);
}
body.hbfs .hbfs-collectionhero__room {
	--art-unit:.60cqw;
	position:relative;
	width:min(calc(100% - (2 * var(--hbfs-gutter))),calc(var(--hbfs-container) + (2 * var(--hbfs-gutter))));
	height:auto;
	min-height:0;
	aspect-ratio:1672 / 941;
	margin-inline:auto;
	padding:0;
	display:block;
	container-type:inline-size;
	background-position:center;
	background-size:100% 100%;
	box-shadow:0 0 96px 38px rgba(76,52,27,.26);
}
body.hbfs .hbfs-collectionhero__room.is-living { --art-unit:.58cqw; }
body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:.59cqw; }
body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:.70cqw; }
body.hbfs .hbfs-collectionhero__light { top:-7cqw; left:35cqw; right:35cqw; height:44cqw; filter:blur(1.05cqw); }
body.hbfs .hbfs-collectionhero__context { top:6.2cqw; left:2.7cqw; gap:clamp(12px,1.05cqw,18px); font-size:clamp(.67rem,.68cqw,.76rem); }
body.hbfs .hbfs-collectionhero__stage {
	position:absolute;
	inset:9.5cqw 0 7.8cqw;
	width:100%;
	height:auto;
	margin:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:clamp(7px,.62cqw,11px);
}
body.hbfs .hbfs-collectionhero__room figure,
body.hbfs .hbfs-collectionhero__room.is-artwork figure {
	width:fit-content;
	max-width:none;
	max-height:none;
	margin:0;
	padding:clamp(10px,1.05cqw,18px);
	border-width:clamp(4px,.34cqw,6px);
	box-sizing:border-box;
	background:#080808;
	box-shadow:inset 0 0 0 1px rgba(244,226,190,.18),0 1.8cqw 4.5cqw rgba(0,0,0,.68),0 0 0 1px rgba(255,226,157,.4);
}
body.hbfs .hbfs-collectionhero__room figure img,
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	display:block;
	width:auto;
	height:auto;
	max-width:min(var(--art-display-width),47cqw);
	max-height:min(var(--art-display-height),30.5cqw);
	object-fit:contain;
}
body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
	max-width:min(var(--art-display-width),49cqw);
	max-height:min(var(--art-display-height),32cqw);
}
body.hbfs .hbfs-collectionhero__plaque,
body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
	position:absolute;
	top:50%;
	right:2.45cqw;
	left:auto;
	bottom:auto;
	width:clamp(238px,17cqw,284px);
	padding:clamp(15px,1.15cqw,19px) clamp(16px,1.3cqw,22px);
	transform:translateY(-50%);
	text-align:left;
	border-top:0;
	border-left:3px solid rgba(214,173,100,.9);
}
body.hbfs .hbfs-collectionhero__plaque p { font-size:clamp(1.12rem,1.35cqw,1.45rem); }
body.hbfs .hbfs-collectionhero__plaque span,
body.hbfs .hbfs-collectionhero__plaque strong { font-size:clamp(.62rem,.58cqw,.7rem); line-height:1.5; }
body.hbfs .hbfs-collectionhero__plaque a { font-size:clamp(.63rem,.59cqw,.7rem); }
body.hbfs .hbfs-artnav button,
body.hbfs .hbfs-artnav [data-art-prev],
body.hbfs .hbfs-artnav [data-art-next] {
	position:static;
	top:auto;
	left:auto;
	right:auto;
	width:clamp(30px,2.25cqw,38px);
	height:clamp(28px,2.05cqw,35px);
	transform:none;
}
body.hbfs .hbfs-artnav button:hover,
body.hbfs .hbfs-artnav button:focus-visible { transform:none; }
body.hbfs .hbfs-viewcontrols { left:2.7cqw; right:2.7cqw; bottom:1.15cqw; }

@media(min-width:901px) and (max-width:1120px){
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque { right:2cqw; width:clamp(205px,19cqw,225px); padding:12px 14px; }
	body.hbfs .hbfs-collectionhero__plaque span,
	body.hbfs .hbfs-collectionhero__plaque strong { font-size:.61rem; }
	body.hbfs .hbfs-collectionhero__plaque a { font-size:.62rem; }
	body.hbfs .hbfs-artnav [data-art-next] { right:23cqw; }
	body.hbfs .hbfs-viewcontrols>div:first-child { display:none; }
	body.hbfs .hbfs-viewcontrols { justify-content:center; }
}

@media(max-width:900px){
	body.hbfs .hbfs-collectionhero__room {
		--art-unit:clamp(5.4px,1.55vw,7px);
		width:100%;
		min-height:max(720px,88svh);
		aspect-ratio:auto;
		padding:128px 14px 142px;
		display:grid;
		place-items:center;
		container-type:normal;
		background-size:cover;
		box-shadow:none;
	}
	body.hbfs .hbfs-collectionhero__room.is-living,
	body.hbfs .hbfs-collectionhero__room.is-office { --art-unit:clamp(5.3px,1.5vw,6.8px); }
	body.hbfs .hbfs-collectionhero__room.is-artwork { --art-unit:clamp(6.5px,1.9vw,8.4px); }
	body.hbfs .hbfs-collectionhero__light { top:-24%; left:31%; right:31%; height:82%; filter:blur(18px); }
	body.hbfs .hbfs-collectionhero__context { top:92px; left:18px; gap:12px; }
	body.hbfs .hbfs-collectionhero__stage { position:relative; inset:auto; width:94vw; height:auto; margin:auto; gap:10px; }
	body.hbfs .hbfs-collectionhero__room figure,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure { padding:clamp(10px,3vw,15px); border-width:4px; }
	body.hbfs .hbfs-collectionhero__room figure img,
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(88vw - 42px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),42svh);
	}
	body.hbfs .hbfs-collectionhero__room.is-artwork figure img {
		max-width:min(calc(var(--art-width) * var(--art-unit)),calc(92vw - 36px));
		max-height:min(calc(var(--art-height) * var(--art-unit)),50svh);
	}
	body.hbfs .hbfs-collectionhero__plaque,
	body.hbfs .hbfs-collectionhero__room.is-artwork .hbfs-collectionhero__plaque {
		position:static;
		top:auto;
		right:auto;
		left:auto;
		width:min(92vw,520px);
		padding:11px 14px 10px;
		transform:none;
		text-align:center;
		border-top:1px solid rgba(211,173,103,.58);
		border-left:0;
	}
	body.hbfs .hbfs-artnav button { top:42%; transform:none; }
	body.hbfs .hbfs-artnav button:hover,
	body.hbfs .hbfs-artnav button:focus-visible { transform:scale(1.06); }
	body.hbfs .hbfs-artnav [data-art-prev] { left:7px; }
	body.hbfs .hbfs-artnav [data-art-next] { right:7px; }
	body.hbfs .hbfs-viewcontrols { left:16px; right:16px; bottom:14px; }
}

/* --------------------------------------------------------------------------
   v7.1.9 — gallery navigator containment repair.

   The legacy v7.1.3 navigation layer used position:absolute + inset:0 so its
   side arrows could cover the entire room. The v7.1.8 pill navigator changed
   the buttons but did not reset that container after all legacy rules in the
   cascade. On wide screens the pill background therefore became a room-sized
   rounded black panel. Lock the navigator back to intrinsic content size and
   keep it in normal flow directly beneath the artwork.
   -------------------------------------------------------------------------- */
body.hbfs [data-art-spotlight] .hbfs-artnav {
	position:relative!important;
	inset:auto!important;
	top:auto!important;
	right:auto!important;
	bottom:auto!important;
	left:auto!important;
	z-index:7;
	display:inline-flex!important;
	align-self:center;
	flex:0 0 auto;
	align-items:center;
	justify-content:center;
	width:max-content!important;
	min-width:0!important;
	max-width:100%!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:3px!important;
	border:1px solid rgba(223,190,128,.38);
	border-radius:999px;
	background:linear-gradient(180deg,rgba(17,15,13,.86),rgba(5,5,6,.82));
	box-shadow:0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
	backdrop-filter:blur(10px);
	pointer-events:auto;
}
body.hbfs [data-art-spotlight] .hbfs-artnav button,
body.hbfs [data-art-spotlight] .hbfs-artnav [data-art-prev],
body.hbfs [data-art-spotlight] .hbfs-artnav [data-art-next] {
	position:static!important;
	inset:auto!important;
	flex:0 0 auto;
	transform:none!important;
}

@media(max-width:900px){
	body.hbfs [data-art-spotlight] .hbfs-artnav { order:2; }
	body.hbfs [data-art-spotlight] .hbfs-collectionhero__plaque { order:3; }
}
