/* Vaynexis A: phased inner-page visual renewal.
   Loaded only for the explicit build.py RENEWAL_PAGES allowlist.
   Preserve all existing text, form/contact handling, tables, IDs and scripts. */
html.renewal-a {
  --void:#f7f3ed; --deep:#f2ece3; --white:#fff; --panel:#fff;
  --line:#dcd1c5; --line-strong:#b39a7d;
  --copper:#b39a7d; --copper-hi:#76513b; --copper-lo:#d6c6b2;
  --ice:#76513b; --ice-text:#76513b; --ice-glow:transparent;
  --text:#352b24; --text-2:#51463d; --muted:#675b52;
  --font-jp:Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  --font-hud:Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --chamfer:none; --chamfer-sm:none;
  --max:1120px; --gutter:clamp(20px,5vw,64px); --section:clamp(60px,7vw,96px);
  scroll-padding-top:96px;
}
html.renewal-a body {background:#fff;color:var(--text);font-size:15px;line-height:1.95;letter-spacing:.015em;overflow-x:visible}
html.renewal-a .nav {background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none}
html.renewal-a .nav__in {height:82px}
html.renewal-a .nav__links {gap:18px;font-size:12px;font-weight:600}
html.renewal-a .nav__toggle {min-height:44px;border-color:var(--line-strong);font-size:13px}
html.renewal-a .mark small {color:var(--muted)}
html.renewal-a .btn {clip-path:none;min-height:44px;padding:13px 20px;letter-spacing:.025em;border-radius:2px;text-decoration:none}
html.renewal-a .btn--fill {background:#eadbc7;color:#49382e;border:1px solid transparent;box-shadow:none}
html.renewal-a .btn--fill:hover {background:#f3e8d9;color:#49382e}
html.renewal-a .btn--ghost {background:#fff;color:#76513b;border:1px solid #b39a7d}
html.renewal-a .btn--ghost:hover {background:#f7f3ed;color:#49382e}
html.renewal-a .btn--sm {padding:10px 15px}
html.renewal-a :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible {outline:3px solid #b47b40;outline-offset:5px}
html.renewal-a .page-head {background:#49382e;color:#fff;padding:clamp(52px,6vw,80px) 0;border:0}
html.renewal-a .page-head .h1 {color:#fff;font-size:clamp(28px,3.7vw,46px);font-weight:600;line-height:1.55;margin-top:20px;letter-spacing:-.025em}
html.renewal-a .page-head .hud {color:#eadbc7;letter-spacing:.16em;font-size:10px}
html.renewal-a .page-head .lead {color:#e0d4c7;max-width:72ch;line-height:2.05;font-size:15px;margin-top:24px}
html.renewal-a .page-head .lead b {color:#fff;font-weight:600}
html.renewal-a .page-head .fine {color:#e0d4c7;line-height:2;margin-top:18px}
html.renewal-a .page-head p a:not(.btn) {color:#eadbc7;text-decoration-color:#eadbc7}
html.renewal-a .sec {background:#fff;border-bottom:1px solid var(--line)}
html.renewal-a .sec--alt {background:#f7f3ed}
html.renewal-a .sec__head {margin-bottom:36px;gap:24px}
html.renewal-a .sec__head .hud {font-size:10px;letter-spacing:.16em;font-weight:700}
html.renewal-a .h2 {font-size:clamp(25px,3vw,36px);font-weight:600;line-height:1.65;letter-spacing:-.025em;margin-top:18px}
html.renewal-a .h3 {line-height:1.65;font-weight:600}
html.renewal-a .sec__idx {color:var(--muted);font-size:10px;letter-spacing:.12em}
html.renewal-a .fine {color:var(--muted);font-size:12px;line-height:1.9}
html.renewal-a .actions {gap:14px;margin-top:28px}
html.renewal-a :is(.mod,.card,.ccard,.ledger,.formula,.fig,.flow,.chart) {clip-path:none;border-radius:2px;box-shadow:none}
html.renewal-a :is(.mod,.card,.ccard) {background:#fff;border-color:var(--line);padding:28px 26px}
html.renewal-a .card::before,html.renewal-a .card::after {display:none}
html.renewal-a .card:hover {transform:none;box-shadow:none;border-color:var(--line-strong)}
html.renewal-a .mod--hi {background:#f2ece3;border-color:#b39a7d}
html.renewal-a .cards,html.renewal-a .cards2 {gap:24px}
html.renewal-a .ccard__v {font-size:clamp(18px,2.2vw,23px);line-height:1.7;word-break:normal;overflow-wrap:anywhere}
html.renewal-a .ccard__n {font-size:13px;line-height:1.9}
html.renewal-a :is(.card p,.mod ul,.faq p,.steps p,.rail p) {font-size:14px;line-height:1.95}
html.renewal-a .chips span {clip-path:none;border-radius:2px}
html.renewal-a .tbl {border:1px solid var(--line);border-radius:2px;background:#fff}
html.renewal-a .tbl th {background:#f2ece3;color:#51463d}
html.renewal-a .tbl td {line-height:1.9}
html.renewal-a .table {border-top-color:#b39a7d}
html.renewal-a .table div {padding-top:18px;padding-bottom:18px}
html.renewal-a .table dt {font-weight:600}
html.renewal-a .faq {gap:28px 40px}
html.renewal-a .faq>div {padding-top:22px}
html.renewal-a .pichead {background:#f7f3ed}
html.renewal-a .band {background:#49382e;color:#fff;border:0}
html.renewal-a .band .h2 {color:#fff}
html.renewal-a .band p {color:#e0d4c7;max-width:58ch;line-height:2}
html.renewal-a .band p.hud {color:#eadbc7}
html.renewal-a .band p a {color:#eadbc7;text-decoration-color:#eadbc7}
html.renewal-a .band__act .btn--ghost {background:transparent;color:#eadbc7;border-color:#d6c6b2}
html.renewal-a .band__act .btn--ghost:hover {background:#5a4538;color:#fff}
html.renewal-a .foot {background:#fff;padding-top:42px;padding-bottom:42px;color:var(--muted)}
html.renewal-a .foot__links {gap:12px 20px;line-height:1.9}
html.renewal-a .foot__copy {font-family:var(--font-jp);font-size:11px;letter-spacing:.04em}
/* Reading never waits for JavaScript, observers or a decorative reveal. */
html.renewal-a.js .sec,html.renewal-a.js .band {opacity:1;transform:none;transition:none}
html.renewal-a.js .sec .fig--seq .pipe>* {opacity:1;transform:none;animation:none}
html.renewal-a section[id] {scroll-margin-top:8px}
@media(max-width:1080px) {
  html.renewal-a .nav__links {top:82px;gap:0;background:#fff}
}
@media(max-width:760px) {
  html.renewal-a {--gutter:24px;--section:60px;scroll-padding-top:88px}
  html.renewal-a body {font-size:14px;padding-bottom:84px}
  html.renewal-a .nav__in {height:74px}
  html.renewal-a .nav__links {top:74px}
  html.renewal-a .page-head {padding:48px 0}
  html.renewal-a .page-head .h1 {font-size:29px;line-height:1.65}
  html.renewal-a .page-head .lead {font-size:14px}
  html.renewal-a .sec__head {margin-bottom:28px}
  html.renewal-a .sec__idx {align-self:start;white-space:nowrap;margin-top:6px}
  html.renewal-a :is(.mod,.card,.ccard) {padding:24px 22px}
  html.renewal-a .band__in {grid-template-columns:1fr;gap:28px}
  html.renewal-a .mcta {background:#fff;border-color:var(--line);padding:12px var(--gutter);backdrop-filter:none;-webkit-backdrop-filter:none}
  html.renewal-a .mcta .btn {min-height:46px}
  html.renewal-a section[id] {scroll-margin-top:8px}
}
/* Keep original stack / stack4 breakpoints, label content, cells and numeric values. */
@media(max-width:900px) {html.renewal-a .tbl table.stack4 tr {padding:14px 12px}}
@media(max-width:560px) {html.renewal-a .tbl table.stack tr {padding:14px 12px}}
@media(prefers-reduced-motion:reduce) {html.renewal-a *,html.renewal-a *::before,html.renewal-a *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print {
 html.renewal-a body {padding:0;font-size:12px;background:#fff;color:#000}
 html.renewal-a .page-head,html.renewal-a .sec {background:#fff;color:#000;padding:12px 0}
 html.renewal-a .page-head :is(.h1,.hud,.lead,.fine,b,a) {color:#000}
 html.renewal-a .tbl {border-color:#999;overflow:visible}
 html.renewal-a .btn {min-height:0}
}
/* Small step labels use the same readable brown rather than category pastels. */
html.renewal-a .steps__no,html.renewal-a .mod:not(.mod--no)>.hud {color:#76513b}
/* Operators and flow arrows carry meaning: use text-grade contrast. */
html.renewal-a .formula .op,html.renewal-a .pipe>.arw,html.renewal-a .conv__join {color:#76513b}
/* Long existing labels remain verbatim and participate in row height on narrow screens. */
@media(max-width:900px) {
 html.renewal-a .tbl table.stack4 td {padding:7px 0}
 html.renewal-a .tbl table.stack4 td::before {position:static;display:block;width:auto;margin-bottom:3px;font-size:12px;line-height:1.7}
 html.renewal-a .tbl table.stack4 td:first-child::before {display:none}
}
@media(max-width:560px) {
 html.renewal-a .tbl table.stack td {padding:7px 0}
 html.renewal-a .tbl table.stack td::before {position:static;display:block;width:auto;margin-bottom:3px;font-size:12px;line-height:1.7}
 html.renewal-a .tbl table.stack td:first-child::before {display:none}
}
/* Keep the expanded mobile menu within the actual viewport, not a clipped body. */
html.renewal-a .nav__toggle {white-space:nowrap;flex-shrink:0;min-width:78px;justify-content:center}
@media(max-width:1080px) {html.renewal-a .nav__links {left:0;right:0}}
@media(max-width:420px) {
 html.renewal-a .mark__logo {width:144px}
 html.renewal-a .mark {gap:8px}
 html.renewal-a .mark small {font-size:10px;letter-spacing:.06em}
}
