/* generated by build.py from site.css: One House chrome for the homepage (see HOME_CSS) */
:is(.tstrip, .hdr, .sheet, .hero--a, .ft, .skip) {
  --paper: #FAF7F5;
  --vellum: #F7ECEF;
  --ink: #292629;
  --ink-2: #4A4247;
  --ink-3: #6B6368;
  --rule: rgba(41, 38, 41, .14);
  --rule-2: rgba(41, 38, 41, .08);
  --crimson: #C22E49;   /* original BSE crimson (Ben, 2026-11-08: colors from the original site) */
  --crimson-d: #9E233B;
  --oxblood: #1F1416;   /* dark bands and footer: kept as before (Ben, 2026-11-08: the gray looked wrong) */
  --oxblood-2: #2C1D20;
  --on-ox: #FAF7F5;
  --on-ox-2: rgba(250, 247, 245, .76);
  --gilt: #F7ECEF;   /* accent ON DARK only: pale pink (no gold in the original) */
  --gilt-l: #FFFFFF;
  --rust: #C22E49;   /* section numbers and dates: crimson */
  --rust-d: #A9253E;   /* crimson, darker, for small text on paper */
  --night: #292629;

  --serif: "EB Garamond", Garamond, Georgia, serif;
  --sans: "EB Garamond", Garamond, Georgia, serif;

  --fs-hero: clamp(2.6rem, 5.4vw, 6rem);
  --fs-h1: clamp(2.5rem, 5.2vw, 4.9rem);
  --fs-h2: clamp(2rem, 3.4vw, 3.25rem);
  --fs-h3: clamp(1.2rem, 1.5vw, 1.4rem);
  --fs-lede: clamp(1.15rem, 1.5vw, 1.35rem);
  --fs-body: 1.0625rem;
  --fs-sm: .9rem;
  --fs-xs: .78rem;

  --r: 4px;
  --r-sm: 4px;
  --sp-1: .5rem; --sp-2: 1rem; --sp-3: 1.5rem; --sp-4: 2.5rem; --sp-5: 4rem; --sp-6: clamp(4.5rem, 9vw, 8.5rem);

  --ease: cubic-bezier(.2, .7, .2, 1);
  --t-1: 180ms;
  --t-2: 320ms;
  --t-3: 800ms;
  --hdr: 76px;
  color-scheme: light;
}
.hdr .btn, .sheet .btn, .hero--a .btn, .ft .btn { --bh: 50px; border-radius: 4px; padding: 0 24px; font: 600 15px/1 var(--sans); font-size-adjust: var(--fsa, .46); }
.hdr .btn--solid, .sheet .btn--solid, .hero--a .btn--solid, .ft .btn--solid { background: var(--ink); color: var(--paper); }
.hdr .btn--solid:hover, .sheet .btn--solid:hover, .hero--a .btn--solid:hover, .ft .btn--solid:hover { background: var(--crimson); }
.hdr .btn--line, .sheet .btn--line, .hero--a .btn--line, .ft .btn--line { border-color: var(--rule); }
.hdr .btn--gilt, .sheet .btn--gilt, .hero--a .btn--gilt, .ft .btn--gilt { background: var(--paper); color: var(--ink); }
.hdr .btn--gilt:hover, .sheet .btn--gilt:hover, .hero--a .btn--gilt:hover, .ft .btn--gilt:hover { background: var(--gilt); color: var(--ink); }
.hdr .btn--ghost, .sheet .btn--ghost, .hero--a .btn--ghost, .ft .btn--ghost { border-color: rgba(250, 247, 245, .42); color: var(--paper); }
.hdr .btn--ghost:hover, .sheet .btn--ghost:hover, .hero--a .btn--ghost:hover, .ft .btn--ghost:hover { border-color: var(--paper); background: rgba(250, 247, 245, .08); }
.tstrip { background: var(--ink); color: var(--on-ox-2); font: 600 11.5px/1 var(--sans); font-size-adjust: var(--fsa, .46); }
.tstrip__in { height: 38px; width: min(1200px, 100% - 2 * var(--gut)); }
.tstrip .fstrip ul { margin-left: -14px; }
.tstrip .fstrip a { height: 31px; margin-top: 7px; padding: 1px 14px 0; border-radius: 4px 4px 0 0; color: var(--on-ox-2); letter-spacing: .02em; box-shadow: none; }
.tstrip .fstrip a:hover { color: var(--paper); background: rgba(255, 255, 255, .08); }
.tstrip .fstrip a[aria-current] { background: var(--paper); color: var(--ink); box-shadow: none; }
.tstrip .fstrip a:focus-visible { outline: 2px solid var(--gilt); outline-offset: -2px; }
.tstrip__util a { font: 500 13px/1 var(--sans); letter-spacing: .02em; color: var(--paper); border-radius: 4px; font-size-adjust: var(--fsa, .46); }
.tstrip__util a:hover { background: rgba(255, 255, 255, .08); }
.tstrip__util svg { color: var(--gilt); }
.hdr { background: var(--paper); }
.hdr.is-scrolled { border-color: transparent; box-shadow: 0 1px 0 var(--rule); }
.hdr__bar { height: 88px; width: min(1200px, 100% - 2 * var(--gut)); }
.crest { width: 44px; color: var(--crimson); }
.brand__name { display: block; font: 500 25px/1.05 var(--serif); letter-spacing: -.01em; text-transform: none; color: var(--ink); font-size-adjust: none; }
.brand__name small { display: block; margin-top: 4px; font: 500 12.5px/1.3 var(--sans); letter-spacing: .02em; color: var(--ink-3); font-size-adjust: var(--fsa, .46); }
.nav > ul { gap: 1.6rem; }
.nav__top { position: relative; padding: .4rem 0; border-radius: 0; font: 500 15px/1 var(--sans); font-size-adjust: var(--fsa, .46); }
.nav__top:hover, .nav__item.is-open .nav__top, .nav__top[aria-current] { background: none; }
.nav__top::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--crimson); transform: scaleX(0); transform-origin: left; transition: transform 350ms var(--ease); }
.nav__top:hover::after, .nav__item.is-open .nav__top::after, .nav__top[aria-current]::after { transform: scaleX(1); }
.mega__in { width: min(1200px, 100% - 2 * var(--gut)); }
.mega__h { text-transform: none; letter-spacing: .02em; font: 600 13px/1.3 var(--sans); color: var(--ink-3); font-size-adjust: var(--fsa, .46); }
.burger { border-radius: 4px; }
.hdr__progress { display: none; }
.hero--a { position: relative; padding: 0; background: var(--ink); color: var(--paper); overflow: hidden; }
.hero--a .yb { position: absolute; top: 0; right: 0; bottom: 0; width: 64%; height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; border-radius: 0; -webkit-mask-image: none; mask-image: none; }
.hero--a .yb::after { content: none; }
.hero--a .yb figure { border-radius: 0; aspect-ratio: 4 / 5; }
.hero--a .yb figure:nth-child(3n + 2) { aspect-ratio: 4 / 5; }
.hero--a .yb__track { gap: 6px; animation: none !important; transform: none !important; }
.hero--a .yb__col--1 .yb__track { transform: translateY(-38%) !important; }
.hero--a::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(20, 12, 14, 1) 0%, rgba(20, 12, 14, .97) 34%, rgba(20, 12, 14, .6) 52%, rgba(20, 12, 14, .12) 78%),
    linear-gradient(0deg, rgba(20, 12, 14, .55), transparent 40%); }
