/* Homepage-specific styles (ported from index.html <style>). */
/* ---------- VALUE SECTIONS (B2B / B2B2C) ---------- */
  .vsec-b2b{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .vsec-b2b2c{background:var(--purple-ink);color:#fff;position:relative;overflow:hidden}
  .vsec-b2b2c .hex{opacity:.22}
  .vsec-b2b2c .wrap{position:relative;z-index:2}

  /* these headlines are full sentences, so they need a smaller size than a
     normal section heading or they dominate the page */
  .vhead{max-width:900px}
  .vhead h2{font-size:clamp(1.45rem,2.4vw,1.95rem);line-height:1.3;margin-top:14px}
  .vhead p{margin-top:16px}
  .vsec-b2b2c .vhead h2{color:#fff}
  .vsec-b2b2c .vhead p{color:rgba(255,255,255,.78)}

  .vtag{display:inline-block;margin-left:10px;font-size:.64rem;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;color:var(--purple);background:var(--lilac-soft);
    border:1px solid var(--lilac-line);padding:4px 9px;border-radius:6px;vertical-align:middle}
  .vtag.on-dark{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}

  /* B2B: three short value statements */
  .vnodes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
  .vnode{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
    border-radius:16px;padding:22px 24px;box-shadow:var(--shadow);
    transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
  .vnode:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--lilac)}
  .vnode .vi{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--lilac-soft);
    color:var(--purple);display:flex;align-items:center;justify-content:center}
  .vnode b{font-family:var(--font-playfair),Georgia,serif;font-weight:500;font-size:1.2rem;
    line-height:1.15;letter-spacing:-.01em}

  /* B2B2C: four outcomes, each anchored by its figure */
  .vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .vcard{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);
    border-radius:16px;padding:26px 24px;display:flex;flex-direction:column;
    transition:background .3s,border-color .3s,transform .3s var(--ease)}
  .vcard:hover{background:rgba(255,255,255,.08);border-color:var(--lilac);transform:translateY(-4px)}
  .vnum{font-family:var(--font-playfair),Georgia,serif;font-size:2.1rem;font-weight:600;
    color:var(--orange);line-height:1;display:block}
  .vcard h3{font-size:1.06rem;margin:12px 0 8px;color:#fff;line-height:1.25}
  .vcard p{font-size:.9rem;color:rgba(255,255,255,.74);line-height:1.55;margin:0}

  /* featured embedded product panel */
  .vfeature{display:flex;gap:22px;align-items:flex-start;margin-top:26px;padding:28px 30px;
    border-radius:18px;border:1px solid rgba(242,163,60,.45);
    background:linear-gradient(150deg,rgba(242,163,60,.16),rgba(255,255,255,.05));
    transition:transform .3s var(--ease),border-color .3s,background .3s}
  .vfeature:hover{transform:translateY(-4px);border-color:var(--orange);
    background:linear-gradient(150deg,rgba(242,163,60,.24),rgba(255,255,255,.07))}
  .vf-ico{flex:0 0 auto;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;
    justify-content:center;background:var(--orange);color:#3C1C5C}
  .vf-body{min-width:0}
  .vf-tag{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:#3C1C5C;background:var(--orange);padding:4px 10px;border-radius:6px}
  .vfeature h3{font-size:1.3rem;margin:12px 0 8px;color:#fff}
  .vfeature p{font-size:.95rem;color:rgba(255,255,255,.8);line-height:1.6;margin:0;max-width:76ch}
  .vfeature em{color:var(--orange);font-style:normal;font-weight:600}
  .vf-go{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:600;color:var(--orange)}

  @media(max-width:960px){
    .vnodes{grid-template-columns:1fr}
    .vgrid{grid-template-columns:repeat(2,1fr)}
  }
  @media(max-width:720px){
    .vgrid{grid-template-columns:1fr}
  }
  @media(max-width:480px){
    .vnode{padding:18px 16px;gap:12px}
    .vnode b{font-size:1.1rem}
    .vcard{padding:22px 18px}
    .vnum{font-size:1.85rem}
    .vtag{margin-left:0;margin-top:10px}
    .vfeature{flex-direction:column;gap:16px;padding:22px 18px}
    .vfeature h3{font-size:1.15rem}
  }

  /* ---------- FLYWHEEL ---------- */
  .fly-wrap{margin-top:14px}
  .fly-svg{display:block;width:100%;max-width:920px;margin:0 auto;overflow:visible}
  .fly-lab{font-family:var(--font-inter),system-ui,sans-serif;line-height:1.32}
  .fly-lab b{display:block;font-size:14px;font-weight:700;color:var(--purple);margin-bottom:3px;letter-spacing:-.01em}
  .fly-lab span{display:block;font-size:12.5px;color:var(--ink);opacity:.82}
  .fly-mobile{display:none}
  /* mobile vertical loop */
  @media(max-width:860px){
    .fly-svg{display:none}
    .fly-mobile{display:block;list-style:none;margin:6px 0 0;padding:0;position:relative}
    .fly-row,.fly-loop{position:relative;display:flex;gap:16px;padding:0 0 22px 0}
    .fly-row::before,.fly-loop::before{content:"";position:absolute;left:17px;top:36px;bottom:-6px;width:2px;background:var(--lilac-line)}
    .fly-row:last-of-type::before{display:none}
    .fs-n{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,#6a3a99,#4a2472);color:#fff;
      font-family:var(--font-playfair),Georgia,serif;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
    .fly-loop .fs-n{background:var(--orange);color:#3C1C5C}
    .fs-b b{display:block;font-size:1rem;color:var(--purple);margin:5px 0 3px}
    .fs-b p{margin:0;font-size:.93rem;color:var(--ink);opacity:.84;line-height:1.5}
    .fly-loop{padding-bottom:0}
    .fly-loop .fs-b b{color:var(--orange-ink,#b26b00)}
    .fs-b{min-width:0}
  }
  @media(max-width:480px){
    .fly-row,.fly-loop{gap:13px;padding-bottom:18px}
    .fs-n{width:32px;height:32px;font-size:.95rem}
    .fly-row::before,.fly-loop::before{left:15px;top:32px}
    .fs-b b{font-size:.96rem;margin-top:3px}
    .fs-b p{font-size:.9rem}
  }
