/* PadreCap — editorial catalogue of mobile games */

:root {
  --pc-ink: #111111;
  --pc-ink-quiet: #4a4a46;
  --pc-paper: #ffffff;
  --pc-paper-alt: #f7f7f5;
  --pc-accent: #6b21a8;
  --pc-rule: #e2e2dc;
  --pc-rule-firm: #111111;
  --pc-shell-max: 1200px;
  --pc-gap: 22px;
  --pc-bar: 64px;
  --pc-face-head: "Oswald", "Arial Narrow", "Helvetica Neue", sans-serif;
  --pc-face-text: "Lato", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--pc-paper);
  color: var(--pc-ink);
  font-family: var(--pc-face-text);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
}

img { display: block; max-width: 100%; height: auto; }

a {
  color: var(--pc-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

a:hover { text-decoration-thickness: 2px; }

:focus-visible {
  outline: 2px solid var(--pc-accent);
  outline-offset: 3px;
}

h1, h2, h3 {
  font-family: var(--pc-face-head);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0.01em;
  margin: 0;
  color: var(--pc-ink);
}

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

ul, ol { margin: 0 0 1em; padding-left: 1.15em; }
li { margin-bottom: 0.4em; }

.pc-shell {
  width: 100%;
  max-width: var(--pc-shell-max);
  margin-inline: auto;
  padding-inline: 18px;
}

.pc-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--pc-ink);
  color: #fff;
  padding: 10px 16px;
  z-index: 60;
}
.pc-skip:focus { left: 8px; top: 8px; }

.pc-hidden { display: none !important; }

.pc-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.pc-quiet { color: var(--pc-ink-quiet); }

/* ---------- masthead ---------- */

.pc-masthead {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--pc-paper);
  border-bottom: 1px solid var(--pc-rule-firm);
}

.pc-masthead__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: var(--pc-bar);
}

.pc-wordmark {
  font-family: var(--pc-face-head);
  font-weight: 600;
  font-size: 25px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pc-ink);
  text-decoration: none;
  white-space: nowrap;
}
.pc-wordmark:hover { text-decoration: none; }
.pc-wordmark b { font-weight: 600; }
.pc-wordmark span { color: var(--pc-accent); }

.pc-burger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid var(--pc-rule-firm);
  color: var(--pc-ink);
  font-family: var(--pc-face-head);
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 8px 12px;
  cursor: pointer;
}
.pc-burger svg { width: 16px; height: 16px; }

.pc-nav { display: none; }
.pc-nav.is-open { display: block; }

.pc-nav__list {
  list-style: none;
  margin: 0;
  padding: 0 0 14px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--pc-rule);
}

.pc-nav__list li { margin: 0; }

.pc-nav__link {
  display: block;
  padding: 11px 2px;
  border-bottom: 1px solid var(--pc-rule);
  font-family: var(--pc-face-head);
  font-size: 15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pc-ink);
  text-decoration: none;
}
.pc-nav__link:hover { color: var(--pc-accent); }

/* ---------- section frame ---------- */

.pc-band { padding-block: 54px; border-bottom: 1px solid var(--pc-rule); }
.pc-band--tint { background: var(--pc-paper-alt); }

.pc-slug {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-family: var(--pc-face-head);
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pc-accent);
  margin-bottom: 10px;
}
.pc-slug::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--pc-accent);
  opacity: 0.35;
}

.pc-head {
  font-size: clamp(28px, 4.4vw, 40px);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.pc-intro {
  max-width: 68ch;
  color: var(--pc-ink-quiet);
  margin-bottom: 30px;
}

/* ---------- opener ---------- */

.pc-opener {
  padding-block: 60px 44px;
  border-bottom: 1px solid var(--pc-rule);
  text-align: center;
}

.pc-opener__tag {
  display: inline-block;
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--pc-accent);
  border: 1px solid var(--pc-accent);
  padding: 5px 12px;
  margin-bottom: 22px;
}

.pc-opener__title {
  font-size: clamp(36px, 7.4vw, 68px);
  text-transform: uppercase;
  letter-spacing: 0.005em;
  margin-bottom: 18px;
}
.pc-opener__title em { font-style: normal; color: var(--pc-accent); }

