/**
 * Component styles - Phase 3 FINAL visual port (real assets + desktop nav).
 * Visual SoT: Borsite_Homepage_FINAL.html. Colors via semantic tokens.
 */

/* --- Skip link --- */
.borsite-skip-link {
  position: absolute;
  left: var(--borsite-s-skip-link-left);
  top: auto;
  z-index: 10000;
}

.borsite-skip-link:focus {
  left: var(--borsite-space-4);
  top: var(--borsite-space-4);
  padding: var(--borsite-space-2) var(--borsite-space-4);
  background: var(--borsite-color-bg-elevated);
  color: var(--borsite-color-text);
  outline: var(--borsite-s-skip-link-ol);
}

/* --- Layout wrap --- */
.borsite-wrap {
  width: var(--borsite-s-wrap-w);
  margin-inline: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* --- Sticky header (homepage FINAL) --- */
.borsite-site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  transition: box-shadow var(--borsite-duration-base) ease,
    background var(--borsite-duration-base) ease;
  backdrop-filter: var(--borsite-s-site-header-backdrop);
  -webkit-backdrop-filter: var(--borsite-s-site-header-webkitba);
  background: color-mix(in srgb, var(--borsite-color-bg) 82%, transparent);
  border-bottom: var(--borsite-s-site-header-bdb);
  padding: 0;
}

.borsite-header-inner {
  height: var(--borsite-s-header-inner-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--borsite-space-6);
  transition: height 0.28s ease;
}

html.scrolled .borsite-site-header {
  box-shadow: var(--borsite-s-site-header-shadow);
}

html.scrolled .borsite-header-inner {
  height: var(--borsite-s-header-inner-h-2);
}

.borsite-brand-block {
  display: flex;
  align-items: center;
  gap: var(--borsite-space-3);
  margin: 0;
  justify-self: start;
}

.borsite-brand {
  font-family: var(--borsite-font-ui); /* Commissioner - logo-like ALL CAPS */
  font-weight: var(--borsite-weight-brand); /* 600-700 range; face ships 600 */
  font-size: var(--borsite-s-brand-fs); /* smaller + caps = logo mark (~17px) */
  letter-spacing: var(--borsite-tracking-brand); /* open 0.08-0.12em for caps logo */
  text-transform: uppercase;
  margin: 0;
  line-height: 1;
  transition: transform 0.28s ease;
}

html.scrolled .borsite-brand {
  transform: scale(0.94);
  transform-origin: left center;
}

.borsite-brand a {
  color: var(--borsite-color-text);
  text-decoration: none;
}

/* Tagline removed from header (Pavel 2026-09-12); keep rule inert if markup returns */
.borsite-tagline {
  display: none !important;
}

.borsite-header-actions {
  display: flex;
  gap: var(--borsite-s-header-actions-gap);
  align-items: center;
  justify-self: end;
  min-width: 0;
}

/* Desktop utilities L->R: search field + submit, language, theme */
.borsite-header-search {
  display: flex;
  align-items: center;
  position: relative;
  margin: 0;
}

.borsite-header-search input[type="search"] {
  width: var(--borsite-s-header-search-w); /* LOCKED 18.10.2026: 220 / 259 / 320px at 1280 / 1440 / 1920 */
  height: var(--borsite-s-header-search-h); /* 38px; lost in the token extraction, restored 18.10.2026 */
  box-sizing: border-box;
  border: var(--borsite-s-header-search-bd);
  border-radius: var(--borsite-radius-pill);
  padding: var(--borsite-s-header-search-p);
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 72%, transparent);
  color: var(--borsite-color-text);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-header-search-fs); /* 13px */
  font-weight: 500;
  letter-spacing: 0.01em;
  outline: none;
  transition: width 0.2s ease, opacity 0.2s ease, padding 0.2s ease, border-color 0.2s ease;
}

.borsite-header-search input[type="search"]::placeholder {
  color: var(--borsite-color-text-muted);
}

.borsite-header-search input[type="search"]:focus {
  border-color: color-mix(in srgb, var(--borsite-primitive-teal) 48%, transparent);
  box-shadow: var(--borsite-s-header-search-shadow);
}

.borsite-header-search__submit {
  position: absolute;
  right: var(--borsite-s-header-search-submit-right);
  top: 50%;
  transform: translateY(-50%);
  width: var(--borsite-s-header-search-submit-w);
  height: var(--borsite-s-header-search-submit-h);
  padding: 0;
  border: 0;
  border-radius: var(--borsite-radius-pill);
  background: transparent;
  color: var(--borsite-color-text-muted);
  cursor: pointer;
  display: grid;
  place-items: center;
}

.borsite-header-search__submit:focus-visible {
  outline: var(--borsite-s-header-search-submit-ol);
  outline-offset: var(--borsite-s-header-search-submit-olo);
}

.borsite-header-search__submit .borsite-icon {
  width: var(--borsite-s-icon-w); /* ~17px */
  height: var(--borsite-s-icon-h);
}

/* Header utilities L->R: search, language, theme. LOCKED 18.10.2026 (Borsite_Header_Final_Proposal.html) */
/* Language: one link to the translation, globe + EN (on EN pages globe + БГ). lang/hreflang on the link. */
.borsite-header-lang,
.borsite-drawer__lang {
  position: relative;
  align-items: center;
  gap: var(--borsite-s-drawer-lang-gap);
  height: var(--borsite-s-drawer-lang-h); /* 36px */
  padding: 0 var(--borsite-space-2);
  border-radius: var(--borsite-radius-pill);
  color: var(--borsite-color-text-muted);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-drawer-lang-fs);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.borsite-header-lang::before,
.borsite-drawer__lang::before {
  content: "";
  position: absolute;
  inset: var(--borsite-s-drawer-lang-inset); /* 44px hit area, no visual change */
}

.borsite-header-lang .borsite-icon,
.borsite-drawer__lang .borsite-icon {
  width: var(--borsite-s-icon-w); /* 17px */
  height: var(--borsite-s-icon-h);
}

a.borsite-header-lang:hover,
a.borsite-header-lang:focus-visible,
a.borsite-drawer__lang:hover,
a.borsite-drawer__lang:focus-visible {
  color: var(--borsite-color-text);
  background: color-mix(in srgb, var(--borsite-color-text) 10%, transparent);
}

.borsite-header-lang:focus-visible,
.borsite-drawer__lang:focus-visible {
  outline: var(--borsite-s-drawer-lang-ol);
  outline-offset: var(--borsite-s-drawer-lang-olo);
}

/* Theme (desktop): one 36px borderless icon = current state. Click cycles auto -> light -> dark -> auto. */
.borsite-theme-cycle {
  position: relative;
  flex: none;
}

.borsite-theme-cycle__btn {
  position: relative;
  width: var(--borsite-s-theme-cycle-btn-w); /* 36px */
  height: var(--borsite-s-theme-cycle-btn-h);
  padding: 0;
  border: 0;
  border-radius: var(--borsite-radius-pill);
  background: transparent;
  color: var(--borsite-color-text-muted);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.borsite-theme-cycle__btn::before {
  content: "";
  position: absolute;
  inset: var(--borsite-s-theme-cycle-btn-inset); /* 44px hit area */
  border-radius: var(--borsite-radius-pill);
}

.borsite-theme-cycle__btn:hover,
.borsite-theme-cycle__btn:focus-visible {
  color: var(--borsite-color-text);
  background: color-mix(in srgb, var(--borsite-color-text) 10%, transparent);
}

.borsite-theme-cycle__btn:focus-visible {
  outline: var(--borsite-s-theme-cycle-btn-ol);
  outline-offset: var(--borsite-s-theme-cycle-btn-olo);
}

.borsite-theme-icon {
  display: none;
  place-items: center;
}

.borsite-theme-icon .borsite-icon,
.borsite-theme-pick__opt .borsite-icon {
  width: var(--borsite-s-icon-w-2); /* 18px */
  height: var(--borsite-s-icon-h-2);
}

/* html[data-theme-pref] is set before paint; no attribute = auto */
html:not([data-theme-pref]) .borsite-theme-icon--auto,
html[data-theme-pref="auto"] .borsite-theme-icon--auto,
html[data-theme-pref="light"] .borsite-theme-icon--light,
html[data-theme-pref="dark"] .borsite-theme-icon--dark {
  display: grid;
}

.borsite-theme-cycle__btn.is-switching .borsite-theme-icon {
  animation: borsite-theme-icon-in 220ms cubic-bezier(0.2, 0.7, 0.3, 1);
}

@keyframes borsite-theme-icon-in {
  from { opacity: 0; transform: rotate(-60deg) scale(0.8); }
  to { opacity: 1; transform: none; }
}

/* One tooltip on hover/focus: current state and next state */
.borsite-theme-cycle__tip {
  position: absolute;
  top: var(--borsite-s-theme-cycle-tip-top);
  right: 0;
  white-space: nowrap;
  background: var(--borsite-color-text);
  color: var(--borsite-color-bg);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-theme-cycle-tip-fs);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  padding: var(--borsite-s-theme-cycle-tip-p);
  border-radius: var(--borsite-s-theme-cycle-tip-r);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: var(--borsite-s-theme-cycle-tip-tf);
  transition: opacity 120ms ease, transform 120ms ease, visibility 0s linear 120ms;
  z-index: 95;
}

