/* ==========================================================================
   KIJA CREATIVE — GLOBAL STYLESHEET
   Paste once at the GHL funnel level. Page code blocks never redefine tokens.
   ========================================================================== */

/* --- reset -------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--k-nav-h) + 24px)}
body{margin:0}
img,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}

/* --- base --------------------------------------------------------------- */
body{
  background:var(--k-ink);
  color:var(--k-cream);
  font-family:var(--k-body);
  font-size:var(--k-t-base);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
::selection{background:var(--k-mint);color:var(--k-ink)}
:focus-visible{outline:2px solid var(--k-mint);outline-offset:3px;border-radius:var(--k-r-sm)}

.k-skip{
  position:absolute;left:-9999px;top:0;z-index:var(--k-z-toast);
  background:var(--k-mint);color:var(--k-ink);padding:12px 20px;font-weight:700;
}
.k-skip:focus{left:12px;top:12px}

/* --- layout primitives -------------------------------------------------- */
.k-wrap{max-width:var(--k-max);margin-inline:auto;padding-inline:var(--k-gutter)}
.k-wrap--wide{max-width:var(--k-max-wide)}
.k-prose{max-width:var(--k-max-prose)}
.k-section{padding-block:var(--k-section);position:relative}
.k-section--line{border-top:1px solid var(--k-line)}
.k-section--ink2{background:var(--k-ink-2)}
.k-stack>*+*{margin-top:var(--k-s4)}
.k-stack-lg>*+*{margin-top:var(--k-s6)}
.k-grid{display:grid;gap:var(--k-s4)}
.k-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.k-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.k-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.k-center{text-align:center}
.k-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* --- typography --------------------------------------------------------- */
.k-display,h1,h2{font-family:var(--k-display);text-transform:uppercase;font-weight:400;letter-spacing:.01em;line-height:.9}
h1{font-size:var(--k-t-xxl)}
h2{font-size:var(--k-t-xl)}
h3{font-family:var(--k-display);text-transform:uppercase;font-size:var(--k-t-md);letter-spacing:.03em;line-height:1.05;margin:0}
.k-h3-lg{font-size:var(--k-t-lg)}
h4,.k-label{
  font-family:var(--k-mono);font-size:var(--k-t-label);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--k-mint);margin:0;
}
.k-label--dim{color:var(--k-dim)}
.k-label--mag{color:var(--k-magenta)}
.k-label--yellow{color:var(--k-yellow)}
.k-eyebrow{font-family:var(--k-mono);font-size:var(--k-t-label);letter-spacing:.24em;text-transform:uppercase;color:var(--k-mint)}
.k-lede{font-size:var(--k-t-lede);line-height:1.55;color:var(--k-dim)}
.k-lede b,.k-lede strong{color:var(--k-cream);font-weight:700}
.k-dim{color:var(--k-dim)}
.k-sm{font-size:var(--k-t-sm)}
.k-xs{font-size:var(--k-t-xs)}
.k-mono{font-family:var(--k-mono)}
.k-mint{color:var(--k-mint)}
.k-mag{color:var(--k-magenta)}
.k-yellow{color:var(--k-yellow)}
code,.k-code{
  font-family:var(--k-mono);font-size:.82em;color:var(--k-aqua);
  background:rgba(198,245,232,.07);padding:2px 6px;border-radius:var(--k-r-sm);
  word-break:break-word;
}
.k-body-copy p+p{margin-top:var(--k-s4)}
.k-body-copy a{color:var(--k-mint);text-underline-offset:3px}

/* --- signature motif: chromatic aberration ------------------------------ */
.k-split-text{
  position:relative;
  text-shadow:-3px 0 rgba(194,30,122,.85), 3px 0 rgba(61,255,174,.75);
}
.k-split-text--sm{text-shadow:-2px 0 rgba(194,30,122,.8), 2px 0 rgba(61,255,174,.7)}
@media (hover:hover){
  .k-split-hover{transition:text-shadow var(--k-mid) var(--k-ease)}
  .k-split-hover:hover{text-shadow:-4px 0 rgba(194,30,122,.9), 4px 0 rgba(61,255,174,.85)}
}

