/* KallisToys — homepage promise banner */
body .kpb{--gold:#e6c88f;--cream:#fbf4ea;--kpb-ease:cubic-bezier(.22,.61,.36,1);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0;padding:0;border-radius:var(--r,14px);overflow:hidden;isolation:isolate;color:var(--cream);
  background:radial-gradient(60% 140% at 12% 50%,#34251b 0%,#1b1410 55%,#130e0b 100%);box-shadow:0 0 0 1px rgba(201,166,107,.28)}
body .kpb::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#c9a66b 20%,#f0d9a6 50%,#c9a66b 80%,transparent);opacity:.8}
body .kpb::after{content:"";position:absolute;top:0;left:-30%;width:30%;height:1px;background:linear-gradient(90deg,transparent,#fff3dc,transparent);opacity:0}
body .kpb-score{position:relative;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:34px clamp(28px,3vw,48px);border-right:1px solid rgba(240,217,166,.16)}
body .kpb-kicker{margin:0;color:var(--gold);font:700 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
body .kpb .tp-score{color:var(--cream)}
body .kpb .tp-score-n{color:#fdf7ee;font-size:58px}
body .kpb .tp-score-meta b{color:var(--cream);font-size:14px}
body .kpb .tp-score-meta small{color:rgba(251,244,234,.65)}
body .kpb .tp-score:hover small{color:var(--cream)}
body .kpb .tp-stars i{width:16px;height:16px}
body .kpb .tp-stars i:not(.on):not(.half){background:#4a3d33}
body .kpb-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
body .kpb-list li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:16px;align-content:start;padding:34px clamp(22px,2.4vw,38px)}
body .kpb-list li+li::before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:1px;background:linear-gradient(180deg,transparent,rgba(240,217,166,.25),transparent)}
body .kpb-ic{grid-row:1/4;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(240,217,166,.35);background:radial-gradient(circle at 35% 30%,#3a2a20,#1b130f);color:var(--gold)}
body .kpb-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body .kpb-no{color:rgba(230,200,143,.75);font:italic 400 14px/1 var(--serif);letter-spacing:.06em}
body .kpb-list h3{margin:6px 0 6px;color:#fdf7ee;font:500 21px/1.2 var(--serif);letter-spacing:-.01em}
body .kpb-list p{margin:0;max-width:36ch;color:rgba(251,244,234,.72);font-size:14px;line-height:1.6}

/* motion: rises in, icons draw themselves, a glint runs along the gold edge now and then */
@media (prefers-reduced-motion:no-preference){
  body .kpb.is-ready .kpb-score,body .kpb.is-ready .kpb-list li{opacity:0;transform:translateY(14px)}
  body .kpb.is-ready .kpb-ic svg *{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
  body .kpb.is-ready .tp-stars i{opacity:0;transform:scale(.6)}
  body .kpb.is-in .kpb-score,body .kpb.is-in .kpb-list li{opacity:1;transform:none;transition:opacity .9s var(--kpb-ease),transform 1s var(--kpb-ease)}
  body .kpb.is-in .kpb-list li{transition-delay:calc(.15s + var(--i) * .12s)}
  body .kpb.is-in .kpb-ic svg *{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset 1.4s cubic-bezier(.65,0,.35,1),opacity .2s}
  body .kpb.is-in li:nth-child(1) .kpb-ic svg *{transition-delay:.45s}
  body .kpb.is-in li:nth-child(2) .kpb-ic svg *{transition-delay:.6s}
  body .kpb.is-in li:nth-child(3) .kpb-ic svg *{transition-delay:.75s}
  body .kpb.is-in .tp-stars i{opacity:1;transform:none;transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
  body .kpb.is-in .tp-stars i:nth-child(2){transition-delay:.08s}body .kpb.is-in .tp-stars i:nth-child(3){transition-delay:.16s}body .kpb.is-in .tp-stars i:nth-child(4){transition-delay:.24s}body .kpb.is-in .tp-stars i:nth-child(5){transition-delay:.32s}
  body .kpb.is-in::after{animation:kpbGlint 9s 1.2s ease-in-out infinite}
  body .kpb-list li:hover .kpb-ic{border-color:rgba(240,217,166,.75);box-shadow:0 0 0 6px rgba(240,217,166,.06);transition:border-color .3s,box-shadow .4s}
}
@keyframes kpbGlint{0%{left:-30%;opacity:0}6%{opacity:1}28%{left:100%;opacity:1}32%,100%{left:100%;opacity:0}}

@media (max-width:1180px){body .kpb{grid-template-columns:1fr}body .kpb-score{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:24px 28px;border-right:0;border-bottom:1px solid rgba(240,217,166,.16)}}
@media (max-width:820px){body .kpb-list{grid-template-columns:1fr}body .kpb-list li{padding:22px 24px}body .kpb-list li+li::before{left:24px;right:24px;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(240,217,166,.25),transparent)}body .kpb .tp-score-n{font-size:46px}}
