/* ============================================================
   PositioningCraft.com — stylesheet
   "Brutalist editorial" — warm newsprint, near-black ink, one
   acid-lime accent, heavy hairline-black rules forming an
   exposed grid, oversized Archivo display + Space Mono meta,
   hard-bordered boxes that invert on hover. No radius, no
   gradients, no soft shadows. Prefix pcr-. Distinct from all
   prior projects.
   ============================================================ */

:root {
  --pcr-paper:   #ECEAE3;
  --pcr-paper-2: #E2DFD5;
  --pcr-card:    #F5F3EC;
  --pcr-ink:     #0E0E0C;
  --pcr-ink-2:   #2A2A26;
  --pcr-mute:    #6E6C63;
  --pcr-rule:    #C7C3B6;
  --pcr-acid:    #CDFF02;
  --pcr-acid-2:  #B6E300;
  --pcr-flag:    #0E0E0C;

  --pcr-disp: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
  --pcr-sans: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --pcr-mono: 'Space Mono', ui-monospace, Menlo, monospace;

  --pcr-pad:   2rem;
  --pcr-shell: 1320px;
  --pcr-shell-n: 860px;
  --pcr-bd:    2px solid var(--pcr-ink);
  --pcr-bd-h:  1px solid var(--pcr-ink);
  --pcr-ease:  cubic-bezier(.2,.7,.2,1);
}

@media (max-width: 760px) { :root { --pcr-pad: 1.2rem; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--pcr-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--pcr-ink);
  background: var(--pcr-paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--pcr-ink); text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
::selection { background: var(--pcr-acid); color: var(--pcr-ink); }

.pcr-skip { position: absolute; top: -100px; left: 0; background: var(--pcr-ink); color: var(--pcr-acid); padding: .75rem 1rem; font-family: var(--pcr-mono); font-size: 13px; z-index: 1000; }
.pcr-skip:focus { top: 0; }

.pcr-shell { width: 100%; max-width: var(--pcr-shell); margin: 0 auto; padding-left: var(--pcr-pad); padding-right: var(--pcr-pad); }
.pcr-shell--n { max-width: var(--pcr-shell-n); }

/* Acid highlighter swipe behind keywords */
.pcr-mark { background: var(--pcr-acid); padding: 0 .12em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* ── Marquee ticker ───────────────────────────────────────── */
.pcr-ticker { border-bottom: var(--pcr-bd); background: var(--pcr-ink); color: var(--pcr-paper); overflow: hidden; }
.pcr-ticker__track { display: flex; gap: 3rem; white-space: nowrap; font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding: .55rem 0; animation: pcr-scroll 32s linear infinite; }
.pcr-ticker__track span { display: inline-flex; align-items: center; gap: 3rem; }
.pcr-ticker__track b { color: var(--pcr-acid); font-weight: 400; }
@keyframes pcr-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── Masthead ─────────────────────────────────────────────── */
.pcr-mast { position: sticky; top: 0; z-index: 50; background: var(--pcr-paper); border-bottom: var(--pcr-bd); }
.pcr-mast__bar { display: flex; align-items: stretch; }
.pcr-brand { display: flex; flex-direction: column; justify-content: center; padding: 1rem var(--pcr-pad) 1rem 0; border-right: var(--pcr-bd); flex-shrink: 0; }
.pcr-brand__name { font-family: var(--pcr-disp); font-weight: 900; font-size: 22px; letter-spacing: -.03em; line-height: .95; text-transform: uppercase; }
.pcr-brand__sub { font-family: var(--pcr-mono); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--pcr-mute); margin-top: 3px; }

.pcr-nav { display: flex; flex: 1; }
.pcr-nav a { display: inline-flex; align-items: center; gap: .4rem; padding: 0 1.2rem; font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--pcr-ink); border-right: var(--pcr-bd-h); transition: background .12s var(--pcr-ease), color .12s; }
.pcr-nav a:first-child { border-left: var(--pcr-bd-h); }
.pcr-nav a i { font-style: normal; color: var(--pcr-mute); font-size: 10px; }
.pcr-nav a:hover { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-nav a:hover i { color: var(--pcr-acid); }
.pcr-nav a.is-active { background: var(--pcr-acid); }

.pcr-mast__cta { display: inline-flex; align-items: center; padding: 0 1.5rem; background: var(--pcr-ink); color: var(--pcr-paper); font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; border-left: var(--pcr-bd); transition: background .12s var(--pcr-ease), color .12s; }
.pcr-mast__cta:hover { background: var(--pcr-acid); color: var(--pcr-ink); }

.pcr-burger { display: none; width: 56px; background: var(--pcr-ink); border: none; border-left: var(--pcr-bd); position: relative; }
.pcr-burger span, .pcr-burger span::before, .pcr-burger span::after { content: ''; display: block; width: 22px; height: 2px; background: var(--pcr-acid); position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.pcr-burger span::before { transform: translate(-50%, -7px); }
.pcr-burger span::after  { transform: translate(-50%,  7px); }

.pcr-drawer { position: fixed; inset: 0; background: var(--pcr-paper); z-index: 100; transform: translateX(100%); transition: transform .3s var(--pcr-ease); display: flex; flex-direction: column; }
.pcr-drawer.is-open { transform: translateX(0); }
.pcr-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 1rem var(--pcr-pad); border-bottom: var(--pcr-bd); }
.pcr-drawer__close { width: 44px; height: 44px; background: var(--pcr-ink); color: var(--pcr-acid); border: none; font-family: var(--pcr-mono); font-size: 18px; }
.pcr-drawer__nav { flex: 1; display: flex; flex-direction: column; }
.pcr-drawer__nav a { display: flex; align-items: baseline; gap: 1rem; padding: 1.3rem var(--pcr-pad); border-bottom: var(--pcr-bd-h); font-family: var(--pcr-disp); font-weight: 800; font-size: 30px; text-transform: uppercase; letter-spacing: -.02em; }
.pcr-drawer__nav a span { font-family: var(--pcr-mono); font-size: 13px; color: var(--pcr-mute); font-weight: 400; }
.pcr-drawer__foot { padding: var(--pcr-pad); border-top: var(--pcr-bd); font-family: var(--pcr-mono); font-size: 12px; color: var(--pcr-mute); display: flex; flex-direction: column; gap: .35rem; }

@media (max-width: 1080px) {
  .pcr-nav, .pcr-mast__cta { display: none; }
  .pcr-burger { display: block; }
  .pcr-mast__bar { justify-content: space-between; }
}
@media (min-width: 1081px) { .pcr-drawer { display: none; } }

/* ── Sections ─────────────────────────────────────────────── */
.pcr-sec { padding: 5.5rem 0; border-bottom: var(--pcr-bd); }
.pcr-sec--tight { padding: 3rem 0; }
.pcr-sec--ink { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-sec--ink a { color: var(--pcr-paper); }
@media (max-width: 760px) { .pcr-sec { padding: 3.5rem 0; } }

/* Section header — number + bar + title */
.pcr-head { margin-bottom: 3rem; }
.pcr-head__top { display: flex; align-items: center; gap: 1rem; font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin-bottom: 1.25rem; }
.pcr-head__top::before { content: ''; width: 40px; height: 12px; background: var(--pcr-acid); border: var(--pcr-bd-h); }
.pcr-sec--ink .pcr-head__top { color: var(--pcr-paper); }
.pcr-head__title { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2rem, 5vw, 3.6rem); line-height: .98; letter-spacing: -.03em; margin: 0; text-transform: uppercase; }
.pcr-head__sub { font-size: 1.1rem; line-height: 1.5; color: var(--pcr-ink-2); max-width: 58ch; margin: 1.25rem 0 0; }
.pcr-sec--ink .pcr-head__sub { color: var(--pcr-paper); opacity: .8; }

.pcr-h1 { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2.8rem, 8.5vw, 7rem); line-height: .9; letter-spacing: -.04em; margin: 0 0 1.5rem; text-transform: uppercase; }
.pcr-lede { font-size: 1.25rem; line-height: 1.5; color: var(--pcr-ink-2); max-width: 56ch; margin: 0 0 2rem; }

