/* ============================================================
   大江体育 · 共享样式 /assets/site.css
   纵向叙事长卷 / 自然矿物色 / 纸张叠层 / 悬浮胶囊导航
   ============================================================ */

:root{
  --dj-deep:#0E3A3F;
  --dj-deep-2:#08282C;
  --dj-deep-3:#14545B;
  --dj-orange:#FF6A1A;
  --dj-orange-soft:#FFD8BF;
  --dj-blue:#1E6FD9;
  --dj-blue-soft:#D9E7FA;
  --dj-paper:#FFFFFF;
  --dj-bg:#F7F4EC;
  --dj-ink:#2B3536;
  --dj-moss:#5C7A5A;
  --dj-clay:#B4552F;
  --dj-line:rgba(14,58,63,.14);
  --dj-line-soft:rgba(14,58,63,.08);
  --dj-muted:#5D6E6C;
  --dj-font-head:"HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dj-font-body:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Segoe UI",sans-serif;
  --dj-font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --dj-radius:18px;
  --dj-pill:999px;
  --dj-shadow-card:0 20px 46px -36px rgba(8,40,44,.85);
  --dj-shell:1200px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:130px;
}
body{
  margin:0;
  background-color:var(--dj-bg);
  background-image:
    radial-gradient(1200px 420px at 84% -8%, rgba(30,111,217,.10), rgba(30,111,217,0) 70%),
    radial-gradient(880px 360px at 4% 0%, rgba(255,106,26,.10), rgba(255,106,26,0) 72%);
  background-repeat:no-repeat;
  color:var(--dj-ink);
  font-family:var(--dj-font-body);
  font-size:17px;
  line-height:1.75;
  word-break:break-word;
}
h1,h2,h3,h4,h5{
  font-family:var(--dj-font-head);
  color:var(--dj-deep);
  line-height:1.18;
  margin:0 0 .5em;
  font-weight:800;
}
p{margin:0 0 1em;}
img,svg,video{max-width:100%;height:auto;display:block;}
a{color:var(--dj-blue);}
a:hover{color:var(--dj-clay);}
ul,ol{margin:0;padding:0;}
button{font:inherit;}
#main-content{display:block;}
[hidden]{display:none !important;}

:focus-visible{
  outline:3px solid var(--dj-orange);
  outline-offset:3px;
}

