/* ===========================================================
   Kimbir · site design layer 2026
   Served as a real stylesheet so the browser caches it once,
   instead of adding weight to every HTML response.
   Loaded after the Customizer CSS by kimbir-site-layer.php.
   =========================================================== */

:root{
  --kb-ink:#0A111F;
  --kb-steel:#13213D;
  --kb-accent:#FCA311;
  --kb-accent-head:#E69818;
  --kb-cream:#EBE1CF;
  --kb-paper:#F9F9F9;
  --kb-muted:#414C63;
  --kb-ease:cubic-bezier(.16,1,.3,1);
}

/* -----------------------------------------------------------
   1 · HEADER — stays reachable the whole way down the page
   ----------------------------------------------------------- */
/* No position rule here. The inner bar is already position:fixed in the
   Customizer CSS, so adding sticky to the wrapper collapsed it to zero height
   and dropped the logo, menu and button onto three separate rows. */

[data-elementor-type="header"] .elementor-element-4fa8449{
  background:rgba(249,249,249,.86) !important;
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  border-bottom:1px solid rgba(10,17,31,.08) !important;
}

/* The logo carries the brand; it was smaller than the menu beside it. */
[data-elementor-type="header"] .elementor-widget-theme-site-logo img{
  width:auto !important;
  height:clamp(38px,4.4vw,56px) !important;
  max-width:none !important;
  filter:drop-shadow(0 2px 8px rgba(10,17,31,.14));
}

/* -----------------------------------------------------------
   2 · CURRENT PAGE — colour only
   The marker block and the underline both come off; the word
   itself changes colour, which is what was asked for.
   ----------------------------------------------------------- */
[data-elementor-type="header"] .elementor-nav-menu .elementor-item,
[data-elementor-type="header"] .elementor-nav-menu a{
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--kb-steel) !important;
  font-weight:500 !important;
}
[data-elementor-type="header"] .elementor-nav-menu .elementor-item::before,
[data-elementor-type="header"] .elementor-nav-menu .elementor-item::after{
  display:none !important;
}
[data-elementor-type="header"] .elementor-nav-menu .elementor-item-active,
[data-elementor-type="header"] .elementor-nav-menu .elementor-item:hover{
  background:transparent !important;
  color:var(--kb-accent-head) !important;
  font-weight:700 !important;
}

/* -----------------------------------------------------------
   3 · MOBILE MENU PANEL
   Its font and chevron colour were hard-coded inline, so they
   missed the site-wide change.
   ----------------------------------------------------------- */
.kb-mnav__list a,
.kb-mnav__quote,
.kb-mnav__wa{ font-family:'Rubik',sans-serif !important; }
.kb-mnav__list a::after{
  border-right-color:var(--kb-accent) !important;
  border-bottom-color:var(--kb-accent) !important;
}

/* -----------------------------------------------------------
   4 · MARQUEE — shared by the promises strip and the reviews
   direction:ltr belongs on the clipping container: a
   width:max-content child of an RTL block is positioned from
   the right, so its left edge lands thousands of pixels
   off-screen and the strip renders empty.
   ----------------------------------------------------------- */
.kbm{overflow:hidden;direction:ltr;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 4%,#000 96%,rgba(0,0,0,.35));
          mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 4%,#000 96%,rgba(0,0,0,.35))}
.kbm__track{display:flex;width:max-content;animation:kbmRun var(--kbm-speed,42s) linear infinite reverse;will-change:transform}
@keyframes kbmRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Never pauses and never blanks: under reduced motion the row simply stops
   and becomes swipeable, so every card stays on screen. */
@media (prefers-reduced-motion:reduce){
  .kbm{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .kbm__track{animation:none}
}

/* promises strip */
.kbm--promise{background:var(--kb-steel);padding:15px 0}
.kbm--promise .kbm__item{display:inline-flex;align-items:center;gap:12px;padding:0 26px;direction:rtl;
  font-family:'Noto Sans Hebrew',sans-serif;font-size:15px;color:rgba(235,225,207,.95);white-space:nowrap}
.kbm--promise .kbm__item::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--kb-accent);flex:0 0 auto}

