/* Pricing design versions /pricing-a, -b, -c (v4 preview, Alex 2026-10-22). Loaded after oc.css and v4-nav.css.
   v2 tokens only: black, white, soft grey, gold accent (#B08D3E on dark, #7A5F24 gold-ink on light for 4.5:1),
   Georgia headings, Arial body, one 4px radius, one 3px focus ring. Motion 180 to 240ms, off under reduced motion.
   Patterns rebuilt from MIT blocks (Bundui pricing 01 + CTA, beUI Bouncy Accordion, useLayouts pricing card); see scripts/pricing_variants.py. */
.pv{--gold-ink:#7A5F24;--dark:#111111;--dark-line:#3A3A3A;--on-dark:#D9D9D9}
.pv main{overflow-x:clip}
.pv h2{margin:0 0 20px;font-size:clamp(30px,3.4vw,44px);line-height:1.12;letter-spacing:-.02em;max-width:24ch}
.pv h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:24px;line-height:1.25;margin:0 0 8px}
.pv h4{margin:0 0 4px;font:700 18px/1.35 Arial,Helvetica,sans-serif;color:inherit}
.pv main p{font-size:18px;line-height:1.6;max-width:65ch;margin:0 0 16px}
.pv figure{margin:0}
.pv img{border-radius:4px}
.pv-center{text-align:center;margin-inline:auto!important}
.pv-intro{color:var(--on-dark);margin-bottom:40px!important}
.pv-intro-l{color:var(--muted)}
.pv-band{padding-block:88px}
.pv-light{background:#fff}
.pv-soft{background:var(--soft)}
.pv-dark{background:var(--dark);color:#fff}
.pv-dark h2,.pv-dark h3{color:#fff}
.pv-dark p{color:var(--on-dark)}
.pv-dark a:not([class]),.pv-cta-dark a:not([class]){color:#fff!important;text-decoration-color:var(--gold)}
.pv-dark a:focus-visible,.pv-cta-dark a:focus-visible,.pv-dark button:focus-visible{outline-color:#fff}
.pv-small{font-size:14px!important;color:#5A5A5A;margin-top:16px!important}
.pv-dark .pv-small{color:#BDBDBD}
.pv-ic{flex:0 0 28px;width:28px;height:28px;color:var(--gold-ink)}
.pv-dark .pv-ic,.pv-page-dark .pv-ic{color:var(--gold)}
/* buttons */
.pv-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0!important}
.pv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:4px;font:700 16px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease}
.pv-btn-gold{background:var(--gold);color:#111;border:2px solid var(--gold)}
.pv-btn-gold:hover{background:#C4A257;border-color:#C4A257}
.pv-btn-line{color:#fff;border:2px solid #fff;background:rgba(17,17,17,.35)}
.pv-btn-line:hover{background:#fff;color:#111}
.pv-btn-line-ink{color:#111;border-color:#111;background:transparent}
.pv-btn-line-ink:hover{background:#111;color:#fff}
.pv-btn:active{transform:translateY(1px)}
/* shared lists */
.pv-items{list-style:none;margin:24px 0 0;padding:0}
.pv-items li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.pv-items li:first-child{border-top:0;padding-top:4px}
.pv-items p{font-size:16px!important;margin:0!important;color:var(--muted)}
.pv-items-tight li{padding:12px 0}
.pv-checks{list-style:none;margin:20px 0 0;padding:0}
.pv-checks li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:18px;line-height:1.5}
.pv-checks .pv-ic{flex-basis:24px;width:24px;height:24px;margin-top:1px}
.pv-more{margin-top:24px!important}
.pv-more a{font-weight:700}
/* ---------------- A: editorial ---------------- */
.pv-hero-a{position:relative;display:grid;align-items:end;min-height:min(calc(100svh - 72px),780px);background:#111;color:#fff;isolation:isolate}
.pv-hero-media{position:absolute;inset:0;z-index:-1}
.pv-hero-media img{width:100%;height:100%;object-fit:cover;border-radius:0}
.pv-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(17,17,17,.92) 0%,rgba(17,17,17,.72) 38%,rgba(17,17,17,.15) 75%,rgba(17,17,17,0) 100%)}
.pv-hero-copy{padding-block:96px 72px}
.pv-hero-a h1,.pv-hero-b h1,.pv-hero-c h1{margin:0 0 16px;font-size:clamp(40px,5vw,64px);line-height:1.08;letter-spacing:-.02em;max-width:21ch}
.pv-hero-a h1,.pv-hero-b h1{color:#fff}
.pv .pv-sub{font-size:clamp(19px,1.6vw,22px);line-height:1.5;max-width:44ch}
.pv-hero-a .pv-sub,.pv-hero-b .pv-sub{color:#F2F2F2}
.pv-a-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.pv-a-intro-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pv-a-intro-photo figcaption{margin-top:16px;padding-top:12px;border-top:2px solid var(--gold);font-size:16px;line-height:1.5;color:var(--ink)}
.pv-facing{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.pv-page figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.pv-page-body{padding:36px 40px 40px}
.pv-page h3{font-size:30px}
.pv-page .pv-page-lede{font-size:18px!important;color:var(--muted)}
.pv-page-dark{background:#111;color:#fff}
.pv-page-dark h3{color:#fff}
.pv-page-dark .pv-page-lede,.pv-page-dark .pv-items p{color:var(--on-dark)!important}
.pv-page-dark .pv-items li{border-top-color:var(--dark-line)}
.pv-pull{margin:48px auto 0!important;max-width:60ch!important;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:22px!important;line-height:1.5!important;color:#111}
.pv-a-inc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.pv-a-inc-photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
/* CTA band (Bundui two-column CTA with image, restyled) */
.pv-cta{padding-block:88px}
.pv-cta-dark{background:#111;color:#fff}
.pv-cta-dark h2{color:#fff}
.pv-cta-dark p{color:var(--on-dark)}
.pv-cta-gold{background:var(--gold);color:#111}
.pv-cta-gold h2,.pv-cta-gold p{color:#111}
.pv-cta-gold a:not([class]){color:#111!important;text-decoration-color:#111}
.pv-cta-gold .pv-btn-gold{background:#111;color:#fff;border-color:#111}
.pv-cta-gold .pv-btn-gold:hover{background:#333;border-color:#333}
.pv-cta-gold a:focus-visible{outline-color:#111}
.pv-cta-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.pv-cta-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pv-cta p a{font-weight:700;white-space:nowrap}
/* ---------------- B: price builder ---------------- */
.pv-hero-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(calc(100svh - 72px),720px);background:#111}
.pv-hero-b-copy{display:flex;align-items:center;padding:72px clamp(24px,5vw,80px)}
.pv-hero-b h1{font-size:clamp(40px,4.2vw,56px)}
.pv-hero-b-media img{width:100%;height:100%;object-fit:cover;border-radius:0}
.pv-b-quote{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:start}
.pv-note{font-size:16px!important;color:var(--ink);padding-top:12px;border-top:2px solid var(--gold);margin-top:24px!important}
.pv-quote{background:#111;color:#fff;border-radius:4px;border-top:4px solid var(--gold);padding:36px}
.pv-quote h3{font-size:30px;color:#fff;margin-bottom:12px}
.pv .pv-quote-lede{font-family:Georgia,'Times New Roman',serif;font-size:22px!important;line-height:1.4!important;color:#fff;margin:0 0 8px!important}
.pv-quote dl{margin:0}
.pv-quote dl div{padding:20px 0;border-top:1px solid var(--dark-line)}
.pv-quote dt{font:700 20px/1.3 Arial,Helvetica,sans-serif;color:var(--gold)}
.pv-quote dd{margin:6px 0 0;font-size:16px;line-height:1.6;color:var(--on-dark)}
.pv .pv-quote-foot{margin:4px 0 0!important;padding-top:16px;border-top:1px solid var(--gold);font-size:16px!important;color:#fff}
.pv-loads{display:grid;grid-template-columns:1.3fr 2fr 2.7fr;gap:24px;list-style:none;margin:40px 0 0;padding:0;align-items:stretch}
.pv-loads li{padding:28px;background:#fff;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;justify-content:flex-end}
.pv-dumpsters{display:block;width:100%;height:auto;margin-bottom:20px}
.pv-loads-1 .pv-dumpsters{max-width:160px}.pv-loads-2 .pv-dumpsters{max-width:310px}.pv-loads-3 .pv-dumpsters{max-width:460px}
.pv-bin{fill:none;stroke:#111;stroke-width:3;stroke-linejoin:round}
.pv-load{fill:var(--gold)}
.pv-wheel{fill:#111}
.pv-loads p{font-size:16px!important;color:var(--muted);margin:0!important}
.pv-scale{max-width:1000px;margin:0 auto}
.pv-beam-wrap{max-width:600px;margin:0 auto 32px}
.pv-beam{display:block;width:100%;height:auto;overflow:visible}
.pv-beam line{stroke:var(--gold);stroke-width:4;stroke-linecap:round}
.pv-beam .pv-pan{stroke-width:8}
.pv-beam-arm path{fill:none;stroke:#9A9A9A;stroke-width:2}
.pv-post{fill:#2A2A2A;stroke:#9A9A9A;stroke-width:2}
.pv-pivot{fill:var(--gold)}
.pv-beam-arm{transform-box:view-box;transform-origin:300px 40px;transform:rotate(8deg);transition:transform 240ms ease}
.pv-scale[data-tilt="1"] .pv-beam-arm{transform:rotate(4deg)}
.pv-scale[data-tilt="2"] .pv-beam-arm{transform:rotate(0deg)}
.pv-scale[data-tilt="3"] .pv-beam-arm{transform:rotate(-4deg)}
.pv-scale[data-tilt="4"] .pv-beam-arm{transform:rotate(-8deg)}
.pv-sides{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.pv-side h3{font-size:28px;margin-bottom:16px}
.pv-side-list{list-style:none;margin:0;padding:0}
.pv-side-list li{padding:12px 0;border-top:1px solid var(--dark-line)}
.pv-side-list p{font-size:16px!important;margin:8px 0 0!important}
.pv-chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:1px solid #6B6B6B;border-radius:4px;background:transparent;color:#fff;font:700 17px/1.2 Arial,Helvetica,sans-serif;text-align:left;cursor:pointer;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.pv-chip .pv-ic{width:24px;height:24px;flex-basis:24px;color:var(--gold)}
button.pv-chip:hover{border-color:var(--gold)}
button.pv-chip::after{content:"Add";margin-left:8px;padding-left:10px;border-left:1px solid #6B6B6B;font-weight:400;font-size:14px;color:var(--on-dark)}
button.pv-chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#111}
button.pv-chip[aria-pressed="true"] .pv-ic{color:#111}
button.pv-chip[aria-pressed="true"]::after{content:"Added";color:#111;border-left-color:#111}
.pv-chip-static{cursor:default;border-color:transparent;padding-left:0}
.pv-readout{margin:40px auto 0!important;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:24px!important;line-height:1.4!important;color:#fff!important;max-width:40ch!important}
.pv-small.pv-center,.pv-scale .pv-small{text-align:center;margin-inline:auto}
.pv-b-inc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.pv-cols{columns:2;column-gap:40px}
.pv-cols li{break-inside:avoid}
.pv-b-inc-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
/* ---------------- C: process story ---------------- */
.pv-hero-c{background:var(--soft);padding-bottom:56px}
.pv-hero-c-media img{display:block;width:100%;height:clamp(320px,58vh,620px);object-fit:cover;border-radius:0}
.pv-hero-c-card{position:relative;max-width:900px;margin-top:-180px;padding:44px 48px 48px;background:#fff;border-top:4px solid var(--gold);border-radius:4px;box-shadow:0 24px 48px rgba(17,17,17,.16)}
.pv-hero-c-card .pv-sub{color:var(--ink)}
.pv-hero-c-card h1{text-wrap:balance}
.pv-h1-line{display:block}
.pv-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}
.pv-eyebrow::before{content:"";flex:0 0 28px;height:2px;background:var(--gold)}
.pv .pv-flat{font-family:Georgia,'Times New Roman',serif;font-size:22px!important;line-height:1.45!important;color:#111}
.pv-c-intro-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:64px;align-items:center}
.pv .pv-aside{margin:0!important;padding-top:16px;border-top:2px solid var(--gold);font-family:Georgia,'Times New Roman',serif;font-size:24px!important;line-height:1.4!important;color:#111}
.pv-ledger{display:grid;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);gap:32px;align-items:stretch}
/* 4 vs 4 (Alex rule): both columns share one height, rows split evenly */
.pv-ledger-side{display:flex;flex-direction:column}
.pv-ledger-side .pv-ledger-list{flex:1;display:grid;grid-template-rows:repeat(4,1fr)}
.pv-ledger-side h3{font-size:30px;margin-bottom:12px}
.pv-ledger-side:first-child h3{text-align:right}
.pv-ledger-list{list-style:none;margin:0;padding:0}
.pv-ledger-list li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--dark-line)}
.pv-ledger-lowers li{flex-direction:row-reverse;text-align:right}
.pv-ledger-list p{font-size:16px!important;margin:0!important}
.pv-ledger-spine{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}
.pv-ledger-spine::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--gold)}
.pv-ledger-spine span{position:relative;display:flex;align-items:center;justify-content:center;width:160px;height:160px;padding:16px;border:2px solid var(--gold);border-radius:50%;background:#111;color:#fff;text-align:center;font:400 19px/1.3 Georgia,'Times New Roman',serif}
.pv-timeline{position:relative;list-style:none;margin:48px 0 0;padding:0}
.pv-timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--gold)}
.pv-stop{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;padding:28px 0}
.pv-stop::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;border:3px solid var(--gold-ink)}
.pv-stop:nth-child(even) figure{order:2}
.pv-stop figure img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pv-stop h3{font-size:30px}
.pv-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.pv-faq details{border-top:1px solid #BDBDBD}
.pv-faq details:last-child{border-bottom:1px solid #BDBDBD}
.pv-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0;font:700 18px/1.4 Arial,Helvetica,sans-serif;color:#111;cursor:pointer;list-style:none}
.pv-faq summary::-webkit-details-marker{display:none}
.pv-chev{flex:0 0 24px;width:24px;height:24px;color:var(--gold-ink);transition:transform 180ms ease}
.pv-faq details[open] .pv-chev{transform:rotate(180deg)}
.pv-faq details[open] .pv-faq-a{animation:pv-open 180ms ease}
.pv-faq-a p{margin:0 0 20px!important;font-size:17px!important;color:var(--muted)}
@keyframes pv-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* ---------------- responsive ---------------- */
@media (max-width:980px){
  .pv-a-intro,.pv-a-inc,.pv-b-quote,.pv-b-inc,.pv-c-intro-grid,.pv-faq-grid,.pv-cta-grid{grid-template-columns:1fr;gap:40px}
  .pv-facing{grid-template-columns:1fr}
  .pv-hero-b{grid-template-columns:1fr;min-height:0}
  .pv-hero-b-media{order:-1}
  .pv-hero-b-media img{height:320px}
  .pv-a-inc-photo img,.pv-b-inc-photo img{aspect-ratio:16/10}
  .pv-loads{grid-template-columns:1fr}
  .pv-sides{grid-template-columns:1fr;gap:32px}
  .pv-ledger{grid-template-columns:1fr;gap:24px}
  .pv-ledger-side .pv-ledger-list{display:block}
  .pv-ledger-side:first-child h3,.pv-ledger-lowers li{text-align:left}
  .pv-ledger-lowers li{flex-direction:row}
  .pv-ledger-spine{order:0;min-height:0}
  .pv-ledger-spine::before{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;margin:-1px 0 0}
  .pv-ledger-spine span{width:auto;height:auto;padding:12px 20px;border-radius:4px}
}
@media (max-width:767px){
  .pv-band,.pv-cta{padding-block:56px}
  .pv-hero-a{min-height:calc(100svh - 184px)}
  .pv-hero-copy{padding-block:72px 40px}
  .pv-hero-a h1,.pv-hero-b h1,.pv-hero-c h1{font-size:clamp(34px,9vw,44px)}
  .pv-hero-b-copy{padding:40px 20px 48px}
  .pv-hero-b-media img{height:240px}
  .pv-page-body{padding:28px 20px 32px}
  .pv-page h3,.pv-quote h3,.pv-ledger-side h3,.pv-stop h3{font-size:26px}
  .pv-quote{padding:28px 20px}
  .pv-cols{columns:1}
  .pv-pull{font-size:20px!important;text-align:left}
  .pv-hero-c-media img{height:280px}
  .pv-hero-c-card{margin-top:-56px;padding:28px 20px 32px}
  .pv-hero-c{padding-bottom:32px}
  .pv .pv-aside{font-size:20px!important}
  .pv-timeline::before{left:8px}
  .pv-stop{grid-template-columns:1fr;gap:16px;padding:20px 0 20px 36px}
  .pv-stop:nth-child(even) figure{order:0}
  .pv-stop::after{left:8px;top:32px}
  .pv-actions .pv-btn{flex:1 1 100%}
  .pv-loads li{padding:20px}
}
@media (prefers-reduced-motion:reduce){
  .pv-beam-arm,.pv-chip,.pv-btn,.pv-chev{transition:none}
  .pv-faq details[open] .pv-faq-a{animation:none}
}
.pv main p a:not([class]){display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;white-space:nowrap}
