
.f-ob { padding: clamp(56px, 7vw, 96px) clamp(16px, 4vw, 48px); }
.f-ob-dark {
  background: var(--brand-surface-dark, #1A1A1A);
  color: var(--brand-ink-on-dark, #FCFCFC);
  --f-ob-ink: var(--brand-ink-on-dark, #FCFCFC);
  --f-ob-quiet: rgba(255, 255, 255, 0.62);
  --f-ob-card: color-mix(in oklab, var(--brand-surface-dark, #1A1A1A), black 22%);
  --f-ob-rule: rgba(255, 255, 255, 0.10);
  --f-ob-rule-on: rgba(255, 255, 255, 0.26);
  --f-ob-slab: var(--brand-objection-highlight, var(--brand-accent, #0A99FF));
  --f-ob-hover: color-mix(in oklab, var(--brand-objection-highlight, var(--brand-accent, #0A99FF)), var(--f-ob-card) 84%);
  --f-ob-accent: var(--brand-accent-bright, var(--brand-accent, #0A99FF));
}
.f-ob-light {
  background: var(--brand-bg, #FCFCFC);
  color: var(--brand-ink, #333);
  --f-ob-ink: var(--brand-ink-strong, #1A1A1A);
  --f-ob-quiet: var(--f-quiet-ink);
  --f-ob-card: var(--f-plaque-bg, #FFFFFF);
  --f-ob-rule: color-mix(in oklab, var(--f-ink-base, #1A1A1A), transparent 90%);
  --f-ob-rule-on: color-mix(in oklab, var(--f-ink-base, #1A1A1A), transparent 78%);
  --f-ob-slab: var(--brand-objection-highlight, var(--brand-accent, #0074C8));
  --f-ob-hover: color-mix(in oklab, var(--brand-objection-highlight, var(--brand-accent, #0074C8)), var(--f-ob-card) 88%);
  --f-ob-accent: var(--f-accent-ink, var(--brand-accent, #0074C8));
}
.f-ob-dark h2, .f-ob-dark h3, .f-ob-dark h4 { color: inherit; }
.f-ob-inner { width: min(1200px, 100%); margin-inline: auto; }
.f-ob-layout { display: grid; gap: clamp(20px, 3vw, 40px); }
.f-ob-head { text-align: center; margin-bottom: clamp(28px, 4vw, 44px); }
.f-ob-kicker {
  margin: 0 auto 12px;
  max-width: none;
  font-size: var(--f-text-caption, 0.8125rem);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--f-ob-accent);
}
.f-ob-title { margin: 0 0 10px; font-size: var(--f-h2, clamp(1.75rem, 3.6vw, 2.375rem)); color: var(--f-ob-ink); }
.f-ob-intro { margin: 0 auto; max-width: 54ch; font-size: var(--f-text, 1rem); color: var(--f-ob-quiet); }
.f-ob-switch { display: none; }
.f-ob-live .f-ob-switch-wrap { display: flex; justify-content: center; }
.f-ob-live .f-ob-switch {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--f-ob-tab-count, 3), minmax(0, 1fr));
  width: min(100%, 620px);
  margin-bottom: clamp(28px, 3.6vw, 48px);
  padding: 4px;
  border: 1px solid var(--f-ob-rule);
  border-radius: 999px;
  background: color-mix(in oklab, var(--f-ob-card), transparent 22%);
}
.f-ob-tab {
  position: relative;
  z-index: 1;
  appearance: none;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: none;
  color: var(--f-ob-ink);
  font-family: var(--brand-font-display, inherit);
  font-size: var(--f-text-lead);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: var(--brand-display-transform, none);
  cursor: pointer;
  transition: color 0.28s var(--f-ease);
}
.f-ob-tab:hover { color: var(--f-ob-ink); }
.f-ob-tab[aria-selected="true"] { color: var(--brand-ink-on-dark, #FCFCFC); }
.f-ob-tab:focus-visible { outline: 2px solid var(--f-ob-accent); outline-offset: 2px; }
.f-ob-ind {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  background: var(--brand-ink-strong, #1A1A1A);
  clip-path: inset(4px var(--f-ob-clip-right, 66.66%) 4px var(--f-ob-clip-left, 4px) round 999px);
  pointer-events: none;
  transition: clip-path 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.f-ob-panel { min-width: 0; }
.f-ob-panel + .f-ob-panel { margin-top: var(--f-space-l); }
.f-ob-live .f-ob-panel + .f-ob-panel { margin-top: 0; }
.f-ob-live .f-ob-panel.is-off { display: none; }
.f-ob-group-label { margin: 0 0 var(--f-space-s); color: var(--f-ob-ink); font-size: var(--f-h3); }
.f-ob-live .f-ob-group-label {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}
@media (prefers-reduced-motion: no-preference) {
  .f-ob-live .f-ob-panel.is-in { animation: f-ob-panel-in 0.42s var(--f-ease); }
}
@keyframes f-ob-panel-in {
  from { clip-path: inset(0 var(--f-ob-wipe-right, 0%) 0 var(--f-ob-wipe-left, 100%)); opacity: 0; translate: var(--f-ob-panel-x, 24px) 0; }
  to { clip-path: inset(0); opacity: 1; translate: 0; }
}
.f-ob-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(10px, 1.4vw, 16px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 620px) { .f-ob-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .f-ob-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 980px) {
  .f-ob-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .f-ob-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.f-ob-media {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  min-height: clamp(300px, 62vw, 520px);
  background: var(--f-ob-card);
}
.f-ob-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 980px) {
  .f-ob-has-image .f-ob-layout {
    grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr);
    align-items: stretch;
  }
  .f-ob-has-image .f-ob-grid,
  .f-ob-has-image .f-ob-grid[data-cols="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .f-ob-has-image .f-ob-media { min-height: 100%; }
  .f-ob-image-left .f-ob-media { order: -1; }
}
@media (min-width: 620px) { .f-ob-grid { grid-auto-rows: 1fr; } }
.f-ob-cell { display: flex; }
.f-ob-body { max-height: calc(3 * 1.6em); overflow: hidden; }
.f-ob-switchable .f-ob-body { max-height: none; }
@media (max-width: 1024px) {
  .f-ob-body { max-height: none; }
}
.f-ob-card {
  position: relative;
  z-index: 1;
  display: block;
  flex: 1;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid var(--f-ob-rule);
  border-radius: 16px;
  background: var(--f-ob-card);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}
.f-ob-light .f-ob-card {
  --f-ob-ink: var(--f-plaque-ink-strong, #1A1A1A);
  --f-ob-quiet: color-mix(in srgb, var(--f-plaque-ink, #333333) 76%, transparent);
  --f-ob-accent: var(--f-plaque-accent, var(--brand-accent-on-light, #00736F));
}
a.f-ob-card:focus-visible {
  outline: 2px solid var(--f-ob-accent);
  outline-offset: 3px;
}
.f-ob-slab {
  position: absolute;
  top: 0; left: 0;
  width: var(--w, 0px);
  height: var(--h, 0px);
  translate: var(--x, 0px) var(--y, 0px);
  border-radius: 22px;
  background: var(--f-ob-slab);
  opacity: 0;
  pointer-events: none;
  transition: translate 0.32s var(--f-ease, ease), opacity 0.15s ease 0.2s;
}
.f-ob-live .f-ob-slab.is-on {
  opacity: 1;
  transition: translate 0.32s var(--f-ease, ease), opacity 0.15s ease;
}
.f-ob-live .f-ob-cell.is-on .f-ob-card { border-color: var(--f-ob-rule-on); }
.f-ob:not(.f-ob-live) .f-ob-card:hover,
.f-ob:not(.f-ob-live) a.f-ob-card:focus-visible { background: var(--f-ob-hover); border-color: var(--f-ob-rule-on); }
.f-ob-icon {
  display: block;
  height: 42px;
  min-width: 0; min-height: 0;
  margin-bottom: 18px;
  color: var(--f-ob-accent);
}
.f-ob-icon svg { display: block; width: auto; height: 42px; }
.f-ob-card-title {
  margin: 0 0 10px;
  font-size: var(--f-h5, 1.15rem);
  letter-spacing: 0.02em;
  color: var(--f-ob-ink);
}
.f-ob-body {
  margin: 0;
  max-width: 42ch;
  font-size: var(--f-text-small, 0.9375rem);
  line-height: 1.62;
  color: var(--f-ob-quiet);
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .f-ob-cell {
      animation: f-ob-rise linear both;
      animation-timeline: view();
      animation-range: entry calc(var(--i, 0) * 4%) entry calc(50% + var(--i, 0) * 4%);
    }
    @keyframes f-ob-rise {
      from { opacity: 0; translate: 0 12px; }
      to   { opacity: 1; translate: 0 0; }
    }
  }
  @media (prefers-reduced-motion: no-preference) and (max-width: 1024px) {
    .f-ob-cell {
      animation-range: entry calc(var(--i, 0) * 3%) cover calc(28% + var(--i, 0) * 3%);
    }
  }
}
@media (max-width: 600px) {
  .f-ob-tab { padding-inline: 6px; font-size: var(--f-text-small); }
  .f-ob-card { padding: 22px 20px; }
  .f-ob-icon, .f-ob-icon svg { height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .f-ob-ind, .f-ob-tab { transition: none !important; }
  .f-ob-slab { transition: opacity 0.15s ease !important; }
  .f-ob-card { transition: none; }
}
@media print {
  .f-ob-live .f-ob-switch { display: none; }
  .f-ob-live .f-ob-panel.is-off { display: block; }
  .f-ob-live .f-ob-panel + .f-ob-panel { margin-top: var(--f-space-l); }
  .f-ob-live .f-ob-group-label {
    position: static;
    width: auto;
    height: auto;
    margin: 0 0 var(--f-space-s);
    overflow: visible;
    white-space: normal;
    clip-path: none;
  }
}
