/* Kinship, couture pass: one warm ground, fewer lines, quieter labels, larger serif, more air, slower motion. */
.kinship { --lux-ground: #F6F2EB; --lux-ink: #1B1714; --lux-soft: #5E564D; --lux-hair: rgba(27,23,20,.10); background: var(--lux-ground) !important; color: var(--lux-ink); }
.kinship main > section.section, .kinship .intro, .kinship .k-gift, .kinship .k-closing, .kinship .k-expertise-text, .kinship .k-platform { background: var(--lux-ground) !important; }
.kinship .k-human { background: #141210 !important; }

/* Type: serif carries the voice, sans stays small and calm. */
.kinship h2 { font-family: Arizona, Georgia, serif !important; font-weight: 300 !important; font-size: clamp(40px, 4.2vw, 68px) !important; line-height: 1.04 !important; letter-spacing: -.022em !important; }
.kinship .prose p, .kinship .intro p, .kinship .business-sub, .kinship .k-human-copy p { font-family: Montreal, sans-serif; font-size: 16px !important; line-height: 1.8 !important; color: var(--lux-soft); max-width: 34em; }
.kinship .k-human-copy p { color: rgba(246,242,235,.72); }
.kinship .label, .kinship .business-num, .kinship .k-quote-label, .kinship .k-landscape-donation .label { font-family: Montreal, sans-serif !important; font-size: 11px !important; letter-spacing: .24em !important; text-transform: uppercase; color: var(--lux-soft) !important; }
.kinship .label span { color: #264389 !important; margin-right: 14px; }

/* Fewer lines and boxes. */
.kinship .business-list, .kinship .business { border-color: var(--lux-hair) !important; }
.kinship .intro { border-top: 0 !important; }
.kinship .k-red-rule { width: 28px !important; height: 1px !important; background: #264389 !important; }
.kinship #donation .k-gift-note { background: none !important; box-shadow: none !important; }
.kinship .k-principles a { background: none !important; box-shadow: none !important; border: 0 !important; border-top: 1px solid var(--lux-hair) !important; border-radius: 0 !important; padding: 22px 0 !important; }
.kinship .story-journey { border-color: var(--lux-hair) !important; }
.kinship .business summary { min-height: 128px !important; font-family: Arizona, Georgia, serif; font-weight: 300; font-size: clamp(28px, 2.6vw, 42px) !important; }
.kinship .business .expand { font-weight: 300 !important; font-size: 22px !important; opacity: .55; }

/* Air. */
.kinship main > section.section { padding-top: 190px !important; padding-bottom: 190px !important; }
.kinship .intro { padding: 150px 0 !important; }
.kinship .story-bridge h2 { margin-bottom: 34px !important; }

/* Pictures: no frames, a slow drift on hover. */
.kinship figure img { transition: transform 1600ms cubic-bezier(.22,1,.36,1); }
/* figure hover zoom removed */
.kinship .story-product figcaption, .kinship figure figcaption { font: 400 10px/1 Montreal, sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--lux-soft); margin-top: 16px; }

/* Links: thin underline that draws in. */
.kinship .text-link { font-family: Montreal, sans-serif; font-size: 13px !important; letter-spacing: .06em; border-bottom: 1px solid currentColor !important; padding-bottom: 6px !important; background: none !important; }

/* Header: lighter, letterspaced. */
.kinship .k-masthead nav#primary-nav > a, .kinship .k-masthead nav#primary-nav summary { font-family: Montreal, sans-serif !important; font-size: 13px !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 400 !important; }
.kinship .k-masthead-donation, .kinship .k-masthead-contact { font-size: 12px !important; letter-spacing: .14em !important; text-transform: uppercase; }

/* Slow reveal as each chapter arrives; everything visible without scripts. */
.kinship .lux-rise { transition: opacity 1200ms ease, transform 1400ms cubic-bezier(.22,1,.36,1); }
.kinship.lux-js .lux-rise:not(.lux-in) { opacity: 0; transform: translateY(26px); }
@media (prefers-reduced-motion: reduce) { .kinship.lux-js .lux-rise:not(.lux-in) { opacity: 1; transform: none; } }

/* Purpose stays the one dark chapter. */
.kinship main > section.section.k-human { background: #141210 !important; }

/* Business rows: no boxes, just the picture and the words. */
.kinship .business, .kinship .business[open], .kinship .business-body, .kinship details.business > .business-body { background: none !important; box-shadow: none !important; border-radius: 0 !important; }

/* Phone. */
@media (max-width: 650px) {
  html, body { overflow-x: clip; }
  .kinship main > section.section { padding-top: 96px !important; padding-bottom: 96px !important; }
  .kinship .intro { padding: 80px 0 !important; }
  .kinship h2 { font-size: clamp(34px, 9.4vw, 44px) !important; }
  .kinship .k-human h2 { font-size: 60px !important; }
  .kinship .business summary { min-height: 92px !important; font-size: 26px !important; }
  #biocare .business-body, #aesthetics .business-body, #wound-care .business-body, #international .business-body { display: block !important; padding: 8px 0 56px 0 !important; }
  .kinship .business-body figure, .kinship .story-product { margin: 0 0 32px !important; }
  .kinship .business-body h3 { font-size: 28px !important; }
  .kinship .business-body .prose, .kinship .business-body p { max-width: none !important; }
  .kinship .k-testimonial .k-quote { font-size: 34px; }
  .kinship .k-landscape-copy { width: 100%; }
  .direction-switch > a:first-child { display: none; }
  .direction-switch a:not([aria-current]) .direction-name { display: none; }
}

/* Cover photo sits below the bar so her face is never under it. */
@media (min-width: 651px) {
  .kinship .k-landscape-art { top: var(--masthead, 140px); }
  .kinship .k-landscape .k-angle img { object-position: 72% 18%; }
}
.kinship .k-testimonial .k-quote-label, .kinship .k-landscape-donation .label { color: rgba(255,250,240,.66) !important; }
.kinship figure:has(img[src*="assembly-specimen"]) { background: #ff301c; }
.kinship img[src*="assembly-specimen"] { object-fit: contain !important; object-position: 50% 45% !important; padding: 40px 30px 55px; box-sizing: border-box; }

/* Kinship photography, 7 October: each frame keeps its people in view. */
.kinship img[src*="kinship-v6-gift"] { object-position: 78% 40% !important; }
.kinship img[src*="kinship-v6-stewardship"] { object-position: 20% 30% !important; }
.kinship img[src*="kinship-v6-purpose"] { object-position: 40% 40% !important; }
.kinship img[src*="kinship-v6-aesthetics"] { object-position: 20% 30% !important; }
.kinship img[src*="kinship-v6-wound"] { object-position: 38% 30% !important; }
.kinship img[src*="kinship-v6-international"] { object-position: 45% 35% !important; }

/* Daylight, 7 October: white ground, cool true neutrals, Tiger red carries the one chapter of colour. */
.kinship { --lux-ground: #FFFFFF; --lux-ink: #111418; --lux-soft: #4B5259; --lux-hair: rgba(17,20,24,.10); }
.kinship #stewardship { background: #F3F5F6 !important; color: #111418 !important; }
.kinship #stewardship .prose p, .kinship #stewardship .business-body p, .kinship #stewardship .label { color: #4B5259 !important; }
.kinship main > section.section.k-human, .kinship .k-human { background: #264389 !important; color: #FFFFFF; }
.kinship .k-human h2, .kinship .k-human h2 em, .kinship .k-human .lead { color: #FFFFFF !important; }
.kinship .k-human .label, .kinship .k-human .label span, .kinship .k-human-copy p { color: rgba(255,255,255,.82) !important; }
.kinship .k-human { --line: rgba(255,255,255,.35); }
.kinship .footer, .kinship footer { background: #F3F5F6 !important; }

/* Daylight cover: sky behind the quote, dark type, no shade over the photograph. */
.kinship .k-landscape { background: #EAF3FB !important; color: #111418 !important; }
.kinship .k-landscape-art:after { background: none !important; }
.kinship .k-landscape .k-angle img { object-position: 70% 40% !important; }
.kinship .k-testimonial .k-quote, .kinship .k-landscape-copy, .kinship .k-landscape-copy .text-link, .kinship .k-landscape-donation, .kinship .k-landscape-donation > span:nth-child(2), .kinship .k-landscape-donation b { color: #111418 !important; }
.kinship .k-testimonial .k-quote-label, .kinship .k-landscape-donation .label, .kinship .k-testimonial .k-quote-by { color: rgba(17,20,24,.66) !important; opacity: 1 !important; }
.kinship .k-landscape-copy .text-link { border-bottom-color: rgba(17,20,24,.5) !important; }
.kinship .k-landscape-donation { border-top-color: rgba(17,20,24,.22) !important; }
.kinship .k-masthead { background: #FFFFFF !important; border-bottom: 1px solid rgba(17,20,24,.08); }
.kinship .k-masthead > a, .kinship .k-masthead > nav > a, .kinship .k-masthead nav#primary-nav > a, .kinship .k-masthead nav#primary-nav summary, .kinship .k-masthead .k-masthead-donation, .kinship .k-masthead .k-masthead-contact, .kinship .k-masthead button { color: #111418 !important; }
.kinship .k-masthead .logo img, .kinship .k-masthead img[src*="tiger-logo"] { filter: brightness(0) !important; }
.kinship .k-masthead svg { color: #111418; stroke: currentColor; }
.kinship .k-landscape-art:after { background: linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,0) 24%) !important; }

/* Campaign cover: lake and sky behind the quote, white type with a soft shade on the left only. */
.kinship .k-landscape { background: #2D4A63 !important; color: #FFFFFF !important; }
.kinship .k-landscape .k-angle img { object-position: 72% 50% !important; }
.kinship .k-landscape-art:after { background: linear-gradient(90deg, rgba(12,22,32,.55), rgba(12,22,32,0) 55%), linear-gradient(0deg, rgba(12,22,32,.45), rgba(12,22,32,0) 26%) !important; }
.kinship .k-testimonial .k-quote, .kinship .k-landscape-copy, .kinship .k-landscape-copy .text-link, .kinship .k-landscape-donation, .kinship .k-landscape-donation > span:nth-child(2), .kinship .k-landscape-donation b { color: #FFFFFF !important; }
.kinship .k-testimonial .k-quote-label, .kinship .k-landscape-donation .label, .kinship .k-testimonial .k-quote-by { color: rgba(255,255,255,.8) !important; }
.kinship .k-landscape-copy .text-link { border-bottom-color: rgba(255,255,255,.6) !important; }
.kinship .k-landscape-donation { border-top-color: rgba(255,255,255,.35) !important; }

/* Phone and tablet menu: a quiet button, then a full-screen white panel with serif destinations. */
@media (max-width: 1000px) {
  .kinship .k-masthead .menu-toggle { -webkit-appearance: none; appearance: none; background: none !important; border: 0; border-radius: 0; box-shadow: none; padding: 12px 0 !important; gap: 12px !important; font: 400 12px/1 Montreal, sans-serif !important; letter-spacing: .2em; text-transform: uppercase; color: #111418 !important; -webkit-tap-highlight-color: transparent; }
  .kinship .k-masthead .menu-toggle span { display: inline-block; font-size: 22px; font-weight: 300; line-height: 12px; transition: transform 260ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead .menu-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
  .kinship .k-masthead .menu-toggle:focus { outline: none; }
  .kinship .k-masthead .menu-toggle:focus-visible { outline: 1px solid #111418; outline-offset: 6px; }

  .kinship .k-masthead #primary-nav.is-open { position: fixed !important; top: var(--masthead, 88px) !important; left: 0 !important; right: 0 !important; bottom: 0; width: auto !important; max-height: none !important; justify-self: stretch; z-index: 60; display: flex !important; flex-direction: column; gap: 0 !important; overflow-y: auto; background: #FFFFFF !important; color: #111418 !important; padding: 12px 24px 140px !important; border: 0 !important; border-top: 1px solid rgba(17,20,24,.08) !important; box-shadow: none !important; animation: kMenuIn 320ms cubic-bezier(.23,1,.32,1); }
  @keyframes kMenuIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

  .kinship .k-masthead #primary-nav.is-open > a, .kinship .k-masthead #primary-nav.is-open > .nav-menu > summary { display: flex !important; align-items: center; justify-content: space-between; padding: 20px 0 !important; border-bottom: 1px solid rgba(17,20,24,.1) !important; font: 300 32px/1.1 Arizona, Georgia, serif !important; letter-spacing: -.01em !important; text-transform: none !important; color: #111418 !important; }
  .kinship .k-masthead #primary-nav.is-open > .nav-menu > summary span { font: 300 22px/1 Montreal, sans-serif; opacity: .5; transition: transform 260ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead #primary-nav.is-open > .nav-menu[open] > summary span { transform: rotate(180deg); }
  .kinship .k-masthead #primary-nav.is-open > .nav-menu[open] > summary { border-bottom-color: transparent !important; }

  .kinship .k-masthead #primary-nav.is-open .nav-panel { position: static !important; display: block !important; inset: auto !important; width: auto !important; min-height: 0 !important; background: none !important; box-shadow: none !important; padding: 0 0 18px !important; border-bottom: 1px solid rgba(17,20,24,.1); animation: none; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel::after, .kinship .k-masthead #primary-nav.is-open .nav-panel .nav-caption { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel a { display: block !important; padding: 11px 0 !important; border: 0 !important; font: 400 17px/1.3 Montreal, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; color: #111418 !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel a::after { display: none; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel a:active { color: #264389 !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel .nav-group { display: block; margin: 14px 0 4px !important; font: 400 11px/1 Montreal, sans-serif !important; letter-spacing: .2em !important; text-transform: uppercase; color: rgba(17,20,24,.5) !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-panel .nav-all { opacity: .6; font-size: 14px !important; }
  .kinship .k-masthead #primary-nav.is-open svg { width: 22px; height: 22px; }
}

/* Desktop masthead, one row: logo left, destinations centred, one utility right. White dropdown to match. */
@media (min-width: 1001px) {
  .kinship { --masthead: 84px; }
  .kinship .k-masthead { display: grid !important; grid-template-columns: 1fr auto 1fr !important; grid-template-rows: 84px !important; align-items: center !important; gap: 0 32px !important; padding: 0 clamp(24px, 4vw, 64px) !important; height: 84px; }
  .kinship .k-masthead .logo { grid-column: 1 !important; grid-row: 1 !important; justify-self: start !important; width: 158px !important; }
  .kinship .k-masthead #primary-nav { grid-column: 2 !important; grid-row: 1 !important; justify-self: center !important; width: auto !important; display: flex !important; align-items: center; gap: clamp(22px, 2.6vw, 44px) !important; }
  .kinship .k-masthead #primary-nav > a, .kinship .k-masthead #primary-nav > .nav-menu > summary { display: inline-flex !important; align-items: center; gap: 8px; padding: 30px 0 !important; font: 400 12px/1 Montreal, sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase; color: #111418 !important; cursor: pointer; border-bottom: 1px solid transparent; transition: border-color 200ms ease; }
  .kinship .k-masthead #primary-nav > a:hover, .kinship .k-masthead #primary-nav > .nav-menu > summary:hover, .kinship .k-masthead #primary-nav > .nav-menu[open] > summary { border-bottom-color: #111418; }
  .kinship .k-masthead #primary-nav > .nav-menu > summary span { font-size: 0 !important; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 220ms cubic-bezier(.23,1,.32,1); opacity: .7; }
  .kinship .k-masthead #primary-nav > .nav-menu[open] > summary span { transform: translateY(1px) rotate(225deg); }
  .kinship .k-masthead #primary-nav svg { width: 15px; height: 15px; }
  .kinship .k-masthead .k-masthead-donation { grid-column: 3 !important; grid-row: 1 !important; justify-self: end !important; font: 400 12px/1 Montreal, sans-serif !important; letter-spacing: .16em !important; text-transform: uppercase; color: #111418 !important; }
  .kinship .k-masthead .k-masthead-contact { display: none !important; }

  .kinship .k-masthead .nav-panel { top: 84px !important; background: #FFFFFF !important; color: #111418 !important; border-top: 1px solid rgba(17,20,24,.08) !important; box-shadow: 0 24px 40px rgba(17,20,24,.08) !important; }
  .kinship .k-masthead .nav-panel a { color: #111418 !important; border-color: rgba(17,20,24,.1) !important; }
  .kinship .k-masthead .nav-panel a:hover { color: #264389 !important; }
  .kinship .k-masthead .nav-panel .nav-caption, .kinship .k-masthead .nav-panel .nav-group { color: rgba(17,20,24,.5) !important; }
  .kinship .k-masthead .nav-panel::after { border-top-color: #264389 !important; }
}
@media (min-width: 1001px) {
  .kinship .k-masthead .k-masthead-donation { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel { top: 84px !important; background: #FFFFFF !important; color: #111418 !important; border-top: 1px solid rgba(17,20,24,.08) !important; box-shadow: 0 24px 40px rgba(17,20,24,.08) !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel a, .kinship .k-masthead #primary-nav .nav-menu > .nav-panel > div > a { color: #111418 !important; border-color: rgba(17,20,24,.1) !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel a:hover { color: #264389 !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel .nav-caption, .kinship .k-masthead #primary-nav .nav-menu > .nav-panel .nav-group { color: rgba(17,20,24,.5) !important; }
}

/* Nav, cooler: frosted bar that stays with you, hides on the way down and returns on the way up,
   sentence-case links with a red rule that draws in, Contact as the one solid red pill. */
@media (min-width: 1001px) {
  .kinship .k-masthead { position: fixed !important; top: 0; left: 0; right: 0; z-index: 50; background: rgba(255,255,255,.82) !important; -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid rgba(17,20,24,.06) !important; transition: transform 420ms cubic-bezier(.23,1,.32,1), background 300ms ease, box-shadow 300ms ease; }
  .kinship.k-scrolled .k-masthead { background: rgba(255,255,255,.94) !important; box-shadow: 0 10px 30px rgba(17,20,24,.06); }
  .kinship.k-nav-hidden .k-masthead { transform: translateY(-100%); }
  .kinship .k-masthead #primary-nav > a, .kinship .k-masthead #primary-nav > .nav-menu > summary { position: relative; font: 400 14px/1 Montreal, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important; color: #111418 !important; border-bottom: 0 !important; }
  .kinship .k-masthead #primary-nav > a::before, .kinship .k-masthead #primary-nav > .nav-menu > summary::before { content: ''; position: absolute; left: 0; right: 0; bottom: 22px; height: 1.5px; background: #6BC748; transform: scaleX(0); transform-origin: left; transition: transform 320ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead #primary-nav > a:hover::before, .kinship .k-masthead #primary-nav > .nav-menu > summary:hover::before, .kinship .k-masthead #primary-nav > .nav-menu[open] > summary::before { transform: scaleX(1); }
  .kinship .k-masthead #primary-nav > a[href*="/contact"] { padding: 11px 20px !important; margin: 0 -4px 0 6px; border-radius: 999px; background: #264389; color: #FFFFFF !important; transition: background 200ms ease, transform 160ms ease; }
  .kinship .k-masthead #primary-nav > a[href*="/contact"]::before { display: none; }
  .kinship .k-masthead #primary-nav > a[href*="/contact"]:hover { background: #8F1E18; }
  .kinship .k-masthead #primary-nav > a[href*="/contact"]:active { transform: scale(.97); }
  .kinship .k-masthead .nav-search > summary { width: 40px; height: 40px; padding: 0 !important; justify-content: center; border-radius: 50%; transition: background 200ms ease; }
  .kinship .k-masthead .nav-search > summary:hover { background: rgba(17,20,24,.06); }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel { animation: kPanelIn 260ms cubic-bezier(.23,1,.32,1); }
  @keyframes kPanelIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) { .kinship .k-masthead, .kinship .k-masthead * { transition: none !important; animation: none !important; } }
@media (min-width: 1001px) { .kinship .k-masthead { background: rgba(255,255,255,.96) !important; } }

/* Nav, balanced: logo left, links centred in the space between, search and Contact right. One type style. */
@media (min-width: 1001px) {
  .kinship .k-masthead { grid-template-columns: auto 1fr !important; }
  .kinship .k-masthead nav#primary-nav { grid-column: 2 !important; justify-self: stretch !important; width: auto !important; display: flex !important; align-items: center; gap: 0 !important; }
  .kinship .k-masthead nav#primary-nav > a, .kinship .k-masthead nav#primary-nav > .nav-menu > summary { font: 400 14px/1 Montreal, sans-serif !important; letter-spacing: .01em !important; text-transform: none !important; color: #111418 !important; padding: 30px 0 !important; }
  .kinship .k-masthead nav#primary-nav > a, .kinship .k-masthead nav#primary-nav > .nav-menu { margin: 0 clamp(14px, 1.5vw, 24px); }
  .kinship .k-masthead nav#primary-nav > :first-child { margin-left: auto; }
  .kinship .k-masthead nav#primary-nav > .nav-search { order: 98; margin-left: auto; margin-right: 10px; }
  .kinship .k-masthead nav#primary-nav > a[href*="/contact"] { order: 99; margin: 0; padding: 12px 22px !important; color: #FFFFFF !important; }
  .kinship .k-masthead nav#primary-nav > .nav-menu > summary span { margin-left: 2px; }
}
.kinship .k-masthead .logo { width: 150px !important; } .kinship .k-masthead .logo img { width: 100%; height: auto; }
/* Products menu: the two group labels open their overview pages */
.kinship .k-masthead .nav-panel a.nav-group-link { display: inline-flex !important; gap: 8px; align-items: center; padding: 0 !important; border: 0 !important; color: rgba(17,20,24,.6) !important; text-decoration: none; transition: color 180ms ease; }
.kinship .k-masthead .nav-panel a.nav-group-link:hover { color: #264389 !important; padding-left: 0 !important; }
.kinship .k-masthead .nav-panel a.nav-group-link::after { display: none !important; }
.kinship .k-masthead .nav-panel a.nav-group-link span { transition: transform 200ms ease; }
.kinship .k-masthead .nav-panel a.nav-group-link:hover span { transform: translateX(3px); }
/* Company menu: company pages and the businesses side by side, each business with its one line */
.kinship .k-masthead .nav-panel a.nav-biz { display: grid !important; gap: 6px; font-size: clamp(22px, 1.8vw, 26px) !important; }
.kinship .k-masthead .nav-panel a.nav-biz small { font: 400 14px/1.45 Montreal, sans-serif; color: rgba(17,20,24,.58); letter-spacing: 0; max-width: 30em; }
.kinship .k-masthead .nav-panel a.nav-biz:hover small { color: rgba(17,20,24,.75); }
@media (max-width: 1000px) { .kinship .k-masthead #primary-nav.is-open .nav-panel a.nav-biz small { display: block; font-size: 13px; margin-top: 4px; } }
.kinship .k-masthead .nav-panel a.nav-biz { padding: 14px 0 !important; gap: 4px; font-size: 22px !important; } .kinship .k-masthead .nav-panel a.nav-biz small { font-size: 13px; }
/* Products menu: each column opens with its overview page */
.kinship .k-masthead .nav-products .nav-biz { margin-bottom: 6px; border-bottom: 1px solid rgba(17,20,24,.18) !important; }

/* Dropdowns, refined: image cards for Company and Expertise, tighter lists for Products, the page dims behind */
@media (min-width: 1001px) {
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel { padding: 36px max(6vw, calc((100vw - 1240px) / 2)) 44px !important; min-height: 0 !important; gap: 0 28px !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-cards { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; align-items: start; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; max-width: none; }
  .kinship .k-masthead .nav-panel.nav-cards::after { display: none !important; }
  .kinship .k-masthead .nav-panel.nav-cards .nav-caption { grid-column: 1 / -1; margin: 0 0 18px !important; }
  .kinship .k-masthead .nav-panel a.nav-card { display: grid !important; gap: 14px; padding: 0 !important; border: 0 !important; font: inherit !important; color: #111418 !important; }
  .kinship .k-masthead .nav-panel a.nav-card::after { display: none !important; }
  .kinship .k-masthead .nav-card-img { display: block; aspect-ratio: 4 / 3; background: #F3F5F6 center / cover no-repeat; overflow: hidden; transition: transform 600ms cubic-bezier(.23,1,.32,1), filter 300ms ease; }
  .kinship .k-masthead .nav-cards-3 .nav-card-img { aspect-ratio: 16 / 9; }
  .kinship .k-masthead .nav-card:hover .nav-card-img { transform: scale(1.03); filter: brightness(1.04); }
  .kinship .k-masthead .nav-card-t { display: flex; justify-content: space-between; align-items: baseline; font: 300 22px/1.2 Arizona, Georgia, serif; letter-spacing: -.01em; padding-bottom: 12px; border-bottom: 1px solid rgba(17,20,24,.12); transition: color 180ms ease, border-color 180ms ease; }
  .kinship .k-masthead .nav-card-t span { font: 400 14px/1 Montreal, sans-serif; opacity: 0; transform: translateX(-6px); transition: opacity 200ms ease, transform 240ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead .nav-card:hover .nav-card-t { color: #264389; border-color: #264389; }
  .kinship .k-masthead .nav-card:hover .nav-card-t span { opacity: 1; transform: none; }
  .kinship .k-masthead .nav-products > div > a:not(.nav-group):not(.nav-biz) { font-size: 22px !important; padding: 12px 0 !important; }
  .kinship .k-masthead .nav-products::after { top: 36px !important; bottom: 44px !important; width: 300px !important; }
  .kinship.k-menu-open main, .kinship.k-menu-open footer { filter: brightness(.82); transition: filter 260ms ease; }
  .kinship main, .kinship footer { transition: filter 260ms ease; }
}

/* Products menu: each business as an overview card beside its products */
@media (min-width: 1001px) {
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-products2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 56px !important; }
  .kinship .k-masthead .nav-products2::after { display: none !important; }
  .kinship .k-masthead .nav-products2 .nav-biz-col { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 28px; align-content: start; }
  .kinship .k-masthead .nav-products2 .nav-biz-col + .nav-biz-col { padding-left: 56px; border-left: 1px solid rgba(17,20,24,.1); margin-left: -56px; }
  .kinship .k-masthead .nav-products2 .nav-biz-col .nav-caption { grid-column: 1 / -1; margin: 0 0 18px !important; }
  .kinship .k-masthead .nav-products2 a.nav-card { display: grid !important; gap: 12px; padding: 0 !important; border: 0 !important; color: #111418 !important; align-content: start; }
  .kinship .k-masthead .nav-products2 a.nav-card::after { display: none !important; }
  .kinship .k-masthead .nav-products2 .nav-card-img { aspect-ratio: 4 / 3; }
  .kinship .k-masthead .nav-card small { font: 400 13px/1.5 Montreal, sans-serif; color: rgba(17,20,24,.58); }
  .kinship .k-masthead .nav-products2 .nav-plist { display: grid; align-content: start; border-top: 1px solid rgba(17,20,24,.12); }
  .kinship .k-masthead #primary-nav .nav-products2 .nav-plist a { display: flex !important; justify-content: space-between; align-items: baseline; padding: 15px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(17,20,24,.12) !important; font: 300 20px/1.2 Arizona, Georgia, serif !important; letter-spacing: -.005em !important; color: #111418 !important; transition: color 180ms ease, padding 220ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead #primary-nav .nav-products2 .nav-plist a::after { content: '→'; font: 400 13px/1 Montreal, sans-serif; opacity: 0; transform: translateX(-6px); transition: opacity 180ms ease, transform 220ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead #primary-nav .nav-products2 .nav-plist a:hover { color: #264389 !important; padding-left: 6px !important; }
  .kinship .k-masthead #primary-nav .nav-products2 .nav-plist a:hover::after { opacity: 1; transform: none; }
  .kinship .k-masthead #primary-nav .nav-products2 > .nav-all { grid-column: 1 / -1; justify-self: start; margin-top: 26px; padding: 0 !important; border: 0 !important; font: 400 13px/1 Montreal, sans-serif !important; color: rgba(17,20,24,.6) !important; }
  .kinship .k-masthead #primary-nav .nav-products2 > .nav-all::after { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-products2 > .nav-all:hover { color: #264389 !important; padding-left: 0 !important; }
  .kinship .k-masthead .nav-cards-5 .nav-card-img { aspect-ratio: 3 / 2; }
}
@media (max-width: 1000px) {
  .kinship .k-masthead .nav-card-img, .kinship .k-masthead .nav-card-t span, .kinship .k-masthead .nav-card small { display: none !important; }
  .kinship .k-masthead .nav-biz-col .nav-caption { display: block !important; margin: 14px 0 4px !important; font: 400 11px/1 Montreal, sans-serif !important; letter-spacing: .2em !important; text-transform: uppercase; color: rgba(17,20,24,.5) !important; }
}

/* Menu card hover: zoom the photo inside a fixed frame so nothing around it moves */
.kinship .k-masthead .nav-card-img { position: relative; overflow: hidden; transform: none !important; transition: none !important; filter: none !important; }
.kinship .k-masthead .nav-card-img::before { content: ''; position: absolute; inset: 0; background: inherit; background-image: inherit; background-size: cover; background-position: center; transition: transform 700ms cubic-bezier(.23,1,.32,1); will-change: transform; }
.kinship .k-masthead .nav-card:hover .nav-card-img::before { transform: scale(1.04); }
.kinship .k-masthead #primary-nav .nav-panel a.nav-card, .kinship .k-masthead #primary-nav .nav-panel a.nav-card:hover { padding: 0 !important; margin: 0 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { .kinship .k-masthead .nav-card:hover .nav-card-img::before { transform: none; } }
/* Hover is a quiet tone shift only, no zoom */
.kinship .k-masthead .nav-card-img::before { content: none !important; display: none !important; }
.kinship .k-masthead .nav-card-img::after { content: ''; position: absolute; inset: 0; background: #111418; opacity: 0; transition: opacity 220ms ease; }
.kinship .k-masthead .nav-card:hover .nav-card-img::after { opacity: .08; }

/* Navigation v3: four story sections plus Donation, tighter panels, scannable sans links, location cues */
@media (min-width: 1001px) {
  .kinship .k-masthead #primary-nav > details > summary, .kinship .k-masthead #primary-nav > a:not(:last-of-type) { font-size: 15px !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel { padding: 32px max(6vw, calc((100vw - 1240px) / 2)) 36px !important; }
  .kinship .k-masthead .nav-co::after, .kinship .k-masthead .nav-products3::after { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-co { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; gap: 0 64px !important; align-items: start; }
  .kinship .k-masthead #primary-nav .nav-co a.nav-feature { display: grid !important; grid-template-columns: 200px 1fr; grid-template-rows: auto 1fr; gap: 6px 22px; padding: 0 !important; border: 0 !important; color: #111418 !important; }
  .kinship .k-masthead #primary-nav .nav-co a.nav-feature::after { display: none !important; }
  .kinship .k-masthead .nav-co .nav-feature .nav-card-img { grid-row: 1 / 3; aspect-ratio: 4 / 3; }
  .kinship .k-masthead .nav-feature-t { font: 300 22px/1.2 Arizona, Georgia, serif; align-self: end; }
  .kinship .k-masthead .nav-feature small { font: 400 13px/1.55 Montreal, sans-serif; color: rgba(17,20,24,.6); }
  .kinship .k-masthead .nav-feature:hover .nav-feature-t { color: #264389; }
  .kinship .k-masthead .nav-co .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; align-content: start; }
  .kinship .k-masthead .nav-co .nav-links .nav-caption { grid-column: 1 / -1; margin: 0 0 6px !important; }
  .kinship .k-masthead #primary-nav .nav-co .nav-links a, .kinship .k-masthead #primary-nav .nav-products3 .nav-plist a { display: flex !important; justify-content: space-between; align-items: center; padding: 11px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(17,20,24,.1) !important; font: 400 15px/1.3 Montreal, sans-serif !important; letter-spacing: 0 !important; color: #111418 !important; transition: color 160ms ease; }
  .kinship .k-masthead #primary-nav .nav-co .nav-links a::after, .kinship .k-masthead #primary-nav .nav-products3 .nav-plist a::after { content: '→'; font-size: 12px; opacity: 0; transition: opacity 160ms ease; }
  .kinship .k-masthead #primary-nav .nav-co .nav-links a:hover, .kinship .k-masthead #primary-nav .nav-products3 .nav-plist a:hover { color: #264389 !important; padding-left: 0 !important; }
  .kinship .k-masthead #primary-nav .nav-co .nav-links a:hover::after, .kinship .k-masthead #primary-nav .nav-products3 .nav-plist a:hover::after { opacity: 1; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-cards-3 { gap: 0 24px !important; max-width: none; }
  .kinship .k-masthead #primary-nav .nav-cards-3 .nav-card-img { aspect-ratio: 21 / 9; }
  .kinship .k-masthead #primary-nav .nav-cards-3 .nav-card-t { font-size: 20px; }
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-products3 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 64px !important; }
  .kinship .k-masthead .nav-products3 .nav-pcol { display: grid; align-content: start; }
  .kinship .k-masthead .nav-products3 .nav-pcol .nav-caption { margin: 0 0 6px !important; }
  .kinship .k-masthead #primary-nav .nav-products3 a.nav-ov { display: grid !important; gap: 4px; padding: 6px 0 14px !important; border: 0 !important; border-bottom: 1px solid rgba(17,20,24,.22) !important; font: 300 22px/1.2 Arizona, Georgia, serif !important; color: #111418 !important; }
  .kinship .k-masthead #primary-nav .nav-products3 a.nav-ov::after { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-products3 a.nav-ov small { font: 400 13px/1.5 Montreal, sans-serif; color: rgba(17,20,24,.58); }
  .kinship .k-masthead #primary-nav .nav-products3 a.nav-ov:hover { color: #264389 !important; padding-left: 0 !important; }
  .kinship .k-masthead .nav-products3 .nav-plist { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
  /* where am I */
  .kinship .k-masthead #primary-nav > details.is-active > summary, .kinship .k-masthead #primary-nav > a.is-current { box-shadow: inset 0 -2px 0 #264389; }
}
.kinship .k-masthead #primary-nav .nav-panel a.is-current, .kinship .k-masthead #primary-nav .nav-panel a.is-current .nav-card-t { color: #264389 !important; }
/* mobile: accordion, no menu imagery */
@media (max-width: 1000px) {
  .kinship .k-masthead #primary-nav.is-open > details:not([open]) > .nav-panel { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-feature .nav-card-img, .kinship .k-masthead #primary-nav.is-open .nav-feature small, .kinship .k-masthead #primary-nav.is-open .nav-ov small { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-feature { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-pcol .nav-caption, .kinship .k-masthead #primary-nav.is-open .nav-links .nav-caption { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-ov { font-weight: 500 !important; }
}
/* breadcrumb and sibling navigation */
.kinship .kh-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; font: 400 13px/1.4 Montreal, sans-serif; color: rgba(17,20,24,.55); }
.kinship .kh-crumbs a { color: inherit; text-decoration: none; } .kinship .kh-crumbs a:hover { color: #264389; }
.kinship .kh-crumbs span[aria-current] { color: #111418; }
.kinship .kh-siblings { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.kinship .kh-siblings a { padding: 8px 16px; border: 1px solid rgba(17,20,24,.18); border-radius: 999px; font: 400 14px/1 Montreal, sans-serif; color: #111418; text-decoration: none; transition: border-color 160ms ease, color 160ms ease; }
.kinship .kh-siblings a:hover { border-color: #264389; color: #264389; }
.kinship .kh-siblings a[aria-current] { background: #111418; border-color: #111418; color: #fff; }
@media (min-width: 1001px) { .kinship .k-masthead #primary-nav .nav-products3 a.nav-ov { padding-top: 0 !important; } }
/* Current section uses the same underline as hover and open, not a separate bar at the header edge */
@media (min-width: 1001px) {
  .kinship .k-masthead #primary-nav > details.is-active > summary, .kinship .k-masthead #primary-nav > a.is-current { box-shadow: none !important; }
  .kinship .k-masthead #primary-nav > details.is-active > summary::before, .kinship .k-masthead #primary-nav > a.is-current::before { transform: scaleX(1) !important; }
}
.kinship .k-masthead a:focus-visible, .kinship .k-masthead summary:focus-visible, .kinship .k-masthead button:focus-visible { outline: 2px solid #264389; outline-offset: 4px; border-radius: 2px; }
/* Review switcher waits until the reader is past the opening cover, so it never sits on the hero copy */
.kinship .direction-switch { transition: opacity 260ms ease, transform 320ms cubic-bezier(.23,1,.32,1); }
.kinship.k-at-cover .direction-switch { opacity: 0; transform: translate(-50%, 16px); pointer-events: none; }
/* Review pill: one tap into MarkUp */
.kinship .kh-markup-pill { padding: 5px !important; }
.kinship .kh-markup-pill a { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 6px; background: #111418; color: #fff !important; font: 400 14px/1 Montreal, sans-serif; text-decoration: none; transition: background 180ms ease; }
.kinship .kh-markup-pill a:hover { background: #264389; }

/* Menus v4: rail of sections on the left, portrait cards on the right */
@media (min-width: 1001px) {
  .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-rl { display: grid !important; grid-template-columns: minmax(260px, 24vw) 1fr !important; gap: 0 !important; padding: 0 !important; }
  .kinship .k-masthead .nav-rl::after { display: none !important; }
  .kinship .k-masthead .nav-rl .nav-rail { display: grid; align-content: start; gap: 6px; padding: 44px 32px 48px max(6vw, calc((100vw - 1240px) / 2)); background: #F4F5F6; }
  .kinship .k-masthead #primary-nav .nav-rl .nav-rail a { display: inline-block !important; justify-self: start; padding: 8px 0 !important; border: 0 !important; font: 300 22px/1.25 Arizona, Georgia, serif !important; letter-spacing: -.005em !important; color: rgba(17,20,24,.72) !important; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color 160ms ease, background-size 260ms cubic-bezier(.23,1,.32,1); }
  .kinship .k-masthead #primary-nav .nav-rl .nav-rail a::after { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-rl .nav-rail a:hover, .kinship .k-masthead #primary-nav .nav-rl .nav-rail a.is-current { color: #111418 !important; background-size: 100% 1px; padding-left: 0 !important; }
  .kinship .k-masthead .nav-rl-main { padding: 44px max(6vw, calc((100vw - 1240px) / 2)) 48px 48px; }
  .kinship .k-masthead .nav-rl-cap { display: block; padding-bottom: 14px; margin-bottom: 24px; border-bottom: 1px solid #111418; font: 500 11px/1 Montreal, sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #111418; }
  .kinship .k-masthead .nav-rl-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: start; }
  .kinship .k-masthead #primary-nav .nav-rl a.nav-pcard { display: grid !important; gap: 12px; padding: 0 !important; border: 0 !important; color: #111418 !important; text-decoration: none; }
  .kinship .k-masthead #primary-nav .nav-rl a.nav-pcard::after { display: none !important; }
  .kinship .k-masthead .nav-pcard-img { display: block; aspect-ratio: 3 / 4; max-height: 340px; background: #F3F5F6 center / cover no-repeat; position: relative; }
  .kinship .k-masthead .nav-pcard-img::after { content: ''; position: absolute; inset: 0; background: #111418; opacity: 0; transition: opacity 220ms ease; }
  .kinship .k-masthead .nav-pcard:hover .nav-pcard-img::after { opacity: .08; }
  .kinship .k-masthead .nav-pcard-t { font: 300 18px/1.25 Arizona, Georgia, serif; }
  .kinship .k-masthead .nav-pcard:hover .nav-pcard-t { color: #264389; }
  .kinship .k-masthead .nav-rl-list { display: grid; align-content: start; border-top: 1px solid rgba(17,20,24,.12); }
  .kinship .k-masthead #primary-nav .nav-rl-list a { display: block !important; padding: 12px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(17,20,24,.12) !important; font: 400 15px/1.3 Montreal, sans-serif !important; letter-spacing: 0 !important; color: #111418 !important; }
  .kinship .k-masthead #primary-nav .nav-rl-list a::after { display: none !important; }
  .kinship .k-masthead #primary-nav .nav-rl-list a:hover { color: #264389 !important; padding-left: 0 !important; }
}
@media (max-width: 1000px) {
  .kinship .k-masthead .nav-rl-main { display: none !important; }
  .kinship .k-masthead #primary-nav.is-open .nav-rl .nav-rail a { display: block !important; }
}
@media (min-width: 1001px) { .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-rl { align-items: stretch !important; } .kinship .k-masthead .nav-rl .nav-rail { align-self: stretch !important; height: auto !important; } }
@media (min-width: 1001px) { .kinship .k-masthead #primary-nav .nav-rl .nav-rail a { white-space: nowrap !important; } .kinship .k-masthead #primary-nav .nav-menu > .nav-panel.nav-rl { grid-template-columns: max-content 1fr !important; } .kinship .k-masthead .nav-rl .nav-rail { padding-right: 56px !important; min-width: 22vw; box-sizing: border-box; } }
.kinship .kh-markup-pill { display: flex; align-items: center; gap: 4px; }
.kinship .kh-markup-pill a.kh-markup-join { background: transparent !important; color: rgba(17,20,24,.6) !important; font-size: 12px; padding: 12px 12px; }
.kinship .kh-markup-pill a.kh-markup-join:hover { color: #264389 !important; background: transparent !important; }

/* ── Motion and icon polish ─────────────────────────────────────────── */
.kinship { --k-ease: cubic-bezier(.23, 1, .32, 1); }

/* Reveals: shorter travel, quicker settle, siblings arrive in a short stagger. */
.kinship .lux-rise { transition: opacity 700ms var(--k-ease), transform 900ms var(--k-ease); transition-delay: var(--k-d, 0ms); }
.kinship.lux-js .lux-rise:not(.lux-in) { opacity: 0; transform: translateY(14px); }

/* Cover copy settles in line by line on load. */
@keyframes kCopyIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.kinship .k-landscape-copy > * { animation: kCopyIn 800ms var(--k-ease) both; }
.kinship .k-landscape-copy > *:nth-child(1) { animation-delay: 120ms; }
.kinship .k-landscape-copy > *:nth-child(2) { animation-delay: 200ms; }
.kinship .k-landscape-copy > *:nth-child(3) { animation-delay: 280ms; }
.kinship .k-landscape-copy > *:nth-child(4) { animation-delay: 360ms; }
.kinship .k-landscape-copy > *:nth-child(n+5) { animation-delay: 440ms; }

/* One drawn arrow replaces the text glyph; it nudges toward its destination on hover, layout never moves. */
.kinship .k-arr { display: inline-block; width: .72em; height: .72em; margin-left: .3em; vertical-align: -.02em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 220ms var(--k-ease); }
@media (hover: hover) { .kinship a:hover .k-arr, .kinship a:focus-visible .k-arr { transform: translate(2px, -2px); } }

/* Press feedback on the pill buttons. */
.kinship .k-masthead-contact, .kinship .kh-markup-pill a, .kinship button { transition: transform 140ms var(--k-ease); }
.kinship .k-masthead-contact:active, .kinship .kh-markup-pill a:active, .kinship button:active { transform: scale(.97); }

/* Contact details carry a small line icon for place, phone and email. */
.kinship .kh-contact-details dt { display: flex; align-items: center; gap: 8px; }
.kinship .kh-contact-details dt::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; opacity: .7; -webkit-mask: var(--k-ico) center / contain no-repeat; mask: var(--k-ico) center / contain no-repeat; }
.kinship .kh-contact-details .k-ico-pin { --k-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.kinship .kh-contact-details .k-ico-phone { --k-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.kinship .kh-contact-details .k-ico-clock { --k-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.kinship .kh-contact-details .k-ico-mail { --k-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }

@media (prefers-reduced-motion: reduce) {
  .kinship .k-landscape-copy > * { animation: none; }
  .kinship .k-arr, .kinship .k-masthead-contact, .kinship .kh-markup-pill a, .kinship button { transition: none; }
  .kinship a:hover .k-arr { transform: none; }
}

/* ── Rotating stories on the cover ─────────────────────────────────── */
.kinship .k-landscape .k-angle { transition: opacity 1400ms var(--k-ease); }
.kinship .k-story-stack { display: grid; }
.kinship .k-story { grid-area: 1 / 1; opacity: 0; transform: translateY(8px); transition: opacity 700ms var(--k-ease), transform 900ms var(--k-ease); pointer-events: none; }
.kinship .k-story.is-active { opacity: 1; transform: none; pointer-events: auto; transition-delay: 250ms; }
.kinship .k-story-dots { display: flex; gap: 10px; margin: 26px 0 30px; }
.kinship .k-story-dots button { position: relative; width: 40px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; }
.kinship .k-story-dots button::before, .kinship .k-story-dots button::after { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 2px; background: rgba(255,250,240,.32); }
.kinship .k-story-dots button::after { background: #FFFAF0; transform: scaleX(0); transform-origin: left; }
.kinship .k-story-dots button[aria-current]::after { transform: scaleX(1); }
.kinship .k-landscape.k-playing .k-story-dots button[aria-current]::after { animation: kStoryHold 8000ms linear both; }
@keyframes kStoryHold { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.kinship .k-story-dots button:focus-visible { outline: 2px solid #FFFAF0; outline-offset: 2px; }
.kinship .k-story-links { display: flex; flex-wrap: wrap; gap: 14px 32px; }

/* Stories page */
.kinship .kh-story-split .kh-split-copy { justify-content: center; }
.kinship .kh-story-quote { margin: 0; font-family: Arizona, Georgia, serif; font-weight: 300; font-size: clamp(26px, 2.4vw, 38px); line-height: 1.18; letter-spacing: -.01em; color: #111418; max-width: 18em; }
.kinship .kh-story-by { margin: 18px 0 0; font-size: 14px; color: #4B5259; }
@media (min-width: 1101px) { .kinship .kh-split-flip .kh-split-img { order: 2; } }

@media (prefers-reduced-motion: reduce) {
  .kinship .k-landscape .k-angle, .kinship .k-story { transition: none; }
  .kinship .k-landscape.k-playing .k-story-dots button[aria-current]::after { animation: none; }
}
@media (min-width: 761px) {
  .kinship .k-landscape .k-story .k-quote { font-size: clamp(26px, 2.35vw, 40px) !important; line-height: 1.14 !important; max-width: 14.5em; }
  .kinship .k-landscape .k-story-dots { margin: 22px 0 24px; }
}
/* ® and ™: small and raised so they never compete with the name */
sup.k-mark{font-size:.38em;line-height:0;vertical-align:.95em;margin-left:.04em;font-weight:inherit;letter-spacing:0}

/* Product heroes: below 1000px the white header sits over the top of the hero, so the photograph starts beneath it and the product is never cut */
@media (max-width: 1000px) { .kinship .kh-prod-hero .kh-bleed { margin-top: 88px; } }

/* Footer, 20 October: a compact navy close. The logo leads, the three link columns sit beside it, the legal
   links and the base line share one quiet row underneath. No tall empty band. */
.kinship footer.footer { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 48px); min-height: 0; padding-top: clamp(64px, 6vw, 96px); padding-bottom: 36px; background: #264389 !important; color: #FFFFFF; }
.kinship .footer a { color: #FFFFFF; }
.kinship .footer .footer-mark { grid-column: 1; grid-row: 1; align-self: start; display: inline-flex; align-items: center; gap: 12px; width: max-content; }
.kinship .footer .footer-mark img { display: block; height: 30px; width: auto; filter: brightness(0) invert(1) !important; opacity: 1 !important; }
.kinship .footer .footer-mark .tbs-badge { height: 40px; }
.kinship .footer .footer-navigation { grid-column: 2 / 5; grid-row: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: inherit; margin: 0; padding: 0; border: 0; }
.kinship .footer .footer-navigation h3 { color: rgba(255,255,255,.62); }
.kinship .footer .legal-navigation { grid-column: 1 / 3; grid-row: 2; flex-direction: row; flex-wrap: wrap; gap: 0 28px; margin: clamp(56px, 6vw, 88px) 0 0; padding: 0; align-self: end; }
.kinship .footer .legal-navigation a { margin: 0; font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.78); }
.kinship .footer .footer-base { grid-column: 3 / 5; grid-row: 2; justify-content: flex-end; gap: 28px; margin: clamp(56px, 6vw, 88px) 0 0; padding: 0; border: 0; font-size: 14px; color: rgba(255,255,255,.78); align-self: end; }
.kinship .footer .footer-base a { color: rgba(255,255,255,.78); }
.kinship .footer a:hover { color: #FFFFFF; }
@media (max-width: 900px) {
  .kinship footer.footer { grid-template-columns: minmax(0, 1fr); row-gap: 40px; padding-top: 56px; }
  .kinship .footer .footer-mark, .kinship .footer .footer-navigation, .kinship .footer .legal-navigation, .kinship .footer .footer-base { grid-column: 1; grid-row: auto; }
  .kinship .footer .footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .kinship .footer .legal-navigation, .kinship .footer .footer-base { margin-top: 0; justify-content: flex-start; flex-wrap: wrap; gap: 8px 22px; }
}
