/* ==========================================================================
   KB Studio homepage ("The Month" redesign, 2026-08-13)
   Homepage-only sheet. Loaded render-blocking on the homepage template only
   (see kb_studio_enqueue_styles). Header + footer styling is site-wide and
   lives in custom-core.css instead.
   ========================================================================== */

/* Local aliases map onto the global tokens in custom-core.css :root.
   Nothing here re-defines a brand colour: change a colour there, not here.
   The 3 values that are genuinely new to this page (deepest purple end-stop,
   ink, faint) are declared once, below. */
.kb-home{
    --purple:var(--kb-purple); --purple-dark:var(--kb-purple-dark); --purple-soft:var(--kb-purple-light);
    --teal:var(--kb-teal); --cyan:var(--kb-cyan);
    --gold:var(--kb-gold); /* ds-ok: alias only; testimonial quote glyph + the 5-star review marks */
    --tint:var(--kb-purple-tint); --light:var(--kb-light); --line:var(--kb-line); --white:var(--kb-white);
    --muted:var(--kb-gray);
    --purple-deep:#1a0035;   /* ds-ok: gradient end-stop, darker than --kb-purple-dark by design */
    --ink:#2c2c2c;           /* ds-ok: body ink per tokens.md, global --kb-text is the older #333 */
    --faint:#9a93aa;         /* ds-ok: muted purple-grey for captions, no global token exists */
    --grad-brand:linear-gradient(150deg,var(--kb-purple),var(--kb-purple-dark) 70%,#1a0035);
    --grad-btn:var(--kb-gradient);
    --shadow-lift:0 18px 50px -22px rgba(51,0,108,.28);
    --shadow-sm:0 6px 22px -12px rgba(51,0,108,.25);
    --shadow-btn:0 3px 10px rgba(51,0,108,.22);
    margin:0;background:var(--white);color:var(--ink);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    font-size:20px;line-height:1.6;-webkit-font-smoothing:antialiased;
    /* GP's .site-content is a flex container, so this wrapper is a flex item and
       would otherwise size to its widest content (the marquee, ~5200px wide).
       min-width:0 plus a clip context lets it shrink to the viewport. Same
       mechanism .kb-page uses. */
    width:100%;min-width:0;
    overflow-x:hidden;overflow-x:clip}
  .kb-home *{box-sizing:border-box}
  .kb-home img{max-width:100%;height:auto}
  .kb-home *{box-sizing:border-box}
  .kb-home ::selection{background:var(--tint);color:var(--purple)}
  .kb-home h1,.kb-home h2,.kb-home h3,.kb-home h4{font-family:'Fira Sans',sans-serif;color:var(--purple);margin:0}
  .kb-home p{margin:0}
  .kb-home .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .kb-home .sec{padding:104px 0;position:relative}
  .kb-home .sec-light{background:var(--light)}
  .kb-home .sec-dark{background:var(--grad-brand)}
  .kb-home .sec-dark h2,.kb-home .sec-dark h3{color:#fff}
  .kb-home .gridlines::before{content:'';position:absolute;inset:0;pointer-events:none;
    background-image:linear-gradient(rgba(51,0,108,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(51,0,108,.045) 1px,transparent 1px);
    background-size:72px 72px;
    -webkit-mask-image:radial-gradient(78% 72% at 50% 42%,#000 58%,transparent 100%);
    mask-image:radial-gradient(78% 72% at 50% 42%,#000 58%,transparent 100%)}
  .kb-home .shead{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:baseline;margin-bottom:56px;position:relative}
  .kb-home .sidx{font-family:'Fira Sans',sans-serif;font-size:15px;font-weight:700;letter-spacing:.14em;color:var(--cyan)}
  .kb-home .sec-dark .sidx{color:var(--teal)}
  .kb-home .shead h2{font-size:clamp(30px,3.6vw,42px);font-weight:700;line-height:1.12;letter-spacing:-.015em;max-width:22ch}
  .kb-home .shead .slede{grid-column:2;max-width:56ch;margin-top:14px;font-size:19.5px;color:var(--muted)}
  .kb-home .sec-dark .shead .slede{color:rgba(255,255,255,.72)}
  .kb-home .btn,.kb-home .btn-ghost,.kb-home .btn-inverse,.kb-home .btn-ghost-dark,.kb-home .btn-teal{display:inline-flex;align-items:center;gap:9px;font-size:17px;font-weight:600;line-height:1;padding:14px 26px;border-radius:10px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
  .kb-home .btn{background:var(--grad-btn);color:#fff;box-shadow:var(--shadow-btn)}
  .kb-home .btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(51,0,108,.3)}
  .kb-home .btn svg,.kb-home .btn-inverse svg{transition:transform .18s ease}
  .kb-home .btn:hover svg,.kb-home .btn-inverse:hover svg{transform:translateX(3px)}
  .kb-home .btn-ghost{color:var(--purple);border:1.5px solid rgba(51,0,108,.26)}
  .kb-home .btn-ghost:hover{border-color:var(--purple);background:#fff}
  .kb-home .btn-inverse{background:#fff;color:var(--purple)}
  .kb-home .btn-inverse:hover{transform:translateY(-2px);box-shadow:0 10px 26px -10px rgba(0,0,0,.45)}
  .kb-home .btn-ghost-dark{color:#fff;border:1.5px solid rgba(255,255,255,.4)}
  .kb-home .btn-teal{background:linear-gradient(135deg,var(--kb-teal),#00b8e6);color:var(--kb-purple-dark);box-shadow:0 6px 18px -8px rgba(0,212,250,.55)}
  .kb-home .btn-teal:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(0,212,250,.7)}
  .kb-home .btn-ghost-dark:hover{background:rgba(255,255,255,.12);border-color:#fff}

  
  .kb-home .hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;background:var(--purple-deep)}
  .kb-home .hero-vid,.kb-home .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .kb-home .hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(26,0,53,.9) 0%,rgba(26,0,53,.72) 34%,rgba(26,0,53,.28) 62%,rgba(26,0,53,.45) 100%),linear-gradient(0deg,rgba(26,0,53,.85) 0%,transparent 34%)}
  .kb-home .hero-in{position:relative;z-index:2;padding:120px 0 96px}
  .kb-home .hero-eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}
  .kb-home .hero h1{font-size:clamp(42px,5.5vw,66px);font-weight:800;line-height:1.05;letter-spacing:-.025em;max-width:17ch;color:#fff}
  .kb-home .hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--teal),#7dd8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
  .kb-home .hero-lede{margin-top:24px;font-size:20.5px;line-height:1.55;color:rgba(255,255,255,.78);max-width:52ch}
  .kb-home .hero-lede b{color:#fff;font-weight:600}
  .kb-home .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
  .kb-home .hero-hairline{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22);display:flex;gap:28px;flex-wrap:wrap;font-size:15px;color:rgba(255,255,255,.6)}
  .kb-home .hero-hairline b{color:#fff;font-weight:600}
  .kb-home .hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.55);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
  .kb-home .hero-play{position:absolute;right:26px;bottom:20px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.38);color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;padding:10px 16px;border-radius:10px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .18s ease}
  .kb-home .hero-play:hover{background:rgba(255,255,255,.26)}
  @media(max-width:768px){.kb-home .hero-play{display:none}}

  .kb-home .rail{border-bottom:1px solid var(--line);background:#fff;padding:26px 0;overflow:hidden}
  .kb-home .rail-cap{text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
  .kb-home .rail-track{display:flex;gap:72px;width:max-content;animation:kbrail 42s linear infinite}
  .kb-home .rail:hover .rail-track{animation-play-state:paused}
  .kb-home .rail-track img{height:30px;width:auto;filter:grayscale(1);opacity:.5;transition:filter .2s,opacity .2s}
  .kb-home .rail-track img:hover{filter:none;opacity:1}
  @keyframes kbrail{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  .kb-home .blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.55}
  .kb-home .blob-a{width:460px;height:460px;background:rgba(0,212,250,.16);top:-140px;left:-120px;animation:drift1 18s ease-in-out infinite alternate}
  .kb-home .blob-b{width:520px;height:520px;background:rgba(74,0,153,.14);bottom:-200px;right:-140px;animation:drift2 22s ease-in-out infinite alternate}
  @keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(70px,40px) scale(1.12)}}
  @keyframes drift2{from{transform:translate(0,0) scale(1)}to{transform:translate(-60px,-50px) scale(1.08)}}
  .kb-home .bene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:2}
  .kb-home .bene{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(51,0,108,.09);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
  .kb-home .bene:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
  .kb-home .bene-img{position:relative;height:158px;overflow:hidden}
  .kb-home .bene-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
  .kb-home .bene:hover .bene-img img{transform:scale(1.05)}
  .kb-home .bene-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(255,255,255,.9))}
  .kb-home .bene-body{padding:22px 28px 30px}
  .kb-home .bene-k{width:44px;height:44px;border-radius:12px;background:var(--grad-btn);display:flex;align-items:center;justify-content:center;margin:-46px 0 16px;position:relative;box-shadow:var(--shadow-btn)}
  .kb-home .bene-k svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .kb-home .bene h3{font-size:21.5px;margin-bottom:8px}
  .kb-home .bene p{font-size:16.5px;line-height:1.6;color:var(--muted)}
  @media(max-width:920px){.kb-home .bene-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}

  .kb-home .tl{position:relative;max-width:820px;margin:0 auto;padding-left:52px;z-index:2}
  .kb-home .tl-rail{position:absolute;left:17px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px;overflow:hidden}
  .kb-home .tl-rail i{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--cyan),var(--purple));transform:scaleY(0);transform-origin:top}
  .kb-home .tl-item{position:relative;padding-bottom:46px}
  .kb-home .tl-item:last-child{padding-bottom:0}
  .kb-home .tl-item::before{content:'';position:absolute;left:-43px;top:7px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--line);transition:border-color .3s,background .3s,box-shadow .3s}
  .kb-home .tl-item.lit::before{border-color:var(--cyan);box-shadow:0 0 0 5px rgba(0,158,219,.12)}
  .kb-home .tl-item:last-child.lit::before{border-color:var(--purple);background:var(--purple)}
  .kb-home .tl-when{font-family:'Fira Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:6px}
  .kb-home .tl-item h3{font-size:23px;font-weight:700;margin-bottom:8px}
  .kb-home .tl-item p{font-size:18px;line-height:1.6;color:var(--muted);max-width:56ch}
  .kb-home .tl-report{margin-top:14px;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);padding:16px 18px;max-width:380px}
  .kb-home .tl-report .rp-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}
  .kb-home .tl-report .rp-head img{width:22px;height:22px;border-radius:6px}
  .kb-home .tl-report .rp-head b{font-size:13.5px;color:var(--purple);font-family:'Fira Sans',sans-serif}
  .kb-home .tl-report s{display:block;height:9px;border-radius:5px;background:var(--tint);text-decoration:none;margin-bottom:8px}
  .kb-home .tl-report s.w2{width:72%}.kb-home .tl-report s.w3{width:56%;margin-bottom:0}
  .kb-home .tl-report .rp-cap{font-size:12px;color:var(--faint);margin-top:10px}

  .kb-home .rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;position:relative;z-index:2}
  .kb-home .ba-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:30px 30px 26px;display:flex;flex-direction:column}
  .kb-home .ba-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10.6;cursor:ew-resize;touch-action:none;user-select:none}
  .kb-home .ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none}
  .kb-home .ba-after{clip-path:inset(0 0 0 var(--cut,50%))}
  .kb-home .ba-bar{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:2.5px;background:#fff;box-shadow:0 0 0 1px rgba(26,0,53,.25);pointer-events:none}
  .kb-home .ba-knob{position:absolute;top:50%;left:var(--cut,50%);transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 8px 24px -6px rgba(26,0,53,.5);display:flex;align-items:center;justify-content:center;gap:3px;color:var(--purple);pointer-events:none}
  .kb-home .ba-tag{position:absolute;top:12px;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:7px;pointer-events:none}
  .kb-home .ba-tag.t-before{left:12px;background:rgba(26,0,53,.72);color:#fff}
  .kb-home .ba-tag.t-after{right:12px;background:rgba(0,158,219,.92);color:#fff}
  .kb-home .ba-meta{margin-top:20px}
  .kb-home .cs-tag{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
  .kb-home .ba-meta h3{font-size:22px;margin-bottom:8px}
  .kb-home .ba-meta p{font-size:16.5px;line-height:1.6;color:var(--muted);margin-bottom:14px}
  .kb-home .cs-more{font-size:16px;font-weight:600;color:var(--cyan);text-decoration:none}
  .kb-home .cs-more:hover{color:var(--purple)}
  .kb-home .stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:34px 34px 30px;display:flex;flex-direction:column;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
  .kb-home a.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
  .kb-home .stat-big{font-family:'Fira Sans',sans-serif;font-size:clamp(38px,4vw,54px);font-weight:800;letter-spacing:-.02em;color:var(--purple);line-height:1;margin-bottom:10px}
  .kb-home .stat-card h3{font-size:20px;font-weight:600;color:var(--ink);margin-bottom:8px}
  .kb-home .stat-card > p{font-size:16.5px;line-height:1.6;color:var(--muted);margin-bottom:16px}
  @media(max-width:920px){.kb-home .rec-grid{grid-template-columns:1fr}}

  .kb-home .lever{display:grid;grid-template-columns:56px 1fr 1.5fr auto;gap:24px;align-items:center;padding:28px 12px;border-top:1px solid var(--line);text-decoration:none;transition:background .2s ease,transform .2s ease;position:relative;z-index:2}
  .kb-home .lever:last-of-type{border-bottom:1px solid var(--line)}
  .kb-home .lever:hover{background:#fff;transform:translateX(6px)}
  .kb-home .lever-ic{width:46px;height:46px;border-radius:13px;background:rgba(51,0,108,.06);display:flex;align-items:center;justify-content:center;transition:background .2s}
  .kb-home .lever-ic svg{width:21px;height:21px;fill:none;stroke:var(--purple);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
  .kb-home .lever:hover .lever-ic{background:rgba(0,158,219,.13)}
  .kb-home .lever:hover .lever-ic svg{stroke:var(--cyan)}
  .kb-home .lever h3{font-size:26px;font-weight:700;letter-spacing:-.01em}
  .kb-home .lever-line{font-size:18px;color:var(--muted)}
  .kb-home .lever-arrow{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--purple);transition:background .2s,border-color .2s,color .2s}
  .kb-home .lever:hover .lever-arrow{background:var(--purple);border-color:var(--purple);color:#fff}
  @media(max-width:820px){.kb-home .lever{grid-template-columns:46px 1fr auto;grid-template-rows:auto auto}.kb-home .lever-line{grid-column:2;grid-row:2}}

  .kb-home .workstrip{padding:64px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .kb-home .ws-cap{text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:26px}
  .kb-home .ws-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .kb-home .ws-item{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;text-decoration:none}
  .kb-home .ws-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
  .kb-home .ws-item img{display:block;width:100%;height:190px;object-fit:cover;object-position:top center}
  .kb-home .ws-item span{position:absolute;left:10px;bottom:10px;background:rgba(26,0,53,.82);color:#fff;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:8px;backdrop-filter:blur(6px)}
  @media(max-width:920px){.kb-home .ws-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.kb-home .ws-grid{grid-template-columns:1fr}}

  /* ticker */
  .kb-home .ticker{overflow:hidden;padding:36px 0 40px;background:var(--light);border-bottom:1px solid var(--line)}
  .kb-home .ticker-track{display:flex;gap:56px;width:max-content;animation:kbrail 32s linear infinite;align-items:baseline}
  .kb-home .ticker span{font-family:'Fira Sans',sans-serif;font-weight:800;font-size:clamp(40px,6.4vw,76px);letter-spacing:-.02em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(51,0,108,.3)}
  .kb-home .ticker span b{color:var(--cyan);-webkit-text-stroke:0;font-weight:800}
  @media (prefers-reduced-motion: reduce){.kb-home .ticker-track{animation:none}}

  .kb-home .doors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2}
  .kb-home .door{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 34px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
  .kb-home .door:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
  .kb-home .door.is-main{border-top:3px solid var(--cyan)}
  .kb-home .door-k{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
  .kb-home .door h3{font-size:23px;margin-bottom:6px}
  .kb-home .door-price{font-family:'Fira Sans',sans-serif;font-size:16.5px;font-weight:600;color:var(--purple);margin-bottom:16px}
  .kb-home .door p{font-size:16.5px;line-height:1.6;color:var(--muted);margin-bottom:20px}
  .kb-home .door a{margin-top:auto;font-size:16px;font-weight:600;color:var(--cyan);text-decoration:none}
  .kb-home .door a:hover{color:var(--purple)}
  @media(max-width:920px){.kb-home .doors{grid-template-columns:1fr;max-width:520px;margin:0 auto}}

  .kb-home .refuse{position:relative;overflow:hidden}
  .kb-home .refuse-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16}
  .kb-home .refuse-shade{position:absolute;inset:0;background:linear-gradient(150deg,rgba(51,0,108,.92),rgba(36,0,73,.94) 70%,rgba(26,0,53,.96))}
  .kb-home .refuse .wrap{position:relative;z-index:2}
  .kb-home .refuse-list{max-width:880px;margin:0 auto}
  .kb-home .refuse-item{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);font-size:20px;line-height:1.5;color:rgba(255,255,255,.88)}
  .kb-home .refuse-item:last-of-type{border-bottom:1px solid rgba(255,255,255,.14)}
  .kb-home .refuse-item svg{flex:none;margin-top:7px;color:var(--kb-teal)}
  .kb-home .refuse-item b{color:#fff;font-weight:600}
  .kb-home .refuse-after{max-width:880px;margin:34px auto 0;font-size:19px;line-height:1.6;color:rgba(255,255,255,.72)}
  .kb-home .refuse-after a{color:var(--teal);text-decoration:none;font-weight:600}

  .kb-home .vt-row{display:grid;grid-template-columns:1fr 1.778fr;gap:22px;align-items:start;max-width:1060px;margin:0 auto 48px}
  .kb-home .vt-card{margin:0}
  .kb-home .vt-card video{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#000}
  .kb-home .vt-card figcaption{margin-top:11px;font-size:14px;color:var(--muted)}
  .kb-home .vt-card figcaption b{color:var(--ink);font-weight:600}

  .kb-home .quote-split{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:center;max-width:1060px;margin:0 auto 26px}
  .kb-home .stage-shot{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lift);border:1px solid var(--line)}
  .kb-home .stage-shot img{display:block;width:100%;height:auto}
  .kb-home .stage-cap{margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--faint)}
  .kb-home .quote-feature{text-align:left}
  .kb-home .quote-glyph{font-family:Georgia,serif;font-size:64px;line-height:.6;color:var(--gold);display:block;margin-bottom:18px}
  .kb-home .quote-feature blockquote{margin:0 0 24px;font-family:'Fira Sans',sans-serif;font-size:clamp(23px,2.6vw,30px);font-weight:600;line-height:1.35;color:var(--purple);letter-spacing:-.01em}
  .kb-home .quote-stars{display:flex;gap:3px;margin-bottom:14px}
  .kb-home .quote-stars svg{width:16px;height:16px;flex:none;fill:var(--gold)}
  .kb-home .quote-feature .quote-stars{margin-bottom:16px}
  .kb-home .quote-feature .quote-stars svg{width:18px;height:18px}
  .kb-home .quote-who{font-size:16px;color:var(--muted)}
  .kb-home .quote-who b{color:var(--ink)}
  .kb-home .quote-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px;margin:44px auto 0}
  .kb-home .quote-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 32px;box-shadow:var(--shadow-sm)}
  .kb-home .quote-card blockquote{margin:0 0 18px;font-size:16.5px;line-height:1.6;color:var(--ink)}
  .kb-home .quote-src{display:flex;align-items:center;gap:12px}
  .kb-home .q-mono{width:46px;height:46px;border-radius:13px;background:var(--tint);color:var(--purple);font-family:'Fira Sans',sans-serif;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex:none}
  .kb-home .q-id h4{font-size:15.5px;margin-bottom:2px}
  .kb-home .q-id p{font-size:13.5px;color:var(--muted)}
  .kb-home .chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:44px}
  .kb-home .chip{display:inline-flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;color:var(--purple);background:var(--tint);border-radius:999px;padding:8px 17px}
  @media(max-width:920px){.kb-home .quote-split{grid-template-columns:1fr;gap:34px}.kb-home .quote-feature{text-align:center}.kb-home .quote-feature .quote-stars{justify-content:center}.kb-home .quote-pair{grid-template-columns:1fr}.kb-home .vt-row{grid-template-columns:1fr;gap:28px}}

  .kb-home .faq-wrap{max-width:860px;margin:0 auto;position:relative;z-index:2}
  .kb-home details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;box-shadow:var(--shadow-sm)}
  .kb-home summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 26px;font-family:'Fira Sans',sans-serif;font-weight:600;font-size:18px;color:var(--purple)}
  .kb-home summary::-webkit-details-marker{display:none}
  .kb-home summary::after{content:'+';font-size:22px;color:var(--cyan);flex:none;transition:transform .2s}
  .kb-home details[open] summary::after{transform:rotate(45deg)}
  .kb-home details p{padding:0 26px 22px;font-size:17px;line-height:1.6;color:var(--muted)}
  .kb-home .cta-final{position:relative;text-align:center;padding:116px 0;overflow:hidden}
  .kb-home .cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .kb-home .cta-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,0,53,.9) 0%,rgba(26,0,53,.68) 55%,rgba(26,0,53,.88) 100%)}
  .kb-home .cta-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
  .kb-home .cb-a{width:460px;height:460px;background:rgba(0,212,250,.14);top:-170px;left:-130px;animation:drift1 20s ease-in-out infinite alternate}
  .kb-home .cb-b{width:560px;height:560px;background:rgba(74,0,153,.5);bottom:-240px;right:-160px;animation:drift2 24s ease-in-out infinite alternate}
  .kb-home .cta-final h2{position:relative;font-size:clamp(30px,4.2vw,48px);line-height:1.1;letter-spacing:-.02em;max-width:20ch;margin:0 auto 18px;color:#fff}
  .kb-home .cta-final p{position:relative;color:rgba(255,255,255,.78);max-width:600px;margin:0 auto 32px;font-size:19.5px}
  .kb-home .cta-contact{position:relative;margin-top:24px;font-size:16px;color:rgba(255,255,255,.55)}
  .kb-home .cta-contact a{color:var(--teal);text-decoration:none}

    @media(max-width:760px){.kb-home .sec{padding:72px 0}.kb-home .shead{grid-template-columns:1fr;gap:8px}.kb-home .shead .slede{grid-column:1}.kb-home .hero{min-height:76vh}}

  /* Reveal-on-scroll fails SAFE: content is visible by default and only starts
     hidden once kb-home.js has added .kb-anim, so a JS error, a blocked script or
     a browser without IntersectionObserver can never leave the page blank. */
  .kb-home.kb-anim .fx{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
  .kb-home.kb-anim .fx.on{opacity:1;transform:none}
  @media (prefers-reduced-motion: reduce){
    .kb-home.kb-anim .fx{opacity:1;transform:none;transition:none}
    .kb-home .rail-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
    .kb-home .blob,.kb-home .cta-blob{animation:none}
  }