/* --- rainbow stripe ----------------------------------------------------- */
.k-stripe{
  height:6px;width:100%;flex:none;
  background:linear-gradient(90deg,
    var(--k-magenta) 0 20%, var(--k-yellow) 20% 40%,
    var(--k-mint) 40% 60%, var(--k-aqua) 60% 80%, var(--k-magenta) 80% 100%);
}
.k-stripe--thin{height:3px}

/* --- glow field --------------------------------------------------------- */
.k-glow{position:relative;overflow:hidden;isolation:isolate}
.k-glow::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:auto -20% -55% 35%;height:420px;
  background:radial-gradient(ellipse at center,var(--k-mag-30),transparent 68%);
}
.k-glow--mint::after{background:radial-gradient(ellipse at center,var(--k-mint-30),transparent 68%)}

/* --- nav ---------------------------------------------------------------- */
.k-nav{
  position:sticky;top:0;z-index:var(--k-z-nav);
  background:rgba(30,10,30,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--k-line);
}
.k-nav__in{
  max-width:var(--k-max-wide);margin-inline:auto;padding-inline:var(--k-gutter);
  height:var(--k-nav-h);display:flex;align-items:center;gap:var(--k-s5);
}
.k-mark{
  font-family:var(--k-display);font-size:26px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;color:var(--k-cream);white-space:nowrap;line-height:1;
}
.k-mark span{color:var(--k-mint)}
.k-nav__links{display:flex;gap:2px;margin-left:auto;align-items:center}
.k-nav__links a{
  font-family:var(--k-mono);font-size:var(--k-t-micro);letter-spacing:.14em;text-transform:uppercase;
  color:var(--k-dim);text-decoration:none;padding:8px 11px;border-radius:var(--k-r-sm);
  transition:color var(--k-fast) var(--k-ease),background var(--k-fast) var(--k-ease);
  white-space:nowrap;
}
.k-nav__links a:hover,.k-nav__links a[aria-current="page"]{color:var(--k-mint)}
.k-nav__links a:focus-visible{color:var(--k-ink);background:var(--k-mint);outline:none}
.k-nav__cta{margin-left:var(--k-s3)}
.k-burger{display:none;margin-left:auto;background:none;border:1px solid var(--k-line);border-radius:var(--k-r-sm);
  padding:8px 12px;font-family:var(--k-mono);font-size:var(--k-t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--k-cream);cursor:pointer}
.k-drawer{display:none}

@media(max-width:960px){
  .k-nav__links{display:none}
  .k-burger{display:block}
  .k-drawer{
    display:block;position:fixed;inset:var(--k-nav-h) 0 0;z-index:var(--k-z-modal);
    background:var(--k-ink);padding:var(--k-s6) var(--k-gutter);
    transform:translateY(-8px);opacity:0;visibility:hidden;
    transition:opacity var(--k-mid) var(--k-ease),transform var(--k-mid) var(--k-ease),visibility var(--k-mid);
    overflow-y:auto;
  }
  .k-drawer[data-open="true"]{opacity:1;visibility:visible;transform:none}
  .k-drawer a{
    display:block;font-family:var(--k-display);text-transform:uppercase;font-size:2rem;
    letter-spacing:.03em;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--k-line);
  }
  .k-drawer .k-btn{margin-top:var(--k-s6);width:100%;text-align:center;font-family:var(--k-mono)}
}

