/* v31R1 visual-only detail-page readability fix.
   No SEO/content/meta/canonical/schema changes. */
.v31-serp-context{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:20px 0 22px;
  padding:34px;
  overflow:hidden;
  border:1px solid rgba(207,176,117,.55);
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%,rgba(213,179,111,.16),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.985) 0%,rgba(250,247,240,.985) 58%,rgba(244,239,229,.98) 100%) !important;
  box-shadow:0 24px 58px rgba(3,18,29,.22), inset 0 1px 0 rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(12px) saturate(112%);
  backdrop-filter:blur(12px) saturate(112%);
  counter-reset:v31-context;
}
.v31-serp-context::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;left:34px;right:34px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,#b98b43 18%,#e0c080 50%,#b98b43 82%,transparent);
  opacity:.86;
}
.v31-serp-context::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:260px;height:260px;
  right:-92px;bottom:-150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(175,137,70,.13),rgba(175,137,70,0) 68%);
  pointer-events:none;
}
.v31-serp-context>h2{
  grid-column:1/-1;
  margin:0 0 4px !important;
  padding:0 0 18px;
  border-bottom:1px solid rgba(185,139,67,.23);
  color:#112c3e !important;
  font-size:clamp(1.48rem,2.1vw,1.92rem) !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
  font-weight:900 !important;
}
.v31-serp-context>h2::before{
  content:"KEY POINTS";
  display:block;
  width:max-content;
  margin:0 0 8px;
  color:#956f36;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.16em;
  font-weight:900;
}
.v31-serp-context>article{
  position:relative;
  min-width:0;
  padding:22px 20px 20px;
  border:1px solid rgba(199,184,155,.62);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(247,244,237,.96));
  box-shadow:0 10px 28px rgba(14,35,48,.075), inset 0 1px 0 rgba(255,255,255,.95);
  counter-increment:v31-context;
}
.v31-serp-context>article::before{
  content:"0" counter(v31-context);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:26px;
  margin-bottom:13px;
  padding:0 8px;
  border:1px solid rgba(176,132,63,.34);
  border-radius:999px;
  background:#f5ecdc;
  color:#815f2c;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.v31-serp-context>article h3{
  margin:0 0 10px !important;
  color:#18384b !important;
  font-size:1.08rem !important;
  line-height:1.48 !important;
  letter-spacing:-.025em !important;
  font-weight:850 !important;
}
.v31-serp-context>article p{
  margin:0 !important;
  color:#435966 !important;
  font-size:.98rem !important;
  line-height:1.82 !important;
  text-shadow:none !important;
}
/* Refine the nearby trust strip so the transition reads as one premium content system. */
.v31-serp-context + .v23-trust-strip{
  gap:12px;
  margin-top:0;
  margin-bottom:22px;
}
.v31-serp-context + .v23-trust-strip div{
  border-color:rgba(205,184,145,.62);
  background:linear-gradient(180deg,#fff,#fbf8f2);
  box-shadow:0 11px 28px rgba(9,28,40,.085);
}
@media(max-width:980px){
  .v31-serp-context{grid-template-columns:1fr;gap:12px;padding:28px;}
  .v31-serp-context>article{padding:20px;}
}
@media(max-width:700px){
  .v31-serp-context{
    margin:16px 0 18px;
    padding:22px 18px;
    border-radius:22px;
    background:linear-gradient(145deg,#fff 0%,#faf7f0 100%) !important;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .v31-serp-context::before{left:18px;right:18px;}
  .v31-serp-context>h2{padding-bottom:15px;font-size:1.38rem !important;}
  .v31-serp-context>article{border-radius:17px;padding:18px;}
  .v31-serp-context>article p{font-size:.96rem !important;line-height:1.78 !important;}
}

/* Fix an older specificity collision: .seo-article .section previously overrode the
   intended dark final CTA background while its text stayed white. Keep the CTA premium
   and readable without changing any copy or links. */
.seo-article .section.v23-final-cta.v29-final-cta{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px 30px !important;
  overflow:hidden;
  padding:30px 32px !important;
  border:1px solid rgba(211,174,105,.38) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(200,154,77,.22),transparent 28%),
    linear-gradient(135deg,#12384f 0%,#071b29 72%) !important;
  box-shadow:0 18px 42px rgba(1,15,25,.28) !important;
  color:#fff !important;
}
.seo-article .section.v23-final-cta.v29-final-cta::before{
  content:"";
  position:absolute;
  top:0;left:30px;right:30px;
  height:2px;
  background:linear-gradient(90deg,transparent,#d4ae6d,transparent);
  opacity:.85;
}
.seo-article .section.v23-final-cta.v29-final-cta h2{
  grid-column:1/2;
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(1.35rem,2vw,1.72rem) !important;
  line-height:1.4 !important;
}
.seo-article .section.v23-final-cta.v29-final-cta p{
  grid-column:1/2;
  margin:0 !important;
  color:#dbe7ed !important;
  line-height:1.75 !important;
}
.seo-article .section.v23-final-cta.v29-final-cta>a{
  grid-column:2/3;
  grid-row:1/3;
  align-self:center;
  min-width:190px;
  padding:14px 18px;
  border:1px solid #d1aa68;
  border-radius:14px;
  background:linear-gradient(180deg,#dfbd7f,#cfa65f);
  color:#102a3a !important;
  text-align:center;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 9px 22px rgba(0,0,0,.18);
}
@media(max-width:760px){
  .seo-article .section.v23-final-cta.v29-final-cta{
    grid-template-columns:1fr !important;
    padding:24px 22px !important;
  }
  .seo-article .section.v23-final-cta.v29-final-cta h2,
  .seo-article .section.v23-final-cta.v29-final-cta p,
  .seo-article .section.v23-final-cta.v29-final-cta>a{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .seo-article .section.v23-final-cta.v29-final-cta>a{width:100%;box-sizing:border-box;}
}