.borsite-theme-cycle__btn:hover + .borsite-theme-cycle__tip,
.borsite-theme-cycle__btn:focus-visible + .borsite-theme-cycle__tip,
.borsite-theme-cycle.is-tip-visible .borsite-theme-cycle__tip {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 120ms ease, transform 120ms ease, visibility 0s;
}

/* Theme (drawer): tight pill of 3 icons, 18px glyphs, 44px invisible tap targets, no labels */
.borsite-theme-pick {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding: var(--borsite-s-theme-pick-p);
  border-radius: var(--borsite-radius-pill);
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 80%, transparent);
  box-shadow: var(--borsite-s-theme-pick-shadow);
}

.borsite-theme-pick__opt {
  position: relative;
  width: var(--borsite-s-theme-pick-opt-w); /* 34px visible */
  height: var(--borsite-s-theme-pick-opt-h); /* 30px visible */
  padding: 0;
  border: 0;
  border-radius: var(--borsite-radius-pill);
  background: transparent;
  color: var(--borsite-color-text-muted);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.borsite-theme-pick__opt::before {
  content: "";
  position: absolute;
  inset: var(--borsite-s-theme-pick-opt-inset); /* 44 x 44 tap target */
}

.borsite-theme-pick__opt[aria-checked="true"] {
  color: var(--borsite-color-text);
  background: color-mix(in srgb, var(--borsite-color-text) 10%, transparent);
  box-shadow: var(--borsite-s-theme-pick-opt-shadow);
}

.borsite-theme-pick__opt:focus-visible {
  outline: var(--borsite-s-theme-pick-opt-ol);
  outline-offset: var(--borsite-s-theme-pick-opt-olo);
}

@media (prefers-reduced-motion: reduce) {
  .borsite-theme-cycle__btn.is-switching .borsite-theme-icon { animation: none; }
  .borsite-theme-cycle__tip,
  .borsite-theme-cycle__btn,
  .borsite-theme-pick__opt,
  .borsite-header-lang,
  .borsite-drawer__lang { transition: none; }
}

.borsite-header-theme,
.borsite-header-lang {
  display: none;
}

/* Mobile / narrow: search collapses to icon; expands on focus or .is-open */
@media (max-width: 1023px) {
  .borsite-header-search:not(:focus-within):not(.is-open) input[type="search"] {
    width: var(--borsite-s-header-search-w-2);
    padding: 0;
    opacity: 0;
    pointer-events: none;
    border-color: var(--borsite-color-border);
  }

  .borsite-header-search:not(:focus-within):not(.is-open) .borsite-header-search__submit {
    position: static;
    transform: none;
    width: var(--borsite-s-header-search-submit-w-2);
    height: var(--borsite-s-header-search-submit-h-2);
    border: var(--borsite-s-header-search-submit-bd);
    background: color-mix(in srgb, var(--borsite-color-bg-elevated) 66%, transparent);
    box-shadow: var(--borsite-shadow-soft);
  }
}

.borsite-icon-btn {
  width: var(--borsite-s-icon-btn-w);
  height: var(--borsite-s-icon-btn-h);
  padding: 0;
  border-radius: var(--borsite-radius-pill);
  border: var(--borsite-s-icon-btn-bd);
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 66%, transparent);
  backdrop-filter: var(--borsite-s-icon-btn-backdrop);
  color: var(--borsite-color-text);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform var(--borsite-duration-base) ease,
    border-color var(--borsite-duration-base) ease,
    background-color var(--borsite-duration-base) ease;
  box-shadow: var(--borsite-shadow-soft);
}

.borsite-icon-btn:hover {
  transform: var(--borsite-s-icon-btn-tf);
  border-color: color-mix(in srgb, var(--borsite-primitive-teal) 30%, transparent);
}

.borsite-icon-btn:focus-visible {
  outline: var(--borsite-s-icon-btn-ol);
  outline-offset: var(--borsite-s-icon-btn-olo);
}

/* Lucide local SVG icons (assets/icons/) - currentColor, no CDN */
.borsite-icon {
  display: block;
  flex-shrink: 0;
  width: var(--borsite-s-icon-w-3);
  height: var(--borsite-s-icon-h-3);
  pointer-events: none;
}

.borsite-icon-btn .borsite-icon {
  width: var(--borsite-s-icon-w-3);
  height: var(--borsite-s-icon-h-3);
}

/* Primary nav: desktop top bar (≥1024px); mobile uses drawer. Topics stay in drawer. */
.borsite-nav--header {
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--borsite-s-nav--header-gap);
  justify-self: center;
  min-width: 0;
}

.borsite-nav--header a {
  position: relative;
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-nav--header-fs); /* ~14px */
  font-weight: var(--borsite-weight-ui); /* 500 - calm, readable */
  letter-spacing: var(--borsite-tracking-ui);
  color: var(--borsite-color-text-muted);
  text-decoration: none;
  white-space: nowrap;
  padding: var(--borsite-s-nav--header-p);
  transition: color var(--borsite-duration-base) ease;
}

/* FINAL-style single gold underline - hover + current */
.borsite-nav--header a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: var(--borsite-s-nav--header-h);
  background: var(--borsite-color-accent); /* brass/gold */
  transition: right 0.25s var(--borsite-ease-standard);
}

.borsite-nav--header a:hover::after,
.borsite-nav--header a:focus-visible::after,
.borsite-nav--header a.is-active::after,
.borsite-nav--header a[aria-current="page"]::after {
  right: 0;
}

.borsite-nav--header a:hover,
.borsite-nav--header a:focus-visible,
.borsite-nav--header a.is-active,
.borsite-nav--header a[aria-current="page"] {
  color: var(--borsite-color-text);
}

.borsite-nav--header a:focus-visible {
  outline: var(--borsite-s-nav--header-ol);
  outline-offset: var(--borsite-s-nav--header-olo);
}

.borsite-topic-strip {
  display: none;
}

@media (min-width: 1024px) {
  .borsite-nav--header {
    display: flex;
  }

  .borsite-header-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* brand left | nav center | actions right */
    align-items: center;
    gap: var(--borsite-space-6);
  }

  /* Desktop: search field + theme + lang; hamburger/drawer for mobile + topics */
  .borsite-drawer-open {
    display: none !important;
  }

  .borsite-header-theme {
    display: inline-flex;
  }

  .borsite-header-lang {
    display: inline-flex;
  }
}

/* --- Drawer --- */
.borsite-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: var(--borsite-drawer-width);
  height: 100dvh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: var(--borsite-s-drawer-p);
  overflow: auto;
  transform: translateX(104%);
  transition: var(--borsite-motion-drawer);
  background:
    radial-gradient(circle at 80% 5%, color-mix(in srgb, var(--borsite-primitive-sage) 16%, transparent), transparent 30%),
    linear-gradient(145deg, var(--borsite-color-bg-elevated), var(--borsite-color-bg));
  border-left: var(--borsite-s-drawer-bdl);
  box-shadow: var(--borsite-shadow-drawer);
  color: var(--borsite-color-text);
  z-index: 90;
}

.borsite-drawer[data-open="true"] {
  transform: translateX(0);
}

.borsite-drawer__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--borsite-space-5);
  padding-bottom: var(--borsite-space-5);
  margin-bottom: var(--borsite-space-2);
  border-bottom: var(--borsite-s-drawer-head-bdb);
}

.borsite-drawer__kicker {
  display: block;
  font-family: var(--borsite-font-ui); /* quieter than site header wordmark */
  font-size: var(--borsite-s-drawer-kicker-fs); /* ~17px - does not compete with header 22px */
  font-weight: var(--borsite-weight-ui); /* 500 */
  letter-spacing: var(--borsite-tracking-brand);
  line-height: 1;
  color: var(--borsite-color-text-muted);
}

