:root{
    /* Ajuste fino aqui se o verde oficial do tema for outro */
    --jomo-green: #0f5b3a;
    --jomo-green-2: #0b4a30;
    --jomo-border: rgba(37,55,47,.12);
    --jomo-soft: rgba(37,55,47,.06);
 }

  .case{ padding-bottom: 44px; }
  .case__breadcrumb{ margin-top: 8px; }
  .case__breadcrumb a:hover{ color: var(--jomo-green); }

  .case__header{
    display:grid; grid-template-columns: 1.2fr .8fr;
    gap:30px; align-items:start;
    margin-top:18px;
  }
  .case__header-media{
    border:1px solid var(--jomo-border);
    border-radius: 34px 0;
    overflow:hidden;
    background:#fff;
  }
  .case__header-media img{ width:100%; height:auto; display:block; }
  .case__kicker{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:10px; }
  .case__kicker-label{ font-weight:700; letter-spacing:.06em; font-size:12px; opacity:.7; }
  .case__badge{
    display:inline-flex; align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background: var(--jomo-soft);
    border:1px solid rgba(37,55,47,.10);
    font-size:12px;
  }
  .case__meta{ font-size:12px; opacity:.75; }
  .case__title{ margin:0; font-size: 24px; font-weight: 600; letter-spacing:.2px; }
  .case__lead{ margin:12px 0 0; font-size:16px; line-height:1.45; opacity:.9; max-width: 68ch; letter-spacing:normal; }
  .case__application{ margin:10px 0 0; font-size:14px; opacity:.85; }
  .case__pdf{ display:inline-flex; margin-top:12px; font-size:14px; text-decoration:underline; color: var(--jomo-green); }
  .case__pdf:hover{ color: var(--jomo-green-2); }

  .case__grid{
    display:grid; grid-template-columns: 1fr 320px;
    gap:26px;
    margin-top:26px;
  }

  .case__content{ min-width: 0; }

  /* Mais espaço entre as etapas + visual em cards */
  .case__section{
    margin-bottom: 22px;
  }
  .case__section--step{
    margin-bottom: 26px;
    padding: 18px 18px 16px;
    background:#fff;
    border:1px solid var(--jomo-border);
    font-size: 14px;
  }

  .case__step-head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom: 8px;
  }
  .case__step-badge{
    width:26px; height:26px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background: var(--jomo-green);
    color:#fff;
    font-weight:700;
    font-size:13px;
    flex: 0 0 26px;
  }

  .case__h2{ margin:0; font-size:18px; font-weight: 700; }
  .case__h3{ margin:16px 0 8px; font-size:15px; font-weight:700; }
  .case__p{ margin:0; opacity:.9; line-height:1.55; letter-spacing:normal; }

  .case__wysiwyg p{ margin:0 0 12px; line-height:1.55; letter-spacing:normal; }
  .case__wysiwyg ul{ margin:0 0 12px 18px; list-style:disc; line-height:1.3em; }
  .case__wysiwyg li{ margin:6px 0; }

  .case__list{ margin:0 0 12px 18px; list-style:disc; line-height:1.3em; }
  .case__list li{ margin:6px 0; }
  .case__list--strong li{ font-weight:600; }

  .case__mini-table{
    margin-top: 14px;
    border:1px solid var(--jomo-border);
    border-radius: 18px 0;
    overflow:hidden;
    background:#fff;
  }
  .case__mini-table-head, .case__mini-table-row{
    display:grid; grid-template-columns: 1fr 2fr;
    gap:12px;
    padding:10px 12px;
  }
  .case__mini-table-head{
    background:rgba(37,55,47,.04);
    font-weight:700;
    font-size:12px;
  }
  .case__mini-table-row{
    border-top:1px solid rgba(37,55,47,.08);
    font-size:13px;
  }
  .case__mini-k{ font-weight:700; }
  .case__mini-v{ opacity:.9; }

  .case__table-wrap{
    overflow:auto;
    border:1px solid var(--jomo-border);
    border-radius: 18px 0;
    background:#fff;
    margin-top: 10px;
  }
  .case__table{
    width:100%;
    border-collapse:collapse;
    min-width: 680px;
  }
  .case__table th, .case__table td{
    padding:10px 12px;
    border-bottom:1px solid rgba(37,55,47,.08);
    vertical-align:top;
    font-size:13px;
    line-height:1.45;
  }
  .case__table th{
    background:rgba(37,55,47,.04);
    text-align:left;
    font-weight:700;
  }
  .case__table tr:last-child td{ border-bottom:none; }

  .case__metrics{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:10px;
    margin-top: 14px;
  }
  .case__metric{
    border:1px solid var(--jomo-border);
    border-radius: 14px 0;
    background:#fff;
    padding:10px 12px;
  }
  .case__metric-k{ display:block; font-size:12px; opacity:.75; }
  .case__metric-v{ display:block; font-size:14px; font-weight:700; margin-top:2px; }
  .case__metric-o{ display:block; font-size:12px; opacity:.72; margin-top:2px; }

  .case__gallery{
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:12px;
    margin-top: 10px;
  }
  .case__gallery-item{
    margin:0;
    border:1px solid var(--jomo-border);
    border-radius: 18px 0;
    overflow:hidden;
    background:#fff;
  }
  .case__gallery-item img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
  }

  /* Aside */
  .case__aside{
    position:sticky;
    top: 110px;
    height: fit-content;
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .case__toc{
    border:1px solid var(--jomo-border);
    background:#fff;
    padding:14px;
  }
  .case__toc-title{ margin:0 0 10px; font-size:14px; }
  .case__toc ul{
    margin:0; 
    padding:0;
    list-style:none;
    display:flex; 
    flex-direction:column;
    gap:8px;
  }

  /* Links das âncoras em verde */
  .case__toc a{
    text-decoration:none;
    font-size:13px;
    color: var(--jomo-green);
    font-weight:600;
  }
  .case__toc a:hover{
    text-decoration:underline;
    color: var(--jomo-green-2);
  }

  .case__cta{
    border:1px solid var(--jomo-border);
    background:#fff;
    padding:14px;
  }
  .case__cta-title{ margin:0 0 8px; font-size:15px; font-weight: 700; }
  .case__cta-text{ margin:0 0 12px; font-size:13px; line-height:1.4; }

  .case__cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width: fit-content;
    font-size: 12px;
    text-decoration:none;
  }
  .case__cta-btn:hover{
  }

  .case__download{
    border:1px solid var(--jomo-border);
    border-radius: 18px 0;
    background:#fff;
    padding:14px;
  }
  .case__download-link{
    text-decoration:underline;
    font-size:13px;
    color: var(--jomo-green);
    font-weight:600;
  }
  .case__download-link:hover{ color: var(--jomo-green-2); }

  /* Responsive */
  @media (max-width: 991px){
    .case__header{ grid-template-columns: 1fr; }
    .case__grid{ grid-template-columns: 1fr; }
    .case__aside{ position:relative; top:auto; }
    .case__gallery{ grid-template-columns: 1fr; }
    .case__metrics{ grid-template-columns: 1fr; }
    .case__section--step{ padding: 16px 14px 14px; }
  }