/* ==========================================================================
   江南赛事 · 共享样式 /assets/site.css
   基调：黛青夜色 × 月白留白 × 朱砂重音 × 鎏金点缀
   ========================================================================== */

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

/* ---------- 2. Design tokens ---------- */
:root{
  --jn-daiqing:#1F3A4D;
  --jn-shendai:#142833;
  --jn-yuebai:#F4F7F9;
  --jn-white:#FFFFFF;
  --jn-zhusha:#C0392B;
  --jn-liujin:#C9A227;
  --jn-qinghui:#6B7F8C;
  --jn-qianqing:#D4DEE3;
  --jn-home:#2E5E7E;
  --jn-away:#8C6B4A;

  --jn-bg:var(--jn-yuebai);
  --jn-ink:var(--jn-daiqing);
  --jn-line:var(--jn-qianqing);
  --jn-muted:#6B7F8C;
  --jn-body:#2C4453;

  --jn-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",Georgia,serif;
  --jn-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --jn-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --jn-shell:1280px;
  --jn-gutter:clamp(18px,4vw,44px);
  --jn-gap:clamp(18px,3vw,32px);
  --jn-radius:2px;
  --jn-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 3. Base ---------- */
body{
  font-family:var(--jn-sans);
  font-size:16px;
  line-height:1.78;
  color:var(--jn-body);
  background:var(--jn-bg);
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{color:var(--jn-ink);font-family:var(--jn-serif);font-weight:500;line-height:1.3;letter-spacing:.01em}
:focus-visible{outline:2px solid var(--jn-zhusha);outline-offset:3px}
.jn-header :focus-visible,.jn-footer :focus-visible{outline-color:var(--jn-liujin)}
#main-content{scroll-margin-top:130px}

.jn-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.jn-skip{position:fixed;left:14px;top:-70px;z-index:200;padding:10px 18px;background:var(--jn-zhusha);color:#fff;font-size:14px;letter-spacing:.08em;transition:top .22s var(--jn-ease)}
.jn-skip:focus{top:14px}

/* ---------- 4. Layout ---------- */
.jn-shell{width:100%;max-width:var(--jn-shell);margin:0 auto;padding-inline:var(--jn-gutter)}
.jn-section{padding-block:clamp(48px,7vw,96px)}
.jn-section__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:first 16px;gap:16px;padding-bottom:18px;margin-bottom:clamp(24px,4vw,40px);
  border-bottom:1px solid var(--jn-line);
}
.jn-grid{display:grid;gap:var(--jn-gap)}
.jn-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jn-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jn-grid--split{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start}
.jn-rule{height:1px;border:0;background:var(--jn-line);margin:0}
.jn-note{font-size:13px;line-height:1.85;color:var(--jn-muted)}

/* ---------- 5. Typography helpers ---------- */
.jn-display{font-family:var(--jn-serif);font-weight:300;font-size:clamp(2.6rem,7.2vw,5.4rem);line-height:.98;letter-spacing:.01em;color:var(--jn-ink)}
.jn-title{font-family:var(--jn-serif);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.32;color:var(--jn-ink)}
.jn-lead{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9;color:#3B5566;max-width:62ch}
.jn-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--jn-mono);font-size:11px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--jn-muted)}
.jn-eyebrow::before{content:"";flex:0 0 auto;width:8px;height:8px;background:var(--jn-zhusha)}
.jn-prose{max-width:72ch;font-size:16.5px;line-height:1.95;color:var(--jn-body)}
.jn-prose p+p{margin-top:1.05em}
.jn-prose h2{font-size:clamp(1.3rem,2vw,1.7rem);margin-top:2.2em;margin-bottom:.7em;padding-top:.2em}
.jn-prose h3{font-size:1.12rem;margin-top:1.8em;margin-bottom:.6em}
.jn-prose ul{margin:1em 0;padding-left:0}
.jn-prose li{position:relative;padding-left:1.2em;margin-bottom:.5em}
.jn-prose li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:1px;background:var(--jn-zhusha)}
.jn-prose a{color:var(--jn-daiqing);box-shadow:inset 0 -1px 0 var(--jn-zhusha);transition:color .25s var(--jn-ease)}
.jn-prose a:hover{color:var(--jn-zhusha)}

