/* ==========================================================================
   得乐88投注 · 共享站点样式 /assets/site.css
   骨架：验资(朱砂) — 比价(冷灰蓝) — 查询(铜金)
   ========================================================================== */

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

/* ---------- 2. Tokens ---------- */
:root{
  --ink:#0B0C0E;
  --ink-panel:#16181C;
  --indigo:#1E2A3A;
  --copper:#C08A3E;
  --copper-lit:#E3B871;
  --copper-dark:#7A5522;
  --cinnabar:#B4362B;
  --cinnabar-lit:#E08A7E;
  --steel:#4E6B7D;
  --steel-lit:#A9C2D2;
  --paper:#F2EDE3;
  --paper-dim:#E8DCC4;
  --gray:#8A8F96;

  --line:rgba(192,138,62,.26);
  --line-soft:rgba(192,138,62,.13);

  --font-head:"Source Han Serif SC","Noto Serif SC","Songti SC","SimSun",serif;
  --font-body:"Inter","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-data:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,"Courier New",monospace;

  --rail-w:264px;
  --rail-w-fold:96px;
  --wrap:1280px;
  --radius:2px;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- 3. Base ---------- */
body{
  background:
    radial-gradient(1200px 600px at 78% -8%, rgba(30,42,58,.55), transparent 62%),
    var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.75;
  letter-spacing:.005em;
  min-height:100vh;
  overflow-x:hidden;
  transition:padding-left .28s var(--ease);
}
main{display:block;min-height:52vh}

h1,.h1{font-family:var(--font-head);font-weight:800;font-size:clamp(34px,5vw,68px);line-height:1.08;letter-spacing:.01em}
h2,.h2{font-family:var(--font-head);font-weight:800;font-size:clamp(24px,3vw,40px);line-height:1.16;letter-spacing:.01em}
h3,.h3{font-family:var(--font-head);font-weight:700;font-size:clamp(19px,2vw,24px);line-height:1.3}
p{text-wrap:pretty}

strong{color:var(--copper-lit);font-weight:600}
code,.mono{font-family:var(--font-data);font-size:.94em;letter-spacing:.04em}

:focus-visible{outline:2px solid var(--copper-lit);outline-offset:3px;border-radius:1px}

/* ---------- 4. Skip link ---------- */
.skip-link{
  position:fixed;top:10px;left:10px;z-index:300;
  transform:translateY(-220%);
  padding:10px 18px;border-radius:var(--radius);
  background:var(--copper);color:#14100A;
  font-size:14px;font-weight:600;letter-spacing:.06em;
  transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* ---------- 5. Side rail header ---------- */
.site-rail{
  position:fixed;top:0;left:0;bottom:0;z-index:80;
  width:var(--rail-w);
  background:linear-gradient(180deg,#14161A 0%,#0B0C0E 60%,#111318 100%);
  border-right:1px solid var(--line);
  transition:width .28s var(--ease);
}
.site-rail::after{
  content:"";position:absolute;top:0;right:0;bottom:0;width:6px;
  background-image:repeating-linear-gradient(180deg,var(--copper-dark) 0 2px,transparent 2px 14px);
  opacity:.5;pointer-events:none;
}

.rail{
  position:relative;z-index:2;
  display:flex;flex-direction:column;
  height:100%;padding:26px 20px 22px;
  overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--copper-dark) transparent;
}

/* 品牌 */
.rail-brand{display:flex;flex-direction:column}
.brand-lockup{display:flex;align-items:flex-start;gap:12px}
.brand-mark{
  flex:none;width:46px;height:46px;border-radius:var(--radius);
  display:grid;place-items:center;
  border:1px solid var(--copper);
  background:linear-gradient(160deg,rgba(192,138,62,.22),rgba(192,138,62,.04));
  color:var(--copper-lit);
  font-family:var(--font-data);font-size:17px;letter-spacing:.02em;
}
.brand-text{display:block;min-width:0}
.brand-name{display:block;font-family:var(--font-head);font-weight:800;font-size:20px;line-height:1.2;color:var(--paper)}
.brand-sub{display:block;margin-top:5px;font-family:var(--font-data);font-size:10.5px;letter-spacing:.16em;color:var(--gray);text-transform:uppercase}
.brand-tagline{
  margin-top:14px;padding-top:12px;
  border-top:1px dashed rgba(192,138,62,.24);
  font-size:12.5px;line-height:1.6;color:var(--gray);
}

.rail-divider{height:1px;margin:20px 0 16px;background-image:repeating-linear-gradient(90deg,rgba(122,85,34,.95) 0 1px,transparent 1px 9px)}

/* 导航 */
.rail-nav-title{
  margin:0 0 10px;padding-left:12px;
  font-family:var(--font-data);font-size:10.5px;letter-spacing:.26em;
  color:var(--copper-dark);text-transform:uppercase;
}
.rail-list{display:flex;flex-direction:column;gap:2px}
.rail-item{min-width:0}
.rail-link{
  position:relative;isolation:isolate;
  display:flex;align-items:baseline;gap:12px;
  padding:11px 10px 11px 12px;
  border-left:2px solid transparent;
  color:rgba(242,237,227,.72);
  font-size:15.5px;letter-spacing:.02em;
  transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease);
}
.rail-link::before{
  content:"";position:absolute;inset:0;z-index:-1;width:0;
  background:linear-gradient(90deg,rgba(192,138,62,.18),transparent 92%);
  transition:width .22s var(--ease);
}
.rail-link:hover{color:var(--paper)}
.rail-link:hover::before{width:100%}
.rail-link:hover .rail-index{color:var(--copper-lit)}
.rail-link[aria-current="page"]{
  border-left-color:var(--copper);
  background-color:rgba(192,138,62,.07);
  color:var(--copper-lit);
}
.rail-link[aria-current="page"] .rail-index{color:var(--copper-lit)}
.rail-link[aria-current="page"]::before{width:100%;background:linear-gradient(90deg,rgba(192,138,62,.2),transparent 92%)}
.rail-index{font-family:var(--font-data);font-size:10.5px;letter-spacing:.1em;color:var(--copper-dark);transition:color .18s var(--ease)}
.rail-label{min-width:0}

/* 轨道底部 */
.rail-foot{
  margin-top:auto;padding-top:20px;
  border-top:1px solid rgba(192,138,62,.2);
  display:flex;flex-direction:column;gap:14px;
}
.rail-foot-title{
  font-family:var(--font-data);font-size:10.5px;letter-spacing:.26em;
  color:var(--copper-dark);text-transform:uppercase;
}
.utility-list{display:flex;flex-direction:column;gap:8px}
.utility-item{min-width:0}
.utility-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--gray);
  transition:color .18s var(--ease);
}
.utility-link::before{content:"↳";font-family:var(--font-data);color:var(--copper-dark)}
.utility-link:hover{color:var(--copper-lit)}