/* --- buttons ------------------------------------------------------------ */
.k-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--k-mono);font-size:var(--k-t-label);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  padding:14px 26px;border-radius:var(--k-r-sm);border:1px solid transparent;cursor:pointer;
  transition:transform var(--k-fast) var(--k-ease),background var(--k-fast) var(--k-ease),
             color var(--k-fast) var(--k-ease),border-color var(--k-fast) var(--k-ease);
  line-height:1;
}
.k-btn:hover{transform:translateY(-2px)}
.k-btn:active{transform:translateY(0)}
.k-btn--primary{background:var(--k-mint);color:var(--k-ink)}
.k-btn--primary:hover{background:#5affbe}
.k-btn--ghost{border-color:var(--k-line-2);color:var(--k-cream);background:transparent}
.k-btn--ghost:hover{border-color:var(--k-mint);color:var(--k-mint)}
.k-btn--mag{background:var(--k-magenta);color:var(--k-cream)}
.k-btn--mag:hover{background:#d92a8b}
.k-btn--sm{padding:10px 18px;font-size:var(--k-t-micro)}
.k-btn--lg{padding:18px 34px;font-size:var(--k-t-xs)}
.k-btn[disabled],.k-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.k-btn__arrow{transition:transform var(--k-fast) var(--k-ease)}
.k-btn:hover .k-btn__arrow{transform:translateX(3px)}
.k-btns{display:flex;flex-wrap:wrap;gap:var(--k-s3)}

.k-link{
  font-family:var(--k-mono);font-size:var(--k-t-label);letter-spacing:.14em;text-transform:uppercase;
  color:var(--k-mint);text-decoration:none;border-bottom:1px solid var(--k-mint-30);
  padding-bottom:3px;transition:border-color var(--k-fast) var(--k-ease);display:inline-block;
}
.k-link:hover{border-color:var(--k-mint)}

/* --- tags --------------------------------------------------------------- */
.k-tag{
  display:inline-block;font-family:var(--k-mono);font-size:var(--k-t-micro);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:var(--k-r-pill);
  line-height:1.4;
}
.k-tag--mint{background:var(--k-mint);color:var(--k-ink)}
.k-tag--mag{background:var(--k-magenta);color:var(--k-cream)}
.k-tag--yellow{background:var(--k-yellow);color:var(--k-ink)}
.k-tag--aqua{background:var(--k-aqua);color:var(--k-ink)}
.k-tag--out{border:1px solid var(--k-line-2);color:var(--k-dim)}
.k-tags{display:flex;flex-wrap:wrap;gap:6px}

/* --- cards -------------------------------------------------------------- */
.k-card{
  background:var(--k-ink-2);border:1px solid var(--k-line);border-radius:var(--k-r);
  padding:var(--k-s5);position:relative;
}
.k-card--accent{border-left:4px solid var(--k-mint)}
.k-card--mag{border-left:4px solid var(--k-magenta)}
.k-card--warn{border-left:4px solid var(--k-yellow)}
.k-card--flat{background:transparent}
.k-card p+p{margin-top:var(--k-s3)}
.k-card>h4+*{margin-top:var(--k-s3)}
.k-card>h3+p{margin-top:var(--k-s3)}

a.k-card{
  text-decoration:none;display:block;
  transition:transform var(--k-mid) var(--k-ease),border-color var(--k-mid) var(--k-ease);
}
a.k-card:hover{transform:translateY(-3px);border-color:var(--k-line-2)}

.k-list{color:var(--k-dim)}
.k-list li{position:relative;padding-left:22px;margin-bottom:8px}
.k-list li:last-child{margin-bottom:0}
.k-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--k-mint);
}
.k-list--num{counter-reset:k}
.k-list--num li{counter-increment:k;padding-left:32px}
.k-list--num li::before{
  content:counter(k,decimal-leading-zero);width:auto;height:auto;background:none;top:0;
  font-family:var(--k-mono);font-size:var(--k-t-micro);color:var(--k-magenta);font-weight:700;
}

/* --- callout ------------------------------------------------------------ */
.k-callout{
  background:linear-gradient(100deg,var(--k-mag-16),var(--k-mint-08));
  border:1px solid var(--k-line);border-left:4px solid var(--k-yellow);
  border-radius:var(--k-r);padding:var(--k-s5) var(--k-s6);
}

/* --- section head ------------------------------------------------------- */
.k-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.k-num{font-family:var(--k-mono);font-size:var(--k-t-xs);font-weight:700;letter-spacing:.14em;color:var(--k-magenta)}
.k-head+.k-lede{margin-top:var(--k-s4)}
.k-head+.k-lede,.k-sub{max-width:720px}
.k-head-block{margin-bottom:var(--k-s7)}