.pc-lede {
  max-width: 60ch;
  margin-inline: auto;
  margin-bottom: 26px;
  font-size: 19px;
  color: var(--pc-ink-quiet);
}

.pc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 34px;
}

.pc-key {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--pc-face-head);
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 13px 22px;
  border: 1px solid var(--pc-accent);
  background: var(--pc-accent);
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.pc-key:hover { background: var(--pc-paper); color: var(--pc-accent); text-decoration: none; }
.pc-key svg { width: 15px; height: 15px; flex: none; }

.pc-key--hollow {
  background: transparent;
  color: var(--pc-ink);
  border-color: var(--pc-rule-firm);
}
.pc-key--hollow:hover { background: var(--pc-paper-alt); color: var(--pc-accent); border-color: var(--pc-accent); }

.pc-strip {
  border-top: 1px solid var(--pc-rule-firm);
  border-bottom: 1px solid var(--pc-rule-firm);
  padding-block: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.pc-strip__label {
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pc-ink-quiet);
}

.pc-strip__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pc-strip__icons li { margin: 0; }
.pc-strip__icons img {
  width: 46px;
  height: 46px;
  border: 1px solid var(--pc-rule);
}

.pc-facts {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 26px;
  font-size: 14px;
  color: var(--pc-ink-quiet);
}
.pc-facts li {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.pc-facts svg { width: 14px; height: 14px; color: var(--pc-accent); flex: none; }

/* ---------- ticket cards ---------- */

.pc-rack {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pc-gap);
}

.pc-ticket {
  position: relative;
  background: var(--pc-paper);
  border: 1px solid var(--pc-rule-firm);
  display: flex;
  flex-direction: column;
}

.pc-ticket__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--pc-rule);
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.pc-ticket__no { color: var(--pc-accent); }
.pc-ticket__genre { color: var(--pc-ink-quiet); text-align: right; }

.pc-ticket__id {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 15px 14px 14px;
}

.pc-ticket__icon {
  width: 64px;
  height: 64px;
  flex: none;
  border: 1px solid var(--pc-rule);
}

.pc-ticket__name {
  font-size: 21px;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.pc-ticket__name a { color: var(--pc-ink); text-decoration: none; }
.pc-ticket__name a:hover { color: var(--pc-accent); }

.pc-ticket__maker {
  font-size: 13px;
  color: var(--pc-ink-quiet);
  line-height: 1.4;
}

.pc-perf {
  position: relative;
  height: 0;
  border-top: 1px dashed var(--pc-ink);
  opacity: 1;
}
.pc-perf::before,
.pc-perf::after {
  content: "";
  position: absolute;
  top: -9px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--pc-paper);
  border: 1px solid var(--pc-rule-firm);
}
.pc-perf::before { left: -9px; }
.pc-perf::after { right: -9px; }

.pc-band--tint .pc-perf::before,
.pc-band--tint .pc-perf::after { background: var(--pc-paper-alt); }

.pc-score {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--pc-rule);
}

.pc-score__num {
  font-family: var(--pc-face-head);
  font-size: 30px;
  line-height: 1;
  color: var(--pc-accent);
}

.pc-score__meta {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pc-ink-quiet);
  font-family: var(--pc-face-head);
}

.pc-stars {
  position: relative;
  display: inline-block;
  line-height: 0;
  color: #c9c9c1;
  white-space: nowrap;
  font-size: 0;
}
.pc-stars svg {
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: top;
  margin-right: 1px;
}
.pc-stars__fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  color: var(--pc-accent);
  line-height: 0;
  font-size: 0;
}
.pc-stars__fill--82 { width: 82%; }
.pc-stars__fill--84 { width: 84%; }
.pc-stars__fill--86 { width: 86%; }
.pc-stars__fill--90 { width: 90%; }
.pc-stars__fill--96 { width: 96%; }
.pc-stars__fill--100 { width: 100%; }

.pc-ticket__shot {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-bottom: 1px solid var(--pc-rule);
}

.pc-ticket__body {
  padding: 15px 14px 0;
  font-size: 15.5px;
  color: var(--pc-ink-quiet);
  flex: 1;
}