/* 按钮 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 20px;border-radius:var(--radius);
  border:1px solid var(--copper);
  font-size:14.5px;font-weight:600;letter-spacing:.05em;
  color:var(--copper-lit);
  background:linear-gradient(180deg,rgba(192,138,62,.14),rgba(192,138,62,.03));
  transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);
}
.btn:hover{border-color:var(--copper-lit);color:var(--copper-lit);background-color:rgba(192,138,62,.18)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--copper);border-color:var(--copper);color:#14100A}
.btn-primary:hover{background:var(--copper-lit);border-color:var(--copper-lit);color:#14100A}
.btn-ghost{border-color:rgba(242,237,227,.3);color:var(--paper);background:transparent}
.btn-ghost:hover{border-color:var(--copper);color:var(--copper-lit);background-color:rgba(192,138,62,.1)}
.btn-steel{border-color:rgba(78,107,125,.75);color:var(--steel-lit);background:rgba(78,107,125,.16)}
.btn-steel:hover{border-color:var(--steel);color:#D7E6EF;background-color:rgba(78,107,125,.3)}

.rail-cta{width:100%}
.cta-mini{display:none;font-family:var(--font-data);font-size:14px}

.rail-fold{
  width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 10px;border:1px dashed rgba(192,138,62,.36);border-radius:var(--radius);
  font-size:12.5px;letter-spacing:.08em;color:var(--gray);
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.rail-fold:hover{color:var(--copper-lit);border-color:var(--copper)}
.rail-fold-glyph{font-family:var(--font-data);font-size:13px;transition:transform .24s var(--ease)}

/* 抽屉遮罩 / 移动按钮 / 进度条 */
.rail-scrim{display:none}
.rail-toggle{
  display:none;
  position:fixed;right:18px;bottom:18px;z-index:96;
  width:60px;height:60px;border-radius:50%;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  border:1px solid var(--copper);
  background:rgba(11,12,14,.94);
  box-shadow:0 12px 34px rgba(0,0,0,.6);
  transition:background-color .2s var(--ease),border-color .2s var(--ease);
}
.rail-toggle:hover{background-color:rgba(192,138,62,.22);border-color:var(--copper-lit)}
.rail-toggle-bar{
  display:block;width:24px;height:2px;background:var(--copper-lit);border-radius:1px;
  transition:transform .24s var(--ease),opacity .2s var(--ease);
}
.rail-toggle[aria-expanded="true"] .rail-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rail-toggle[aria-expanded="true"] .rail-toggle-bar:nth-child(2){opacity:0}
.rail-toggle[aria-expanded="true"] .rail-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.rail-progress{
  position:absolute;top:0;right:0;bottom:0;width:3px;z-index:6;
  background:rgba(192,138,62,.14);pointer-events:none;
}
.rail-progress-bar{
  display:block;width:100%;height:100%;
  background:linear-gradient(180deg,var(--copper-lit),var(--copper-dark));
  transform:scaleY(0);transform-origin:top center;
  transition:transform .14s linear;
}