/* --- kpi ---------------------------------------------------------------- */
.k-kpi{font-family:var(--k-display);font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--k-mint);letter-spacing:.02em}
.k-kpi--mag{color:var(--k-magenta)}
.k-kpi__l{font-family:var(--k-mono);font-size:var(--k-t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--k-dim);margin-top:6px}

/* --- meta strip --------------------------------------------------------- */
.k-meta{display:flex;flex-wrap:wrap;border-top:1px solid var(--k-line)}
.k-meta>div{flex:1 1 165px;padding:var(--k-s4) var(--k-s5) var(--k-s4) 0;border-right:1px solid var(--k-line)}
.k-meta>div:last-child{border-right:0}
.k-meta dt{font-family:var(--k-mono);font-size:var(--k-t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--k-dim);margin-bottom:5px}
.k-meta dd{font-weight:700;font-size:var(--k-t-sm)}

/* --- tables ------------------------------------------------------------- */
.k-tbl{width:100%;border-collapse:collapse;font-size:var(--k-t-sm)}
.k-tbl th{
  font-family:var(--k-mono);font-size:var(--k-t-micro);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--k-mint);text-align:left;padding:10px 12px;
  border-bottom:1px solid var(--k-line);vertical-align:bottom;
}
.k-tbl td{padding:12px;border-bottom:1px solid var(--k-line);vertical-align:top}
.k-tbl tr:last-child td{border-bottom:0}
.k-tbl__group td{
  background:var(--k-ink-3);font-family:var(--k-mono);font-size:var(--k-t-micro);
  letter-spacing:.14em;text-transform:uppercase;color:var(--k-dim);
}

/* --- three-column row (service/offer rows) ------------------------------ */
.k-row{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.85fr);
  border:1px solid var(--k-line);border-radius:var(--k-r);overflow:hidden;background:var(--k-ink-2);
}
.k-row>div{padding:var(--k-s5);border-right:1px solid var(--k-line)}
.k-row>div:last-child{border-right:0}
.k-row__t{background:var(--k-ink-3)}
.k-rows{display:grid;gap:14px}

/* --- process steps ------------------------------------------------------ */
.k-steps{display:grid;gap:0;counter-reset:step}
.k-step{
  display:grid;grid-template-columns:88px 1fr;gap:0;position:relative;
  border-left:2px solid var(--k-line);padding-bottom:var(--k-s6);
}
.k-step:last-child{padding-bottom:0;border-left-color:transparent}
.k-step::before{
  content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;
  background:var(--k-magenta);border:2px solid var(--k-ink);
}
.k-step__n{
  font-family:var(--k-mono);font-size:var(--k-t-label);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--k-yellow);padding:2px 0 0 22px;
}
.k-step__b{padding-left:6px}
.k-step__b>*+*{margin-top:8px}

/* --- accordion (objections / faq) --------------------------------------- */
.k-acc{border-top:1px solid var(--k-line)}
.k-acc__item{border-bottom:1px solid var(--k-line)}
.k-acc__q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:var(--k-s4);
  padding:var(--k-s5) 0;font-family:var(--k-display);text-transform:uppercase;
  font-size:var(--k-t-md);letter-spacing:.03em;line-height:1.1;color:var(--k-cream);
  transition:color var(--k-fast) var(--k-ease);
}
.k-acc__q:hover{color:var(--k-mint)}
.k-acc__ico{
  flex:none;width:22px;height:22px;position:relative;
  transition:transform var(--k-mid) var(--k-ease);
}
.k-acc__ico::before,.k-acc__ico::after{
  content:"";position:absolute;background:var(--k-mint);left:50%;top:50%;
}
.k-acc__ico::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.k-acc__ico::after{width:2px;height:14px;transform:translate(-50%,-50%);transition:opacity var(--k-fast) var(--k-ease)}
.k-acc__q[aria-expanded="true"] .k-acc__ico{transform:rotate(180deg)}
.k-acc__q[aria-expanded="true"] .k-acc__ico::after{opacity:0}
/* Panels are open until JS marks the accordion ready, so the answers are
   readable with no JS at all. Heights are transitioned in pixels rather than
   with the 0fr/1fr grid trick — fr interpolation silently fails in some
   engines, and when it does the panel never opens at all. */