/* ---------- 6. Header ---------- */
.jn-header{
  position:sticky;top:0;z-index:80;
  background:var(--jn-daiqing);
  color:var(--jn-yuebai);
  border-bottom:1px solid rgba(212,222,227,.16);
}
.jn-header__top{
  position:relative;z-index:3;
  background:
    linear-gradient(90deg,rgba(244,247,249,.05) 1px,transparent 1px) 0 0/72px 100%,
    var(--jn-daiqing);
}
.jn-header__inner{display:flex;align-items:center;gap:clamp(12px,2vw,28px);min-height:66px}

.jn-brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:6px 0}
.jn-brand__mark{
  display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;
  border:1px solid rgba(201,162,39,.7);background:rgba(201,162,39,.08);
  color:var(--jn-liujin);font-family:var(--jn-mono);font-size:13px;letter-spacing:.12em;
  transition:background .25s var(--jn-ease),color .25s var(--jn-ease);
}
.jn-brand:hover .jn-brand__mark{background:var(--jn-liujin);color:var(--jn-shendai)}
.jn-brand__text{display:flex;flex-direction:column;line-height:1.15}
.jn-brand__name{font-family:var(--jn-serif);font-size:22px;font-weight:500;letter-spacing:.18em;color:var(--jn-yuebai)}
.jn-brand__latin{font-family:var(--jn-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,247,249,.5)}

.jn-nav{margin-left:auto}
.jn-nav__list{
  display:flex;align-items:center;gap:2px;padding:4px;
  border:1px solid rgba(244,247,249,.16);border-radius:999px;
  background:rgba(244,247,249,.05);
}
.jn-nav__item{display:flex}
.jn-nav__link{
  display:flex;align-items:baseline;gap:6px;
  padding:8px 14px;border-radius:999px;
  font-size:14px;letter-spacing:.04em;color:rgba(244,247,249,.82);
  transition:background .25s var(--jn-ease),color .25s var(--jn-ease);
}
.jn-nav__index{font-family:var(--jn-mono);font-size:10px;color:rgba(201,162,39,.75);transition:color .25s var(--jn-ease)}
.jn-nav__link:hover{background:rgba(244,247,249,.12);color:#fff}
.jn-nav__link[aria-current="page"]{background:var(--jn-zhusha);color:#fff}
.jn-nav__link[aria-current="page"] .jn-nav__index{color:rgba(255,255,255,.72)}

.jn-burger{
  display:none;align-items:center;gap:9px;margin-left:auto;
  padding:9px 15px;border:1px solid rgba(244,247,249,.28);border-radius:999px;
  color:var(--jn-yuebai);font-family:var(--jn-mono);font-size:12px;letter-spacing:.14em;
  transition:border-color .25s var(--jn-ease),color .25s var(--jn-ease);
}
.jn-burger:hover{border-color:var(--jn-liujin);color:var(--jn-liujin)}
.jn-burger__bars{display:grid;gap:5px;width:18px}
.jn-burger__bar{display:block;height:1px;background:currentColor;transition:transform .3s var(--jn-ease)}
.jn-header[data-open] .jn-burger__bar:nth-child(1){transform:translateY(3px) rotate(45deg)}
.jn-header[data-open] .jn-burger__bar:nth-child(2){transform:translateY(-3px) rotate(-45deg)}

.jn-header__sub{
  position:relative;z-index:1;
  background:var(--jn-shendai);
  border-top:1px solid rgba(212,222,227,.14);
}
.jn-header__subinner{display:flex;align-items:center;gap:clamp(12px,3vw,32px);min-height:44px}

.jn-subnav{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.jn-subnav__label{font-family:var(--jn-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,247,249,.42)}
.jn-subnav__link{position:relative;padding:4px 0;font-size:13px;letter-spacing:.1em;color:var(--jn-yuebai);transition:color .25s var(--jn-ease)}
.jn-subnav__link::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--jn-liujin);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--jn-ease);
}
.jn-subnav__link:hover{color:var(--jn-liujin)}
.jn-subnav__link:hover::after{transform:scaleX(1)}

