/* CalCash · сайт · система 2b.
   Только переменные из tokens.css, ни одного цвета значением.
   Брейкпоинты: 768 (планшет), 1080 (десктопная шапка и оглавление).
   Разделы страниц живут в static/pages/*.css. */

/* ---------- база ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body {
  margin: 0;
  background: var(--cc-color-bg);
  color: var(--cc-color-text);
  font: var(--cc-type-body);
  -webkit-font-smoothing: antialiased;
}
body.is-locked { overflow: hidden; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus { outline: none; }
:focus-visible { outline: none; box-shadow: var(--cc-focus-ring); border-radius: var(--cc-radius-xs); }
[hidden] { display: none !important; }
.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.ic { width: var(--cc-icon-size-inline); height: var(--cc-icon-size-inline); flex: none; display: inline-block; vertical-align: middle; }
.num { font-family: var(--cc-font-number); font-variant-numeric: tabular-nums slashed-zero; }

/* ---------- сетка ---------- */
.wrap { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 20px; }
.section { padding-block: calc(var(--site-section-gap) / 2); }
.section-head { display: flex; flex-direction: column; gap: 8px; max-width: 680px; margin-bottom: var(--cc-space-6); }
@media (min-width: 768px) {
  .wrap { padding-inline: 40px; }
}

/* ---------- типографика ---------- */
.eyebrow {
  font: var(--cc-type-eyebrow);
  letter-spacing: var(--cc-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--cc-color-text-secondary);
}
.h1, .h1-hero { font: var(--cc-type-h1); letter-spacing: var(--cc-tracking-h1); text-wrap: pretty; }
.h2 { font: var(--cc-type-h2); letter-spacing: var(--cc-tracking-h2); text-wrap: balance; }
.h3 { font: var(--cc-type-h3); }
.lead { font: var(--cc-type-body); color: var(--cc-color-text-secondary); max-width: 680px; text-wrap: pretty; }
.body { font: var(--cc-type-body); }
.caption { font: var(--cc-type-caption); color: var(--cc-color-text-secondary); }
@media (min-width: 768px) {
  .lead { font-size: 18px; line-height: 28px; }
}
@media (min-width: 1080px) {
  .h1 { font: var(--site-h1-desktop); }
  .h1-hero { font: var(--site-hero-desktop); }
}