/* ── Hero ─────────────────────────────────────────────────── */
.pcr-hero { border-bottom: var(--pcr-bd); }
.pcr-hero__grid { display: grid; grid-template-columns: 1fr 300px; }
@media (max-width: 900px) { .pcr-hero__grid { grid-template-columns: 1fr; } }
.pcr-hero__main { padding: 4rem var(--pcr-pad); }
.pcr-hero__main .pcr-shell { padding: 0; max-width: 100%; }
.pcr-hero__side { border-left: var(--pcr-bd); display: flex; flex-direction: column; }
@media (max-width: 900px) { .pcr-hero__side { border-left: none; border-top: var(--pcr-bd); flex-direction: row; flex-wrap: wrap; } }
.pcr-hero__meta { padding: 1.5rem; border-bottom: var(--pcr-bd-h); font-family: var(--pcr-mono); font-size: 12px; flex: 1; }
@media (max-width: 900px) { .pcr-hero__meta { flex: 1 1 50%; border-right: var(--pcr-bd-h); } }
.pcr-hero__meta dt { color: var(--pcr-mute); letter-spacing: .12em; text-transform: uppercase; font-size: 10px; margin-bottom: .35rem; }
.pcr-hero__meta dd { margin: 0; font-size: 14px; line-height: 1.4; }
.pcr-hero__cta { display: flex; gap: .75rem; flex-wrap: wrap; }

/* Buttons */
.pcr-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .95rem 1.5rem; font-family: var(--pcr-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; background: var(--pcr-ink); color: var(--pcr-paper); border: var(--pcr-bd); transition: background .12s var(--pcr-ease), color .12s; }
.pcr-btn:hover { background: var(--pcr-acid); color: var(--pcr-ink); }
.pcr-btn--ghost { background: transparent; color: var(--pcr-ink); }
.pcr-btn--ghost:hover { background: var(--pcr-ink); color: var(--pcr-paper); }

