/* ==================================================================
   LANDING PAGE (front-page.php) — Kokoro Academy
   Imported verbatim from the Elementor build's <style> blocks
   (Desktop/kokoro-academy/super-landing-page.html). Do not reformat:
   the imported markup in template-parts/marketing/landing-*.php depends
   on these exact selectors.
   ================================================================== */

/* ──────────────────────────────────────────────────────────────
   Elementor container reproduction.
   Before this import the page's content lived inside a boxed
   Elementor .e-con container: max-width min(100%, 1320px),
   centred, zero padding (kit post-6922 + custom-frontend.min.css).
   Keeping the cap makes the import pixel-identical on wide screens —
   without it every section background (notably the .kh-hero
   gradient) bleeds edge-to-edge above 1320px.
   Safe to delete if full-bleed sections are ever wanted.
   ────────────────────────────────────────────────────────────── */
.kka-marketing { max-width: 1320px; margin-left: auto; margin-right: auto; }

/* ── GLOBAL MOBILE POLISH ── */
/* DO NOT RE-SORT. This block is NOT in super-landing-page.html. The live page
   is TWO Elementor HTML widgets: this one (eb755e3, style-only) renders BEFORE
   the hero widget (3bbfa5d, which is the whole export file). Captured verbatim
   from live, dead selectors included (.kh-xrayLite__*, .kh-xrayPop__*, #programs
   match nothing since the markup uses .kh-xrayLite* and #programlar) — it is
   live CSS, not ours to curate. Carries the sticky-header anchor offset that
   makes the hero's #xray / #nasil-calisir CTAs land correctly. Everything after
   this banner is the export file's own <style> blocks in their source order. */
  /* ===== GLOBAL MOBILE POLISH (Kokoro) ===== */

  @media (max-width: 560px){
    .kh-howInner,
    .kh-xrayLite__wrap,
    .kh-xrayPop__wrap,
    .kh-programs__wrap,
    .kh-proof__wrap{
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
  }

  @media (max-width: 560px){
    .kh-howTitle,
    .kh-xrayLite__title,
    .kh-xrayPop__title,
    .kh-programs__title,
    .kh-proof__title{
      line-height: 1.12 !important;
      letter-spacing: -0.6px !important;
    }
  }

  @media (max-width: 560px){
    .kh-kicker,
    .kh-xrayLite__kicker,
    .kh-xrayPop__kicker,
    .kh-programs__kicker,
    .kh-proof__kicker{
      white-space: normal !important;
      max-width: 100% !important;
    }
  }

  @media (max-width: 560px){
    .kh-xrayLite__list,
    .kh-xrayPop__list,
    .kh-programCard__list{
      padding-left: 16px !important;
    }
  }

  @media (max-width: 560px){
    .kh-xrayLite__btn,
    .kh-xrayPop__btn,
    .kh-programCard__cta{
      width: 100% !important;
      justify-content: center !important;
      padding: 16px 18px !important;
      font-size: 15px !important;
    }
  }

  @media (max-width: 560px){
    .kh-stepBody,
    .kh-xrayLite__card,
    .kh-xrayLite__sampleCard,
    .kh-programCard,
    .kh-proofCard{
      box-shadow: 0 14px 40px rgba(15,23,42,.08) !important;
    }
  }

  @media (max-width: 560px){
    .kh-dividerWrap{
      margin-top: 32px !important;
    }
  }

  /* Anchor offset for sticky header */
  #xray, #programs, #social-proof, #nasil-calisir{
    scroll-margin-top: 90px;
  }
  @media (max-width: 560px){
    #xray, #programs, #social-proof, #nasil-calisir{
      scroll-margin-top: 110px;
    }
  }

