.tools-hero,
.tool-page-hero {
  padding: 4.5rem 0 2.4rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgb(var(--color-background-rgb) / .94) 52%, rgba(255,255,255,.98) 100%);
  border-bottom: 1px solid rgb(var(--color-primary-rgb) / .14);
}
.tools-kicker {
  color:var(--color-primary);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 .7rem;
  font-size:.86rem;
}
.tools-hero h1,
.tool-page-hero h1 {
  color:var(--color-primary);
  font-weight:800;
  margin:0 0 1rem;
}
.tools-hero p,
.tool-page-hero p {
  max-width:56rem;
  color:var(--color-primary-hover);
  font-size:1.08rem;
  line-height:1.68;
}
.tools-main,
.tool-main {
  padding:2.6rem 0 4rem;
}
.tools-index-lead {
  max-width:96rem;
  margin:0 auto 3rem;
  color:var(--color-primary);
  font-size:1.65rem;
  line-height:1.75;
  font-weight:600;
  text-align:center;
}
.tools-section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 1rem;
}
.tools-section-heading h2 {
  color:var(--color-primary);
  font-weight:850;
  margin:0;
  font-size:clamp(1.65rem, 1.45vw, 2.15rem);
}
.tools-section-heading p {
  max-width:42rem;
  margin:0;
  color:var(--color-primary);
  font-weight:750;
  line-height:1.48;
}
.tools-section-heading--inline {
  margin-bottom:.65rem;
}
.tools-popular {
  margin:0 0 2rem;
  padding:1.15rem;
  border:1px solid rgb(var(--color-primary-rgb) / .18);
  border-radius:1.15rem;
  background:linear-gradient(135deg, rgb(var(--color-background-rgb) / .96) 0%, rgb(var(--color-background-rgb) / .74) 48%, rgba(255,255,255,.98) 100%);
  box-shadow:0 .9rem 2.4rem rgb(var(--color-primary-rgb) / .07), inset 0 1px 0 rgba(255,255,255,.92);
}
.tools-section-heading--popular {
  align-items:center;
  margin:0 0 .9rem;
}
.tools-section-heading--popular h2 {
  display:inline-flex;
  align-items:center;
  min-height:2.15rem;
  padding:.38rem .85rem;
  border:1px solid rgb(var(--color-primary-rgb) / .2);
  border-radius:999px;
  color:var(--color-primary);
  background:linear-gradient(180deg, rgb(var(--color-background-rgb) / .98) 0%, rgba(255,255,255,.96) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
  font-size:1rem;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tools-popular__grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1rem;
}
.tools-popular__card {
  min-height:8.7rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:.55rem;
  padding:1.1rem 1.2rem;
  border:1px solid rgb(var(--color-primary-rgb) / .2);
  border-radius:1rem;
  color:var(--color-primary-hover);
  text-decoration:none !important;
  background:linear-gradient(135deg, rgb(var(--color-background-rgb) / .96) 0%, rgba(255,255,255,.98) 66%, rgb(var(--color-background-rgb) / .96) 100%);
  box-shadow:0 .8rem 2rem rgb(var(--color-primary-rgb) / .08), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tools-popular__card:hover,
.tools-popular__card:focus-visible {
  transform:translateY(-2px);
  border-color:rgb(var(--color-primary-rgb) / .38);
  box-shadow:0 1rem 2.4rem rgb(var(--color-primary-rgb) / .12), inset 0 1px 0 rgba(255,255,255,.96);
  outline:none;
}
.tools-popular__card span {
  color:var(--color-primary);
  font-size:.86rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.tools-popular__card strong {
  color:var(--color-primary);
  font-size:1.22rem;
  line-height:1.22;
}
.tools-popular__card small {
  align-self:flex-start;
  padding:.32rem .7rem;
  border-radius:999px;
  color:#fff;
  font-weight:850;
  background:linear-gradient(180deg,var(--color-secondary) 0%,var(--color-primary) 100%);
}
.tools-filter {
  margin:0 0 1.2rem;
}
.tools-filter__buttons {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}
.tools-filter__button {
  min-height:2.65rem;
  border:1px solid rgb(var(--color-primary-rgb) / .22);
  border-radius:999px;
  padding:.55rem .95rem;
  color:var(--color-primary);
  background:rgba(255,255,255,.9);
  font-weight:850;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tools-filter__button:hover,
.tools-filter__button:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 .55rem 1.25rem rgb(var(--color-primary-rgb) / .1);
  outline:none;
}
.tools-filter__button.is-active {
  color:#fff;
  background:linear-gradient(180deg,var(--color-secondary) 0%,var(--color-primary) 100%);
  border-color:rgb(var(--color-primary-rgb) / .45);
  box-shadow:0 .7rem 1.6rem rgb(var(--color-primary-rgb) / .18);
}
.tools-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.1rem;
}
.tool-card,
.tool-panel,
.tool-info-box {
  background:rgba(255,255,255,.96);
  border:1px solid rgb(var(--color-primary-rgb) / .18);
  border-radius:1rem;
  box-shadow:0 .9rem 2.3rem rgb(var(--color-primary-rgb) / .08), inset 0 1px 0 rgba(255,255,255,.9);
}
.tool-card {
  --tool-tint:rgb(var(--color-background-rgb) / .92);
  --tool-border:rgb(var(--color-primary-rgb) / .24);
  --tool-glow:rgb(var(--color-primary-rgb) / .11);
  --tool-tag-bg:var(--color-background);
  display:flex;
  flex-direction:column;
  padding:1.25rem;
  min-height:16.2rem;
  position:relative;
  overflow:hidden;
  transform-origin:center center;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tool-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, var(--tool-tint) 0%, rgba(255,255,255,.98) 62%, var(--tool-tint) 100%);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.tool-card > * {
  position:relative;
  z-index:1;
}
.tool-card:hover,
.tool-card:focus-within {
  border-color:var(--tool-border);
  box-shadow:0 1rem 2.55rem var(--tool-glow), 0 .9rem 2.3rem rgb(var(--color-primary-rgb) / .08), inset 0 1px 0 rgba(255,255,255,.94);
  transform:translateY(-3px) scale(1.05);
  z-index:3;
}
.tool-card:hover::before,
.tool-card:focus-within::before {
  opacity:1;
}
.tool-card__category {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:.25rem .65rem;
  border-radius:999px;
  background:linear-gradient(180deg, var(--color-background) 0%, var(--color-background) 100%);
  color:var(--color-primary);
  font-weight:800;
  font-size:.78rem;
  transition:background .22s ease;
}
.tool-card:hover .tool-card__category,
.tool-card:focus-within .tool-card__category {
  background:linear-gradient(180deg, var(--tool-tag-bg) 0%, rgba(255,255,255,.86) 100%);
}
.tool-card h2 {
  color:var(--color-primary);
  font-size:1.28rem;
  line-height:1.25;
  margin:1rem 0 .65rem;
}
.tool-card p {
  color:var(--color-primary);
  line-height:1.58;
  margin:0 0 1.15rem;
}
.tool-card__link,
.tool-submit,
.tool-link-button {
  margin-top:auto;
  min-height:2.8rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:.68rem 1.05rem;
  background:linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
  color:#fff !important;
  font-weight:800;
  text-decoration:none !important;
  box-shadow:0 .7rem 1.7rem rgb(var(--color-primary-rgb) / .2), inset 0 1px 0 rgba(255,255,255,.32);
  cursor:pointer;
}
.tool-card__link:hover,
.tool-submit:hover,
.tool-link-button:hover {
  transform:translateY(-1px);
}

/* V70 responsive card readability on wider screens. */
.tools-grid {
  gap:clamp(1.2rem, 1.6vw, 2rem);
}
.tool-card {
  min-height:clamp(17rem, 15vw, 22rem);
  padding:clamp(1.35rem, 1.45vw, 1.95rem);
  border-radius:clamp(1rem, 1vw, 1.45rem);
}
.tool-card__category {
  min-height:clamp(2rem, 1.7vw, 2.45rem);
  padding:clamp(.28rem, .34vw, .42rem) clamp(.72rem, .7vw, 1rem);
  font-size:clamp(1.04rem, .92vw, 1.28rem);
  line-height:1.1;
}
.tool-card h2 {
  font-size:clamp(1.5rem, 1.35vw, 2rem);
  line-height:1.2;
}
.tool-card p {
  font-size:clamp(1.14rem, 1.02vw, 1.42rem);
  line-height:1.52;
}
.tool-card__link {
  min-height:clamp(3.1rem, 2.55vw, 4rem);
  padding:clamp(.78rem, .75vw, 1rem) clamp(1.1rem, 1.05vw, 1.5rem);
  font-size:clamp(1.12rem, .98vw, 1.36rem);
}
@media (min-width:1280px) {
  .tools-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .tool-card {
    min-height:20rem;
  }
}
@media (max-width:900px) {
  .tool-card {
    min-height:16.5rem;
  }
}
@media (max-width:560px) {
  .tool-card__category {
    font-size:.98rem;
  }
  .tool-card h2 {
    font-size:1.45rem;
  }
  .tool-card p {
    font-size:1.16rem;
  }
}

/* V58 lightweight tool-card miniatures. */
.page-tools-index .tool-card {
  --tool-thumb:url("/images/blog/thumbs/muscle-growth-principles.jpg");
  --tool-thumb-w:clamp(5.8rem, 5.9vw, 7.2rem);
  --tool-thumb-h:clamp(4.2rem, 4.35vw, 5.2rem);
  --tool-thumb-gap:clamp(.8rem, .9vw, 1.05rem);
  isolation:isolate;
}

.page-tools-index .tool-card::before {
  z-index:0;
}

.page-tools-index .tool-card::after {
  content:"";
  position:absolute;
  top:var(--tool-thumb-gap);
  right:var(--tool-thumb-gap);
  width:var(--tool-thumb-w);
  height:var(--tool-thumb-h);
  border:1px solid rgb(var(--color-primary-rgb) / .18);
  border-radius:.72rem;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.08), rgb(var(--color-primary-rgb) / .08)),
    var(--tool-thumb);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 .45rem 1.1rem rgb(var(--color-primary-rgb) / .12), inset 0 1px 0 rgba(255,255,255,.5);
  opacity:.96;
  pointer-events:none;
  z-index:1;
}