.borsite-drawer__sub {
  display: block;
  margin-top: var(--borsite-space-1);
  color: var(--borsite-color-text-muted);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-drawer-sub-fs);
  font-weight: var(--borsite-weight-ui);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.85;
}

.borsite-drawer__close {
  flex: 0 0 auto;
  width: var(--borsite-s-drawer-close-w); /* 44px touch */
  height: var(--borsite-s-drawer-close-h);
  padding: 0;
  border: var(--borsite-s-drawer-close-bd);
  border-radius: 50%;
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 66%, transparent);
  color: var(--borsite-color-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  cursor: pointer;
}

.borsite-drawer__close .borsite-icon--close {
  width: var(--borsite-s-icon--close-w); /* 18px in 44px hit */
  height: var(--borsite-s-icon--close-h);
  display: block;
  /* Lucide X optical nudge - stroke feels high-left when purely geometric */
  transform: var(--borsite-s-icon--close-tf);
}

.borsite-drawer__close:focus-visible {
  outline: var(--borsite-s-drawer-close-ol);
  outline-offset: var(--borsite-s-drawer-close-olo);
}

.borsite-drawer__nav {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.borsite-drawer__nav a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--borsite-s-drawer-nav-minh);
  border-bottom: var(--borsite-s-drawer-nav-bdb);
  font-family: var(--borsite-font-display);
  font-size: var(--borsite-s-drawer-nav-fs); /* calmer than prior 1.625rem */
  font-weight: var(--borsite-weight-display);
  line-height: 1.15;
  letter-spacing: -0.012em;
  color: var(--borsite-color-text);
  text-decoration: none;
}

/* Single underline (FINAL) - hover + current; no trailing dot */
.borsite-drawer__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: var(--borsite-s-drawer-nav-h);
  background: var(--borsite-color-accent);
  transition: right 0.25s var(--borsite-ease-standard);
  /* sit above the hairline border */
  z-index: 1;
}

.borsite-drawer__nav a:hover::after,
.borsite-drawer__nav a:focus-visible::after,
.borsite-drawer__nav a.is-active::after,
.borsite-drawer__nav a[aria-current="page"]::after {
  right: 0;
}

.borsite-drawer__nav a:hover,
.borsite-drawer__nav a:focus-visible,
.borsite-drawer__nav a.is-active,
.borsite-drawer__nav a[aria-current="page"] {
  color: var(--borsite-color-accent);
}

.borsite-drawer__divider {
  height: var(--borsite-s-drawer-divider-h);
  margin: var(--borsite-s-drawer-divider-m);
  background: var(--borsite-color-border);
}

.borsite-drawer__label {
  color: var(--borsite-color-kicker); /* LOCKED light #927d5a */
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-drawer-label-fs);
  font-weight: var(--borsite-weight-label); /* 500 */
  text-transform: uppercase;
  letter-spacing: var(--borsite-tracking-label);
  margin-bottom: var(--borsite-space-3);
}

.borsite-drawer__topics {
  display: flex;
  flex-wrap: wrap;
  gap: var(--borsite-space-2);
}

.borsite-drawer__topics a {
  padding: var(--borsite-s-drawer-topics-p);
  border: var(--borsite-s-drawer-topics-bd);
  border-radius: var(--borsite-radius-pill);
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 66%, transparent);
  color: var(--borsite-color-text);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-drawer-topics-fs);
  font-weight: var(--borsite-weight-ui);
  letter-spacing: 0.01em;
  text-decoration: none;
}

.borsite-drawer__topics a:hover,
.borsite-drawer__topics a:focus-visible {
  color: var(--borsite-color-accent);
  border-color: var(--borsite-color-accent);
}

/* Utility row at TOP of drawer. LOCKED 18.10.2026: globe + EN left, 3-icon theme pill right, no labels */
.borsite-drawer__utils,
.borsite-drawer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--borsite-space-4);
  min-height: var(--borsite-s-drawer-footer-minh); /* 56px row */
  margin: var(--borsite-space-2) 0 var(--borsite-space-3);
  padding: var(--borsite-s-drawer-footer-p);
  border-bottom: var(--borsite-s-drawer-footer-bdb);
}

.borsite-drawer__lang {
  display: inline-flex;
  margin-left: var(--borsite-s-drawer-lang-marginle); /* globe aligns with the nav text edge */
}

.borsite-drawer__utils .borsite-theme-pick {
  margin-right: 0;
}

.borsite-drawer__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--borsite-primitive-deep) 28%, transparent);
  backdrop-filter: var(--borsite-s-drawer-backdrop-backdrop);
  -webkit-backdrop-filter: var(--borsite-s-drawer-backdrop-webkitba);
  z-index: 89;
  opacity: 0;
  transition: opacity 0.28s ease;
}

.borsite-drawer__backdrop[data-open="true"] {
  display: block;
  opacity: 1;
}

body.borsite-drawer-open {
  overflow: hidden;
}

/* --- Typography helpers --- */
.borsite-kicker {
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-kicker-fs); /* ~9px - smaller than buttons; not button recipe */
  text-transform: uppercase;
  letter-spacing: var(--borsite-tracking-label); /* open caps */
  font-weight: var(--borsite-weight-label); /* 500 - thinner than buttons 600 */
  color: var(--borsite-color-kicker); /* LOCKED light #927d5a */
  margin-bottom: var(--borsite-space-4);
}

/* All-caps on photo / hero / on-image: ONLY near-white --kicker-on-dark */
.borsite-hero-content .borsite-kicker,
.borsite-feature-copy .borsite-kicker,
.borsite-card-media .borsite-kicker {
  color: var(--borsite-color-kicker-on-dark);
}

.borsite-label {
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-label-fs);
  text-transform: uppercase;
  letter-spacing: var(--borsite-tracking-label);
  font-weight: var(--borsite-weight-label); /* 500 */
  color: var(--borsite-color-kicker); /* LOCKED light #927d5a */
  margin-bottom: var(--borsite-s-label-marginbo);
}

.borsite-meta {
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-meta-fs); /* ~11px - secondary to 10px caps topic */
  color: var(--borsite-color-text-muted);
  margin-top: var(--borsite-space-3);
  text-transform: none; /* sentence / normal case - do NOT compete with topic kicker */
  letter-spacing: 0.01em;
  font-weight: var(--borsite-weight-meta, 500);
}

.borsite-inline-accent {
  font-family: var(--borsite-font-display-accent);
  font-style: italic;
  font-weight: 400;
  font-size: var(--borsite-accent-optical-size, 1.12em); /* optical: italic reads equal/larger than roman */
  color: var(--borsite-color-title-accent); /* #927d5a - locked gold, not inherit */
  letter-spacing: var(--borsite-tracking-accent, 0.01em); /* opener than headline -0.045em - less cramped */
  padding-inline: 0.08em; /* P0: keep italic from colliding with adjacent roman (SpaceX / IPO) */
  margin-inline: 0.02em;
}

.borsite-title-accent {
  font-family: var(--borsite-font-display-accent);
  font-style: italic;
  font-weight: 400;
  font-size: var(--borsite-accent-optical-size, 1.12em); /* optical: italic reads equal/larger than roman */
  color: var(--borsite-color-title-accent); /* #927d5a - P0: never inherit white from hero */
  letter-spacing: var(--borsite-tracking-accent, 0.01em); /* opener than headline - less cramped */
  padding-inline: 0.08em; /* P0: keep italic from colliding with adjacent roman (SpaceX / IPO) */
  margin-inline: 0.02em;
}

/* On-dark / photo surfaces: lighter gold - never inherit white from hero */
.borsite-hero-content .borsite-title-accent,
.borsite-feature-copy .borsite-title-accent,
.borsite-hero-content .borsite-inline-accent {
  color: var(--borsite-color-title-accent-on-dark); /* #c5b58f */
}

h1,
h2,
h3,
.borsite-hero-card h1,
.borsite-section-head h2,
.borsite-feature-copy h2,
.borsite-promo-copy h2,
.borsite-newsletter h3 {
  font-family: var(--borsite-font-display);
  font-weight: var(--borsite-weight-display);
  margin: 0;
  letter-spacing: var(--borsite-tracking-display, -0.02em); /* large serif: slight negative, not -0.045 crush */
  text-wrap: balance;
}

/* Card / mini titles → Source Serif display (LOCKED editorial hierarchy) */
.borsite-card h3,
.borsite-mini-copy h3 {
  font-family: var(--borsite-font-display);
  font-weight: var(--borsite-weight-display);
  margin: 0;
  letter-spacing: var(--borsite-tracking-display, -0.02em);
  text-wrap: balance;
}

