/*
 * Unlimited Wash Club page + the shared plan builder (#plans, .pl-plans-*).
 * front-page.php enqueues this file as well, because Home renders the same plan builder.
 * Design: design-source/Unlimited.dc.html. Tokens and shared classes: assets/css/platinum.css.
 */

/* ======================================================================= plan builder (Home + Unlimited) */
.pl-plans-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }
.pl-plans-eyebrow { margin: 0 0 10px; }
.pl-plans-head .pl-h2 { margin: 0; }
.pl-plans-billing { grid-template-columns: 1fr 1fr; min-width: min(100%, 280px); }
.pl-plans-billing button { min-height: 40px; color: var(--pl-navy); }
/* Home: Single wash · Monthly · Annual. Equal thirds; on a phone the labels may take two lines rather than overflow. */
.pl-plans-billing--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: min(100%, 420px); }
.pl-plans-billing--3 button { padding: 4px 8px; }

.pl-plans-promo { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 16px 20px; border-radius: 14px; background: var(--pl-navy); color: #fff; }
.pl-plans-promo__main { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.pl-plans-promo__tag { font-family: var(--pl-mono); font-size: 11px; letter-spacing: .08em; padding: 4px 10px; border-radius: 999px; background: var(--pl-cyan); color: var(--pl-navy-deep); font-weight: 500; }
.pl-plans-promo__text { font-size: 18px; font-weight: 600; letter-spacing: -0.015em; }
.pl-plans-promo__fine { font-size: 13px; color: var(--pl-on-dark-2); }

/* Plan buttons: the table header (wide) and the 2x2 cards (narrow) share one look. */
.pl-plans-tier { display: block; width: 100%; text-align: left; padding: 16px; border-radius: 12px; border: 1.5px solid var(--pl-line); background: var(--pl-surface); color: var(--pl-navy); font: inherit; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.pl-plans-tier:hover { border-color: var(--pl-line-strong); }
.pl-plans-tier[aria-pressed="true"] { background: var(--pl-navy); border-color: var(--pl-navy); color: #fff; }
.pl-plans-tier__name { display: block; font-size: 15px; font-weight: 600; }
.pl-plans-tier__price { display: block; margin-top: 8px; font-size: 30px; font-weight: 600; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.pl-plans-tier__per { font-size: 13px; font-weight: 500; letter-spacing: 0; }
.pl-plans-tier__reg { display: block; font-size: 12px; opacity: .75; }
.pl-plans-tier--card { padding: 14px; border-radius: 14px; }
.pl-plans-tier--card .pl-plans-tier__price { margin-top: 6px; font-size: 28px; }

/* Compare table. The selected column is highlighted from the table's data-sel (bound to the view model's `tier`);
   one rule per tier key -- add a line here if a tier is ever added to platinum_tiers(). */
.pl-plans-table-wrap { margin-top: 12px; overflow-x: auto; border: 1px solid var(--pl-line); border-radius: 18px; }
.pl-plans-table { width: 100%; min-width: 640px; border-collapse: collapse; }
.pl-plans-table__corner { width: 28%; }
.pl-plans-table thead th { padding: 8px; vertical-align: top; font-weight: inherit; }
.pl-plans-table tbody tr { border-top: 1px solid var(--pl-line-soft); }
.pl-plans-table tbody th { padding: 12px 20px; font-size: 15px; font-weight: 400; color: var(--pl-body); text-align: left; }
.pl-plans-table td[data-tier] { padding: 12px; text-align: center; font-weight: 700; color: #B4BECA; transition: background .2s, color .2s; }
.pl-plans-table td[data-on] { color: var(--pl-navy); }
.pl-plans-table[data-sel="basic"]  td[data-tier="basic"],
.pl-plans-table[data-sel="good"]   td[data-tier="good"],
.pl-plans-table[data-sel="better"] td[data-tier="better"],
.pl-plans-table[data-sel="best"]   td[data-tier="best"] { background: var(--pl-tint-sel); }
.pl-plans-table[data-sel="basic"]  td[data-tier="basic"][data-on],
.pl-plans-table[data-sel="good"]   td[data-tier="good"][data-on],
.pl-plans-table[data-sel="better"] td[data-tier="better"][data-on],
.pl-plans-table[data-sel="best"]   td[data-tier="best"][data-on] { color: var(--pl-blue); }

.pl-plans-narrow { margin-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.pl-plans-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pl-plans-incl { padding: 18px; border-radius: 14px; border: 1px solid var(--pl-line); background: var(--pl-surface); }
.pl-plans-incl__title { margin: 0 0 12px; font-family: var(--pl-mono); font-size: 11px; letter-spacing: .08em; color: var(--pl-blue); }
.pl-plans-incl__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.pl-plans-incl__list li { display: flex; gap: 8px; font-size: 14px; line-height: 1.3; color: #8A96A6; }
.pl-plans-incl__mark { width: 14px; flex: none; font-weight: 700; color: #B4BECA; }
.pl-plans-incl__list li[data-on] { color: var(--pl-ink); }
.pl-plans-incl__list li[data-on] .pl-plans-incl__mark { color: var(--pl-blue); }

.pl-plans-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 16px; align-items: start; }

/* Savings calculator */
.pl-plans-calc { padding: clamp(22px, 3vw, 32px); border-radius: 18px; border: 1px solid var(--pl-line); background: var(--pl-bg); }
.pl-plans-calc__eyebrow { margin: 0; letter-spacing: 0; }
.pl-plans-calc__count { display: flex; justify-content: space-between; align-items: baseline; margin-top: 18px; }
.pl-plans-calc__count label { font-size: 15px; color: var(--pl-body); }
.pl-plans-calc__n { font-size: 30px; font-weight: 600; letter-spacing: -0.03em; color: var(--pl-navy); }
.pl-plans-range { display: block; width: 100%; height: 28px; margin: 0; accent-color: var(--pl-blue); cursor: pointer; }
.pl-plans-bars { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
.pl-plans-bar__head { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; margin-bottom: 8px; }
.pl-plans-bar__label { color: var(--pl-muted); }
.pl-plans-bar__label--member { font-weight: 600; color: var(--pl-navy); }
.pl-plans-bar__val { font-weight: 600; font-family: var(--pl-mono); white-space: nowrap; }
.pl-plans-bar__val--member { color: var(--pl-blue); }
.pl-plans-bar { height: 12px; border-radius: 999px; background: var(--pl-line-soft); overflow: hidden; }
.pl-plans-bar__fill { height: 100%; border-radius: 999px; background: #8A96A6; transition: width .45s cubic-bezier(.2, .8, .2, 1); }
.pl-plans-bar__fill--member { background: var(--pl-blue); }
.pl-plans-calc__savings { margin: 20px 0 0; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; color: var(--pl-navy); }
.pl-plans-calc__per { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pl-line); }
.pl-plans-calc__per-amt { font-size: 40px; font-weight: 600; letter-spacing: -0.04em; color: var(--pl-blue); }
.pl-plans-calc__per-text { font-size: 15px; color: var(--pl-body); }

/* Receipt */
.pl-plans-receipt { padding: clamp(22px, 3vw, 32px); border-radius: 18px; border: 1px solid var(--pl-line); background: var(--pl-surface); box-shadow: 0 24px 48px -32px rgba(11, 20, 36, .25); }
.pl-plans-receipt__eyebrow { margin: 0; font-family: var(--pl-mono); font-size: 12px; color: var(--pl-muted); }
.pl-plans-receipt__title { margin: 6px 0 14px; font-size: 28px; font-weight: 600; letter-spacing: -0.035em; color: var(--pl-navy); }
.pl-plans-line { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 12px 0; border-top: 1px dashed var(--pl-line-strong); }
.pl-plans-line[hidden] { display: none; }
.pl-plans-line--vehicles { align-items: center; }
.pl-plans-line__label { margin: 0; font-size: 15px; font-weight: 600; }
.pl-plans-line__sub { margin: 2px 0 0; font-size: 13px; color: var(--pl-muted); }
.pl-plans-line__value { margin: 0; font-family: var(--pl-mono); font-size: 14px; font-weight: 500; white-space: nowrap; }
.pl-plans-stepper { display: flex; align-items: center; gap: 8px; flex: none; }
.pl-plans-stepper__btn { width: 44px; height: 44px; padding: 0; border-radius: 10px; border: 1px solid var(--pl-line-strong); background: var(--pl-surface); color: var(--pl-navy); font: inherit; font-size: 18px; cursor: pointer; }
.pl-plans-stepper__btn:hover:not(:disabled) { border-color: var(--pl-navy); }
.pl-plans-stepper__btn:disabled { opacity: .35; cursor: default; }
.pl-plans-stepper__n { min-width: 24px; text-align: center; font-size: 20px; font-weight: 600; }
.pl-plans-due { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-top: 14px; border-top: 1.5px solid var(--pl-navy); }
.pl-plans-due__label { margin: 0; font-size: 16px; font-weight: 600; }
.pl-plans-due__amt { margin: 0; font-size: 38px; font-weight: 600; letter-spacing: -0.04em; color: var(--pl-navy); font-variant-numeric: tabular-nums; }
.pl-plans-cta { margin-top: 16px; min-height: 56px; font-size: 17px; transition: background .2s, transform .15s; }
.pl-plans-cta:active { transform: scale(.99); }
.pl-plans-note { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--pl-muted); text-align: center; }
.pl-plans-terms { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--pl-line); color: var(--pl-navy); }
.pl-plans-terms summary { display: flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 600; cursor: pointer; }
.pl-plans-terms ul { margin: 12px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.6; color: var(--pl-muted); display: flex; flex-direction: column; gap: 6px; }
.pl-plans-member { margin: 12px 0 0; font-size: 14px; color: var(--pl-muted); }

/* ======================================================================= Unlimited page */

/* Hero: the members lane (assets/js/tunnel.js, lane mode). A navy band; the scene's canvas fills the stage on the right
   (below the copy on phones). No JS or reduced motion: no .is-live, so the photo shows in the stage instead. */
.pl-unl-lane { position: relative; overflow: hidden; color: #FFFFFF;
  background: radial-gradient(90% 80% at 72% 42%, #163A6E 0%, #0A1F44 48%, #06142E 100%); }
.pl-unl-lane::before { content: ""; position: absolute; inset: 0; pointer-events: none;      /* a faint scan grid, like the tunnel's */
  background: linear-gradient(rgba(127, 227, 245, .045) 1px, transparent 1px) 0 0 / 100% 44px; }
.pl-unl-lane__in { position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(20px, 3vw, 48px); align-items: center;
  min-height: min(720px, calc(100svh - var(--pl-header-h))); padding-top: clamp(36px, 5vw, 72px); padding-bottom: clamp(36px, 5vw, 72px); }
.pl-unl-lane__eyebrow { margin: 0; font: 500 12px/1 var(--pl-mono); letter-spacing: .14em; color: #7FE3F5; }
.pl-unl-lane__h1 { margin: 16px 0 0; font-size: clamp(48px, 6.2vw, 92px); line-height: .92; font-weight: 700; letter-spacing: -.05em; color: #FFFFFF; }
.pl-unl-lane__promo { margin: 20px 0 0; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; font-weight: 600; color: #FFFFFF; }
.pl-unl-lane__lede { margin: 8px 0 0; font-size: 16px; line-height: 1.55; color: rgba(214, 228, 248, .8); max-width: 46ch; }
.pl-unl-lane__pick { display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; margin-top: 26px; padding: 4px;
  border: 1px solid rgba(127, 227, 245, .28); border-radius: 14px; background: rgba(255, 255, 255, .06); }
.pl-unl-lane__tier { min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: none; color: rgba(214, 228, 248, .85);
  font: 600 15px var(--pl-font); letter-spacing: -.01em; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.pl-unl-lane__tier:hover { color: #FFFFFF; background: rgba(255, 255, 255, .08); }
.pl-unl-lane__tier[aria-pressed="true"] { background: #FFFFFF; color: var(--pl-navy); box-shadow: 0 8px 22px -10px rgba(127, 227, 245, .9); }
.pl-unl-lane__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 18px 0 0; }
.pl-unl-lane__amt { font-size: clamp(42px, 4.2vw, 60px); line-height: 1; font-weight: 700; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.pl-unl-lane__note { font-size: 15px; line-height: 1.4; color: rgba(214, 228, 248, .8); }
.pl-unl-lane__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.pl-unl-lane__ghost { border: 1px solid rgba(255, 255, 255, .34); background: transparent; color: #FFFFFF; }
.pl-unl-lane__ghost:hover { border-color: #FFFFFF; background: rgba(255, 255, 255, .08); color: #FFFFFF; }

.pl-unl-lane__stage { position: relative; align-self: stretch; min-height: clamp(360px, 42vw, 600px); margin-right: calc(-1 * var(--pl-gutter)); }
.pl-unl-lane__photo { position: absolute; inset: 0 var(--pl-gutter) 0 0; border-radius: 22px; overflow: hidden; background: #12305F; }
.pl-unl-lane__photo .pl-photo { height: 100%; }
.pl-unl-lane__cv { display: none; position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .2s linear;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 92%, transparent), linear-gradient(180deg, transparent 0, #000 9%, #000 90%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 92%, transparent), linear-gradient(180deg, transparent 0, #000 9%, #000 90%, transparent);
  mask-composite: intersect; }
.pl-unl-lane.is-live .pl-unl-lane__cv { display: block; }
.pl-unl-lane.is-live .pl-unl-lane__photo { display: none; }

/* the read, over the plate: positioned by the script, the box sits above the point on a short leader */
.pl-unl-lane__hud { position: absolute; left: 0; top: 0; z-index: 2; pointer-events: none; opacity: 0; transition: opacity .25s; }
.pl-unl-lane__hud.is-on { opacity: 1; }
.pl-unl-lane__hud-box { position: absolute; left: 0; bottom: 26px; transform: translateX(-50%); display: grid; gap: 2px; padding: 9px 13px; white-space: nowrap;
  border: 1px solid rgba(127, 227, 245, .7); border-radius: 10px; background: rgba(6, 20, 46, .78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 0 24px -6px rgba(60, 203, 234, .8); transition: border-color .25s, box-shadow .25s; }
.pl-unl-lane__hud-box::after { content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 22px; background: linear-gradient(rgba(127, 227, 245, .9), rgba(127, 227, 245, 0)); }
.pl-unl-lane__hud-1 { font: 500 11px/1.2 var(--pl-mono); letter-spacing: .12em; text-transform: uppercase; color: #7FE3F5; }
.pl-unl-lane__hud-2 { font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: #FFFFFF; }
.pl-unl-lane__hud.is-ok .pl-unl-lane__hud-box { border-color: rgba(120, 236, 150, .85); box-shadow: 0 0 24px -6px rgba(120, 236, 150, .8); }
.pl-unl-lane__hud.is-ok .pl-unl-lane__hud-1 { color: #78EC96; }
.pl-unl-lane__hud.is-ok .pl-unl-lane__hud-box::after { background: linear-gradient(rgba(120, 236, 150, .9), rgba(120, 236, 150, 0)); }

/* the stage at the car while it rides: what this plan gets, and what it doesn't */
.pl-unl-lane__chip { position: absolute; z-index: 2; left: 8%; bottom: 7%; margin: 0; padding: 8px 14px; border-radius: 999px; pointer-events: none;
  border: 1px solid rgba(127, 227, 245, .6); background: rgba(6, 20, 46, .72); font: 500 13px/1.2 var(--pl-mono); letter-spacing: .04em; color: #FFFFFF;
  opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; }
.pl-unl-lane__chip.is-on { opacity: 1; transform: none; }
.pl-unl-lane__chip.is-off { border-color: rgba(150, 160, 175, .45); color: rgba(200, 210, 225, .7); }


@media (max-width: 899.98px) {
  .pl-unl-lane__in { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-bottom: 0; gap: 8px; }
  .pl-unl-lane__pick { display: grid; width: 100%; }
  .pl-unl-lane__tier { padding: 0 8px; }
  .pl-unl-lane__stage { min-height: 0; height: clamp(300px, 82vw, 420px); margin: 0 calc(-1 * var(--pl-gutter)); }
  .pl-unl-lane__photo { inset: 12px var(--pl-gutter) 24px; }
  .pl-unl-lane__chip { left: var(--pl-gutter); bottom: 18px; }
  .pl-unl-lane__hud-2 { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .pl-unl-lane__tier, .pl-unl-lane__hud, .pl-unl-lane__chip, .pl-unl-lane__cv { transition: none; } }

.pl-unl-how { padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(48px, 6vw, 72px); }
.pl-unl-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 40px; }
.pl-unl-head .pl-eyebrow, .pl-unl-faq__side .pl-eyebrow { margin: 0; }
.pl-unl-h2 { margin: 12px 0 0; font-size: clamp(36px, 4vw, 56px); line-height: .95; font-weight: 700; letter-spacing: -0.05em; color: var(--pl-navy); }
.pl-unl-head__text { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pl-muted); max-width: 38ch; }
.pl-unl-steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.pl-unl-step { background: var(--pl-surface); border: 1px solid var(--pl-line); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
.pl-unl-step__photo { position: relative; height: 200px; background: #DCE4EE; }
.pl-unl-step__body { padding: 22px 24px 26px; display: flex; gap: 16px; align-items: flex-start; }
.pl-unl-step__n { font-size: 56px; line-height: .8; font-weight: 700; letter-spacing: -0.06em; color: var(--pl-blue); }
.pl-unl-step__title { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -0.02em; color: var(--pl-navy); }
.pl-unl-step__text { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--pl-muted); }

.pl-unl-plate { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(24px, 4vw, 56px); align-items: center; padding: clamp(24px, 4vw, 44px); border-radius: 20px; background: var(--pl-ice); }
.pl-unl-plate__art { display: flex; justify-content: center; }
.pl-unl-plate__card { width: 100%; max-width: 360px; aspect-ratio: 2 / 1; border-radius: 16px; background: var(--pl-surface); border: 3px solid var(--pl-navy); box-shadow: 0 18px 40px -20px rgba(10, 31, 68, .45); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; position: relative; }
.pl-unl-plate__state { font-family: var(--pl-mono); font-size: 12px; letter-spacing: .3em; color: var(--pl-blue); }
.pl-unl-plate__num { font-family: var(--pl-mono); font-size: clamp(40px, 5vw, 56px); font-weight: 500; letter-spacing: .06em; color: var(--pl-navy); }
.pl-unl-plate__read { position: absolute; top: 10px; right: 12px; display: flex; align-items: center; gap: 6px; font-family: var(--pl-mono); font-size: 10px; color: var(--pl-green); }
.pl-unl-plate__title { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.025em; color: var(--pl-navy); }
.pl-unl-plate__lede { margin: 6px 0 0; font-size: 15px; color: var(--pl-body); }
.pl-unl-plate__list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pl-unl-plate__list li { display: flex; gap: 14px; align-items: flex-start; }
.pl-unl-plate__x { width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--pl-surface); border: 1px solid #C5D6E3; color: var(--pl-red); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pl-unl-plate__name { display: block; font-size: 16px; font-weight: 600; color: var(--pl-navy); }
.pl-unl-plate__why { display: block; margin-top: 2px; font-size: 14px; line-height: 1.5; color: var(--pl-body); }

.pl-unl-free { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 20px 24px; border-radius: 20px; border: 1px solid var(--pl-line); background: var(--pl-surface); }
.pl-unl-free__title { margin: 0; font-size: 16px; font-weight: 600; color: var(--pl-navy); }
.pl-unl-free__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.pl-unl-free__list li { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--pl-body); }
.pl-unl-free__list li span { color: var(--pl-blue); font-weight: 700; }

/* FAQ */
.pl-unl-faq { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(64px, 8vw, 104px); display: flex; flex-wrap: wrap; gap: 32px clamp(32px, 5vw, 72px); align-items: flex-start; }
.pl-unl-faq__side { flex: 1 1 300px; }
@media (min-width: 980px) { .pl-unl-faq__side { position: sticky; top: 88px; } }
.pl-unl-faq__lede { margin: 16px 0 0; font-size: 16px; line-height: 1.55; color: var(--pl-muted); max-width: 34ch; }
.pl-unl-faq__help { margin-top: 24px; padding: 20px; border-radius: 16px; background: var(--pl-navy); color: #fff; display: flex; flex-direction: column; gap: 12px; max-width: 380px; }
.pl-unl-faq__help-title { margin: 0; font-size: 16px; font-weight: 600; }
.pl-unl-faq__btn { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding: 0 16px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .3); color: #fff; font-weight: 600; font-size: 15px; text-decoration: none; }
.pl-unl-faq__btn:hover { border-color: #fff; color: #fff; text-decoration: none; }
.pl-unl-faq__btn--white { background: #fff; border-color: #fff; color: var(--pl-navy); }
.pl-unl-faq__btn--white:hover { background: var(--pl-ice); border-color: var(--pl-ice); color: var(--pl-navy); }
.pl-unl-faq__list { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.pl-unl-faq__item { background: var(--pl-surface); border: 1px solid var(--pl-line); border-radius: 14px; padding: 0 22px; transition: border-color .2s; }
.pl-unl-faq__item:hover { border-color: #C5CFDA; }
.pl-unl-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; font-size: 17px; font-weight: 600; letter-spacing: -0.015em; color: var(--pl-navy); list-style: none; cursor: pointer; }
.pl-unl-faq__item summary::-webkit-details-marker { display: none; }
.pl-unl-faq__q { display: flex; align-items: center; gap: 14px; }
.pl-unl-faq__n { font-family: var(--pl-mono); font-size: 12px; color: #8A96A6; font-weight: 400; letter-spacing: 0; }
.pl-unl-faq__icon { width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--pl-tint-sel); color: var(--pl-blue); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 400; }
.pl-unl-faq__icon::before { content: "+"; }
.pl-unl-faq__item[open] .pl-unl-faq__icon::before { content: "−"; }
.pl-unl-faq__item p { margin: 0 0 20px 34px; font-size: 16px; line-height: 1.6; color: var(--pl-muted); max-width: 60ch; }

/* Try before you join */
.pl-unl-try { background: var(--pl-navy); color: #fff; overflow: hidden; border: 0; }
.pl-unl-try__in { padding-block: clamp(56px, 7vw, 96px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 5vw, 72px); align-items: center; }
.pl-unl-try__eyebrow { margin: 0; font-family: var(--pl-mono); font-size: 12px; letter-spacing: .08em; color: var(--pl-cyan-ink); }
.pl-unl-try__h { margin: 16px 0 0; font-size: clamp(40px, 5vw, 68px); line-height: .95; font-weight: 700; letter-spacing: -0.05em; color: #fff; text-wrap: balance; }
.pl-unl-try__lede { margin: 18px 0 0; font-size: 18px; line-height: 1.55; color: var(--pl-on-dark-2); max-width: 40ch; }
.pl-unl-try__steps { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pl-unl-try__steps li { display: flex; gap: 14px; align-items: center; font-size: 16px; }
.pl-unl-try__n { width: 32px; height: 32px; flex: none; border-radius: 50%; border: 1px solid rgba(127, 227, 245, .5); color: var(--pl-cyan-ink); font-family: var(--pl-mono); font-size: 13px; display: flex; align-items: center; justify-content: center; }
.pl-unl-voucher { justify-self: center; width: 100%; max-width: 440px; transform: rotate(-2deg); }
.pl-unl-voucher__card { position: relative; background: #fff; color: var(--pl-navy); border-radius: 22px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .45); }
.pl-unl-voucher__top { padding: 28px 28px 24px; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.pl-unl-voucher__label { margin: 0; font-family: var(--pl-mono); font-size: 11px; letter-spacing: .1em; color: var(--pl-muted); }
.pl-unl-voucher__big { margin: 10px 0 0; font-size: clamp(44px, 5vw, 60px); line-height: .9; font-weight: 700; letter-spacing: -0.05em; }
.pl-unl-voucher__logo { width: 64px; height: auto; flex: none; }
.pl-unl-voucher__perf { position: relative; height: 0; border-top: 2px dashed var(--pl-line-strong); margin: 0 22px; }
.pl-unl-voucher__perf::before, .pl-unl-voucher__perf::after { content: ""; position: absolute; top: -14px; width: 28px; height: 28px; border-radius: 50%; background: var(--pl-navy); }
.pl-unl-voucher__perf::before { left: -36px; }
.pl-unl-voucher__perf::after { right: -36px; }
.pl-unl-voucher__bottom { padding: 22px 28px 28px; }
.pl-unl-voucher__bottom p { margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--pl-muted); }
.pl-unl-voucher__cta { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; border-radius: 12px; background: var(--pl-blue); color: #fff; font-weight: 600; font-size: 17px; text-decoration: none; transition: background .2s, transform .15s; }
.pl-unl-voucher__cta:hover { background: var(--pl-blue-hover); color: #fff; text-decoration: none; }
.pl-unl-voucher__cta:active { transform: scale(.98); }

@media (prefers-reduced-motion: reduce) {
  .pl-plans-bar__fill, .pl-plans-tier, .pl-plans-table td[data-tier], .pl-plans-cta, .pl-unl-voucher__cta { transition: none; }
}

/* Home's Single wash view: the first-visit offer under the price switch */
.pl-plans-firstfree[hidden] { display: none; }
.pl-plans-firstfree { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 16px; padding: 14px 18px; border-radius: 14px;
  background: var(--pl-tint); color: var(--pl-navy); font-weight: 600; }
.pl-plans-firstfree__tag { font: 600 11px/1 var(--pl-mono); letter-spacing: .12em; color: var(--pl-blue); }
.pl-plans-firstfree .pl-arrow-link { margin-left: auto; }

.pl-plans-promo__clock { flex-basis: 100%; margin: 0; color: #FFFFFF; }
.pl-unl-lane__clock { display: flex; color: #FFFFFF; }
.pl-unl-lane__limited { font-weight: 500; color: var(--pl-on-dark-2); }

/* The promo pill above the hero headline */
.pl-unl-lane__deal { display: inline-flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 6px 16px 6px 6px; border-radius: 999px;
  border: 1px solid rgba(127, 227, 245, .45); background: rgba(127, 227, 245, .1); color: #FFFFFF; font-size: clamp(14px, 1.2vw, 16px); font-weight: 600; text-decoration: none; }
.pl-unl-lane__deal:hover { border-color: #7FE3F5; color: #FFFFFF; text-decoration: none; }
.pl-unl-lane__deal-tag { flex: none; padding: 4px 9px; border-radius: 999px; background: #7FE3F5; color: var(--pl-navy-deep); font: 600 11px/1.2 var(--pl-mono); letter-spacing: .06em; }
.pl-unl-lane__deal + .pl-unl-lane__clock { margin-top: 10px; }

/* "Just one wash?" panel under the hero buttons */
.pl-unl-lane__one { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 20px; max-width: 560px;
  padding: 14px 14px 14px 18px; border-radius: 16px; border: 1px solid rgba(127, 227, 245, .3); background: rgba(255, 255, 255, .05); }
.pl-unl-lane__one-copy p { margin: 0; }
.pl-unl-lane__one-k { font: 600 11px/1.2 var(--pl-mono); letter-spacing: .1em; color: #7FE3F5; }
.pl-unl-lane__one-t { margin-top: 4px !important; font-size: 15px; color: var(--pl-on-dark); }
.pl-unl-lane__one-t strong { color: #FFFFFF; font-size: 17px; }
.pl-unl-lane__one-go { flex: none; min-height: 44px; padding-inline: 16px; border: 1px solid rgba(255, 255, 255, .5); background: transparent; color: #FFFFFF; font-size: 14px; }
.pl-unl-lane__one-go:hover { background: #FFFFFF; color: var(--pl-navy); border-color: #FFFFFF; }
@media (max-width: 759.98px) { .pl-unl-lane__one-go { width: 100%; justify-content: center; } }

/* The hero's plan tabs carry their price under the name (2026-10-14), and the promo's one-line reason sits under its pill */
.pl-unl-lane__tier { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-height: 52px; padding-block: 6px; }
.pl-unl-lane__tier-name { line-height: 1.15; }
.pl-unl-lane__tier-price { font: 500 12px/1.2 var(--pl-mono); letter-spacing: 0; opacity: .85; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-unl-lane__why { margin: 10px 0 0; font-size: 15px; line-height: 1.45; color: rgba(214, 228, 248, .86); max-width: 46ch; }
.pl-unl-lane__why + .pl-unl-lane__clock { margin-top: 10px; }
@media (max-width: 899.98px) { .pl-unl-lane__tier { padding-inline: 4px; } .pl-unl-lane__tier-price { font-size: 11px; } }   /* "$43.33/mo" (Annual) fits a quarter of a 375 px phone */

/* Ready to join (page-unlimited-carwash-club.php $ready; Ryan, 2026-10-16): arrivals from an Unlimited ad or the lead form
   get the offer, the plan tabs, the price and Join in the first screen. The selling copy and the single-wash aside go. */
.pl-unl-lane--ready .pl-unl-lane__why,
.pl-unl-lane--ready .pl-unl-lane__joins,
.pl-unl-lane--ready .pl-unl-lane__lede,
.pl-unl-lane--ready .pl-unl-lane__one { display: none; }
.pl-unl-lane--ready .pl-unl-lane__h1 { font-size: clamp(40px, 5vw, 72px); }
@media (max-width: 979.98px) {
  .pl-unl-lane--ready .pl-unl-lane__eyebrow { display: none; }
  .pl-unl-lane--ready .pl-unl-lane__h1 { margin-top: 12px; font-size: 40px; }
}

/* Ready to join, what the picked plan includes + the terms (2026-10-16 UX pass) */
.pl-unl-ready { margin-top: 18px; max-width: 560px; }
.pl-unl-ready__inc { display: none; margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 20px; }
.pl-unl-lane--ready[data-tier="basic"] .pl-unl-ready__inc[data-for="basic"],
.pl-unl-lane--ready[data-tier="good"] .pl-unl-ready__inc[data-for="good"],
.pl-unl-lane--ready[data-tier="better"] .pl-unl-ready__inc[data-for="better"],
.pl-unl-lane--ready[data-tier="best"] .pl-unl-ready__inc[data-for="best"],
.pl-unl-lane--ready:has([data-tun-tier="basic"][aria-pressed="true"]) .pl-unl-ready__inc[data-for="basic"],
.pl-unl-lane--ready:has([data-tun-tier="good"][aria-pressed="true"]) .pl-unl-ready__inc[data-for="good"],
.pl-unl-lane--ready:has([data-tun-tier="better"][aria-pressed="true"]) .pl-unl-ready__inc[data-for="better"],
.pl-unl-lane--ready:has([data-tun-tier="best"][aria-pressed="true"]) .pl-unl-ready__inc[data-for="best"] { display: block; }
.pl-unl-ready__inc li { break-inside: avoid; padding: 3px 0 3px 22px; position: relative; font-size: 15px; line-height: 1.35; color: rgba(232, 240, 252, .92); }
.pl-unl-ready__inc li::before { content: '✓'; position: absolute; left: 0; top: 3px; color: var(--pl-cyan, #3CCBEA); font-weight: 700; }
.pl-unl-ready__terms { margin: 14px 0 0; font-size: 14px; line-height: 1.45; color: rgba(214, 228, 248, .8); }
@media (max-width: 979.98px) {
  /* thumb reach: the one action they came for spans the screen */
  .pl-unl-lane--ready .pl-unl-lane__join { flex: 1 1 100%; justify-content: center; min-height: 54px; font-size: 17px; }
  .pl-unl-lane--ready .pl-unl-lane__ghost { flex: 1 1 100%; justify-content: center; }
}
