/* ============================================================================
   kindr - THE INNER PAGES in the "Social ecosystem" design (every screen but the home):
   about us, contact, our programs, a program page, partner with us, shop, the CMS default page, the post lists,
   one post (article / event), search, a program entry (/program/<slug>).
   Loaded on every screen (theme.json vendors.global.css, after chrome.css). Every rule is scoped to the inner
   page's main (body.kd-social .kd2-page: partials/social chrome) so the home is untouched; it restyles the
   live classes the templates keep (bekindr-live.css, still loaded) and the page hero (partials/page_banner.php).
   Colours are the --kd2-* tokens (chrome.css) and nothing else; fonts Outfit / Figtree / IBM Plex Mono.
   Minimum text 14px (owner rule).
   ============================================================================ */

/* ---------- the inner pages' two radii (owner: buttons and pictures less rounded than the home): every inner
   button, chip, field and badge uses --kd2-r-btn; every card, picture and panel --kd2-r-img ---------- */
body.kd-social { --kd2-r-btn: 10px; --kd2-r-img: 12px; }

/* ---------- the page: type, links, width ---------- */
body.kd-social .kd2-page { font-family: var(--kd2-body); font-size: 17px; line-height: 1.65; color: var(--kd2-text); -webkit-font-smoothing: antialiased; }
body.kd-social .kd2-page :is(h1, h2, h3, h4, h5, h6) { font-family: var(--kd2-display); color: var(--kd2-ink); letter-spacing: -.02em; line-height: 1.15; }
body.kd-social .kd2-page h1 { font-size: clamp(36px, 4.6vw, 64px); font-weight: 700; }
body.kd-social .kd2-page h2 { font-size: clamp(30px, 3.6vw, 48px); font-weight: 700; }
body.kd-social .kd2-page h3 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; }
body.kd-social .kd2-page h4 { font-size: 24px; font-weight: 600; }
body.kd-social .kd2-page h5 { font-size: 20px; font-weight: 600; }
body.kd-social .kd2-page h6 { font-size: 18px; font-weight: 600; }
body.kd-social .kd2-page p { color: inherit; }
body.kd-social .kd2-page a { color: var(--kd2-violet); }
body.kd-social .kd2-page a:hover { color: var(--kd2-violet-deep); }
body.kd-social .kd2-page strong, body.kd-social .kd2-page b { color: var(--kd2-text2); font-weight: 700; }
body.kd-social .kd2-page .container { max-width: 1320px; padding-left: 40px; padding-right: 40px; }
body.kd-social .kd2-page .section { position: relative; padding: 96px 0; }
body.kd-social .kd2-page .section.no-padding-top { padding-top: 0; }
body.kd-social .kd2-page .background--brown { background: var(--kd2-lav5); }
/* the live site's paint art around pictures, icons and pages: not in this design */
body.kd-social .kd2-page :is(.img--layout, .video-frame__img-layout, .donation__bg, .causes__bg) { display: none; }
body.kd-social .kd2-page .bottom-background { display: none; }
body.kd-social .kd2-page :is(.about-us, .video-block)::before { content: none; }
body.kd-social .kd2-page .video-block::after { background: var(--kd2-lav5); }
/* live's cover pictures (.img--bg) sit at z-index -1 under their box: each box that now has its own
   background is a stacking context of its own, so the picture paints over that background */
body.kd-social .kd2-page :is(.img-box__img, .blog-item__img, .causes-item__img, .team-item__img, .video-frame, .donation-item__img, .recent-posts__item-img, .shop-item__img) { isolation: isolate; }

/* ---------- the page hero (partials/page_banner.php): dark, as the design's Features & Tools page ---------- */
body.kd-social .kd2-phero { position: relative; overflow: hidden; padding: 56px 0 66px; background: var(--kd2-ink); color: var(--kd2-white); }
body.kd-social .kd2-phero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .28; filter: saturate(.7); }
body.kd-social .kd2-phero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--kd2-ink-rgb), .96) 0%, rgba(var(--kd2-ink-rgb), .82) 45%, rgba(var(--kd2-ink-rgb), .45) 100%); }
body.kd-social .kd2-phero__b1 { width: 520px; height: 520px; top: -200px; left: -120px; background: var(--kd2-magenta); opacity: .35; }
body.kd-social .kd2-phero__b2 { width: 520px; height: 520px; bottom: -260px; right: -80px; background: var(--kd2-sky); opacity: .25; animation-delay: -6s; }
body.kd-social .kd2-phero__in { position: relative; z-index: 2; }
body.kd-social .kd2-phero__pre { color: var(--kd2-sun); }
body.kd-social .kd2-page .kd2-phero__title { margin: 16px 0 0; max-width: 1000px; font-family: var(--kd2-display); font-size: clamp(34px, 4.4vw, 64px); font-weight: 700; line-height: 1; letter-spacing: -.04em; color: var(--kd2-white); overflow-wrap: anywhere; }
body.kd-social .kd2-page .kd2-phero__title:first-child { margin-top: 0; }
body.kd-social .kd2-page .kd2-phero--long .kd2-phero__title { font-size: clamp(28px, 3.3vw, 48px); line-height: 1.06; letter-spacing: -.03em; }
body.kd-social .kd2-page .kd2-phero__text { margin: 18px 0 0; max-width: 680px; font-size: 18px; line-height: 1.6; color: var(--kd2-soft); }
body.kd-social .kd2-phero__line { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 2; }

/* ---------- section headings: the eyebrow over a display title, its second part in the gradient ---------- */
body.kd-social .kd2-page .heading { margin-bottom: 36px; }
body.kd-social .kd2-page .heading--center { text-align: center; }
body.kd-social .kd2-page .heading__pre-title { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--kd2-violet); }
body.kd-social .kd2-page .heading__pre-title::before { content: ''; width: 22px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--kd2-magenta), var(--kd2-sky), var(--kd2-sun)); }
body.kd-social .kd2-page .heading__pre-title:empty { display: none; }
body.kd-social .kd2-page .heading .heading__title { margin: 0 0 20px; font-family: var(--kd2-display); font-size: clamp(34px, 4.2vw, 60px); font-weight: 700; line-height: 1.02; letter-spacing: -.035em; color: var(--kd2-ink); }
body.kd-social .kd2-page .heading .heading__title.no-margin-bottom { margin-bottom: 0; }
body.kd-social .kd2-page .heading__title::before, body.kd-social .kd2-page .heading__title::after { content: none; display: none; }
/* the title's second part carries kd2-grad-d (kd2-grad on the dark band): chrome.css; live made it light */
body.kd-social .kd2-page .heading__title span:nth-of-type(2) { font-weight: 700; }
body.kd-social .kd2-page .heading p { max-width: 760px; margin: 0; font-size: 18px; line-height: 1.6; color: var(--kd2-text); }

/* ---------- buttons: the design's buttons, less rounded (--kd2-r-btn), the home's arrow after the words
   (kd_social_icon('arr', 16, 'kd2-arr') in the markup), sliding on hover ---------- */
body.kd-social .kd2-page :is(.button, .form__submit, .btn_register) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 44px; height: auto; padding: 10px 20px; border: 0; border-radius: var(--kd2-r-btn); background: var(--kd2-violet); color: var(--kd2-white); font-family: var(--kd2-body); font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: normal; text-align: center; cursor: pointer; box-shadow: none; transition: transform .25s, box-shadow .3s, background .25s, color .25s; }
body.kd-social .kd2-page :is(.button, .form__submit, .btn_register):hover { transform: translateY(-2px); background: var(--kd2-violet); color: var(--kd2-white); box-shadow: 0 14px 34px rgba(var(--kd2-violet-rgb), .45); }
body.kd-social .kd2-page :is(.button, .form__submit) span { color: inherit; }
body.kd-social .kd2-page :is(.button, .form__submit) .kd2-arr { flex: none; transition: transform .25s; }
body.kd-social .kd2-page :is(.button, .form__submit):hover .kd2-arr { transform: translateX(3px); }
body.kd-social .kd2-page .button.small_btn { min-height: 44px; padding: 10px 18px; font-size: 14px; }
body.kd-social .kd2-page .show-more { background: var(--kd2-ink); }
body.kd-social .kd2-page .show-more:hover { background: var(--kd2-ink); box-shadow: 0 14px 40px rgba(var(--kd2-ink-rgb), .35); }