.jn-search{position:relative;display:flex;align-items:center;flex:1 1 200px;max-width:460px;margin-left:auto;min-width:0}
.jn-search__input{
  width:100%;padding:8px 34px 8px 14px;
  background:rgba(244,247,249,.06);
  border:1px solid rgba(212,222,227,.24);
  color:var(--jn-yuebai);
  font-family:var(--jn-mono);font-size:13px;letter-spacing:.05em;
  transition:border-color .25s var(--jn-ease),background .25s var(--jn-ease);
}
.jn-search__input::placeholder{color:rgba(244,247,249,.42)}
.jn-search__input:focus{border-color:var(--jn-zhusha);background:rgba(244,247,249,.1)}
.jn-search__icon{
  position:absolute;right:14px;top:50%;width:12px;height:12px;margin-top:-7px;
  border:1px solid rgba(244,247,249,.55);border-radius:50%;pointer-events:none;
}
.jn-search__icon::after{content:"";position:absolute;right:-4px;bottom:-3px;width:6px;height:1px;background:rgba(244,247,249,.55);transform:rotate(45deg)}
.jn-search__panel{
  position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:60;
  padding:16px;background:var(--jn-yuebai);color:var(--jn-ink);
  border:1px solid var(--jn-line);border-top:2px solid var(--jn-zhusha);
  box-shadow:0 28px 50px -26px rgba(20,40,51,.55);
}
.jn-search__hint{margin-bottom:12px;font-size:13px;line-height:1.75;color:var(--jn-muted)}
.jn-search__tags{display:flex;flex-wrap:wrap;gap:8px}
.jn-search__item{display:flex}
.jn-search__empty{font-size:13px;color:var(--jn-zhusha)}

.jn-tag{
  display:inline-flex;align-items:center;
  padding:4px 10px;border:1px solid var(--jn-line);background:var(--jn-white);
  font-family:var(--jn-mono);font-size:12px;letter-spacing:.05em;color:var(--jn-daiqing);
  transition:border-color .2s var(--jn-ease),color .2s var(--jn-ease),background .2s var(--jn-ease);
}
.jn-tag:hover{border-color:var(--jn-zhusha);color:var(--jn-zhusha)}
.jn-tag:active,.jn-tag[data-active]{background:var(--jn-daiqing);border-color:var(--jn-daiqing);color:var(--jn-yuebai)}

.jn-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none}
.jn-progress__bar{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--jn-zhusha),var(--jn-liujin));transition:width .12s linear}

