/* ===========================================================
   金博棋牌老版 · 全站共享样式 /assets/site.css
   =========================================================== */

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd,hr{margin:0;padding:0;}
ul,ol{list-style:none;}
img,picture,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
hr{border:0;}
table{border-collapse:collapse;width:100%;}

/* ---------- tokens ---------- */
:root{
  --ink-900:#0B2B22;
  --ink-700:#14463A;
  --felt-500:#1E5F4E;
  --line-300:#2F7A64;
  --gold-500:#C8A24A;
  --gold-300:#E3C77E;
  --brass-700:#8A6B2E;
  --crimson-600:#8E2434;
  --paper-100:#F4EFE4;
  --paper-200:#E7DFCE;
  --text-900:#14110E;
  --mist-400:#9BA8A2;

  --font-display:"Noto Serif SC","Source Han Serif SC","Songti SC",serif;
  --font-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;

  --rail-w:240px;
  --bar-h:64px;
  --bar-h-mobile:60px;
  --strip-h:46px;
  --shell-max:1280px;
  --gutter:24px;
  --section-pad:clamp(56px,7vw,104px);

  --stroke:rgba(47,122,100,.45);
  --stroke-strong:rgba(47,122,100,.78);
  --gold-line:rgba(200,162,74,.38);
  --glass:rgba(11,43,34,.66);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:240ms;
  --shadow-card:0 22px 48px -26px rgba(0,0,0,.8);
}

/* ---------- base ---------- */
body{
  min-height:100vh;
  background:var(--ink-900);
  color:var(--paper-100);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  padding-left:var(--rail-w);
  padding-top:var(--bar-h);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.26;letter-spacing:-.01em;text-shadow:0 1px 0 rgba(200,162,74,.35);}
h1{font-size:clamp(32px,4.4vw,52px);font-weight:900;}
h2{font-size:clamp(26px,3vw,34px);}
h3{font-size:21px;}
h4{font-size:17px;}
p{max-width:78ch;}
strong{color:var(--gold-300);font-weight:700;}
:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px;border-radius:4px;}