.hero--a .hero__in { position: relative; z-index: 1; display: block; min-height: min(700px, calc(100svh - 126px)); padding: 72px 0 64px; }
.hero--a .hero__txt { max-width: 640px; }
.hero--a .hero__h { font-size: clamp(3rem, 1.6rem + 3.6vw, 5.2rem); line-height: .98; letter-spacing: -.022em; color: var(--paper); }
.hero--a .hero__h em { color: var(--gilt); }
.hero--a .hero__lede { color: var(--on-ox-2); max-width: 44ch; margin: 1.6rem 0 2.1rem; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.6; }
.hero--a .btn--text { color: var(--paper); text-decoration-color: rgba(250, 247, 245, .4); }
.hero--a .btn--text:hover { text-decoration-color: var(--gilt); }
.hero--a .hero__rec { margin-top: 2.4rem; padding-top: 1.3rem; border-top: 1px solid rgba(250, 247, 245, .22); color: var(--on-ox-2); font-size: 14px; font-weight: 500; max-width: 760px; }
.hero--a .hero__rec li::before { background: var(--gilt); }
.ft__h, .think__band { text-transform: none; letter-spacing: .02em; }
.ft { background: var(--oxblood); border-top: 0; }
.ft__h { color: var(--paper); font: 600 13px/1.3 var(--sans); font-size-adjust: var(--fsa, .46); }
.ft__brand { font: 500 1.35rem/1.2 var(--serif); text-transform: none; letter-spacing: -.005em; font-size-adjust: none; }
.ft__brand .crest { color: var(--paper); }
.think { border-radius: 4px; border-color: rgba(250, 247, 245, .2); background: rgba(255, 255, 255, .03); }
.think__f input { border-radius: 4px; }
.ft .btn--gilt { color: var(--ink); }
.ft .btn--gilt:hover { color: var(--ink); }
.hero--a .hero__in { padding: 56px 0 48px; min-height: min(709px, calc(100svh - 126px)); }
.hero--a .hero__txt { max-width: 780px; }
.hero--a .hero__h { font-size: clamp(3rem, 1.6rem + 3vw, 4.6rem); }
.hero--a .hero__lede { max-width: 50ch; margin: 1.4rem 0 1.9rem; }
.hero--a .hero__rec { margin-top: 2rem; }
.hero--a .hero__in { display: flex; align-items: center; }
.ft__brand .crest { color: #931D1D; }
.hero__bg { position: absolute; inset: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; }
.hero--a::after { background: linear-gradient(90deg, rgba(20, 12, 14, .9) 0%, rgba(20, 12, 14, .74) 40%, rgba(20, 12, 14, .2) 78%), linear-gradient(0deg, rgba(20, 12, 14, .55), transparent 50%); }
.hdr { background: #5A1521; color: var(--on-ox); border-bottom-color: transparent; }
.hdr.is-scrolled { border-color: transparent; box-shadow: 0 10px 28px -18px rgba(41, 38, 41, .6); }
.hdr .crest { color: #931D1D; }
.hdr .brand__name { color: var(--on-ox); }
.hdr .brand__name small { color: var(--on-ox-2); }
.hdr .nav__top { color: var(--on-ox); }
.hdr .nav__top svg { opacity: .7; }
.hdr .nav__top::after { background: var(--gilt); height: 2px; }
.hdr .nav__top[aria-current] { color: var(--gilt-l); }
.hdr .hdr__link { color: var(--on-ox); }
.hdr .hdr__link svg { color: var(--gilt); }
.hdr .hdr__act .btn--solid { background: var(--gilt); color: var(--night); }
.hdr .hdr__act .btn--solid:hover { background: var(--paper); color: var(--night); }
.hdr .burger { color: var(--on-ox); border-color: rgba(250, 247, 245, .38); }
.hdr .burger:hover { border-color: var(--on-ox); background: rgba(250, 247, 245, .08); }
.hdr .hdr__bar :focus-visible, .sheet :focus-visible { outline-color: var(--gilt); }
.hdr .mega { color: var(--ink); }
.sheet { background: #5A1521; color: var(--on-ox); }
.sheet .sheet__grp { border-bottom-color: rgba(250, 247, 245, .16); }
.sheet .sheet__grp summary { color: var(--on-ox); }
.sheet .sheet__grp summary svg { color: var(--gilt); }
.sheet .sheet__grp li a { color: var(--on-ox-2); }
.sheet .sheet__grp li a:hover, .sheet .sheet__grp li a[aria-current] { color: var(--on-ox); }
.sheet .sheet__cta .btn--solid { background: var(--gilt); color: var(--night); }
.sheet .sheet__cta .btn--solid:hover { background: var(--paper); color: var(--night); }
.sheet .sheet__cta .btn--line { color: var(--on-ox); border-color: rgba(250, 247, 245, .38); background: transparent; }
.sheet .sheet__cta .btn--line:hover { border-color: var(--on-ox); background: rgba(250, 247, 245, .08); }
.sheet .sheet__cta .btn--line svg { color: var(--gilt); }
.think__f input:focus-visible { outline: 2px solid var(--gilt-l); outline-offset: 2px; }
.hdr-over-ready .hdr { transition: background-color var(--hdr-over-t, .3s) ease, box-shadow var(--hdr-over-t, .3s) ease; }
.hdr-over-ready .hdr::after { transition: opacity var(--hdr-over-t, .3s) ease; }
.hdr-over .hdr::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(100% + 56px); z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(20, 12, 14, .62) 0%, rgba(20, 12, 14, .38) 55%, rgba(20, 12, 14, 0) 100%); opacity: 1; }
.hdr-over .hdr:not(.is-solid) { background-color: transparent; box-shadow: none; }
.hdr-over .hdr.is-solid::after { opacity: 0; }
.hdr-over main > .hero--a:first-child { margin-top: calc(-1 * var(--hdr-over-h, 0px)); padding-top: var(--hdr-over-h, 0px); }
.hdr-over .hdr:has(.nav__item.is-open), .hdr-over .hdr:has(.burger[aria-expanded="true"]) { background-color: #5A1521; }
.hdr-over .hdr:has(.nav__item.is-open)::after, .hdr-over .hdr:has(.burger[aria-expanded="true"])::after { opacity: 0; }
.hdr-over .hdr:not(.is-solid) .brand__name small { color: rgba(250, 247, 245, .9); }
.hdr-over { --hdr-over-h: 89px; }
.tstrip__in { height: 44px; }
.tstrip .fstrip a { height: 40px; }
.tstrip__util { padding-top: 0; }
.tstrip__util a { height: 44px; min-width: 44px; justify-content: center; }
.hdr .btn--solid, .sheet .btn--solid, .hero--a .btn--solid, .ft .btn--solid { background: var(--crimson); color: #fff; }
.hdr .btn--solid:hover, .sheet .btn--solid:hover, .hero--a .btn--solid:hover, .ft .btn--solid:hover { background: #A9253E; color: #fff; }
.hdr .hdr__act .btn--solid, .sheet .sheet__cta .btn--solid { background: var(--crimson); color: #fff; }
.hdr .hdr__act .btn--solid:hover, .sheet .sheet__cta .btn--solid:hover { background: #A9253E; color: #fff; }
.hdr .nav__top[aria-current] { color: #fff; }
.hdr .mega :focus-visible { outline-color: var(--crimson); }
.hdr-over main > .hero--a:first-child { min-height: calc(100svh - 44px); display: flex; flex-direction: column; }
.hdr-over main > .hero--a:first-child > .hero__in { flex: 1 0 auto; min-height: 0; }
.ft :focus-visible, .hero--a :focus-visible, .tstrip :focus-visible, .skip:focus-visible, .sheet :focus-visible, .hdr__bar :focus-visible { outline-color: var(--gilt); }
.hdr .btn--ghost:focus-visible, .sheet .btn--ghost:focus-visible, .hero--a .btn--ghost:focus-visible, .ft .btn--ghost:focus-visible { outline-color: var(--gilt); }
.tstrip { background: #1F1416; }
.tstrip__in, .hdr__bar, .mega__in { width: min(var(--max), 100% - 2 * var(--gut)); }
/* phone-chrome:start */
@media (max-width: 900px) {
  /* family bar: same look, 44px invisible hit area */
  .tstrip .fstrip a, .tstrip__util a { position: relative; }
  .tstrip .fstrip a::after { content: ""; position: absolute; inset: -7px 0 -6px; }
  .tstrip__util a::after { content: ""; position: absolute; inset: -6px; }
  .ft__col a { display: flex; align-items: center; min-height: 44px; padding-block: 0; font-size: 15px; }
  .ft__base { font-size: 15px; }
  .think__tools button { min-height: 44px; }
  .brand { min-height: 44px; }
}
@media (max-width: 520px) {
  .hdr, .sheet { --hdr: 66px; }
  .hdr__bar { height: 66px; gap: .75rem; }
  .brand { flex: 0 1 auto; min-width: 0; gap: .6rem; }
  .crest { width: 38px; flex: none; }
  .brand__name { min-width: 0; font-size: 19px; }
  .brand__name small { font-size: 11.5px; margin-top: 3px; }
}
@media (max-width: 400px) { .brand__name small { display: none; } }
@media (max-width: 374px) {
  .hdr__bar { gap: .5rem; }
  .brand { gap: .5rem; }
  .crest { width: 34px; }
  .brand__name { font-size: 17px; }
}
@media (max-width: 520px) { html.hdr-over { --hdr-over-h: 67px; } }
/* footer links on phones and touch tablets (QA 2026-11-09): 44px tap areas; inline contact links keep their line
   but get a taller invisible hit area */
@media (max-width: 1060px), (pointer: coarse) {
  .ft__col a { display: flex; align-items: center; min-height: 44px; padding-block: 0; }
  .ft address, .ft__copy { line-height: 2.4; }
  .ft address a, .ft__copy a { display: inline-block; padding-block: 10px; margin-block: -10px; }
}

