.elementor-1075 .elementor-element.elementor-element-82e0e56{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1075 .elementor-element.elementor-element-e76a1b8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ── Hero ── */
    .hero {
      background: var(--ink);
      padding: 3.5rem 0 3rem;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 55% 80% at 80% 50%, rgba(13,92,99,.45) 0%, transparent 70%);
    }
    .hero-inner { position: relative; z-index: 1; }
    .kicker {
      font-family: var(--sans);
      font-size: .68rem; font-weight: 700; letter-spacing: .18em;
      text-transform: uppercase; color: var(--orange);
      display: flex; align-items: center; gap: .6rem;
      margin-bottom: .85rem;
    }
    .kicker::before { content: ''; display: block; width: 2rem; height: 2px; background: var(--orange); }
    .hero h1 {
      font-family: var(--serif);
      font-size: clamp(1.8rem, 4vw, 2.75rem);
      color: var(--white); line-height: 1.12; letter-spacing: -.01em;
      margin-bottom: .75rem;
    }
    .hero h1 em { font-style: italic; color: rgba(255,255,255,.5); font-weight: 400; }
    .hero-deck {
      font-family: var(--body);
      font-size: .975rem; color: rgba(255,255,255,.72);
      max-width: 640px; line-height: 1.78;
    }

    /* ── Section layout ── */
    section { padding: 3.5rem 0; }
    .section-eyebrow {
      font-size: .68rem; font-weight: 700; letter-spacing: .18em;
      text-transform: uppercase; color: var(--orange);
      display: flex; align-items: center; gap: .6rem;
      margin-bottom: .6rem;
    }
    .section-eyebrow::before { content: ''; display: block; width: 2rem; height: 2px; background: var(--orange); }
    .section-title {
      font-family: var(--serif);
      font-size: clamp(1.5rem, 2.5vw, 2.1rem);
      color: var(--ink); line-height: 1.18; letter-spacing: -.01em;
      margin-bottom: .5rem;
    }
    .section-lead {
      font-family: var(--body);
      font-size: .95rem; color: var(--ink-light); line-height: 1.75;
      max-width: 600px; margin-bottom: 2.5rem;
    }

    /* ── Main comparison table ── */
    .comparison-wrap { overflow-x: auto; border-radius: 12px; box-shadow: 0 4px 32px rgba(0,0,0,.1);}

    .comp {
      width: 100%; border-collapse: collapse;
      min-width: 860px;
    }