/* reviews */
.kbm--reviews{background:var(--kb-paper);padding:6px 0}
.kbm--reviews .kbm__track{gap:18px;padding:10px 9px}
.kbr{flex:0 0 340px;direction:rtl;display:block;background:#fff;border:1px solid rgba(10,17,31,.11);border-radius:14px;padding:20px;text-decoration:none;color:inherit;
  box-shadow:0 1px 2px rgba(10,17,31,.06),0 8px 16px -12px rgba(10,17,31,.34);
  transition:box-shadow .2s ease,transform .2s var(--kb-ease)}
.kbr:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(10,17,31,.07),0 14px 24px -16px rgba(10,17,31,.4)}
.kbr__top{display:flex;align-items:center;gap:10px}
.kbr__g{width:22px;height:22px;flex:0 0 auto}
.kbr__name{font-family:'Rubik',sans-serif;font-weight:600;font-size:15.5px}
.kbr__stars{margin-inline-start:auto;color:#F5A623;letter-spacing:1px;font-size:14px}
.kbr__txt{margin:10px 0 0;font-size:15px;line-height:1.7;color:var(--kb-muted)}
.kbr__link{display:inline-block;margin-top:12px;font-family:'Rubik',sans-serif;font-weight:600;font-size:13px;color:var(--kb-steel)}
.kbr:hover .kbr__link{color:var(--kb-accent-head)}

@media (max-width:680px){
  .kbr{flex-basis:250px;padding:16px}
  .kbr__txt{font-size:14px}
  .kbm--promise .kbm__item{font-size:13.5px;padding:0 18px}
}

/* -----------------------------------------------------------
   5 · ICON SET — one grid, one stroke, brand colours only
   ----------------------------------------------------------- */
.kbi{width:34px;height:34px;flex:0 0 auto;color:var(--kb-steel)}
.kbi--lg{width:44px;height:44px}

/* -----------------------------------------------------------
   6 · HERO
   ----------------------------------------------------------- */
.kbh{position:relative;overflow:hidden;background:var(--kb-ink);min-height:clamp(520px,78vh,800px);display:flex;align-items:center}
/* !important because a global img{height:auto} in the Customizer CSS wins
   otherwise and the photograph renders three times the hero's height. */
.kbh__bg{position:absolute;inset:0;width:100% !important;height:100% !important;
  max-width:none !important;object-fit:cover;object-position:center 34%;margin:0 !important}
/* Lighter than the mock: the photograph is already dark, and stacking a heavy
   veil on top turned the whole hero into a flat navy block. */
.kbh__veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,17,31,.52) 0%,rgba(10,17,31,.2) 45%,rgba(10,17,31,.62) 100%)}
.kbh__veil::after{content:"";position:absolute;inset:0;
  background:radial-gradient(56% 44% at 50% 46%,rgba(10,17,31,.34) 0%,rgba(10,17,31,0) 100%)}
.kbh__mid{position:relative;z-index:2;width:100%;text-align:center;padding:clamp(48px,8vh,96px) 20px}

/* Six stacked copies, each clipped to one band, arriving in sequence. */
.kbh__title{position:relative;display:grid;margin:0}
.kbh__title span{grid-area:1/1;font-family:'Rubik',sans-serif;font-weight:800;
  font-size:clamp(42px,8vw,112px);line-height:1;letter-spacing:-.03em;color:var(--kb-accent);
  text-shadow:0 2px 20px rgba(10,17,31,.6);
  clip-path:inset(calc(var(--i)*16.667%) 0 calc((5 - var(--i))*16.667%) 0);
  animation:kbhShut .72s var(--kb-ease) both;animation-delay:calc(var(--i)*.075s)}