/* --- Buttons --- */
/* A core/button with className borsite-btn--primary is the same DS button: borsite-core moves the
   classes to the link; if the classes stay on the wrapper (seen on staging, About, 18.10.2026)
   the wrapper is not painted and the link gets the component (no square box, pill radius). */
.borsite-btn,
.wp-block-button.borsite-btn--primary > .wp-block-button__link {
  border: none;
  border-radius: var(--borsite-radius-pill);
  padding: var(--borsite-s-btn-p);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-btn-fs);
  font-weight: var(--borsite-weight-ui-strong); /* 600 max - not 700+ */
  letter-spacing: var(--borsite-tracking-btn);
  cursor: pointer;
  transition: transform var(--borsite-duration-base) ease,
    box-shadow var(--borsite-duration-base) ease,
    background-color var(--borsite-duration-base) ease;
  display: inline-flex;
  align-items: center;
  gap: var(--borsite-s-btn-gap);
  text-decoration: none;
}

.borsite-btn:focus-visible,
.wp-block-button.borsite-btn--primary > .wp-block-button__link:focus-visible {
  outline: var(--borsite-s-btn-ol);
  outline-offset: var(--borsite-s-btn-olo);
}

.borsite-btn--primary:not(.wp-block-button),
.wp-block-button.borsite-btn--primary > .wp-block-button__link {
  color: var(--borsite-c-white);
  background: linear-gradient(105deg, var(--borsite-c-btn--primary-bg) 0%, var(--borsite-c-btn--primary-bg-2) 52%, var(--borsite-c-btn--primary-bg-3) 100%);
  box-shadow: var(--borsite-s-btn--primary-shadow);
}

.borsite-btn--primary:not(.wp-block-button):hover,
.wp-block-button.borsite-btn--primary > .wp-block-button__link:hover {
  transform: var(--borsite-s-btn--primary-tf);
}

.borsite-btn--ghost {
  background: color-mix(in srgb, var(--borsite-c-white) 9%, transparent);
  border: var(--borsite-s-btn--ghost-bd);
  color: var(--borsite-c-white);
  backdrop-filter: var(--borsite-s-btn--ghost-backdrop);
}

.borsite-btn--ghost:hover {
  background: color-mix(in srgb, var(--borsite-c-white) 14%, transparent);
  transform: var(--borsite-s-btn--ghost-tf);
}

html[data-theme="dark"] .borsite-btn--primary:not(.wp-block-button),
html[data-theme="dark"] .wp-block-button.borsite-btn--primary > .wp-block-button__link {
  color: var(--borsite-c-white-dark);
  background: linear-gradient(105deg, var(--borsite-c-btn--primary-bg-dark), var(--borsite-c-btn--primary-bg-dark-2) 55%, var(--borsite-c-btn--primary-bg-dark-3));
  box-shadow: var(--borsite-s-btn--primary-shadow-2);
}

.borsite-cta-row {
  display: flex;
  gap: var(--borsite-space-3);
  align-items: center;
  flex-wrap: wrap;
}

.borsite-read {
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-read-fs);
  font-weight: var(--borsite-weight-ui-strong);
  letter-spacing: var(--borsite-tracking-btn);
  color: var(--borsite-color-text);
  transition: transform 0.22s ease;
  display: inline-block;
}

.borsite-read:hover {
  transform: var(--borsite-s-read-tf);
  color: var(--borsite-color-accent);
}

/* --- Hero --- */
.borsite-hero {
  padding: var(--borsite-s-hero-p);
}

.borsite-hero-card {
  position: relative;
  overflow: hidden;
  border: var(--borsite-s-hero-card-bd);
  border-radius: var(--borsite-radius-xl);
  min-height: var(--borsite-s-hero-card-minh);
  box-shadow: var(--borsite-shadow);
  background: linear-gradient(140deg, var(--borsite-c-hero-card-bg), var(--borsite-c-hero-card-bg-2));
}

.borsite-hero-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translateY(var(--hero-shift, 0));
  transition: transform 0.1s linear;
}

.borsite-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 15% 50%, var(--borsite-c-hero-card-bg-3) 0%, var(--borsite-c-hero-card-bg-4) 26%, var(--borsite-c-hero-card-bg-5) 48%, var(--borsite-c-hero-card-bg-6) 69%, transparent 86%),
    linear-gradient(180deg, var(--borsite-c-hero-card-bg-7), var(--borsite-c-hero-card-bg-8));
  pointer-events: none;
}

.borsite-hero-content {
  position: relative;
  z-index: 2;
  color: var(--borsite-color-kicker-on-dark);
  width: var(--borsite-s-hero-content-w);
  min-height: var(--borsite-s-hero-content-minh);
  padding: var(--borsite-s-hero-content-p);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.borsite-hero-content h1 {
  --borsite-hero-title-size: var(--borsite-s-hero-content-fs);
  line-height: 0.94;
  max-width: 9ch;
  color: var(--borsite-color-kicker-on-dark);
}

.borsite-hero-content p {
  font-family: var(--borsite-font-display);
  font-size: var(--borsite-s-hero-content-fs-2);
  line-height: 1.55;
  color: var(--borsite-color-hero-body);
  max-width: 34em;
  margin: var(--borsite-space-6) 0;
}

/* --- Sections --- */
.borsite-section {
  padding: var(--borsite-s-section-p);
}

.borsite-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: var(--borsite-space-6);
  margin-bottom: var(--borsite-s-section-head-marginbo);
}

.borsite-section-head h2 {
  font-size: var(--borsite-s-section-head-fs);
  line-height: 0.98;
  color: var(--borsite-color-text);
}

.borsite-section-head p {
  margin: 0;
  color: var(--borsite-color-text-muted);
  max-width: var(--borsite-s-section-head-maxw);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-section-head-fs-2);
}

/* --- Story cards (exactly 3) --- */
.borsite-story-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--borsite-space-4);
}

.borsite-card {
  position: relative;
  overflow: hidden;
  border: var(--borsite-s-card-bd);
  border-radius: var(--borsite-radius-lg);
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--borsite-color-bg-elevated) 78%, transparent),
    color-mix(in srgb, var(--borsite-primitive-sage) 52%, transparent)
  );
  backdrop-filter: var(--borsite-s-card-backdrop);
  box-shadow: var(--borsite-s-card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  color: inherit;
  min-height: 100%;
}

.borsite-card:hover {
  transform: var(--borsite-s-card-tf);
  box-shadow: var(--borsite-shadow);
  border-color: color-mix(in srgb, var(--borsite-primitive-teal) 22%, transparent);
}

.borsite-card:nth-child(2n) {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--borsite-color-bg-elevated) 78%, transparent),
    color-mix(in srgb, var(--borsite-c-card-bg) 54%, transparent)
  );
}

.borsite-card:nth-child(3n) {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--borsite-color-bg-elevated) 78%, transparent),
    color-mix(in srgb, var(--borsite-c-card-bg-2) 52%, transparent)
  );
}

.borsite-card-media {
  aspect-ratio: 16 / 10;
  width: 100%;
  min-height: 0;
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
}

.borsite-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.45s ease;
}

.borsite-card:hover .borsite-card-media img {
  transform: scale(1.035);
}

.borsite-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, color-mix(in srgb, var(--borsite-primitive-teal) 10%, transparent));
  pointer-events: none;
}

.borsite-card-body {
  padding: var(--borsite-s-card-body-p);
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: var(--borsite-s-card-body-minh); /* kicker + title≤3 lines + meta align across row */
}

.borsite-card-body .borsite-kicker {
  margin-bottom: var(--borsite-space-2);
}

.borsite-card h3 {
  font-size: var(--borsite-s-card-fs); /* editorial card titles - Source Serif display */
  line-height: 1.2;
  color: var(--borsite-color-text);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  /* consistent start baseline under kicker */
}

.borsite-card-body .borsite-meta {
  margin-top: auto;
  padding-top: var(--borsite-space-4); /* more air between title and meta/date */
}

/* --- Featured / archive --- */
.borsite-feature-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: var(--borsite-s-feature-grid-gap);
}

.borsite-feature-large {
  position: relative;
  min-height: var(--borsite-s-feature-large-minh);
  border-radius: var(--borsite-radius-xl);
  overflow: hidden;
  border: var(--borsite-s-feature-large-bd);
  box-shadow: var(--borsite-shadow);
  display: block;
  color: inherit;
}