/* ── Ledger strip ─────────────────────────────────────────── */
.pcr-ledger { display: grid; grid-template-columns: repeat(4, 1fr); }
@media (max-width: 760px) { .pcr-ledger { grid-template-columns: 1fr 1fr; } }
.pcr-ledger__cell { padding: 2rem 1.5rem; border-right: var(--pcr-bd-h); }
.pcr-ledger__cell:last-child { border-right: none; }
@media (max-width: 760px) { .pcr-ledger__cell { border-right: var(--pcr-bd-h); border-bottom: var(--pcr-bd-h); } .pcr-ledger__cell:nth-child(2n) { border-right: none; } }
.pcr-ledger__v { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.03em; margin: 0 0 .5rem; }
.pcr-sec--ink .pcr-ledger__v { color: var(--pcr-acid); }
.pcr-ledger__k { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0; }
.pcr-sec--ink .pcr-ledger__k { color: var(--pcr-paper); opacity: .7; }

/* ── Principles / numbered rows ───────────────────────────── */
.pcr-rows { border-top: var(--pcr-bd); }
.pcr-row { display: grid; grid-template-columns: 110px 1fr; border-bottom: var(--pcr-bd-h); }
.pcr-row__no { font-family: var(--pcr-disp); font-weight: 900; font-size: 2.4rem; line-height: 1; padding: 1.75rem 1rem; border-right: var(--pcr-bd-h); letter-spacing: -.03em; }
.pcr-row__body { padding: 1.75rem; }
.pcr-row__t { font-family: var(--pcr-disp); font-weight: 800; font-size: 1.4rem; letter-spacing: -.02em; margin: 0 0 .5rem; text-transform: uppercase; }
.pcr-row__b { margin: 0; color: var(--pcr-ink-2); font-size: 1rem; line-height: 1.55; max-width: 70ch; }
@media (max-width: 620px) { .pcr-row { grid-template-columns: 64px 1fr; } .pcr-row__no { font-size: 1.5rem; padding: 1.25rem .5rem; } .pcr-row__body { padding: 1.25rem; } }

/* ── Services index (big stacked links) ───────────────────── */
.pcr-svc-list { border-top: var(--pcr-bd); }
.pcr-svc { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; border-bottom: var(--pcr-bd-h); transition: background .12s var(--pcr-ease), color .12s; }
.pcr-svc:hover { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-svc__no { font-family: var(--pcr-mono); font-size: 13px; padding: 2rem 1rem; border-right: var(--pcr-bd-h); color: var(--pcr-mute); }
.pcr-svc:hover .pcr-svc__no { color: var(--pcr-acid); }
.pcr-svc__main { padding: 2rem 1.75rem; }
.pcr-svc__name { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; letter-spacing: -.03em; text-transform: uppercase; margin: 0 0 .5rem; }
.pcr-svc__kicker { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--pcr-mute); margin: 0 0 .75rem; }
.pcr-svc:hover .pcr-svc__kicker { color: var(--pcr-acid); }
.pcr-svc__lede { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--pcr-ink-2); max-width: 60ch; }
.pcr-svc:hover .pcr-svc__lede { color: var(--pcr-paper); }
.pcr-svc__arrow { padding: 2rem 1.75rem; font-family: var(--pcr-mono); font-size: 1.5rem; }
@media (max-width: 720px) { .pcr-svc { grid-template-columns: 1fr; } .pcr-svc__no, .pcr-svc__arrow { display: none; } }

/* ── Detail layout ────────────────────────────────────────── */
.pcr-detail { display: grid; grid-template-columns: 1.5fr 1fr; } 
.pcr-detail > div { padding: 3rem var(--pcr-pad); }
.pcr-detail > div:first-child { border-right: var(--pcr-bd); }
@media (max-width: 900px) { .pcr-detail { grid-template-columns: 1fr; } .pcr-detail > div:first-child { border-right: none; border-bottom: var(--pcr-bd); } }
.pcr-prose { font-size: 1.05rem; line-height: 1.7; color: var(--pcr-ink-2); max-width: 62ch; }
.pcr-prose p { margin: 0 0 1.4em; }
.pcr-aside-card { position: sticky; top: 96px; }
.pcr-aside-card__label { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pcr-mute); margin: 0 0 1rem; }
.pcr-deliv { list-style: none; padding: 0; margin: 0 0 2rem; border-top: var(--pcr-bd-h); }
.pcr-deliv li { padding: .75rem 0 .75rem 1.5rem; border-bottom: var(--pcr-bd-h); position: relative; font-size: 14.5px; }
.pcr-deliv li::before { content: '→'; position: absolute; left: 0; font-family: var(--pcr-mono); }