.pc-ticket__tags {
  list-style: none;
  margin: 0;
  padding: 13px 14px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pc-ticket__tags li {
  margin: 0;
  font-family: var(--pc-face-head);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid var(--pc-rule);
  color: var(--pc-ink-quiet);
  padding: 3px 8px;
}

.pc-ticket__foot { padding: 14px; }
.pc-ticket__foot .pc-key { width: 100%; justify-content: center; }

.pc-note {
  border: 1px dashed var(--pc-ink);
  padding: 20px 18px;
  background: var(--pc-paper);
}
.pc-note h3 {
  font-size: 19px;
  text-transform: uppercase;
  margin-bottom: 9px;
}
.pc-note p { font-size: 15.5px; color: var(--pc-ink-quiet); }

/* ---------- shortlist table ---------- */

.pc-sheet-wrap { overflow-x: auto; }

.pc-sheet {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 15.5px;
}
.pc-sheet caption {
  caption-side: bottom;
  padding-top: 12px;
  font-size: 13.5px;
  color: var(--pc-ink-quiet);
  text-align: left;
}
.pc-sheet th,
.pc-sheet td {
  padding: 12px 12px;
  border-bottom: 1px solid var(--pc-rule);
  vertical-align: top;
}
.pc-sheet thead th {
  font-family: var(--pc-face-head);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--pc-rule-firm);
  color: var(--pc-ink);
  white-space: nowrap;
}
.pc-sheet tbody th {
  font-family: var(--pc-face-head);
  font-weight: 600;
  font-size: 17px;
  text-transform: uppercase;
}
.pc-sheet__rank {
  font-family: var(--pc-face-head);
  color: var(--pc-accent);
  font-size: 17px;
  width: 1%;
}
.pc-sheet__score {
  font-family: var(--pc-face-head);
  font-size: 17px;
  white-space: nowrap;
}

/* ---------- method ---------- */

.pc-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  align-items: start;
}

.pc-steps { list-style: none; margin: 0; padding: 0; counter-reset: pcstep; }
.pc-steps li {
  counter-increment: pcstep;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid var(--pc-rule);
  margin: 0;
}
.pc-steps li:last-child { border-bottom: 1px solid var(--pc-rule); }
.pc-steps li::before {
  content: "0" counter(pcstep);
  font-family: var(--pc-face-head);
  font-size: 22px;
  color: var(--pc-accent);
  line-height: 1.2;
}
.pc-steps h3 { font-size: 18px; text-transform: uppercase; margin-bottom: 5px; }
.pc-steps p { font-size: 15.5px; color: var(--pc-ink-quiet); }

/* ---------- voices ---------- */

.pc-voices {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pc-gap);
}

.pc-voice {
  border: 1px solid var(--pc-rule-firm);
  background: var(--pc-paper);
  display: flex;
  flex-direction: column;
}
.pc-voice__top {
  padding: 10px 14px;
  border-bottom: 1px solid var(--pc-rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pc-ink-quiet);
}
.pc-voice__quote {
  margin: 0;
  padding: 18px 14px;
  flex: 1;
  font-size: 16px;
}
.pc-voice__who {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
}
.pc-voice__mark {
  width: 42px;
  height: 42px;
  flex: none;
  border: 1px solid var(--pc-accent);
  color: var(--pc-accent);
  display: grid;
  place-items: center;
  font-family: var(--pc-face-head);
  font-size: 15px;
  letter-spacing: 0.06em;
}
.pc-voice__name {
  font-family: var(--pc-face-head);
  font-size: 16px;
  text-transform: uppercase;
  line-height: 1.2;
}
.pc-voice__role { font-size: 13px; color: var(--pc-ink-quiet); }

/* ---------- signup ---------- */

.pc-signup {
  border: 1px solid var(--pc-rule-firm);
  background: var(--pc-paper);
  padding: 24px 18px;
}

.pc-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.pc-field { display: flex; flex-direction: column; gap: 6px; }

.pc-field label {
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.pc-field input[type="text"],
.pc-field input[type="email"] {
  font-family: var(--pc-face-text);
  font-size: 16px;
  color: var(--pc-ink);
  background: var(--pc-paper);
  border: 1px solid var(--pc-rule-firm);
  border-radius: 0;
  padding: 12px;
  width: 100%;
}
.pc-field input:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 1px; }

