/* goasto.com/bill-pay/ only: the few rules product.css doesn't have. */
.bp-mark { width: 30px; height: 30px; color: var(--teal); }

/* hero: the office's customer list behind, the customer's pay page in front */
.bp-hero-art { height: 640px; }
.bp-art-desk { position: absolute; left: -40px; top: 92px; width: 480px; z-index: 1; transform: rotate(-2deg); transform-origin: 70% 30%; opacity: .96; }
.bp-hero-art .bp-art-phone { right: 0; top: 0; width: 270px; }

/* meter reading: a drawing of the reader's two facts, the dial and the nearest meters */
.pd-feature.bp-read { grid-template-columns: minmax(0, 1fr) 380px; }
.bp-read-art { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.bp-dial { border-radius: 22px; padding: 26px 24px 22px; background: #0B2726; box-shadow: 0 0 0 1px rgba(79,195,184,.25), 0 40px 70px -30px rgba(0,0,0,.95); }
.bp-dial-meter { font-size: 13px; letter-spacing: .02em; color: rgba(255,255,255,.62); }
.bp-dial-digits { display: flex; gap: 6px; margin-top: 16px; }
.bp-dial-digits span {
  flex: 1; display: grid; place-items: center; height: 58px; border-radius: 8px;
  background: #061716; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  font-size: 30px; font-weight: 600; color: var(--white); font-variant-numeric: tabular-nums;
}
.bp-dial-digits span.z { color: var(--teal); }
.bp-dial-unit { margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.5); text-align: right; }
.bp-near { list-style: none; margin: 0; padding: 6px 0; border-radius: 18px; background: rgba(255,255,255,.04); box-shadow: 0 0 0 1px var(--hairline); }
.bp-near li { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 18px; font-size: 15px; }
.bp-near li + li { border-top: 1px solid var(--hairline); }
.bp-near b { font-weight: 600; font-variant-numeric: tabular-nums; }
.bp-near span { color: var(--white-2); }
.bp-near em { font-style: normal; font-size: 12px; font-weight: 600; color: #0B2726; background: var(--teal); padding: 3px 9px; border-radius: 999px; }
.bp-near li.on { background: rgba(79,195,184,.1); }
.bp-near li.on:first-child { border-radius: 12px 12px 0 0; }

.pd-dev p a { color: var(--teal); border-bottom: 1px solid rgba(79,195,184,.4); }

/* the close */
.bp-close-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 32px; margin-bottom: 8px; }
.pd-close .pd-caption { max-width: 60ch; margin-top: 32px; }

@media (max-width: 1100px) {
  .bp-art-desk { width: 440px; }
  .bp-hero-art .bp-art-phone { width: 240px; }
  .pd-feature.bp-read { grid-template-columns: minmax(0, 1fr) 330px; }
}
@media (max-width: 980px) {
  .bp-hero-art { height: 600px; max-width: 560px; }
  .bp-art-desk { left: 0; width: 420px; }
  .pd-feature.bp-read { grid-template-columns: 1fr; }
  .bp-read-art { width: min(420px, 100%); margin: 0 auto; }
}
@media (max-width: 640px) {
  .bp-mark { width: 24px; height: 24px; }
  .bp-hero-art { height: auto; max-height: none; display: flex; flex-direction: column; align-items: center; }
  .bp-art-desk { position: relative; left: auto; top: auto; width: 100%; transform: none; opacity: 1; }
  .bp-hero-art .bp-art-phone { position: relative; right: auto; top: auto; margin-top: -56px; width: min(240px, 62vw); }
  .bp-dial-digits span { height: 48px; font-size: 24px; }
  .bp-close-links { flex-direction: column; align-items: stretch; }
  .bp-close-links .link-arrow { align-self: center; }
}