/* ---------- cards: white, edge to edge pictures, equal heights, no shadow (owner); a lift, a firmer line and the
   spectrum line on hover ---------- */
body.kd-social .kd2-page :is(.blog-item--style-1, .causes-item--primary, .team-item, .donor-item, .shop-item, .icon-item, .stories-item .img-box__img) { position: relative; }
body.kd-social .kd2-page :is(.blog-item--style-1, .causes-item--primary, .donor-item, .shop-item) { display: flex; flex-direction: column; width: 100%; margin: 0; padding: 0; overflow: hidden; background: linear-gradient(180deg, var(--kd2-white), var(--kd2-lav4)); border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); box-shadow: none; transition: transform .45s cubic-bezier(.2, .8, .2, 1), border-color .3s; }
body.kd-social .kd2-page :is(.blog-item--style-1, .causes-item--primary, .donor-item, .shop-item):hover { transform: translateY(-6px); border-color: var(--kd2-lilac); box-shadow: none; }
body.kd-social .kd2-page :is(.blog-item--style-1, .causes-item--primary, .donor-item, .shop-item)::after { content: ''; position: absolute; top: 0; left: 0; right: 0; z-index: 3; height: 3px; background: linear-gradient(90deg, var(--kd2-magenta), var(--kd2-lilac), var(--kd2-sky), var(--kd2-mint), var(--kd2-sun)); transform: scaleX(0); transform-origin: left; transition: transform .5s; }
body.kd-social .kd2-page :is(.blog-item--style-1, .causes-item--primary, .donor-item, .shop-item):hover::after { transform: scaleX(1); }
body.kd-social .kd2-page :is(.eq_height_wrapper2, .fixx_eq_h) { display: flex; margin-bottom: 28px; }

/* the post cards (partials/post_card): the picture edge to edge, the type on it, the title under it */
body.kd-social .kd2-page .blog-item--style-1 > a { display: block; text-decoration: none; }
/* every card's picture box (post cards and program cards): the same 16:10 box edge to edge, the WHOLE picture shown
   (contain, centred) over the page title's animated gradient (chrome.css --kd2-grad-bg + kd2-gshift, as .kd2-grad) */
body.kd-social .kd2-page :is(.blog-item__img, .causes-item--primary .causes-item__img) { position: relative; overflow: hidden; margin: 0; background: var(--kd2-grad-bg); background-size: 300% 100%; animation: kd2-gshift 10s linear infinite; }
body.kd-social .kd2-page :is(.blog-item__img, .causes-item--primary .causes-item__img)::before { padding-top: 62.5%; }
body.kd-social .kd2-page :is(.blog-item__img, .causes-item--primary .causes-item__img) .img--bg { object-fit: contain; object-position: center; }
body.kd-social .kd2-page .blog-item__img img { transition: transform 1s cubic-bezier(.2, .8, .2, 1); }
body.kd-social .kd2-page .blog-item--style-1:hover .blog-item__img img { transform: scale(1.06); }
body.kd-social .kd2-page .blog-item--style-1 .blog-item__badge { position: static; align-self: flex-start; margin: 0 0 12px; display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: var(--kd2-r-btn); background: var(--kd2-sun); color: var(--kd2-ink); font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
body.kd-social .kd2-page .blog-item__content { display: flex; flex-direction: column; flex: 1; padding: 20px 24px 22px; }
body.kd-social .kd2-page .blog-item__excerpt { margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: var(--kd2-text); }
body.kd-social .kd2-page .blog-item__meta { margin-top: auto; padding-top: 14px; font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; letter-spacing: .04em; color: var(--kd2-text6); }
body.kd-social .kd2-page .blog-item--style-1 .blog-item__title { margin: 0; font-family: var(--kd2-display); font-size: 21px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; color: var(--kd2-ink); }
body.kd-social .kd2-page .blog-item__title a { color: inherit; text-decoration: none; }
body.kd-social .kd2-page .blog-item__title a:hover { color: var(--kd2-violet); }

/* ---------- category tabs over a list (feed_list, causes): the design's chips ---------- */
body.kd-social .kd2-page ul.category-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.kd-social .kd2-page ul.category-list li { margin: 0; padding: 0; }
body.kd-social .kd2-page ul.category-list h4 { margin: 0; font: inherit; letter-spacing: 0; }
body.kd-social .kd2-page ul.category-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--kd2-line); border-radius: var(--kd2-r-btn); background: var(--kd2-white); color: var(--kd2-ink); font-family: var(--kd2-body); font-size: 15px; font-weight: 500; line-height: 1.2; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
/* bekindr-live.css gives every .category-list link `color: #282a43 !important`, a 20px right margin and 20px type,
   and the bar `padding-bottom: 0 !important`: only !important beats those, so the chip colours and the bar padding
   carry it here (chip words: ink; a hovered chip: a light violet tint, ink words; the chosen chip: white on violet) */
body.kd-social .kd2-page ul.category-list li a { margin: 0; font-size: 15px; color: var(--kd2-ink) !important; }
body.kd-social .kd2-page ul.category-list li a:is(:hover, :focus-visible) { transform: translateY(-2px); background: var(--kd2-lav); border-color: var(--kd2-line5); color: var(--kd2-ink) !important; box-shadow: none; }
body.kd-social .kd2-page ul.category-list li a.active, body.kd-social .kd2-page ul.category-list li a.active:is(:hover, :focus-visible) { background: var(--kd2-violet); border-color: var(--kd2-violet); color: var(--kd2-white) !important; }
/* a list's filter bar rides on the hero's edge (as the design's tools filter) */
body.kd-social .kd2-page .kd-list { padding: 0 0 110px; background: var(--kd2-lav5); }
body.kd-social .kd2-page .kd-feed > div.category-list { padding: 14px !important; margin-bottom: 36px !important; }
body.kd-social .kd2-page .causes-inner div.heading ul.category-list { padding: 0 !important; }
body.kd-social .kd2-page .kd-feed > div.category-list, body.kd-social .kd2-page .kd-list .kd-search { position: relative; z-index: 2; margin: -26px 0 36px; padding: 14px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); box-shadow: 0 24px 50px rgba(var(--kd2-violet-rgb), .14); }
body.kd-social .kd2-page .kd-list .kd-search + .kd-feed > div.category-list { margin-top: 0; box-shadow: none; background: transparent; border: 0; padding: 0 !important; }
body.kd-social .kd2-page .kd-feed__empty { padding: 24px 0 60px; font-size: 17px; color: var(--kd2-text4); }
body.kd-social .kd2-page .kd-feed .flexx_boxx { margin-top: 8px; }

