
  .esh-blog{
    --g:#23ac39; --gd:#1b842c; --gdd:#16301c;
    --ink:#12211a; --body:#4a5a51; --mut:#7d8b83;
    --line:#e2eae4; --bg:#f6faf7; --card:#ffffff;
    --r-lg:20px; --r-md:16px; --r-sm:12px;
    font-family:"Open Sans","OpenSans-Regular","Segoe UI",Arial,sans-serif;
    color:var(--body); background:var(--bg); line-height:1.7; font-size:16px;
    max-width:1200px; margin:0 auto; overflow:hidden;
  }
  .esh-blog *{box-sizing:border-box;}
  .esh-blog img{max-width:100%; height:auto; display:block;}
  .esh-blog p{margin:0 0 14px;}
  .esh-blog a{color:var(--gd); text-decoration:none; font-weight:600;}
  .esh-blog a:hover{text-decoration:underline;}

  /* ============ HERO — deep green gradient ============ */
  .esh-blog .esh-hero{
    position:relative; padding:64px 48px 44px; color:#fff; overflow:hidden;
    background:linear-gradient(135deg,#16301c 0%,#1b842c 55%,#23ac39 125%);
  }
  /* faint tech grid */
  .esh-blog .esh-hero::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:
      repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 44px),
      repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 44px);
  }
  /* soft glow */
  .esh-blog .esh-hero::after{
    content:""; position:absolute; width:520px; height:520px; right:-140px; top:-220px;
    background:radial-gradient(circle, rgba(35,172,57,.5), transparent 65%); pointer-events:none;
  }
  .esh-blog .esh-hero > *{position:relative; z-index:1;}
  .esh-blog .esh-kicker{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
    border-radius:999px; padding:7px 18px; font-size:12px; font-weight:700;
    letter-spacing:2px; text-transform:uppercase; color:#d9f4de; margin-bottom:22px;
  }
  .esh-blog .esh-kicker::before{content:""; width:8px; height:8px; border-radius:50%; background:#7ee08d; box-shadow:0 0 10px #7ee08d;}
  .esh-blog .esh-hero h2{
    font-size:44px; font-weight:800; line-height:1.12; letter-spacing:-1.2px;
    margin:0 0 18px; color:#ffffff; max-width:860px;
  }
  .esh-blog .esh-lede{font-size:18.5px; color:rgba(255,255,255,.86); max-width:830px; margin-bottom:26px;}
  .esh-blog .esh-lede strong{color:#a5e9b1;}
  .esh-blog .esh-chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px;}
  .esh-blog .esh-chip{
    border:1px solid rgba(255,255,255,.32); background:rgba(255,255,255,.08);
    border-radius:999px; padding:6px 16px; font-size:13px; font-weight:600; color:#eaf7ec;
  }
  /* hero stats strip */
  .esh-blog .esh-hstats{display:grid; grid-template-columns:repeat(5,1fr); border-radius:var(--r-md); overflow:hidden; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(4px);}
  .esh-blog .esh-hstat{padding:18px 12px; text-align:center; border-left:1px solid rgba(255,255,255,.14);}
  .esh-blog .esh-hstat:first-child{border-left:none;}
  .esh-blog .esh-hstat .num{display:block; font-size:27px; font-weight:800; letter-spacing:-.5px; color:#fff; line-height:1.2;}
  .esh-blog .esh-hstat .lbl{display:block; font-size:10.5px; font-weight:600; letter-spacing:.8px; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:4px;}

  /* ============ SHORT ANSWER — light green card ============ */
  .esh-blog .esh-answer{
    background:#eaf8ed; border:1px solid #cdeed4; border-left:5px solid var(--g);
    border-radius:var(--r-md); padding:26px 30px; margin:-26px 48px 0;
    position:relative; z-index:2; font-size:16.5px; color:#1d3324;
    box-shadow:0 14px 34px rgba(22,48,28,.10);
  }

  /* ============ SECTIONS — cards on tinted canvas ============ */
  .esh-blog .esh-sec{
    background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
    margin:40px 48px 0; padding:40px 44px;
    box-shadow:0 4px 20px rgba(20,33,26,.04);
  }
  .esh-blog .esh-sechead{display:flex; align-items:baseline; gap:14px; margin-bottom:8px;}
  .esh-blog .esh-no{
    font-size:46px; font-weight:800; line-height:1; letter-spacing:-2px;
    background:linear-gradient(160deg,var(--g),var(--gdd));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .esh-blog .esh-label{font-size:11.5px; font-weight:700; letter-spacing:2.2px; text-transform:uppercase; color:var(--g); align-self:center;}
  .esh-blog h2{font-size:28px; font-weight:800; letter-spacing:-.6px; line-height:1.25; color:var(--ink); margin:0 0 18px;}
  .esh-blog h3{font-size:18px; font-weight:700; margin:26px 0 10px; color:var(--ink);}
  .esh-blog .esh-lead{font-size:17px; color:var(--body);}

  /* ============ TABLES — dark green header ============ */
  .esh-blog table{width:100%; border-collapse:separate; border-spacing:0; margin:18px 0 24px; font-size:14.5px; border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden;}
  .esh-blog th{
    background:var(--gdd); color:#fff; font-size:11.5px; font-weight:700;
    letter-spacing:.8px; text-transform:uppercase; text-align:left; padding:11px 14px;
  }
  .esh-blog td{padding:12px 14px; border-top:1px solid var(--line); vertical-align:top; background:#fff;}
  .esh-blog tr:nth-child(even) td{background:#f7fbf8;}
  .esh-blog td:first-child{font-weight:600; color:#35543c;}

  /* ============ RELIABILITY STATS — big-number cards ============ */
  .esh-blog .esh-relstats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:22px 0 26px;}
  .esh-blog .esh-relcard{
    border:1px solid var(--line); border-radius:var(--r-md); background:#fff;
    padding:22px 18px 18px; position:relative; overflow:hidden;
  }
  .esh-blog .esh-relcard::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--g);}
  .esh-blog .esh-relcard .num{display:block; font-size:36px; font-weight:800; letter-spacing:-1px; color:var(--gd); line-height:1.1;}
  .esh-blog .esh-relcard .lbl{display:block; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--ink); margin-top:8px;}
  .esh-blog .esh-relcard .sub{display:block; font-size:12.5px; color:var(--mut); margin-top:4px; line-height:1.5;}
  .esh-blog .esh-relcard--hero{background:linear-gradient(140deg,#16301c,#1b842c); border:none;}
  .esh-blog .esh-relcard--hero::before{background:#7ee08d;}
  .esh-blog .esh-relcard--hero .num{color:#fff; font-size:44px; letter-spacing:-1.5px;}
  .esh-blog .esh-relcard--hero .lbl{color:#cdeed4;}
  .esh-blog .esh-relcard--hero .sub{color:rgba(255,255,255,.72);}
  .esh-blog .esh-bar{height:6px; border-radius:99px; background:rgba(255,255,255,.22); margin-top:12px; overflow:hidden;}
  .esh-blog .esh-bar span{display:block; height:100%; width:99%; border-radius:99px; background:linear-gradient(90deg,#7ee08d,#23ac39);}

  .esh-blog .esh-relcard--soon{border-style:dashed; border-color:#b9c6bd; background:#fbfdfb;}
  .esh-blog .esh-relcard--soon::before{background:repeating-linear-gradient(180deg,#b9c6bd 0 6px, transparent 6px 10px);}
  .esh-blog .esh-relcard--soon .num{color:#5d6f64;}
  .esh-blog .esh-relcard--soon .lbl{color:#5d6f64;}
  .esh-blog .esh-relcard--soon .sub{color:var(--mut);}

  /* ============ BADGES — filled pills ============ */
  .esh-blog .esh-badges{display:flex; flex-wrap:wrap; gap:9px; margin:14px 0 18px;}
  .esh-blog .esh-badge{
    display:inline-block; background:#eaf8ed; border:1px solid #bfe6c7;
    border-radius:999px; padding:5px 18px; font-size:13.5px; font-weight:700; color:var(--gd);
  }

  /* ============ LISTS — green check markers ============ */
  .esh-blog ul{margin:0 0 16px 0; padding:0; list-style:none;}
  .esh-blog li{padding:11px 0 11px 32px; border-bottom:1px dashed var(--line); position:relative;}
  .esh-blog li:last-child{border-bottom:none;}
  .esh-blog li::before{
    content:"\2713"; position:absolute; left:0; top:10px; width:20px; height:20px;
    border-radius:50%; background:var(--g); color:#fff; font-size:11px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
  }
  .esh-blog li strong{color:var(--gd);}

  /* ============ FIGURES ============ */
  .esh-blog figure{margin:20px 0 28px;}
  .esh-blog figure img{width:100%; border-radius:var(--r-md); border:1px solid var(--line);}
  .esh-blog figcaption{font-size:13px; color:var(--mut); margin-top:10px; padding-left:12px; border-left:3px solid var(--g);}

  /* ============ CASE GRID — image cards ============ */
  .esh-blog .esh-cases{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:24px 0 0;}
  .esh-blog .esh-cases .esh-case{
    border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; background:#fff;
    display:flex; flex-direction:column; transition:transform .22s, box-shadow .22s, border-color .22s;
  }
  .esh-blog .esh-cases .esh-case:hover{transform:translateY(-4px); box-shadow:0 16px 34px rgba(20,33,26,.12); border-color:#a9d9b2;}
  .esh-blog .esh-cases .esh-case figure{margin:0; order:1; position:relative;}
  .esh-blog .esh-cases .esh-case figure img{border-radius:0; border:none;}
  .esh-blog .esh-cases .esh-case .esh-tag{
    position:absolute; left:12px; top:12px; background:var(--gdd); color:#fff;
    border-radius:999px; padding:4px 12px; font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  }
  .esh-blog .esh-cases .esh-case .esh-case-body{order:2; padding:16px 16px 18px; font-size:14px; line-height:1.65; color:var(--body);}
  .esh-blog .esh-cases .esh-case strong{display:block; font-size:15px; color:var(--ink); margin-bottom:7px; line-height:1.4;}

  /* award case — full-width gradient feature */
  .esh-blog .esh-case--wide{
    grid-column:1 / -1; flex-direction:row; align-items:stretch;
    background:linear-gradient(120deg,#16301c 0%,#1b842c 100%);
    border:none; border-radius:var(--r-lg); overflow:hidden;
  }
  .esh-blog .esh-case--wide:hover{box-shadow:0 18px 40px rgba(22,48,28,.32); transform:translateY(-3px);}
  .esh-blog .esh-case--wide .esh-wide-text{flex:1 1 52%; padding:38px 42px; color:rgba(255,255,255,.88); font-size:16.5px; align-self:center;}
  .esh-blog .esh-case--wide strong{display:block; font-size:21px; color:#fff; margin-bottom:12px; line-height:1.35;}
  .esh-blog .esh-case--wide figure{flex:1 1 48%; margin:0; order:0; align-self:stretch; position:relative;}
  .esh-blog .esh-case--wide figure img{border-radius:0; height:100%; object-fit:cover; border:none;}
  .esh-blog .esh-case--wide figcaption{color:rgba(255,255,255,.6); padding:10px 16px; border-left-color:rgba(255,255,255,.4); position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent, rgba(22,48,28,.75));}
  .esh-blog .esh-case--wide .esh-award{
    display:inline-block; background:#7ee08d; color:#16301c; border-radius:999px;
    padding:5px 15px; font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; margin-bottom:14px;
  }

  /* ============ NOTE ============ */
  .esh-blog .esh-note{
    background:#f4f9f5; border:1px dashed #bcd9c2; border-radius:var(--r-md);
    padding:20px 24px; font-size:14.5px; color:var(--body); margin:36px 0 0;
  }

  /* ============ FAQ — accordion ============ */
  .esh-blog details{border:1px solid var(--line); border-radius:var(--r-sm); margin:0 0 10px; background:#fff; overflow:hidden;}
  .esh-blog details[open]{border-color:#a9d9b2; box-shadow:0 6px 18px rgba(20,33,26,.06);}
  .esh-blog details summary{
    cursor:pointer; list-style:none; padding:15px 48px 15px 46px; font-size:16px; font-weight:700;
    color:var(--ink); position:relative; user-select:none;
  }
  .esh-blog details summary::-webkit-details-marker{display:none;}
  .esh-blog details summary::before{
    content:"Q"; position:absolute; left:16px; top:15px; font-weight:800; color:var(--g); font-size:16px;
  }
  .esh-blog details summary::after{
    content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%);
    font-size:22px; font-weight:400; color:var(--g); transition:transform .2s;
  }
  .esh-blog details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
  .esh-blog details summary:hover{color:var(--gd);}
  .esh-blog details .esh-faq-a{padding:0 18px 16px 46px; color:var(--body); font-size:15px;}
  .esh-blog details .esh-faq-a p{margin:0;}

  /* ============ CTA — gradient panel ============ */
  .esh-blog .esh-cta{
    background:linear-gradient(130deg,#16301c 0%,#1b842c 70%,#23ac39 140%);
    border-radius:var(--r-lg); padding:48px 40px; margin:40px 48px 0; text-align:center;
    position:relative; overflow:hidden;
  }
  .esh-blog .esh-cta::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 44px);
  }
  .esh-blog .esh-cta .esh-cta-title{font-size:24px; font-weight:800; color:#fff; margin-bottom:10px; letter-spacing:-.3px; position:relative;}
  .esh-blog .esh-cta p{color:rgba(255,255,255,.82); font-size:16px; max-width:640px; margin:0 auto 24px; position:relative;}
  .esh-blog .esh-cta a{
    display:inline-block; position:relative; background:#fff; color:var(--gd);
    font-weight:800; font-size:16px; padding:14px 38px; border-radius:999px;
    box-shadow:0 10px 26px rgba(0,0,0,.25); transition:transform .2s, box-shadow .2s;
  }
  .esh-blog .esh-cta a:hover{transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,0,0,.3); text-decoration:none;}

  /* ============ FOOT ============ */
  .esh-blog .esh-foot{margin:36px 48px 0; padding:20px 0 32px; border-top:1px solid var(--line); color:var(--mut); font-size:13px;}

  /* ---- Tablet ---- */
  @media (max-width:1024px){
    .esh-blog .esh-hero{padding:44px 28px 36px;}
    .esh-blog .esh-hero h2{font-size:33px;}
    .esh-blog .esh-lede{font-size:17px;}
    .esh-blog .esh-hstats{grid-template-columns:repeat(3,1fr);}
    .esh-blog .esh-hstat:nth-child(4){border-left:none; border-top:1px solid rgba(255,255,255,.14);}
    .esh-blog .esh-hstat:nth-child(5){border-top:1px solid rgba(255,255,255,.14);}
    .esh-blog .esh-answer{margin:-22px 24px 0; padding:22px 22px;}
    .esh-blog .esh-sec{margin:32px 24px 0; padding:30px 26px;}
    .esh-blog .esh-no{font-size:36px;}
    .esh-blog h2{font-size:24px;}
    .esh-blog .esh-cases{grid-template-columns:repeat(2,1fr);}
    .esh-blog .esh-relstats{grid-template-columns:repeat(2,1fr);}
    .esh-blog .esh-cta{margin:32px 24px 0; padding:36px 26px;}
    .esh-blog .esh-foot{margin:30px 24px 0;}
  }
  /* ---- Mobile ---- */
  @media (max-width:640px){
    .esh-blog{font-size:15.5px;}
    .esh-blog .esh-hero{padding:32px 18px 30px; border-radius:0;}
    .esh-blog .esh-kicker{letter-spacing:1.4px; margin-bottom:14px; padding:6px 14px;}
    .esh-blog .esh-hero h2{font-size:26px; letter-spacing:-.6px;}
    .esh-blog .esh-lede{font-size:15.5px;}
    .esh-blog .esh-chip{font-size:12px; padding:4px 13px;}
    .esh-blog .esh-hstats{grid-template-columns:repeat(2,1fr);}
    .esh-blog .esh-hstat{padding:13px 8px;}
    .esh-blog .esh-hstat:nth-child(odd){border-left:none;}
    .esh-blog .esh-hstat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14);}
    .esh-blog .esh-hstat .num{font-size:20px;}
    .esh-blog .esh-hstat .lbl{font-size:9.5px;}
    .esh-blog .esh-answer{margin:-18px 12px 0; padding:18px 16px; font-size:15px; border-radius:12px;}
    .esh-blog .esh-sec{margin:26px 12px 0; padding:24px 16px; border-radius:16px;}
    .esh-blog .esh-sechead{gap:10px;}
    .esh-blog .esh-no{font-size:28px;}
    .esh-blog h2{font-size:21px;}
    .esh-blog .esh-lead{font-size:15.5px;}
    .esh-blog table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; font-size:13px; white-space:nowrap;}
    .esh-blog th, .esh-blog td{padding:9px 10px;}
    .esh-blog .esh-cases{grid-template-columns:1fr; gap:14px;}
    .esh-blog .esh-relstats{grid-template-columns:repeat(2,1fr); gap:10px;}
    .esh-blog .esh-relcard{padding:16px 14px 14px;}
    .esh-blog .esh-relcard .num{font-size:26px;}
    .esh-blog .esh-relcard--hero{grid-column:1 / -1;}
    .esh-blog .esh-relcard--hero .num{font-size:32px;}
    .esh-blog .esh-case--wide{flex-direction:column;}
    .esh-blog .esh-case--wide figure{order:1; min-height:180px;}
    .esh-blog .esh-case--wide .esh-wide-text{order:2; padding:24px 20px; font-size:15px;}
    .esh-blog .esh-case--wide strong{font-size:18px;}
    .esh-blog details summary{font-size:15px; padding:13px 44px 13px 42px;}
    .esh-blog details .esh-faq-a{padding:0 14px 14px 42px; font-size:14px;}
    .esh-blog .esh-cta{margin:28px 12px 0; padding:30px 16px; border-radius:16px;}
    .esh-blog .esh-cta .esh-cta-title{font-size:19px;}
    .esh-blog .esh-cta a{padding:13px 30px; font-size:15px;}
    .esh-blog .esh-note{padding:16px 16px;}
    .esh-blog .esh-foot{margin:24px 12px 0; padding-bottom:24px;}
    .esh-blog li{padding:9px 0 9px 30px;}
  }