.k-acc__a{overflow:hidden;transition:height var(--k-mid) var(--k-ease)}
.k-acc.is-ready .k-acc__a{height:0}
.k-acc.is-ready .k-acc__item[data-open="true"] .k-acc__a{height:auto}
.k-acc__a p{padding-bottom:var(--k-s5);color:var(--k-dim);max-width:70ch}

/* --- forms -------------------------------------------------------------- */
.k-field{display:block}
.k-field+.k-field{margin-top:var(--k-s4)}
.k-field__l{
  display:block;font-family:var(--k-mono);font-size:var(--k-t-micro);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--k-dim);margin-bottom:7px;
}
.k-input,.k-select,.k-textarea{
  width:100%;background:var(--k-ink);border:1px solid var(--k-line-2);border-radius:var(--k-r-sm);
  padding:13px 14px;color:var(--k-cream);font-size:var(--k-t-base);
  transition:border-color var(--k-fast) var(--k-ease),background var(--k-fast) var(--k-ease);
}
.k-input::placeholder,.k-textarea::placeholder{color:var(--k-dimmer)}
.k-input:focus,.k-select:focus,.k-textarea:focus{outline:none;border-color:var(--k-mint);background:var(--k-ink-2)}
.k-textarea{min-height:130px;resize:vertical}
.k-select{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--k-mint) 50%),linear-gradient(135deg,var(--k-mint) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}
.k-field__err{display:none;color:var(--k-yellow);font-size:var(--k-t-xs);margin-top:6px;font-family:var(--k-mono)}
.k-field[data-invalid="true"] .k-input,.k-field[data-invalid="true"] .k-select,.k-field[data-invalid="true"] .k-textarea{border-color:var(--k-yellow)}
.k-field[data-invalid="true"] .k-field__err{display:block}
.k-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* choice chips (radio/checkbox replacements) */
.k-choices{display:grid;gap:10px}
.k-choice{
  display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;
  background:var(--k-ink);border:1px solid var(--k-line-2);border-radius:var(--k-r-sm);
  transition:border-color var(--k-fast) var(--k-ease),background var(--k-fast) var(--k-ease);
}
.k-choice:hover{border-color:var(--k-line-2);background:var(--k-ink-2)}
.k-choice input{position:absolute;opacity:0;width:0;height:0}
.k-choice__box{
  flex:none;width:18px;height:18px;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm);
  margin-top:3px;position:relative;transition:all var(--k-fast) var(--k-ease);
}
.k-choice input:checked~.k-choice__box{background:var(--k-mint);border-color:var(--k-mint)}
.k-choice input:checked~.k-choice__box::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid var(--k-ink);border-width:0 2px 2px 0;transform:rotate(45deg);
}
.k-choice:has(input:checked){border-color:var(--k-mint);background:var(--k-mint-08)}
.k-choice input:focus-visible~.k-choice__box{outline:2px solid var(--k-mint);outline-offset:3px}
.k-choice__t{font-size:var(--k-t-sm);line-height:1.5}
.k-choice__t b{display:block;font-size:var(--k-t-base);font-weight:700;margin-bottom:2px}

/* --- progress ----------------------------------------------------------- */
.k-prog{height:3px;background:var(--k-line);border-radius:var(--k-r-pill);overflow:hidden}
.k-prog__bar{height:100%;background:var(--k-mint);width:0;transition:width var(--k-mid) var(--k-ease)}