/* ---------- forms: pill fields, the violet focus ring ---------- */
body.kd-social .kd2-page :is(input.form__field, textarea.form__field, select.form__field, .kd-select),
body.kd-social .kd2-page .kd-form .qme-form-system :is(input.form__field, textarea.form__field, select) { height: 52px; width: 100%; margin: 0; padding: 0 22px; border: 1.5px solid var(--kd2-line3); border-radius: var(--kd2-r-btn); background: var(--kd2-white); color: var(--kd2-ink); font-family: var(--kd2-body); font-size: 16px; font-weight: 500; box-shadow: none; transition: border-color .2s, box-shadow .2s; }
body.kd-social .kd2-page :is(input.form__field, textarea.form__field, .kd-select):focus,
body.kd-social .kd2-page .kd-form .qme-form-system :is(input.form__field, textarea.form__field, select):focus { outline: 0; border-color: var(--kd2-violet); box-shadow: 0 0 0 4px rgba(var(--kd2-violet-rgb), .15); }
body.kd-social .kd2-page :is(input, textarea)::placeholder { color: var(--kd2-text6); opacity: 1; }
body.kd-social .kd2-page .kd-form .qme-form-system textarea.form__message, body.kd-social .kd2-page textarea.form__field { height: auto; min-height: 170px !important; padding: 16px 22px; border-radius: var(--kd2-r-img); }
body.kd-social .kd2-page .kd-form .qme-form-system .qme-form-field { margin-bottom: 16px !important; }
body.kd-social .kd2-page .kd-form .qme-form-system .submit-box { margin-top: 8px; }
/* the contact page's form card */
body.kd-social .kd2-page .message-form { padding: 40px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .form__title { margin: 0 0 8px; font-family: var(--kd2-display); font-size: clamp(28px, 3vw, 40px); font-weight: 700; letter-spacing: -.03em; color: var(--kd2-ink); }
body.kd-social .kd2-page .form__text { display: block; margin: 0 0 24px; font-size: 16px; color: var(--kd2-text4); }

/* ---------- about / program intro: the picture, the lead, the big aside line ---------- */
/* the intro and story pictures (in place of live's paint-brush art, .img--layout, hidden above): the whole box is the
   page title's own animated gradient (chrome.css --kd2-grad-bg + kd2-gshift, as .kd2-grad); the picture fills it
   with a 10px margin, with no border, ring or panel of its own. The files are live's round cut-outs on a wide
   transparent canvas, so the picture is cropped square (cover) and scaled until its circle meets that margin */
body.kd-social .kd2-page .img-box__img { --kd2-pad: 10px; overflow: hidden; border: 0; outline: 0; box-shadow: none; border-radius: var(--kd2-r-img); background: var(--kd2-grad-bg); background-size: 300% 100%; animation: kd2-gshift 10s linear infinite; }
body.kd-social .kd2-page .img-box__img::before { padding-top: 100%; border: 0; box-shadow: none; background: none; }
body.kd-social .kd2-page .img-box__img::after { content: none; }
body.kd-social .kd2-page .img-box__img .img--bg { inset: var(--kd2-pad); width: calc(100% - 2 * var(--kd2-pad)); height: calc(100% - 2 * var(--kd2-pad)); border: 0; outline: 0; border-radius: 0; box-shadow: none; background: none; object-fit: cover; object-position: center; transform: scale(1.16); }
/* picture + text rows (about / program intro and mission, the story rows): live's Bootstrap offset gutter replaced by
   one gap - 48px on a desktop, 32px at laptop width, the two columns stacked 24px apart on a phone; picture half */
body.kd-social .kd2-page :is(.about-us > .container > .row, .stories-item:not(.stories-item--text) > .row) { row-gap: 24px; }
body.kd-social .kd2-page :is(.about-us, .stories-item) .img-box { margin-bottom: 0; }
@media (min-width: 992px) {
    body.kd-social .kd2-page :is(.about-us > .container > .row, .stories-item:not(.stories-item--text) > .row) { flex-wrap: nowrap; gap: 48px; margin-left: 0; margin-right: 0; }
    body.kd-social .kd2-page :is(.about-us > .container > .row, .stories-item:not(.stories-item--text) > .row) > [class*="col-"] { flex: 1 1 0; max-width: none; margin-left: 0; padding-left: 0; padding-right: 0; }
    body.kd-social .kd2-page :is(.about-us > .container > .row, .stories-item:not(.stories-item--text) > .row) > [class*="col-"]:has(> .img-box) { flex: 0 0 50%; }
}
@media (min-width: 992px) and (max-width: 1299px) {
    body.kd-social .kd2-page :is(.about-us > .container > .row, .stories-item:not(.stories-item--text) > .row) { gap: 32px; }
}
body.kd-social .kd2-page .about-us__subtitle { margin-bottom: 20px; font-family: var(--kd2-display); font-size: 22px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; color: var(--kd2-ink); }
body.kd-social .kd2-page .about-us__subtitle:empty { display: none; }
body.kd-social .kd2-page .about-us__subtitle p { margin: 0; }
/* live's script line ("Inspirational Leadership"): the design's thin display face, in kd2-grad (the markup) */
body.kd-social .kd2-page .about-us__text-aside { font-family: var(--kd2-display); font-size: clamp(48px, 6.4vw, 104px); font-weight: 200; line-height: 1; letter-spacing: -.045em; text-align: left; }
body.kd-social .kd2-page .about-us__text-aside:empty { display: none; }
/* on Our Founders / a program's mission the line is a panel in the page title's animated gradient (the same
   treatment as the picture rows), its words white on it, top-aligned with the text (normal flow) */
body.kd-social .kd2-page .about-us--style-2 .about-us__text-aside.kd2-grad { display: flex; align-items: flex-end; min-height: 360px; padding: 40px; border-radius: var(--kd2-r-img); -webkit-background-clip: border-box; background-clip: border-box; color: var(--kd2-white); font-size: clamp(44px, 4.6vw, 76px); font-weight: 300; }
@media (min-width: 992px) {
    body.kd-social .kd2-page .about-us--style-2 .row { align-items: flex-start !important; }
}
body.kd-social .kd2-page .about-us--style-2 .row > [class*="col-"] > h3 { font-family: var(--kd2-display); font-size: clamp(30px, 3.2vw, 44px); font-weight: 700; letter-spacing: -.03em; color: var(--kd2-ink); }
body.kd-social .kd2-page .about-us--style-2 .row > [class*="col-"] > h3 { margin-bottom: 18px; }

/* ---------- About Us > Our Founders (pages/about_us.php .kd2-founders): the text at a readable measure, the
   "Inspirational Leadership" line beside it as a square gradient panel, top-aligned with the text; on a phone the
   panel stacks above the text. The editor text's own inline sizes and colours (font-size: 12pt / 14pt spans, purple links)
   are evened out to the body type and the theme's links ---------- */
body.kd-social .kd2-page .kd2-founders__body { max-width: 68ch; font-size: 17px; line-height: 1.7; color: var(--kd2-text3); }
body.kd-social .kd2-page .kd2-founders__body p { margin: 0 0 1.1em; }
body.kd-social .kd2-page .kd2-founders__body :is(span, strong, em, b, i, a, font) { font-size: inherit !important; line-height: inherit !important; }
body.kd-social .kd2-page .kd2-founders__body span { color: inherit !important; }
body.kd-social .kd2-page .kd2-founders__body a, body.kd-social .kd2-page .kd2-founders__body a * { color: var(--kd2-violet) !important; font-weight: 600; text-decoration: none; }
body.kd-social .kd2-page .kd2-founders__body a:hover, body.kd-social .kd2-page .kd2-founders__body a:hover * { color: var(--kd2-violet-deep) !important; text-decoration: underline; text-underline-offset: 3px; }
/* a line that is only a link ("Listen now ...", "Click here to see Richard's BIO"): a link line with the arrow (js/pages.js) */
body.kd-social .kd2-page .kd2-founders__body .kd2-linkline { margin: 0 0 .6em; }
body.kd-social .kd2-page .kd2-founders__body .kd2-linkline a { display: inline; }
body.kd-social .kd2-page .kd2-founders__body .kd2-linkline .kd2-arr { margin-left: 6px; vertical-align: -2px; transition: transform .25s; }
body.kd-social .kd2-page .kd2-founders__body .kd2-linkline a:hover .kd2-arr { transform: translateX(3px); }
body.kd-social .kd2-page .kd2-founders .heading { margin-bottom: 28px; }
body.kd-social .kd2-page .kd2-founders .button { margin: 12px 0 0; }
@media (min-width: 992px) {
    body.kd-social .kd2-page .row.kd2-founders > .kd2-founders__text { flex: 1 1 0; }
    body.kd-social .kd2-page .row.kd2-founders > [class*="col-"]:not(.kd2-founders__text) { flex: 0 0 42%; }
}
body.kd-social .kd2-page .about-us--style-2 .about-us__text-aside.kd2-founders__card { aspect-ratio: 1 / 1; min-height: 0; padding: 44px; line-height: 1.02; letter-spacing: -.04em; background-size: 300% 100%; animation: kd2-gshift 10s linear infinite; }
@media (max-width: 991px) {
    body.kd-social .kd2-page .row.kd2-founders { flex-direction: column-reverse; }
}

/* ---------- the video frame ---------- */
body.kd-social .kd2-page .video-frame { overflow: hidden; border-radius: var(--kd2-r-img); }
body.kd-social .kd2-page .video-frame::before { background: linear-gradient(180deg, rgba(var(--kd2-shade-rgb), .15) 30%, rgba(var(--kd2-shade-rgb), .85) 100%); }
body.kd-social .kd2-page .video-frame__trigger { z-index: 2; color: var(--kd2-white); text-decoration: none; }
body.kd-social .kd2-page .video-frame__trigger:hover { color: var(--kd2-white); opacity: 1; }
body.kd-social .kd2-page .video-frame__icon { display: inline-flex; align-items: center; justify-content: center; width: 84px; height: 84px; line-height: 1; background: rgba(var(--kd2-white-rgb), .95); color: var(--kd2-ink); box-shadow: 0 0 0 12px rgba(var(--kd2-white-rgb), .18); transition: transform .3s; }
body.kd-social .kd2-page .video-frame__trigger:hover .video-frame__icon { transform: scale(1.08); }
body.kd-social .kd2-page .video-frame__icon .fa { font-size: 26px; line-height: 1; margin-left: 4px; }
body.kd-social .kd2-page .video-frame__text { margin-top: 18px; font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; letter-spacing: .14em; }

/* ---------- Our Impact figures (partials/statistics): the design's dark impact band ---------- */
body.kd-social .kd2-page .statistics { overflow: hidden; background: radial-gradient(70% 90% at 0% 0%, rgba(var(--kd2-magenta-rgb), .28), transparent 60%), radial-gradient(60% 80% at 100% 100%, rgba(var(--kd2-sky-rgb), .22), transparent 60%), var(--kd2-ink); }
body.kd-social .kd2-page .statistics .heading__title { color: var(--kd2-white); }
body.kd-social .kd2-page .statistics .heading__pre-title { color: var(--kd2-sun); }
body.kd-social .kd2-page .statistics .icon-item { height: calc(100% - 24px); margin: 0 0 24px; padding: 30px 26px; border: 1px solid rgba(var(--kd2-white-rgb), .12); border-radius: var(--kd2-r-img); background: rgba(var(--kd2-white-rgb), .06); text-align: left; transition: background .3s; }
body.kd-social .kd2-page .statistics .icon-item:hover { background: rgba(var(--kd2-white-rgb), .1); }
body.kd-social .kd2-page .statistics .icon-item__img { display: flex; align-items: baseline; gap: 2px; font-family: var(--kd2-display); font-size: clamp(44px, 4.4vw, 64px); font-weight: 700; line-height: .95; letter-spacing: -.03em; color: var(--kd2-white); }
/* prefix, number and suffix on one line, in one font (.kd2-fig, partials/statistics.php); the suffix in sun */
body.kd-social .kd2-page .statistics .kd2-fig { display: inline-flex; flex-wrap: nowrap; align-items: baseline; white-space: nowrap; }
body.kd-social .kd2-page .statistics .icon-item__img span { display: inline; position: static; transform: none; margin: 0; color: inherit; font: inherit; }
body.kd-social .kd2-page .statistics .icon-item__img .kd2-fig__suf { color: var(--kd2-sun); }
body.kd-social .kd2-page .statistics .js-counter { font-variant-numeric: tabular-nums; }
body.kd-social .kd2-page .statistics .icon-item__text { margin-top: 16px; }
body.kd-social .kd2-page .statistics .icon-item__text p { margin: 0; font-family: var(--kd2-body); font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--kd2-soft); }