@keyframes kbhShut{from{opacity:0;transform:translateX(calc(var(--d)*.55em))}to{opacity:1;transform:none}}

/* !important on colour: the Customizer CSS paints every <p> #1A1A1A with
   !important, which made this line black text on a dark photograph. */
.kbh__sub{margin:26px 0 0;font-family:'Noto Sans Hebrew',sans-serif;font-weight:400 !important;
  font-size:clamp(15px,1.7vw,20px) !important;letter-spacing:.1em;color:#fff !important;
  line-height:1.6 !important;text-shadow:0 1px 10px rgba(10,17,31,.7)}
.kbh__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.kbh__facts{margin:22px 0 0;font-family:'Noto Sans Hebrew',sans-serif;font-size:14px !important;
  line-height:1.7 !important;color:var(--kb-cream) !important;text-shadow:0 1px 8px rgba(10,17,31,.75)}

/* Glass buttons */
.kbb{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  padding:15px 32px;font-family:'Rubik',sans-serif;font-weight:600;font-size:16px;
  text-decoration:none;min-height:50px;border:1px solid transparent;cursor:pointer;
  transition:transform .2s var(--kb-ease),background .2s ease}
.kbb--glass{color:#fff;background:rgba(249,249,249,.14);border-color:rgba(249,249,249,.34);
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 8px 22px -14px rgba(10,17,31,.7)}
.kbb--glass:hover{background:rgba(249,249,249,.24);transform:translateY(-1px)}
.kbb--gold{color:var(--kb-ink);font-weight:700;background:rgba(252,163,17,.9);border-color:rgba(255,214,140,.6);
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 22px -14px rgba(10,17,31,.7)}
.kbb--gold:hover{background:var(--kb-accent);transform:translateY(-1px)}

/* -----------------------------------------------------------
   7 · BENEFIT BAR
   ----------------------------------------------------------- */
.kbbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--kb-ink)}
.kbbar__cell{display:flex;align-items:center;justify-content:center;gap:14px;padding:24px 16px;
  border-inline-start:1px solid rgba(249,249,249,.15)}
.kbbar__cell:first-child{border-inline-start:0}
.kbbar__cell .kbi{color:var(--kb-accent)}
.kbbar__label{font-family:'Rubik',sans-serif;font-weight:500;font-size:15px;line-height:1.35;color:var(--kb-paper)}

/* -----------------------------------------------------------
   8 · DOORS — no frame, the door itself is the subject
   ----------------------------------------------------------- */
.kbd{background:var(--kb-steel);padding:60px 0 56px}
.kbd__row{display:flex;align-items:stretch;justify-content:center;gap:clamp(12px,2.2vw,26px);
  max-width:1240px;margin:0 auto;padding:0 24px}
.kbd__door{position:relative;flex:1 1 0;min-width:0;display:block;border-radius:18px;overflow:hidden;
  text-decoration:none;transition:transform .32s var(--kb-ease)}
.kbd__door img{width:100%;height:clamp(300px,38vw,600px);object-fit:contain;margin-inline:auto;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.45))}
.kbd__cap{display:block;text-align:center;padding:16px 12px 6px;font-family:'Rubik',sans-serif;
  font-weight:500;font-size:16.5px;line-height:1.35;color:var(--kb-paper);transition:opacity .24s ease}
.kbd__panel{position:absolute;inset-inline:0;bottom:0;background:rgba(10,17,31,.9);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid rgba(252,163,17,.4);color:var(--kb-paper);padding:20px;text-align:start;
  transform:translateY(101%);transition:transform .38s var(--kb-ease);pointer-events:none}
.kbd__name{display:block;font-family:'Rubik',sans-serif;font-weight:600;font-size:19px;line-height:1.25}
.kbd__desc{display:block;font-size:14px !important;font-weight:300 !important;line-height:1.55 !important;color:rgba(235,225,207,.82) !important;margin-top:6px}
.kbd__price{display:flex;align-items:baseline;gap:8px;margin-top:14px;padding-top:13px;
  border-top:1px solid rgba(235,225,207,.2);font-family:'Rubik',sans-serif;font-size:13.5px;color:rgba(235,225,207,.75)}
