/* ---------- By the numbers (ported from index-alt) ---------- */
    .k-funfact { background: var(--paper); color: var(--ink); overflow: hidden; }
    .k-funfact .ff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 90px); align-items: center; }
    .k-funfact .eyebrow { color: var(--gray-1); }
    .k-funfact .eyebrow::before { background: var(--orange); }
    .k-funfact .ff-title { font-family: var(--serif); font-weight: var(--display-weight); font-size: clamp(32px, 4.4vw, 66px); line-height: 1.0; letter-spacing: -0.015em; margin: 18px 0 clamp(30px,4vw,52px); }
    .k-funfact .ff-title em { font-style: italic; }
    .ff-stats { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px,3vw,46px) clamp(30px,4vw,60px); }
    .ff-stat { border-top: 1px solid var(--line); padding-top: clamp(14px,1.6vw,22px); }
    .ff-stat .n { font-family: var(--serif); font-size: clamp(46px,6vw,92px); line-height: 0.9; letter-spacing: -0.02em; }
    .ff-stat .n em { font-style: italic; }
    .ff-stat .l { margin-top: 10px; font-size: 14px; color: var(--gray-1); max-width: 22ch; }
    .ff-media { position: relative; aspect-ratio: 4/5; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); }
    .ff-media .media { position: absolute; inset: -8%; width: 116%; height: 116%; border-radius: 0; background: linear-gradient(155deg, #161616 0%, #242424 60%, #2e2e2e 100%); }
    .ff-media .media img { filter: grayscale(1) contrast(1.05); }
    @media (max-width: 900px){ .k-funfact .ff-grid { grid-template-columns: 1fr; } .ff-media { aspect-ratio: 16/11; } }

    /* ---------- Moving-text band (ported from index-alt) ---------- */
    .k-moving { padding-block: clamp(40px, 6vw, 96px); overflow: hidden; border-block: 1px solid var(--line); }
    .moving-row { display: flex; width: max-content; white-space: nowrap; will-change: transform; }
    .moving-row + .moving-row { margin-top: clamp(6px, 0.8vw, 14px); }
    .moving-row .m-item {
      font-family: var(--serif); font-weight: var(--display-weight);
      font-size: clamp(44px, 8vw, 132px); line-height: 1;
      letter-spacing: -0.02em; padding-right: clamp(18px, 2.4vw, 44px);
      display: inline-flex; align-items: center; gap: clamp(18px, 2.4vw, 44px);
    }
    .moving-row .m-item.outline {
      color: transparent; -webkit-text-stroke: 1.4px var(--line-strong); text-stroke: 1.4px var(--line-strong);
    }
    .moving-row .dot { width: clamp(10px, 1vw, 18px); height: clamp(10px, 1vw, 18px); border-radius: 50%; background: currentColor; flex: none; }

    /* ---------- Stacked testimonial deck (ported from index-alt-3) ---------- */
    .k-testi2 { background: var(--ink); color: #fff; }
    .k-testi2 .eyebrow { color: rgba(255,255,255,0.62); }
    .k-testi2 .eyebrow::before { background: #fff; }
    .k-testi2 .title { color: #fff; }
    .k-testi2 .title em { color: #fff; font-style: italic; }
    .testi-pin { padding-bottom: var(--section-y); }
    .testi-head { padding: var(--section-y) var(--gutter) 0; }
    .testi-stack { position: relative; width: 100%; max-width: 620px; margin: 30px auto 0; }
    .tcard {
      position: relative; border-radius: var(--r-lg); margin-bottom: 18px;
      padding: clamp(28px, 3vw, 50px); display: flex; flex-direction: column; justify-content: space-between;
      background: #fff; color: var(--ink); transform-origin: center center;
      box-shadow: 0 2px 6px rgba(0,0,0,0.05), 0 44px 84px -46px rgba(0,0,0,0.66); will-change: transform, opacity;
    }
    .tcard::before {
      content: "\201C"; position: absolute; top: clamp(2px, 0.6vw, 12px); right: clamp(20px, 2.4vw, 40px);
      font-family: var(--serif); font-size: clamp(90px, 10vw, 150px); line-height: 1;
      color: var(--ink); opacity: 0.06; pointer-events: none; z-index: 0;
    }
    .tcard.tone { background: #f0ede9; }
    .tcard .stars, .tcard .q, .tcard .auth { position: relative; z-index: 1; }
    .tcard .stars { color: var(--orange); font-size: 14px; letter-spacing: 3px; }
    .tcard .q { font-family: var(--serif); font-size: clamp(19px, 1.85vw, 28px); line-height: 1.36; letter-spacing: -0.005em; margin: clamp(16px,1.7vw,24px) 0; }
    .tcard .q em { font-style: italic; }
    .tcard .auth { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding-top: 18px; }
    .tcard .avatar { position: relative; width: 54px; height: 54px; border-radius: 50%; flex: none; background: var(--paper-3); overflow: hidden; }
    .tcard .avatar::before { content: attr(data-initials); position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--serif); font-size: 17px; color: var(--gray-1); z-index: 0; }
    .tcard .avatar img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; }
    .tcard .avatar img.failed { display: none; }
    .tcard .who { display: flex; flex-direction: column; gap: 2px; }
    .tcard .nm { font-family: var(--serif); font-size: 19px; line-height: 1.1; }
    .tcard .role { font-size: 12.5px; color: var(--gray-1); }
    .testi-progress { display: none; font-family: var(--serif); font-size: 14px; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; }
    .testi-progress b { color: #fff; }
    /* pinned deck mode (enabled by JS) */
    .k-testi2.stack-on .testi-pin { position: sticky; top: 0; height: 100svh; overflow: hidden; display: grid; grid-template-rows: auto 1fr; padding-bottom: 0; }
    .k-testi2.stack-on .testi-head { padding: clamp(94px,12vh,146px) var(--gutter) 0; }
    .k-testi2.stack-on .testi-stage { position: relative; display: grid; place-items: center; }
    .k-testi2.stack-on .testi-stack { width: min(660px, 90vw); height: min(452px, 60vh); max-width: none; margin: 0; }
    .k-testi2.stack-on .tcard { position: absolute; inset: 0; margin: 0; }
    .k-testi2.stack-on .testi-progress { display: block; position: absolute; bottom: clamp(18px,4vh,40px); left: 50%; transform: translateX(-50%); }

    /* ---------- Immersive motion layer (driven by inline JS in index.php) ---------- */
    /* vertical scroll-parallax on tagged blocks; translate is independent of any hover transform */
    [data-parallax] { translate: 0 var(--py, 0px); will-change: translate; }
    .hero-visual .media video, .hero-statcard { will-change: transform; }
    /* mission statement scroll-scrub: words start dimmed, brighten as the line passes through */
    .mission-statement .ms-w { color: rgba(255,255,255,0.24); }
    @media (prefers-reduced-motion: reduce) {
      [data-parallax] { translate: none; }
      .mission-statement .ms-w { color: inherit; }
    }