/* ---------- utilities ---------- */
.mono,.rail-mono{font-family:var(--font-mono);letter-spacing:-.02em;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip-link{
  position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-180%);
  padding:10px 20px;border-radius:999px;
  background:linear-gradient(180deg,var(--gold-300),var(--gold-500));
  color:var(--text-900);font-weight:700;font-size:14px;
  transition:transform var(--dur) var(--ease);
}
.skip-link:focus{transform:translateY(0);}
.shell{width:100%;max-width:var(--shell-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--gold-line) 18%,var(--gold-line) 82%,transparent);}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-500);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold-line);}
.lede{font-size:17px;line-height:1.8;color:#CBDBD3;max-width:62ch;}
.prose{max-width:72ch;}
.prose p+p{margin-top:1.1em;}
.prose h2{margin-top:2.2em;margin-bottom:.6em;}
.prose h3{margin-top:1.8em;margin-bottom:.5em;}

/* ---------- sections ---------- */
.section{position:relative;padding:var(--section-pad) 0;}
.section--deep{background:linear-gradient(180deg,#0B2B22 0%,#08201A 100%);}
.section--felt{background:linear-gradient(180deg,#14463A 0%,#103A30 100%);}
.section--paper{background:var(--paper-100);color:var(--text-900);}
.section--paper h1,.section--paper h2,.section--paper h3,.section--paper h4{text-shadow:0 1px 0 rgba(255,255,255,.7);color:var(--text-900);}
.section--paper p,.section--paper .prose{color:#3C362C;}
.section--paper .lede{color:#4A4238;}
.section--paper .eyebrow{color:var(--brass-700);}
.section--paper .eyebrow::before{background:rgba(138,107,46,.45);}
.section--paper strong{color:var(--brass-700);}

/* ---------- grid ---------- */
.grid{display:grid;gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));}
.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
.span-5{grid-column:span 5;}
.span-6{grid-column:span 6;}
.span-7{grid-column:span 7;}
.span-8{grid-column:span 8;}
.span-9{grid-column:span 9;}
.span-12{grid-column:span 12;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 26px;border-radius:999px;
  border:1px solid var(--stroke-strong);
  background:rgba(30,95,78,.34);
  color:var(--paper-100);font-size:15px;font-weight:600;letter-spacing:.01em;
  transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.btn:hover{transform:translateY(-3px);border-color:var(--gold-line);background:rgba(30,95,78,.6);color:var(--gold-300);}
.btn:active{transform:translateY(0);}
.btn:focus-visible{outline:2px solid var(--gold-300);outline-offset:3px;}
.btn--gold{background:linear-gradient(180deg,var(--gold-300),var(--gold-500));border-color:var(--gold-500);color:var(--text-900);font-weight:700;}
.btn--gold:hover{color:var(--text-900);box-shadow:0 18px 34px -18px rgba(200,162,74,.95);border-color:var(--gold-300);}
.btn--ghost{background:transparent;}
.btn--crimson{border-color:rgba(142,36,52,.85);background:rgba(142,36,52,.26);color:#F2D6DA;}
.btn--crimson:hover{background:rgba(142,36,52,.42);border-color:#B2374A;color:#FFE9EC;}
.section--paper .btn{border-color:rgba(20,70,58,.35);background:rgba(20,70,58,.08);color:var(--text-900);}
.section--paper .btn:hover{background:rgba(20,70,58,.16);color:var(--ink-700);}
.section--paper .btn--gold{background:linear-gradient(180deg,var(--gold-300),var(--gold-500));color:var(--text-900);border-color:var(--gold-500);}

/* ---------- chips ---------- */
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:999px;
  border:1px solid var(--stroke-strong);
  background:rgba(30,95,78,.3);
  font-size:13px;letter-spacing:.02em;color:var(--paper-100);
}
.chip--gold{border-color:var(--gold-line);background:rgba(200,162,74,.12);color:var(--gold-300);}
.chip--crimson{border-color:rgba(142,36,52,.8);background:rgba(142,36,52,.22);color:#F2D0D5;}
.section--paper .chip{border-color:rgba(20,70,58,.28);background:rgba(20,70,58,.07);color:#3C362C;}
.section--paper .chip--gold{border-color:rgba(138,107,46,.5);background:rgba(200,162,74,.2);color:#6B5320;}
.section--paper .chip--crimson{border-color:rgba(142,36,52,.45);background:rgba(142,36,52,.1);color:var(--crimson-600);}

/* ---------- cards & glass ---------- */
.card{
  position:relative;padding:26px;border-radius:16px;
  border:1px solid var(--stroke);
  background:linear-gradient(160deg,rgba(20,70,58,.55),rgba(11,43,34,.5));
  box-shadow:var(--shadow-card);
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.card::after{
  content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;
  background:linear-gradient(90deg,var(--brass-700),var(--gold-300));
  transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease);
}
.card:hover{transform:translateY(-6px);border-color:var(--gold-line);}
.card:hover::after{transform:scaleX(1);}
.card__index{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--gold-500);}
.card__title{margin-top:12px;font-size:21px;line-height:1.35;}
.card__text{margin-top:10px;font-size:15px;color:#C6D8D0;}
.section--paper .card{background:var(--paper-200);border-color:rgba(20,70,58,.18);box-shadow:0 20px 40px -30px rgba(20,17,14,.5);}
.section--paper .card__text{color:#4A4238;}
.section--paper .card__index{color:var(--brass-700);}
.glass{
  border-radius:18px;padding:22px 24px;
  border:1px solid var(--gold-line);
  background:var(--glass);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
}
.section--paper .glass{background:rgba(255,255,255,.55);border-color:rgba(138,107,46,.35);}

/* ---------- stats ---------- */
.stat{display:grid;gap:8px;}
.stat__value{
  display:flex;align-items:baseline;
  font-family:var(--font-mono);font-size:clamp(40px,6vw,72px);line-height:1;
  letter-spacing:-.03em;color:var(--gold-500);
}
.stat__unit{font-size:.34em;margin-left:8px;letter-spacing:0;color:var(--gold-300);}
.stat__label{font-size:13px;letter-spacing:.16em;color:var(--mist-400);}
.section--paper .stat__value{color:var(--brass-700);}
.section--paper .stat__unit{color:#8A6B2E;}
.section--paper .stat__label{color:#6A6152;}

/* ---------- media ---------- */
.media{
  position:relative;overflow:hidden;border-radius:16px;
  border:1px solid var(--stroke);
  background:linear-gradient(150deg,var(--ink-700),var(--felt-500));
}
.media__frame{position:relative;display:block;width:100%;aspect-ratio:16/10;}
.media__frame--portrait{aspect-ratio:3/4;}
.media__frame--square{aspect-ratio:1/1;}
.media__frame--wide{aspect-ratio:21/9;}
.media img,.media svg{width:100%;height:100%;object-fit:cover;}
.media__tag{position:absolute;top:14px;left:14px;z-index:2;}
.media__caption{
  padding:12px 18px;font-size:13px;color:var(--mist-400);
  border-top:1px solid var(--stroke);background:rgba(11,43,34,.55);
}
.section--paper .media{border-color:rgba(20,70,58,.22);}
.section--paper .media__caption{background:var(--paper-200);border-top-color:rgba(20,70,58,.16);color:#5A5244;}

/* ---------- next step ---------- */
.next-step{
  display:grid;gap:14px;padding:28px 30px;border-radius:18px;
  border:1px solid var(--gold-line);border-left:4px solid var(--gold-500);
  background:linear-gradient(120deg,rgba(200,162,74,.16),rgba(20,70,58,.34));
}
.next-step__label{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-500);}
.next-step__title{font-size:22px;}
.next-step__text{font-size:15px;color:#C6D8D0;max-width:62ch;}
.next-step__action{justify-self:start;}
.section--paper .next-step{background:linear-gradient(120deg,rgba(200,162,74,.24),rgba(231,223,206,.7));border-color:rgba(138,107,46,.5);border-left-color:var(--brass-700);}
.section--paper .next-step__label{color:var(--brass-700);}
.section--paper .next-step__text{color:#4A4238;}

/* ---------- breadcrumbs ---------- */
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--mist-400);}
.breadcrumbs__link{color:var(--mist-400);transition:color var(--dur) var(--ease);}
.breadcrumbs__link:hover{color:var(--gold-300);}
.breadcrumbs__sep{color:var(--line-300);}
.breadcrumbs__current{font-family:var(--font-mono);color:var(--gold-500);}
.section--paper .breadcrumbs,.section--paper .breadcrumbs__link{color:#6A6152;}
.section--paper .breadcrumbs__current{color:var(--brass-700);}

/* ---------- header : scroll progress ---------- */
.site-header{position:static;display:block;}
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:90;
  background:rgba(200,162,74,.14);
}
.scroll-progress__bar{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:left center;
  background:linear-gradient(90deg,var(--brass-700),var(--gold-300));
}

/* ---------- header : rail ---------- */
.rail{
  position:fixed;top:0;left:0;bottom:0;width:var(--rail-w);z-index:80;
  display:flex;flex-direction:column;gap:26px;overflow:hidden;
  padding:26px 18px 22px;
  border-right:1px solid var(--stroke);
  background:
    radial-gradient(120% 55% at 50% 0%,rgba(200,162,74,.12),transparent 62%),
    linear-gradient(180deg,#0B2B22 0%,#123B31 48%,#08201A 100%);
  box-shadow:inset -1px 0 0 rgba(200,162,74,.12);
}
.rail__brand{display:flex;align-items:center;gap:14px;}
.rail__mark{
  flex:none;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--text-900);
  background:radial-gradient(circle at 32% 28%,#E3C77E,#C8A24A 58%,#8A6B2E);
  box-shadow:inset 0 0 0 2px rgba(20,17,14,.35),0 12px 24px -14px rgba(0,0,0,.95);
}
.rail__text{display:flex;flex-direction:column;min-width:0;}
.rail__name{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.3;white-space:nowrap;}
.rail__sub{font-size:11px;letter-spacing:.22em;color:var(--mist-400);white-space:nowrap;}
.rail__toggle{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:12px;
  border:1px solid var(--stroke-strong);
  background:rgba(20,70,58,.5);
  color:var(--paper-100);font-size:14px;letter-spacing:.06em;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.rail__toggle:hover{border-color:var(--gold-line);background:rgba(30,95,78,.6);color:var(--gold-300);}
.rail__toggle-bars{position:relative;flex:none;width:16px;height:10px;}
.rail__toggle-bars::before,.rail__toggle-bars::after{
  content:"";position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:var(--gold-300);
  transition:transform var(--dur) var(--ease);
}
.rail__toggle-bars::before{top:1px;}
.rail__toggle-bars::after{bottom:1px;}
[data-nav-toggle][aria-expanded="true"] .rail__toggle-bars::before{transform:translateY(3.5px) rotate(45deg);}
[data-nav-toggle][aria-expanded="true"] .rail__toggle-bars::after{transform:translateY(-3.5px) rotate(-45deg);}
.rail__toggle-text{white-space:nowrap;}
.rail__foot{margin-top:auto;display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--stroke);}
.rail__meta{font-size:12px;color:var(--mist-400);}
.rail__meta .rail-mono{color:var(--gold-300);}
.rail__section{display:grid;gap:4px;font-size:12px;}
.rail__section-key{letter-spacing:.14em;color:var(--mist-400);}
.rail__section-value{font-family:var(--font-mono);font-size:14px;color:var(--gold-500);}

/* ---------- header : command bar ---------- */
.commandbar{
  position:fixed;top:0;left:var(--rail-w);right:0;height:var(--bar-h);z-index:76;
  display:flex;align-items:center;gap:20px;padding:0 24px;
  border-bottom:1px solid var(--stroke);
  background:rgba(11,43,34,.72);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  backdrop-filter:blur(14px) saturate(1.15);
}
.commandbar__status{
  display:flex;align-items:center;gap:10px;margin-right:auto;
  font-size:13px;letter-spacing:.01em;color:var(--mist-400);max-width:none;
}
.commandbar__pulse{
  flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold-500);
  box-shadow:0 0 0 4px rgba(200,162,74,.16);
  animation:jinbo-pulse 2.6s var(--ease) infinite;
}
@keyframes jinbo-pulse{0%,100%{opacity:.4;}50%{opacity:1;}}
.commandbar__quick{display:flex;align-items:center;gap:10px;}
.commandbar__entry{
  padding:9px 18px;border-radius:999px;white-space:nowrap;
  border:1px solid var(--stroke-strong);
  background:rgba(20,70,58,.45);
  font-size:14px;color:var(--paper-100);
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);
}
.commandbar__entry:hover{transform:translateY(-2px);border-color:var(--gold-line);color:var(--gold-300);background:rgba(30,95,78,.6);}
.commandbar__entry--primary{
  border-color:var(--gold-500);
  background:linear-gradient(180deg,var(--gold-300),var(--gold-500));
  color:var(--text-900);font-weight:700;
  box-shadow:0 14px 28px -16px rgba(200,162,74,.9);
}
.commandbar__entry--primary:hover{color:var(--text-900);border-color:var(--gold-300);background:linear-gradient(180deg,#EFD69C,var(--gold-500));}
.commandbar__entry[aria-current="page"]{border-color:var(--gold-500);color:var(--gold-300);box-shadow:inset 0 0 0 1px var(--gold-line);}
.commandbar__entry--primary[aria-current="page"]{color:var(--text-900);}

/* ---------- header : nav drawer ---------- */
.site-nav{
  position:fixed;top:var(--bar-h);left:var(--rail-w);z-index:78;
  width:min(360px,calc(100vw - var(--rail-w)));
  max-height:calc(100vh - var(--bar-h));overflow-y:auto;
  padding:22px 22px 26px;
  border-right:1px solid var(--stroke);
  border-bottom:1px solid var(--stroke);
  border-bottom-right-radius:18px;
  background:rgba(9,34,27,.95);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 34px 64px -34px rgba(0,0,0,.9);
  visibility:hidden;opacity:0;transform:translateX(-14px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility var(--dur) var(--ease);
}
.site-nav[data-open]{visibility:visible;opacity:1;transform:translateX(0);}
.site-nav__head{
  margin-bottom:14px;font-family:var(--font-mono);font-size:12px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold-500);max-width:none;
}
.site-nav__list{display:grid;gap:6px;}
.site-nav__item{display:block;}
.site-nav__link{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding:12px 14px;border-radius:12px;border:1px solid transparent;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),color var(--dur) var(--ease);
}
.site-nav__link:hover{background:rgba(30,95,78,.45);border-color:var(--gold-line);transform:translateX(4px);color:var(--gold-300);}
.site-nav__link:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px;}
.site-nav__num{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--gold-500);}
.site-nav__label{font-size:15px;letter-spacing:.02em;}
.site-nav__dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--line-300);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);}
.site-nav__link[aria-current="page"]{background:rgba(200,162,74,.14);border-color:var(--gold-line);color:var(--paper-100);}
.site-nav__link[aria-current="page"] .site-nav__dot{background:var(--gold-500);border-color:var(--gold-300);box-shadow:0 0 0 3px rgba(200,162,74,.2);}
.site-nav__note{margin-top:18px;padding-top:16px;border-top:1px solid var(--stroke);font-size:13px;color:var(--mist-400);max-width:none;}

/* ---------- footer ---------- */
.site-footer{
  position:relative;padding:64px 0 26px;
  border-top:1px solid var(--gold-line);
  background:linear-gradient(180deg,#0B2B22 0%,#061913 100%);
}
.site-footer__inner{
  width:100%;max-width:var(--shell-max);margin:0 auto;
  padding-left:var(--gutter);padding-right:var(--gutter);
  display:grid;gap:44px;
  grid-template-columns:minmax(230px,1.05fr) minmax(0,2fr) minmax(250px,1.2fr);
}
.footer-brand__mark{
  display:inline-flex;align-items:center;padding:8px 18px;border-radius:999px;
  font-family:var(--font-display);font-weight:900;letter-spacing:.1em;font-size:15px;color:var(--text-900);
  background:linear-gradient(180deg,var(--gold-300),var(--gold-500));
  box-shadow:0 16px 30px -20px rgba(200,162,74,.95);
}
.footer-brand__line{margin-top:16px;font-family:var(--font-display);font-size:17px;}
.footer-brand__meta{margin-top:10px;font-size:13px;color:var(--mist-400);}
.footer-brand__note{margin-top:12px;font-size:14px;line-height:1.7;color:#9FB3AB;max-width:36ch;}
.footer-cols{display:grid;gap:28px;grid-template-columns:repeat(3,minmax(0,1fr));}
.footer-col__title{margin-bottom:14px;font-family:var(--font-display);font-size:15px;letter-spacing:.08em;color:var(--gold-500);text-shadow:none;}
.footer-col__list{display:grid;gap:10px;}
.footer-col__item{display:block;}
.footer-col__link{
  position:relative;display:inline-block;padding-left:16px;
  font-size:14px;color:#C6D8D0;
  transition:color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
}
.footer-col__link::before{
  content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;
  background:var(--line-300);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.footer-col__link:hover{color:var(--gold-300);padding-left:20px;}
.footer-col__link:hover::before{background:var(--gold-500);transform:scale(1.25);}
.footer-col__link[aria-current="page"]{color:var(--gold-500);}
.footer-col__link[aria-current="page"]::before{background:var(--gold-500);}
.footer-contact__row{
  display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;
  padding:10px 0;font-size:14px;color:#C6D8D0;
  border-bottom:1px dashed rgba(47,122,100,.35);
}
.footer-contact__label{min-width:76px;font-size:13px;color:var(--mist-400);}
.footer-contact__value{color:#C6D8D0;}
.footer-contact__note{margin-top:14px;font-size:13px;line-height:1.7;color:var(--mist-400);max-width:44ch;}
.site-footer__legal{
  max-width:var(--shell-max);margin:44px auto 0;
  padding:20px var(--gutter) 0;
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  border-top:1px solid var(--stroke);
  font-size:13px;color:var(--mist-400);
}
.site-footer__legal-item{max-width:none;}

/* ---------- copyable & toast ---------- */
.copyable{
  display:inline-flex;align-items:center;
  padding:3px 10px;border-radius:8px;cursor:pointer;
  border:1px dashed var(--gold-line);
  background:rgba(200,162,74,.08);
  font-family:var(--font-mono);font-size:13px;letter-spacing:-.01em;color:var(--gold-300);
  -webkit-user-select:text;user-select:text;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.copyable:hover{background:rgba(200,162,74,.18);border-style:solid;border-color:var(--gold-500);color:var(--gold-300);}
.copyable:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px;}
.toast{
  position:fixed;left:50%;bottom:28px;z-index:150;
  padding:11px 22px;border-radius:999px;
  border:1px solid var(--gold-line);background:rgba(11,43,34,.95);
  color:var(--gold-300);font-size:14px;
  box-shadow:0 26px 46px -26px rgba(0,0,0,.95);
  opacity:0;pointer-events:none;transform:translate(-50%,14px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.toast.is-visible{opacity:1;transform:translate(-50%,0);}

/* ---------- reveal ---------- */
[data-reveal]{
  opacity:0;transform:translateY(16px);
  transition:opacity 320ms var(--ease),transform 320ms var(--ease);
  transition-delay:var(--reveal-delay,0ms);
}
[data-reveal].is-visible{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media (min-width:960px) and (max-width:1199px){
  :root{--rail-w:88px;}
  .rail{align-items:center;gap:20px;padding:22px 12px 18px;}
  .rail__text{display:none;}
  .rail__toggle{justify-content:center;padding:10px 12px;}
  .rail__toggle-text{display:none;}
  .rail__foot{text-align:center;}
  .rail__meta{display:none;}
  .rail__section-key{display:none;}
}
@media (max-width:1023px){
  .site-footer__inner{grid-template-columns:1fr;gap:36px;}
  .footer-brand__note{max-width:56ch;}
}
@media (max-width:959px){
  :root{--rail-w:0px;--bar-h:var(--bar-h-mobile);}
  body{padding-left:0;padding-top:calc(var(--bar-h-mobile) + var(--strip-h));}
  .rail{
    left:0;right:0;bottom:auto;width:100%;height:var(--bar-h-mobile);
    flex-direction:row;align-items:center;gap:14px;
    padding:0 16px;border-right:0;border-bottom:1px solid var(--stroke);
  }
  .rail__mark{width:36px;height:36px;font-size:16px;}
  .rail__text{flex:1 1 auto;}
  .rail__sub{display:none;}
  .rail__foot{display:none;}
  .rail__toggle{margin-left:auto;padding:9px 12px;}
  .commandbar{
    top:var(--bar-h-mobile);height:var(--strip-h);gap:12px;
    padding:0 14px;overflow-x:auto;overflow-y:hidden;
    border-bottom:1px solid var(--stroke);
  }
  .commandbar__status{display:none;}
  .commandbar__quick{gap:8px;}
  .commandbar__entry{padding:7px 14px;font-size:13px;}
  .site-nav{
    top:calc(var(--bar-h-mobile) + var(--strip-h));
    left:0;right:0;width:100%;
    max-height:calc(100vh - var(--bar-h-mobile) - var(--strip-h));
    border-right:0;border-bottom-left-radius:0;border-bottom-right-radius:0;
    border-radius:0;
  }
  .grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;}
  .span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-12{grid-column:span 6;}
}
@media (max-width:640px){
  :root{--gutter:16px;--section-pad:clamp(44px,10vw,72px);}
  .footer-cols{grid-template-columns:1fr 1fr;}
  .footer-contact__row{flex-direction:column;gap:2px;}
  .site-footer__legal{justify-content:flex-start;}
  .next-step{padding:22px 20px;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  [data-reveal]{opacity:1;transform:none;}
  .scroll-progress__bar{transition:none;}
}
