/* Bevel & Sloane footer v2 (2026-11-13). Values measured off Hamza's reference mock (1672px wide),
   expressed in --u = 1/1672 of the layout width so desktop matches the mock at any width. */
.bsf {
  --u: calc(min(100vw, 1672px) / 1672);
  --bsf-bg: #F9EFE5; --bsf-ink: #120B0C; --bsf-terra: #A8300C; --bsf-rule: #E8DFCF;
  --bsf-band: #4B1626; --bsf-cream: #FBEFF3; --bsf-muted: #4A4642;
  position: relative; z-index: 1; background: var(--bsf-bg); color: var(--bsf-ink);
  font-family: var(--g-sans); margin-top: -1px; overflow-x: clip;
}
.bsf::before { content: ""; position: absolute; left: 0; right: 0; top: -15px; height: 16px; z-index: 2; background: var(--bsf-bg);
  -webkit-mask: radial-gradient(circle at 23.75px 27.6px, #000 27.1px, transparent 27.6px) 0 0 / 47.5px 16px repeat-x;
  mask: radial-gradient(circle at 23.75px 27.6px, #000 27.1px, transparent 27.6px) 0 0 / 47.5px 16px repeat-x; }
.bsf a { color: inherit; text-decoration: none; transition: color 150ms ease-out, opacity 150ms ease-out; }
.bsf a:focus-visible, .bsf summary:focus-visible, .bsf button:focus-visible { outline: 2px solid var(--bsf-terra); outline-offset: 3px; border-radius: 4px; }
.bsf ul { list-style: none; margin: 0; padding: 0; }
.bsf h2 { margin: 0; }
.bsf-flora { position: absolute; top: calc(40 * var(--u)); right: 0; width: calc(372 * var(--u)); height: auto; color: #EEE3D3; z-index: 0; pointer-events: none; }
.bsf-wrap { position: relative; z-index: 1; max-width: 1672px; margin: 0 auto; padding: calc(140 * var(--u)) calc(54 * var(--u)) 0 calc(46 * var(--u)); }

/* top row */
.bsf-top { display: grid; grid-template-columns: calc(412 * var(--u)) calc(399 * var(--u)) calc(326 * var(--u)) 1fr; align-items: start; }
.bsf-top > * + * { border-left: 1px solid var(--bsf-rule); }
.bsf-brand { padding-top: 0; }
.bsf-logo { display: inline-block; }
.bsf-logo img { display: block; width: calc(364 * var(--u)); height: auto; }
.bsf-tag { margin: calc(46 * var(--u)) 0 0 calc(3 * var(--u)); max-width: calc(360 * var(--u)); font-size: calc(24.1 * var(--u)); line-height: calc(36 * var(--u)); color: var(--bsf-ink); }
.bsf-pill { display: inline-flex; align-items: center; gap: calc(14 * var(--u)); margin: calc(43 * var(--u)) 0 0 calc(4 * var(--u)); height: calc(55 * var(--u)); padding: 0 calc(24 * var(--u)); border: 1.5px solid var(--bsf-terra); border-radius: 999px;
  color: var(--bsf-terra); font-size: calc(16.3 * var(--u)); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; }
.bsf-pill svg { width: calc(24 * var(--u)); height: calc(24 * var(--u)); fill: currentColor; }
.bsf-nav { display: grid; grid-template-columns: calc(178 * var(--u)) 1fr; padding-left: calc(39 * var(--u)); margin-top: calc(-2 * var(--u)); min-height: calc(247 * var(--u)); align-self: stretch; }
.bsf-nav, .bsf-contact { border-left: 1px solid var(--bsf-rule); }
.bsf-nav { border-left-color: var(--bsf-rule); }
.bsf-nav .bsf-col { border: 0; }
.bsf-col h2 { color: var(--bsf-terra); font-family: var(--g-sans); font-size: calc(17.6 * var(--u)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1; }
.bsf-col ul { margin-top: calc(28 * var(--u)); display: grid; gap: calc(23 * var(--u)); }
.bsf-col li { font-size: calc(18.75 * var(--u)); line-height: calc(22 * var(--u)); }
.bsf-col a:hover { color: var(--bsf-terra); }
.bsf-contact { padding-left: calc(31 * var(--u)); align-self: stretch; }
.bsf-contact ul { gap: calc(25 * var(--u)); }
.bsf-contact li { display: flex; align-items: center; gap: calc(14 * var(--u)); }
.bsf-contact svg { flex: none; width: calc(26 * var(--u)); height: calc(26 * var(--u)); fill: var(--bsf-terra); }
.bsf-news { padding-left: calc(42 * var(--u)); align-self: stretch; }
.bsf-news-h { font-family: var(--g-ital); font-style: normal; font-weight: 400; text-transform: none; font-size: calc(52 * var(--u)); line-height: calc(41 * var(--u)); letter-spacing: -.01em; color: var(--bsf-ink); margin-top: calc(-6 * var(--u)) !important; }
.bsf-news-p { margin: calc(22 * var(--u)) 0 0; max-width: calc(320 * var(--u)); font-size: calc(18.7 * var(--u)); line-height: calc(26 * var(--u)); color: var(--bsf-muted); }
.bsf-form { display: flex; align-items: stretch; margin-top: calc(22 * var(--u)); max-width: calc(392 * var(--u)); height: calc(59 * var(--u)); border: 1.5px solid #2F2A28; border-radius: 999px; background: #FDFBF7; overflow: hidden; }
.bsf-form input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 0 0 calc(25 * var(--u)); font: inherit; font-size: calc(18.5 * var(--u)); color: var(--bsf-ink); }
.bsf-form input::placeholder { color: #6E6A66; }
.bsf-form input:focus { outline: none; }
.bsf-form:focus-within { box-shadow: 0 0 0 2px var(--bsf-bg), 0 0 0 4px var(--bsf-terra); }
.bsf-form button { display: inline-flex; align-items: center; gap: calc(9 * var(--u)); margin: -1px; padding: 0 calc(24 * var(--u)); border: 0; border-radius: 999px; background: var(--bsf-terra); color: #FBF3EC; font: inherit; font-size: calc(18.5 * var(--u)); cursor: pointer; transition: background 150ms ease-out; }
.bsf-form button svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.bsf-form button:hover { background: #8E2808; }
.bsf .news-msg { margin: 10px 0 0; font-size: 14px; color: var(--bsf-ink); }
.bsf .news-msg a { text-decoration: underline; }

/* directory (kept for internal links, collapsed by default) */
.bsf-dir { margin-top: calc(48 * var(--u)); font-size: 15px; }
.bsf-dir summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; color: var(--bsf-muted); }
.bsf-dir summary::-webkit-details-marker { display: none; }
.bsf-dir summary::after { content: "+"; font-size: 18px; line-height: 1; }
.bsf-dir[open] summary::after { content: "\2212"; }
.bsf-dir summary:hover { color: var(--bsf-terra); }
.bsf-dir .f-dir { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 12px 0 8px; }
.bsf-dir .f-col h2 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--bsf-terra); font-weight: 600; margin-bottom: 10px; }
.bsf-dir .f-col li { margin: 6px 0; font-size: 15px; }
.bsf-dir .f-col a:hover { color: var(--bsf-terra); }

/* giant wordmark */
.bsf-giant { margin: calc(21 * var(--u)) 0 0 calc(-13 * var(--u)); font-family: "Plus Jakarta Sans", var(--g-sans); font-weight: 800; letter-spacing: -.06em; line-height: .78; transform: scaleX(.92); transform-origin: 0 50%; white-space: nowrap; text-align: left;
  font-size: calc(277 * var(--u)); color: var(--bsf-terra); padding-bottom: calc(41 * var(--u)); pointer-events: none; user-select: none; }

/* band */
.bsf-band { position: relative; z-index: 1; background: var(--bsf-band); color: var(--bsf-cream); }
.bsf-band-in { max-width: 1672px; margin: 0 auto; height: calc(96 * var(--u)); padding: 0 calc(54 * var(--u)) 0 calc(59 * var(--u)); display: grid; grid-template-columns: calc(353 * var(--u)) 1fr auto; align-items: center; }
.bsf-credit { display: inline-flex; align-items: baseline; gap: calc(18 * var(--u)); min-height: 44px; font-size: calc(18 * var(--u)); color: var(--bsf-cream); }
.bsf-credit img { width: calc(168 * var(--u)); height: auto; position: relative; top: calc(7.1 * var(--u)); }
.bsf-credit:hover { opacity: .8; }
.bsf-legal-copy { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: calc(8 * var(--u)); padding: 0 calc(40 * var(--u)) 0 calc(68 * var(--u));
  border-left: 1px solid rgba(251,239,243,.42); border-right: 1px solid rgba(251,239,243,.42); margin: calc(21 * var(--u)) 0; min-height: calc(54 * var(--u)); }
.bsf-legal-copy p { margin: 0; font-size: calc(18.4 * var(--u)); line-height: 1.2; }
.bsf-legal-copy .bsf-disc { font-size: calc(15.5 * var(--u)); color: #DCB6C2; }
.bsf .bsf-legal { display: flex; gap: calc(44 * var(--u)); padding-left: calc(71 * var(--u)); }
.bsf-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: calc(17 * var(--u)); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; color: var(--bsf-cream); }
.bsf-legal a:hover { color: #F2B5B4; }

/* tablet and phone: same pieces, stacked, with real minimum sizes */
@media (max-width: 1099px) {
  .bsf { --u: 1px; }
  .bsf-flora { width: 240px; top: 30px; opacity: .8; }
  .bsf-wrap { padding: 64px 24px 0; }
  .bsf-top { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
  .bsf-top > * + *, .bsf-nav, .bsf-contact { border-left: 0; }
  .bsf-brand, .bsf-news { grid-column: 1 / -1; }
  .bsf-nav { padding-left: 0; min-height: 0; margin: 0; grid-column: 1 / 2; grid-template-columns: 1fr 1fr; gap: 24px; }
  .bsf-contact { padding-left: 0; }
  .bsf-news { padding-left: 0; }
  .bsf-logo img { width: 260px; }
  .bsf-tag { font-size: 20px; line-height: 27px; margin-top: 22px; }
  .bsf-pill { margin-top: 24px; height: 44px; font-size: 13px; padding: 0 18px; gap: 10px; }
  .bsf-pill svg { width: 16px; height: 16px; }
  .bsf-col h2 { font-size: 14px; }
  .bsf-col ul { margin-top: 18px; gap: 4px; }
  .bsf-col li { font-size: 17px; line-height: 22px; }
  .bsf-col li a, .bsf-contact li > a, .bsf-contact li > span { display: inline-flex; align-items: center; min-height: 40px; }
  .bsf-contact ul { gap: 4px; }
  .bsf-contact li { gap: 12px; }
  .bsf-contact svg { width: 18px; height: 18px; }
  .bsf-news-h { font-size: 34px; line-height: 34px; margin-top: 0 !important; }
  .bsf-news-p { font-size: 16px; line-height: 23px; margin-top: 12px; max-width: 420px; }
  .bsf-form { height: 54px; margin-top: 18px; max-width: 460px; }
  .bsf-form input, .bsf-form button { font-size: 16px; }
  .bsf-form input { padding-left: 20px; }
  .bsf-form button { padding: 0 20px; gap: 8px; }
  .bsf-form button svg { width: 16px; height: 16px; }
  .bsf-dir .f-dir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsf-giant { font-size: 16.4vw; margin-top: 18px; padding-bottom: 18px; }
  .bsf-band-in { height: auto; grid-template-columns: 1fr; padding: 18px 24px calc(18px + env(safe-area-inset-bottom)); gap: 10px; min-height: 0; }
  .bsf-credit { font-size: 15px; gap: 10px; order: 3; padding-top: 12px; border-top: 1px solid rgba(251,239,243,.25); }
  .bsf-credit img { width: 112px; top: 4.7px; }
  .bsf-legal-copy { order: 1; border: 0; margin: 0; padding: 0; gap: 6px; }
  .bsf-legal-copy p { font-size: 15px; line-height: 1.4; }
  .bsf-legal-copy .bsf-disc { font-size: 13px; }
  .bsf .bsf-legal { order: 2; padding: 0; gap: 22px; }
  .bsf-legal a { font-size: 15px; }
}
@media (max-width: 560px) {
  .bsf-top { grid-template-columns: 1fr; }
  .bsf-nav { grid-column: auto; }
  .bsf-flora { width: 180px; opacity: .6; }
}
@media (prefers-reduced-motion: reduce) { .bsf a, .bsf-form button { transition: none; } }

/* v2.1: a little more flora. Pale shapes, only in empty space, never behind text. */
.bsf-flora { color: #EADBC8; transform: scale(1.08); transform-origin: 100% 0; }
.bsf-petals { position: absolute; left: 0; top: 0; width: calc(1672 * var(--u)); height: calc(900 * var(--u)); z-index: 0; pointer-events: none; }
@media (max-width: 1099px) { .bsf-petals { display: none; } .bsf-flora { transform: none; } }
/* inner-page styles leak into the footer: pin type */
.bsf .bsf-form button, .bsf .bsf-form input { text-transform: none !important; letter-spacing: 0 !important; font-family: var(--g-sans) !important; }
.bsf .bsf-band p, .bsf .bsf-wrap p { max-width: none; }
.bsf .bsf-tag { max-width: calc(360 * var(--u)); }
.bsf .bsf-news-p { max-width: calc(320 * var(--u)); }
@media (max-width: 1099px) { .bsf .bsf-news-p { max-width: 420px; } .bsf .bsf-tag { max-width: none; } }

/* v2.2: flora visible at every width, a step darker */
.bsf .bsf-petals path:not(:only-child), .bsf .bsf-petals > path { fill: #E3CFB8; }
.bsf .bsf-petals g { fill: #E6D4BF; }
.bsf-flora { color: #E6D4BF; }