/* ── RATE CARD ────────────────────────────────────────────── */
.pcr-rate { border: var(--pcr-bd); background: var(--pcr-card); margin-bottom: 2.5rem; }
.pcr-rate__head { display: flex; align-items: baseline; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: var(--pcr-bd); background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-rate__no { font-family: var(--pcr-mono); font-size: 13px; color: var(--pcr-acid); }
.pcr-rate__label { font-family: var(--pcr-disp); font-weight: 900; font-size: 1.5rem; text-transform: uppercase; letter-spacing: -.02em; }
.pcr-rate__lede { font-family: var(--pcr-mono); font-size: 12px; color: var(--pcr-paper); opacity: .7; margin-left: auto; max-width: 38ch; text-align: right; line-height: 1.4; }
@media (max-width: 700px) { .pcr-rate__lede { display: none; } }

.pcr-line { display: grid; grid-template-columns: 120px 1fr 130px 150px; align-items: center; border-bottom: var(--pcr-bd-h); transition: background .1s var(--pcr-ease); }
.pcr-line:last-child { border-bottom: none; }
.pcr-line:hover { background: var(--pcr-paper-2); }
.pcr-line--feature { background: var(--pcr-acid); }
.pcr-line--feature:hover { background: var(--pcr-acid); }
.pcr-line__code { font-family: var(--pcr-mono); font-size: 12px; color: var(--pcr-mute); padding: 1.25rem 1.5rem; }
.pcr-line--feature .pcr-line__code { color: var(--pcr-ink); }
.pcr-line__main { padding: 1.1rem 1rem 1.1rem 0; }
.pcr-line__name { font-family: var(--pcr-disp); font-weight: 800; font-size: 1.2rem; letter-spacing: -.01em; margin: 0 0 .2rem; }
.pcr-line__name .pcr-line__flag { font-family: var(--pcr-mono); font-size: 9px; letter-spacing: .12em; background: var(--pcr-ink); color: var(--pcr-acid); padding: .15rem .4rem; vertical-align: middle; margin-left: .5rem; text-transform: uppercase; }
.pcr-line__lede { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--pcr-ink-2); max-width: 60ch; }
.pcr-line--feature .pcr-line__lede { color: var(--pcr-ink); }
.pcr-line__unit { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .04em; color: var(--pcr-mute); padding: 1rem; text-transform: uppercase; }
.pcr-line--feature .pcr-line__unit { color: var(--pcr-ink); }
.pcr-line__price { padding: 1rem 1.5rem; text-align: right; display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.pcr-line__amt { font-family: var(--pcr-disp); font-weight: 900; font-size: 1.6rem; letter-spacing: -.03em; }
.pcr-line__buy { width: 38px; height: 38px; flex-shrink: 0; background: var(--pcr-ink); color: var(--pcr-paper); border: var(--pcr-bd-h); font-family: var(--pcr-mono); font-size: 18px; display: inline-flex; align-items: center; justify-content: center; transition: background .12s var(--pcr-ease), color .12s; }
.pcr-line__buy:hover { background: var(--pcr-acid); color: var(--pcr-ink); }
.pcr-line--feature .pcr-line__buy { background: var(--pcr-ink); color: var(--pcr-acid); }
@media (max-width: 820px) {
  .pcr-line { grid-template-columns: 1fr auto; }
  .pcr-line__code { grid-column: 1; padding: 1rem 1.25rem .25rem; }
  .pcr-line__price { grid-column: 2; grid-row: 1 / 3; }
  .pcr-line__main { grid-column: 1; padding: 0 1.25rem 1rem; }
  .pcr-line__unit { grid-column: 1 / 3; padding: 0 1.25rem 1rem; }
}

/* ── Hours + retainer cards ───────────────────────────────── */
.pcr-cols { display: grid; grid-template-columns: repeat(3, 1fr); border: var(--pcr-bd); }
@media (max-width: 820px) { .pcr-cols { grid-template-columns: 1fr; } }
.pcr-cols--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 760px) { .pcr-cols--2 { grid-template-columns: 1fr; } }
.pcr-col { padding: 1.75rem; border-right: var(--pcr-bd-h); display: flex; flex-direction: column; }
.pcr-col:last-child { border-right: none; }
@media (max-width: 820px) { .pcr-col { border-right: none; border-bottom: var(--pcr-bd-h); } .pcr-col:last-child { border-bottom: none; } }
.pcr-col--feature { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-col--feature .pcr-col__code, .pcr-col--feature .pcr-col__lede, .pcr-col--feature .pcr-col__list li { color: var(--pcr-paper); }
.pcr-col--feature .pcr-col__list li { border-color: rgba(236,234,227,.2); }
.pcr-col__code { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0 0 .65rem; }
.pcr-col__name { font-family: var(--pcr-disp); font-weight: 900; font-size: 1.6rem; text-transform: uppercase; letter-spacing: -.02em; margin: 0 0 .5rem; }
.pcr-col__lede { font-size: 13.5px; line-height: 1.5; color: var(--pcr-ink-2); margin: 0 0 1.25rem; }
.pcr-col__price { font-family: var(--pcr-disp); font-weight: 900; font-size: 2.6rem; letter-spacing: -.03em; line-height: 1; margin: 0 0 1.25rem; }
.pcr-col--feature .pcr-col__price { color: var(--pcr-acid); }
.pcr-col__price small { font-family: var(--pcr-mono); font-size: 12px; font-weight: 400; letter-spacing: .04em; color: var(--pcr-mute); }
.pcr-col--feature .pcr-col__price small { color: var(--pcr-paper); opacity: .7; }
.pcr-col__list { list-style: none; padding: 0; margin: 0 0 1.5rem; flex: 1; }
.pcr-col__list li { padding: .6rem 0 .6rem 1.4rem; border-bottom: var(--pcr-bd-h); position: relative; font-size: 13.5px; line-height: 1.45; }
.pcr-col__list li::before { content: '+'; position: absolute; left: 0; font-family: var(--pcr-mono); }
.pcr-col__flag { display: inline-block; font-family: var(--pcr-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; background: var(--pcr-acid); color: var(--pcr-ink); padding: .2rem .45rem; margin-bottom: 1rem; }

/* ── Builder ──────────────────────────────────────────────── */
.pcr-builder { border: var(--pcr-bd); }
.pcr-builder__head { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: var(--pcr-bd); background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-builder__head-t { font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.pcr-builder__head-id { font-family: var(--pcr-mono); font-size: 11px; color: var(--pcr-acid); }
.pcr-builder__body { padding: 1.75rem; background: var(--pcr-card); }
.pcr-builder__step { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0 0 1rem; display: flex; align-items: center; gap: .5rem; }
.pcr-builder__step b { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: var(--pcr-acid); color: var(--pcr-ink); border: var(--pcr-bd-h); font-weight: 700; }

.pcr-base-grid { display: grid; grid-template-columns: 1fr 1fr; border: var(--pcr-bd-h); margin-bottom: 1.75rem; }
@media (max-width: 700px) { .pcr-base-grid { grid-template-columns: 1fr; } }
.pcr-base { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 1rem; border-right: var(--pcr-bd-h); border-bottom: var(--pcr-bd-h); cursor: pointer; font-size: 14px; }
.pcr-base:nth-child(2n) { border-right: none; }
.pcr-base:has(input:checked) { background: var(--pcr-acid); }
.pcr-base__name { display: flex; align-items: center; gap: .5rem; font-family: var(--pcr-disp); font-weight: 600; }
.pcr-base__name input { accent-color: var(--pcr-ink); }
.pcr-base__price { font-family: var(--pcr-mono); font-size: 12px; }

.pcr-mods { display: grid; grid-template-columns: repeat(2, 1fr); border: var(--pcr-bd-h); }
@media (max-width: 700px) { .pcr-mods { grid-template-columns: 1fr; } }
.pcr-mod { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; border-right: var(--pcr-bd-h); border-bottom: var(--pcr-bd-h); cursor: pointer; font-size: 13.5px; }
.pcr-mod:nth-child(2n) { border-right: none; }
.pcr-mod:has(input:checked) { background: var(--pcr-acid); }
.pcr-mod__name { display: flex; align-items: center; gap: .5rem; }
.pcr-mod__name input { accent-color: var(--pcr-ink); }
.pcr-mod__price { font-family: var(--pcr-mono); font-size: 12px; }

.pcr-builder__total { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 1.75rem; background: var(--pcr-ink); color: var(--pcr-paper); border-top: var(--pcr-bd); }
.pcr-builder__total-k { font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.pcr-builder__total-v { font-family: var(--pcr-disp); font-weight: 900; font-size: 2.4rem; letter-spacing: -.03em; color: var(--pcr-acid); }
.pcr-builder__cta-row { padding: 1.25rem 1.75rem; background: var(--pcr-ink); display: flex; justify-content: flex-end; border-top: var(--pcr-bd-h); }
.pcr-builder__cta-row .pcr-btn { background: var(--pcr-acid); color: var(--pcr-ink); border-color: var(--pcr-acid); }
.pcr-builder__cta-row .pcr-btn:hover { background: var(--pcr-paper); border-color: var(--pcr-paper); }

/* ── Casework ─────────────────────────────────────────────── */
.pcr-cases { border-top: var(--pcr-bd); }
.pcr-case { display: grid; grid-template-columns: 90px 1fr 280px; border-bottom: var(--pcr-bd-h); }
.pcr-case:hover { background: var(--pcr-card); }
.pcr-case__no { font-family: var(--pcr-disp); font-weight: 900; font-size: 1.8rem; padding: 2rem 1rem; border-right: var(--pcr-bd-h); letter-spacing: -.03em; }
.pcr-case__main { padding: 2rem 1.75rem; }
.pcr-case__meta { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--pcr-mute); display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: .85rem; }
.pcr-case__client { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(1.5rem, 3vw, 2.2rem); text-transform: uppercase; letter-spacing: -.02em; margin: 0 0 .65rem; }
.pcr-case__lede { margin: 0 0 1rem; color: var(--pcr-ink-2); font-size: 1rem; line-height: 1.5; max-width: 60ch; }
.pcr-case__pull { font-family: var(--pcr-disp); font-weight: 600; font-size: 1.1rem; line-height: 1.35; margin: 1rem 0 0; padding-left: 1rem; border-left: 3px solid var(--pcr-acid); }
.pcr-case__tools { font-family: var(--pcr-mono); font-size: 11px; color: var(--pcr-mute); margin-top: 1rem; letter-spacing: .04em; }
.pcr-case__metrics { border-left: var(--pcr-bd-h); display: flex; flex-direction: column; }
.pcr-case__metric { padding: 1.5rem; border-bottom: var(--pcr-bd-h); flex: 1; }
.pcr-case__metric:last-child { border-bottom: none; }
.pcr-case__metric-v { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2rem, 3.5vw, 2.8rem); letter-spacing: -.03em; line-height: 1; margin: 0 0 .35rem; }
.pcr-case__metric-k { font-family: var(--pcr-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0; }
@media (max-width: 920px) { .pcr-case { grid-template-columns: 64px 1fr; } .pcr-case__metrics { grid-column: 1 / 3; border-left: none; border-top: var(--pcr-bd-h); flex-direction: row; } .pcr-case__metric { border-bottom: none; border-right: var(--pcr-bd-h); } .pcr-case__metric:last-child { border-right: none; } }
@media (max-width: 620px) { .pcr-case { grid-template-columns: 1fr; } .pcr-case__no { display: none; } }

/* ── Voices ───────────────────────────────────────────────── */
.pcr-voices { display: grid; grid-template-columns: repeat(3, 1fr); border: var(--pcr-bd); }
@media (max-width: 900px) { .pcr-voices { grid-template-columns: 1fr; } }
.pcr-voice { padding: 2rem 1.75rem; border-right: var(--pcr-bd-h); }
.pcr-voice:last-child { border-right: none; }
@media (max-width: 900px) { .pcr-voice { border-right: none; border-bottom: var(--pcr-bd-h); } .pcr-voice:last-child { border-bottom: none; } }
.pcr-voice__q { font-family: var(--pcr-disp); font-weight: 600; font-size: 1.2rem; line-height: 1.35; margin: 0 0 1.5rem; }
.pcr-voice__q::before { content: '“'; }
.pcr-voice__q::after { content: '”'; }
.pcr-voice__cite { font-family: var(--pcr-mono); font-size: 11.5px; letter-spacing: .04em; color: var(--pcr-mute); }
.pcr-voice__cite b { display: block; color: var(--pcr-ink); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* ── FAQ ──────────────────────────────────────────────────── */
.pcr-faqs { border-top: var(--pcr-bd); }
.pcr-faq { border-bottom: var(--pcr-bd-h); }
.pcr-faq__q { width: 100%; background: transparent; border: none; padding: 1.5rem 0; font-family: var(--pcr-disp); font-weight: 800; font-size: 1.25rem; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; text-transform: uppercase; letter-spacing: -.01em; }
.pcr-faq__q::after { content: '+'; font-family: var(--pcr-mono); font-size: 1.5rem; }
.pcr-faq[aria-expanded="true"] .pcr-faq__q::after { content: '−'; }
.pcr-faq[aria-expanded="true"] .pcr-faq__q { color: var(--pcr-ink); }
.pcr-faq__a { max-height: 0; overflow: hidden; transition: max-height .3s var(--pcr-ease); }
.pcr-faq[aria-expanded="true"] .pcr-faq__a { max-height: 600px; }
.pcr-faq__a-inner { padding: 0 0 1.5rem; color: var(--pcr-ink-2); line-height: 1.6; max-width: 72ch; }

/* ── Forms ────────────────────────────────────────────────── */
.pcr-form { display: flex; flex-direction: column; gap: 1.25rem; }
.pcr-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 600px) { .pcr-form__row { grid-template-columns: 1fr; } }
.pcr-form__hp { position: absolute; left: -10000px; opacity: 0; height: 0; overflow: hidden; }
.pcr-field { display: flex; flex-direction: column; gap: .4rem; }
.pcr-field__label { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--pcr-mute); }
.pcr-field__opt { text-transform: none; letter-spacing: 0; }
.pcr-field input, .pcr-field select, .pcr-field textarea { font-family: var(--pcr-sans); font-size: 15px; padding: .85rem 1rem; background: var(--pcr-card); color: var(--pcr-ink); border: var(--pcr-bd); }
.pcr-field input:focus, .pcr-field select:focus, .pcr-field textarea:focus { outline: none; background: var(--pcr-paper); box-shadow: inset 0 -4px 0 var(--pcr-acid); }
.pcr-field textarea { min-height: 150px; resize: vertical; line-height: 1.55; }
.pcr-field--check { flex-direction: row; align-items: flex-start; gap: .65rem; }
.pcr-field--check label { font-family: var(--pcr-sans); font-size: 13.5px; color: var(--pcr-ink-2); line-height: 1.5; }
.pcr-field--check input { accent-color: var(--pcr-ink); margin-top: .25rem; flex-shrink: 0; width: 18px; height: 18px; }
.pcr-form__msg { font-family: var(--pcr-mono); font-size: 12px; min-height: 1em; margin: 0; color: var(--pcr-mute); }
.pcr-form__msg.is-ok { color: var(--pcr-ink); background: var(--pcr-acid); display: inline-block; padding: .35rem .6rem; }
.pcr-form__msg.is-err { color: #B00020; }

/* ── Split (contact + checkout) ───────────────────────────── */
.pcr-split { display: grid; grid-template-columns: 1.4fr 1fr; border: var(--pcr-bd); }
@media (max-width: 900px) { .pcr-split { grid-template-columns: 1fr; } }
.pcr-split__main { padding: 2.5rem; }
.pcr-split__side { border-left: var(--pcr-bd); padding: 2.5rem; background: var(--pcr-ink); color: var(--pcr-paper); }
@media (max-width: 900px) { .pcr-split__side { border-left: none; border-top: var(--pcr-bd); } }
.pcr-split__side h3 { font-family: var(--pcr-disp); font-weight: 900; font-size: 1.4rem; text-transform: uppercase; letter-spacing: -.02em; margin: 0 0 1.5rem; }
.pcr-split__side dl { margin: 0; font-family: var(--pcr-mono); font-size: 13px; }
.pcr-split__side dt { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-acid); margin-top: 1.25rem; }
.pcr-split__side dd { margin: .25rem 0 0; line-height: 1.5; }
.pcr-split__side a { color: var(--pcr-acid); }

.pcr-order { border-left: var(--pcr-bd); padding: 2.5rem; background: var(--pcr-card); }
@media (max-width: 900px) { .pcr-order { border-left: none; border-top: var(--pcr-bd); } }
.pcr-order h3 { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0 0 1.25rem; }
.pcr-order__line { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: var(--pcr-bd-h); }
.pcr-order__line:first-of-type { border-top: var(--pcr-bd-h); }
.pcr-order__line b { font-family: var(--pcr-disp); font-weight: 700; display: block; font-size: 15px; }
.pcr-order__line span { font-family: var(--pcr-mono); font-size: 11px; color: var(--pcr-mute); }
.pcr-order__amt { font-family: var(--pcr-disp); font-weight: 800; white-space: nowrap; }
.pcr-order__sum { display: flex; justify-content: space-between; align-items: center; margin-top: 1.25rem; padding-top: 1.25rem; border-top: var(--pcr-bd); font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.pcr-order__sum b { font-family: var(--pcr-disp); font-size: 1.8rem; font-weight: 900; letter-spacing: -.03em; }
.pcr-order__note { font-family: var(--pcr-mono); font-size: 11px; line-height: 1.5; color: var(--pcr-mute); margin-top: 1.25rem; }

/* ── Posts ────────────────────────────────────────────────── */
.pcr-posts { border-top: var(--pcr-bd); }
.pcr-post { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; padding: 2rem 0; border-bottom: var(--pcr-bd-h); transition: padding-left .12s var(--pcr-ease); }
.pcr-post:hover { padding-left: 1rem; }
.pcr-post__meta { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--pcr-mute); display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: .65rem; }
.pcr-post__meta span:first-child { color: var(--pcr-ink); background: var(--pcr-acid); padding: 0 .4rem; }
.pcr-post__t { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(1.4rem, 3vw, 2.2rem); line-height: 1.05; letter-spacing: -.025em; text-transform: uppercase; margin: 0 0 .5rem; }
.pcr-post__lede { margin: 0; color: var(--pcr-ink-2); font-size: 1rem; line-height: 1.5; max-width: 70ch; }
.pcr-post__arrow { font-family: var(--pcr-mono); font-size: 1.5rem; }
@media (max-width: 620px) { .pcr-post__arrow { display: none; } }

.pcr-article { max-width: 720px; margin: 0 auto; }
.pcr-article__head { margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: var(--pcr-bd); }
.pcr-article__meta { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--pcr-mute); display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pcr-article__meta span:first-child { color: var(--pcr-ink); background: var(--pcr-acid); padding: 0 .4rem; }
.pcr-article__t { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: .98; letter-spacing: -.03em; text-transform: uppercase; margin: 0 0 1.25rem; }
.pcr-article__byline { font-family: var(--pcr-mono); font-size: 12px; color: var(--pcr-mute); }
.pcr-article__byline b { color: var(--pcr-ink); }
.pcr-article__body { font-size: 1.1rem; line-height: 1.75; color: var(--pcr-ink-2); }
.pcr-article__body p { margin: 0 0 1.5em; }
.pcr-article__body p.is-intro { font-family: var(--pcr-disp); font-weight: 600; font-size: 1.4rem; line-height: 1.35; color: var(--pcr-ink); }

/* ── Legal ────────────────────────────────────────────────── */
.pcr-legal { max-width: 760px; margin: 0 auto; font-size: 16px; line-height: 1.7; color: var(--pcr-ink-2); }
.pcr-legal__updated { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--pcr-mute); margin-bottom: 1.5rem; }
.pcr-legal h1 { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2.2rem, 5vw, 3.2rem); line-height: 1; letter-spacing: -.03em; text-transform: uppercase; margin: 0 0 1.5rem; }
.pcr-legal h2 { font-family: var(--pcr-disp); font-weight: 800; font-size: 1.3rem; text-transform: uppercase; letter-spacing: -.01em; margin: 2.5rem 0 .75rem; }
.pcr-legal p { margin: 0 0 1.25em; }
.pcr-legal ul, .pcr-legal ol { padding-left: 1.25rem; margin: 0 0 1.25em; }
.pcr-legal li { margin-bottom: .4em; }
.pcr-legal a { color: var(--pcr-ink); box-shadow: inset 0 -.5em 0 var(--pcr-acid); }
.pcr-legal__table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 14px; }
.pcr-legal__table th, .pcr-legal__table td { border: var(--pcr-bd-h); padding: .85rem; text-align: left; vertical-align: top; }
.pcr-legal__table th { background: var(--pcr-ink); color: var(--pcr-paper); font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.pcr-legal__table code { font-family: var(--pcr-mono); font-size: 12px; background: var(--pcr-paper-2); padding: .15rem .4rem; }

/* ── Result (success / cancel / 404) ──────────────────────── */
.pcr-result { max-width: 680px; margin: 0 auto; text-align: center; }
.pcr-result__code { font-family: var(--pcr-mono); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; margin: 0; display: inline-block; background: var(--pcr-acid); padding: .35rem .7rem; }
.pcr-result__t { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2.4rem, 6vw, 4.5rem); line-height: .95; letter-spacing: -.03em; text-transform: uppercase; margin: 1.5rem 0 1rem; }
.pcr-result__b { font-size: 1.1rem; line-height: 1.6; color: var(--pcr-ink-2); margin: 0 auto 1rem; max-width: 50ch; }
.pcr-result__ref { font-family: var(--pcr-mono); font-size: 13px; padding: .75rem 1rem; border: var(--pcr-bd); display: inline-block; margin-top: 1rem; }
.pcr-result__ref b { box-shadow: inset 0 -.5em 0 var(--pcr-acid); }