.page-tools-index .tool-card > * {
  z-index:2;
}

.page-tools-index .tool-card__category,
.page-tools-index .tool-card h2,
.page-tools-index .tool-card > p:first-of-type {
  max-width:calc(100% - var(--tool-thumb-w) - var(--tool-thumb-gap) - .65rem);
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/protein-target-calculator/"]) {
  --tool-thumb:url("/images/blog/thumbs/muscle-growth-principles.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/saturated-fat-budget-calculator/"]) {
  --tool-thumb:url("/images/blog/thumbs/cholesterol-management.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/one-rep-max-plate-loader/"]) {
  --tool-thumb:url("/images/products/newproducts/arm-blaster-training-support/arm-blaster-training-support-001-thumb.webp");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/training-volume-calculator/"]) {
  --tool-thumb:url("/images/blog/thumbs/recovery-sleep-training.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/calorie-weight-loss-planner/"]) {
  --tool-thumb:url("/images/blog/thumbs/carnivore-diet-considerations.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/bmi-waist-health-check/"]) {
  --tool-thumb:url("/images/products/newproducts/wrist-straps-and-grip-support/wrist-straps-and-grip-support-006-thumb.webp");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/rehab-red-flag-checker/"]) {
  --tool-thumb:url("/images/blog/thumbs/rehabilitation-basics.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/glp1-nutrition-risk-checker/"]) {
  --tool-thumb:url("/images/blog/thumbs/carnivore-diet-considerations.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/post-meal-walk-planner/"]) {
  --tool-thumb:url("/images/blog/thumbs/joint-friendly-training.jpg");
}