/* 折叠态 */
html[data-rail-fold="true"] .site-rail{width:var(--rail-w-fold)}
html[data-rail-fold="true"] .rail{padding:22px 12px;align-items:center}
html[data-rail-fold="true"] .rail-brand{width:100%;align-items:center}
html[data-rail-fold="true"] .brand-lockup{justify-content:center}
html[data-rail-fold="true"] .brand-text,
html[data-rail-fold="true"] .brand-tagline,
html[data-rail-fold="true"] .rail-nav-title,
html[data-rail-fold="true"] .rail-foot-title,
html[data-rail-fold="true"] .utility-link,
html[data-rail-fold="true"] .rail-label,
html[data-rail-fold="true"] .rail-fold-text,
html[data-rail-fold="true"] .cta-full{display:none}
html[data-rail-fold="true"] .rail-list{width:100%}
html[data-rail-fold="true"] .rail-link{justify-content:center;padding:13px 0;border-left-width:0;border-bottom:2px solid transparent}
html[data-rail-fold="true"] .rail-link[aria-current="page"]{border-bottom-color:var(--copper);background-color:rgba(192,138,62,.09)}
html[data-rail-fold="true"] .rail-index{font-size:13px}
html[data-rail-fold="true"] .rail-foot{width:100%}
html[data-rail-fold="true"] .rail-cta{padding:12px 0}
html[data-rail-fold="true"] .cta-mini{display:inline}
html[data-rail-fold="true"] .rail-fold-glyph{transform:rotate(180deg)}
html[data-rail-fold="true"] .mobile-only{display:none}