.borsite-feature-large img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.borsite-feature-large::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, var(--borsite-c-feature-large-bg) 100%);
  pointer-events: none;
}

.borsite-feature-copy {
  position: absolute;
  z-index: 2;
  left: var(--borsite-s-feature-copy-left);
  right: var(--borsite-s-feature-copy-right);
  bottom: var(--borsite-s-feature-copy-bottom);
  color: var(--borsite-c-white);
}

.borsite-feature-copy h2 {
  font-size: var(--borsite-s-feature-copy-fs);
  max-width: 15ch;
  color: var(--borsite-c-white);
}

.borsite-feature-copy p {
  color: var(--borsite-color-hero-body);
  max-width: 54ch;
  margin: var(--borsite-space-3) 0 0;
  font-family: var(--borsite-font-ui);
}

.borsite-side-stack {
  display: grid;
  gap: var(--borsite-space-4);
}

.borsite-mini-card {
  display: grid;
  grid-template-columns: var(--borsite-s-mini-card-cols);
  min-height: var(--borsite-s-mini-card-minh);
  border-radius: var(--borsite-radius-lg);
  overflow: hidden;
  border: var(--borsite-s-mini-card-bd);
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--borsite-color-bg-elevated) 76%, transparent),
    color-mix(in srgb, var(--borsite-primitive-sage) 50%, transparent)
  );
  backdrop-filter: var(--borsite-s-mini-card-backdrop);
  box-shadow: var(--borsite-s-mini-card-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  color: inherit;
}

.borsite-mini-card:hover {
  transform: var(--borsite-s-mini-card-tf);
  box-shadow: var(--borsite-shadow);
}

.borsite-mini-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.borsite-mini-copy {
  padding: var(--borsite-space-4);
}

.borsite-mini-copy .borsite-kicker {
  margin-bottom: var(--borsite-s-kicker-marginbo);
}

.borsite-mini-copy h3 {
  font-size: var(--borsite-s-mini-copy-fs);
  line-height: 1.2;
  color: var(--borsite-color-text);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* --- Promo: podcast + book --- */
.borsite-promo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--borsite-s-promo-grid-gap);
}

.borsite-promo {
  position: relative;
  overflow: hidden;
  min-height: var(--borsite-s-promo-minh);
  border-radius: var(--borsite-radius-xl);
  border: var(--borsite-s-promo-bd);
  background: color-mix(in srgb, var(--borsite-color-bg-elevated) 66%, transparent);
  box-shadow: var(--borsite-shadow-soft);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
}

.borsite-promo--empty {
  display: none;
}

.borsite-promo-copy {
  padding: var(--borsite-space-6);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.borsite-promo-copy .borsite-kicker {
  margin-bottom: var(--borsite-space-2);
}

.borsite-promo-copy h2 {
  font-size: var(--borsite-s-promo-copy-fs);
  line-height: 1;
  color: var(--borsite-color-text);
}

.borsite-promo-copy p {
  color: var(--borsite-color-text-muted);
  margin: var(--borsite-s-promo-copy-m);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-promo-copy-fs-2);
}

.borsite-promo-visual {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(135deg, var(--borsite-c-promo-visual-bg), var(--borsite-c-promo-visual-bg-2));
  min-height: var(--borsite-s-promo-visual-minh);
  width: 100%;
  padding: 0;
  margin: 0;
}

.borsite-promo-visual img {
  position: absolute;
  inset: var(--borsite-s-promo-visual-inset);
  width: var(--borsite-s-promo-visual-w);
  height: var(--borsite-s-promo-visual-h);
  max-width: none;
  object-fit: cover;
  object-position: center 44%;
  display: block;
  transform: scale(1.1);
  transform-origin: center center;
}

.borsite-promo-visual--book img {
  object-position: center 48%;
}

.borsite-promo-visual--book {
  background: var(--borsite-c-promo-visual--book-bg);
}

html[data-theme="dark"] .borsite-promo-visual,
html[data-theme="dark"] .borsite-promo-visual--book {
  background: linear-gradient(145deg, var(--borsite-c-promo-visual--book-bg-dark), var(--borsite-c-promo-visual--book-bg-dark-2));
}

/* --- Newsletter --- */
.borsite-newsletter {
  margin: var(--borsite-s-newsletter-m);
  width: var(--borsite-s-newsletter-w);
  border-radius: var(--borsite-radius-xl);
  border: var(--borsite-s-newsletter-bd);
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--borsite-c-white) 74%, transparent), color-mix(in srgb, var(--borsite-c-white) 52%, transparent)),
    radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--borsite-primitive-teal) 14%, transparent), transparent 35%);
  backdrop-filter: var(--borsite-s-newsletter-backdrop);
  padding: var(--borsite-s-newsletter-p);
  box-shadow: var(--borsite-shadow-soft);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--borsite-space-6);
  align-items: center;
  box-sizing: border-box;
}

html[data-theme="dark"] .borsite-newsletter {
  background: linear-gradient(125deg, var(--borsite-c-newsletter-bg-dark), var(--borsite-c-newsletter-bg-dark-2));
}

.borsite-newsletter h3 {
  font-size: var(--borsite-s-newsletter-fs);
  line-height: var(--borsite-s-newsletter-lh);
  color: var(--borsite-color-text);
}

.borsite-newsletter p {
  margin: var(--borsite-space-2) 0 0;
  color: var(--borsite-color-text-muted);
  font-family: var(--borsite-font-ui);
}

.borsite-subscribe {
  display: flex;
  gap: var(--borsite-space-2);
  align-items: center;
}

.borsite-subscribe input[type="email"] {
  min-width: var(--borsite-s-subscribe-minw);
  border: var(--borsite-s-subscribe-bd);
  border-radius: var(--borsite-radius-pill);
  padding: var(--borsite-s-subscribe-p);
  background: var(--borsite-color-bg-elevated);
  color: var(--borsite-color-text);
  font-family: var(--borsite-font-ui);
  outline: none;
}

.borsite-subscribe input[type="email"]:focus {
  border-color: color-mix(in srgb, var(--borsite-primitive-teal) 48%, transparent);
  box-shadow: var(--borsite-s-subscribe-shadow);
}

.borsite-subscribe .borsite-form-status {
  font-size: var(--borsite-s-form-status-fs);
  color: var(--borsite-color-text-muted);
  margin: 0;
}

.borsite-hp {
  position: absolute;
  left: var(--borsite-s-hp-left);
  opacity: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}

/* --- Footer --- */
.borsite-site-footer {
  margin-top: 0;
  background:
    radial-gradient(circle at 76% 0%, color-mix(in srgb, var(--borsite-primitive-teal) 10%, transparent), transparent 32%),
    linear-gradient(145deg, var(--borsite-c-site-footer-bg), var(--borsite-c-site-footer-bg-2) 50%, var(--borsite-c-site-footer-bg-3));
  color: var(--borsite-c-site-footer-color);
  padding: var(--borsite-s-site-footer-p);
  border-top: none;
  font-family: var(--borsite-font-ui);
}

.borsite-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 0.6fr);
  gap: var(--borsite-s-footer-grid-gap);
}

.borsite-site-footer .borsite-brand,
.borsite-site-footer .borsite-brand a {
  color: var(--borsite-c-white);
  font-size: var(--borsite-s-brand-fs-2); /* caps wordmark - was 1.5rem title-case */
}

.borsite-footer-blurb {
  color: var(--borsite-c-footer-blurb-color);
  font-size: var(--borsite-s-footer-blurb-fs);
  max-width: var(--borsite-s-footer-blurb-maxw);
  margin: var(--borsite-space-3) 0 0;
  line-height: 1.45;
}

.borsite-footer-col h4 {
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-footer-col-fs);
  text-transform: uppercase;
  letter-spacing: var(--borsite-tracking-label);
  color: var(--borsite-color-kicker-on-dark); /* dark surface → near-white kicker only */
  margin: 0 0 var(--borsite-space-2);
  font-weight: var(--borsite-weight-label); /* 500 */
}

.borsite-footer-col a {
  display: block;
  color: var(--borsite-c-footer-col-color);
  font-size: var(--borsite-s-footer-col-fs-2);
  margin: var(--borsite-s-footer-col-m);
  transition: color 0.2s ease;
}

.borsite-footer-col a:hover,
.borsite-footer-col a:focus-visible {
  color: var(--borsite-c-footer-col-color-2);
}