/* ---------- 通用容器与节奏 ---------- */
.dj-shell{
  width:min(var(--dj-shell),calc(100% - 40px));
  margin-inline:auto;
}
.dj-section{padding-block:clamp(46px,6vw,96px);}
.dj-section--tight{padding-block:clamp(26px,3.6vw,52px);}
.dj-section--paper{background:var(--dj-paper);}
.dj-section--band{background:var(--dj-deep);color:#D8E7E5;}
.dj-section--band .dj-h2,
.dj-section--band .dj-h3,
.dj-section--band .dj-display{color:#fff;}
.dj-section--band .dj-lead,
.dj-section--band p{color:#B4CBC8;}
.dj-section--soft{background:linear-gradient(180deg,var(--dj-blue-soft),rgba(217,231,250,0));}
.dj-stack{display:flex;flex-direction:column;gap:clamp(16px,2.2vw,26px);}
.dj-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;}

.dj-index{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  font-family:var(--dj-font-mono);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--dj-orange);
}
.dj-index::after{
  content:"";
  width:48px;
  height:1px;
  background:currentColor;
  opacity:.45;
}
.dj-display{
  font-family:var(--dj-font-head);
  font-weight:900;
  font-size:clamp(2.4rem,6vw,5.2rem);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:0 0 .35em;
  color:var(--dj-deep);
}
.dj-h2{
  font-size:clamp(1.7rem,3.4vw,2.6rem);
  line-height:1.16;
  letter-spacing:-.015em;
  margin:0 0 .55em;
}
.dj-h3{
  font-size:clamp(1.1rem,1.7vw,1.35rem);
  line-height:1.35;
  margin:0 0 .45em;
}
.dj-lead{
  max-width:64ch;
  margin:0 0 1em;
  font-size:clamp(1rem,1.4vw,1.12rem);
  line-height:1.8;
  color:#465553;
}

.dj-prose{
  max-width:68ch;
  font-size:17px;
  line-height:1.78;
  color:var(--dj-ink);
}
.dj-prose p{margin:0 0 1.1em;}
.dj-prose h2{margin:1.8em 0 .6em;font-size:clamp(1.4rem,2.4vw,1.9rem);}
.dj-prose h3{margin:1.5em 0 .5em;font-size:1.16rem;}
.dj-prose ul,.dj-prose ol{margin:0 0 1.1em;padding-left:1.3em;}
.dj-prose li{margin-bottom:.45em;}
.dj-prose a{color:var(--dj-blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.dj-prose strong{color:var(--dj-deep);}
.dj-prose blockquote{
  margin:1.4em 0;
  padding:14px 20px;
  border-left:3px solid var(--dj-orange);
  border-radius:0 12px 12px 0;
  background:var(--dj-orange-soft);
  color:#5A3018;
}
.dj-prose code{
  font-family:var(--dj-font-mono);
  font-size:.9em;
  background:var(--dj-blue-soft);
  color:var(--dj-deep);
  padding:2px 6px;
  border-radius:6px;
}

.dj-visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

/* ---------- 网格 ---------- */
.dj-grid{display:grid;gap:clamp(18px,2.4vw,30px);}
.dj-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.dj-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.dj-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.dj-grid--split{grid-template-columns:1.4fr 1fr;}
.dj-grid--offset{grid-template-columns:1fr 1.15fr;}
.dj-grid--offset > *:nth-child(even){margin-top:clamp(0px,4vw,52px);}

/* ---------- 卡片与标签 ---------- */
.dj-card{
  position:relative;
  padding:clamp(18px,2.2vw,26px);
  background:var(--dj-paper);
  border:1px solid var(--dj-line-soft);
  border-radius:var(--dj-radius);
  box-shadow:var(--dj-shadow-card);
}
.dj-card--tilt{transform:rotate(-.7deg);}
.dj-card--tilt:nth-child(even){transform:rotate(.6deg);}
.dj-card--ink{background:var(--dj-deep);border-color:rgba(255,255,255,.1);color:#D6E5E3;}
.dj-card--ink .dj-h3,
.dj-card--ink .dj-card__title{color:#fff;}
.dj-card--paperedge{box-shadow:7px 7px 0 0 rgba(14,58,63,.1),var(--dj-shadow-card);}
.dj-card__meta{
  margin:0 0 8px;
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--dj-moss);
}
.dj-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border:1px solid currentColor;
  border-radius:var(--dj-pill);
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--dj-moss);
  white-space:nowrap;
}
.dj-tag--orange{color:var(--dj-clay);background:var(--dj-orange-soft);border-color:transparent;}
.dj-tag--blue{color:var(--dj-blue);background:var(--dj-blue-soft);border-color:transparent;}
.dj-tag--deep{color:#fff;background:var(--dj-deep);border-color:transparent;}

/* ---------- 媒体容器（页面阶段放图） ---------- */
.dj-media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16 / 10;
  border:1px solid var(--dj-line-soft);
  border-radius:var(--dj-radius);
  background:
    repeating-linear-gradient(115deg,rgba(14,58,63,.07) 0 1px,transparent 1px 26px),
    linear-gradient(140deg,var(--dj-blue-soft),rgba(255,216,191,.75));
}
.dj-media--wide{aspect-ratio:21 / 9;}
.dj-media--square{aspect-ratio:1 / 1;}
.dj-media--tall{aspect-ratio:4 / 5;}
.dj-media--band{background:linear-gradient(140deg,var(--dj-deep),var(--dj-deep-3));}
.dj-media__img{width:100%;height:100%;object-fit:cover;display:block;}
.dj-media__cap{
  position:absolute;
  left:12px;bottom:12px;
  padding:3px 10px;
  border-radius:var(--dj-pill);
  background:rgba(255,255,255,.9);
  color:var(--dj-deep);
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.06em;
}

/* ---------- 按钮 ---------- */
.dj-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 20px;
  border:1px solid transparent;
  border-radius:var(--dj-pill);
  font-family:var(--dj-font-head);
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .2s ease,background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.dj-btn--solid{
  background:var(--dj-orange);
  color:#2A1002;
  box-shadow:0 12px 26px -16px rgba(255,106,26,.9);
}
.dj-btn--solid:hover{background:#FF7F38;color:#2A1002;transform:translateY(-1px);}
.dj-btn--ghost{
  background:transparent;
  color:var(--dj-deep);
  border-color:rgba(14,58,63,.3);
}
.dj-btn--ghost:hover{background:rgba(14,58,63,.07);border-color:var(--dj-deep);color:var(--dj-deep);}
.dj-btn--deep{background:var(--dj-deep);color:#fff;}
.dj-btn--deep:hover{background:var(--dj-deep-3);color:#fff;}
.dj-btn--blue{background:var(--dj-blue);color:#fff;}
.dj-btn--blue:hover{background:#2A80E8;color:#fff;}
.dj-btn--wide{width:100%;}
.dj-section--band .dj-btn--ghost{color:#fff;border-color:rgba(255,255,255,.42);}
.dj-section--band .dj-btn--ghost:hover{background:rgba(255,255,255,.12);color:#fff;}

/* ---------- 面包屑 ---------- */
.dj-breadcrumb{margin:0 0 22px;}
.dj-breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  font-family:var(--dj-font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--dj-muted);
}
.dj-breadcrumb__link{color:var(--dj-blue);text-decoration:none;}
.dj-breadcrumb__link:hover{color:var(--dj-clay);text-decoration:underline;text-underline-offset:3px;}
.dj-breadcrumb__sep{color:#B6C4C1;}
.dj-breadcrumb__current{color:var(--dj-deep);}

/* ---------- 数据 ---------- */
.dj-stat{display:flex;flex-direction:column;gap:2px;}
.dj-stat__num{
  font-family:var(--dj-font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  font-size:clamp(1.5rem,3vw,2.3rem);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--dj-deep);
}
.dj-stat__label{font-size:13px;letter-spacing:.02em;color:var(--dj-muted);}
.dj-section--band .dj-stat__num{color:#fff;}
.dj-section--band .dj-stat__label{color:#9FBBB7;}

/* ============================================================
   页头：悬浮胶囊导航
   ============================================================ */
.dj-skip{
  position:absolute;
  left:50%;
  top:8px;
  z-index:200;
  transform:translate(-50%,-180%);
  padding:10px 20px;
  border-radius:var(--dj-pill);
  background:var(--dj-deep);
  color:#fff;
  font-family:var(--dj-font-head);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:transform .22s ease;
}
.dj-skip:focus,
.dj-skip:focus-visible{transform:translate(-50%,0);color:#fff;}

.dj-header{
  position:sticky;
  top:0;
  z-index:90;
  padding:12px 16px 0;
  background:linear-gradient(180deg,rgba(247,244,236,.99) 58%,rgba(247,244,236,.86) 80%,rgba(247,244,236,0) 100%);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  transition:padding .3s ease;
}

.dj-progress{
  position:absolute;
  top:0;left:0;
  width:0;
  height:3px;
  z-index:5;
  border-radius:0 3px 3px 0;
  background:linear-gradient(90deg,var(--dj-orange),var(--dj-blue));
  pointer-events:none;
}

.dj-float{
  position:relative;
  width:min(var(--dj-shell),100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:16px;
  padding:9px 10px 9px 14px;
  border:1px solid var(--dj-line);
  border-radius:var(--dj-pill);
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 40px -30px rgba(8,40,44,.9);
  transition:padding .3s ease,box-shadow .3s ease,background-color .3s ease;
}
.dj-header[data-shrunk] .dj-float{
  padding:5px 8px 5px 12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 48px -34px rgba(8,40,44,.95);
}

.dj-brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--dj-deep);
  text-decoration:none;
}
.dj-brand:hover{color:var(--dj-deep);}
.dj-brand__mark{
  flex:0 0 auto;
  display:block;
  width:38px;
  height:38px;
  transition:width .3s ease,height .3s ease;
}
.dj-header[data-shrunk] .dj-brand__mark{width:32px;height:32px;}
.dj-brand__mark svg{width:100%;height:100%;}
.dj-brand__stack{display:flex;flex-direction:column;line-height:1.15;}
.dj-brand__name{
  font-family:var(--dj-font-head);
  font-weight:900;
  font-size:17px;
  letter-spacing:.01em;
  color:var(--dj-deep);
}
.dj-brand__meta{
  font-family:var(--dj-font-mono);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--dj-moss);
  text-transform:uppercase;
  transition:opacity .25s ease,max-height .3s ease;
  max-height:16px;
}
.dj-header[data-shrunk] .dj-brand__meta{opacity:0;max-height:0;overflow:hidden;}

.dj-nav{display:flex;align-items:center;margin-left:auto;}
.dj-nav__list{display:flex;align-items:center;gap:2px;list-style:none;}
.dj-nav__item{display:block;}
.dj-nav__link{
  display:inline-flex;
  align-items:center;
  padding:8px 13px;
  border-radius:var(--dj-pill);
  font-size:15px;
  font-weight:500;
  color:var(--dj-deep);
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .22s ease,color .22s ease;
}
.dj-nav__link:hover{background:rgba(14,58,63,.08);color:var(--dj-deep);}
.dj-nav__link[aria-current="page"]{background:var(--dj-deep);color:#fff;}
.dj-nav__link[aria-current="page"]:hover{background:var(--dj-deep-3);color:#fff;}
.dj-nav__foot{display:none;}

.dj-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:8px;}

.dj-burger{
  display:none;
  align-items:center;
  gap:9px;
  margin-left:auto;
  padding:9px 14px 9px 12px;
  border:1px solid var(--dj-line);
  border-radius:var(--dj-pill);
  background:#fff;
  color:var(--dj-deep);
  font-family:var(--dj-font-head);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease;
}
.dj-burger__bars{display:flex;flex-direction:column;gap:4px;width:18px;}
.dj-burger__bars i{
  display:block;
  height:2px;
  border-radius:2px;
  background:var(--dj-deep);
  transition:transform .25s ease,opacity .25s ease,width .25s ease;
}
.dj-burger__bars i:nth-child(2){width:70%;}
.dj-burger[aria-expanded="true"]{background:var(--dj-deep);color:#fff;border-color:var(--dj-deep);}
.dj-burger[aria-expanded="true"] .dj-burger__bars i{background:#fff;width:18px;}
.dj-burger[aria-expanded="true"] .dj-burger__bars i:nth-child(1){transform:translateY(6px) rotate(45deg);}
.dj-burger[aria-expanded="true"] .dj-burger__bars i:nth-child(2){opacity:0;}
.dj-burger[aria-expanded="true"] .dj-burger__bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.dj-tabs{
  width:min(var(--dj-shell),100%);
  margin:8px auto 0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 6px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.dj-tabs::-webkit-scrollbar{display:none;}
.dj-tab{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 13px;
  border:1px solid rgba(14,58,63,.22);
  border-radius:var(--dj-pill);
  background:rgba(255,255,255,.62);
  color:var(--dj-deep);
  font-family:var(--dj-font-mono);
  font-size:12px;
  letter-spacing:.04em;
  text-decoration:none;
  transition:border-color .22s ease,background-color .22s ease,color .22s ease,transform .22s ease;
}
.dj-tab:hover{
  border-color:var(--dj-orange);
  background:var(--dj-orange-soft);
  color:var(--dj-clay);
  transform:translateY(-1px);
}
.dj-tab--legacy{border-style:dashed;}
.dj-tab__dot{
  flex:0 0 auto;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--dj-orange);
  box-shadow:0 0 0 3px rgba(255,106,26,.18);
}
.dj-tabs__tagline{
  flex:0 0 auto;
  margin:0 auto;
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--dj-moss);
  white-space:nowrap;
}

/* ============================================================
   页脚
   ============================================================ */
.dj-footer{
  position:relative;
  margin-top:clamp(56px,8vw,120px);
  background:var(--dj-deep-2);
  color:#C9DAD7;
  overflow:hidden;
}
.dj-footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,
    var(--dj-orange) 0 16%,
    var(--dj-blue) 16% 30%,
    var(--dj-moss) 30% 42%,
    var(--dj-clay) 42% 54%,
    rgba(255,255,255,0) 54% 100%);
}
.dj-footer::after{
  content:"";
  position:absolute;
  right:-80px;bottom:-140px;
  width:520px;height:320px;
  background:radial-gradient(closest-side,rgba(30,111,217,.26),rgba(30,111,217,0) 72%);
  pointer-events:none;
}
.dj-footer__inner{
  position:relative;
  z-index:1;
  width:min(var(--dj-shell),calc(100% - 40px));
  margin:0 auto;
  padding:clamp(44px,6vw,80px) 0 26px;
}
.dj-footer__top{
  display:grid;
  grid-template-columns:minmax(200px,.9fr) 2.4fr;
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.dj-footer__brand{display:flex;align-items:flex-start;gap:12px;}
.dj-footer__brandtext{display:block;line-height:1.4;}
.dj-footer__name{
  display:block;
  font-family:var(--dj-font-head);
  font-weight:900;
  font-size:19px;
  letter-spacing:.01em;
  color:#fff;
}
.dj-footer__tag{
  display:block;
  margin-top:2px;
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:#7FA09C;
}
.dj-footer__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 32px;
}
.dj-footer__title{
  margin:0 0 10px;
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--dj-orange);
  text-transform:uppercase;
}
.dj-footer__list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.dj-footer__link{
  color:#C9DAD7;
  font-size:15px;
  line-height:1.5;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.dj-footer__link:hover{color:var(--dj-orange);border-bottom-color:var(--dj-orange);}

.dj-footer__contact{
  margin-top:clamp(30px,4.5vw,56px);
  padding-top:24px;
  border-top:1px solid rgba(217,231,250,.14);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px 32px;
}
.dj-contact{display:flex;flex-direction:column;gap:3px;min-width:0;}
.dj-contact__label{
  font-family:var(--dj-font-mono);
  font-size:10px;
  letter-spacing:.16em;
  color:#6E8D89;
  text-transform:uppercase;
}
.dj-contact__value{font-size:15px;color:#EAF2F0;word-break:break-word;}
.dj-contact--note{grid-column:1 / -1;}
.dj-contact__note{margin:0;font-size:13px;line-height:1.75;color:#8FA8A4;}

.dj-footer__legal{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(217,231,250,.14);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 20px;
  font-size:13px;
  color:#8FA8A4;
}
.dj-footer__legal-list{list-style:none;display:flex;flex-wrap:wrap;gap:16px;}
.dj-footer__legal-list a{color:#C9DAD7;text-decoration:none;}
.dj-footer__legal-list a:hover{color:var(--dj-orange);}
.dj-footer__icp{
  margin:0;
  font-family:var(--dj-font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:#7FA09C;
}
.dj-footer__signoff{
  margin:0 0 0 auto;
  font-family:var(--dj-font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:#6E8D89;
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1120px){
  .dj-actions{display:none;}
  .dj-burger{display:inline-flex;}
  .dj-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    margin-left:0;
    padding:10px;
    border:1px solid var(--dj-line);
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 60px -32px rgba(8,40,44,.7);
    max-height:calc(100vh - 170px);
    overflow-y:auto;
  }
  .dj-nav[data-open]{display:flex;}
  .dj-nav__list{flex-direction:column;align-items:stretch;gap:2px;}
  .dj-nav__link{width:100%;padding:12px 14px;border-radius:14px;font-size:16px;}
  .dj-nav__foot{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:10px;
    padding-top:12px;
    border-top:1px dashed var(--dj-line);
  }
}

@media (max-width:960px){
  .dj-grid--3,.dj-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dj-grid--split,.dj-grid--offset{grid-template-columns:1fr;}
  .dj-grid--offset > *:nth-child(even){margin-top:0;}
  .dj-footer__top{grid-template-columns:1fr;}
  .dj-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:720px){
  body{font-size:16px;}
  .dj-shell{width:calc(100% - 28px);}
  .dj-header{padding:10px 12px 0;}
  .dj-tabs{padding:0 2px;}
  .dj-tabs__tagline{display:none;}
  .dj-brand__meta{display:none;}
}

@media (max-width:620px){
  .dj-grid--2,.dj-grid--3,.dj-grid--4{grid-template-columns:1fr;}
  .dj-card--tilt,.dj-card--tilt:nth-child(even){transform:none;}
  .dj-footer__grid{grid-template-columns:1fr;gap:22px;}
  .dj-footer__signoff{margin-left:0;width:100%;}
  .dj-footer__contact{grid-template-columns:1fr;}
}

/* ============================================================
   动效与 reduced-motion
   ============================================================ */
[data-reveal]{
  transition:opacity .72s cubic-bezier(.22,.8,.32,1),transform .72s cubic-bezier(.22,.8,.32,1);
  transition-delay:var(--dj-delay,0ms);
}
.dj-js [data-reveal]{opacity:0;transform:translateY(20px);}
.dj-js [data-reveal].is-visible{opacity:1;transform:none;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0ms !important;
  }
  .dj-js [data-reveal]{opacity:1;transform:none;}
  .dj-header[data-shrunk] .dj-brand__meta{opacity:1;max-height:16px;}
}