/* ---------- 6. Footer ---------- */
.site-foot{
  position:relative;margin-top:clamp(56px,8vw,120px);
  background:linear-gradient(180deg,#0E1013 0%,#0B0C0E 100%);
  border-top:1px solid rgba(192,138,62,.34);
}
.site-foot::before{
  content:"";display:block;height:7px;
  background-image:repeating-linear-gradient(90deg,var(--copper-dark) 0 2px,transparent 2px 16px);
  opacity:.55;
}
.foot-frame{
  width:100%;max-width:var(--wrap);margin:0 auto;
  padding:clamp(30px,4.6vw,60px) clamp(18px,4vw,48px) clamp(20px,3vw,32px);
}
.foot-head{
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
  padding-bottom:clamp(18px,3vw,30px);
  border-bottom:1px solid rgba(192,138,62,.24);
}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-seal{
  flex:none;width:54px;height:54px;border-radius:3px;
  display:grid;place-items:center;transform:rotate(-5deg);
  border:2px solid rgba(180,54,43,.75);
  background:rgba(180,54,43,.12);
  color:var(--cinnabar-lit);
  font-family:var(--font-head);font-weight:800;font-size:16px;letter-spacing:.06em;
}
.foot-brand-text{min-width:0}
.foot-name{font-family:var(--font-head);font-weight:800;font-size:20px;line-height:1.2}
.foot-sub{margin-top:4px;font-family:var(--font-data);font-size:11px;letter-spacing:.16em;color:var(--gray)}
.foot-head-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.foot-region{
  padding:6px 13px;border:1px solid rgba(192,138,62,.42);border-radius:var(--radius);
  font-family:var(--font-data);font-size:12px;letter-spacing:.12em;color:var(--copper);
}
.foot-skeleton{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-data);font-size:12px;letter-spacing:.22em;color:var(--copper-dark);
}
.foot-skeleton::before,.foot-skeleton::after{content:"";width:22px;height:1px;background:var(--copper-dark)}

.foot-body{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(22px,3vw,44px);
  padding:clamp(26px,4vw,46px) 0;
}
.foot-col{min-width:0}
.foot-col-title{
  display:flex;align-items:baseline;gap:10px;
  margin-bottom:14px;padding-bottom:9px;
  border-bottom:1px dashed rgba(192,138,62,.24);
  font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--paper);
}
.foot-col-index{font-family:var(--font-data);font-size:10.5px;letter-spacing:.1em;color:var(--copper-dark)}
.foot-links{display:flex;flex-direction:column;gap:9px}
.foot-link{
  position:relative;display:inline-block;padding-bottom:2px;
  font-size:15px;color:rgba(242,237,227,.7);
  transition:color .18s var(--ease);
}
.foot-link::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--copper);transition:width .18s var(--ease);
}
.foot-link:hover{color:var(--copper-lit)}
.foot-link:hover::after{width:100%}

.foot-contact{display:flex;flex-direction:column;gap:14px}
.foot-contact-item{display:flex;flex-direction:column;gap:3px}
.foot-contact-label{font-family:var(--font-data);font-size:10.5px;letter-spacing:.18em;color:var(--gray);text-transform:uppercase}
.foot-contact-value{font-family:var(--font-data);font-size:14px;line-height:1.65;color:rgba(242,237,227,.86);word-break:break-word}

.foot-base{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  padding-top:clamp(16px,2.4vw,24px);
  border-top:1px solid rgba(192,138,62,.24);
}
.foot-base-group{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.foot-icp{font-family:var(--font-data);font-size:12.5px;letter-spacing:.06em;color:var(--gray)}
.foot-copy{font-size:13px;color:var(--gray)}
.foot-note{font-size:13px;color:var(--gray)}
.foot-to-top{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border:1px solid rgba(192,138,62,.45);border-radius:var(--radius);
  font-size:13.5px;letter-spacing:.06em;color:var(--copper-lit);
  transition:background-color .18s var(--ease),border-color .18s var(--ease);
}
.foot-to-top:hover{background-color:rgba(192,138,62,.14);border-color:var(--copper)}

/* ---------- 7. Layout helpers ---------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.canvas{width:100%;padding:clamp(28px,4.5vw,64px) 0}
.grid{display:grid;gap:clamp(16px,2.4vw,28px)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rule{height:1px;margin:clamp(26px,4vw,52px) 0;background:var(--line);border:0}
.tick-rule{
  height:7px;
  border-top:1px solid rgba(192,138,62,.3);
  background-image:repeating-linear-gradient(90deg,var(--copper-dark) 0 1px,transparent 1px 12px);
}

/* ---------- 8. Typography bits ---------- */
.section-label{
  display:flex;align-items:baseline;gap:12px;margin-bottom:16px;
  font-family:var(--font-data);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--copper);
}
.section-label::after{
  content:"";flex:1;height:1px;align-self:center;
  background-image:repeating-linear-gradient(90deg,var(--copper-dark) 0 8px,transparent 8px 14px);
}
.section-label-index{color:var(--gray)}
.kicker{font-family:var(--font-data);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--copper)}
.lede{font-size:clamp(16.5px,1.5vw,19px);line-height:1.82;color:rgba(242,237,227,.82)}

