.blog-hero{background:linear-gradient(135deg,#0a1628,#1a2a4a);padding:56px 5% 48px;}
    .blog-category{font-size:11px;color:var(--gold);letter-spacing:4px;text-transform:uppercase;margin-bottom:12px;}
    .blog-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,50px);font-weight:700;color:#fff;line-height:1.2;margin-bottom:16px;max-width:800px;}
    .blog-meta{display:flex;align-items:center;gap:20px;font-size:13px;color:rgba(255,255,255,0.45);flex-wrap:wrap;}
    .blog-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;max-width:1100px;margin:0 auto;padding:56px 5%;}
    .blog-content h2{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:#fff;margin:36px 0 14px;border-left:3px solid var(--gold);padding-left:14px;}
    .blog-content h3{font-size:17px;font-weight:600;color:#fff;margin:22px 0 10px;}
    .blog-content p{font-size:15px;color:rgba(255,255,255,.72);margin-bottom:18px;line-height:1.85;}
    .blog-content ul,.blog-content ol{margin:0 0 18px 22px;}
    .blog-content li{font-size:15px;color:rgba(255,255,255,.72);margin-bottom:8px;line-height:1.7;}
    .blog-content strong{color:#fff;font-weight:600;}
    .callout{background:#f8f4ec;border-left:4px solid var(--gold);padding:20px 24px;margin:28px 0;border-radius:0 4px 4px 0;}
    .callout p{margin:0;font-size:15px;color:#555;}
    table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;}
    th{background:#0a1628;color:#fff;padding:12px 16px;text-align:left;font-weight:600;}
    td{padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.72);}
    tr:nth-child(even) td{background:rgba(255,255,255,.04);}
    .cta-box{background:linear-gradient(135deg,#0a1628,#1a2a4a);border-radius:8px;padding:36px;margin:40px 0;text-align:center;}
    .cta-box h3{font-family:'Cormorant Garamond',serif;font-size:26px;color:#fff;margin-bottom:10px;}
    .cta-box p{font-size:14px;color:rgba(255,255,255,0.6);margin-bottom:24px;}
    .cta-box a{background:var(--gold);color:#0d0d0d;padding:13px 28px;border-radius:4px;font-size:13px;font-weight:700;text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;display:inline-block;}
    .sidebar{position:sticky;top:80px;height:fit-content;}
    .sidebar-cta{background:linear-gradient(135deg,#0a1628,#1a2a4a);border-radius:6px;padding:24px;text-align:center;}
    .sidebar-cta h4{font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;margin-bottom:8px;}
    .sidebar-cta p{font-size:13px;color:rgba(255,255,255,0.55);margin-bottom:16px;line-height:1.6;}
    .sidebar-cta a{background:var(--gold);color:#0d0d0d;padding:11px 20px;border-radius:3px;font-size:12px;font-weight:700;text-decoration:none;display:block;letter-spacing:0.06em;text-transform:uppercase;}
    .sidebar-card{background:#f8f8f8;border-radius:6px;padding:20px;margin-top:20px;}
    .sidebar-card h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#888;margin-bottom:12px;}
    .sidebar-card ul{list-style:none;}
    .sidebar-card li{border-bottom:1px solid #eee;padding:8px 0;}
    .sidebar-card li a{font-size:13px;color:#333;text-decoration:none;}
    .sidebar-card li a:hover{color:var(--blue);}
    
/* WordPress single-post body reset */
body.single-post{background:var(--dark);color:#e8e4dc;}

/* Final article CTA buttons — matches the original HTML conversion. */
.blog-content .btn-primary,
.blog-content a.btn-primary{
  background:var(--gold);
  color:#0d0d0d;
  border:1px solid var(--gold);
  padding:13px 28px;
  border-radius:4px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  transition:background .2s,border-color .2s,transform .15s;
}
.blog-content .btn-primary:hover,
.blog-content a.btn-primary:hover{
  background:var(--gl);
  border-color:var(--gl);
  color:#0d0d0d;
  transform:translateY(-1px);
}
.blog-content .btn-outline,
.blog-content a.btn-outline{
  background:transparent;
  color:#fff;
  border:1px solid #cfcfcf;
  padding:13px 28px;
  border-radius:4px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  transition:background .2s,border-color .2s,color .2s;
}
.blog-content .btn-outline:hover,
.blog-content a.btn-outline:hover{
  background:#111;
  border-color:#111;
  color:#fff;
}
.blog-content > div[style*="display:flex"]{
  align-items:center;
  margin-top:28px !important;
  padding:4px 0 8px;
}
@media(max-width:640px){
  .blog-content > div[style*="display:flex"]{
    flex-direction:column;
    align-items:stretch;
  }
  .blog-content .btn-primary,
  .blog-content .btn-outline{
    width:100%;
    text-align:center;
  }
}

/* v1.0.7: individual article text must remain readable on the original dark article surface. */
.blog-layout{background:var(--dark);color:#e8e4dc;}
.blog-content{color:#e8e4dc;}
.blog-content a:not(.btn-primary):not(.btn-outline){color:var(--gold);}
.blog-content blockquote{color:rgba(255,255,255,.75);border-left:3px solid var(--gold);padding-left:18px;}
.blog-content hr{border:0;border-top:1px solid rgba(255,255,255,.1);}
@media(max-width:900px){.blog-layout{grid-template-columns:1fr;}.sidebar{position:static;}}

/* v1.0.9: mobile article containment / prevent horizontal page movement. */
html, body { max-width:100%; overflow-x:hidden; }
.blog-hero, .blog-layout, .blog-content, .sidebar, .sidebar-card, .sidebar-cta { min-width:0; box-sizing:border-box; }
.blog-content { overflow-wrap:anywhere; word-break:normal; }
.blog-content img, .blog-content video, .blog-content iframe, .blog-content svg, .blog-content canvas { max-width:100% !important; height:auto; }
.blog-content pre { max-width:100%; overflow-x:auto; box-sizing:border-box; }
.blog-content table { max-width:100%; }
.blog-content .table-wrap, .blog-content .table-responsive { max-width:100%; overflow-x:auto; }
@media (max-width:900px){
  .blog-layout { width:100%; max-width:100%; grid-template-columns:minmax(0,1fr); padding-left:20px; padding-right:20px; }
  .blog-content { width:100%; max-width:100%; }
  .sidebar { width:100%; max-width:100%; }
}
@media (max-width:640px){
  .blog-hero { width:100%; max-width:100%; padding-left:20px; padding-right:20px; overflow:hidden; }
  .blog-hero h1 { max-width:100%; overflow-wrap:anywhere; }
  .blog-meta { max-width:100%; }
  .blog-content > * { max-width:100%; box-sizing:border-box; }
  .blog-content table { display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .blog-content td, .blog-content th { white-space:normal; }
  .blog-content a { overflow-wrap:anywhere; }
}

/* v1.0.10: force CTA text visibility on individual WordPress blog posts.
   Some imported post/content styles can override anchor text color. */
.kh-blog-single .blog-content .cta-box a,
.kh-blog-single .blog-content .cta-box a:link,
.kh-blog-single .blog-content .cta-box a:visited,
.kh-blog-single .blog-content .cta-box a:hover,
.kh-blog-single .blog-content .cta-box a:focus,
.kh-blog-single .blog-content .cta-box a:active {
  background: var(--gold) !important;
  color: #0d0d0d !important;
  -webkit-text-fill-color: #0d0d0d !important;
  text-decoration: none !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  font-family: inherit;
  text-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  box-sizing: border-box;
}

/* Also cover CTA links when the imported HTML uses a button class instead of .cta-box. */
.kh-blog-single .blog-content a.btn,
.kh-blog-single .blog-content a.btn-primary,
.kh-blog-single .blog-content a.btn-g {
  color: #0d0d0d !important;
  -webkit-text-fill-color: #0d0d0d !important;
}

@media (max-width: 640px) {
  .kh-blog-single,
  .kh-blog-single .blog-layout,
  .kh-blog-single .blog-content,
  .kh-blog-single .cta-box,
  .kh-blog-single .sidebar,
  .kh-blog-single .sidebar-cta,
  .kh-blog-single .sidebar-card {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .kh-blog-single .cta-box {
    margin-left: 0;
    margin-right: 0;
    padding: 28px 20px;
    overflow-wrap: anywhere;
  }
  .kh-blog-single .cta-box a {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}


/* v1.0.11: imported HTML blog posts already contain their complete hero/layout/sidebar.
   Render them as-is instead of wrapping them in a second blog layout. */
.kh-imported-blog-post {
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  padding:0;
  color:#e8e4dc;
  overflow-wrap:anywhere;
}
.kh-imported-blog-post .blog-hero,
.kh-imported-blog-post .blog-layout {
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.kh-imported-blog-post .blog-layout {
  background:var(--dark);
}
.kh-imported-blog-post .blog-content {
  color:#e8e4dc;
}
/* Cream callouts must use dark text, including bold labels. */
.kh-imported-blog-post .callout,
.kh-imported-blog-post .callout p,
.kh-imported-blog-post .callout strong {
  color:#555 !important;
}
.kh-imported-blog-post .callout strong {
  font-weight:700;
}
/* CTA: guarantee visible dark text on the gold button in every state. */
.kh-imported-blog-post .cta-box a,
.kh-imported-blog-post .cta-box a:link,
.kh-imported-blog-post .cta-box a:visited,
.kh-imported-blog-post .cta-box a:hover,
.kh-imported-blog-post .cta-box a:focus,
.kh-imported-blog-post .cta-box a:active {
  background:var(--gold) !important;
  color:#0d0d0d !important;
  -webkit-text-fill-color:#0d0d0d !important;
  text-decoration:none !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:700 !important;
  text-shadow:none !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  box-sizing:border-box;
  position:relative;
  z-index:2;
}
.kh-imported-blog-post .cta-box a::before,
.kh-imported-blog-post .cta-box a::after {
  color:#0d0d0d !important;
}
@media(max-width:900px){
  .kh-imported-blog-post .blog-layout {
    grid-template-columns:minmax(0,1fr);
    padding-left:20px;
    padding-right:20px;
  }
  .kh-imported-blog-post .sidebar {
    width:100%;
    max-width:100%;
    position:static;
  }
}
@media(max-width:640px){
  .kh-imported-blog-post .blog-hero {
    padding-left:20px;
    padding-right:20px;
    overflow:hidden;
  }
  .kh-imported-blog-post .blog-layout {
    width:100%;
    max-width:100%;
    padding-left:20px;
    padding-right:20px;
  }
  .kh-imported-blog-post .cta-box {
    margin-left:0;
    margin-right:0;
    padding:28px 20px;
    max-width:100%;
    overflow:hidden;
  }
  .kh-imported-blog-post .cta-box a {
    width:auto;
    max-width:100%;
    white-space:normal;
    text-align:center;
  }
}

/* v1.0.12: final visual parity for imported individual blog posts.
   Keep article typography/colors independent from theme/global link rules. */
.kh-imported-blog-post .blog-content,
.kh-imported-blog-post .blog-content p,
.kh-imported-blog-post .blog-content li,
.kh-imported-blog-post .blog-content td,
.kh-imported-blog-post .blog-content th,
.kh-imported-blog-post .blog-content h2,
.kh-imported-blog-post .blog-content h3,
.kh-imported-blog-post .blog-content strong {
  -webkit-text-fill-color: currentColor;
}
.kh-imported-blog-post .blog-content p,
.kh-imported-blog-post .blog-content li,
.kh-imported-blog-post .blog-content td {
  color:rgba(255,255,255,.72) !important;
}
.kh-imported-blog-post .blog-content h2,
.kh-imported-blog-post .blog-content h3,
.kh-imported-blog-post .blog-content strong {
  color:#fff !important;
}
.kh-imported-blog-post .callout,
.kh-imported-blog-post .callout p,
.kh-imported-blog-post .callout strong,
.kh-imported-blog-post .callout b {
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
}
.kh-imported-blog-post .cta-box {
  background:linear-gradient(135deg,#0a1628,#1a2a4a) !important;
  color:#fff !important;
}
.kh-imported-blog-post .cta-box h3 {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.kh-imported-blog-post .cta-box p {
  color:rgba(255,255,255,.65) !important;
  -webkit-text-fill-color:rgba(255,255,255,.65) !important;
}
.kh-imported-blog-post .cta-box a,
.kh-imported-blog-post .cta-box a:link,
.kh-imported-blog-post .cta-box a:visited,
.kh-imported-blog-post .cta-box a:hover,
.kh-imported-blog-post .cta-box a:focus,
.kh-imported-blog-post .cta-box a:active {
  position:relative !important;
  background:var(--gold) !important;
  color:#0d0d0d !important;
  -webkit-text-fill-color:#0d0d0d !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-indent:0 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible !important;
  text-decoration:none !important;
}
/* A final pseudo-label guarantees the CTA remains readable if a page/plugin
   applies a conflicting text treatment to the imported anchor text. */
.kh-imported-blog-post .cta-box a::after {
  content:'GET FREE QUOTE →' !important;
  display:inline !important;
  color:#0d0d0d !important;
  -webkit-text-fill-color:#0d0d0d !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  visibility:visible !important;
  white-space:nowrap !important;
}
.kh-imported-blog-post .cta-box a {
  font-size:0 !important;
  min-width:230px !important;
  min-height:48px !important;
  padding:13px 28px !important;
}
.kh-imported-blog-post .cta-box a::before { content:none !important; }
@media(max-width:640px){
  .kh-imported-blog-post .cta-box a {
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }
  .kh-imported-blog-post .cta-box a::after {
    white-space:normal !important;
  }
}



/* v1.0.15: render imported article CTA text as a real span.
   This is intentionally stronger than ::after so WordPress/plugin/global
   anchor rules cannot make the button appear blank. */
.kh-imported-blog-post .cta-box a .kh-cta-label,
.kh-imported-blog-post .cta-box a .kh-cta-label:link,
.kh-imported-blog-post .cta-box a .kh-cta-label:visited,
.kh-imported-blog-post .cta-box a .kh-cta-label:hover,
.kh-imported-blog-post .cta-box a .kh-cta-label:focus,
.kh-imported-blog-post .cta-box a .kh-cta-label:active {
  display:inline-block !important;
  color:#0d0d0d !important;
  -webkit-text-fill-color:#0d0d0d !important;
  background:transparent !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-indent:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  white-space:nowrap !important;
}
.kh-imported-blog-post .cta-box a {
  font-size:13px !important;
  line-height:1.2 !important;
  color:#0d0d0d !important;
  -webkit-text-fill-color:#0d0d0d !important;
}
.kh-imported-blog-post .cta-box a::after { content:none !important; }
@media(max-width:640px){
  .kh-imported-blog-post .cta-box a .kh-cta-label {
    white-space:normal !important;
  }
}