/* ---------- contact cards ---------- */
body.kd-social .kd2-page .contacts .icon-item { height: calc(100% - 24px); margin: 0 0 24px; padding: 30px 24px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); text-align: left; transition: transform .45s cubic-bezier(.2, .8, .2, 1), border-color .3s; }
body.kd-social .kd2-page .contacts .icon-item:hover { transform: translateY(-6px); border-color: var(--kd2-lilac); }
body.kd-social .kd2-page .contacts .icon-item__img { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--kd2-r-btn); background: linear-gradient(135deg, var(--kd2-magenta), var(--kd2-lilac)); color: var(--kd2-white); box-shadow: 0 10px 20px rgba(var(--kd2-violet-rgb), .25); }
body.kd-social .kd2-page .contacts .col-lg-3:nth-child(2) .icon-item__img { background: linear-gradient(135deg, var(--kd2-sky), var(--kd2-violet)); }
body.kd-social .kd2-page .contacts .col-lg-3:nth-child(3) .icon-item__img { background: linear-gradient(135deg, var(--kd2-sun), var(--kd2-magenta)); }
body.kd-social .kd2-page .contacts .col-lg-3:nth-child(4) .icon-item__img { background: linear-gradient(135deg, var(--kd2-mint), var(--kd2-sky)); }
body.kd-social .kd2-page .contacts .icon-item__img :is(.icon, svg, img) { position: static; transform: none; width: 26px; height: 26px; margin: 0; font-size: 26px; color: var(--kd2-white); fill: currentColor; object-fit: contain; }
body.kd-social .kd2-page .contacts .icon-item__text { margin-top: 20px; }
body.kd-social .kd2-page .contacts .icon-item__text p { margin: 0; font-family: var(--kd2-body); font-size: 17px; font-weight: 600; line-height: 1.5; color: var(--kd2-ink); overflow-wrap: anywhere; }
body.kd-social .kd2-page .contacts .icon-item__link { color: var(--kd2-ink); text-decoration: none; }
body.kd-social .kd2-page .contacts .icon-item__link:hover { color: var(--kd2-violet); }
body.kd-social .kd2-page .contacts .socials { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.kd-social .kd2-page .contacts .socials__link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--kd2-line); border-radius: 50%; background: var(--kd2-white); color: var(--kd2-ink); text-decoration: none; transition: background .2s, color .2s, transform .2s; }
body.kd-social .kd2-page .contacts .socials__link:hover { transform: translateY(-2px); background: var(--kd2-violet); border-color: var(--kd2-violet); color: var(--kd2-white); }
body.kd-social .kd2-page .contacts .socials__link :is(svg, img, .icon) { width: 18px; height: 18px; fill: currentColor; }
body.kd-social .kd2-page .contacts .socials { justify-content: flex-start; padding: 0; }
body.kd-social .kd2-page .contacts .socials__item { margin: 0; }
body.kd-social .kd2-page .contacts-wrapper { padding: 0; background: none; }
body.kd-social .kd2-page .contacts-wrapper .row { justify-content: center; }
body.kd-social .kd2-page .contacts + .contacts { padding-top: 0; }

/* ---------- team (partials/team): rounded cards, the photo in a gradient ring ---------- */
body.kd-social .kd2-page .team .row.margin-bottom > [class*="col-"] { display: flex; margin-bottom: 24px; }
/* live's hover painted the card navy and the name white: the card stays white here, so the name and role keep their
   colours on hover (team-item--rounded:hover beats live's rule) and the hover is a lift, a violet line and the sun button */