/* ── Footer ───────────────────────────────────────────────── */
.pcr-foot { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-foot__cta { padding: 4rem var(--pcr-pad); border-bottom: var(--pcr-bd-h); }
.pcr-foot__cta .pcr-shell { padding: 0; max-width: 100%; }
.pcr-foot__cta-h { font-family: var(--pcr-disp); font-weight: 900; font-size: clamp(2.2rem, 6vw, 5rem); line-height: .92; letter-spacing: -.03em; text-transform: uppercase; margin: 0 0 1.5rem; max-width: 16ch; }
.pcr-foot__cta-h em { font-style: normal; color: var(--pcr-acid); }
.pcr-foot__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); }
@media (max-width: 760px) { .pcr-foot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .pcr-foot__grid { grid-template-columns: 1fr; } }
.pcr-foot__col { padding: 2.5rem var(--pcr-pad); border-right: var(--pcr-bd-h); border-bottom: var(--pcr-bd-h); }
.pcr-foot__col:last-child { border-right: none; }
.pcr-foot__col h4 { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-acid); margin: 0 0 1rem; }
.pcr-foot__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; font-family: var(--pcr-mono); font-size: 13px; }
.pcr-foot__col li a { color: var(--pcr-paper); opacity: .8; }
.pcr-foot__col li a:hover { opacity: 1; color: var(--pcr-acid); }
.pcr-foot__col p { margin: 0 0 .5rem; font-family: var(--pcr-mono); font-size: 13px; line-height: 1.55; opacity: .8; }
.pcr-foot__bottom { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem var(--pcr-pad); font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .04em; color: var(--pcr-paper); opacity: .6; flex-wrap: wrap; gap: 1rem; }