.kbd__price b{font-weight:700;font-size:27px;line-height:1;color:var(--kb-accent);font-variant-numeric:tabular-nums}
.kbd__door:hover,.kbd__door:focus-visible{transform:translateY(-10px) scale(1.02)}
.kbd__door:hover .kbd__cap,.kbd__door:focus-visible .kbd__cap{opacity:0}
.kbd__door:hover .kbd__panel,.kbd__door:focus-visible .kbd__panel{transform:translateY(0)}
.kbd__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;
  max-width:1200px;margin:36px auto 0;padding:0 24px;font-family:'Noto Sans Hebrew',sans-serif;
  font-size:15.5px !important;color:rgba(235,225,207,.8) !important;line-height:1.6 !important}
.kbd__foot b{font-family:'Rubik',sans-serif;font-weight:600;color:var(--kb-paper)}
.kbd__foot a{color:var(--kb-accent);font-weight:600;text-decoration:underline;text-underline-offset:4px}

/* -----------------------------------------------------------
   9 · REASON CARDS
   ----------------------------------------------------------- */
.kbwhy{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;
  max-width:1200px;margin:0 auto;padding:0 24px}
.kbwhy__card{background:#fff;border:1px solid rgba(10,17,31,.11);border-radius:14px;padding:26px 22px;
  box-shadow:0 1px 2px rgba(10,17,31,.06),0 8px 16px -12px rgba(10,17,31,.34);
  transition:box-shadow .25s ease,transform .25s var(--kb-ease)}
.kbwhy__card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(10,17,31,.07),0 14px 24px -16px rgba(10,17,31,.4)}
.kbwhy__card h3{font-family:'Rubik',sans-serif;font-weight:600;font-size:18px;line-height:1.3;margin:16px 0 8px}
.kbwhy__card p{margin:0;font-family:'Noto Sans Hebrew',sans-serif;font-size:15.5px !important;line-height:1.7 !important;color:var(--kb-muted) !important}

/* -----------------------------------------------------------
   10 · PHONE — less of everything, together
   ----------------------------------------------------------- */
@media (max-width:1000px){
  .kbbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kbbar__cell:nth-child(3){border-inline-start:0}
  .kbbar__cell:nth-child(n+3){border-top:1px solid rgba(249,249,249,.15)}
}
@media (hover:none),(max-width:820px){
  .kbd__row{flex-wrap:wrap;align-items:flex-start;gap:16px}
  .kbd__door{flex:0 0 calc(50% - 8px)}
  .kbd__door:hover,.kbd__door:focus-visible{transform:none}
  .kbd__door img{height:230px}
  .kbd__cap{display:none}
  /* display:block matters: the panel is a <span>, and static + inline smears
     its background and blur across the whole card. */
  .kbd__panel{position:static;display:block;transform:none;padding:16px;
    background:rgba(10,17,31,.96);backdrop-filter:none;-webkit-backdrop-filter:none}
  .kbd__name{font-size:16px}
  .kbd__desc{display:none}
  .kbd__price b{font-size:21px}
}
@media (max-width:680px){
  .kbbar{grid-template-columns:1fr}
  .kbbar__cell{border-inline-start:0;border-top:1px solid rgba(249,249,249,.15);justify-content:flex-start}
  .kbbar__cell:first-child{border-top:0}
  .kbd{padding:38px 0 34px}
  .kbd__row{padding:0 18px}
  .kbd__door img{height:210px}
  .kbd__foot{font-size:14px;margin-top:24px}
  .kbh__mid{padding:38px 18px 44px}
  .kbh__sub{margin-top:20px;font-size:13.5px;letter-spacing:.1em}
  .kbh__cta{margin-top:24px;gap:10px}
  .kbb{padding:13px 22px;font-size:15px}
  .kbwhy{gap:12px;padding:0 18px}
  .kbwhy__card{padding:20px 18px}
  .kbwhy__card h3{font-size:17px;margin:12px 0 6px}
  .kbwhy__card p{font-size:14.5px}
  .kbi--lg{width:36px;height:36px}
}