/* --- widget shell (Signal Test / Fit Finder) ---------------------------- */
.k-widget{
  background:var(--k-ink-2);border:1px solid var(--k-line);border-radius:var(--k-r-lg);
  padding:clamp(22px,4vw,40px);box-shadow:var(--k-shadow);position:relative;min-height:420px;
}
.k-widget__skel{display:grid;gap:14px}
.k-widget__skel i{
  display:block;height:14px;border-radius:var(--k-r-sm);
  background:linear-gradient(90deg,var(--k-ink-3),var(--k-ink-4),var(--k-ink-3));
  background-size:200% 100%;animation:k-shimmer 1.4s linear infinite;
}
.k-widget__skel i:nth-child(1){width:38%;height:11px}
.k-widget__skel i:nth-child(2){width:88%;height:26px}
.k-widget__skel i:nth-child(3){width:72%}
.k-widget__skel i:nth-child(4){width:100%;height:54px}
.k-widget__skel i:nth-child(5){width:100%;height:54px}
@keyframes k-shimmer{to{background-position:-200% 0}}
.k-widget__step{animation:k-fade var(--k-mid) var(--k-ease) both}
@keyframes k-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.k-widget__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--k-s4);margin-top:var(--k-s6);flex-wrap:wrap}
.k-widget__count{font-family:var(--k-mono);font-size:var(--k-t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--k-dim)}

/* score dial */
.k-dial{display:flex;align-items:center;gap:var(--k-s6);flex-wrap:wrap}
.k-dial__svg{flex:none}
.k-dial__track{stroke:var(--k-line);fill:none;stroke-width:10}
.k-dial__val{stroke:var(--k-mint);fill:none;stroke-width:10;stroke-linecap:round;
  transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset 1.1s var(--k-ease-out)}
.k-dial__num{font-family:var(--k-display);font-size:2.6rem;fill:var(--k-cream)}
.k-bar{margin-top:var(--k-s4)}
.k-bar__top{display:flex;justify-content:space-between;font-family:var(--k-mono);font-size:var(--k-t-micro);
  letter-spacing:.12em;text-transform:uppercase;color:var(--k-dim);margin-bottom:6px}
.k-bar__track{height:6px;background:var(--k-ink);border-radius:var(--k-r-pill);overflow:hidden}
.k-bar__fill{height:100%;width:0;border-radius:var(--k-r-pill);background:var(--k-mint);
  transition:width var(--k-slow) var(--k-ease-out)}
.k-bar--weak .k-bar__fill{background:var(--k-magenta)}
.k-bar--mid .k-bar__fill{background:var(--k-yellow)}

/* chat-style (Fit Finder D1) */
.k-chat{display:grid;gap:var(--k-s4);max-height:min(58vh,520px);overflow-y:auto;padding-right:6px}
.k-chat__msg{max-width:82%;padding:14px 18px;border-radius:var(--k-r-lg);font-size:var(--k-t-sm);line-height:1.55}
.k-chat__msg--bot{background:var(--k-ink-3);border-bottom-left-radius:var(--k-r-sm);justify-self:start}
.k-chat__msg--me{background:var(--k-mint);color:var(--k-ink);border-bottom-right-radius:var(--k-r-sm);justify-self:end;font-weight:700}

/* --- sticky mobile CTA -------------------------------------------------- */
.k-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:var(--k-z-sticky);display:none;
  gap:8px;padding:10px var(--k-gutter) calc(10px + env(safe-area-inset-bottom));
  background:rgba(30,10,30,.96);backdrop-filter:blur(12px);border-top:1px solid var(--k-line);
  transform:translateY(110%);transition:transform var(--k-mid) var(--k-ease);
}
.k-sticky[data-show="true"]{transform:none}
.k-sticky .k-btn{flex:1}
@media(max-width:760px){.k-sticky{display:flex}body{padding-bottom:72px}}

/* --- proof wall filters ------------------------------------------------- */
.k-filters{display:flex;flex-wrap:wrap;gap:8px}
.k-filter{
  font-family:var(--k-mono);font-size:var(--k-t-micro);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:8px 14px;border-radius:var(--k-r-pill);cursor:pointer;
  background:transparent;border:1px solid var(--k-line-2);color:var(--k-dim);
  transition:all var(--k-fast) var(--k-ease);
}
.k-filter:hover{color:var(--k-cream);border-color:var(--k-line-2)}
.k-filter[aria-pressed="true"]{background:var(--k-mint);border-color:var(--k-mint);color:var(--k-ink)}
.k-case{display:flex;flex-direction:column;min-height:100%}
.k-case[hidden]{display:none}
.k-case__thumb{
  aspect-ratio:16/10;border-radius:var(--k-r) var(--k-r) 0 0;position:relative;overflow:hidden;
  display:grid;place-items:center;padding:var(--k-s5);
}
.k-case__thumb span{
  font-family:var(--k-display);text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,2.6rem);
  line-height:.92;text-align:center;letter-spacing:.02em;
}
.k-case__body{padding:var(--k-s5);flex:1;display:flex;flex-direction:column;gap:12px}
.k-case__body .k-tags{margin-top:auto}