/* ---------- 7. Footer ---------- */
.jn-footer{
  position:relative;overflow:hidden;
  background:var(--jn-daiqing);color:rgba(244,247,249,.82);
  border-top:2px solid var(--jn-zhusha);
}
.jn-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(244,247,249,.05) 1px,transparent 1px);
  background-size:80px 100%;
}
.jn-footer__main{position:relative;padding-block:clamp(42px,6vw,76px)}
.jn-footer__grid{
  display:grid;
  grid-template-columns:minmax(240px,1.4fr) minmax(140px,1fr) minmax(140px,1fr) minmax(240px,1.5fr);
  gap:clamp(24px,4vw,56px);
}
.jn-footer__brand{max-width:34ch}
.jn-footer__mark{font-family:var(--jn-serif);font-size:26px;font-weight:500;letter-spacing:.2em;color:var(--jn-yuebai)}
.jn-footer__tagline{margin-top:14px;font-size:14px;line-height:1.9;color:rgba(244,247,249,.66)}
.jn-footer__badge{
  display:inline-block;margin-top:18px;padding:5px 12px;
  border:1px solid rgba(201,162,39,.55);color:var(--jn-liujin);
  font-family:var(--jn-mono);font-size:11px;letter-spacing:.16em;
}
.jn-footer__col{min-width:0}
.jn-footer__title{
  margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(212,222,227,.18);
  font-family:var(--jn-mono);font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,247,249,.5);
}
.jn-footer__list{display:grid;gap:9px}
.jn-footer__link{position:relative;display:inline-block;padding:2px 0;font-size:14px;color:rgba(244,247,249,.82);transition:color .25s var(--jn-ease)}
.jn-footer__link::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--jn-liujin);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--jn-ease);
}
.jn-footer__link:hover{color:#fff}
.jn-footer__link:hover::after{transform:scaleX(1)}
.jn-footer__contact{display:grid;gap:0}
.jn-footer__row{
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:start;
  padding:11px 0;border-bottom:1px solid rgba(212,222,227,.14);
}
.jn-footer__row--wide{grid-template-columns:44px minmax(0,1fr)}
.jn-footer__key{padding-top:3px;font-family:var(--jn-mono);font-size:11px;letter-spacing:.14em;color:rgba(244,247,249,.45)}
.jn-footer__val{font-family:var(--jn-mono);font-size:13px;letter-spacing:.02em;color:var(--jn-yuebai);word-break:break-all}
.jn-footer__row--wide .jn-footer__val{font-family:var(--jn-sans);font-size:13.5px;line-height:1.72;word-break:normal;color:rgba(244,247,249,.84)}
.jn-footer__note{margin-top:14px;font-size:12.5px;line-height:1.8;color:rgba(244,247,249,.55)}
.jn-copy{
  padding:4px 10px;border:1px solid rgba(212,222,227,.3);
  font-family:var(--jn-mono);font-size:11px;letter-spacing:.1em;color:rgba(244,247,249,.72);
  transition:border-color .22s var(--jn-ease),color .22s var(--jn-ease);
}
.jn-copy:hover{border-color:var(--jn-liujin);color:var(--jn-liujin)}
.jn-copy[data-copied]{border-color:var(--jn-zhusha);color:var(--jn-zhusha)}
.jn-footer__bottom{position:relative;background:var(--jn-shendai);border-top:1px solid rgba(212,222,227,.16)}
.jn-footer__bottominner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 22px;
  padding-block:18px;
  font-family:var(--jn-mono);font-size:12px;letter-spacing:.08em;color:rgba(244,247,249,.55);
}
.jn-footer__meta{margin:0}
.jn-footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.jn-footer__legal .jn-footer__link{font-family:var(--jn-mono);font-size:12px;letter-spacing:.08em}
.jn-footer__sep{color:rgba(244,247,249,.3)}

/* ---------- 8. Components ---------- */
.jn-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border:1px solid var(--jn-daiqing);border-radius:var(--jn-radius);
  font-size:14px;letter-spacing:.06em;color:var(--jn-daiqing);background:transparent;
  transition:background .25s var(--jn-ease),color .25s var(--jn-ease),border-color .25s var(--jn-ease);
}
.jn-btn--solid{background:var(--jn-daiqing);color:var(--jn-yuebai)}
.jn-btn--solid:hover{background:var(--jn-zhusha);border-color:var(--jn-zhusha);color:#fff}
.jn-btn--ghost:hover{background:var(--jn-daiqing);color:var(--jn-yuebai)}
.jn-btn--gold{border-color:var(--jn-liujin);color:#9C7C1B;background:transparent}
.jn-btn--gold:hover{background:var(--jn-liujin);color:var(--jn-shendai)}

.jn-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--jn-mono);font-size:12px;letter-spacing:.08em;color:var(--jn-muted)}
.jn-breadcrumb__link{position:relative;color:var(--jn-muted);transition:color .22s var(--jn-ease)}
.jn-breadcrumb__link:hover{color:var(--jn-zhusha)}
.jn-breadcrumb__sep{color:var(--jn-qianqing)}