/* ── HERO SECTION ── */
  :root{
    --kh-bg1:#f6f7ff;
    --kh-bg2:#eef1ff;
    --kh-ink:#0f172a;
    --kh-muted:#5b6477;
    --kh-line:rgba(15,23,42,.12);
    --kh-primary:#5b5cf6;
    --kh-primary2:#7c3aed;
    --kh-shadow: 0 20px 60px rgba(15,23,42,.12);
    --kh-radius: 18px;
    --kh-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  }

  .kh-hero{
    position:relative;
    overflow:hidden;
    padding: clamp(28px, 5vw, 72px) 0;
    background: linear-gradient(180deg, var(--kh-bg1), var(--kh-bg2));
    font-family: var(--kh-font);
    color: var(--kh-ink);
  }

  .kh-bg{
    position:absolute;
    inset:-40% -20% auto -20%;
    height: 520px;
    background:
      radial-gradient(closest-side, rgba(91,92,246,.18), transparent 70%),
      radial-gradient(closest-side, rgba(124,58,237,.16), transparent 70%);
    filter: blur(2px);
    transform: rotate(-6deg);
    pointer-events:none;
  }

  .kh-container{
    position:relative;
    z-index:1;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 18px;
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(18px, 3vw, 38px);
    align-items:center;
  }

  .kh-header{ max-width: 640px; }

  .kh-eyebrow{
    display:flex;
    align-items:center;
    gap:10px;
    margin: 0 0 14px;
    font-size: 13px;
    color: var(--kh-muted);
    letter-spacing: .2px;
  }
  .kh-dot{
    width:10px; height:10px; border-radius:999px;
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
    box-shadow: 0 10px 30px rgba(91,92,246,.25);
  }
  .kh-en{ opacity:.9; font-weight:600; }

  .kh-title{
    margin: 0 0 12px;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.8px;
  }
  .kh-accent{
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .kh-subtitle{
    margin: 0 0 22px;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.55;
    color: var(--kh-muted);
  }

  .kh-ctaRow{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap: 14px 18px;
    margin: 0 0 10px;
  }

  .kh-ctaPrimary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding: 14px 18px;
    border-radius: 999px;
    text-decoration:none;
    color:white;
    font-weight: 700;
    letter-spacing: .2px;
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
    box-shadow: 0 18px 40px rgba(91,92,246,.28);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
    will-change: transform;
  }
  .kh-ctaPrimary:hover{ transform: translateY(-1px); filter: brightness(1.02); }
  .kh-ctaPrimary:active{ transform: translateY(0px) scale(.99); }
  .kh-ctaIcon{
    width:28px; height:28px;
    display:grid; place-items:center;
    border-radius:999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
  }

  .kh-ctaSecondary{
    color: var(--kh-ink);
    text-decoration:none;
    font-weight: 650;
    opacity: .9;
    border-bottom: 1px solid rgba(15,23,42,.25);
    padding-bottom: 2px;
    transition: opacity .15s ease, border-color .15s ease;
  }
  .kh-ctaSecondary:hover{ opacity:1; border-color: rgba(91,92,246,.65); }

  .kh-trust{
    margin: 10px 0 18px;
    font-size: 13px;
    color: rgba(15,23,42,.62);
  }

  .kh-badges{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
  }
  .kh-badges li{
    font-size: 13px;
    color: rgba(15,23,42,.72);
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.65);
    border: 1px solid var(--kh-line);
    backdrop-filter: blur(8px);
  }
  .kh-cardTitle{
    margin:0 0 6px;
    font-weight: 800;
    letter-spacing: -.2px;
  }
  .kh-cardDesc{
    margin:0;
    color: var(--kh-muted);
    font-size: 13px;
    line-height: 1.45;
  }

  .kh-progressRow{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:8px;
    font-size: 13px;
    margin-bottom: 8px;
  }
  .kh-muted{ color: rgba(15,23,42,.55); font-weight:600; }
  .kh-bar{
    height: 10px;
    border-radius: 999px;
    background: rgba(15,23,42,.08);
    overflow:hidden;
  }
  .kh-bar span{
    display:block;
    height:100%;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
  }

  .kh-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.75);
    border: 1px solid var(--kh-line);
    font-size: 13px;
  }
  .kh-rowLeft{ color: rgba(15,23,42,.8); font-weight:700; }
  .kh-rowRight{ color: rgba(15,23,42,.58); font-weight:650; }

  .kh-cardCtas{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 12px;
  }

  /* Responsive */
  @media (max-width: 920px){
    .kh-container{ grid-template-columns: 1fr; }
    .kh-header{ order: 1; }   /* title block first */
    .kh-diag{ order: 2; }     /* diagnosis preview card second */
  }