body.kd-social .kd2-page .team-item { display: flex; flex-direction: column; align-items: stretch; width: 100%; margin: 0; padding: 0 0 22px; overflow: hidden; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); text-align: center; box-shadow: none; transition: transform .45s cubic-bezier(.2, .8, .2, 1), border-color .3s; }
body.kd-social .kd2-page .team-item__description { padding: 0 20px; }
body.kd-social .kd2-page .team-item--rounded:hover, body.kd-social .kd2-page .team-item--rounded.team-item--active { transform: translateY(-6px); border-color: var(--kd2-lilac); background: var(--kd2-white); box-shadow: none; }
body.kd-social .kd2-page .team-item__socials:empty { display: none; }
body.kd-social .kd2-page .team-item__img-holder { width: 100%; }
/* the photo edge to edge across the card's top (4:5, face kept in frame), the card's radius on its top corners */
body.kd-social .kd2-page .team-item--rounded .team-item__img { width: 100%; max-width: none; height: auto; aspect-ratio: 4 / 5; margin: 0 0 18px; padding: 0; border-radius: calc(var(--kd2-r-img) - 1px) calc(var(--kd2-r-img) - 1px) 0 0; background: var(--kd2-lav); }
body.kd-social .kd2-page .team-item--rounded .team-item__img .img--bg { object-fit: cover; object-position: center 25%; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
body.kd-social .kd2-page .team-item--rounded:hover .team-item__img .img--bg { transform: scale(1.05); }
body.kd-social .kd2-page .team-item--rounded :is(.team-item__name, .team-item__position), body.kd-social .kd2-page .team-item--rounded:hover :is(.team-item__name, .team-item__position) { position: relative; z-index: 2; }
body.kd-social .kd2-page .team-item--rounded .team-item__name, body.kd-social .kd2-page .team-item--rounded:hover .team-item__name { font-family: var(--kd2-display); font-size: 20px; font-weight: 600; line-height: 1.25; color: var(--kd2-ink); }
body.kd-social .kd2-page .team-item--rounded .team-item__position, body.kd-social .kd2-page .team-item--rounded:hover .team-item__position { margin-top: 6px; font-family: var(--kd2-body); font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--kd2-violet); }
body.kd-social .kd2-page .team-item .text-center.mt-3 { margin-top: auto !important; padding: 16px 20px 0; }
body.kd-social .kd2-page .team-item--rounded:hover .button { background: var(--kd2-sun); color: var(--kd2-ink); }
/* the bio window */
body.kd-social.theme-kindr .modal.team_mdl { background: rgba(var(--kd2-ink-rgb), .7); backdrop-filter: blur(6px); }
body.kd-social.theme-kindr .modal.team_mdl .modal-content { border-radius: var(--kd2-r-img); overflow: hidden; font-family: var(--kd2-body); color: var(--kd2-text); }
/* the window fits the screen (24px round it); a long bio scrolls inside with a thin violet scrollbar - beside the
   photo on a wide screen (the photo and the close button stay in view), the whole body on a phone */
body.kd-social.theme-kindr .modal.team_mdl { padding: 24px 16px; overflow: hidden; }
body.kd-social.theme-kindr .modal.team_mdl .modal-dialog { max-width: 960px; height: 100%; display: flex; align-items: center; }
body.kd-social.theme-kindr .modal.team_mdl .modal-content { position: relative; display: flex; flex-direction: column; width: 100%; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); }
body.kd-social.theme-kindr .modal.team_mdl .modal-body { display: flex; flex-direction: column; min-height: 0; padding: 48px 44px 40px; overflow-y: auto; }
body.kd-social.theme-kindr .modal.team_mdl .kd2-bio--photo { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 36px; align-items: start; overflow: hidden; }
body.kd-social.theme-kindr .modal.team_mdl .kd2-bio--photo .heading { max-height: calc(100vh - 48px - 88px); max-height: calc(100dvh - 48px - 88px); overflow-y: auto; padding-right: 12px; }
body.kd-social.theme-kindr .modal.team_mdl :is(.modal-body, .heading) { scrollbar-width: thin; scrollbar-color: var(--kd2-violet) transparent; }
body.kd-social.theme-kindr .modal.team_mdl :is(.modal-body, .heading)::-webkit-scrollbar { width: 8px; }
body.kd-social.theme-kindr .modal.team_mdl :is(.modal-body, .heading)::-webkit-scrollbar-track { background: transparent; }
body.kd-social.theme-kindr .modal.team_mdl :is(.modal-body, .heading)::-webkit-scrollbar-thumb { background: var(--kd2-violet); border-radius: 8px; }
body.kd-social.theme-kindr .modal.team_mdl .close { z-index: 3; }
body.kd-social.theme-kindr .modal.team_mdl .kd2-bio__photo { overflow: hidden; border-radius: var(--kd2-r-img); background: var(--kd2-lav); aspect-ratio: 1 / 1; }
body.kd-social.theme-kindr .modal.team_mdl .kd2-bio__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.kd-social.theme-kindr .modal.team_mdl .heading { margin: 0; text-align: left; }
body.kd-social.theme-kindr .modal.team_mdl .heading p { max-width: none; margin: 0 0 1em; font-size: 17px; line-height: 1.7; color: var(--kd2-text3); }
body.kd-social.theme-kindr .modal.team_mdl .heading__pre-title { display: inline-flex; margin-bottom: 12px; font-family: var(--kd2-mono); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--kd2-violet); }
body.kd-social.theme-kindr .modal.team_mdl .heading__title { margin-bottom: 18px; font-family: var(--kd2-display); font-size: 34px; font-weight: 700; letter-spacing: -.03em; color: var(--kd2-ink); }
body.kd-social.theme-kindr .modal.team_mdl .heading__title::after, body.kd-social.theme-kindr .modal.team_mdl .heading__title::before { content: none; }
body.kd-social.theme-kindr .modal.team_mdl .close { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--kd2-line); background: var(--kd2-white); color: var(--kd2-ink); font-size: 26px; line-height: 1; opacity: 1; }

/* ---------- the story rows (partials/story_rows: Our Programs' initiatives, Partner Stories) ---------- */
body.kd-social .kd2-page .stories-item { margin-bottom: 72px; }
body.kd-social .kd2-page .stories .heading__pre-title { font-size: 14px; }
body.kd-social .kd2-page .stories .heading .heading__title { font-size: clamp(30px, 3.4vw, 48px); }
body.kd-social .kd2-page .stories-item__button { margin-top: 10px; }
body.kd-social .kd2-page .stories-item--text .row > div { padding: 40px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: linear-gradient(180deg, var(--kd2-white), var(--kd2-lav4)); }
body.kd-social .kd2-page .stories-item--text .row { padding: 0 15px; }
/* a story with no picture (Partner With Us: Council, Donors): one full-width card, the spectrum line on its top */
body.kd-social .kd2-page .stories-item--text .row > div { position: relative; overflow: hidden; flex: 0 0 100%; max-width: 100%; }
body.kd-social .kd2-page .stories-item--text .row > div::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--kd2-grad-bg); background-size: 300% 100%; animation: kd2-gshift 10s linear infinite; }
body.kd-social .kd2-page .stories-item--text :is(p, ul, ol) { max-width: 900px; }
body.kd-social .kd2-page .stories-item--text .kd2-story-end { margin-left: auto; }