.comp th {border-color:#ffffff;border-block-start-color:#ffffff!important;}
    /* Column header row */
    .comp thead tr.site-row th {
      padding: 0;
      vertical-align: bottom;
    }
    .site-head {
      padding: 1.25rem 1rem 1rem;
      text-align: center;
      border-bottom: 3px solid transparent;
    }
    .site-head.jx {
      background: var(--teal);
      border-bottom-color: var(--orange);
    }
    .site-head.competitor { background: #2d3748; }
    .site-head.free-site  { background: #374151; }

    .site-head .site-label {
      font-size: .6rem; font-weight: 700; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.5);
      margin-bottom: .3rem;
    }
    .site-head .site-name {
      font-family: var(--serif);
      font-size: 1rem; font-weight: 700; color: var(--white);
      line-height: 1.2; margin-bottom: .2rem;
    }
    .site-head.jx .site-name { color: #fff; font-size: 1.05rem; }
    .site-head .site-url {
      font-size: .68rem; color: rgba(255,255,255,.45);
      font-style: italic;
    }
    .competitor .site-name,.free-site .site-name {white-space:nowrap}
    .jx-badge {
      display: inline-block;
      background: var(--orange);
      color: var(--white);
      font-size: .58rem; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      padding: .2rem .6rem; border-radius: 20px;
      margin-top: .5rem;
    }

    /* Category header rows */
    .comp tr.cat-row td {
      background: var(--ink);
      color: rgba(255,255,255,.85);
      font-size: .68rem; font-weight: 700;
      letter-spacing: .14em; text-transform: uppercase;
      padding: .6rem 1rem;
      border-top: 2px solid rgba(255,255,255,.05);
    }

    /* Feature label column */
    .comp td.feat-label {
      background: var(--sand);
      font-size: .83rem; font-weight: 600;
      color: var(--ink-mid);
      padding: .7rem 1rem;
      border-bottom: 1px solid var(--sand-dark);
      min-width: 200px;
      line-height: 1.45;
    }
    .comp td.feat-label .feat-sub {
      font-weight: 400; font-size: .73rem;
      color: var(--ink-light); display: block; margin-top: 2px;
    }

    /* Data cells */
    .comp td.cell {
      padding: .65rem .85rem;
      text-align: center;
      border-bottom: 1px solid var(--rule);
      vertical-align: middle;
      font-size: .82rem;
      line-height: 1.45;
    }

    /* JusticeXpress column highlight */
    .comp td.cell.jx-col,
    .comp th.jx-col {
      background: rgba(13,92,99,.04);
      border-left: 3px solid var(--teal);
      border-right: 3px solid var(--teal);
    }
    .comp tr.cat-row td.jx-col {
      background: rgba(13,92,99,.15);
      border-left: 3px solid var(--teal);
      border-right: 3px solid var(--teal);
    }

    /* Cell content types */
    .yes  { color: var(--green); font-weight: 700; font-size: 1rem; }
    .no   { color: var(--red-cell); font-weight: 700; font-size: 1rem; }
    .partial { color: var(--amber); font-weight: 600; font-size: .9rem; }

    .pill {
      display: inline-block;
      padding: .2rem .6rem; border-radius: 20px;
      font-size: .72rem; font-weight: 700;
      letter-spacing: .04em;
    }
    .pill-green  { background: var(--green-pale);  color: var(--green); border: 1px solid var(--green-border); }
    .pill-red    { background: var(--red-pale);    color: var(--red-cell); border: 1px solid var(--red-border); }
    .pill-amber  { background: var(--amber-pale);  color: var(--amber); border: 1px solid var(--amber-border); }
    .pill-teal   { background: var(--teal-pale);   color: var(--teal);  border: 1px solid rgba(13,92,99,.25); }
    .pill-gray   { background: #f1f5f9; color: #64748b; border: 1px solid #cbd5e0; }

    .cell-note {
      font-size: .72rem; color: var(--ink-light);
      display: block; margin-top: 3px; font-style: italic;
    }

    /* Zebra rows */
    .comp tbody tr:nth-child(even) td.cell:not(.jx-col) { background: #fafafa; }
    .comp tbody tr:nth-child(even) td.jx-col { background: rgba(13,92,99,.07); }

    /* Footer row */
    .comp tfoot tr td {
      padding: 1rem .85rem;
      text-align: center;
      border-top: 2px solid var(--rule);
    }
    .comp tfoot tr td.jx-col { background: var(--teal); border-left: 3px solid var(--teal); border-right: 3px solid var(--teal); }

    .cta-btn {
      display: inline-block;
      background: var(--orange);
      color: var(--white);
      font-family: var(--sans);
      font-size: .82rem; font-weight: 700;
      padding: .5rem 1.25rem;
      border-radius: 5px;
      transition: background .15s;
      text-decoration: none;
    }
    .cta-btn:hover { background: var(--orange-dark); color: var(--white); }

    /* ── Benefits section ── */
    .benefits-section { background: var(--teal); }
    .benefits-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
    }
    .benefit-card {
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 10px;
      padding: 1.5rem;
      transition: background .2s;
    }
    .benefit-card:hover { background: rgba(255,255,255,.12); }
    .benefit-num {
      font-family: var(--serif);
      font-size: 2.5rem; font-weight: 700;
      color: var(--orange); line-height: 1;
      margin-bottom: .5rem;
    }
    .benefit-card h3 {
      font-family: var(--serif);
      font-size: 1rem; color: var(--white);
      margin-bottom: .5rem;
    }
    .benefit-card p {
      font-size: .82rem; color: rgba(255,255,255,.65); line-height: 1.65;
    }

    /* ── Pricing comparison ── */
    .pricing-section { background: var(--sand); border-top: 1px solid var(--rule); }
    .pricing-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
    .price-card {
      background: var(--white);
      border: 1px solid var(--rule);
      border-radius: 10px; overflow: hidden;
    }
    .price-card.jx-price {
      border: 2px solid var(--teal);
      box-shadow: 0 4px 20px rgba(13,92,99,.15);
    }
    .price-card-head { padding: 1rem; text-align: center; }
    .price-card-head.jx-head { background: var(--teal); }
    .price-card-head.comp-head { background: var(--ink); }
    .price-card-head.free-head { background: #374151; }
    .price-card-head h4 {
      font-family: var(--serif);
      font-size: .9rem; color: var(--white); margin-bottom: .15rem;
    }
    .price-card-head p { font-size: .65rem; color: rgba(255,255,255,.5); }
    .price-card-body { padding: 1rem; }
    .price-main {
      font-family: var(--serif);
      font-size: 1.5rem; font-weight: 700;
      color: var(--ink); text-align: center;
      margin-bottom: .25rem;
    }
    .price-main.jx-price-main { color: var(--teal); }
    .price-period {
      font-size: .7rem; color: var(--ink-light);
      text-align: center; margin-bottom: .85rem;
    }
    .price-features { list-style: none; }
    .price-features li {
      font-size: .77rem; color: var(--ink-mid);
      padding: .28rem 0;
      border-bottom: 1px solid var(--sand-dark);
      display: flex; gap: .4rem; align-items: flex-start; line-height: 1.45;
    }
    .price-features li:last-child { border-bottom: none; }
    .price-features li.pro::before { content: '+'; color: var(--green); font-weight: 700; flex-shrink: 0; }
    .price-features li.con::before { content: '-'; color: var(--red-cell); font-weight: 700; flex-shrink: 0; }

    /* ── Who is it for section ── */
    .audience-section { background: var(--white); }
    .audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .audience-card { border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
    .audience-head { padding: 1rem 1.25rem; }
    .audience-head.jx-head { background: var(--teal); }
    .audience-head.other-head { background: var(--ink); }
    .audience-head h3 { font-family: var(--serif); font-size: 1rem; color: var(--white); }
    .audience-body { padding: 1.1rem 1.25rem; }
    .audience-body ul { list-style: none; }
    .audience-body li {
      font-size: .83rem; color: var(--ink-mid);
      padding: .35rem 0; border-bottom: 1px solid var(--sand-dark);
      display: flex; gap: .5rem; align-items: flex-start; line-height: 1.5;
    }
    .audience-body li:last-child { border-bottom: none; }
    .audience-body li.yes::before { content: 'checkmark'; font-size: 0; width: .55rem; height: .55rem; border-radius: 50%; background: var(--teal); flex-shrink: 0; margin-top: 4px; }
    .audience-body li.limited::before { content: 'x'; font-size: 0; width: .55rem; height: .55rem; border-radius: 50%; background: var(--amber); flex-shrink: 0; margin-top: 4px; }

    /* ── Disclaimer ── */
    .disclaimer {
      background: var(--sand);
      border-top: 1px solid var(--rule);
      padding: 1.25rem 0;
    }
    .disclaimer p {
      font-size: .75rem; color: var(--ink-light); line-height: 1.65;
    }

    /* Responsive */
    @media (max-width: 900px) {
      .benefits-grid { grid-template-columns: 1fr 1fr; }
      .pricing-grid  { grid-template-columns: 1fr 1fr; }
      .audience-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 600px) {
      .benefits-grid { grid-template-columns: 1fr; }
    }/* End custom CSS */