/* ── Cookie banner ────────────────────────────────────────── */
.pcr-cookie { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; background: var(--pcr-paper); border: var(--pcr-bd); padding: 1.25rem 1.5rem; display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; z-index: 200; transform: translateY(160%); transition: transform .3s var(--pcr-ease); max-width: 720px; margin: 0 auto; }
.pcr-cookie.is-open { transform: translateY(0); }
.pcr-cookie__t { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-mute); margin: 0; }
.pcr-cookie__b { margin: .35rem 0 0; font-size: 13px; line-height: 1.5; color: var(--pcr-ink-2); flex: 1 1 280px; }
.pcr-cookie__buttons { display: flex; gap: .5rem; flex-shrink: 0; }
.pcr-cookie button { font-family: var(--pcr-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: .65rem .9rem; border: var(--pcr-bd); background: var(--pcr-paper); color: var(--pcr-ink); }
.pcr-cookie button.is-primary { background: var(--pcr-ink); color: var(--pcr-paper); }
.pcr-cookie button.is-primary:hover { background: var(--pcr-acid); color: var(--pcr-ink); }
.pcr-cookie button:hover { background: var(--pcr-acid); }

/* ── Reveal ───────────────────────────────────────────────── */
.pcr-rise { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--pcr-ease), transform .6s var(--pcr-ease); }
.pcr-rise.is-on { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .pcr-rise { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
  .pcr-ticker__track { animation: none; }
  *, *::before, *::after { transition: none !important; }
}