/* ---------- the programs (partials/causes + cause_card) ---------- */
body.kd-social .kd2-page .causes-inner .row.offset-margin > [class*="col-"] { display: flex; margin-bottom: 28px; }
body.kd-social .kd2-page .causes-inner .row.offset-margin > [hidden] { display: none; }
body.kd-social .kd2-page .causes-item--primary .causes-item__body { display: flex; flex-direction: column; flex: 1; padding: 0; background: none; box-shadow: none; }
body.kd-social .kd2-page .causes-item--primary .causes-item__top { padding: 20px 24px 0; }
body.kd-social .kd2-page .causes-item--primary .causes-item__img { width: 100%; padding: 0; }
body.kd-social .kd2-page .causes-item--primary .causes-item__img img { transition: transform 1s cubic-bezier(.2, .8, .2, 1); }
body.kd-social .kd2-page .causes-item--primary:hover .causes-item__img img { transform: scale(1.06); }
/* the category badge sits in the text, above the title (cause_card.php), never over the picture */
body.kd-social .kd2-page .causes-item--primary .causes-item__badge { position: static; margin: 0 0 12px; color: var(--kd2-white); display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: var(--kd2-r-btn); font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; }
body.kd-social .kd2-page .causes-item__title { margin: 0 0 10px; font-family: var(--kd2-display); font-size: 21px; font-weight: 600; line-height: 1.25; letter-spacing: -.01em; color: var(--kd2-ink); }
body.kd-social .kd2-page .causes-item__title a { color: inherit; text-decoration: none; }
body.kd-social .kd2-page .causes-item__title a:hover { color: var(--kd2-violet); opacity: 1; }
body.kd-social .kd2-page .causes-item__top p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--kd2-text); }
body.kd-social .kd2-page .causes-item__top p a { margin-left: 4px; font-weight: 600; text-decoration: none; }
body.kd-social .kd2-page .causes-item--primary .causes-item__lower { margin-top: auto; padding: 22px 24px 8px; }
body.kd-social .kd2-page .progress-bar { height: 8px; background: var(--kd2-lav); border-radius: 999px; overflow: visible; }
body.kd-social .kd2-page .progress-bar__inner { background: linear-gradient(90deg, var(--kd2-magenta), var(--kd2-lilac), var(--kd2-sky), var(--kd2-mint)); border-radius: 999px; }
/* the figure over the bar starts where the bar (and the text) starts, not left of it */
body.kd-social .kd2-page .progress-bar { margin-top: 26px; }
body.kd-social .kd2-page .progress-bar__value { top: -26px; left: 0; right: auto; white-space: nowrap; font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; color: var(--kd2-text2); }
body.kd-social .kd2-page .progress-bar__value::after { content: '%'; }
body.kd-social .kd2-page .causes-item__details-holder { margin-top: 16px; font-size: 14px; color: var(--kd2-text5); }
body.kd-social .kd2-page .causes-item__details-item { flex: 1; }
body.kd-social .kd2-page .causes-item__details-item span { display: block; }
body.kd-social .kd2-page .causes-item__details-item span:nth-of-type(2) { font-family: var(--kd2-display); font-size: 18px; font-weight: 700; color: var(--kd2-ink); }
body.kd-social .kd2-page .causes-item--primary .causes-item__button { align-self: stretch; margin: 16px 24px 24px; background: var(--kd2-sun); color: var(--kd2-ink); }
body.kd-social .kd2-page .causes-item--primary .causes-item__button:hover { background: var(--kd2-sun); color: var(--kd2-ink); box-shadow: 0 12px 34px rgba(var(--kd2-sun-rgb), .55); }
body.kd-social .kd2-page .causes-inner .heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
body.kd-social .kd2-page .causes-inner .heading .heading__title { margin: 0; }
/* the related programs slider on a program entry */
body.kd-social .kd2-page .causes--style-2 { background: var(--kd2-lav5); }
body.kd-social .kd2-page .causes-slider__item { display: flex; padding: 8px 12px 30px; }
body.kd-social .kd2-page .causes-slider .slick-track { display: flex; }
body.kd-social .kd2-page .causes-slider .slick-slide { height: auto; }
body.kd-social .kd2-page .slider__arrows { display: flex; gap: 10px; }
body.kd-social .kd2-page :is(.slider__prev, .slider__next) { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid rgba(var(--kd2-ink-rgb), .12); border-radius: 50%; background: var(--kd2-white); color: var(--kd2-ink); cursor: pointer; box-shadow: 0 6px 16px rgba(var(--kd2-ink-rgb), .08); transition: box-shadow .2s, transform .2s; }
body.kd-social .kd2-page :is(.slider__prev, .slider__next):hover { transform: scale(1.06); box-shadow: 0 12px 28px rgba(var(--kd2-ink-rgb), .18); }

/* ---------- a program page's toolkit (donor-item): tool cards ---------- */
body.kd-social .kd2-page .donor-item { height: 100%; padding: 26px 24px; }
body.kd-social .kd2-page .donor-item__name { font-family: var(--kd2-display); font-size: 21px; font-weight: 600; line-height: 1.25; color: var(--kd2-ink); }
body.kd-social .kd2-page .donor-item__date { margin-top: 8px; font-size: 15px; line-height: 1.55; color: var(--kd2-text); }
body.kd-social .kd2-page .donor-item br { display: none; }
body.kd-social .kd2-page .donor-item .m_btn { margin-top: 18px; }

/* ---------- partner logos (partials/donors) ---------- */
/* one even background for the whole band: live's grey ::before panel (100% - 75px wide) made it two colours */
body.kd-social .kd2-page .donors { background: var(--kd2-lav5); }
body.kd-social .kd2-page .donors::before, body.kd-social .kd2-page .donors::after { content: none; }
body.kd-social .kd2-page .donors-slider .slick-slide > div, body.kd-social .kd2-page .donors-slider__item { width: 100%; }
body.kd-social .kd2-page .donors-slider__img { width: 100%; transition: transform .3s; }
/* About Us: the "Partner With Us" heading (a bare container after the logos) sits right over its story cards */
body.kd-social .kd2-page #partners + .container { padding-top: 72px; }
body.kd-social .kd2-page #partners + .container + .stories { padding-top: 8px; }
body.kd-social .kd2-page .donors-slider__img:hover { transform: translateY(-4px); }
body.kd-social .kd2-page .donors-slider__img a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.kd-social .kd2-page .donors-slider__item { padding: 0 9px; }
body.kd-social .kd2-page .donors-slider__img { display: flex; align-items: center; justify-content: center; height: 130px; padding: 20px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .donors-slider__img img { max-width: 100%; max-height: 86px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
body.kd-social .kd2-page .donors-slider__img:hover img { filter: none; opacity: 1; }

/* ---------- a CMS page's text (pages/default) and every article body ---------- */
body.kd-social .kd2-page .kd2-prose { max-width: 860px; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) { font-size: 18px; line-height: 1.75; color: var(--kd2-text3); overflow-wrap: break-word; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) :is(h1, h2, h3, h4, h5, h6) { margin: 1.4em 0 .5em; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) h2 { font-size: clamp(26px, 2.6vw, 36px); }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) h3 { font-size: clamp(22px, 2.2vw, 28px); }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) :is(h4, h5, h6) { font-size: 20px; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) > :first-child { margin-top: 0; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) :is(p, ul, ol) { margin: 0 0 1.1em; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) :is(ul, ol) { padding-left: 1.3em; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) li { margin-bottom: .4em; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) a { color: var(--kd2-violet); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) img { max-width: 100%; height: auto; border-radius: var(--kd2-r-img); }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) blockquote { margin: 1.4em 0; padding: 18px 24px; border-left: 3px solid var(--kd2-violet); border-radius: 0 14px 14px 0; background: var(--kd2-lav2); font-family: var(--kd2-display); font-size: 21px; line-height: 1.5; color: var(--kd2-text2); }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: 16px; }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) :is(th, td) { padding: 10px 12px; border: 1px solid var(--kd2-line); }
body.kd-social .kd2-page :is(.kd2-prose, .kd-article, .horizontal-tabs__item) iframe { max-width: 100%; }
body.kd-social .kd2-page .kd2-pbody { padding: 80px 0 110px; }