/* ── SUB-HERO TRUST STRIP ── */
  .kh-trustStrip{
    position: relative;
    z-index: 1;
    margin-top: 28px;
    padding: 22px 0;
  }

  .kh-trustInner{
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 18px;
  }

  .kh-trustList{
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }

  .kh-trustList li{
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 16px;
    padding: 16px 14px;
    font-size: 14px;
    line-height: 1.45;
    color: rgba(15,23,42,.78);
    backdrop-filter: blur(8px);
  }

  .kh-trustList strong{
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    color: rgba(15,23,42,.95);
    letter-spacing: -.2px;
  }

  .kh-trustList em{
    font-style: normal;
    font-weight: 700;
    color: rgba(15,23,42,.9);
  }

  .kh-en{
    font-weight: 700;
    opacity: .85;
  }

  /* Responsive */
  @media (max-width: 900px){
    .kh-trustList{
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (max-width: 520px){
    .kh-trustList{
      grid-template-columns: 1fr;
    }
  }

/* ── HOW IT WORKS (v3.1) ── */
  /* ====== HOW IT WORKS v3.1 ====== */
  :root{
    --kh-ink:#0f172a;
    --kh-muted:rgba(15,23,42,.62);
    --kh-line:rgba(15,23,42,.10);
    --kh-card:#ffffff;
    --kh-bgA:#ffffff;
    --kh-bgB:#f7f8fc;
    --kh-shadow: 0 18px 48px rgba(15,23,42,.08);
    --kh-shadow2: 0 14px 36px rgba(15,23,42,.06);
    --kh-radius: 22px;
    --kh-primary:#5b5cf6;
    --kh-primary2:#7c3aed;
    --kh-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  }

  .kh-diag {
    position: relative;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.10);
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(15,23,42,.13);
    backdrop-filter: blur(16px);
    padding: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .kh-diag__glow {
    position: absolute;
    top: -80px; left: -40px; right: -40px;
    height: 260px;
    background: radial-gradient(closest-side, rgba(91,92,246,.16), transparent 70%),
                radial-gradient(closest-side, rgba(124,58,237,.12), transparent 70%);
    pointer-events: none;
  }
  .kh-diag__head {
    position: relative; z-index: 1;
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
  }
  .kh-diag__who { display: flex; align-items: center; gap: 10px; }
  .kh-diag__ava {
    width: 34px; height: 34px; border-radius: 999px; flex-shrink: 0;
    background: linear-gradient(135deg, #5b5cf6, #7c3aed);
    color: #fff; font-size: 13px; font-weight: 900; display: grid; place-items: center;
  }
  .kh-diag__name { margin: 0; font-size: 13px; font-weight: 800; color: rgba(15,23,42,.88); }
  .kh-diag__sub  { margin: 0; font-size: 11px; font-weight: 600; color: rgba(15,23,42,.50); }
  .kh-diag__badge {
    font-size: 11px; font-weight: 800; letter-spacing: .08em;
    padding: 5px 10px; border-radius: 999px;
    border: 1px solid rgba(15,23,42,.12); background: rgba(255,255,255,.8); color: rgba(15,23,42,.55);
  }

  /* Gauge */
  .kh-diag__gauge {
    position: relative; z-index: 1;
    display: flex; flex-direction: column; align-items: center;
  }
  .kh-diag__arc { width: 100%; max-width: 180px; height: auto; display: block; }
  #kh-arcFill   { transition: stroke-dashoffset .5s cubic-bezier(.4,0,.2,1); }
  .kh-diag__score {
    display: flex; align-items: baseline; gap: 3px;
    margin-top: -30px;
  }
  .kh-diag__scoreVal {
    font-size: 44px; font-weight: 950; letter-spacing: -2px;
    color: #0f172a; line-height: 1;
  }
  .kh-diag__scoreMax { font-size: 15px; font-weight: 700; color: rgba(15,23,42,.40); }
  .kh-diag__scoreLbl {
    margin: 4px 0 0; font-size: 11px; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: rgba(15,23,42,.46);
  }

  /* Skills */
  .kh-diag__skills { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; }
  .kh-dsk {
    border-radius: 12px; padding: 8px 10px;
    border: 1.5px solid transparent;
    transition: border-color .2s ease, background .2s ease;
  }
  .kh-dsk[data-skill] { cursor: pointer; }
  .kh-dsk[data-skill]:hover:not(.kh-dsk--active) { background: rgba(15,23,42,.03); }
  .kh-dsk--warn              { background: rgba(245,158,11,.06); border-color: rgba(245,158,11,.18); }
  .kh-dsk--active:not(.kh-dsk--warn) { background: rgba(91,92,246,.07); border-color: rgba(91,92,246,.28); }
  .kh-dsk--warn.kh-dsk--active       { background: rgba(245,158,11,.11); border-color: rgba(245,158,11,.34); }

  .kh-dsk__top {
    display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px;
  }
  .kh-dsk__name {
    font-size: 13px; font-weight: 700; color: rgba(15,23,42,.78);
    display: flex; align-items: center; gap: 7px; line-height: 1.3;
  }
  .kh-dsk__tag {
    font-size: 10px; font-weight: 900; letter-spacing: .06em;
    padding: 3px 7px; border-radius: 999px; white-space: nowrap;
    background: rgba(245,158,11,.18); color: #b45309; text-transform: uppercase;
  }
  .kh-dsk__val          { font-size: 13px; font-weight: 900; color: rgba(15,23,42,.60); white-space: nowrap; }
  .kh-dsk__val--warn    { color: #b45309; }
  .kh-dsk__track        { height: 7px; border-radius: 999px; background: rgba(15,23,42,.07); overflow: hidden; }
  .kh-dsk__fill         { height: 100%; border-radius: 999px; }
  .kh-dsk__fill--ok     { background: linear-gradient(90deg, #5b5cf6, #7c3aed); }
  .kh-dsk__fill--warn   { background: linear-gradient(90deg, #f59e0b, #ef4444); }

  /* Finding */
  .kh-diag__finding {
    position: relative; z-index: 1;
    display: flex; gap: 10px; align-items: flex-start;
    background: linear-gradient(135deg, rgba(91,92,246,.08), rgba(124,58,237,.06));
    border: 1px solid rgba(91,92,246,.20);
    border-radius: 14px; padding: 12px 14px;
  }
  .kh-diag__findingIcon { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
  .kh-diag__findingText { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(15,23,42,.78); }
  .kh-diag__findingText strong { color: rgba(15,23,42,.95); font-weight: 900; }

  /* CTA */
  .kh-diag__cta {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 18px; border-radius: 999px; text-decoration: none;
    color: #fff; font-weight: 850; font-size: 14px;
    background: linear-gradient(135deg, #5b5cf6, #7c3aed);
    box-shadow: 0 16px 44px rgba(91,92,246,.28);
    transition: transform .15s ease, filter .15s ease;
  }
  .kh-diag__cta:hover  { transform: translateY(-1px); filter: brightness(1.04); color: #fff; text-decoration: none; }
  .kh-diag__cta:active { transform: translateY(0); }

  .kh-how.v31{
    padding: clamp(64px, 7vw, 110px) 0 clamp(40px, 4vw, 60px);
    background: linear-gradient(180deg, var(--kh-bgA), var(--kh-bgB));
    color: var(--kh-ink);
    font-family: var(--kh-font);
    overflow: hidden;
    position: relative;
  }

  .kh-how.v31::before{
    content:"";
    position:absolute;
    inset:-20% -20% auto -20%;
    height: 520px;
    background:
      radial-gradient(closest-side, rgba(91,92,246,.14), transparent 70%),
      radial-gradient(closest-side, rgba(124,58,237,.12), transparent 70%);
    filter: blur(2px);
    transform: rotate(-6deg);
    pointer-events:none;
  }

  .kh-howInner{
    position: relative;
    z-index: 1;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .kh-howHeader{
    max-width: 600px;
    margin-bottom: 44px;
  }

  .kh-kicker{
    display:flex;
    align-items:center;
    gap:10px;
    margin: 0 0 14px;
    font-size: 13px;
    color: rgba(15,23,42,.58);
    letter-spacing: .2px;
  }

  .kh-kickerDot{
    width:10px;height:10px;border-radius:999px;
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
    box-shadow: 0 16px 40px rgba(91,92,246,.25);
  }

  .kh-howTitle{
    margin: 0 0 12px;
    font-size: clamp(28px, 3.2vw, 40px);
    letter-spacing: -0.7px;
  }

  .kh-howIntro{
    margin: 0;
    font-size: 17px;
    line-height: 1.55;
    color: var(--kh-muted);
  }

  .kh-en{ font-weight: 750; opacity: .85; }

  /* Steps with vertical rail */
  .kh-steps{
    list-style:none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 18px;
    position: relative;
  }

  .kh-steps::before{
    content:"";
    position:absolute;
    left: 28px;
    top: 16px;
    bottom: 16px;
    width: 2px;
    background: linear-gradient(
      180deg,
      rgba(91,92,246,.26),
      rgba(15,23,42,.08),
      rgba(124,58,237,.18)
    );
    border-radius: 999px;
    pointer-events:none;
  }

  .kh-step{
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    align-items: stretch;
  }

  .kh-stepRail{
    position: relative;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top: 20px;
  }

  .kh-stepDot{
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--kh-primary), var(--kh-primary2));
    box-shadow: 0 12px 34px rgba(91,92,246,.22);
    border: 3px solid rgba(255,255,255,.95);
  }

  .kh-stepBody{
    background: var(--kh-card);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: var(--kh-radius);
    padding: 22px 22px;
    box-shadow: var(--kh-shadow2);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }

  .kh-stepBody:hover{
    transform: translateY(-2px);
    box-shadow: var(--kh-shadow);
    border-color: rgba(91,92,246,.18);
  }

  .kh-stepTop{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  .kh-stepNum{
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .12em;
    color: rgba(15,23,42,.38);
  }

  .kh-stepTag{
    font-size: 12px;
    font-weight: 800;
    padding: 8px 10px;
    border-radius: 999px;
    color: rgba(15,23,42,.76);
    background: rgba(91,92,246,.10);
    border: 1px solid rgba(91,92,246,.14);
    white-space: nowrap;
  }

  .kh-stepBody h3{
    margin: 0 0 8px;
    font-size: 19px;
    letter-spacing: -.2px;
  }

  .kh-stepBody p{
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(15,23,42,.74);
  }

  .kh-stepBody strong{
    font-weight: 850;
    color: rgba(15,23,42,.92);
  }

  /* Footer + divider */
  .kh-howFooter{
    margin-top: 34px;
    max-width: 640px;
  }

  .kh-summary{
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(15,23,42,.88);
  }

  .kh-howNote{
    margin: 0;
    font-size: 14px;
    color: rgba(15,23,42,.62);
  }

  .kh-dividerWrap{
    margin-top: clamp(28px, 3vw, 44px);
  }

  .kh-dividerLine{
    height: 1px;
    width: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(15,23,42,.16),
      transparent
    );
  }

  /* ====== Subtle Scroll Reveal ====== */
  .js-reveal{
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .6s ease, transform .6s ease;
    will-change: opacity, transform;
  }

  .js-reveal.is-in{
    opacity: 1;
    transform: translateY(0);
  }

  /* Stagger delays for grid siblings */
  .kh-trustList li.js-reveal:nth-child(2),
  .kh-programs__grid .js-reveal:nth-child(2),
  .kh-proof__grid .js-reveal:nth-child(2),
  .kh-xrayLitegrid .js-reveal:nth-child(2) { transition-delay: .1s; }

  .kh-trustList li.js-reveal:nth-child(3),
  .kh-programs__grid .js-reveal:nth-child(3),
  .kh-proof__grid .js-reveal:nth-child(3) { transition-delay: .2s; }

  .kh-trustList li.js-reveal:nth-child(4) { transition-delay: .3s; }

  @media (prefers-reduced-motion: reduce){
    .js-reveal{ opacity: 1; transform: none; transition: none; }
    .kh-stepBody, .kh-stepBody:hover{ transition: none; transform: none; }
  }

  @media (max-width: 680px){
    .kh-steps::before{ left: 18px; }
    .kh-step{ grid-template-columns: 40px 1fr; gap: 14px; }
    .kh-stepRail{ padding-top: 18px; }
    .kh-stepBody{ padding: 20px 18px; }
  }

/* ── XRAY SECTION (light premium pop) ── */
  /* ===== XRAY LIGHT PREMIUM POP (No JS) ===== */
  .kh-xrayLite {
    position: relative;
    overflow: hidden;
    padding: clamp(70px, 7vw, 120px) 0 clamp(44px, 4vw, 66px);
    background: linear-gradient(180deg, #ffffff, #f7f8ff);
    color: #0f172a;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  }

  .kh-xrayLitebg {
    position: absolute;
    inset: -30% -20% auto -20%;
    height: 640px;
    background: radial-gradient(closest-side, rgba(91, 92, 246, .18), transparent 70%), radial-gradient(closest-side, rgba(124, 58, 237, .14), transparent 70%), radial-gradient(closest-side, rgba(16, 185, 129, .08), transparent 72%);
    filter: blur(2px);
    transform: rotate(-7deg);
    pointer-events: none;
  }

  .kh-xrayLitewrap {
    position: relative;
    z-index: 1;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .kh-en {
    font-weight: 900;
    opacity: .9;
  }

  .kh-xrayLiteheader {
    max-width: 760px;
    margin-bottom: 40px;
  }

  .kh-xrayLitekicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: rgba(255, 255, 255, .75);
    color: rgba(15, 23, 42, .72);
    font-size: 13px;
    letter-spacing: .2px;
    margin-bottom: 16px;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
  }

  .kh-xrayLitedot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #5b5cf6, #7c3aed);
    box-shadow: 0 16px 46px rgba(91, 92, 246, .30);
  }

  .kh-xrayLitetitle {
    margin: 0 0 12px;
    font-size: clamp(30px, 3.4vw, 44px);
    letter-spacing: -0.8px;
    line-height: 1.12;
  }

  .kh-xrayLitetitleAccent {
    background: linear-gradient(135deg, rgba(91, 92, 246, 1), rgba(124, 58, 237, 1));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 950;
  }

  .kh-xrayLiteintro {
    margin: 0;
    font-size: 17px;
    line-height: 1.65;
    color: rgba(15, 23, 42, .70);
  }

  .kh-xrayLiteintro strong {
    color: rgba(15, 23, 42, .92);
    font-weight: 950;
  }

  .kh-xrayLiteminiProof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
  }

  .kh-xrayLitepill {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(15, 23, 42, .10);
    color: rgba(15, 23, 42, .70);
    font-size: 13px;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
  }

  .kh-xrayLitegrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 18px;
    margin-bottom: 28px;
  }

  .kh-xrayLitecard {
    border-radius: 22px;
    padding: 22px 22px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(15, 23, 42, .10);
    box-shadow: 0 20px 60px rgba(15, 23, 42, .08);
    backdrop-filter: blur(14px);
    position: relative;
    overflow: hidden;
  }

  .kh-xrayLitecard::before {
    content: "";
    position: absolute;
    inset: -30% -45% auto -45%;
    height: 240px;
    background: radial-gradient(closest-side, rgba(91, 92, 246, .18), transparent 70%), radial-gradient(closest-side, rgba(124, 58, 237, .14), transparent 70%);
    pointer-events: none;
    filter: blur(1px);
  }

  .kh-xrayLitecardTop {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }

  .kh-xrayLitebadge {
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    padding: 8px 10px;
    border-radius: 999px;
    color: rgba(15, 23, 42, .82);
    background: rgba(91, 92, 246, .12);
    border: 1px solid rgba(91, 92, 246, .22);
    text-transform: uppercase;
    white-space: nowrap;
  }

  .kh-xrayLitebadge2 {
    background: rgba(124, 58, 237, .10);
    border-color: rgba(124, 58, 237, .20);
  }

  .kh-xrayLitemuted {
    font-size: 13px;
    color: rgba(15, 23, 42, .55);
    font-weight: 800;
  }

  .kh-xrayLitecardTitle {
    position: relative;
    z-index: 1;
    margin: 0 0 12px;
    font-size: 18px;
    letter-spacing: -0.2px;
  }

  .kh-xrayLitelist {
    position: relative;
    z-index: 1;
    margin: 0;
    padding-left: 18px;
    color: rgba(15, 23, 42, .72);
    font-size: 15px;
    line-height: 1.65;
  }

  .kh-xrayLitelist li {
    margin-bottom: 8px;
  }

  .kh-xrayLitecardHint {
    position: relative;
    z-index: 1;
    margin-top: 14px;
    font-size: 13px;
    color: rgba(15, 23, 42, .58);
  }

  .kh-xrayLitesample {
    max-width: 920px;
    margin: 18px 0 28px;
  }

  .kh-xrayLitesampleTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  .kh-xrayLitesampleKicker {
    margin: 0;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .14em;
    color: rgba(15, 23, 42, .46);
    text-transform: uppercase;
  }

  .kh-xrayLitesampleTag {
    margin: 0;
    font-size: 13px;
    font-weight: 950;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .10);
    background: rgba(255, 255, 255, .75);
    color: rgba(15, 23, 42, .60);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
  }

  .kh-xrayLitesampleCard {
    border-radius: 22px;
    padding: 18px 18px;
    background: linear-gradient(135deg, rgba(91, 92, 246, .10), rgba(124, 58, 237, .08));
    border: 1px solid rgba(91, 92, 246, .22);
    box-shadow: 0 26px 80px rgba(15, 23, 42, .10);
  }

  .kh-xrayLitequote {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.7;
    color: rgba(15, 23, 42, .86);
  }

  .kh-xrayLitequoteMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    justify-content: space-between;
    font-size: 13px;
    color: rgba(15, 23, 42, .62);
    font-weight: 900;
  }

  .kh-xrayLitecta {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .kh-xrayLitebtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    font-weight: 950;
    letter-spacing: .2px;
    background: linear-gradient(135deg, #5b5cf6, #7c3aed);
    box-shadow: 0 26px 70px rgba(91, 92, 246, .28);
    border: 1px solid rgba(255, 255, 255, .22);
    transition: transform .15s ease, filter .15s ease;
  }

  .kh-xrayLitebtn:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
  }

  .kh-xrayLitebtn:active {
    transform: translateY(0);
  }

  .kh-xrayLitetrustLine {
    margin: 0;
    font-size: 13px;
    color: rgba(15, 23, 42, .58);
  }

  /* Divider line (same "clean split" vibe) / .kh-dividerWrap{ margin-top: 42px; } .kh-dividerLine{ height: 1px; width: 100%; background: linear-gradient(90deg, transparent, rgba(15,23,42,.16), transparent); } / Responsive */
  @media (max-width: 860px) {
    .kh-xrayLitegrid {
      grid-template-columns: 1fr;
    }
  }

/* ── PROGRAMS SECTION (decision logic) ── */
  /* ===== PROGRAMS – LIGHT PREMIUM ===== */
  .kh-programs{
    padding: clamp(70px, 7vw, 120px) 0 clamp(44px, 4vw, 66px);
    background: linear-gradient(180deg, #ffffff, #f8f9ff);
    color: #0f172a;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  }

  .kh-programs__wrap{
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .kh-programs__header{
    max-width: 720px;
    margin-bottom: 34px;
  }

  .kh-programs__kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.75);
    font-size: 13px;
    color: rgba(15,23,42,.70);
    margin-bottom: 16px;
  }

  .kh-programs__dot{
    width:10px;height:10px;border-radius:999px;
    background: linear-gradient(135deg,#5b5cf6,#7c3aed);
    box-shadow: 0 16px 40px rgba(91,92,246,.30);
  }

  .kh-programs__title{
    margin:0 0 10px;
    font-size: clamp(30px, 3.4vw, 44px);
    letter-spacing:-0.8px;
  }

  .kh-programs__intro{
    margin:0;
    font-size:17px;
    color: rgba(15,23,42,.72);
  }

  .kh-programs__rule{
    margin: 26px 0 36px;
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(91,92,246,.06);
    border: 1px solid rgba(91,92,246,.18);
    font-size: 15px;
    color: rgba(15,23,42,.82);
  }

  .kh-programs__grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }

  .kh-programCard{
    background:#fff;
    border:1px solid rgba(15,23,42,.10);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 20px 60px rgba(15,23,42,.08);
    display:flex;
    flex-direction:column;
  }

  .kh-programCard--featured{
    transform: translateY(-6px);
    box-shadow: 0 26px 80px rgba(15,23,42,.12);
    border-color: rgba(91,92,246,.30);
  }

  .kh-programCard__top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom: 10px;
  }

  .kh-programCard__badge{
    font-size:12px;
    font-weight:950;
    letter-spacing:.14em;
    padding: 8px 10px;
    border-radius:999px;
    background: rgba(15,23,42,.08);
    color: rgba(15,23,42,.80);
  }

  .kh-programCard__badge--primary{
    background: rgba(91,92,246,.14);
    color: rgba(15,23,42,.90);
  }

  .kh-programCard__muted{
    font-size:13px;
    color: rgba(15,23,42,.55);
    font-weight:800;
  }

  .kh-programCard__title{
    margin: 6px 0 8px;
    font-size: 19px;
  }

  .kh-programCard__who{
    font-size:15px;
    color: rgba(15,23,42,.72);
    margin-bottom: 12px;
  }

  .kh-programCard__list{
    margin:0 0 12px;
    padding-left: 18px;
    font-size: 14px;
    color: rgba(15,23,42,.72);
  }

  .kh-programCard__list li{ margin-bottom:6px; }

  .kh-programCard__outcome{
    font-size:14px;
    color: rgba(15,23,42,.70);
    margin-bottom: 14px;
  }

  .kh-programCard__cta{
    margin-top:auto;
    padding: 12px 14px;
    border-radius: 999px;
    text-decoration:none;
    text-align:center;
    font-weight:900;
    color:#0f172a;
    border:1px solid rgba(15,23,42,.14);
  }

  .kh-programCard__cta--primary{
    background: linear-gradient(135deg,#5b5cf6,#7c3aed);
    color:#fff;
    border:none;
  }

  .kh-dividerWrap{ margin-top: 44px; }
  .kh-dividerLine{
    height:1px;
    width:100%;
    background: linear-gradient(90deg,transparent,rgba(15,23,42,.16),transparent);
  }

  @media (max-width: 900px){
    .kh-programs__grid{ grid-template-columns:1fr; }
    .kh-programCard--featured{ transform:none; }
  }

/* ── SOCIAL PROOF SECTION ── */
  /* ===== SOCIAL PROOF – LIGHT PREMIUM ===== */

  .kh-proof{
    padding: clamp(70px, 7vw, 120px) 0 clamp(44px, 4vw, 66px);
    background: linear-gradient(180deg, #ffffff, #f7f8ff);
    color: #0f172a;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  }

  .kh-proof__wrap{
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .kh-proof__header{
    max-width: 760px;
    margin-bottom: 36px;
  }

  .kh-proof__kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,.10);
    background: rgba(255,255,255,.75);
    font-size:13px;
    color: rgba(15,23,42,.70);
    margin-bottom:16px;
  }

  .kh-proof__dot{
    width:10px;height:10px;border-radius:999px;
    background: linear-gradient(135deg,#5b5cf6,#7c3aed);
    box-shadow: 0 16px 40px rgba(91,92,246,.30);
  }

  .kh-proof__title{
    margin:0 0 10px;
    font-size: clamp(30px, 3.4vw, 44px);
    letter-spacing:-0.8px;
    line-height:1.15;
  }

  .kh-proof__accent{
    background: linear-gradient(135deg,#5b5cf6,#7c3aed);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    font-weight:950;
  }

  .kh-proof__intro{
    margin:0;
    font-size:17px;
    color: rgba(15,23,42,.72);
  }

  .kh-proof__grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:18px;
    margin-bottom: 28px;
  }

  .kh-proofCard{
    background: rgba(255,255,255,.85);
    border:1px solid rgba(15,23,42,.10);
    border-radius:22px;
    padding:22px;
    box-shadow: 0 20px 60px rgba(15,23,42,.08);
    display:flex;
    flex-direction:column;
  }

  .kh-proofCard__badge{
    font-size:12px;
    font-weight:950;
    letter-spacing:.14em;
    padding:6px 10px;
    border-radius:999px;
    background: rgba(15,23,42,.08);
    color: rgba(15,23,42,.80);
    display:inline-block;
    margin-bottom:10px;
  }

  .kh-proofCard__badge--after{
    background: rgba(91,92,246,.14);
    color: rgba(15,23,42,.90);
  }

  .kh-proofCard__text{
    font-size:15px;
    line-height:1.6;
    color: rgba(15,23,42,.78);
    margin:0;
  }

  .kh-proofCard__divider{
    height:1px;
    width:100%;
    background: rgba(15,23,42,.10);
    margin:14px 0;
  }

  .kh-proofCard__bottom{
    margin-top:4px;
  }

  .kh-proofCard__meta{
    margin-top:14px;
    font-size:13px;
    color: rgba(15,23,42,.55);
    font-weight:700;
  }

  .kh-proof__closing{
    max-width: 620px;
    font-size:16px;
    color: rgba(15,23,42,.80);
    margin-bottom: 28px;
  }

  .kh-dividerWrap{ margin-top: 42px; }
  .kh-dividerLine{
    height:1px;
    width:100%;
    background: linear-gradient(90deg,transparent,rgba(15,23,42,.16),transparent);
  }

  @media (max-width: 900px){
    .kh-proof__grid{ grid-template-columns:1fr; }
  }

/* ── MOBILE POLISH (overrides) ── */
  /* Safety: nothing should cause horizontal scrolling on phones */
  .kh-hero, .kh-trustStrip, .kh-how, .kh-xrayLite, .kh-programs, .kh-proof{
    max-width: 100%;
  }

  @media (max-width: 600px){
    /* Hero: tighter layout */
    .kh-hero{ padding: 32px 0 28px; }
    .kh-container{ gap: 22px; }
    .kh-header{ max-width: 100%; }

    .kh-title{ font-size: clamp(28px, 8vw, 36px); line-height: 1.1; }
    .kh-subtitle{ font-size: 15px; }

    /* Full-width primary CTA = comfortable thumb target */
    .kh-ctaRow{ gap: 12px; }
    .kh-ctaPrimary{
      width: 100%;
      justify-content: center;
      padding: 15px 18px;
    }
    .kh-ctaSecondary{ width: 100%; text-align: center; }

    /* Diagnosis preview card: slimmer padding so it fits nicely */
    .kh-diag{ padding: 16px; gap: 12px; }
    .kh-diag__scoreVal{ font-size: 38px; }
    .kh-diag__cta{ width: 100%; }

    /* XRAY sample meta should stack instead of squeezing */
    .kh-xrayLitequoteMeta{ flex-direction: column; gap: 6px; }
    .kh-xrayLitemetaRight{ text-align: left; }

    /* Eyebrow: keep the dot pinned to the first line and let the text
       flow as a normal paragraph instead of scattering as flex items */
    .kh-eyebrow{
      align-items: flex-start;
      gap: 8px;
      line-height: 1.45;
      font-size: 14px;
    }
    .kh-eyebrow .kh-dot{ margin-top: 6px; }

    .kh-trust{ line-height: 1.5; }
  }

  /* Very small phones */
  @media (max-width: 380px){
    .kh-badges{ gap: 8px; }
    .kh-badges li{ font-size: 12px; padding: 7px 10px; }
    .kh-diag__arc{ max-width: 150px; }
  }