/* Scroll-driven, so nothing is ever hidden by script. */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .kbbar__cell,.kbwhy__card{animation:kbFade .6s var(--kb-ease) both;
      animation-timeline:view();animation-range:entry 2% entry 42%;
      animation-delay:calc(var(--n,0)*.06s)}
  }
}
@keyframes kbFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* -----------------------------------------------------------
   11 · FOCUS — the accessibility plugin draws no ring
   ----------------------------------------------------------- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--kb-accent) !important;
  outline-offset:2px !important;
}

/* -----------------------------------------------------------
   12 · REVEAL — blocks fade and rise as they scroll into view.

   Pure CSS scroll-driven animation, no JavaScript. The whole block
   sits inside @supports, so a browser without scroll timelines simply
   never applies it and shows the content normally. There is no state
   in which a script failure can leave anything invisible.
   ----------------------------------------------------------- */
@keyframes kb-rise{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:none}
}

@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){

    [data-elementor-type="wp-page"] .elementor-widget-heading,
    [data-elementor-type="wp-page"] .elementor-widget-text-editor,
    [data-elementor-type="wp-page"] .elementor-widget-toggle,
    [data-elementor-type="wp-post"] .elementor-widget-heading,
    [data-elementor-type="wp-post"] .elementor-widget-text-editor,
    .kbbar__cell,
    .kbd__row > *,
    .kbwhy__card,
    .kimba-card,
    .kimba-header,
    .kimrvg-header{
      animation:kb-rise linear both;
      animation-timeline:view();
      animation-range:entry 4% cover 24%;
    }

    /* A staggered feel without delays: each card in a row starts its
       range a little later, so they arrive one after another. */
    .kbbar__cell:nth-child(2),.kbd__row > *:nth-child(2),
    .kbwhy__card:nth-child(2),.kimba-card:nth-child(2){animation-range:entry 4% cover 29%}
    .kbbar__cell:nth-child(3),.kbd__row > *:nth-child(3),
    .kbwhy__card:nth-child(3),.kimba-card:nth-child(3){animation-range:entry 4% cover 34%}
    .kbbar__cell:nth-child(4),.kbd__row > *:nth-child(4),
    .kbwhy__card:nth-child(4),.kimba-card:nth-child(4){animation-range:entry 4% cover 39%}
    .kimba-card:nth-child(5){animation-range:entry 4% cover 44%}

    /* The hero and anything else above the fold must never animate —
       it is already on screen when the page paints. */
    .kbh *,.kbf *{animation-timeline:auto}
  }
}
/* -----------------------------------------------------------
   13 · FOOTER — footer-7 structure, RTL first.
   Wide airy brand block, three even link columns, everything
   starting from the right edge.
   ----------------------------------------------------------- */