/* --- Dark surface polish for cards/promos --- */
html[data-theme="dark"] .borsite-card,
html[data-theme="dark"] .borsite-mini-card,
html[data-theme="dark"] .borsite-promo,
html[data-theme="dark"] .borsite-newsletter {
  background:
    radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--borsite-primitive-brass) 5.5%, transparent), transparent 27%),
    linear-gradient(145deg, var(--borsite-c-newsletter-bg-dark-3), var(--borsite-c-newsletter-bg-dark-4));
  border-color: color-mix(in srgb, var(--borsite-primitive-cream) 6%, transparent);
  box-shadow: var(--borsite-s-newsletter-shadow);
}

html[data-theme="dark"] .borsite-icon-btn {
  background: linear-gradient(145deg, var(--borsite-c-icon-btn-bg-dark), var(--borsite-c-icon-btn-bg-dark-2));
  border-color: color-mix(in srgb, var(--borsite-primitive-cream) 7%, transparent);
}

/* Dark theme: all kickers/labels use on-dark near-white only (no third color) */
html[data-theme="dark"] .borsite-kicker,
html[data-theme="dark"] .borsite-label,
html[data-theme="dark"] .borsite-drawer__label,
html[data-theme="dark"] .borsite-hero-content .borsite-kicker,
html[data-theme="dark"] .borsite-feature-copy .borsite-kicker,
html[data-theme="dark"] .borsite-card-media .borsite-kicker,
html[data-theme="dark"] .borsite-card-body .borsite-kicker,
html[data-theme="dark"] .borsite-mini-copy .borsite-kicker,
html[data-theme="dark"] .borsite-promo-copy .borsite-kicker {
  color: var(--borsite-color-kicker-on-dark);
}

/* --- Reveal motion --- */
[data-borsite-reveal] {
  transition:
    opacity 0.72s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.82s cubic-bezier(0.22, 0.61, 0.36, 1);
}

[data-borsite-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-borsite-reveal="card"].is-visible {
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  [data-borsite-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .borsite-hero-card img {
    transform: none !important;
  }

  .borsite-card:hover,
  .borsite-mini-card:hover,
  .borsite-btn:hover,
  .borsite-icon-btn:hover {
    transform: none;
  }
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .borsite-story-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--borsite-s-story-grid-gap);
  }

  .borsite-hero-content {
    width: 72%;
    padding: var(--borsite-s-hero-content-p-2);
  }
}

@media (max-width: 980px) {
  .borsite-feature-grid {
    grid-template-columns: 1fr;
  }

  .borsite-side-stack {
    grid-template-columns: 1fr 1fr;
  }

  .borsite-promo-grid {
    grid-template-columns: 1fr;
  }

  .borsite-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .borsite-story-grid {
    grid-template-columns: 1fr 1fr;
  }

  .borsite-story-grid .borsite-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .borsite-wrap {
    width: var(--borsite-s-wrap-w-2);
  }

  .borsite-header-inner {
    height: var(--borsite-s-header-inner-h-3);
  }


  .borsite-hero {
    padding-top: var(--borsite-s-hero-paddingt);
  }

  .borsite-hero-card {
    min-height: var(--borsite-s-hero-card-minh-2);
    border-radius: var(--borsite-radius-lg);
  }

  .borsite-hero-card::after {
    background: linear-gradient(180deg, var(--borsite-c-hero-card-bg-9) 10%, var(--borsite-c-hero-card-bg-10) 68%);
  }

  .borsite-hero-content {
    width: 100%;
    padding: var(--borsite-s-hero-content-p-3);
    justify-content: flex-end;
    min-height: var(--borsite-s-hero-content-minh-2);
  }

  .borsite-hero-content h1 {
    --borsite-hero-title-size: var(--borsite-s-hero-content-fs-3);
    max-width: 11ch;
  }

  .borsite-hero-content p {
    font-size: var(--borsite-s-hero-content-fs-4);
    margin: var(--borsite-space-4) 0;
  }

  .borsite-section {
    padding: var(--borsite-s-section-p-2);
  }

  .borsite-section-head {
    display: block;
  }

  .borsite-section-head p {
    margin-top: var(--borsite-s-section-head-marginto);
    font-size: var(--borsite-s-section-head-fs-3);
  }

  .borsite-story-grid {
    display: block;
  }

  .borsite-card {
    display: grid;
    grid-template-columns: var(--borsite-s-card-cols);
    margin-bottom: var(--borsite-s-card-marginbo);
    border-radius: var(--borsite-radius-md);
    min-height: 0;
  }

  .borsite-card-media {
    height: 100%;
    min-height: var(--borsite-s-card-media-minh);
    aspect-ratio: auto;
    flex: none;
  }

  .borsite-promo-visual {
    min-height: var(--borsite-s-promo-visual-minh-2);
  }

  .borsite-promo-visual img {
    inset: var(--borsite-s-promo-visual-inset-2);
    width: var(--borsite-s-promo-visual-w-2);
    height: var(--borsite-s-promo-visual-h-2);
    transform: scale(1.08);
  }

  .borsite-card-body {
    padding: var(--borsite-s-card-body-p-2);
    min-height: 0;
  }

  .borsite-card h3 {
    font-size: var(--borsite-s-card-fs-2);
  }

  .borsite-feature-large {
    min-height: var(--borsite-s-feature-large-minh-2);
    border-radius: var(--borsite-radius-lg);
  }

  .borsite-feature-copy h2 {
    font-size: var(--borsite-s-feature-copy-fs-2);
  }

  .borsite-side-stack {
    display: block;
  }

  .borsite-mini-card {
    grid-template-columns: var(--borsite-s-mini-card-cols-2);
    margin-top: var(--borsite-s-mini-card-marginto);
    min-height: var(--borsite-s-mini-card-minh-2);
    border-radius: var(--borsite-radius-md);
  }

  .borsite-promo {
    grid-template-columns: var(--borsite-s-promo-cols);
    min-height: var(--borsite-s-promo-minh-2);
    border-radius: var(--borsite-radius-lg);
  }

  .borsite-promo-copy {
    padding: var(--borsite-space-5);
  }

  .borsite-promo-copy p {
    display: none;
  }

  .borsite-promo-copy h2 {
    font-size: var(--borsite-s-promo-copy-fs-3);
  }

  .borsite-promo-visual,
  .borsite-promo-visual img {
    min-height: var(--borsite-s-promo-visual-minh-2);
  }

  .borsite-newsletter {
    display: block;
    border-radius: var(--borsite-radius-lg);
    margin-bottom: var(--borsite-s-newsletter-marginbo);
    width: var(--borsite-s-newsletter-w-2);
  }

  .borsite-subscribe {
    margin-top: var(--borsite-space-4);
    display: block;
  }

  .borsite-subscribe input[type="email"] {
    width: 100%;
    min-width: 0;
    margin-bottom: var(--borsite-space-2);
    box-sizing: border-box;
  }

  .borsite-subscribe .borsite-btn {
    width: 100%;
    justify-content: center;
  }

  .borsite-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .borsite-footer-grid > :first-child {
    grid-column: 1 / -1;
  }

  .borsite-drawer {
    width: 100%;
    padding: var(--borsite-s-drawer-p-2);
  }

  .borsite-drawer__nav a {
    min-height: var(--borsite-s-drawer-nav-minh-2);
    font-size: var(--borsite-s-drawer-nav-fs-2);
  }

  .borsite-drawer__utils,
  .borsite-drawer__footer {
    padding-bottom: var(--borsite-s-drawer-footer-paddingb);
  }
}

@media (min-width: 1440px) {
  .borsite-wrap {
    width: var(--borsite-s-wrap-w);
  }
  .borsite-newsletter {
    width: var(--borsite-s-newsletter-w);
  }
}

/* --- WordPress integration (step 4.2) ---
 * Template part and locked group wrappers must not create boxes:
 * the header stays sticky against .wp-site-blocks, as in the locked pages.
 */
.borsite-part,
.borsite-chrome {
  display: contents;
}

.wp-site-blocks > *,
.borsite-chrome.borsite-chrome > * {
  margin-block: 0; /* no blockGap between header, drawer, main and footer */
}

.borsite-site-header .borsite-brand {
  margin: 0;
}

/* Logged-in admin bar: keep the sticky header and the drawer below it */
body.admin-bar .borsite-site-header {
  top: var(--borsite-s-site-header-top);
}

body.admin-bar .borsite-drawer {
  top: var(--borsite-s-drawer-top);
  height: var(--borsite-s-drawer-h);
}

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

  body.admin-bar .borsite-drawer {
    top: var(--borsite-s-drawer-top-2);
    height: var(--borsite-s-drawer-h-2);
  }
}

