/* Price board + insurance band (2026-10-24): homepage and the areas-served pages.
   Same navy #002d4f / gold #fcc050 language as the service pages' .pxcost plate. */

/* ---------- PRICE SECTION ---------- */
.pxprice-sec{
  position:relative;
  padding:110px 20px;
  background:linear-gradient(135deg,#f4f7fb 0%,#edf4fb 50%,#f8fbff 100%);
  overflow:clip;
}
.pxprice-sec::before{
  content:'';
  position:absolute;
  width:min(460px,90vw);
  height:460px;
  left:0;
  bottom:-200px;
  border-radius:50%;
  background:rgba(252,192,80,0.16);
  filter:blur(90px);
}
.pxprice-wrap{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:60px;
  align-items:start;
}
.pxprice-copy{
  position:sticky;
  top:120px;
}
.pxprice-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fcc050;
  color:#002d4f;
  font-weight:700;
  font-size:13px;
  padding:9px 18px;
  border-radius:50px;
  margin-bottom:22px;
}
.pxprice-copy h2{
  font-size:42px;
  line-height:1.18;
  color:#002d4f;
  font-weight:800;
  margin:0 0 22px;
}
.pxprice-copy h2 span{
  box-shadow:inset 0 -0.32em 0 rgba(252,192,80,0.55);
}
.pxprice-copy p{
  color:#4a4a4a;
  font-size:16.5px;
  line-height:1.75;
  margin:0 0 16px;
}
.pxprice-copy p.pxprice-intro{
  color:#1f2d3a;
  font-size:18px;
  font-weight:500;
}
.pxprice-copy p a{
  color:#002d4f;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#fcc050;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.pxprice-call{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
  background:#002d4f;
  color:#ffffff;
  font-weight:800;
  font-size:18px;
  padding:16px 28px;
  border-radius:50px;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(0,45,79,0.22);
  transition:transform .3s, background .3s, color .3s;
}
.pxprice-call i{ color:#fcc050; transition:color .3s; }
.pxprice-call:hover{ background:#fcc050; color:#002d4f; transform:translateY(-3px); }
.pxprice-call:hover i{ color:#002d4f; }

/* the board */
.pxprice-board{
  position:relative;
  background:#002d4f;
  border-radius:30px;
  padding:40px 38px 30px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(0,45,79,0.25);
}
.pxprice-board::after{
  content:'';
  position:absolute;
  width:220px;
  height:220px;
  right:-90px;
  bottom:-90px;
  border-radius:50%;
  border:28px solid rgba(252,192,80,0.10);
  pointer-events:none;
}
.pxprice-group{
  position:relative;
  z-index:1;
  color:#fcc050;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:22px 0 6px;
}
.pxprice-group:first-child{ margin-top:0; }
.pxprice-list{
  position:relative;
  z-index:1;
  list-style:none;
  margin:0;
  padding:0;
}
.pxprice-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.pxprice-list:last-child .pxprice-row:last-child{ border-bottom:0; }
.pxprice-name{
  color:#e6eef5;
  font-size:16px;
  font-weight:500;
  line-height:1.45;
}
.pxprice-dots{
  flex:1 1 24px;
  min-width:24px;
  border-bottom:2px dotted rgba(252,192,80,0.35);
  transform:translateY(-5px);
}
.pxprice-val{
  color:#fcc050;
  font-size:18px;
  font-weight:800;
  white-space:nowrap;
  text-align:right;
}
/* "Repair $160+; replacement $195–$1,000+" and the quote-only lines wrap under the name */
.pxprice-row--long{ flex-wrap:wrap; }
.pxprice-row--long .pxprice-dots{ display:none; }
.pxprice-row--long .pxprice-name{ flex:1 1 100%; }
.pxprice-row--long .pxprice-val{ white-space:normal; text-align:left; font-size:16.5px; }

/* ---------- INSURANCE BAND (homepage) ---------- */
.pxins-sec{
  position:relative;
  padding:110px 20px;
  background:#002d4f;
  overflow:clip;
}
.pxins-sec::before{
  content:'';
  position:absolute;
  width:min(520px,90vw);
  height:520px;
  right:0;
  top:-220px;
  border-radius:50%;
  background:rgba(252,192,80,0.12);
  filter:blur(90px);
}
.pxins-wrap{
  position:relative;
  z-index:2;
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
}
.pxins-copy h2{
  font-size:42px;
  line-height:1.18;
  color:#ffffff;
  font-weight:800;
  margin:0 0 22px;
}
.pxins-copy h2 span{ color:#fcc050; }
.pxins-copy p{
  color:#d6e2ec;
  font-size:16.5px;
  line-height:1.75;
  margin:0 0 16px;
}
.pxins-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:10px;
  background:#fcc050;
  color:#002d4f;
  font-weight:800;
  font-size:17px;
  padding:16px 28px;
  border-radius:50px;
  text-decoration:none;
  transition:transform .3s, background .3s;
}
.pxins-btn:hover{ background:#ffffff; transform:translateY(-3px); }
.pxins-faq-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fcc050;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  margin:0 0 14px;
}
.pxins-faq-card{
  background:#ffffff;
  border-radius:24px;
  border-top:5px solid #fcc050;
  padding:34px 32px 20px;
  box-shadow:0 25px 60px rgba(0,0,0,0.25);
}
.pxins-faq-card h3{
  color:#002d4f;
  font-size:22px;
  line-height:1.35;
  font-weight:800;
  margin:0 0 14px;
}
.pxins-faq-card p{
  color:#4a4a4a;
  font-size:16px;
  line-height:1.75;
  margin:0 0 14px;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:991px){
  .pxprice-wrap,
  .pxins-wrap{ grid-template-columns:1fr; gap:40px; }
  .pxprice-copy{ position:static; }
}
@media(max-width:768px){
  .pxprice-sec,
  .pxins-sec{ padding:80px 18px; }
  .pxprice-copy h2,
  .pxins-copy h2{ font-size:32px; }
  .pxprice-board{ padding:30px 22px 22px; border-radius:24px; }
  .pxins-faq-card{ padding:28px 22px 14px; }
  .pxprice-call,
  .pxins-btn{ font-size:16px; padding:15px 24px; }
}