.jn-card{
  position:relative;display:flex;flex-direction:column;gap:10px;
  padding:22px;background:var(--jn-white);border:1px solid var(--jn-line);border-radius:var(--jn-radius);
  transition:border-color .3s var(--jn-ease),transform .3s var(--jn-ease),box-shadow .3s var(--jn-ease);
}
.jn-card::before{
  content:"";position:absolute;left:-1px;top:-1px;width:30px;height:2px;background:var(--jn-zhusha);
  opacity:0;transition:opacity .3s var(--jn-ease);
}
.jn-card:hover{border-color:var(--jn-daiqing);transform:translateY(-2px);box-shadow:0 22px 40px -30px rgba(20,40,51,.55)}
.jn-card:hover::before{opacity:1}
.jn-card__label{font-family:var(--jn-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--jn-muted)}
.jn-card__title{font-family:var(--jn-serif);font-size:20px;font-weight:500;line-height:1.42;color:var(--jn-ink)}
.jn-card__meta{font-family:var(--jn-mono);font-size:12px;letter-spacing:.05em;color:var(--jn-qinghui)}
.jn-card__body{font-size:14.5px;line-height:1.85;color:#3B5566}

.jn-media{
  position:relative;display:block;overflow:hidden;
  background:linear-gradient(135deg,var(--jn-daiqing) 0%,var(--jn-shendai) 100%);
  border-radius:var(--jn-radius);
}
.jn-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(244,247,249,.07) 1px,transparent 1px),
    linear-gradient(0deg,rgba(244,247,249,.05) 1px,transparent 1px);
  background-size:56px 56px,56px 56px;
}
.jn-media--16x9{aspect-ratio:16/9}
.jn-media--4x3{aspect-ratio:4/3}
.jn-media--1x1{aspect-ratio:1/1}
.jn-media__img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.jn-media__caption{
  position:absolute;left:0;bottom:0;z-index:2;
  padding:8px 14px;background:rgba(20,40,51,.82);color:var(--jn-yuebai);
  font-family:var(--jn-mono);font-size:11px;letter-spacing:.14em;
}

.jn-table__scroll{overflow-x:auto;background:var(--jn-white);border:1px solid var(--jn-line);border-radius:var(--jn-radius)}
.jn-table{min-width:560px;font-size:14px}
.jn-table th{
  padding:12px 16px;text-align:left;white-space:nowrap;
  background:var(--jn-yuebai);border-bottom:1px solid var(--jn-line);
  font-family:var(--jn-mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--jn-muted);
}
.jn-table td{padding:12px 16px;border-bottom:1px solid var(--jn-line);color:var(--jn-body);vertical-align:top}
.jn-table tbody tr{transition:background .2s var(--jn-ease)}
.jn-table tbody tr:hover{background:#F8FAFB}
.jn-table tbody tr:last-child td{border-bottom:0}

.jn-pillbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.jn-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border:1px solid var(--jn-line);background:var(--jn-white);
  font-size:13px;letter-spacing:.04em;color:var(--jn-daiqing);
  transition:background .25s var(--jn-ease),border-color .25s var(--jn-ease),color .25s var(--jn-ease);
}
.jn-pill:hover{border-color:var(--jn-daiqing)}
.jn-pill[aria-pressed="true"],.jn-pill[data-active]{background:var(--jn-daiqing);border-color:var(--jn-daiqing);color:var(--jn-yuebai)}
.jn-pill--home[aria-pressed="true"],.jn-pill--home[data-active]{background:var(--jn-home);border-color:var(--jn-home)}
.jn-pill--away[aria-pressed="true"],.jn-pill--away[data-active]{background:var(--jn-away);border-color:var(--jn-away)}

.jn-stat{padding-top:14px;border-top:2px solid var(--jn-daiqing)}
.jn-stat__value{font-family:var(--jn-mono);font-size:clamp(28px,4vw,40px);line-height:1;letter-spacing:-.02em;color:var(--jn-ink)}
.jn-stat__label{margin-top:9px;font-family:var(--jn-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--jn-muted)}
.jn-stat--key{border-top-color:var(--jn-zhusha)}
.jn-stat--key .jn-stat__value{-webkit-text-stroke:1px var(--jn-zhusha);color:transparent}
@supports not ((-webkit-text-stroke:1px red)){
  .jn-stat--key .jn-stat__value{color:var(--jn-zhusha)}
}