/* --- WordPress integration (step 4.4 home): clamps from docs/Theme_Stability_Rules.md section 1 --- */
.borsite-home.wp-block-group > * {
  margin-block: 0;
}

.borsite-card .borsite-kicker,
.borsite-mini-copy .borsite-kicker,
.borsite-feature-copy .borsite-kicker,
.borsite-hero-content .borsite-kicker {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

[data-view="list"] .borsite-card h3 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* :where() keeps these clamps below the locked rules, so a mockup display: none on
   mobile still wins */
:where(.borsite-hero-content h1, .borsite-feature-copy h2, .borsite-promo-copy h2, .borsite-hero-content p, .borsite-feature-copy p, .borsite-promo-copy p) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: normal;
}

:where(.borsite-hero-content h1) {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

:where(.borsite-feature-copy h2, .borsite-promo-copy h2, .borsite-hero-content p, .borsite-feature-copy p, .borsite-promo-copy p) {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.borsite-card h3,
.borsite-mini-copy h3 {
  overflow-wrap: normal;
  hyphens: manual;
}

/* Fallback image in cards: same cover crop as a real 16:10 photo */
.borsite-card__fallback {
  object-fit: cover;
}

/* Editor helpers for the home blocks (Site Editor only) */
.borsite-home-editor-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--borsite-space-3);
  margin: var(--borsite-space-3) auto 0;
  max-width: var(--borsite-s-home-editor-row-maxw);
  padding: var(--borsite-s-home-editor-row-p);
}

.borsite-home-editor-note {
  flex-basis: 100%;
  margin: var(--borsite-space-2) 0 0;
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-home-editor-note-fs);
  color: var(--borsite-color-text-muted);
}

.borsite-home-editor-row--dark {
  padding: var(--borsite-s-home-editor-row--dark-p);
  border-radius: var(--borsite-radius-lg);
  background: var(--borsite-primitive-deep);
}

.borsite-home-editor-row--dark .borsite-home-editor-note {
  color: var(--borsite-color-hero-body);
}

/* Promo image picker inside the home promos block (Site Editor only) */
.borsite-home-editor-media {
  position: absolute;
  inset: var(--borsite-s-home-editor-media-inset);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--borsite-s-home-editor-media-gap);
  padding: var(--borsite-space-2);
  border-radius: var(--borsite-s-home-editor-media-r);
  background: var(--borsite-c-home-editor-media-bg);
  font-family: var(--borsite-font-ui);
  font-size: var(--borsite-s-home-editor-media-fs);
}

.borsite-home-editor-media .borsite-home-editor-note {
  margin: 0;
  color: var(--borsite-c-home-editor-note-color);
}

/* Newsletter band before the footer (all templates).
 * It is the last block in main, and WordPress's flow layout zeroes the last child's bottom margin
 * (:root :where(.is-layout-flow) > :last-child, specificity 0,2,0), which glued it to the footer.
 * One rule with the main id restores the DS end margin: 3rem on pages (Publikacii, Podcast, ZaMen,
 * Kniga, Article mockups), 4rem / 2.25rem on the home page (Homepage FINAL). */
#borsite-main > .borsite-newsletter {
  margin-bottom: var(--borsite-newsletter-end, var(--borsite-space-12));
}
#borsite-main.borsite-home {
  --borsite-newsletter-end: 4rem;
}
@media (max-width: 640px) {
  #borsite-main.borsite-home {
    --borsite-newsletter-end: 2.25rem;
  }
}

/* Smooth in-page scrolling (Homepage FINAL, DS: html { scroll-behavior: smooth }), never with reduced motion */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* ==========================================================================
   Stage review fixes (18.10.2026) - see docs/decisions.md
   ========================================================================== */

/* --- Focus: a ring only for keyboard focus, never after a mouse click or on hover --- */
:where(a, button, summary, [tabindex]):where(:focus:not(:focus-visible)) {
  outline: none;
}

:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--borsite-s-base-ol);
  outline-offset: var(--borsite-s-base-olo);
}

/* --- Reveal: progressive enhancement. Content is visible without JS, before the script runs
   and when printing; borsite.js adds html.borsite-reveal-on only when it can reveal. --- */
.borsite-reveal-on [data-borsite-reveal]:not(.is-visible) {
  opacity: 0;
  transform: var(--borsite-s-reveal-on-tf);
}

.borsite-reveal-on [data-borsite-reveal="soft"]:not(.is-visible) {
  transform: var(--borsite-s-reveal-on-tf-2);
}

.borsite-reveal-on [data-borsite-reveal="card"]:not(.is-visible) {
  transform: var(--borsite-s-reveal-on-tf-3);
}

@media print {
  .borsite-reveal-on [data-borsite-reveal]:not(.is-visible) {
    opacity: 1;
    transform: none;
  }
}

/* --- Hero: left-to-right overlay, dark behind the text, photo visible on the right --- */
.borsite-hero-card::after {
  background: var(--borsite-hero-overlay);
}

/* Hero title: words never break; size and measure follow the title length (55/80 rule) */
.borsite-hero-content h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  -webkit-line-clamp: 5;
  line-clamp: 5;
}

.borsite-hero-content h1[data-length="medium"] {
  --borsite-hero-title-size: var(--borsite-s-hero-content-fs-5);
  max-width: 12ch;
}

.borsite-hero-content h1[data-length="long"] {
  --borsite-hero-title-size: var(--borsite-s-hero-content-fs-6);
  max-width: 15ch;
}

.borsite-hero-content h1[data-length="xlong"] {
  --borsite-hero-title-size: var(--borsite-s-hero-content-fs-7);
  max-width: 18ch;
}

@media (max-width: 1024px) {
  .borsite-hero-content {
    width: 80%;
  }
}

@media (max-width: 640px) {
  .borsite-hero-card::after {
    background: var(--borsite-hero-overlay-mobile);
  }

  .borsite-hero-content h1[data-length="medium"] {
    --borsite-hero-title-size: var(--borsite-s-hero-content-fs-8);
    max-width: 13ch;
  }

  .borsite-hero-content h1[data-length="long"] {
    --borsite-hero-title-size: var(--borsite-s-hero-content-fs-9);
    max-width: 15ch;
  }

  .borsite-hero-content h1[data-length="xlong"] {
    --borsite-hero-title-size: var(--borsite-s-hero-content-fs-10);
    max-width: 17ch;
  }
}

/* --- Words never break and are never hyphenated (LOCKED 18.10.2026, critical) ---
   Global: body, titles, cards, excerpts, buttons, BG and EN. !important so that WP core and
   plugin CSS (word-break: break-word, hyphens: auto) cannot bring it back. Size and measure
   adapt instead (clamp, length bands, line clamps). The one exception: links and code inside
   article text, so a pasted URL or a very long string cannot push the page sideways. */
html,
body,
body *,
body *::before,
body *::after {
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.borsite-article__body a,
.borsite-article__body code,
.borsite-book__body a,
.borsite-book__body code {
  overflow-wrap: anywhere !important;
}

/* --- Image tone: one slightly green dark tint over every card photo --- */
.borsite-card-media::after,
.borsite-mini-media::after,
.borsite-promo-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--borsite-image-tone);
  pointer-events: none;
}

html[data-theme="dark"] .borsite-card-media::after {
  background: var(--borsite-image-tone);
}

.borsite-feature-large::after {
  background: var(--borsite-image-tone-text);
}

.borsite-mini-media {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 100%;
}

.borsite-mini-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--borsite-motion-duration) var(--borsite-motion-ease);
}

/* --- Promos: one card alone spans the full width --- */
.borsite-promo-grid--single {
  grid-template-columns: 1fr;
}

.borsite-promo-grid--single .borsite-promo {
  grid-template-columns: 1.4fr 1fr;
}

@media (max-width: 640px) {
  .borsite-promo-grid--single .borsite-promo {
    grid-template-columns: 1fr;
  }
}

/* --- Component state: card hover / focus-visible (LOCKED 18.10.2026) ---
   Lift, stronger shadow, accent stroke fading in, image zoom. Hover only on devices that hover;
   focus-visible always. Reduced motion: no lift and no zoom, shadow and stroke stay. */
.borsite-card,
.borsite-mini-card,
.borsite-feature-large,
.borsite-promo,
.borsite-pdf__card {
  outline: var(--borsite-s-pdf-card-ol);
  outline-offset: var(--borsite-s-pdf-card-olo);
  transition:
    opacity 0.72s var(--borsite-motion-ease),
    transform var(--borsite-motion-duration) var(--borsite-motion-ease),
    box-shadow var(--borsite-motion-duration) var(--borsite-motion-ease),
    outline-color var(--borsite-motion-duration) var(--borsite-motion-ease),
    border-color var(--borsite-motion-duration) var(--borsite-motion-ease);
}