/* ---------- 9. Tags & seals ---------- */
.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 10px;border:1px solid currentColor;border-radius:var(--radius);
  font-family:var(--font-data);font-size:11.5px;letter-spacing:.1em;
}
.tag--verify{color:var(--cinnabar-lit);background:rgba(180,54,43,.14);border-color:rgba(180,54,43,.6)}
.tag--price{color:var(--steel-lit);background:rgba(78,107,125,.16);border-color:rgba(78,107,125,.62)}
.tag--query{color:var(--copper-lit);background:rgba(192,138,62,.14);border-color:rgba(192,138,62,.55)}
.seal{
  display:inline-grid;place-items:center;width:64px;height:64px;border-radius:3px;
  transform:rotate(-6deg);
  border:2px solid rgba(180,54,43,.75);background:rgba(180,54,43,.08);
  color:var(--cinnabar-lit);
  font-family:var(--font-head);font-weight:800;font-size:16px;letter-spacing:.05em;
}

/* ---------- 10. Panels ---------- */
.panel{
  padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(22,24,28,.94),rgba(11,12,14,.9));
}
.panel--paper{background:var(--paper);color:var(--ink);border-color:rgba(11,12,14,.22)}
.panel--paper .panel-title,.panel--paper strong{color:var(--ink)}
.panel--verify{background:linear-gradient(180deg,rgba(60,22,19,.55),rgba(11,12,14,.92));border-color:rgba(180,54,43,.4)}
.panel--price{background:linear-gradient(180deg,rgba(30,42,58,.7),rgba(11,12,14,.92));border-color:rgba(78,107,125,.45)}
.panel--query{background:linear-gradient(180deg,rgba(64,46,18,.45),rgba(11,12,14,.92));border-color:rgba(192,138,62,.42)}
.panel-head{
  display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;
  margin-bottom:18px;padding-bottom:12px;border-bottom:1px dashed rgba(192,138,62,.3);
}
.panel-title{font-family:var(--font-head);font-weight:800;font-size:clamp(18px,1.9vw,23px);line-height:1.3}

/* ---------- 11. Data table ---------- */
.table-wrap{
  overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(22,24,28,.66);
  -webkit-overflow-scrolling:touch;
}
.data-table{min-width:560px;font-family:var(--font-data);font-size:13.5px}
.data-table caption{
  padding:14px 16px;text-align:left;
  font-family:var(--font-data);font-size:11.5px;letter-spacing:.2em;color:var(--copper);
  border-bottom:1px solid var(--line-soft);
}
.data-table th{
  padding:12px 16px;text-align:left;
  font-size:11.5px;letter-spacing:.16em;color:var(--gray);font-weight:500;
  border-bottom:1px solid var(--line);
  background:rgba(30,42,58,.35);
}
.data-table td{padding:12px 16px;border-bottom:1px solid rgba(242,237,227,.07);color:rgba(242,237,227,.86);vertical-align:top}
.data-table th[data-align="right"],.data-table td[data-align="right"]{text-align:right}
.data-table tbody tr:nth-child(even){background:rgba(242,237,227,.02)}
.data-table tbody tr:hover{background:rgba(192,138,62,.09)}
.data-table tbody tr:last-child td{border-bottom:0}