.link {
  color: var(--cc-color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.link:hover { color: var(--cc-color-accent-hover); }

.crumbs {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  min-height: 24px; padding: 0; list-style: none;
  font: var(--cc-type-caption); color: var(--cc-color-text-secondary);
}
.crumbs ol { display: contents; }
.crumbs li { display: inline-flex; align-items: center; gap: 8px; }
.crumbs li + li::before { content: "/"; }
.crumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.crumbs a:hover { color: var(--cc-color-text); }

/* ---------- кнопки ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--cc-control-height-sm); padding: 0 14px;
  border: 1px solid transparent; border-radius: var(--cc-radius-sm);
  font: var(--cc-type-label); white-space: nowrap; text-decoration: none;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background-color 120ms ease-out, border-color 120ms ease-out, transform 120ms ease-out;
}
.btn .ic { width: 18px; height: 18px; }
.btn:active { transform: scale(.98); }
.btn-lg { height: var(--cc-control-height); padding: 0 20px; font: var(--cc-type-body-strong); }
.btn-lg .ic { width: 20px; height: 20px; }
.btn-primary { background: var(--cc-color-action); color: var(--cc-color-text-on-inverse); }
.btn-primary:hover { background: var(--cc-color-action-hover); }
.btn-primary:active { opacity: .94; }
.btn-secondary { background: transparent; border-color: var(--cc-color-border-strong); color: var(--cc-color-text); }
.btn-secondary:hover { background: var(--cc-color-surface-hover); }
.btn-ghost { background: transparent; color: var(--cc-color-text-secondary); }
.btn-ghost:hover { background: var(--cc-color-surface-hover); color: var(--cc-color-text); }
.btn:disabled, .btn[aria-disabled="true"] { opacity: .4; pointer-events: none; }

.btn-icon {
  width: 40px; height: 40px; padding: 0; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--cc-color-border-strong); border-radius: var(--cc-radius-sm);
  background: transparent; color: var(--cc-color-text-secondary);
}
.btn-icon:hover { background: var(--cc-color-surface-hover); color: var(--cc-color-text); }
[data-theme="dark"] .ic-sun, :root:not([data-theme="dark"]) .ic-moon { display: none; }

.btn-lang {
  height: 40px; padding: 0 10px 0 12px;
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid var(--cc-color-border-strong); border-radius: var(--cc-radius-sm);
  background: transparent; color: var(--cc-color-text-secondary); font: var(--cc-type-label);
}
.btn-lang:hover { background: var(--cc-color-surface-hover); color: var(--cc-color-text); }
.btn-lang .ic { width: 18px; height: 18px; }
.btn-lang .dd-caret { width: 14px; height: 14px; }

/* ---------- карточка, чипы, сегмент ---------- */
.card {
  background: var(--cc-color-surface);
  border: 1px solid var(--cc-color-border);
  border-radius: var(--cc-radius-md);
  padding: var(--cc-card-padding);
}
@media (min-width: 768px) {
  .card { padding: var(--cc-space-6); }
}

.chip {
  display: inline-flex; align-items: center; gap: 6px;
  height: 40px; padding: 0 14px;
  border: 1px solid var(--cc-color-border-strong); border-radius: var(--cc-radius-pill);
  background: transparent; color: var(--cc-color-text); font: var(--cc-type-label);
  cursor: pointer; user-select: none;
}
.chip:hover { background: var(--cc-color-surface-hover); }
.chip.is-selected, .chip[aria-pressed="true"], input:checked + .chip {
  background: var(--cc-color-surface-inverse);
  border-color: var(--cc-color-surface-inverse);
  color: var(--cc-color-text-on-inverse);
}
input:focus-visible + .chip { box-shadow: var(--cc-focus-ring); }
.chip:disabled, input:disabled + .chip { opacity: .4; cursor: default; }

.segment {
  display: flex; padding: 2px; height: var(--cc-control-height);
  background: var(--cc-color-surface-sunken); border-radius: var(--cc-radius-sm);
}
.segment > label { flex: 1; display: flex; min-width: 0; }
.segment > a, .segment > button, .segment > label > span {
  flex: 1; min-width: 0; padding: 0 8px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  border: 1px solid transparent; border-radius: 8px; background: none;
  color: var(--cc-color-text-secondary); font: var(--cc-type-body-strong);
  text-decoration: none; white-space: nowrap; cursor: pointer;
}
.segment > a[aria-current], .segment > button[aria-pressed="true"], .segment > label > input:checked + span {
  background: var(--cc-color-surface);
  border-color: var(--cc-color-border);
  color: var(--cc-color-text);
}
.segment > a:focus-visible, .segment > button:focus-visible, .segment > label > input:focus-visible + span {
  box-shadow: var(--cc-focus-ring); border-radius: 8px;
}
.segment-sm { height: 40px; }
.segment-sm > a, .segment-sm > button, .segment-sm > label > span { font: var(--cc-type-label); }

/* ---------- поля ---------- */
.field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.field > label, .field-label { font: var(--cc-type-label); color: var(--cc-color-text-secondary); }
.input {
  width: 100%; height: var(--cc-control-height); padding: 0 14px;
  border: 1px solid var(--cc-color-border-strong); border-radius: var(--cc-radius-sm);
  background: var(--cc-color-surface); color: var(--cc-color-text);
  font-family: var(--cc-font-number); font-size: 16px; line-height: 24px;
  font-variant-numeric: tabular-nums slashed-zero;
  appearance: none; -moz-appearance: textfield;
}
.input::-webkit-inner-spin-button, .input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.input::placeholder { color: var(--cc-color-text-muted); }
.input:focus, .input:focus-visible { border-color: var(--cc-color-accent); box-shadow: var(--cc-focus-ring); border-radius: var(--cc-radius-sm); }
.input:disabled { opacity: .4; }
.input-error, .input[aria-invalid="true"] { border-color: var(--cc-color-danger); }
.input-error:focus, .input[aria-invalid="true"]:focus { border-color: var(--cc-color-danger); }
.field-error { display: flex; align-items: flex-start; gap: 6px; font: var(--cc-type-caption); color: var(--cc-color-danger); }
.field-error .ic { width: 16px; height: 16px; margin-top: 1px; }

/* ---------- логотип-заглушка ---------- */
.logo {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; flex: none;
  color: var(--cc-color-text); text-decoration: none;
}
.logo-mark { width: 24px; height: 24px; color: var(--cc-color-accent); }
.logo-word { font-family: var(--cc-font-heading); font-weight: 600; font-size: 18px; line-height: 24px; letter-spacing: -.01em; }

/* ---------- шапка ---------- */
.hd { position: sticky; top: 0; z-index: 50; background: var(--cc-color-bg); border-bottom: 1px solid var(--cc-color-border); }
.hd-bar { display: flex; align-items: center; gap: 8px; height: 56px; }
.hd .logo { margin-right: auto; }
.hd-nav, .hd-actions { display: none; }
.hd-cta-m { padding: 0 12px; gap: 6px; }
.hd-cta-m .ic { width: 16px; height: 16px; }
.hd-burger { width: 44px; height: 44px; margin-right: -8px; border-color: transparent; color: var(--cc-color-text); }
.hd-burger .ic { width: 24px; height: 24px; }
.hd.is-open .ic-menu, .hd:not(.is-open) .ic-close { display: none; }

.hd-link {
  height: 40px; padding: 0 12px;
  display: inline-flex; align-items: center; gap: 6px;
  border: 0; border-radius: var(--cc-radius-sm); background: none;
  color: var(--cc-color-text-secondary); font: 500 15px/20px var(--cc-font-ui); text-decoration: none;
}
.hd-link:hover, .hd-link[aria-expanded="true"] { background: var(--cc-color-surface-hover); color: var(--cc-color-text); }
.hd-link[aria-current="page"] {
  background: var(--cc-color-accent-soft); color: var(--cc-color-text);
  box-shadow: inset 0 -2px 0 var(--cc-color-accent);
}
.hd-link .dd-caret { width: 16px; height: 16px; }

@media (min-width: 1080px) {
  .hd-bar { height: 64px; gap: 32px; }
  .hd .logo { margin-right: 0; gap: 10px; }
  .hd .logo-word { font-size: 20px; }
  .hd-nav { display: flex; align-items: center; gap: 4px; flex: 1; }
  .hd-actions { display: flex; align-items: center; gap: 8px; }
  .hd-cta-m, .hd-burger, .hd-drawer { display: none !important; }
}

/* выпадающие списки */
.dd { position: relative; }
.dd-panel {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 60;
  min-width: 200px; padding: 6px;
  display: flex; flex-direction: column;
  background: var(--cc-color-surface); border: 1px solid var(--cc-color-border);
  border-radius: var(--cc-radius-md); box-shadow: var(--cc-shadow-pop);
}
.dd-calcs { width: 320px; }
.dd-right { left: auto; right: 0; }
.dd-up { top: auto; bottom: calc(100% + 8px); }
.dd-item {
  min-height: 44px; padding: 0 10px;
  display: flex; align-items: center; gap: 12px;
  border-radius: var(--cc-radius-sm);
  color: var(--cc-color-text); font: 400 15px/20px var(--cc-font-ui); text-decoration: none;
}
.dd-item .ic { width: 20px; height: 20px; color: var(--cc-color-text-secondary); }
.dd-item:hover { background: var(--cc-color-surface-hover); }
.dd-item:focus-visible { box-shadow: inset 0 0 0 2px var(--cc-color-focus); }
.dd-item[aria-current] { background: var(--cc-color-accent-soft); box-shadow: inset 3px 0 0 var(--cc-color-accent); }
.dd-item .dd-check { width: 16px; height: 16px; margin-left: auto; color: var(--cc-color-accent); }
.dd-caret { transition: transform 200ms ease-out; }
[aria-expanded="true"] > .dd-caret { transform: rotate(180deg); }

/* мобильная шторка */
.hd-drawer { position: fixed; inset: 56px 0 0 0; z-index: 40; overflow-y: auto; background: var(--cc-color-overlay); }
.hd-drawer-panel {
  display: flex; flex-direction: column; padding: 8px 8px 16px;
  background: var(--cc-color-surface); border-bottom: 1px solid var(--cc-color-border);
  border-radius: 0 0 var(--cc-radius-lg) var(--cc-radius-lg); box-shadow: var(--cc-shadow-sheet);
}
.hd-drawer-title { padding: 12px 8px 4px; }
.hd-drawer-row {
  min-height: 48px; padding: 0 8px;
  display: flex; align-items: center; gap: 12px;
  border-radius: var(--cc-radius-sm);
  color: var(--cc-color-text); text-decoration: none;
}
.hd-drawer-row .ic { width: 20px; height: 20px; color: var(--cc-color-text-secondary); }
.hd-drawer-row:hover { background: var(--cc-color-surface-hover); }
.hd-drawer-row.is-strong { font: var(--cc-type-body-strong); }
.hd-drawer-sep { height: 1px; margin: 8px; border: 0; background: var(--cc-color-border); }
.hd-drawer-set { min-height: 56px; padding: 0 8px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hd-drawer-set .segment { width: 180px; }
.hd-drawer-cta { margin: 8px 8px 0; }

/* ---------- подвал ---------- */
.ft { background: var(--cc-color-surface-sunken); border-top: 1px solid var(--cc-color-border); font: var(--cc-type-body-compact); }
.ft-inner { display: flex; flex-direction: column; gap: 24px; padding-block: 32px 24px; }
.ft-cols { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ft-col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ft-title {
  padding: 8px 0;
  font: var(--cc-type-eyebrow); letter-spacing: var(--cc-tracking-eyebrow); text-transform: uppercase;
  color: var(--cc-color-text-secondary);
}
.ft-col a { min-height: 44px; display: flex; align-items: center; color: var(--cc-color-text); text-decoration: none; overflow-wrap: anywhere; }
.ft-col a:hover { color: var(--cc-color-accent); text-decoration: underline; text-underline-offset: 3px; }
.ft-bottom {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  padding-top: 16px; border-top: 1px solid var(--cc-color-border);
  color: var(--cc-color-text-secondary);
}
.ft-bottom .logo { gap: 8px; }
.ft-bottom .logo-mark { width: 20px; height: 20px; color: var(--cc-color-text); }
.ft-bottom .logo-word { font-size: 16px; }
.ft-spacer { flex: 1; }
@media (min-width: 768px) {
  .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
  .ft-inner { gap: 40px; padding-block: 48px 32px; }
  .ft-cols { grid-template-columns: 2fr 2fr 1fr 2fr 2fr; gap: 24px; }
  .ft-col a { min-height: 32px; }
}

/* ---------- частые вопросы ---------- */
.faq { border-top: 1px solid var(--cc-color-border); }
.faq-item { border-bottom: 1px solid var(--cc-color-border); }
.faq-item > summary {
  min-height: 56px; padding: 12px 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  list-style: none; cursor: pointer; font: var(--cc-type-body-strong);
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary:hover { background: var(--cc-color-surface-hover); }
.faq-item > summary:focus-visible { box-shadow: inset 0 0 0 2px var(--cc-color-focus); border-radius: 0; }
.faq-chev { width: 20px; height: 20px; color: var(--cc-color-text-secondary); transition: transform 200ms ease-out; }
.faq-item[open] { background: var(--cc-color-accent-soft); box-shadow: inset 3px 0 0 var(--cc-color-accent); }
.faq-item[open] > summary:hover { background: transparent; }
.faq-item[open] .faq-chev { transform: rotate(180deg); }
.faq-a { padding: 0 16px 16px; color: var(--cc-color-text-secondary); }
.faq-a p + p { margin-top: 8px; }

/* ---------- оглавление ---------- */
.toc-d { display: none; }
.toc-m { border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-sm); overflow: hidden; }
.toc-m > summary {
  min-height: 48px; padding: 0 16px;
  display: flex; align-items: center; justify-content: space-between;
  list-style: none; cursor: pointer; font: var(--cc-type-body-strong);
}
.toc-m > summary::-webkit-details-marker { display: none; }
.toc-m > summary:focus-visible { box-shadow: inset 0 0 0 2px var(--cc-color-focus); border-radius: 0; }
.toc-m[open] > summary { background: var(--cc-color-accent-soft); box-shadow: inset 3px 0 0 var(--cc-color-accent); }
.toc-chev { width: 20px; height: 20px; color: var(--cc-color-text-secondary); transition: transform 200ms ease-out; }
.toc-m[open] .toc-chev { transform: rotate(180deg); }
.toc-m nav { display: flex; flex-direction: column; padding: 4px 0; border-top: 1px solid var(--cc-color-border); }
.toc-m nav a { min-height: 44px; padding: 10px 16px; display: flex; align-items: center; color: var(--cc-color-text); font-size: 15px; line-height: 20px; text-decoration: none; }
.toc-m nav a:hover { background: var(--cc-color-surface-hover); }
.toc-title { padding: 0 12px 8px; font: var(--cc-type-eyebrow); letter-spacing: var(--cc-tracking-eyebrow); text-transform: uppercase; color: var(--cc-color-text-secondary); }
.toc-d a {
  min-height: 36px; padding: 6px 12px;
  display: flex; align-items: center;
  border-radius: 0 8px 8px 0; box-shadow: inset 1px 0 0 var(--cc-color-border);
  color: var(--cc-color-text-secondary); font: var(--cc-type-body-compact); text-decoration: none;
}
.toc-d a:hover { color: var(--cc-color-text); }
.toc-d a[aria-current] { background: var(--cc-color-accent-soft); box-shadow: inset 3px 0 0 var(--cc-color-accent); color: var(--cc-color-text); }
@media (min-width: 1080px) {
  .toc { position: sticky; top: 88px; align-self: start; }
  .toc-m { display: none; }
  .toc-d { display: flex; flex-direction: column; gap: 2px; }
}

/* ---------- карточка статьи ---------- */
.post-card {
  display: flex; flex-direction: column; gap: 12px; min-width: 0;
  padding: var(--cc-card-padding);
  background: var(--cc-color-surface); border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-md);
  color: var(--cc-color-text); text-decoration: none;
}
.post-card:hover { background: var(--cc-color-surface-hover); border-color: var(--cc-color-border-strong); }
.post-card:focus-visible { border-radius: var(--cc-radius-md); }
.post-card-tag {
  align-self: flex-start; height: 24px; padding: 0 10px;
  display: inline-flex; align-items: center;
  background: var(--cc-color-surface-sunken); border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-pill);
  color: var(--cc-color-text-secondary); font: 500 12px/16px var(--cc-font-ui);
}
.post-card-title { font: var(--cc-type-h3); text-wrap: pretty; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post-card-desc { font: var(--cc-type-body-compact); color: var(--cc-color-text-secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-card-date { margin-top: auto; font: var(--cc-type-caption); color: var(--cc-color-text-secondary); }
@media (min-width: 768px) {
  .post-card { padding: var(--cc-space-6); }
}

/* ---------- строка калькулятора ---------- */
.calc-rows {
  display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden;
  background: var(--cc-color-surface); border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-md);
}
.calc-row {
  min-height: 56px; padding: 8px 16px; margin-top: -1px;
  display: flex; align-items: center; gap: 12px;
  border-top: 1px solid var(--cc-color-border);
  color: var(--cc-color-text); text-decoration: none;
}
.calc-row > .ic:first-child { width: 24px; height: 24px; color: var(--cc-color-text-secondary); }
.calc-row-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.calc-row-name { font: var(--cc-type-body-strong); }
.calc-row-what { font: var(--cc-type-caption); color: var(--cc-color-text-secondary); }
.calc-row-go { width: 20px; height: 20px; color: var(--cc-color-text-secondary); }
.calc-row:hover { background: var(--cc-color-surface-hover); }
.calc-row:focus-visible { box-shadow: inset 0 0 0 2px var(--cc-color-focus); border-radius: 0; }
@media (min-width: 768px) {
  .calc-row { padding: 8px 20px; gap: 16px; }
  .calc-rows-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calc-rows-2 > .calc-row:nth-child(odd) { border-right: 1px solid var(--cc-color-border); }
}

/* ---------- финальный блок ---------- */
.cta-final {
  display: flex; flex-direction: column; gap: 16px; padding: 24px 16px;
  background: var(--cc-color-surface); border: 1px solid var(--cc-color-border); border-radius: var(--cc-radius-md);
}
.cta-final-text { display: flex; flex-direction: column; gap: 6px; }
.cta-final-lead { color: var(--cc-color-text-secondary); }
.cta-final .btn { width: 100%; }
@media (min-width: 768px) {
  .cta-final { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding: 40px; }
  .cta-final-text { gap: 8px; }
  .cta-final .btn { width: auto; flex: none; }
}

/* ---------- без анимаций по просьбе системы ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---------- таблицы в тексте ---------- */
/* Обёртка с прокруткой: на 390px широкая таблица иначе растягивает страницу. */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prose-table {
  width: 100%; min-width: 480px; border-collapse: collapse;
  font: var(--cc-type-body); color: var(--cc-color-text);
}
.prose-table th, .prose-table td {
  padding: 10px 12px; text-align: left; vertical-align: top;
  border-bottom: 1px solid var(--cc-color-border);
}
.prose-table thead th {
  font-weight: 600; color: var(--cc-color-text);
  background: var(--cc-color-surface-sunken);
  border-bottom: 1px solid var(--cc-color-border-strong);
}
.prose-table tbody tr:last-child td { border-bottom: 0; }
.prose-table .num { white-space: nowrap; }

