/* ============================================================
   ARCOVEX — ABOUT (charter dossier, AX-ABT)
   ============================================================ */
.about-page { padding-top: 64px; }
.about-page h1, .about-page h2, .about-page h3 { font-family: var(--font-display); color: var(--ax-fg); letter-spacing: -0.02em; margin: 0; }
.about-page .da-sec, .about-page [id] { scroll-margin-top: 88px; }
.da-head h1 { text-wrap: balance; }
/* ---------- atoms ---------- */
.ruo-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; font: 600 10.5px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ax-fg-muted); }
.ruo-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--ax-warning); }
.ruo-dark { color: rgba(255,255,255,.5); } .ruo-dark i { background: #E8B04A; }
.btn-l, .btn-g, .btn-d, .btn-o { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 10px; font: 600 14px var(--font-body); text-decoration: none; white-space: nowrap; transition: background .2s, border-color .2s, color .2s; }
.btn-l { background: #F2F2EE; color: var(--ax-night); } .btn-l:hover { background: #fff; }
.btn-g { border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.85); } .btn-g:hover { border-color: rgba(255,255,255,.5); color: #fff; }
.btn-d { background: var(--ax-fg); color: var(--ax-bg); } .btn-d:hover { background: var(--n-800); }
.btn-o { border: 1px solid var(--ax-line-strong); color: var(--ax-fg); background: var(--ax-bg-raised); } .btn-o:hover { border-color: var(--ax-fg); }
.pass { font: 700 10px var(--font-mono); letter-spacing: .08em; color: var(--ax-success); background: var(--ax-success-bg); padding: 3px 7px; border-radius: 5px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.plate-ticks > i, .ha-plate > i, .hb-plate > i { position: absolute; width: 14px; height: 14px; border: 0 solid var(--tick, rgba(255,255,255,.3)); z-index: 1; pointer-events: none; }
.ha-plate .c1, .hb-plate .c1 { top: 16px; left: 16px; border-top-width: 1px; border-left-width: 1px; }
.ha-plate .c2, .hb-plate .c2 { top: 16px; right: 16px; border-top-width: 1px; border-right-width: 1px; }
.ha-plate .c3, .hb-plate .c3 { bottom: 16px; left: 16px; border-bottom-width: 1px; border-left-width: 1px; }
.ha-plate .c4, .hb-plate .c4 { bottom: 16px; right: 16px; border-bottom-width: 1px; border-right-width: 1px; }

.na { font: 700 10px var(--font-mono); letter-spacing: .08em; color: var(--ax-fg-faint); background: var(--ax-bg-sunken); padding: 3px 7px; border-radius: 5px; }
.ts { padding: 88px 0; } .ts + .ts { border-top: 1px solid var(--ax-line); }
.ts-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 36px; }
.ts-head h2 { font-size: var(--text-2xl); margin-top: 8px; }
.ts-more { font: 600 13.5px var(--font-body); color: var(--ax-fg); text-decoration: none; border-bottom: 1px solid var(--ax-line-strong); }
.ts-close { padding: 0 0 88px; border-top: 0 !important; }
.cl-box { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 36px 40px; border-radius: 18px; background: var(--ax-bg-sunken); border: 1px solid var(--ax-line); }
.cl-box h2 { font-size: var(--text-xl); } .cl-box p { margin: 6px 0 0; color: var(--ax-fg-muted); font-size: var(--text-sm); max-width: 58ch; }
.cl-acts { display: flex; gap: 10px; flex-wrap: wrap; }
.da + .ts-close, .an + .ts, .ts-close { margin-top: 0; }
.da + .ts-close { padding-top: 24px; }

/* ---------- A · Dossier ---------- */
.da-head { padding: 72px 0 48px; border-bottom: 1px solid var(--ax-line); }
.da-meta { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 26px; font-size: 11px; color: var(--ax-fg-muted); }
.da-meta span { padding: 0 14px; border-left: 1px solid var(--ax-line-strong); } .da-meta span:first-child { padding-left: 0; border-left: 0; color: var(--ax-fg); font-weight: 700; }
.da-head h1 { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; max-width: 18ch; }
.da-lede { margin: 22px 0 0; max-width: 64ch; color: var(--ax-fg-muted); font-size: var(--text-md); }
.da-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; padding-top: 56px; padding-bottom: 72px; }
.da-toc { position: sticky; top: 96px; align-self: start; }
.da-toc ol { list-style: none; margin: 12px 0 0; padding: 0; border-left: 1px solid var(--ax-line-strong); }
.da-toc a { display: flex; gap: 10px; padding: 8px 0 8px 14px; margin-left: -1px; border-left: 2px solid transparent; font-size: 13.5px; color: var(--ax-fg-muted); text-decoration: none; transition: color .2s, border-color .2s; }
.da-toc a .t-data { font-size: 11px; color: var(--ax-fg-faint); padding-top: 1px; }
.da-toc a:hover { color: var(--ax-fg); } .da-toc a.on { color: var(--ax-fg); font-weight: 600; border-left-color: var(--ax-fg); }
.da-toc-cta { display: inline-block; margin-top: 24px; font: 600 13px var(--font-body); color: var(--ax-fg); text-decoration: none; border-bottom: 1px solid var(--ax-line-strong); }
.da-sec { padding: 8px 0 56px; scroll-margin-top: 90px; } .da-sec + .da-sec { padding-top: 48px; border-top: 1px solid var(--ax-line); }
.da-n { font-size: 11px; color: var(--ax-fg-faint); margin: 0 0 6px; }
.da-sec h2 { font-size: var(--text-2xl); margin-bottom: 12px; }
.da-p { margin: 0 0 24px; color: var(--ax-fg-muted); max-width: 64ch; }
.da-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.da-steps li { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 18px 0; border-top: 1px solid var(--ax-line); }
.da-steps li > .t-data { font-size: 12px; color: var(--ax-fg-faint); padding-top: 3px; }
.da-steps h3 { font-size: var(--text-md); } .da-steps h3 em { font: 600 10px var(--font-mono); font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--ax-fg-muted); background: var(--ax-bg-sunken); padding: 3px 7px; border-radius: 5px; margin-left: 8px; vertical-align: 2px; }
.da-steps p { margin: 4px 0 0; font-size: 14px; color: var(--ax-fg-body); max-width: 62ch; }
.da-steps .da-docs { font: 500 11.5px var(--font-mono); color: var(--ax-fg-muted); }