.jn-spy{display:grid;gap:2px}
.jn-spy__link{
  display:flex;align-items:baseline;gap:10px;
  padding:9px 12px;border-left:2px solid var(--jn-line);
  font-size:13.5px;color:var(--jn-muted);
  transition:color .25s var(--jn-ease),border-color .25s var(--jn-ease),background .25s var(--jn-ease);
}
.jn-spy__link:hover{color:var(--jn-daiqing);background:rgba(31,58,77,.04)}
.jn-spy__link[aria-current="true"]{border-left-color:var(--jn-zhusha);color:var(--jn-ink);background:rgba(31,58,77,.05)}

.jn-top{
  position:fixed;right:clamp(16px,3vw,34px);bottom:clamp(16px,3vw,34px);z-index:70;
  display:grid;place-items:center;width:48px;height:48px;
  border:1px solid var(--jn-daiqing);background:var(--jn-yuebai);color:var(--jn-daiqing);
  font-family:var(--jn-mono);font-size:10px;letter-spacing:.1em;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .28s var(--jn-ease),transform .28s var(--jn-ease),background .22s var(--jn-ease),color .22s var(--jn-ease);
}
.jn-top[data-visible]{opacity:1;visibility:visible;transform:none}
.jn-top:hover{background:var(--jn-daiqing);color:var(--jn-yuebai)}

.jn-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--jn-ease),transform .6s var(--jn-ease)}
.jn-reveal.is-in{opacity:1;transform:none}

/* ---------- 9. Responsive ---------- */
@media (max-width:1100px){
  .jn-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jn-footer__col--contact{grid-column:1 / -1}
}

@media (max-width:980px){
  .jn-header__inner{position:relative;min-height:62px}
  .jn-burger{display:inline-flex}
  .jn-nav{
    position:absolute;left:0;right:0;top:100%;z-index:5;
    margin:0;padding:6px var(--jn-gutter) 18px;display:none;
    background:var(--jn-shendai);
    border-top:1px solid rgba(212,222,227,.16);
    box-shadow:0 28px 44px -30px rgba(0,0,0,.7);
  }
  .jn-nav[data-open]{display:block}
  .jn-nav__list{flex-direction:column;align-items:stretch;gap:0;padding:0;border:0;border-radius:0;background:transparent}
  .jn-nav__item{display:block;border-bottom:1px solid rgba(212,222,227,.14)}
  .jn-nav__item:last-child{border-bottom:0}
  .jn-nav__link{justify-content:space-between;padding:14px 4px;border-radius:0;font-size:15px}
  .jn-nav__link:hover{background:transparent;color:#fff}
  .jn-nav__link[aria-current="page"]{
    background:transparent;color:#fff;padding-left:14px;
    box-shadow:inset 2px 0 0 var(--jn-zhusha);
  }
  .jn-nav__link[aria-current="page"] .jn-nav__index{color:var(--jn-liujin)}
  .jn-header__subinner{flex-wrap:wrap;gap:10px;padding-block:10px}
  .jn-subnav{flex:1 1 auto}
  .jn-search{flex:1 1 100%;max-width:none;margin-left:0}
  .jn-search__panel{left:0;right:0}
  .jn-grid--split{grid-template-columns:minmax(0,1fr)}
  .jn-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .jn-brand__latin{display:none}
  .jn-brand__name{font-size:19px;letter-spacing:.12em}
  .jn-grid--2,.jn-grid--3{grid-template-columns:minmax(0,1fr)}
  .jn-footer__grid{grid-template-columns:minmax(0,1fr)}
  .jn-footer__col--contact{grid-column:auto}
  .jn-footer__bottominner{flex-direction:column;align-items:flex-start}
  .jn-section__head{align-items:flex-start}
}

@media (max-width:420px){
  .jn-brand__mark{width:34px;height:34px;font-size:12px}
  .jn-burger__text{display:none}
  .jn-footer__row{grid-template-columns:minmax(0,1fr) auto}
  .jn-footer__row--wide{grid-template-columns:minmax(0,1fr)}
  .jn-footer__key{grid-column:1 / -1;padding-top:0}
}

/* ---------- 10. 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;
    scroll-behavior:auto!important;
  }
  .jn-reveal{opacity:1;transform:none}
  .jn-top{transform:none}
}