.pc-field label.pc-consent {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 11px;
  align-items: start;
  font-family: var(--pc-face-text);
  font-size: 15px;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.5;
  color: var(--pc-ink-quiet);
}
.pc-consent input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--pc-accent); }

.pc-smallprint { font-size: 13.5px; color: var(--pc-ink-quiet); margin-top: 14px; }

.pc-done {
  margin-top: 16px;
  border: 1px solid var(--pc-accent);
  padding: 13px 14px;
  font-size: 15px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.pc-done svg { width: 18px; height: 18px; color: var(--pc-accent); flex: none; margin-top: 3px; }

/* ---------- faq ---------- */

.pc-ask { border-top: 1px solid var(--pc-rule-firm); width: 100%; }

.pc-ask__item { border-bottom: 1px solid var(--pc-rule); }

.pc-ask__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: none;
  border: 0;
  padding: 16px 2px;
  text-align: left;
  cursor: pointer;
  color: var(--pc-ink);
  font-family: var(--pc-face-head);
  font-weight: 600;
  font-size: 18px;
  text-transform: uppercase;
  line-height: 1.2;
}
.pc-ask__btn:hover { color: var(--pc-accent); }
.pc-ask__btn svg { width: 16px; height: 16px; flex: none; color: var(--pc-accent); transition: transform 0.2s ease; }
.pc-ask__btn[aria-expanded="true"] svg { transform: rotate(45deg); }

.pc-ask__panel { padding: 0 2px 18px; color: var(--pc-ink-quiet); font-size: 15.5px; max-width: 76ch; }

/* ---------- model / desk ---------- */

.pc-points { list-style: none; margin: 0; padding: 0; }
.pc-points li {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--pc-rule);
  margin: 0;
  font-size: 15.5px;
}
.pc-points svg { width: 18px; height: 18px; color: var(--pc-accent); margin-top: 4px; }

.pc-tally {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--pc-rule-firm);
  border-left: 1px solid var(--pc-rule);
}
.pc-tally li {
  margin: 0;
  padding: 18px 14px;
  border-right: 1px solid var(--pc-rule);
  border-bottom: 1px solid var(--pc-rule);
}
.pc-tally__num {
  font-family: var(--pc-face-head);
  font-size: clamp(30px, 6vw, 44px);
  line-height: 1;
  color: var(--pc-accent);
  display: block;
}
.pc-tally__cap {
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pc-ink-quiet);
  display: block;
  margin-top: 8px;
}

/* ---------- legal pages ---------- */

.pc-doc { padding-block: 44px 54px; }
.pc-doc__title { font-size: clamp(30px, 5.6vw, 46px); text-transform: uppercase; margin-bottom: 10px; }
.pc-doc__stamp {
  font-family: var(--pc-face-head);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pc-ink-quiet);
  border-bottom: 1px solid var(--pc-rule-firm);
  padding-bottom: 14px;
  margin-bottom: 26px;
}
.pc-prose { max-width: 76ch; }
.pc-prose h2 {
  font-size: 22px;
  text-transform: uppercase;
  margin: 32px 0 10px;
  padding-top: 14px;
  border-top: 1px solid var(--pc-rule);
}
.pc-prose h3 { font-size: 17px; text-transform: uppercase; margin: 20px 0 6px; }
.pc-prose p, .pc-prose li { color: var(--pc-ink-quiet); }
.pc-prose table { width: 100%; border-collapse: collapse; margin-bottom: 1em; font-size: 15px; }
.pc-prose th, .pc-prose td { border: 1px solid var(--pc-rule); padding: 9px 10px; text-align: left; vertical-align: top; color: var(--pc-ink-quiet); }
.pc-prose th { font-family: var(--pc-face-head); font-weight: 600; text-transform: uppercase; font-size: 12px; letter-spacing: 0.1em; color: var(--pc-ink); }
.pc-back { margin-top: 34px; }

/* ---------- footer ---------- */

.pc-footer { border-top: 1px solid var(--pc-rule-firm); padding-block: 34px 26px; }

.pc-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
}

.pc-footer__blurb { font-size: 14.5px; color: var(--pc-ink-quiet); max-width: 44ch; margin-top: 12px; }

