/*
 * Wall of Small Firms — styles
 * Scoped to .wosf-wrap. All component selectors prefixed with .wosf-wrap
 * so they win the specificity battle against the theme's element resets.
 * Theme vars used: --green-strong, --green-light, --navy-dark,
 *   --gray-dark, --gray-medium, --gray-light, --white-pure, --white-base,
 *   --blue-lightest, --font-primary (Sora), --font-secondary (Inter),
 *   --s-* spacing scale.
 */

/* ----------------------------------------------------------------
   Scope reset — neutralise theme’s fluid type scale inside the wall
   These have specificity (0,1,1). All named-class overrides below
   use .wosf-wrap .wosf-[name] (0,2,0) to win.
   ---------------------------------------------------------------- */
.wosf-wrap *,
.wosf-wrap *::before,
.wosf-wrap *::after { box-sizing: border-box; }

.wosf-wrap h1,
.wosf-wrap h2,
.wosf-wrap h3,
.wosf-wrap h4 {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
}

.wosf-wrap p {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

.wosf-wrap a    { color: inherit; text-decoration: none; }
.wosf-wrap button { font-family: var(--font-secondary, 'Inter', sans-serif); cursor: pointer; }

/* ----------------------------------------------------------------
   Wrapper
   ---------------------------------------------------------------- */
.wosf-wrap {
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 14px;
  line-height: 1.5;
  color: var(--navy-dark, #001A31);
  background: #fff;
}

/* ================================================================
   HERO
   ================================================================ */
.wosf-wrap .wosf-hero {
  max-width: 760px;
  margin: 0 auto;
  padding: var(--s-120, 7rem) var(--s-30, 1.5rem) var(--s-60, 3rem);
  text-align: center;
}

/* Eyebrow */
.wosf-wrap .wosf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--green-strong, #259245);
  margin-bottom: var(--s-15, 0.75rem);
}

.wosf-wrap .wosf-eyebrow::before,
.wosf-wrap .wosf-eyebrow::after {
  content: '';
  width: 18px;
  height: 1px;
  background: var(--green-light, #DEEFE3);
  flex-shrink: 0;
}

/* Title — (0,2,0) > reset (0,1,1) */
.wosf-wrap .wosf-title {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--navy-dark, #001A31);
  margin: var(--s-10, 0.5rem) 0 var(--s-25, 1.25rem);
}

/* Lede — (0,2,0) > reset (0,1,1) */
.wosf-wrap .wosf-lede {
  font-size: 18px;
  line-height: 1.65;
  color: var(--gray-dark, #4B5563);
  max-width: 580px;
  margin: 0 auto;
}

.wosf-wrap .wosf-lede strong {
  color: var(--navy-dark, #001A31);
  font-weight: 700;
}

/* Counter */
.wosf-wrap .wosf-counter {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  background: var(--green-light, #DEEFE3);
  border: 1px solid #b8dfca;
  border-radius: 6px;
  padding: 14px 24px;
  margin: var(--s-40, 2rem) auto var(--s-10, 0.5rem);
}

.wosf-wrap .wosf-counter__num {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: 40px;
  font-weight: 700;
  color: var(--green-strong, #259245);
  line-height: 1;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

.wosf-wrap .wosf-counter__label {
  font-size: 16px;
  color: #2d6b3f;
}

/* Activity meta line */
.wosf-wrap .wosf-activity {
  font-size: 13px;
  color: var(--gray-dark, #4B5563);
  margin-bottom: var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-activity strong {
  color: var(--navy-dark, #001A31);
  font-weight: 600;
}

/* CTA row */
.wosf-wrap .wosf-cta-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* ----------------------------------------------------------------
   Buttons — base layout; colour comes from theme's primary-button-m
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 13px 26px;
  border-radius: 8px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 16px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 120ms ease;
  line-height: 1.2;
}

/* Primary: piggyback on theme’s primary-button-m for colour */
.wosf-wrap .wosf-btn.primary-button-m {
  box-shadow: 0 1px 3px rgba(0,26,49,.12);
}

.wosf-wrap .wosf-btn.primary-button-m:hover {
  opacity: 0.82;
  color: var(--white-pure, #fff);
  text-decoration: none;
}

/* Secondary */
.wosf-wrap .wosf-btn--secondary {
  background: var(--white-pure, #fff);
  color: var(--navy-dark, #001A31);
  border: 1.5px solid var(--gray-light, #E3E3E3);
}

.wosf-wrap .wosf-btn--secondary:hover {
  background: var(--white-base, #F9FAFB);
  color: var(--navy-dark, #001A31);
}

/* ================================================================
   LIVE TICKER (sticky strip below hero)
   ================================================================ */
.wosf-wrap .wosf-ticker {
  position: sticky;
  top: 90px;
  z-index: 40;
  background: var(--white-pure, #fff);
  border-top: 1px solid var(--gray-light, #E3E3E3);
  border-bottom: 1px solid var(--gray-light, #E3E3E3);
  height: 38px;
  display: flex;
  align-items: center;
  gap: var(--s-25, 1.25rem);
  padding: 0 var(--s-30, 1.5rem);
  overflow: hidden;
}

.wosf-wrap .wosf-ticker__badge {
  flex-shrink: 0;
  background: var(--green-light, #DEEFE3);
  color: var(--green-strong, #259245);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid #b8dfca;
}

.wosf-wrap .wosf-ticker__overflow {
  overflow: hidden;
  flex: 1;
  position: relative;
  /* fade edges */
  mask-image: linear-gradient(to right, transparent, black 40px, black calc(100% - 40px), transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 40px, black calc(100% - 40px), transparent);
}

.wosf-wrap .wosf-ticker__track {
  display: flex;
  gap: 40px;
  white-space: nowrap;
  animation: wosfTicker 50s linear infinite;
  width: max-content;
}

.wosf-wrap .wosf-ticker:hover .wosf-ticker__track {
  animation-play-state: paused;
}

.wosf-wrap .wosf-ticker__track span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12.5px;
  color: var(--gray-dark, #4B5563);
}

.wosf-wrap .wosf-ticker__track span strong {
  color: var(--navy-dark, #001A31);
  font-weight: 600;
}

.wosf-wrap .wosf-ticker__track span em {
  font-style: normal;
  color: var(--gray-medium, #A09696);
}

@keyframes wosfTicker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ================================================================
   FILTER TOOLBAR
   ================================================================ */
.wosf-wrap .wosf-toolbar {
  max-width: 1200px;
  margin: var(--s-30, 1.5rem) auto 0;
  padding: 0 var(--s-30, 1.5rem);
  border-top: 1px solid var(--gray-light, #E3E3E3);
  border-bottom: 1px solid var(--gray-light, #E3E3E3);
  background: var(--white-pure, #fff);
  display: flex;
  align-items: center;
}

.wosf-wrap .wosf-chips {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.wosf-wrap .wosf-chip {
  background: transparent;
  border: 0;
  padding: 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-dark, #4B5563);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: color 120ms ease;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

.wosf-wrap .wosf-chip:hover   { color: var(--navy-dark, #001A31); }

.wosf-wrap .wosf-chip--active {
  color: var(--green-strong, #259245);
  border-bottom-color: var(--green-strong, #259245);
}

.wosf-wrap .wosf-chip__count {
  font-weight: 400;
  color: var(--gray-medium, #A09696);
  font-size: 12px;
  margin-left: 3px;
}

/* ================================================================
   WALL GRID
   ================================================================ */
.wosf-wrap .wosf-wall-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--s-25, 1.25rem) var(--s-30, 1.5rem) var(--s-75, 3.5rem);
}

.wosf-wrap .wosf-grid {
  column-count: 4;
  column-gap: 16px;
}

@media (max-width: 1100px) { .wosf-wrap .wosf-grid { column-count: 3; } }
@media (max-width: 820px)  { .wosf-wrap .wosf-grid { column-count: 2; } }
@media (max-width: 540px)  { .wosf-wrap .wosf-grid { column-count: 1; } }

/* ----------------------------------------------------------------
   Card
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-card {
  break-inside: avoid;
  background: var(--white-pure, #fff);
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 6px;
  padding: 18px 18px 14px;
  margin-bottom: 16px;
  position: relative;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}

.wosf-wrap .wosf-card:hover {
  border-color: #c8c8c8;
  box-shadow: 0 2px 8px rgba(0,26,49,.08);
}

.wosf-wrap .wosf-card__photo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 10px;
  display: block;
}

/* Card name — (0,2,0) beats reset (0,1,1) */
.wosf-wrap .wosf-card__name {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-dark, #001A31);
  margin-bottom: 4px;
}

.wosf-wrap .wosf-card__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--gray-dark, #4B5563);
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--gray-medium, #A09696);
  flex-shrink: 0;
}

/* Quote — (0,2,0) beats reset (0,1,1) */
.wosf-wrap .wosf-card__quote {
  font-size: 13px;
  line-height: 1.5;
  color: var(--gray-dark, #4B5563);
  font-style: italic;
  text-wrap: pretty;
}

.wosf-wrap .wosf-card__quote::before {
  content: '\201C';
  color: var(--green-strong, #259245);
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: 24px;
  font-style: normal;
  line-height: 0;
  margin-right: 2px;
  vertical-align: -7px;
  opacity: 0.4;
}



/* Founder variant (first/featured card) */
.wosf-wrap .wosf-card--founder {
  border-color: var(--navy-dark, #001A31);
  background: var(--navy-dark, #001A31);
}

.wosf-wrap .wosf-card--founder .wosf-card__name  { color: var(--white-pure, #fff); }
.wosf-wrap .wosf-card--founder .wosf-card__meta  { color: var(--gray-medium, #A09696); }
.wosf-wrap .wosf-card--founder .wosf-card__quote { color: #c8d0da; }
.wosf-wrap .wosf-card--founder .wosf-card__quote::before { color: var(--green-light, #DEEFE3); opacity: 0.8; }
.wosf-wrap .wosf-card--founder .wosf-dot { background: #4a5568; }
.wosf-wrap .wosf-card--founder .wosf-card__footer { border-top-color: rgba(255,255,255,.12); color: #4a5568; }

/* Hidden (JS filter) */
.wosf-wrap .wosf-card[hidden] { display: none; }

/* Empty state — (0,2,0) */
.wosf-wrap .wosf-empty {
  font-size: 15px;
  color: var(--gray-dark, #4B5563);
  padding: var(--s-50, 2.5rem);
  text-align: center;
  grid-column: 1 / -1;
}

/* ================================================================
   SUBMISSION FORM
   ================================================================ */
.wosf-wrap .wosf-submit-section {
  background: var(--blue-lightest, #EEF1F6);
  border-top: 1px solid var(--gray-light, #E3E3E3);
  border-bottom: 1px solid var(--gray-light, #E3E3E3);
  padding: var(--s-84, 4rem) var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-submit-box {
  max-width: 720px;
  margin: 0 auto;
  background: var(--white-pure, #fff);
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 8px;
  padding: var(--s-40, 2rem);
  box-shadow: 0 1px 6px rgba(0,26,49,.07);
}

/* Form title — (0,2,0) */
.wosf-wrap .wosf-submit-box__title {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: 24px;
  font-weight: 700;
  color: var(--navy-dark, #001A31);
  margin-bottom: 4px;
}

/* Form sub — (0,2,0) */
.wosf-wrap .wosf-submit-box__sub {
  font-size: 15px;
  color: var(--gray-dark, #4B5563);
  margin-bottom: var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 600px) {
  .wosf-wrap .wosf-form { grid-template-columns: 1fr; }
}

.wosf-wrap .wosf-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.wosf-wrap .wosf-field--full { grid-column: 1 / -1; }

.wosf-wrap .wosf-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--navy-dark, #001A31);
}

.wosf-wrap .wosf-req  { color: var(--green-strong, #259245); font-weight: 700; margin-left: 1px; }
.wosf-wrap .wosf-opt  { color: var(--gray-medium, #A09696); font-weight: 400; margin-left: 4px; font-size: 12px; }

.wosf-wrap .wosf-input {
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 14px;
  padding: 10px 12px;
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 6px;
  background: var(--white-pure, #fff);
  color: var(--navy-dark, #001A31);
  transition: border-color 120ms ease, box-shadow 120ms ease;
  width: 100%;
}

.wosf-wrap .wosf-input::placeholder { color: var(--gray-medium, #A09696); }

.wosf-wrap .wosf-input:focus {
  outline: none;
  border-color: var(--green-strong, #259245);
  box-shadow: 0 0 0 3px rgba(37,146,69,.18);
}

.wosf-wrap textarea.wosf-input { resize: vertical; min-height: 90px; }

.wosf-wrap .wosf-char-count {
  font-size: 11px;
  color: var(--gray-medium, #A09696);
  text-align: right;
}

.wosf-wrap .wosf-submit-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-submit-note {
  font-size: 13px;
  color: var(--gray-dark, #4B5563);
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.wosf-wrap .wosf-submit-note__check {
  flex-shrink: 0;
  vertical-align: middle;
}

/* Feedback message */
.wosf-wrap .wosf-msg {
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 14px;
  margin-bottom: 20px;
}

.wosf-wrap .wosf-msg--success {
  background: var(--green-light, #DEEFE3);
  border: 1px solid #b8dfca;
  color: #2d6b3f;
}

.wosf-wrap .wosf-msg--error {
  background: #fff1f1;
  border: 1px solid #ffc9c8;
  color: #9f1615;
}

/* Swag callout */
.wosf-wrap .wosf-swag {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: var(--s-20, 1rem);
  background: #E6ECF5;
  border: 1px solid #c5d0e4;
  border-radius: 6px;
  padding: 14px 16px;
  font-size: 13px;
  color: var(--navy-dark, #001A31);
  line-height: 1.55;
}

.wosf-wrap .wosf-swag__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: #001A31;
  margin-top: 1px;
}

.wosf-wrap .wosf-swag strong {
  font-weight: 600;
  color: #1d5c31;
}

/* ================================================================
   STATS STRIP
   ================================================================ */
.wosf-wrap .wosf-stats {
  background: #259245;
  color: var(--white-pure, #fff);
  padding: var(--s-75, 3.5rem) var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-stats__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--s-40, 2rem);
  align-items: center;
}

@media (max-width: 900px) {
  .wosf-wrap .wosf-stats__inner {
    grid-template-columns: 1fr 1fr;
  }
  .wosf-wrap .wosf-stats__pitch { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .wosf-wrap .wosf-stats__inner { grid-template-columns: 1fr 1fr; }
}

/* Stats pitch — (0,2,0) */
.wosf-wrap .wosf-stats__pitch {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.4;
}

.wosf-wrap .wosf-stats__pitch {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--white-pure, #fff);
  white-space: nowrap;
}

.wosf-wrap .wosf-stats__pitch span { color: rgba(255,255,255,0.85); }

/* Stat number — (0,2,0) */
.wosf-wrap .wosf-stat__n {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

.wosf-wrap .wosf-stat__l {
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.7);
  margin-top: 6px;
  font-weight: 500;
}

/* Utility icon sizing */
.wosf-wrap .wosf-icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ================================================================
   MOBILE: full-width buttons
   ================================================================ */
@media (max-width: 540px) {
  .wosf-wrap .wosf-cta-row {
    flex-direction: column;
    align-items: stretch;
  }
  .wosf-wrap .wosf-btn {
    justify-content: center;
    width: 100%;
  }
}

/* ================================================================
   TOOLBAR: right-side controls
   ================================================================ */
.wosf-wrap .wosf-toolbar {
  flex-wrap: wrap;
  justify-content: space-between;
}

.wosf-wrap .wosf-toolbar__left  { flex: 1; min-width: 0; overflow-x: auto; }

.wosf-wrap .wosf-toolbar__right {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0 8px 16px;
  border-left: 1px solid var(--gray-light, #E3E3E3);
  flex-shrink: 0;
}

.wosf-wrap .wosf-toolbar__search {
  display: flex;
  align-items: center;
  gap: 5px;
  background: var(--white-base, #F9FAFB);
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 4px;
  padding: 3px 8px;
}

.wosf-wrap .wosf-search-input {
  border: 0;
  background: transparent;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 12px;
  color: var(--navy-dark, #001A31);
  width: 120px;
  outline: none;
  line-height: 1.4;
}
.wosf-wrap .wosf-search-input::placeholder { color: var(--gray-medium, #A09696); }

.wosf-wrap .wosf-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--gray-dark, #4B5563);
}

.wosf-wrap .wosf-sort-label { white-space: nowrap; }

.wosf-wrap .wosf-sort-select {
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 13px;
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 4px;
  padding: 5px 8px;
  background: var(--white-pure, #fff);
  color: var(--navy-dark, #001A31);
  cursor: pointer;
}

@media (max-width: 680px) {
  .wosf-wrap .wosf-toolbar__right { display: none; }
}

/* ================================================================
   FEATURED BADGE + CARD VARIANT
   ================================================================ */
.wosf-wrap .wosf-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  background: var(--green-light, #DEEFE3);
  color: #1d5c31;
  border: 1px solid #b8dfca;
  border-radius: 3px;
  padding: 3px 7px;
  line-height: 1.3;
}

.wosf-wrap .wosf-card--featured {
  border-color: #b8dfca;
  background: linear-gradient(180deg, #f4fbf7 0%, var(--white-pure, #fff) 60%);
}

/* Featured cards always have dark name — overrides founder's white-on-dark */
.wosf-wrap .wosf-card--featured .wosf-card__name { color: var(--navy-dark, #001A31); }
.wosf-wrap .wosf-card--featured .wosf-card__meta  { color: var(--gray-dark, #4B5563); }
.wosf-wrap .wosf-card--featured .wosf-card__quote { color: var(--gray-dark, #4B5563); }
.wosf-wrap .wosf-card--featured .wosf-dot         { background: var(--gray-medium, #A09696); }
.wosf-wrap .wosf-card--featured .wosf-card__footer{ border-top-color: var(--gray-light, #E3E3E3); color: var(--gray-medium, #A09696); }



/* ================================================================
   ISSUE CTA BANNER
   ================================================================ */
.wosf-wrap .wosf-issue-banner {
  max-width: 1200px;
  margin: var(--s-25, 1.25rem) auto 0;
  padding: 0 var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-issue-banner__inner {
  background: linear-gradient(135deg, var(--green-light, #DEEFE3) 0%, var(--white-pure, #fff) 100%);
  border: 1px solid #b8dfca;
  border-radius: 6px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-issue-banner__num {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-size: 28px;
  font-weight: 700;
  color: var(--green-strong, #259245);
  flex-shrink: 0;
  padding-right: 18px;
  border-right: 1px solid #b8dfca;
  line-height: 1;
}

.wosf-wrap .wosf-issue-banner__text {
  flex: 1;
  min-width: 200px;
  font-size: 14px;
  line-height: 1.45;
  color: #2d5c3e;
}

.wosf-wrap .wosf-issue-banner__cta {
  font-size: 14px;
  font-weight: 600;
  color: var(--green-strong, #259245);
  white-space: nowrap;
  flex-shrink: 0;
}
.wosf-wrap .wosf-issue-banner__cta:hover { text-decoration: underline; }

/* No results */
.wosf-wrap .wosf-no-results {
  font-size: 14px;
  color: var(--gray-dark, #4B5563);
  text-align: center;
  padding: var(--s-40, 2rem);
}

/* ================================================================
   MASTHEAD (editorial hero)
   ================================================================ */

.wosf-wrap .wosf-masthead {
  max-width: 1280px;
  margin: 0 auto;
  padding: calc(var(--s-90) + 50px) var(--s-30, 1.5rem) var(--s-90);
}

/* --- Horizontal rules --- */
.wosf-wrap .wosf-mast-rule {
  display: flex;
  align-items: center;
  gap: 14px;
}
.wosf-wrap .wosf-mast-rule--top  { margin-bottom: 14px; }
.wosf-wrap .wosf-mast-rule--bottom { margin-top: 28px; }

.wosf-wrap .wosf-rule-line {
  flex: 1;
  height: 1px;
  background: var(--navy-dark, #001A31);
}
.wosf-wrap .wosf-mast-rule--bottom .wosf-rule-line {
  height: 3px;
  position: relative;
}
.wosf-wrap .wosf-mast-rule--bottom .wosf-rule-line::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 1px;
  background: var(--navy-dark, #001A31);
}

.wosf-wrap .wosf-rule-mark {
  color: var(--green-strong, #259245);
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
}

/* --- 2-col grid --- */
.wosf-wrap .wosf-mast-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 56px;
  align-items: stretch;
}
@media (max-width: 900px) {
  .wosf-wrap .wosf-mast-grid { grid-template-columns: 1fr; gap: 32px; }
}

.wosf-wrap .wosf-mast-left {
  display: flex;
  flex-direction: column;
}

/* --- Display title --- */
.wosf-wrap .wosf-mast-title {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-weight: 700;
  color: var(--navy-dark, #001A31);
  margin: 0;
  line-height: 0.88;
  letter-spacing: -0.025em;
  font-size: clamp(64px, 9.2vw, 112px);
}

.wosf-wrap .wosf-mast-the {
  display: block;
  font-size: 0.34em;
  letter-spacing: 0.32em;
  color: var(--gray-dark, #4B5563);
  font-weight: 500;
  margin: 0 0 10px;
  font-family: var(--font-primary, 'Sora', sans-serif);
}

.wosf-wrap .wosf-mast-main { display: block; }

.wosf-wrap .wosf-mast-amp {
  font-family: var(--font-primary, 'Sora', sans-serif);
  font-style: normal;
  font-weight: 700;
  color: var(--navy-dark, #001A31);
  letter-spacing: -0.01em;
}

/* Lede + CTA row: left-aligned inside masthead */
.wosf-wrap .wosf-masthead .wosf-lede {
  margin: 28px 0 0;
  max-width: 560px;
}

.wosf-wrap .wosf-masthead .wosf-cta-row {
  margin-top: 28px;
  justify-content: flex-start;
}

/* Ghost button */
.wosf-wrap .wosf-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 500;
  color: var(--navy-dark, #001A31);
  text-decoration: none;
  padding: 12px 4px;
  border-bottom: 1px solid transparent;
  transition: color 120ms ease, border-color 120ms ease;
}
.wosf-wrap .wosf-btn-ghost:hover {
  color: var(--green-strong, #259245);
  border-bottom-color: var(--green-strong, #259245);
}
.wosf-wrap .wosf-btn-ghost ion-icon { font-size: 14px; }

/* ================================================================
   META BAR (Showing X of Y + pagination)
   ================================================================ */
.wosf-wrap .wosf-wall-meta {
  max-width: 1200px;
  margin: var(--s-15, 0.75rem) auto 0;
  padding: 0 var(--s-30, 1.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 32px;
}

.wosf-wrap .wosf-showing {
  font-size: 12px;
  color: var(--gray-dark, #4B5563);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ================================================================
   PAGINATION
   ================================================================ */
.wosf-wrap .wosf-pagination {
  display: flex;
  align-items: center;
  gap: 3px;
}

.wosf-wrap .wosf-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 4px;
  background: var(--white-pure, #fff);
  color: var(--navy-dark, #001A31);
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 100ms ease, border-color 100ms ease, color 100ms ease;
  line-height: 1;
}

.wosf-wrap .wosf-page-btn:hover:not(:disabled) {
  background: var(--white-base, #F9FAFB);
  border-color: var(--gray-dark, #4B5563);
}

.wosf-wrap .wosf-page-btn--active {
  background: var(--green-strong, #259245);
  border-color: var(--green-strong, #259245);
  color: var(--white-pure, #fff);
  font-weight: 700;
}

.wosf-wrap .wosf-page-btn--active:hover {
  background: var(--green-strong, #259245);
  border-color: var(--green-strong, #259245);
  color: var(--white-pure, #fff);
}

.wosf-wrap .wosf-page-btn--arrow {
  font-size: 14px;
  color: var(--gray-dark, #4B5563);
}

.wosf-wrap .wosf-page-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.wosf-wrap .wosf-page-gap {
  font-size: 13px;
  color: var(--gray-medium, #A09696);
  padding: 0 2px;
  line-height: 30px;
}

/* ================================================================
   CLOSING QUOTE ICON
   ================================================================ */
.wosf-wrap .wosf-close-quote {
  display: inline-block;
  vertical-align: -0.15em;
  margin-left: 1px;
  color: var(--green-strong, #259245);
  opacity: 0.55;
}
/* ================================================================
   MOBILE OVERFLOW FIXES
   ================================================================ */
@media (max-width: 540px) {
  /* Title: scale down so 'WALL of SMALL' fits on one line */
  .wosf-wrap .wosf-mast-title {
    font-size: clamp(32px, 9.5vw, 52px);
    letter-spacing: -0.015em;
  }

  .wosf-wrap .wosf-mast-the {
    font-size: 0.38em;
    letter-spacing: 0.18em;
  }

  /* More breathing room at top on mobile (fixed header is shorter) */
  .wosf-wrap .wosf-masthead {
    padding-top: calc(var(--s-75, 3.5rem) + 60px);
    padding-bottom: var(--s-40, 2rem);
    /* No overflow:hidden — let the grid column determine width */
  }
}

  /* ================================================================
   SHARE PANEL (post-submission)
   ================================================================ */
.wosf-wrap .wosf-share {
  background: #f4fbf7;
  border: 1px solid #b8dfca;
  border-radius: 6px;
  padding: 16px 18px;
  margin-bottom: 20px;
}

.wosf-wrap .wosf-share__head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--navy-dark, #001A31);
  margin-bottom: 14px;
  line-height: 1.4;
}

.wosf-wrap .wosf-share__head strong {
  color: #1d5c31;
  font-weight: 700;
}

.wosf-wrap .wosf-share__btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border-radius: 5px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: opacity 120ms ease;
  line-height: 1;
}
.wosf-wrap .wosf-share__btn:hover { opacity: 0.85; }

.wosf-wrap .wosf-share__btn--linkedin {
  background: #0A66C2;
  color: #fff;
  border-color: #0A66C2;
}

.wosf-wrap .wosf-share__btn--x {
  background: #000;
  color: #fff;
  border-color: #000;
}

.wosf-wrap .wosf-share__btn--copy {
  background: var(--white-pure, #fff);
  color: var(--navy-dark, #001A31);
  border-color: var(--gray-light, #E3E3E3);
}
/* Share panel caption box */
.wosf-wrap .wosf-share__caption {
  margin-bottom: 14px;
  position: relative;
}

.wosf-wrap .wosf-share__caption-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--gray-dark, #4B5563);
  margin-bottom: 6px;
}

.wosf-wrap .wosf-share__caption-box {
  background: var(--white-base, #F9FAFB);
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--navy-dark, #001A31);
  white-space: pre-wrap;
  word-break: break-word;
}

.wosf-wrap .wosf-share__copy-caption {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-dark, #001A31);
  background: var(--white-pure, #fff);
  border: 1px solid var(--gray-light, #E3E3E3);
  border-radius: 4px;
  padding: 5px 10px;
  cursor: pointer;
  transition: background 100ms ease;
}
.wosf-wrap .wosf-share__copy-caption:hover {
  background: var(--white-base, #F9FAFB);
}
/* ================================================================
   SWAG STRIP
   ================================================================ */
.wosf-wrap .wosf-swag-strip {
  max-width: 1200px;
  margin: var(--s-25, 1.25rem) auto 0;
  padding: 0 var(--s-30, 1.5rem);
}

.wosf-wrap .wosf-swag-strip__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  font-size: 13px;
  color: #001A31;
  background: #E6ECF5;
  border: 1px solid #c5d0e4;
  border-radius: 6px;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-swag-strip__icon {
  flex-shrink: 0;
  color: #001A31;
}

.wosf-wrap .wosf-swag-strip__inner > span {
  flex: 1;
  min-width: 200px;
  line-height: 1.55;
}

.wosf-wrap .wosf-swag-strip__inner strong { font-weight: 600; color: #001A31; }

.wosf-wrap .wosf-swag-strip__cta {
  font-size: 13px;
  font-weight: 600;
  color: #001A31;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none !important;
}
.wosf-wrap .wosf-swag-strip__cta:hover { opacity: 0.7; text-decoration: none !important; }
/* Copy caption done state */
.wosf-wrap .wosf-share__copy-caption--done {
  background: var(--green-light, #DEEFE3) !important;
  border-color: #b8dfca !important;
  color: #1d5c31 !important;
}
/* ================================================================
   FEATURED CARD: cover image / video
   ================================================================ */
.wosf-wrap .wosf-card__cover {
  margin: -18px -18px 14px;
  border-radius: 4px 4px 0 0;
  overflow: hidden;
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--navy-dark, #001A31);
}

.wosf-wrap .wosf-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 300ms ease;
}

.wosf-wrap .wosf-card:hover .wosf-card__cover img {
  transform: scale(1.03);
}

.wosf-wrap .wosf-card__cover-link {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.wosf-wrap .wosf-card__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: transform 200ms ease;
}

.wosf-wrap .wosf-card__cover-link:hover .wosf-card__play {
  transform: translate(-50%, -50%) scale(1.1);
}

/* Featured cards with cover: badge sits above image */
.wosf-wrap .wosf-card--featured .wosf-badge {
  z-index: 1;
}
/* Card footer */
.wosf-wrap .wosf-card__footer {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--gray-light, #E3E3E3);
  font-size: 11px;
  color: var(--gray-medium, #A09696);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.4;
}

.wosf-wrap .wosf-card__footer-people {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--gray-medium, #A09696);
  line-height: 1;
}

/* Keep SVG from clipping — set explicit size and block display */
.wosf-wrap .wosf-card__footer-people svg,
.wosf-wrap .wosf-card__footer-people .wosf-icon {
  display: block;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  overflow: visible;
}

.wosf-wrap .wosf-card--founder .wosf-card__footer  { border-top-color: rgba(255,255,255,.12); color: #4a5568; }
.wosf-wrap .wosf-card--featured .wosf-card__footer { border-top-color: var(--gray-light, #E3E3E3); color: var(--gray-medium, #A09696); }

/* Ticker: mobile top offset */
@media (max-width: 768px) {
  .wosf-wrap .wosf-ticker { top: 75px; }
}

/* Submit section: centred heading + sub */
.wosf-wrap .wosf-submit-box__title,
.wosf-wrap .wosf-submit-box__sub {
  text-align: center;
}
/* ================================================================
   CARD: cover image (featured, top of card full-width)
   ================================================================ */
.wosf-wrap .wosf-card__cover {
  margin: -18px -18px 14px;
  border-radius: 4px 4px 0 0;
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--navy-dark, #001A31);
}

.wosf-wrap .wosf-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 4px 4px 0 0;
  transition: transform 300ms ease;
}

.wosf-wrap .wosf-card:hover .wosf-card__cover img { transform: scale(1.03); }

/* Badge inside cover: absolute over the image */
.wosf-wrap .wosf-card__cover .wosf-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  right: auto;
  z-index: 3;
}

/* ================================================================
   CARD: full-card link overlay (featured + URL)
   ================================================================ */
.wosf-wrap .wosf-card--linked {
  cursor: pointer;
}

.wosf-wrap .wosf-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 6px;
}

/* Raise badge above overlay so it stays readable */
.wosf-wrap .wosf-card--linked .wosf-badge {
  position: relative;
  z-index: 2;
}


/* Card logo (photo field, shown after quote) */
.wosf-wrap .wosf-card__logo {
  display: block;
  max-height: 18px;
  max-width: 50%;
  width: auto;
  object-fit: contain;
  object-position: left center;
  margin-top: 10px;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: opacity 150ms ease;
}
.wosf-wrap .wosf-card:hover .wosf-card__logo { opacity: 0.6; }
.wosf-wrap .wosf-mast-blue { color: var(--navy-dark, #001A31); }

.wosf-wrap .underline-highlight::before {
  background-color: var(--green-strong) !important;
  height: 0.1em !important;
}

/* [wosf_grid] standalone grid */
.wosf-grid--standalone {
  column-count: 3;
  column-gap: 20px;
}
@media (max-width: 900px) { .wosf-grid--standalone { column-count: 2; } }
@media (max-width: 560px) { .wosf-grid--standalone { column-count: 1; } }
/* Rule with FC shield */
.wosf-live-board__rule {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.wosf-live-board__rule-line {
  flex: 1;
  height: 1px;
  background: var(--navy-dark, #001A31);
}
.wosf-live-board__rule-mark {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}


/* ================================================================
   ENGRAVING PANEL — on-brand card style
   Shared tokens (declared here, used by both .wosf-wrap and .wosf-live-board)
   ================================================================ */
:root {
  --wosf-brand:            #059669;
  --wosf-brand-subtle:     #deefe375;
  --wosf-border-default:   #E5E7EB;
  --wosf-border-subtle:    #F3F4F6;
  --wosf-fg-strong:        #001A31;
  --wosf-fg-muted:         #6B7280;
  --wosf-radius:           4px;
  --wosf-radius-lg:        8px;
  --wosf-radius-full:      9999px;
  --wosf-shadow:           0 1px 3px rgba(16,24,40,0.08), 0 1px 2px rgba(16,24,40,0.05);
}

/* ----------------------------------------------------------------
   Panel container — both main wall and standalone
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-engraving,
.wosf-live-board .wosf-engraving {
  background: #fff;
  border: 1px solid #000;
  border-radius: var(--wosf-radius-lg);
  box-shadow: var(--wosf-shadow);
  padding: 16px 18px 14px;
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

/* Remove old inset frame */
.wosf-wrap .wosf-engraving::before,
.wosf-live-board .wosf-engraving::before { display: none; }

/* ----------------------------------------------------------------
   Header
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-engraving__head,
.wosf-live-board .wosf-engraving__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--wosf-border-default);
  padding-bottom: 10px;
  margin-bottom: 0;
}

/* LIVE pill */
.wosf-wrap .wosf-live,
.wosf-live-board .wosf-live {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--wosf-brand-subtle);
  color: var(--wosf-brand);
  border-radius: var(--wosf-radius-full);
  padding: 3px 10px 3px 8px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
}

.wosf-wrap .wosf-live-dot,
.wosf-live-board .wosf-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wosf-brand);
  animation: wosfPulse 2s ease-in-out infinite;
  flex-shrink: 0;
}

.wosf-wrap .wosf-engraving__label,
.wosf-live-board .wosf-engraving__label {
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 12px;
  font-weight: 500;
  color: var(--wosf-fg-muted);
  letter-spacing: 0;
}

/* ----------------------------------------------------------------
   Feed rows — no counters, no dotted borders
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-engraving__feed,
.wosf-live-board .wosf-engraving__feed {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: none;
}

.wosf-wrap .wosf-engraving__feed li,
.wosf-live-board .wosf-engraving__feed li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 8px;
  border: none;
  border-radius: var(--wosf-radius);
  counter-increment: none;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

.wosf-wrap .wosf-engraving__feed li + li,
.wosf-live-board .wosf-engraving__feed li + li {
  border-top: 1px solid var(--wosf-border-subtle);
}

/* Remove the counter ::before */
.wosf-wrap .wosf-engraving__feed li::before,
.wosf-live-board .wosf-engraving__feed li::before {
  display: none;
  content: none;
}

/* Firm name */
.wosf-wrap .wosf-engraving__name,
.wosf-live-board .wosf-engraving__name {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--wosf-fg-strong);
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

/* Location — stacked below firm name */
.wosf-wrap .wosf-engraving__loc,
.wosf-live-board .wosf-engraving__loc {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--wosf-fg-muted);
  margin-left: 0;
  margin-top: 1px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

.wosf-wrap .wosf-engraving__loc::before,
.wosf-live-board .wosf-engraving__loc::before { content: none; }

/* Timestamp — right-aligned, plain muted */
.wosf-wrap .wosf-engraving__when,
.wosf-live-board .wosf-engraving__when {
  font-size: 11px;
  color: var(--wosf-fg-muted);
  letter-spacing: 0;
  font-weight: 400;
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 1px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

/* Fresh row — green-tinted bg, no green text */
.wosf-wrap .wosf-engraving__feed li.fresh,
.wosf-live-board .wosf-engraving__feed li.fresh {
  background: var(--wosf-brand-subtle);
}

.wosf-wrap .wosf-engraving__feed li.fresh .wosf-engraving__name,
.wosf-live-board .wosf-engraving__feed li.fresh .wosf-engraving__name {
  color: var(--wosf-fg-strong);
}

.wosf-wrap .wosf-engraving__feed li.fresh .wosf-engraving__when,
.wosf-live-board .wosf-engraving__feed li.fresh .wosf-engraving__when {
  color: var(--wosf-brand);
}

/* ----------------------------------------------------------------
   Footer
   ---------------------------------------------------------------- */
.wosf-wrap .wosf-engraving__foot,
.wosf-live-board .wosf-engraving__foot {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid var(--wosf-border-default);
  padding-top: 10px;
  margin-top: 4px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
  font-size: 12px;
  letter-spacing: 0;
  color: var(--wosf-fg-muted);
  font-weight: 400;
  flex-wrap: wrap;
}

.wosf-wrap .wosf-engraving__foot strong,
.wosf-live-board .wosf-engraving__foot strong {
  color: var(--wosf-fg-strong);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ----------------------------------------------------------------
   Standalone live board wrapper + rule
   ---------------------------------------------------------------- */
.wosf-live-board {
  width: 100%;
  max-width: 560px;
  font-family: var(--font-secondary, 'Inter', sans-serif);
}

.wosf-live-board__rule {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.wosf-live-board__rule-line {
  flex: 1;
  height: 1px;
  background: var(--wosf-border-default);
}

.wosf-live-board__rule-mark {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* [wosf_grid] standalone */
.wosf-grid--standalone {
  column-count: 3;
  column-gap: 20px;
}
@media (max-width: 900px) { .wosf-grid--standalone { column-count: 2; } }
@media (max-width: 560px) { .wosf-grid--standalone { column-count: 1; } }
/* Featured cards: quotes never truncated */
.wosf-wrap .wosf-card--featured .wosf-card__quote {
  overflow: visible;
  max-height: none;
  -webkit-line-clamp: unset;
  display: block;
}
.wosf-wrap .wosf-card__quote--plain { font-style: normal; }
.wosf-wrap .wosf-card__quote--plain::before { content: none; }