/* ---------- one post (templates/post_detail): the article and its side panels ---------- */
body.kd-social .kd2-page .blog-post { padding: 80px 0 100px; }
body.kd-social .kd2-page .blog-post__top { margin-bottom: 36px; }
body.kd-social .kd2-page .blog-post__img33 { overflow: hidden; border-radius: var(--kd2-r-img); }
body.kd-social .kd2-page .kd-video { overflow: hidden; margin: 10px 0 30px; border-radius: var(--kd2-r-img); }
body.kd-social .kd2-page .blog-post__details { margin: 40px 0 0; padding: 20px 0; border-top: 1px solid var(--kd2-line); border-bottom: 1px solid var(--kd2-line); font-size: 15px; }
body.kd-social .kd2-page .tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.kd-social .kd2-page .tags strong { margin-right: 4px; font-family: var(--kd2-mono); font-size: 14px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--kd2-text4); }
body.kd-social .kd2-page .blog-post__tag { display: inline-flex; align-items: center; min-height: 36px; margin: 0 !important; padding: 0 14px; border-radius: var(--kd2-r-btn); background: var(--kd2-lav); color: var(--kd2-violet-deep); font-size: 14px; font-weight: 600; text-decoration: none; }
body.kd-social .kd2-page .blog-post__tag:hover { background: var(--kd2-violet); color: var(--kd2-white); }
body.kd-social .kd2-page .kd-share { gap: 8px; margin: 0; }
body.kd-social .kd2-page .kd-share > span { font-family: var(--kd2-mono); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--kd2-text4); }
body.kd-social .kd2-page .kd-share a, body.kd-social .kd2-page .blog-post__socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; border: 1px solid rgba(var(--kd2-ink-rgb), .12); border-radius: 50%; background: var(--kd2-white); color: var(--kd2-ink); font-size: 18px; text-decoration: none; box-shadow: 0 6px 16px rgba(var(--kd2-ink-rgb), .08); transition: background .2s, color .2s, transform .2s; }
body.kd-social .kd2-page .kd-share a:hover, body.kd-social .kd2-page .blog-post__socials a:hover { transform: translateY(-2px); background: var(--kd2-violet); border-color: var(--kd2-violet); color: var(--kd2-white); }
body.kd-social .kd2-page .blog-post__socials li { margin: 0 !important; }
body.kd-social .kd2-page .kd2-pside { margin-bottom: 24px; padding: 26px 24px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .kd2-pside .blog-post__title { margin: 0 0 14px; font-family: var(--kd2-display); font-size: 22px; font-weight: 600; color: var(--kd2-ink); }
body.kd-social .kd2-page .blog-post__category { margin: 0; padding: 0; list-style: none; }
body.kd-social .kd2-page .blog-post__category li { margin: 0; border-top: 1px solid var(--kd2-line6); }
body.kd-social .kd2-page .blog-post__category li:first-child { border-top: 0; }
body.kd-social .kd2-page .blog-post__category a { display: flex; align-items: center; min-height: 44px; color: var(--kd2-text2); font-size: 16px; font-weight: 500; text-decoration: none; transition: color .2s, padding .2s; }
body.kd-social .kd2-page .blog-post__category a::before { content: ''; width: 8px; height: 8px; margin-right: 12px; border-radius: 50%; background: var(--kd2-lilac); }
body.kd-social .kd2-page .blog-post__category a:hover { padding-left: 4px; color: var(--kd2-violet); }
body.kd-social .kd2-page .recent-posts { margin: 0 !important; }
body.kd-social .kd2-page .recent-posts__item { align-items: center; gap: 14px; }
body.kd-social .kd2-page .recent-posts__item:not(:last-of-type) { margin-bottom: 16px; }
body.kd-social .kd2-page .recent-posts__item-img { top: 0; flex: none; width: 64px; height: 64px; overflow: hidden; border-radius: var(--kd2-r-img); background: var(--kd2-lav); }
body.kd-social .kd2-page .recent-posts__item-img img { width: 100%; height: 100%; object-fit: cover; }
body.kd-social .kd2-page .recent-posts__item-description { width: auto; flex: 1; min-width: 0; line-height: 1.35; }
body.kd-social .kd2-page .recent-posts__item-link { font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--kd2-ink); text-decoration: none; }
body.kd-social .kd2-page .recent-posts__item-link:hover { color: var(--kd2-violet); opacity: 1; }
body.kd-social .kd2-page .blog-post + .background--brown { padding: 96px 0; }
/* the event page */
body.kd-social .kd2-page .kd-event-cover .img--bg2 { max-height: 420px; }
body.kd-social .kd2-page .service_detail { margin: 0 !important; padding: 60px 0 100px; }
body.kd-social .kd2-page .kd-event-tabs { gap: 6px; border-bottom: 1px solid var(--kd2-line3); }
body.kd-social .kd2-page .kd-event-tabs span { padding: 14px 18px; font-family: var(--kd2-body); font-size: 16px; font-weight: 600; color: var(--kd2-text4); }
body.kd-social .kd2-page .kd-event-tabs span.is-on { color: var(--kd2-violet); box-shadow: inset 0 -3px 0 var(--kd2-violet); }
body.kd-social .kd2-page .title_block p { font-family: var(--kd2-mono); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--kd2-violet); }
body.kd-social .kd2-page .title_block .title { font-family: var(--kd2-display); font-size: clamp(32px, 4vw, 52px); color: var(--kd2-ink); }
body.kd-social .kd2-page .event_boxx { max-width: 720px; padding: 22px 24px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .event_boxx h5, body.kd-social .kd2-page .description h4 { font-family: var(--kd2-display); color: var(--kd2-ink); }
body.kd-social .kd2-page .event_boxx h5 { font-size: 20px; }
body.kd-social .kd2-page .event_boxx .icon_svg { color: var(--kd2-violet); }
body.kd-social .kd2-page .btn_register { margin: 10px 0 30px; }

/* ---------- a program entry (/program/<slug>, single/kindr_program): its tabs and the donation band ---------- */
body.kd-social .kd2-page .horizontal-tabs__header { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--kd2-line3); }
body.kd-social .kd2-page .horizontal-tabs__header li:not(:last-of-type) { margin-right: 0; }
body.kd-social .kd2-page .horizontal-tabs .r-tabs-anchor { padding: 14px 18px; border-bottom: 3px solid transparent; color: var(--kd2-text4); font-family: var(--kd2-body); font-size: 16px; font-weight: 600; text-decoration: none; }
body.kd-social .kd2-page .horizontal-tabs .horizontal-tabs__header .r-tabs-state-active a, body.kd-social .kd2-page .horizontal-tabs__header a:hover { color: var(--kd2-violet); border-bottom: 3px solid var(--kd2-violet); }
body.kd-social .kd2-page .horizontal-tabs .r-tabs-panel { padding: 36px 0 0; }
body.kd-social .kd2-page .donation { padding: 0 0 110px; background: none; }
body.kd-social .kd2-page .donation-item { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border-radius: var(--kd2-r-img); background: radial-gradient(120% 140% at 100% 0%, var(--kd2-magenta) 0%, var(--kd2-violet) 45%, var(--kd2-night3) 100%); color: var(--kd2-white); box-shadow: 0 40px 80px rgba(var(--kd2-violet-rgb), .3); }
body.kd-social .kd2-page .donation-item__img::before { padding-top: 0; min-height: 100%; }
body.kd-social .kd2-page .donation-item__img { width: 100%; min-height: 320px; margin: 0; }
body.kd-social .kd2-page .donation-item__body { padding: 48px 48px 52px; background: none; }
body.kd-social .kd2-page .donation-item__title { margin: 0 0 40px; font-family: var(--kd2-display); font-size: clamp(28px, 3vw, 42px); font-weight: 700; letter-spacing: -.03em; color: var(--kd2-white); }
body.kd-social .kd2-page .donation-item .progress-bar { background: rgba(var(--kd2-white-rgb), .18); }
body.kd-social .kd2-page .donation-item .progress-bar__inner { background: linear-gradient(90deg, var(--kd2-sun), var(--kd2-sun2)); }
body.kd-social .kd2-page .donation-item .progress-bar__value { color: var(--kd2-white); }
body.kd-social .kd2-page .donation-item__details-holder { gap: 30px; margin-top: 16px; }
body.kd-social .kd2-page .donation-item .causes-item__details-item span { color: var(--kd2-on3); }
body.kd-social .kd2-page .donation-item .causes-item__details-item span:nth-of-type(2) { color: var(--kd2-white); }
body.kd-social .kd2-page .donation .donation-form { margin-top: 34px; }
body.kd-social .kd2-page .donation .form__submit { margin: 0; background: var(--kd2-sun); color: var(--kd2-ink); }
body.kd-social .kd2-page .donation .form__submit:hover { background: var(--kd2-sun); color: var(--kd2-ink); box-shadow: 0 12px 34px rgba(var(--kd2-sun-rgb), .55); }