.pc-footer h2 {
  font-family: var(--pc-face-head);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pc-ink);
  margin-bottom: 10px;
}

.pc-footer ul + h2 { margin-top: 20px; }
.pc-footer ul { list-style: none; margin: 0; padding: 0; }
.pc-footer li { margin-bottom: 7px; font-size: 15px; }
.pc-footer a { color: var(--pc-ink); text-decoration: none; }
.pc-footer a:hover { color: var(--pc-accent); text-decoration: underline; }

.pc-footer__base {
  margin-top: 26px;
  padding-top: 16px;
  border-top: 1px solid var(--pc-rule);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  justify-content: space-between;
  font-size: 13.5px;
  color: var(--pc-ink-quiet);
}

/* ---------- floating bits ---------- */

.pc-lift {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 35;
  width: 44px;
  height: 44px;
  display: none;
  place-items: center;
  background: var(--pc-paper);
  border: 1px solid var(--pc-rule-firm);
  color: var(--pc-accent);
  cursor: pointer;
}
.pc-lift.is-on { display: grid; }
.pc-lift:hover { background: var(--pc-accent); color: #ffffff; border-color: var(--pc-accent); }
.pc-lift svg { width: 18px; height: 18px; }

.pc-consent-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 45;
  background: var(--pc-paper);
  border-top: 1px solid var(--pc-rule-firm);
  padding: 16px 0;
}
.pc-consent-bar[hidden] { display: none; }
.pc-consent-bar__row {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pc-consent-bar p { font-size: 14.5px; color: var(--pc-ink-quiet); margin: 0; }
.pc-consent-bar__acts { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-consent-bar .pc-key { padding: 10px 16px; font-size: 13px; }

/* ---------- responsive ---------- */

@media (min-width: 720px) {
  body { font-size: 17.5px; }
  .pc-shell { padding-inline: 26px; }
  .pc-band { padding-block: 68px; }
  .pc-rack { grid-template-columns: repeat(2, 1fr); }
  .pc-voices { grid-template-columns: repeat(3, 1fr); }
  .pc-ticket__id { min-height: 118px; }
  .pc-form { grid-template-columns: 1fr 1fr; }
  .pc-form__wide { grid-column: 1 / -1; }
  .pc-tally { grid-template-columns: repeat(4, 1fr); }
  .pc-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .pc-consent-bar__row { flex-direction: row; align-items: center; justify-content: space-between; }
  .pc-footer__base { padding-right: 66px; }
  .pc-steps { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; }
  .pc-steps li:nth-last-child(-n + 2) { border-bottom: 1px solid var(--pc-rule); }
  .pc-points { display: grid; grid-template-columns: 1fr 1fr; column-gap: 34px; }
  .pc-essay { columns: 2; column-gap: 40px; }
  .pc-essay p { orphans: 2; widows: 2; }
  .pc-lift { right: 24px; bottom: 24px; }
}

@media (min-width: 1024px) {
  .pc-burger { display: none; }
  .pc-nav { display: block; }
  .pc-nav__list {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    border-top: 0;
    padding: 0;
  }
  .pc-nav__link { border-bottom: 0; padding: 6px 0; font-size: 13px; letter-spacing: 0.09em; }
  .pc-nav__link:hover { border-bottom: 0; }
  .pc-rack { grid-template-columns: repeat(3, 1fr); }
  .pc-note { grid-column: span 2; }
  .pc-opener { padding-block: 78px 56px; }
  .pc-strip__icons img { width: 54px; height: 54px; }
}

@media (max-width: 719px) {
  .pc-sheet thead { display: none; }
  .pc-sheet tbody tr {
    display: block;
    border-bottom: 1px solid var(--pc-rule-firm);
    padding-block: 10px;
  }
  .pc-sheet tbody th,
  .pc-sheet tbody td {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    border-bottom: 0;
    padding: 4px 0;
  }
  .pc-sheet tbody td::before {
    content: attr(data-col);
    font-family: var(--pc-face-head);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pc-ink-quiet);
    flex: none;
  }
  .pc-sheet__rank { width: auto; }
}

section[id] { scroll-margin-top: calc(var(--pc-bar) + 10px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