.page-tools-index .tool-card:has(.tool-card__link[href*="/tools/supplement-risk-checklist/"]) {
  --tool-thumb:url("/images/products/newproducts/zphc-tea-presentation/zphc-tea-presentation-001-thumb.webp");
}

@media (max-width:620px) {
  .page-tools-index .tool-card {
    --tool-thumb-w:5.6rem;
    --tool-thumb-h:4.2rem;
    --tool-thumb-gap:.95rem;
  }
}

@media (max-width:360px) {
  .page-tools-index .tool-card {
    --tool-thumb-w:5rem;
    --tool-thumb-h:3.8rem;
  }
}
.tool-shell {
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(18rem, .92fr);
  gap:1.3rem;
  align-items:start;
}
.tool-panel {
  padding:1.35rem;
}
.tool-panel h2,
.tool-info-box h2 {
  color:var(--color-primary);
  margin:.1rem 0 1rem;
  font-size:1.55rem;
}
.tool-form {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.9rem;
}
.tool-field,
.tool-check {
  display:flex;
  flex-direction:column;
  gap:.38rem;
  color:var(--color-primary-hover);
  font-weight:800;
}
.tool-field input,
.tool-field select {
  min-height:2.85rem;
  border:1px solid rgb(var(--color-primary-rgb) / .24);
  border-radius:.72rem;
  background:#fff;
  color:var(--color-primary-hover);
  padding:.58rem .72rem;
  font:inherit;
  font-weight:700;
}
.tool-field input:focus,
.tool-field select:focus,
.tool-check input:focus,
.tool-fieldset input:focus,
.tool-submit:focus,
.tool-card__link:focus {
  outline:3px solid rgb(var(--color-primary-rgb) / .28);
  outline-offset:2px;
}
.tool-check {
  grid-column:1 / -1;
  flex-direction:row;
  align-items:flex-start;
  font-weight:700;
  line-height:1.45;
}
.tool-check input {
  width:1.2rem;
  height:1.2rem;
  margin-top:.15rem;
}
.tool-fieldset {
  grid-column:1 / -1;
  border:1px solid rgb(var(--color-primary-rgb) / .18);
  border-radius:.8rem;
  padding:.75rem;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem .9rem;
}
.tool-fieldset legend {
  color:var(--color-primary);
  font-weight:800;
  padding:0 .35rem;
  width:auto;
  font-size:.95rem;
}
.tool-fieldset label {
  min-height:2rem;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:var(--color-primary);
  font-weight:700;
}
.tool-fieldset--wide {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.tool-submit {
  grid-column:1 / -1;
  width:100%;
}
.tool-browser-note {
  grid-column:1 / -1;
  margin:-.35rem 0 .15rem;
  color:var(--color-primary);
  font-size:.98rem;
  font-weight:750;
  line-height:1.45;
  padding:.75rem .85rem;
  border:1px solid rgb(var(--color-primary-rgb) / .16);
  border-radius:.78rem;
  background:linear-gradient(180deg,var(--color-background) 0%,var(--color-background) 100%);
}
.tool-result {
  min-height:11rem;
  padding:1.1rem;
  border-radius:1rem;
  background:linear-gradient(180deg, var(--color-background) 0%, var(--color-background) 100%);
  border:1px solid rgb(var(--color-primary-rgb) / .2);
  color:var(--color-primary-hover);
}
.tool-result h2,
.tool-result h3 {
  color:var(--color-primary);
  margin:.1rem 0 .7rem;
}
.tool-result p {
  line-height:1.58;
}
.tool-result table {
  width:100%;
  border-collapse:collapse;
  margin:.75rem 0;
  font-size:.95rem;
}
.tool-result th,
.tool-result td {
  border-bottom:1px solid rgb(var(--color-primary-rgb) / .16);
  padding:.45rem .35rem;
  text-align:left;
}
.tool-result.is-error {
  background:#fff7eb;
  border-color:rgba(197,112,0,.34);
}
.tool-result__placeholder {
  color:var(--color-secondary);
}
.tool-disclaimer,
.tool-warning {
  margin:0 0 1rem;
  padding:1rem 1.05rem;
  border-radius:.9rem;
  line-height:1.56;
}
.tool-disclaimer {
  color:var(--color-primary-hover);
  background:var(--color-background);
  border:1px solid rgb(var(--color-primary-rgb) / .2);
}
.tool-warning {
  color:#3f2b00;
  background:#fff7e6;
  border:1px solid rgba(210,141,0,.32);
}
.tool-info-stack {
  display:grid;
  gap:1.1rem;
  margin-top:1.25rem;
}
.tool-info-box {
  padding:1.25rem;
}
.tool-info-box ul,
.tool-info-box ol {
  margin:.4rem 0 0;
  padding-left:1.2rem;
}
.tool-info-box li {
  margin:.45rem 0;
  line-height:1.55;
}
.tool-link-list {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.8rem;
}
.tool-link-list a {
  color:var(--color-primary);
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgb(var(--color-primary-rgb) / .35);
}
.tool-next-steps {
  margin-top:1rem;
  padding-top:.9rem;
  border-top:1px solid rgb(var(--color-primary-rgb) / .14);
}
.tool-next-steps h3 {
  color:var(--color-primary);
  font-size:1.12rem;
  margin:0 0 .65rem;
}
.tool-next-steps__links {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.tool-next-steps__links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.45rem;
  padding:.52rem .82rem;
  border:1px solid rgb(var(--color-primary-rgb) / .2);
  border-radius:999px;
  color:var(--color-primary);
  background:#fff;
  font-weight:850;
  text-decoration:none !important;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.tool-next-steps__links a:hover,
.tool-next-steps__links a:focus-visible {
  color:#fff;
  background:linear-gradient(180deg,var(--color-secondary) 0%,var(--color-primary) 100%);
  transform:translateY(-1px);
  outline:none;
}
@media (max-width: 980px) {
  .tools-grid,
  .tool-shell {
    grid-template-columns:1fr;
  }
  .tools-popular__grid {
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .tools-section-heading {
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width: 620px) {
  .tools-hero,
  .tool-page-hero {
    padding:2.4rem 0 1.4rem;
  }
  .tools-grid,
  .tool-form,
  .tool-fieldset--wide {
    grid-template-columns:1fr;
  }
  .tools-index-lead {
    margin-bottom:2.2rem;
    padding:0 .8rem;
    font-size:1.55rem;
  }
  .tool-card,
  .tool-panel,
  .tool-info-box {
    border-radius:.8rem;
  }
  .tools-popular__grid {
    grid-template-columns:1fr;
  }
  .tools-filter__button {
    flex:1 1 auto;
  }
  .tool-next-steps__links a {
    width:100%;
  }
}

/* === V6 Tools-only visitor diagnostics suite === */
.z-tools-privacy-suite {
  margin:3.25rem 0 0;
  color:var(--color-primary);
}

.z-tools-privacy-divider {
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 2.15rem;
}

.z-tools-privacy-divider::before,
.z-tools-privacy-divider::after {
  content:"";
  height:1px;
  flex:1 1 auto;
  background:linear-gradient(90deg, rgb(var(--color-primary-rgb) / 0), rgb(var(--color-primary-rgb) / .36), rgb(var(--color-primary-rgb) / 0));
}

.z-tools-privacy-divider span {
  width:3.4rem;
  height:.38rem;
  margin:0 1rem;
  border-radius:999px;
  background:linear-gradient(90deg, var(--color-primary) 0%, #65bf91 50%, var(--color-primary) 100%);
  box-shadow:0 .65rem 1.4rem rgb(var(--color-primary-rgb) / .18);
}

.z-tools-privacy-head {
  max-width:66rem;
  margin:0 auto 1.55rem;
  text-align:center;
}

.z-tools-privacy-kicker {
  margin:0 0 .55rem;
  color:var(--color-primary);
  font-size:.83rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.z-tools-privacy-head h2 {
  margin:0 0 .75rem;
  color:var(--color-primary);
  font-size:clamp(1.9rem, 2.5vw, 3rem);
  line-height:1.12;
  font-weight:900;
}

.z-tools-privacy-head p {
  margin:0 auto;
  max-width:58rem;
  color:var(--color-primary);
  font-size:1.05rem;
  line-height:1.62;
  font-weight:650;
}

.z-tools-tabs {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1rem;
  margin:1.75rem 0 1.35rem;
}

.z-tools-tab {
  min-height:4.2rem;
  padding:.75rem .8rem .95rem;
  border:0;
  border-bottom:3px solid rgb(var(--color-secondary-rgb) / .32);
  color:var(--color-secondary);
  background:transparent;
  font-size:clamp(1.08rem, 1.55vw, 1.75rem);
  line-height:1.14;
  font-weight:500;
  text-align:center;
  cursor:pointer;
  transition:color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.z-tools-tab:hover,
.z-tools-tab:focus-visible {
  color:var(--color-primary);
  border-color:rgb(var(--color-primary-rgb) / .45);
  background:rgb(var(--color-background-rgb) / .58);
  outline:none;
}

.z-tools-tab.is-active {
  color:var(--color-primary-hover);
  border-color:var(--color-accent);
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgb(var(--color-background-rgb) / .74) 100%);
}

.z-tools-panels {
  padding:1.45rem;
  border-radius:1rem;
  background:linear-gradient(135deg, rgb(var(--color-background-rgb) / .94) 0%, rgba(255,255,255,.98) 58%, rgba(239,250,246,.88) 100%);
  box-shadow:0 1.2rem 3rem rgb(var(--color-primary-rgb) / .09), inset 0 1px 0 rgba(255,255,255,.92);
}

.z-tools-panel[hidden] {
  display:none !important;
}

.z-tools-panel-copy {
  margin:0 0 1.25rem;
  padding:1.25rem 1.35rem;
  border-radius:.9rem;
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 0 0 1px rgb(var(--color-primary-rgb) / .08);
}

.z-tools-panel-copy h3 {
  margin:0 0 .55rem;
  color:var(--color-primary-hover);
  font-size:1.45rem;
  line-height:1.22;
  font-weight:900;
}

.z-tools-panel-copy p {
  margin:0;
  color:var(--color-primary);
  font-size:1rem;
  line-height:1.62;
  font-weight:600;
}

.z-tools-data-grid,
.z-tools-fingerprint-grid {
  display:grid;
  grid-template-columns:minmax(18rem, .74fr) minmax(0, 1.26fr);
  gap:1.25rem;
}

.z-tools-test-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin:0 0 1.2rem;
}

.z-tools-data-card,
.z-tools-test-card,
.z-tools-fingerprint-score,
.z-tools-speed-card {
  border:1px solid rgb(var(--color-primary-rgb) / .14);
  border-radius:1rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 .9rem 2.1rem rgb(var(--color-primary-rgb) / .07), inset 0 1px 0 rgba(255,255,255,.95);
}

.z-tools-data-card,
.z-tools-fingerprint-score,
.z-tools-speed-card {
  padding:1.2rem;
}

.z-tools-test-card {
  min-height:17.25rem;
  padding:1.15rem;
  display:flex;
  flex-direction:column;
  gap:.72rem;
}

.z-tools-ip-card {
  background:linear-gradient(135deg, rgb(var(--color-background-rgb) / .98) 0%, rgba(255,255,255,.96) 68%, rgba(238,250,244,.96) 100%);
}

.z-tools-data-card h4,
.z-tools-test-card h4 {
  margin:0 0 .8rem;
  color:var(--color-primary);
  font-size:1.1rem;
  line-height:1.28;
  font-weight:900;
}

.z-tools-test-card h4 {
  color:var(--color-primary-hover);
  font-size:1.18rem;
  margin:.1rem 0 .15rem;
}

.z-tools-test-card p {
  flex:1 1 auto;
  margin:0;
  color:var(--color-primary);
  font-size:.94rem;
  line-height:1.5;
  font-weight:600;
}

.z-tools-test-icon {
  width:3.9rem;
  height:3.9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid rgb(var(--color-accent-rgb) / .72);
  border-radius:.8rem;
  color:var(--color-accent);
  font-weight:900;
  letter-spacing:.04em;
  background:linear-gradient(180deg, rgba(250,253,255,.98), rgb(var(--color-background-rgb) / .96));
}

.z-tools-action {
  min-height:2.45rem;
  align-self:flex-start;
  padding:.48rem 1.25rem;
  border:1px solid rgba(41,156,103,.24);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(180deg, #66c98f 0%, #37aa70 100%);
  box-shadow:0 .65rem 1.3rem rgba(55,170,112,.18), inset 0 1px 0 rgba(255,255,255,.28);
  font-weight:850;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.z-tools-action:hover,
.z-tools-action:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 .85rem 1.6rem rgba(55,170,112,.23), inset 0 1px 0 rgba(255,255,255,.35);
  outline:none;
}

.z-tools-action:disabled {
  cursor:not-allowed;
  filter:saturate(.62);
  opacity:.78;
}

.z-tools-action--large {
  min-height:3rem;
  padding:.65rem 1.5rem;
  font-size:1rem;
}

.z-tools-result {
  min-height:3rem;
  padding:.7rem .8rem;
  border-radius:.75rem;
  color:var(--color-primary);
  background:rgb(var(--color-background-rgb) / .86);
  font-size:.88rem;
  line-height:1.38;
  font-weight:700;
  overflow-wrap:anywhere;
}

.z-tools-signal-result {
  display:grid;
  gap:.6rem;
}

.z-tools-signal-summary {
  color:var(--color-primary);
}

.z-tools-signal-results {
  display:grid;
  gap:.36rem;
}

.z-tools-signal-row {
  display:grid;
  grid-template-columns:minmax(6.2rem, .72fr) minmax(0, 1fr);
  gap:.5rem;
  align-items:start;
  padding:.45rem .5rem;
  border:1px solid rgb(var(--color-primary-rgb) / .11);
  border-radius:.55rem;
  background:rgba(255,255,255,.72);
}

.z-tools-signal-row span {
  color:var(--color-primary);
  font-weight:850;
}

.z-tools-signal-row strong {
  color:var(--color-primary);
  font-weight:760;
}

.z-tools-signal-row--open {
  border-color:rgba(55,170,112,.28);
  background:rgba(238,252,244,.92);
}

.z-tools-signal-row--open strong {
  color:#1f7a50;
}

.z-tools-signal-row--pending,
.z-tools-signal-row--warning {
  border-color:rgba(239,174,67,.28);
  background:rgba(255,249,235,.92);
}

.z-tools-signal-row--blocked {
  border-color:rgba(213,92,92,.28);
  background:rgba(255,241,241,.92);
}

.z-tools-signal-row--blocked strong {
  color:#9f2f2f;
}

.z-tools-port-consent {
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.64rem .7rem;
  border:1px solid rgb(var(--color-primary-rgb) / .16);
  border-radius:.72rem;
  color:var(--color-primary);
  background:linear-gradient(180deg, rgb(var(--color-background-rgb) / .98), rgb(var(--color-background-rgb) / .86));
  font-size:.82rem;
  line-height:1.34;
  font-weight:750;
}

.z-tools-port-consent input {
  flex:0 0 auto;
  width:1.05rem;
  height:1.05rem;
  margin:.08rem 0 0;
  accent-color:var(--color-primary);
}

.z-tools-port-result {
  display:grid;
  gap:.6rem;
}

.z-tools-port-summary {
  color:var(--color-primary);
}

.z-tools-port-results {
  display:grid;
  gap:.36rem;
}

.z-tools-port-row {
  display:grid;
  grid-template-columns:minmax(5.2rem, .68fr) minmax(0, 1fr);
  gap:.5rem;
  align-items:start;
  padding:.45rem .5rem;
  border:1px solid rgb(var(--color-primary-rgb) / .11);
  border-radius:.55rem;
  background:rgba(255,255,255,.72);
}

.z-tools-port-row span {
  color:var(--color-primary);
  font-weight:850;
}

.z-tools-port-row strong {
  color:var(--color-primary);
  font-weight:760;
}

.z-tools-port-row--open {
  border-color:rgba(55,170,112,.28);
  background:rgba(238,252,244,.92);
}

.z-tools-port-row--open strong {
  color:#1f7a50;
}

.z-tools-port-row--timeout,
.z-tools-port-row--blocked {
  border-color:rgba(239,174,67,.28);
  background:rgba(255,249,235,.92);
}

.z-tools-port-row--closed {
  border-color:rgb(var(--color-accent-rgb) / .28);
}

.z-tools-data-list {
  display:grid;
  gap:.05rem;
}

.z-tools-data-row,
.z-tools-status-row {
  display:grid;
  grid-template-columns:minmax(10rem, .62fr) minmax(0, 1fr);
  gap:1rem;
  padding:.78rem 0;
  border-top:1px solid rgb(var(--color-primary-rgb) / .12);
}

.z-tools-data-row:first-child,
.z-tools-status-row:first-of-type {
  border-top:0;
}

.z-tools-data-row span,
.z-tools-status-row span {
  color:var(--color-primary);
  font-weight:850;
}

.z-tools-data-row strong,
.z-tools-status-row strong {
  min-width:0;
  color:var(--color-primary);
  font-weight:650;
  overflow-wrap:anywhere;
}

.z-tools-wide-card {
  margin-top:1.1rem;
}

.z-tools-fingerprint-score {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:1rem;
  min-height:13rem;
  background:linear-gradient(135deg, rgb(var(--color-background-rgb) / .97), rgba(255,255,255,.98) 58%, rgba(255,249,235,.94));
}

.z-tools-fingerprint-score span {
  color:var(--color-secondary);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.z-tools-fingerprint-score strong {
  color:var(--color-primary);
  font-size:clamp(1.55rem, 2.4vw, 2.45rem);
  line-height:1.1;
  font-weight:950;
  overflow-wrap:anywhere;
}

.z-tools-speed-card {
  display:grid;
  grid-template-columns:minmax(14rem, .45fr) minmax(12rem, auto) minmax(0, 1fr);
  gap:1.25rem;
  align-items:center;
}

.z-tools-speed-meter {
  min-height:10rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:1.15rem;
  border-radius:50%;
  aspect-ratio:1 / 1;
  color:var(--color-primary);
  background:
    radial-gradient(circle at center, rgba(255,255,255,.98) 0 52%, rgb(var(--color-background-rgb) / .96) 53% 66%, rgb(var(--color-primary-rgb) / .16) 67% 68%, rgba(255,255,255,.96) 69% 100%);
  box-shadow:inset 0 0 0 1px rgb(var(--color-primary-rgb) / .1), 0 1rem 2.2rem rgb(var(--color-primary-rgb) / .08);
  text-align:center;
}

.z-tools-speed-meter span {
  font-size:clamp(1.45rem, 2vw, 2.1rem);
  line-height:1.06;
  font-weight:950;
}

.z-tools-speed-meter small {
  max-width:10rem;
  color:var(--color-secondary);
  font-size:.82rem;
  line-height:1.3;
  font-weight:700;
}

@media (max-width:1100px) {
  .z-tools-tabs,
  .z-tools-test-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .z-tools-data-grid,
  .z-tools-fingerprint-grid,
  .z-tools-speed-card {
    grid-template-columns:1fr;
  }

  .z-tools-speed-meter {
    width:min(16rem, 100%);
    margin:0 auto;
  }
}

@media (max-width:640px) {
  .z-tools-privacy-suite {
    margin-top:2.35rem;
  }

  .z-tools-tabs,
  .z-tools-test-grid {
    grid-template-columns:1fr;
    gap:.65rem;
  }

  .z-tools-tab {
    min-height:3.35rem;
    font-size:1.12rem;
    border:1px solid rgb(var(--color-primary-rgb) / .16);
    border-bottom-width:3px;
    border-radius:.75rem;
    background:rgba(255,255,255,.84);
  }

  .z-tools-panels {
    padding:.85rem;
    border-radius:.85rem;
  }

  .z-tools-panel-copy,
  .z-tools-data-card,
  .z-tools-test-card,
  .z-tools-fingerprint-score,
  .z-tools-speed-card {
    border-radius:.8rem;
  }

  .z-tools-data-row,
  .z-tools-status-row {
    grid-template-columns:1fr;
    gap:.22rem;
  }
}

/* === V12 permanent 120% Tools button sizing === */
.tools-popular__card small {
  min-height:2.4rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.38rem .84rem;
  font-size:1.02rem;
  line-height:1.12;
  white-space:normal;
}

.tools-filter__button {
  min-height:3.18rem !important;
  padding:.66rem 1.14rem !important;
  font-size:clamp(1.12rem, 1.2em, 1.56rem) !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}

.tool-card__link,
.tool-submit,
.tool-link-button,
.tool-next-steps__links a {
  min-height:clamp(3.72rem, 3.05vw, 4.8rem) !important;
  padding:clamp(.94rem, .9vw, 1.2rem) clamp(1.32rem, 1.25vw, 1.8rem) !important;
  font-size:clamp(1.34rem, 1.18vw, 1.64rem) !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
  max-width:100% !important;
}

.z-tools-tab {
  min-height:5.04rem !important;
  padding:.9rem .96rem 1.14rem !important;
  font-size:clamp(1.3rem, 1.86vw, 2.1rem) !important;
  line-height:1.12 !important;
  overflow-wrap:anywhere !important;
}

.z-tools-action {
  min-height:2.94rem !important;
  padding:.58rem 1.5rem !important;
  font-size:1.2em !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}

.z-tools-action--large {
  min-height:3.6rem !important;
  padding:.78rem 1.8rem !important;
}

@media (max-width:640px) {
  .tools-filter__button {
    flex:1 1 calc(50% - .45rem) !important;
    min-width:0 !important;
    padding:.72rem .7rem !important;
    font-size:clamp(1.18rem, 3.85vw, 1.54rem) !important;
  }

  .z-tools-tab {
    min-height:4.02rem !important;
    font-size:clamp(1.24rem, 4vw, 1.48rem) !important;
  }
}

@media (max-width:380px) {
  .tools-filter__button {
    flex-basis:100% !important;
  }
}
/* === Brand palette enforcement for tools === */
.tools-hero,
.tool-page-hero,
.tools-popular,
.tool-result,
.tool-disclaimer,
.tool-browser-note {
  background: var(--color-background) !important;
  border-color: var(--color-accent) !important;
}

.tools-kicker,
.tools-hero h1,
.tool-page-hero h1,
.tools-section-heading h2,
.tools-popular__card span,
.tools-popular__card strong,
.tool-card__category,
.tool-card h2,
.tool-panel h2,
.tool-result h2,
.tool-result h3,
.tool-next-steps h3,
.tool-link-list a {
  color: var(--color-primary) !important;
}

.tools-filter__button.is-active,
.tools-popular__card small,
.tool-card__link,
.tool-submit,
.tool-link-button,
.tool-next-steps__links a:hover,
.tool-next-steps__links a:focus-visible {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #fff !important;
}

.tools-filter__button.is-active:hover,
.tool-card__link:hover,
.tool-submit:hover,
.tool-link-button:hover {
  background: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
}

.tools-filter__button,
.tools-popular__card,
.tool-card,
.tool-panel,
.tool-info-box,
.tool-next-steps__links a {
  border-color: var(--color-accent) !important;
}

/* === Compact tool card actions === */
.page-tools-index .tool-card .tool-card__link,
.page-tools-index .tool-card .tool-card__related {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  width:auto !important;
  min-width:auto !important;
  max-width:100% !important;
  min-height:3.2rem !important;
  margin-top:.78rem !important;
  padding:.58rem 1.28rem !important;
  border-radius:999px !important;
  font-size:1.22rem !important;
  font-weight:700 !important;
  line-height:1.12 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-shadow:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-shadow:none !important;
}

.page-tools-index .tool-card .tool-card__link {
  background:var(--color-primary) !important;
  border:1px solid var(--color-primary) !important;
  color:#fff !important;
}

.page-tools-index .tool-card .tool-card__related {
  background:#fff !important;
  border:1px solid var(--color-primary) !important;
  color:var(--color-primary) !important;
}

.page-tools-index .tool-card .tool-card__link:hover,
.page-tools-index .tool-card .tool-card__link:focus-visible {
  background:var(--color-primary-hover) !important;
  border-color:var(--color-primary-hover) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

.page-tools-index .tool-card .tool-card__related:hover,
.page-tools-index .tool-card .tool-card__related:focus-visible {
  background:var(--color-background) !important;
  border-color:var(--color-primary) !important;
  color:var(--color-primary) !important;
  transform:translateY(-1px) !important;
}

/* === V20 responsive tools index width and card readability === */
.page-tools-index .tools-main > .container {
  width:min(100% - 4rem, 156rem) !important;
  max-width:156rem !important;
}

.page-tools-index .tools-grid {
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 32rem), 1fr)) !important;
  align-items:stretch !important;
}

.page-tools-index .tool-card {
  min-width:0 !important;
  min-height:clamp(30rem, 24vw, 38rem) !important;
}

.page-tools-index .tool-card__category,
.page-tools-index .tool-card h2,
.page-tools-index .tool-card > p:first-of-type {
  max-width:calc(100% - var(--tool-thumb-w) - var(--tool-thumb-gap) - 1rem) !important;
}

@media (min-width:1280px) {
  .page-tools-index .tools-grid {
    gap:clamp(1.6rem, 1.45vw, 2.4rem) !important;
  }
}

@media (min-width:1500px) {
  .page-tools-index .tools-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width:951px) and (max-width:1279px) {
  .page-tools-index .tools-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:980px) {
  .page-tools-index .tools-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:620px) {
  .page-tools-index .tools-main > .container {
    width:min(100% - 2rem, 100%) !important;
  }

  .page-tools-index .tools-grid {
    grid-template-columns:1fr !important;
  }

  .page-tools-index .tool-card {
    min-height:0 !important;
  }
}