/* ---------- shared about blocks ---------- */
.t-eyebrow { font: 600 10.5px var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ax-fg-muted); margin: 0; }
.t-data { font-family: var(--font-mono); }
.ab-list { list-style: none; margin: 12px 0 0; padding: 0; }
.ab-list li { display: flex; gap: 10px; padding: 11px 0; border-top: 1px solid var(--ax-line); font-size: 14.5px; color: var(--ax-fg-body); }
.ab-list svg { flex: none; width: 16px; height: 16px; margin-top: 3px; }
.ab-list.yes svg { color: var(--ax-success); } .ab-list.no svg { color: var(--ax-danger, #B42318); }
.ab-serve { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.ab-routes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0 28px; }
.ab-route { display: flex; flex-direction: column; padding: 24px; border-radius: 14px; border: 1px solid var(--ax-line); background: var(--ax-bg-raised); text-decoration: none; color: var(--ax-fg-body); transition: border-color .2s, transform .2s; }
.ab-route:hover { border-color: var(--ax-fg); }
.ab-route h3 { font-size: var(--text-lg); margin: 8px 0 6px; } .ab-route p:not(.t-eyebrow) { margin: 0 0 18px; font-size: 14px; color: var(--ax-fg-muted); }
.ab-go { margin-top: auto; font: 600 13.5px var(--font-body); color: var(--ax-fg); }
.ab-pr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ab-pr article { padding: 24px; border-radius: 14px; border: 1px solid var(--ax-line); background: var(--ax-bg-raised); display: flex; flex-direction: column; }
.ab-pr .t-data { font-size: 11px; color: var(--ax-fg-faint); }
.ab-pr h3 { font-size: var(--text-lg); margin: 10px 0 8px; } .ab-pr p { margin: 0 0 18px; font-size: 14px; color: var(--ax-fg-muted); }
.ab-pr a { margin-top: auto; font: 600 13px var(--font-body); color: var(--ax-fg); text-decoration: none; }
.ab-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ax-line); }
.ab-facts li { display: flex; flex-direction: column; gap: 2px; padding: 18px 20px 18px 0; border-bottom: 1px solid var(--ax-line); }
.ab-facts b { font: 600 var(--text-2xl) var(--font-display); color: var(--ax-fg); letter-spacing: -0.02em; line-height: 1.1; }
.ab-facts span { margin-top: 6px; font-size: 13.5px; font-weight: 600; color: var(--ax-fg); }
.ab-facts small { font-size: 12px; color: var(--ax-fg-faint); }
.ab-close { padding: 0 0 88px; } .da + .ab-close { padding-top: 8px; }
.ab-note { color: var(--ax-fg-muted); font-size: 14px; margin: 12px 0 0; }

/* A */
.da-pr { grid-template-columns: 1fr; gap: 0; } .da-pr article { flex-direction: row; flex-wrap: wrap; gap: 4px 16px; border-radius: 0; border: 0; border-top: 1px solid var(--ax-line); padding: 20px 0; background: none; }
.da-pr .t-data { width: 28px; padding-top: 4px; } .da-pr h3 { margin: 0; width: calc(100% - 44px); } .da-pr p, .da-pr a { margin: 0 0 0 44px; width: calc(100% - 44px); max-width: 62ch; } .da-pr p { margin-bottom: 8px; }
.da-routes { margin-bottom: 0; }
.da-lines { list-style: none; margin: 0 0 24px; padding: 0; }
.da-lines li { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--ax-line); color: var(--ax-fg); font-size: 15px; }
.da-lines .t-data { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ax-danger, #B42318); padding-top: 3px; }
.da-sec a { color: var(--ax-fg); }


/* ---------- responsive ---------- */
@media (max-width: 1080px) { .da-body { grid-template-columns: 1fr; gap: 0; } .da-toc { display: none; } }
@media (max-width: 860px) { .cl-box { flex-direction: column; align-items: flex-start; padding: 28px; } }
@media (max-width: 640px) {
  .ab-serve, .ab-routes { grid-template-columns: 1fr; gap: 12px; } .ab-serve { gap: 24px; }
  .ab-facts { grid-template-columns: 1fr 1fr; } .ab-facts b { font-size: var(--text-xl); }
  .da-lines li { grid-template-columns: 1fr; gap: 4px; } .da-head h1 { font-size: 36px; }
  .da-head { padding: 48px 0 36px; }
}
.ab-serve + .fine { margin-top: 24px; font-size: 13.5px; color: var(--ax-fg-muted); }