/* --- marquee ------------------------------------------------------------ */
.k-marquee{overflow:hidden;border-block:1px solid var(--k-line);padding-block:var(--k-s5);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.k-marquee__t{display:flex;width:max-content;gap:var(--k-s7);animation:k-scroll 38s linear infinite}
.k-marquee:hover .k-marquee__t{animation-play-state:paused}
.k-marquee span{
  font-family:var(--k-display);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);
  letter-spacing:.03em;color:var(--k-dimmer);white-space:nowrap;
}
.k-marquee span b{color:var(--k-cream);font-weight:400}
@keyframes k-scroll{to{transform:translateX(-50%)}}

/* --- reveal on scroll ---------------------------------------------------
   Fail-safe by design: content is visible unless JS has proved it can
   reveal it again. `k-reveal` lands on <html> only after global.js confirms
   IntersectionObserver exists, and a watchdog strips it if anything stalls.
   A visitor never loses content to a broken observer or a hidden render
   context (print, in-app browsers, the GHL page editor).
   -------------------------------------------------------------------------- */
.k-reveal [data-reveal]{opacity:0;transform:translateY(14px);
  transition:opacity var(--k-slow) var(--k-ease-out),transform var(--k-slow) var(--k-ease-out)}
.k-reveal [data-reveal].is-in{opacity:1;transform:none}

/* --- footer ------------------------------------------------------------- */
.k-foot{border-top:1px solid var(--k-line);padding-block:var(--k-s8) var(--k-s7)}
.k-foot__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--k-s6)}
.k-foot h4{margin-bottom:var(--k-s4)}
.k-foot a{color:var(--k-dim);text-decoration:none;font-size:var(--k-t-sm);display:block;padding:4px 0;
  transition:color var(--k-fast) var(--k-ease)}
.k-foot a:hover{color:var(--k-mint)}
.k-foot__base a{display:inline;padding:0}
.k-foot__legal{margin-left:14px;white-space:nowrap}
.k-foot__base{
  margin-top:var(--k-s8);padding-top:var(--k-s5);border-top:1px solid var(--k-line);
  display:flex;flex-wrap:wrap;gap:var(--k-s4);justify-content:space-between;align-items:center;
  font-size:var(--k-t-xs);color:var(--k-dimmer);
}
.k-vitals{display:flex;gap:var(--k-s4);flex-wrap:wrap;font-family:var(--k-mono);font-size:var(--k-t-micro);
  letter-spacing:.1em;text-transform:uppercase}
.k-vitals b{color:var(--k-mint);font-weight:700}

/* --- responsive --------------------------------------------------------- */
@media(max-width:980px){
  .k-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-row{grid-template-columns:1fr}
  .k-row>div{border-right:0;border-bottom:1px solid var(--k-line)}
  .k-row>div:last-child{border-bottom:0}
  .k-split{grid-template-columns:1fr}
  .k-foot__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .k-g2,.k-g3,.k-g4{grid-template-columns:1fr}
  .k-step{grid-template-columns:1fr}
  .k-step__n{padding-left:22px;margin-bottom:6px}
  .k-meta>div{flex-basis:50%;border-right:0}
  .k-foot__grid{grid-template-columns:1fr}
  .k-chat__msg{max-width:92%}
}

/* --- motion / print ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important}
  .k-reveal [data-reveal]{opacity:1;transform:none}
}
@media print{
  body{background:#fff;color:#111}
  .k-nav,.k-sticky,.k-stripe,.k-marquee{display:none}
  .k-card,.k-row,.k-widget{background:#f6f6f6;border-color:#ccc;color:#111}
  .k-split-text{text-shadow:none}
  .k-reveal [data-reveal]{opacity:1!important;transform:none!important}
  a{text-decoration:underline}
}
