/* Prices remain visible in the page HTML, alongside the service they cover. */
.pricing-strip {
  display:grid;
  grid-template-columns:minmax(210px,.9fr) minmax(0,1.35fr) auto;
  align-items:center;
  gap:24px 36px;
  margin-top:40px;
  padding-top:28px;
  border-top:1px solid var(--ink);
}
.pricing-label { display:block; color:var(--red); font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.pricing-amount { margin:0; font-variant-numeric:tabular-nums; }
.pricing-amount strong { display:block; font-size:clamp(32px,3.6vw,48px); font-weight:500; line-height:1.1; letter-spacing:-.045em; }
.pricing-amount span { display:block; color:var(--muted); font-size:14px; line-height:1.5; margin-top:6px; }
.pricing-strip .pricing-summary { margin:0; font-size:16px; line-height:1.6; max-width:50ch; }
.pricing-strip .text-link { font-size:14px; gap:14px; }
.pricing-strip-custom .pricing-amount strong { font-size:clamp(26px,2.6vw,36px); }
.pricing-promise { margin:24px 0 0; padding-left:16px; border-left:2px solid var(--red); font-size:16px; }
.pricing-promise strong { display:block; }
.pricing-inline { margin:20px 0; font-size:15px; font-weight:600; line-height:1.5; color:var(--red); }
.pricing-inline a { display:inline-block; padding-block:9px; }
.pricing-inline span { margin-left:8px; }
.pricing-overview { background:var(--sage); }
.pricing-overview .service-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:36px; }
.pricing-overview h2 { margin-bottom:0; }
.pricing-overview .service-intro p:last-child { margin-bottom:0; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ink); margin-top:32px; }
.pricing-card { min-width:0; padding:28px 26px; border-bottom:1px solid var(--rule); }
.pricing-card:nth-child(3n+1) { padding-left:0; }
.pricing-card:nth-child(3n) { padding-right:0; }
.pricing-card:not(:nth-child(3n+1)) { border-left:1px solid var(--rule); }
.pricing-card h3 { font-size:25px; line-height:1.2; margin:0 0 18px; }
.pricing-card p:not(.pricing-amount) { font-size:15px; line-height:1.6; margin:18px 0 0; }
.pricing-card ul { font-size:16px; line-height:1.6; padding-left:20px; margin-block:24px; }
.pricing-card li { margin-bottom:10px; }
.pricing-card .text-link { font-size:14px; margin-top:16px; }
.pricing-grid + .pricing-card { margin-top:28px; padding-inline:0; border-left:0; }
.plans-page .plan-inclusions h4 { font-size:17px; margin:0 0 14px; }
.plans-page .plan-inclusions p { font-size:15px; margin-bottom:16px; }
.pricing-note { font-size:14px; color:var(--muted); margin-top:24px; }
.service-directory .service-rate { display:block; margin-top:12px; color:var(--red); font-size:14px; font-weight:600; line-height:1.6; }
.pricing-quick-links { display:flex; flex-wrap:wrap; gap:0 24px; padding-block:16px; margin-top:26px; border-block:1px solid var(--rule); }
.pricing-quick-links a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; }
.custom-pricing-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; margin:32px 0; border-top:1px solid var(--rule); }
.custom-pricing-list a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; padding:16px 0; border-bottom:1px solid var(--rule); text-decoration:none; font-size:17px; }
.custom-pricing-list li:nth-child(odd) { padding-right:40px; }
.custom-pricing-list a:hover { color:var(--red); }
.web-rates > h3 { font-size:26px; padding-top:24px; }

@media(max-width:1100px) {
  .pricing-strip { grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr); gap:18px 30px; }
  .pricing-strip > .text-link { grid-column:2; justify-self:start; }
}
@media(max-width:800px) {
  .pricing-overview .service-intro { grid-template-columns:1fr; gap:24px; }
  .pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pricing-card:nth-child(n) { padding:26px 20px; border-left:0; }
  .pricing-card:nth-child(odd) { padding-left:0; }
  .pricing-card:nth-child(even) { padding-right:0; border-left:1px solid var(--rule); }
  .custom-pricing-list { grid-template-columns:1fr; }
  .custom-pricing-list li:nth-child(n) { padding-right:0; }
}
@media(max-width:580px) {
  .pricing-strip { grid-template-columns:1fr; gap:20px; margin-top:30px; padding-top:24px; }
  .pricing-strip > .text-link { grid-column:auto; }
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card:nth-child(n) { padding:26px 0; border-left:0; }
}