.kbf{direction:rtl;background:#FFFFFF;border-top:1px solid rgba(10,17,31,.10);color:var(--kb-muted)}
.kbf *{box-sizing:border-box}
.kbf a{color:inherit;text-decoration:none}

.kbf__top{
  max-width:1240px;margin:0 auto;padding:52px 24px 22px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;
  border-bottom:1px solid rgba(10,17,31,.10);
}
.kbf__lead{
  font-family:var(--font-display),sans-serif !important;
  font-weight:700 !important;
  font-size:clamp(20px,2.3vw,26px) !important;
  color:var(--kb-steel) !important;
  margin:0 !important;line-height:1.3 !important;
}
.kbf__call{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.kbf__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:0 22px;border-radius:999px;
  font-family:var(--font-display),sans-serif;font-weight:600;font-size:16px;
  transition:background .25s var(--kb-ease),transform .25s var(--kb-ease);
}
.kbf__btn:hover{transform:translateY(-2px)}
.kbf__btn svg{width:18px;height:18px;flex:0 0 auto}
.kbf__btn--phone{background:var(--kb-accent);color:var(--kb-ink);font-weight:700;font-variant-numeric:tabular-nums;direction:ltr}
.kbf__btn--phone:hover{background:var(--kb-accent-head)}
.kbf__btn--solid{background:var(--kb-steel);color:#FFFFFF}
.kbf__btn--solid:hover{background:var(--kb-ink)}

.kbf__in{
  max-width:1240px;margin:0 auto;padding:40px 24px 34px;
  display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:40px 34px;
}
.kbf__brand{display:flex;flex-direction:column;gap:14px;text-align:right}
.kbf__logo{display:block}
.kbf__brand img{width:clamp(200px,20vw,262px);height:auto;max-width:100% !important;margin:0 !important}
.kbf__brand p{
  margin:0 !important;font-size:15px !important;line-height:1.7 !important;
  color:var(--kb-muted) !important;max-width:34ch;
}
.kbf__col{display:flex;flex-direction:column;gap:10px;text-align:right}
.kbf__col h3{
  font-family:var(--font-display),sans-serif !important;
  font-weight:700 !important;font-size:15.5px !important;
  color:var(--kb-steel) !important;margin:0 0 6px !important;text-align:right;
}
.kbf__col a,.kbf__col span{font-size:15px;line-height:1.6;color:var(--kb-muted);text-align:right}
.kbf__col a:hover{color:var(--kb-ink);text-decoration:underline;text-underline-offset:3px}
.kbf__num{font-variant-numeric:tabular-nums;direction:ltr;text-align:right}

.kbf__soc{display:flex;gap:10px;margin-top:6px}
.kbf__soc a{
  width:42px;height:42px;border:1.5px solid var(--kb-steel);border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;color:var(--kb-steel);
  transition:background .25s var(--kb-ease),color .25s var(--kb-ease);
}
.kbf__soc a:hover{background:var(--kb-steel);color:#FFFFFF}
.kbf__soc svg{width:18px;height:18px}

.kbf__bar{
  background:var(--kb-ink);color:rgba(249,249,249,.68);
  font-size:13px;line-height:1.7;
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  padding:16px 24px;text-align:right;
}

@media (max-width:1000px){
  .kbf__in{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px}
}
@media (max-width:580px){
  .kbf__in{grid-template-columns:1fr;padding:28px 18px 30px;gap:26px}
  /* בטלפון כל קישור צריך להיות יעד נוח לאצבע — 44px לפחות. */
  .kbf__col{gap:2px}
  .kbf__col a{display:flex;align-items:center;min-height:44px}
  .kbf__soc a{width:44px;height:44px}
  .kbf__top{padding:34px 18px 20px}
  .kbf__call{width:100%}
  .kbf__btn{flex:1 1 auto;min-width:0}
  .kbf__bar{padding:14px 18px;font-size:12px}
}

/* -----------------------------------------------------------
   14 · GOOGLE REVIEW CARDS — the Google ones are links out to
   the real reviews; the WhatsApp ones stay plain cards.
   ----------------------------------------------------------- */
.kimrvg-card--link{cursor:pointer}
.kimrvg-card--link:hover .kimrvg-go{background:var(--kb-accent);color:var(--kb-ink);transform:translateX(-3px)}
.kimrvg-go{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:999px;flex:0 0 auto;
  margin-inline-start:auto;
  background:rgba(19,33,61,.07);color:var(--kb-steel);
  transition:background .25s var(--kb-ease),color .25s var(--kb-ease),transform .25s var(--kb-ease);
}
.kimrvg-go svg{width:15px;height:15px}