.families-we-love {
  background: #FBF5EA;
  color: #17392B;
  padding-block: clamp(3.5rem, 7vw, 6rem);
}
.fwl-head { max-width: 720px; margin: 0 auto 2.25rem; text-align: center; }
.fwl-eyebrow { color: #1F4D36; font-size: .72rem; font-weight: 800; letter-spacing: .2em; margin: 0 0 .7rem; }
.fwl-head h2 { color: #1F4D36; font-family: var(--serif, Georgia, serif); font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1.05; margin: 0; }
.fwl-head > p:last-child { color: #34483C; font-size: 1.05rem; line-height: 1.6; margin: 1rem auto 0; }
.fwl-carousel { align-items: center; display: grid; gap: clamp(.4rem, 2vw, 1.25rem); grid-template-columns: auto minmax(0, 1fr) auto; }
.fwl-track { display: block; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.fwl-track::-webkit-scrollbar { display: none; }
.fwl-cards { display: grid; gap: 1rem; grid-auto-columns: calc((100% - 2rem) / 3); grid-auto-flow: column; }
.fwl-card { align-items: center; background: #fffdf8; border: 1px solid rgba(31,77,54,.14); border-radius: 1.25rem; box-shadow: 0 12px 30px rgba(27,52,39,.08); display: flex; flex-direction: column; min-height: 100%; padding: clamp(1.35rem, 2.7vw, 2rem); scroll-snap-align: start; text-align: center; }
.fwl-photo { aspect-ratio: 1; border: 3px solid #C9A24A; border-radius: 50%; height: clamp(112px, 13vw, 156px); object-fit: cover; object-position: center; width: clamp(112px, 13vw, 156px); }
.fwl-name { color: #B3261E; font-family: var(--serif, Georgia, serif); font-size: 2rem; font-style: italic; font-weight: 700; line-height: 1.1; margin: 1rem 0 .5rem; }
.fwl-handle-line { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.fwl-platform { background: #1F4D36; border-radius: 999px; color: #fff; font-size: .65rem; font-weight: 800; letter-spacing: .08em; padding: .3rem .55rem; }
.fwl-handle { color: #253c30; font-size: .88rem; font-weight: 700; overflow-wrap: anywhere; }
.fwl-description { color: #3C4B40; line-height: 1.55; margin: 1rem 0 1.25rem; max-width: 31ch; }
.fwl-follow { background: #1F4D36; border: 2px solid #1F4D36; border-radius: 999px; color: #fff; display: inline-flex; font-weight: 750; justify-content: center; margin-top: auto; padding: .75rem 1.1rem; text-decoration: none; }
.fwl-follow:hover { background: #153a28; border-color: #153a28; }
.fwl-arrow { align-items: center; background: transparent; border: 1px solid #1F4D36; border-radius: 50%; color: #1F4D36; cursor: pointer; display: inline-flex; font-size: 1.4rem; height: 2.8rem; justify-content: center; line-height: 1; width: 2.8rem; }
.fwl-arrow:hover:not(:disabled) { background: #1F4D36; color: #fff; }
.fwl-arrow:disabled { cursor: default; opacity: .38; }
.fwl-pagination { align-items: center; display: flex; gap: .65rem; justify-content: center; margin: 1.2rem 0 0; }
.fwl-dot { background: #9caa9e; border: 0; border-radius: 999px; cursor: pointer; height: .55rem; padding: 0; width: .55rem; }
.fwl-dot[aria-current="true"] { background: #B3261E; outline: 2px solid #B3261E; outline-offset: 3px; }
.fwl-note { color: #394a3e; font-size: .92rem; line-height: 1.6; margin: 1.7rem auto 0; max-width: 740px; text-align: center; }
.fwl-note a { color: #1F4D36; font-weight: 750; text-underline-offset: .18em; }
.families-we-love :focus-visible { outline: 3px solid #B3261E; outline-offset: 4px; }
@media (max-width: 799px) {
  .fwl-carousel { gap: .45rem; grid-template-columns: 2.2rem minmax(0, 1fr) 2.2rem; }
  .fwl-cards { gap: .75rem; grid-auto-columns: 100%; }
  .fwl-arrow { height: 2.2rem; width: 2.2rem; }
  .fwl-card { padding: 1.25rem 1rem; }
  .fwl-photo { height: 132px; width: 132px; }
}
@media (prefers-reduced-motion: reduce) {
  .fwl-track { scroll-behavior: auto; }
}