/* ---------- shop ---------- */
body.kd-social .kd2-page .shop { background: var(--kd2-lav5); }
body.kd-social .kd2-page .shop__aside-trigger { font-family: var(--kd2-mono); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--kd2-text2); }
body.kd-social .kd2-page .shop-aside { padding: 26px 24px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .shop-aside__title { margin: 0 0 12px; font-family: var(--kd2-display); font-size: 22px; font-weight: 600; color: var(--kd2-ink); }
body.kd-social .kd2-page .brand-filter { margin: 0; padding: 0; list-style: none; }
body.kd-social .kd2-page .brand-filter a { font-weight: 600; color: var(--kd2-violet); text-decoration: none; }
body.kd-social .kd2-page .shop-item__img { background: var(--kd2-white); }
body.kd-social .kd2-page .shop-item__add { z-index: 2; border-radius: var(--kd2-r-btn); background: var(--kd2-ink); color: var(--kd2-white); font-family: var(--kd2-body); font-size: 14px; font-weight: 600; }
body.kd-social .kd2-page .shop-item__add:hover { background: var(--kd2-violet); color: var(--kd2-white); }
body.kd-social .kd2-page .shop-item__details { padding: 18px 22px 22px; border-top: 1px solid var(--kd2-line6); }
body.kd-social .kd2-page .shop-item__name { margin: 0 0 6px; font-family: var(--kd2-display); font-size: 18px; font-weight: 600; line-height: 1.3; }
body.kd-social .kd2-page .shop-item__name a { color: var(--kd2-ink); }
body.kd-social .kd2-page .shop-item__name a:hover { color: var(--kd2-violet); opacity: 1; }
body.kd-social .kd2-page .shop-item__price { font-family: var(--kd2-mono); font-size: 15px; font-weight: 500; color: var(--kd2-violet); }

/* ---------- search ---------- */
body.kd-social .kd2-page .kd-search { display: flex; flex-wrap: wrap; gap: 12px; max-width: none; }
body.kd-social .kd2-page .kd-search .form__field { flex: 1 1 260px; width: auto; border-color: var(--kd2-amber-line); background: var(--kd2-amber-bg); }
body.kd-social .kd2-page .kd-search .button { flex: none; }

/* ---------- subscribe (pages/subscribe) ---------- */
/* the page now wears the site's header and footer; its own logo (Logo & Brand: the one on white) heads the card */
body.kd-social .kd2-page .kd-subscribe { min-height: 0; padding: 80px 16px 110px; font-family: var(--kd2-body); background: var(--kd2-lav5); }
body.kd-social .kd2-page .kd-subscribe__logo img { width: 200px; margin-bottom: 36px; }
body.kd-social .kd2-page .kd-subscribe__card { padding: 36px; gap: 16px; border: 1px solid var(--kd2-line); border-radius: var(--kd2-r-img); background: var(--kd2-white); }
body.kd-social .kd2-page .kd-subscribe__card label { font-size: 15px; font-weight: 600; color: var(--kd2-text2); }
body.kd-social .kd2-page .kd-subscribe__card :is(input[type="text"], input[type="email"], textarea) { height: 52px; padding: 0 20px; border: 1.5px solid var(--kd2-line3); border-radius: var(--kd2-r-btn); font-size: 16px; }
body.kd-social .kd2-page .kd-subscribe__card textarea[name] { height: auto; min-height: 130px; padding: 14px 20px; border-radius: var(--kd2-r-img); }
/* the form builder's own submit (btn btn-primary submit-btn) in the design's sun pill */
body.kd-social .kd2-page .kd-form button.submit-btn:not(.form__submit) { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 30px; border: 0; border-radius: var(--kd2-r-btn); background: var(--kd2-sun); color: var(--kd2-ink); font-family: var(--kd2-body); font-size: 16px; font-weight: 600; box-shadow: none; transition: transform .25s, box-shadow .3s; }
body.kd-social .kd2-page .kd-form button.submit-btn:not(.form__submit):hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(var(--kd2-sun-rgb), .55); }
body.kd-social .kd2-page .kd-subscribe__btn { justify-self: stretch; min-height: 52px; padding: 0 26px; border-radius: var(--kd2-r-btn); background: var(--kd2-sun); color: var(--kd2-ink); font-size: 16px; font-weight: 600; }
body.kd-social .kd2-page .kd-subscribe__powered { color: var(--kd2-text4); }

/* ---------- smaller screens ---------- */
@media (max-width: 991px) {
    body.kd-social .kd2-page .section { padding: 72px 0; }
    body.kd-social .kd2-page .about-us__text-aside { margin: 0 0 8px; }
    body.kd-social .kd2-page .blog-post .col-md-4 { margin-top: 40px; }
    body.kd-social .kd2-page .donation-item { grid-template-columns: 1fr; }
    body.kd-social .kd2-page .donation-item__img { min-height: 240px; }
}
@media (max-width: 767px) {
    body.kd-social .kd2-page .blog-post .col-md-4 { margin-top: 24px; }
}
@media (max-width: 640px) {
    body.kd-social .kd2-page .container { padding-left: 20px; padding-right: 20px; }
    body.kd-social .kd2-phero { padding: 64px 0 80px; }
    body.kd-social .kd2-page .kd2-phero__text { font-size: 17px; }
    body.kd-social .kd2-page .section { padding: 56px 0; }
    body.kd-social .kd2-page .message-form { padding: 26px 20px; border-radius: var(--kd2-r-img); }
    body.kd-social .kd2-page .donation-item__body { padding: 32px 24px 36px; }
    body.kd-social .kd2-page .kd-subscribe__card { padding: 24px 20px; }
    body.kd-social .kd2-page .stories-item--text .row > div { padding: 26px 22px; border-radius: var(--kd2-r-img); }
    body.kd-social.theme-kindr .modal.team_mdl { padding: 16px; }
    body.kd-social.theme-kindr .modal.team_mdl .modal-body { padding: 56px 20px 24px; }
    body.kd-social.theme-kindr .modal.team_mdl .kd2-bio--photo { display: block; overflow-y: auto; }
    body.kd-social.theme-kindr .modal.team_mdl .kd2-bio__photo { margin-bottom: 20px; }
    body.kd-social.theme-kindr .modal.team_mdl .kd2-bio--photo .heading { max-height: none; overflow: visible; padding-right: 0; }
    body.kd-social.theme-kindr .modal.team_mdl .kd2-bio__photo { max-width: 240px; }
    body.kd-social .kd2-page .about-us--style-2 .about-us__text-aside.kd2-founders__card { aspect-ratio: auto; min-height: 220px; padding: 28px; }
    body.kd-social.theme-kindr .modal.team_mdl .heading__title { font-size: 28px; }
    /* the shop two to a row on a phone */
    body.kd-social .kd2-page .shop .fixx_eq_h { flex: 0 0 50%; max-width: 50%; padding-left: 8px; padding-right: 8px; margin-bottom: 16px; }
    body.kd-social .kd2-page .shop .row.offset-30 { margin-left: -8px; margin-right: -8px; }
    body.kd-social .kd2-page .shop-item__details { padding: 14px 14px 16px; }
    body.kd-social .kd2-page .shop-item__name { font-size: 16px; }
    body.kd-social .kd2-page .kd-share { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    body.kd-social .kd2-page *, body.kd-social .kd2-page *::before, body.kd-social .kd2-page *::after { animation: none !important; transition-duration: .01ms !important; }
}
