
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--el-paper);color:var(--el-ink);
    font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--clay-200);color:var(--el-green)}
  p,li,figcaption,.calling-point-v,.pillar-v,.whofor-role-v,.mark-v,.bkr-desc,.sec-sub,.idea-body{text-wrap:pretty}
  h1,h2,h3,.sec-title{text-wrap:balance}

  /* ----------------------------------------------------------------
     TYPE SYSTEM (fresh evolution of the brand)
     - eyebrows: tracked UPPERCASE Albert Sans + → arrow  (brand signature)
     - big statements: Albert Sans LIGHT, sentence case, serif-italic accents
     - body: Albert Sans regular, warm & clear
  ---------------------------------------------------------------- */
  .serif-accent{font-family:var(--font-serif);font-style:italic;font-weight:300;
    letter-spacing:.005em}

  .eyebrow{display:inline-flex;align-items:center;gap:.6em;
    font-family:var(--font-display);font-weight:500;font-size:12px;letter-spacing:.22em;
    text-transform:uppercase;color:var(--clay-500)}
  .eyebrow .eyebrow-arrow{font-size:13px;transform:translateY(-.5px)}
  .eyebrow.on-dark{color:var(--el-white)}

  .sec-title{font-family:var(--font-display);font-weight:250;
    font-size:clamp(2rem,1.2rem + 3vw,3.6rem);line-height:1.06;letter-spacing:-.012em;
    color:var(--el-ink);margin:.5em 0 0}
  .sec-title.on-dark{color:var(--el-cream)}
  .sec-sub{font-family:var(--font-sans);font-weight:400;
    font-size:clamp(1.02rem,.96rem + .5vw,1.2rem);line-height:1.6;color:var(--fg-muted);
    max-width:52ch;margin:1.1em 0 0}
  .sec-sub.on-dark{color:var(--el-white)}

  .sec-head{max-width:760px}
  .sec-head.center{margin-inline:auto;text-align:center}
  .sec-head.center .sec-sub{margin-inline:auto}

  /* ---- layout ---- */
  .wrap{max-width:1240px;margin:0 auto;padding:0 clamp(22px,5vw,68px)}
  .narrow{max-width:820px;margin:0 auto}
  section{position:relative}
  .pad{padding:calc(clamp(72px,11vw,148px) + 10vh) 0}
  .pad-sm{padding:clamp(48px,7vw,88px) 0}
  .green{background:var(--el-green);color:var(--el-cream)}
  .sand{background:var(--surface-sand)}
  .paper{background:var(--el-paper)}

  /* ---- reveal ---- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}
  .reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* ---- buttons ---- */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;cursor:pointer;
    font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.14em;
    text-transform:uppercase;border-radius:calc(var(--card-r) * .55);padding:17px 32px;border:1px solid transparent;
    transition:background var(--dur-base) var(--ease-standard),color var(--dur-base),
      border-color var(--dur-base),transform var(--dur-fast)}
  .btn:active{transform:translateY(1px)}
  .btn-solid{background:var(--el-green);color:var(--el-cream)}
  .btn-solid:hover{background:var(--clay-500)}
  .btn-solid.on-dark{background:var(--el-cream);color:var(--el-green)}
  .btn-solid.on-dark:hover{background:#fff}
  .btn-ghost{background:transparent;color:var(--el-ink);border-color:var(--border-strong)}
  .btn-ghost:hover{border-color:var(--el-ink)}
  .btn-ghost.on-dark{color:var(--el-cream);border-color:rgba(238,235,231,.4)}
  .btn-ghost.on-dark:hover{border-color:#fff;background:rgba(238,235,231,.07)}

  /* text link with arrow */
  .tlink{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);
    font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay-500);
    transition:gap var(--dur-base),color var(--dur-base)}
  .tlink:hover{gap:.95em;color:var(--clay-600)}
  .tlink.on-dark{color:var(--green-200)}.tlink.on-dark:hover{color:#fff}

  .rule{height:1px;background:var(--border);border:0;width:100%}
  .rule.on-dark{background:var(--border-dark)}

  /* ---- stat ---- */
  .stat-k{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.02em;color:var(--el-ink)}
  .stat-v{font-size:13px;color:var(--fg-subtle);margin-top:3px;line-height:1.4}
  .stat.on-dark .stat-k{color:var(--el-cream)}
  .stat.on-dark .stat-v{color:var(--green-300)}

  image-slot{--slot-bg:var(--green-700);background:var(--green-700)}

  body::-webkit-scrollbar{width:10px}
  body::-webkit-scrollbar-track{background:var(--el-paper)}
  body::-webkit-scrollbar-thumb{background:var(--sand-400)}

  /* section-specific styles loaded after */