/* ---------- 12. Stats ---------- */
.stat{display:flex;flex-direction:column;gap:10px}
.stat-value{
  font-family:var(--font-data);font-weight:600;
  font-size:clamp(54px,9vw,132px);line-height:.92;letter-spacing:-.02em;
  color:var(--copper-lit);
}
.stat-value .stat-unit{margin-left:.12em;font-size:.26em;letter-spacing:.12em;color:var(--gray)}
.stat-label{font-family:var(--font-data);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}

/* ---------- 13. Media frame ---------- */
.media-frame{
  position:relative;padding:10px;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(22,24,28,.94),rgba(11,12,14,.94));
}
.media-frame img{
  width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:1px;
  background:var(--indigo);
  filter:grayscale(.2) contrast(1.06) brightness(.94);
}
.media-frame--tall img{aspect-ratio:4/5}
.media-frame--wide img{aspect-ratio:21/9}
.media-frame-caption{
  margin-top:10px;font-family:var(--font-data);font-size:12px;letter-spacing:.08em;color:var(--gray);
}

/* ---------- 14. Breadcrumb ---------- */
.breadcrumb{margin:clamp(20px,3vw,34px) 0 0}
.breadcrumb-list{display:flex;flex-wrap:wrap;gap:0;font-family:var(--font-data);font-size:11.5px;letter-spacing:.1em}
.breadcrumb-item{display:flex;align-items:center;color:var(--gray)}
.breadcrumb-item + .breadcrumb-item::before{content:"／";margin:0 10px;color:var(--copper-dark)}
.breadcrumb-item[aria-current="page"]{color:var(--paper)}
.breadcrumb-link{color:var(--gray);transition:color .18s var(--ease)}
.breadcrumb-link:hover{color:var(--copper-lit)}

/* ---------- 15. Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- 16. Responsive ---------- */
@media (max-width:1023px){
  .site-rail{
    position:static;width:100%;height:0;
    background:none;border-right:0;
  }
  .site-rail::after{display:none}
  .rail{
    position:fixed;top:0;left:0;bottom:0;z-index:92;
    width:min(348px,88vw);height:100%;
    padding:26px 20px 30px;
    background:linear-gradient(180deg,#14161A 0%,#0B0C0E 100%);
    border-right:1px solid var(--line);
    transform:translateX(-104%);
    transition:transform .3s var(--ease);
  }
  .rail[data-open="true"]{transform:translateX(0)}
  .rail[data-open="true"] + .rail-scrim{
    display:block;position:fixed;inset:0;z-index:88;
    background:rgba(6,7,9,.7);
    opacity:1;pointer-events:auto;
  }
  .rail-scrim{display:none}
  .rail-toggle{display:flex}
  .rail-fold{display:none}
  .rail-progress{display:none}
  html[data-rail-fold="true"] .rail{padding:26px 20px 30px}
  html[data-rail-fold="true"] .brand-text,
  html[data-rail-fold="true"] .brand-tagline,
  html[data-rail-fold="true"] .rail-nav-title,
  html[data-rail-fold="true"] .rail-label,
  html[data-rail-fold="true"] .utility-link,
  html[data-rail-fold="true"] .rail-foot-title,
  html[data-rail-fold="true"] .cta-full{display:revert}
  html[data-rail-fold="true"] .cta-mini{display:none}
  html[data-rail-fold="true"] .rail-link{justify-content:flex-start;padding:11px 10px 11px 12px;border-bottom-width:0;border-left-width:2px}
  html[data-rail-fold="true"] .rail-link[aria-current="page"]{border-left-color:var(--copper);border-bottom-color:transparent}
}

@media (min-width:1024px){
  body{padding-left:var(--rail-w)}
  html[data-rail-fold="true"] body{padding-left:var(--rail-w-fold)}
}

@media (max-width:900px){
  .grid-2,.grid-3{grid-template-columns:1fr}
}
@media (max-width:1000px){
  .foot-body{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  body{font-size:16px}
  .foot-body{grid-template-columns:1fr}
  .foot-head{align-items:flex-start}
  .foot-base{flex-direction:column;align-items:flex-start}
}

/* ---------- 17. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .reveal{opacity:1;transform:none}
  .rail-progress-bar{transition:none}
}