.borsite-card-media img,
.borsite-mini-media img,
.borsite-feature-large img,
.borsite-promo-visual img {
  transition: transform calc(var(--borsite-motion-duration) * 1.8) var(--borsite-motion-ease);
}

@media (hover: hover) {
  .borsite-card:hover,
  .borsite-mini-card:hover,
  .borsite-feature-large:hover,
  .borsite-promo:hover,
  .borsite-pdf__card:hover {
    transform: translateY(var(--borsite-card-lift-hover));
    box-shadow: var(--borsite-shadow-card-hover);
    outline-color: var(--borsite-card-stroke-hover);
    border-color: transparent;
  }

  .borsite-card:hover .borsite-card-media img,
  .borsite-mini-card:hover .borsite-mini-media img,
  .borsite-feature-large:hover img {
    transform: scale(var(--borsite-card-zoom-hover));
  }

  .borsite-promo:hover .borsite-promo-visual img {
    transform: scale(calc(1.1 * var(--borsite-card-zoom-hover)));
  }
}

.borsite-card:focus-visible,
.borsite-mini-card:focus-visible,
.borsite-feature-large:focus-visible,
.borsite-promo:focus-within,
.borsite-pdf__card:focus-visible {
  transform: translateY(var(--borsite-card-lift-hover));
  box-shadow: var(--borsite-shadow-card-hover);
  outline: var(--borsite-s-pdf-card-ol-2);
  outline-offset: var(--borsite-s-pdf-card-olo-2);
}

.borsite-promo:focus-within:not(:has(:focus-visible)) {
  transform: none;
  box-shadow: var(--borsite-shadow-soft);
  outline-color: transparent;
}

.borsite-card:focus-visible .borsite-card-media img,
.borsite-mini-card:focus-visible .borsite-mini-media img,
.borsite-feature-large:focus-visible img {
  transform: scale(var(--borsite-card-zoom-hover));
}

.borsite-book .borsite-card:hover {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .borsite-card,
  .borsite-mini-card,
  .borsite-feature-large,
  .borsite-promo,
  .borsite-pdf__card,
  .borsite-card:hover,
  .borsite-mini-card:hover,
  .borsite-feature-large:hover,
  .borsite-promo:hover,
  .borsite-pdf__card:hover,
  .borsite-card:focus-visible,
  .borsite-mini-card:focus-visible,
  .borsite-feature-large:focus-visible,
  .borsite-promo:focus-within,
  .borsite-pdf__card:focus-visible {
    transform: none;
  }

  .borsite-card:hover .borsite-card-media img,
  .borsite-mini-card:hover .borsite-mini-media img,
  .borsite-feature-large:hover img,
  .borsite-promo:hover .borsite-promo-visual img,
  .borsite-card:focus-visible .borsite-card-media img,
  .borsite-mini-card:focus-visible .borsite-mini-media img,
  .borsite-feature-large:focus-visible img {
    transform: none;
  }

  .borsite-promo-visual img {
    transform: scale(1.1);
  }
}

/* --- Text links and buttons: hover = underline only, never a box --- */
.borsite-read:hover,
.borsite-section-head a:hover,
.borsite-footer-col a:hover {
  text-decoration: underline;
  text-decoration-thickness: var(--borsite-s-footer-col-ult);
  text-underline-offset: 0.2em;
}

/* --- Bottom components take the layout width (18.10.2026): the newsletter banner spans the same
   width as .borsite-wrap (as in Homepage FINAL), on every template; the v1 mockups' 56rem band
   is replaced. Mobile keeps 100% - 1.5rem like the wrap. --- */
.borsite-newsletter,
main > .borsite-newsletter,
#borsite-main > .borsite-newsletter {
  width: var(--borsite-s-newsletter-w-3);
  max-width: none;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .borsite-newsletter,
  main > .borsite-newsletter,
  #borsite-main > .borsite-newsletter {
    width: var(--borsite-s-newsletter-w-2);
  }
}

/* Hero title accent (DS .borsite-title-accent, 18.10.2026): last word or *word* from the short
   title. Never alone on a line: the server puts a no-break space before it. white-space stays
   normal as in the locked HTML (a word never breaks anyway, RULES 8). */

/* Hero title fit (RULES 8, 18.10.2026). The server writes data-fit = width of the widest part
   of the title that can never wrap, in half-em steps (the last two words are joined by the
   no-break space before the accent). The length band gives the design size; this caps it so
   that part always fits the text box (container units). No word ever breaks or sticks out. */
.borsite-hero-content {
  container-type: inline-size;
}

.borsite-hero-content h1 {
  --borsite-title-fit: 0;
  font-size: min(var(--borsite-hero-title-size), calc(100cqi / max(var(--borsite-title-fit) * var(--borsite-title-fit-em), 1)));
  /* The widest unbreakable part (e.g. "SpaceX report", joined before the accent) may be wider
     than the length band's ch max-width: the line then never sticks out of the h1 (EN, 18.10.2026,
     3-4px). Never wider than the text box, because the font size above is capped by it. */
  min-width: calc(var(--borsite-title-fit) * var(--borsite-title-fit-em) * 1em);
}

.borsite-hero-content h1[data-fit="8"] { --borsite-title-fit: 8; }
.borsite-hero-content h1[data-fit="9"] { --borsite-title-fit: 9; }
.borsite-hero-content h1[data-fit="10"] { --borsite-title-fit: 10; }
.borsite-hero-content h1[data-fit="11"] { --borsite-title-fit: 11; }
.borsite-hero-content h1[data-fit="12"] { --borsite-title-fit: 12; }
.borsite-hero-content h1[data-fit="13"] { --borsite-title-fit: 13; }
.borsite-hero-content h1[data-fit="14"] { --borsite-title-fit: 14; }
.borsite-hero-content h1[data-fit="15"] { --borsite-title-fit: 15; }
.borsite-hero-content h1[data-fit="16"] { --borsite-title-fit: 16; }
.borsite-hero-content h1[data-fit="17"] { --borsite-title-fit: 17; }
.borsite-hero-content h1[data-fit="18"] { --borsite-title-fit: 18; }
.borsite-hero-content h1[data-fit="19"] { --borsite-title-fit: 19; }
.borsite-hero-content h1[data-fit="20"] { --borsite-title-fit: 20; }
.borsite-hero-content h1[data-fit="21"] { --borsite-title-fit: 21; }
.borsite-hero-content h1[data-fit="22"] { --borsite-title-fit: 22; }
.borsite-hero-content h1[data-fit="23"] { --borsite-title-fit: 23; }
.borsite-hero-content h1[data-fit="24"] { --borsite-title-fit: 24; }
.borsite-hero-content h1[data-fit="25"] { --borsite-title-fit: 25; }
.borsite-hero-content h1[data-fit="26"] { --borsite-title-fit: 26; }
.borsite-hero-content h1[data-fit="27"] { --borsite-title-fit: 27; }
.borsite-hero-content h1[data-fit="28"] { --borsite-title-fit: 28; }
.borsite-hero-content h1[data-fit="29"] { --borsite-title-fit: 29; }
.borsite-hero-content h1[data-fit="30"] { --borsite-title-fit: 30; }
.borsite-hero-content h1[data-fit="31"] { --borsite-title-fit: 31; }
.borsite-hero-content h1[data-fit="32"] { --borsite-title-fit: 32; }
.borsite-hero-content h1[data-fit="33"] { --borsite-title-fit: 33; }
.borsite-hero-content h1[data-fit="34"] { --borsite-title-fit: 34; }
.borsite-hero-content h1[data-fit="35"] { --borsite-title-fit: 35; }
.borsite-hero-content h1[data-fit="36"] { --borsite-title-fit: 36; }
.borsite-hero-content h1[data-fit="37"] { --borsite-title-fit: 37; }
.borsite-hero-content h1[data-fit="38"] { --borsite-title-fit: 38; }
.borsite-hero-content h1[data-fit="39"] { --borsite-title-fit: 39; }
.borsite-hero-content h1[data-fit="40"] { --borsite-title-fit: 40; }

.wp-block-button.borsite-btn--primary > .wp-block-button__link {
  line-height: inherit; /* as .borsite-btn (theme.json sets 1 on .wp-element-button) */
}
