/* ==========================================================
   DNSSEC .CA Insights article
   Shared editorial styles above handle typography, width,
   feature image, TOC, article tables and mobile layout.
   Only article-specific visuals below.
   ========================================================== */
.insight-post--dnssec-ca .insight-article-body code,
.insight-post--dnssec-ca .insight-post-lead code {
  font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
  font-size: .88em; color: #202b37; overflow-wrap: anywhere;
}
.insight-post--dnssec-ca .insight-dnssec-small {
  color: #4b5563; font-size: 13px; line-height: 1.7;
}
.insight-post--dnssec-ca .insight-dnssec-facts {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px; margin:24px 0 22px;
}
.insight-post--dnssec-ca .insight-dnssec-fact {
  min-width:0; padding:20px; border:1px solid #e1e4e9;
  background:#fff; box-shadow:0 9px 22px -18px rgba(18,30,47,.19); border-radius:8px;
}
.insight-post--dnssec-ca .insight-dnssec-fact > span {
  display:block; margin:0 0 9px; color:#343a44; font-size:12px;
  font-weight:650; line-height:1.4;
}
.insight-post--dnssec-ca .insight-dnssec-fact > strong {
  display:block; margin:0 0 9px; color:#161b22;
  font-size:clamp(27px,3vw,34px); line-height:1.15; font-weight:700;
  letter-spacing:-.045em;
}
.insight-post--dnssec-ca .insight-dnssec-fact p {
  margin:0; font-size:13.5px; line-height:1.65; color:#374151;
}
.insight-post--dnssec-ca .insight-dnssec-trust-list {
  border-top:1px solid #e3e5e8; margin:25px 0 5px;
}
.insight-post--dnssec-ca .insight-dnssec-trust-list > div {
  display:grid; grid-template-columns:40px minmax(0,1fr);
  gap:13px; align-items:start; padding:13px 0; border-bottom:1px solid #e3e5e8;
}
.insight-post--dnssec-ca .insight-dnssec-trust-list span {
  font-size:13px; line-height:1.5; font-weight:800; color:#ad0000;
}
.insight-post--dnssec-ca .insight-dnssec-trust-list p {margin:0;}
.insight-post--dnssec-ca .insight-dnssec-trust-list strong {
  display:block; font-size:15px; line-height:1.45; color:#20252c;
}
.insight-post--dnssec-ca .insight-dnssec-trust-list small {
  display:block; margin-top:2px; color:#656d77; font-size:13px; line-height:1.55;
}
.insight-post--dnssec-ca .blog-inline-diagram {
  margin:30px 0 35px; width:100%; text-align:center;
}
.insight-post--dnssec-ca .blog-inline-diagram img {
  display:block; width:100%; height:auto; border:1px solid #e1e3e6;
  object-fit:contain; background:#fff;
}
.insight-post--dnssec-ca .blog-inline-diagram figcaption {
  margin:10px 0 0; font-size:12px; line-height:1.6;
  text-align:left; color:#7b8088;
}
.insight-post--dnssec-ca .insight-table-wrap {margin:23px 0 29px;}
.insight-post--dnssec-ca .insight-table {table-layout:auto; font-size:13.5px; line-height:1.6;}
.insight-post--dnssec-ca .insight-table th {
  color:#1c2430; background:#f4f5f6; font-weight:700;
}
.insight-post--dnssec-ca .insight-table td {overflow-wrap:anywhere;}
.insight-post--dnssec-ca .insight-table td > strong {display:inline; font-size:inherit; margin:0;}
.insight-post--dnssec-ca .insight-dnssec-priority {
  display:inline-flex; align-items:center; justify-content:center; min-width:62px; white-space:nowrap;
  padding:5px 9px; font-size:11.5px; font-weight:700; line-height:1.35; border-radius:4px;
}
.insight-post--dnssec-ca .insight-dnssec-priority--high {color:#8b0000; background:#fff0f0;}
.insight-post--dnssec-ca .insight-dnssec-priority--medium {color:#6e520c; background:#fff6dd;}
.insight-post--dnssec-ca .insight-dnssec-priority--low {color:#515b69; background:#edf0f3;}
.insight-post--dnssec-ca .insight-dnssec-steps {
  border-top:1px solid #e2e4e8; margin:24px 0 32px;
}
.insight-post--dnssec-ca .insight-dnssec-steps > div {
  display:grid; grid-template-columns:37px minmax(0,1fr);
  gap:12px; padding:17px 0; border-bottom:1px solid #e2e4e8;
}
.insight-post--dnssec-ca .insight-dnssec-steps span {
  color:#ad0000; font-size:13px; font-weight:700; line-height:1.55;
}
.insight-post--dnssec-ca .insight-dnssec-steps h3 {
  margin:0 0 5px; font-size:17px; line-height:1.4; font-weight:700;
}
.insight-post--dnssec-ca .insight-dnssec-steps p {
  margin:0; font-size:15px; line-height:1.68; color:#565d66;
}
.insight-post--dnssec-ca .insight-dnssec-code {
  margin:16px 0; padding:17px 19px 18px;
  border-left:3px solid #ad0000; background:#f5f6f7;
}
.insight-post--dnssec-ca .insight-dnssec-code > span {
  display:block; font-size:12px; line-height:1.5;
  color:#353d48; font-weight:700;
}
.insight-post--dnssec-ca .insight-dnssec-code pre {
  margin:10px 0; padding:10px 12px; max-width:100%; overflow-x:auto;
  background:#202733; color:#fff; font-size:13px;
  line-height:1.55;
}
.insight-post--dnssec-ca .insight-dnssec-code pre code {color:#fff; white-space:pre;}
.insight-post--dnssec-ca .insight-dnssec-code p {
  margin:0; color:#5a616b; font-size:13px; line-height:1.6;
}
.insight-post--dnssec-ca .insight-dnssec-migration-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px; margin:22px 0 26px;
}
.insight-post--dnssec-ca .insight-dnssec-migration-grid > div {
  min-width:0; padding:19px; border:1px solid #e1e4e8; background:#fafafa;
}
.insight-post--dnssec-ca .insight-dnssec-migration-grid h3 {
  margin:0 0 9px; font-size:17px; line-height:1.35; font-weight:700;
  color:#232a34;
}
.insight-post--dnssec-ca .insight-dnssec-migration-grid p {
  margin:0; font-size:14px; line-height:1.7; color:#59616c;
}
.insight-post--dnssec-ca .insight-dnssec-host-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px; margin:24px 0 21px;
}
.insight-post--dnssec-ca .insight-dnssec-host-card {
  min-width:0; display:flex; flex-direction:column; padding:22px 21px 20px;
  border:1px solid #e2e5eb; border-radius:12px; background:#fff;
  box-shadow:0 6px 14px rgba(19,34,55,.045), 0 20px 46px -17px rgba(19,34,55,.18);
  transition:transform .18s ease, box-shadow .18s ease;
}
.insight-post--dnssec-ca .insight-dnssec-host-logo-wrap {
  display:flex; align-items:center; justify-content:center;
  width:100%; min-height:100px; margin:0 0 12px;
}
.insight-post--dnssec-ca .insight-dnssec-host-logo {
  display:block; max-width:190px; max-height:84px;
  width:auto; height:auto; object-fit:contain;
}
.insight-post--dnssec-ca .insight-dnssec-host-card h3 {
  margin:0 0 8px; font-size:19px; line-height:1.3;
  font-weight:700; color:#17202e; text-align:center;
}
.insight-post--dnssec-ca .insight-dnssec-host-blurb {
  margin:0 0 14px; font-size:13.5px; line-height:1.65;
  color:#303a48; text-align:center;
}
.insight-post--dnssec-ca .insight-dnssec-price {
  margin:auto 0 0; font-size:28px; line-height:1.18;
  font-weight:700; letter-spacing:-.035em; color:#121b29;
  text-align:center;
}
.insight-post--dnssec-ca .insight-dnssec-price span {
  display:block; margin:3px 0 0; font-size:12px; font-weight:600;
  line-height:1.45; letter-spacing:normal; color:#69707a;
}
.insight-post--dnssec-ca .insight-dnssec-price--text {font-size:21px;}
.insight-post--dnssec-ca .insight-dnssec-host-meta {
  min-height:37px; margin:11px 0 15px; color:#515b69;
  font-size:12px; line-height:1.55; text-align:center;
}
.insight-post--dnssec-ca .insight-dnssec-host-card a {
  display:flex; align-items:center; justify-content:center;
  width:100%; min-height:43px; padding:9px 12px;
  background:#ad0000; border:1px solid #ad0000; color:#fff;
  font-size:13.5px; line-height:1.3; font-weight:700;
  text-decoration:none;
}
.insight-post--dnssec-ca .insight-dnssec-host-card a:hover {background:#850000; color:#fff;}
.insight-post--dnssec-ca .insight-dnssec-host-card a:focus-visible,
.insight-post--dnssec-ca .insight-article-body a:focus-visible,
.insight-post--dnssec-ca button:focus-visible {outline:2px solid #ad0000; outline-offset:3px;}
@media (min-width:641px) and (max-width:1160px) {
  .insight-post--dnssec-ca .insight-table {min-width:700px;}
}
@media (max-width:640px) {
  .insight-post--dnssec-ca .insight-dnssec-facts,
  .insight-post--dnssec-ca .insight-dnssec-migration-grid,
  .insight-post--dnssec-ca .insight-dnssec-host-grid {grid-template-columns:minmax(0,1fr);}
  .insight-post--dnssec-ca .insight-dnssec-fact {padding:16px;}
  .insight-post--dnssec-ca .insight-dnssec-fact > strong {font-size:27px;}
  .insight-post--dnssec-ca .insight-dnssec-trust-list > div {grid-template-columns:32px minmax(0,1fr);}
  .insight-post--dnssec-ca .insight-dnssec-steps > div {grid-template-columns:30px minmax(0,1fr); gap:8px;}
  .insight-post--dnssec-ca .insight-dnssec-steps h3 {font-size:16px;}
  .insight-post--dnssec-ca .insight-dnssec-steps p {font-size:14px;}
  .insight-post--dnssec-ca .insight-dnssec-code {padding:14px;}
  .insight-post--dnssec-ca .insight-dnssec-migration-grid > div {padding:15px;}
  .insight-post--dnssec-ca .insight-dnssec-host-card {padding:16px;}
  .insight-post--dnssec-ca .insight-dnssec-host-logo-wrap {min-height:100px;}
  .insight-post--dnssec-ca .insight-dnssec-host-logo {max-width:190px; max-height:90px;}
  .insight-post--dnssec-ca .insight-table {min-width:0;}
}



/* Softer editorial weight with stronger ink contrast on all screen sizes. */
.insight-post--dnssec-ca .insight-article-body h2 {color:#172130; font-weight:700;}
.insight-post--dnssec-ca .insight-article-body h3 {color:#202b39; font-weight:700;}

/* DNSSEC article presentation refinements, isolated from other Insights posts. */
.insight-post--dnssec-ca .insight-dnssec-priority-table { table-layout:fixed; }
.insight-post--dnssec-ca .insight-dnssec-priority-table th:first-child { width:38%; }
.insight-post--dnssec-ca .insight-dnssec-priority-table th:nth-child(2) { width:110px; }
.insight-post--dnssec-ca .insight-dnssec-host-card:hover {
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(19,34,55,.07), 0 28px 54px -19px rgba(19,34,55,.22);
}
@media (prefers-reduced-motion:reduce) {
  .insight-post--dnssec-ca .insight-dnssec-host-card {transition:none;}
  .insight-post--dnssec-ca .insight-dnssec-host-card:hover {transform:none;}
}
@media (max-width:640px) {
  .insight-post--dnssec-ca .insight-post-lead {color:#25303e; font-weight:400;}
  .insight-post--dnssec-ca .insight-article-body {color:#27313e; font-weight:400; font-size:16px; line-height:1.75;}
  .insight-post--dnssec-ca .insight-article-body h2 {color:#121c29; font-size:25px; font-weight:700; line-height:1.23; letter-spacing:-.028em;}
  .insight-post--dnssec-ca .insight-article-body h3 {color:#192432; font-size:18px; font-weight:700;}
  .insight-post--dnssec-ca .insight-article-body strong {color:#16212e; font-weight:650;}
  .insight-post--dnssec-ca .insight-dnssec-facts {gap:12px;}
  .insight-post--dnssec-ca .insight-dnssec-fact {padding:18px 17px;}
  .insight-post--dnssec-ca .insight-dnssec-fact > span {font-weight:650; color:#303c4b;}
  .insight-post--dnssec-ca .insight-dnssec-fact > strong {font-size:27px; font-weight:700;}
  .insight-post--dnssec-ca .insight-dnssec-fact p {font-size:14px; color:#303a47;}
  .insight-post--dnssec-ca .insight-table-wrap--stackable {border:0;}
  .insight-post--dnssec-ca .insight-table--stackable tr {
    margin-bottom:13px; border:1px solid #e0e4e9; border-radius:10px;
    box-shadow:0 8px 18px -16px rgba(17,32,52,.19);
  }
  .insight-post--dnssec-ca .insight-table--stackable td {
    display:flex; flex-direction:column; align-items:flex-start; gap:5px;
    grid-template-columns:none; min-width:0; padding:12px 15px;
    color:#263140; font-weight:400; font-size:14px; line-height:1.65;
    border-bottom:1px solid #edf0f3;
  }
  .insight-post--dnssec-ca .insight-table--stackable td:first-child {
    background:#f8f9fb; padding:14px 15px;
    color:#192536; font-size:15px; font-weight:650;
  }
  .insight-post--dnssec-ca .insight-table--stackable td:first-child::before {display:none;}
  .insight-post--dnssec-ca .insight-table--stackable td:first-child strong {font-weight:650;}
  .insight-post--dnssec-ca .insight-table--stackable td::before {
    color:#536173; font-size:10.5px; font-weight:650;
    letter-spacing:.045em; line-height:1.35;
  }
  .insight-post--dnssec-ca .insight-table--stackable td .insight-dnssec-priority {font-size:11.5px;}
  .insight-post--dnssec-ca .insight-dnssec-host-grid {gap:20px; margin-top:22px;}
  .insight-post--dnssec-ca .insight-dnssec-host-card {
    padding:17px 18px 18px; border-radius:12px;
    box-shadow:0 5px 15px rgba(17,32,52,.055), 0 20px 43px -17px rgba(17,32,52,.21);
  }
  .insight-post--dnssec-ca .insight-dnssec-host-logo-wrap {min-height:70px; margin-bottom:7px;}
  .insight-post--dnssec-ca .insight-dnssec-host-logo {max-width:164px; max-height:66px;}
  .insight-post--dnssec-ca .insight-dnssec-host-card h3 {font-size:19px; font-weight:700;}
  .insight-post--dnssec-ca .insight-dnssec-host-blurb {font-size:13.5px; line-height:1.57; color:#283442; margin-bottom:12px;}
  .insight-post--dnssec-ca .insight-dnssec-price {font-size:28px; font-weight:700;}
  .insight-post--dnssec-ca .insight-dnssec-price span {font-size:12px; font-weight:500; color:#4f5c6a;}
  .insight-post--dnssec-ca .insight-dnssec-host-meta {font-size:12.5px; color:#4e5967;}
  .insight-post--dnssec-ca .insight-dnssec-host-card a {min-height:45px; font-size:14px; font-weight:700; border-radius:6px;}
}
