/* ==========================================================================
   江南赛场 · 共享样式 / assets/site.css
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --c-bg:#0B1220;
  --c-teal:#112A33;
  --c-line:#F4F1E8;
  --c-paper:#E9E3D5;
  --c-red:#E23A2E;
  --c-yellow:#F2C230;
  --c-water:#4E8C8A;
  --c-gray:#8A97A6;
  --c-black:#05080D;

  --hairline: rgba(244,241,232,.14);
  --hairline-strong: rgba(244,241,232,.30);

  --font-display: "Noto Sans SC Condensed","Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body: "Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-mono: "JetBrains Mono","IBM Plex Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;

  --rail-w: 272px;
  --gutter: clamp(20px, 5vw, 88px);
  --gap: clamp(16px, 2.4vw, 32px);
  --maxw: 1440px;
  --measure: 72ch;

  --radius-xl: clamp(28px, 3.6vw, 44px);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 10px;
  --pill: 999px;

  --ease: cubic-bezier(.22,.61,.24,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  -webkit-text-size-adjust:100%;
  background-color: var(--c-bg);
  background-image:
    linear-gradient(to right, rgba(244,241,232,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(244,241,232,.035) 1px, transparent 1px);
  background-size: clamp(64px, 8vw, 112px) clamp(64px, 8vw, 112px);
  background-attachment: fixed;
}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0;}
ul,ol{padding:0;list-style:none;}
img,svg,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
:focus-visible{
  outline:2px solid var(--c-yellow);
  outline-offset:3px;
  border-radius:6px;
}

/* ---------- 3. 基础排版 ---------- */
body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  color:var(--c-line);
  font-family:var(--font-body);
  font-size:clamp(15px, .3vw + 14.2px, 17px);
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p{max-width:var(--measure);}
p + p{margin-top:1.4em;}
strong,b{font-weight:700;color:var(--c-line);}
::selection{background:var(--c-red);color:#fff;}

.display{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.6rem, 7.6vw, 6.4rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.section-title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.6rem, 3vw, 2.5rem);
  line-height:1.06;
  letter-spacing:-.03em;
}
.lede{
  font-size:clamp(1rem, 1.4vw, 1.16rem);
  line-height:1.74;
  color:rgba(244,241,232,.76);
  max-width:62ch;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--c-water);
}
.eyebrow::before{
  content:"";
  width:18px;height:2px;
  border-radius:2px;
  background:var(--c-red);
}
.mono-note{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.06em;
  line-height:1.75;
  color:var(--c-gray);
}

/* ---------- 4. 布局基元 ---------- */
.site-main{
  flex:1 0 auto;
  display:block;
  padding-block:clamp(2rem, 5vw, 4.5rem) clamp(2.4rem, 6vw, 5.5rem);
}
.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.container--wide{max-width:1680px;}
.container--narrow{max-width:880px;}
.grid{display:grid;gap:var(--gap);}
.grid--12{grid-template-columns:repeat(12,minmax(0,1fr));}
@media (max-width:899.98px){.grid--12{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media (max-width:559.98px){.grid--12{grid-template-columns:repeat(2,minmax(0,1fr));}}

.card{
  background:linear-gradient(170deg, rgba(17,42,51,.92), rgba(11,18,32,.92));
  border:1px solid var(--hairline);
  border-radius:var(--radius-lg);
  padding:clamp(1.2rem, 2.4vw, 1.9rem);
}

/* ---------- 5. 按钮与胶囊 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.78rem 1.35rem;
  border-radius:var(--pill);
  border:1px solid transparent;
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.2;
  transition:transform .22s var(--ease), background-color .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease);
}
.btn:hover{transform:translateY(-3px);}
.btn--primary{background:var(--c-red);color:#fff;}
.btn--primary:hover{background:#f04a3c;}
.btn--yellow{background:var(--c-yellow);color:var(--c-black);}
.btn--yellow:hover{background:#ffd24a;}
.btn--ghost{
  border-color:var(--hairline-strong);
  background:rgba(244,241,232,.04);
  color:var(--c-line);
}
.btn--ghost:hover{
  border-color:var(--c-water);
  background:rgba(78,140,138,.16);
}
.btn--sm{padding:.48rem .95rem;font-size:.8rem;}

.tag{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.28rem .72rem;
  border-radius:var(--pill);
  border:1px solid var(--hairline-strong);
  background:rgba(244,241,232,.05);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.1em;
  color:var(--c-paper);
}
.tag--red{background:var(--c-red);border-color:var(--c-red);color:#fff;font-weight:700;}
.tag--yellow{background:var(--c-yellow);border-color:var(--c-yellow);color:var(--c-black);font-weight:700;}
.tag--water{border-color:rgba(78,140,138,.55);color:var(--c-water);}

/* ---------- 6. 面包屑 ---------- */
.breadcrumb{margin-bottom:clamp(1.2rem, 3vw, 2rem);}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--c-gray);
}
.breadcrumb__item{display:inline-flex;align-items:center;gap:.5rem;}
.breadcrumb__item + .breadcrumb__item::before{content:"/";color:var(--c-gray);opacity:.6;}
.breadcrumb__link{color:var(--c-water);transition:color .2s var(--ease);}
.breadcrumb__link:hover{color:var(--c-line);text-decoration:underline;text-underline-offset:3px;}
.breadcrumb__item[aria-current="page"]{color:var(--c-line);}

/* ---------- 7. 图片容器 ---------- */
.media-frame{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid var(--hairline);
  isolation:isolate;
  background:
    radial-gradient(120% 100% at 18% 0%, rgba(78,140,138,.38), transparent 62%),
    linear-gradient(160deg, var(--c-teal), var(--c-black));
}
.media-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:linear-gradient(to right, rgba(244,241,232,.07) 1px, transparent 1px);
  background-size:25% 100%;
}
.media-frame > img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-frame--wide{aspect-ratio:16 / 9;}
.media-frame--band{aspect-ratio:21 / 9;}
.media-frame--tall{aspect-ratio:3 / 4;}
.media-frame--square{aspect-ratio:1 / 1;}
.media-frame__tag{
  position:absolute;
  left:1rem;
  bottom:1rem;
  z-index:2;
  padding:.35rem .75rem;
  border-radius:var(--pill);
  background:rgba(5,8,13,.74);
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.14em;
  color:var(--c-paper);
}
.media-caption{
  display:flex;
  align-items:baseline;
  gap:.6rem;
  margin-top:.7rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.05em;
  color:var(--c-gray);
}
.media-caption::before{
  content:"◤";
  font-size:.6rem;
  color:var(--c-red);
}

/* ---------- 8. 跳转链接 ---------- */
.skip-link{
  position:fixed;
  left:50%;
  top:8px;
  z-index:300;
  padding:.6rem 1.1rem;
  border-radius:var(--pill);
  background:var(--c-yellow);
  color:var(--c-black);
  font-weight:700;
  font-size:.85rem;
  transform:translate(-50%,-180%);
  transition:transform .22s var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible{transform:translate(-50%,0);}

/* ---------- 9. 头部与轨道导航 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:120;
}
.site-header__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem var(--gutter);
  background:rgba(11,18,32,.92);
  border-bottom:1px solid var(--hairline);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.brand-mark{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  min-width:0;
}
.brand-mark__name{
  font-family:var(--font-display);
  font-weight:900;
  font-size:1.12rem;
  letter-spacing:-.03em;
  line-height:1;
  white-space:nowrap;
}
.brand-mark__sub{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-water);
  white-space:nowrap;
}
.nav-toggle{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .85rem;
  border-radius:var(--pill);
  border:1px solid var(--hairline-strong);
  background:rgba(244,241,232,.05);
  color:var(--c-line);
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  transition:border-color .2s var(--ease), background-color .2s var(--ease);
}
.nav-toggle:hover{border-color:var(--c-water);background:rgba(78,140,138,.16);}
.nav-toggle__bars{display:inline-flex;flex-direction:column;gap:3px;width:16px;}
.nav-toggle__bars span{
  display:block;
  height:2px;
  border-radius:2px;
  background:var(--c-line);
  transition:transform .25s var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:first-child{transform:translateY(2.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:last-child{transform:translateY(-2.5px) rotate(-45deg);}
.nav-toggle__text{line-height:1;}

/* 轨道（移动端抽屉） */
.rail{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  z-index:2;
  width:min(88vw, 352px);
  display:flex;
  flex-direction:column;
  gap:clamp(1rem, 2.4vh, 1.9rem);
  padding:clamp(1.2rem, 3vw, 1.8rem) clamp(1rem, 2.4vw, 1.4rem);
  overflow-y:auto;
  overscroll-behavior:contain;
  color:var(--c-line);
  background:
    radial-gradient(130% 55% at 0% 0%, rgba(78,140,138,.24), transparent 62%),
    linear-gradient(180deg, var(--c-teal), var(--c-black));
  border-right:1px solid var(--hairline);
  transform:translateX(-102%);
  visibility:hidden;
  transition:transform .34s var(--ease), visibility .34s var(--ease);
}
.rail[data-open]{
  transform:translateX(0);
  visibility:visible;
}
.rail__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--hairline);
}
.rail__brand{display:block;min-width:0;}
.rail__brand-name{
  display:block;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.28rem, 1.8vw, 1.6rem);
  line-height:1;
  letter-spacing:-.035em;
  color:var(--c-line);
}
.rail__flag{
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:.45rem;
  border-radius:2px;
  background:var(--c-red);
  vertical-align:middle;
  transform:translateY(-2px);
}
.rail__brand-sub{
  display:block;
  margin-top:.42rem;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--c-water);
}
.rail__close{
  flex:0 0 auto;
  padding:.4rem .8rem;
  border-radius:var(--pill);
  border:1px solid var(--hairline-strong);
  background:rgba(244,241,232,.06);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  color:var(--c-paper);
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.rail__close:hover{border-color:var(--c-yellow);color:var(--c-yellow);}

.rail__nav{padding-top:.2rem;}
.rail__list{display:flex;flex-direction:column;gap:.12rem;}
.rail__link{
  position:relative;
  display:flex;
  align-items:baseline;
  gap:.7rem;
  padding:.62rem .5rem .62rem .95rem;
  border-radius:0 var(--pill) var(--pill) 0;
  color:rgba(244,241,232,.74);
  transition:color .2s var(--ease), background-color .2s var(--ease);
}
.rail__link::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:2px;
  height:0;
  border-radius:2px;
  background:var(--c-red);
  transform:translateY(-50%);
  transition:height .24s var(--ease);
}
.rail__link:hover{
  color:var(--c-line);
  background:rgba(244,241,232,.06);
}
.rail__link:hover::before{height:58%;}
.rail__link[aria-current="page"]{
  color:var(--c-line);
  background:rgba(226,58,46,.14);
}
.rail__link[aria-current="page"]::before{height:72%;}
.rail__index{
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.08em;
  color:var(--c-gray);
  transition:color .2s var(--ease);
}
.rail__link[aria-current="page"] .rail__index{color:var(--c-yellow);font-weight:700;}
.rail__label{
  font-size:.94rem;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.3;
}

.rail__shortcuts{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem;
  padding-top:1rem;
  border-top:1px dashed var(--hairline);
}
.shortcut{
  display:flex;
  flex-direction:column;
  gap:.22rem;
  padding:.62rem .55rem;
  border-radius:var(--radius-md);
  border:1px solid var(--hairline-strong);
  background:rgba(244,241,232,.045);
  transition:transform .22s var(--ease), border-color .22s var(--ease), background-color .22s var(--ease);
}
.shortcut:hover{
  transform:translateY(-3px);
  border-color:var(--c-yellow);
  background:rgba(242,194,48,.1);
}
.shortcut__k{
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.16em;
  color:var(--c-gray);
}
.shortcut__t{
  font-size:.78rem;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.01em;
}

/* 遮罩 */
.nav-scrim{
  position:fixed;
  inset:0;
  z-index:1;
  background:rgba(5,8,13,.74);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s var(--ease), visibility .3s var(--ease);
}
.nav-scrim[data-open]{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

@media (max-width:1023.98px){
  body.is-nav-open{overflow:hidden;}
}

/* 桌面端：常驻左轨 */
@media (min-width:1024px){
  body{padding-left:var(--rail-w);}
  .site-header{
    position:fixed;
    inset:0 auto 0 0;
    width:var(--rail-w);
  }
  .site-header__bar{display:none;}
  .rail{
    position:static;
    width:auto;
    height:100%;
    transform:none;
    visibility:visible;
    border-right:1px solid var(--hairline);
  }
  .rail__close{display:none;}
  .nav-scrim{display:none;}
}

/* ---------- 10. 页脚 ---------- */
.site-footer{
  position:relative;
  flex:0 0 auto;
  padding:clamp(2.2rem, 5vw, 4rem) 0 clamp(1.4rem, 3vw, 2rem);
  background:var(--c-black);
  border-top:1px solid var(--hairline);
  color:rgba(244,241,232,.82);
  overflow:hidden;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--c-red) 0 18%, var(--c-yellow) 18% 26%, transparent 26%);
  opacity:.92;
}
.site-footer__inner{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
  display:grid;
  gap:clamp(1.4rem, 3.6vw, 2.6rem);
}
.footer-masthead{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.9rem;
  padding-bottom:clamp(1.1rem, 2.6vw, 1.8rem);
  border-bottom:1px solid var(--hairline);
}
.footer-masthead__brand{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.6rem, 4vw, 2.5rem);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--c-line);
}
.footer-masthead__sub{
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--c-water);
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.6rem, 3.6vw, 3rem);
}
@media (min-width:860px){
  .footer-grid{grid-template-columns:1.25fr .8fr .75fr;}
}
.footer-col{display:flex;flex-direction:column;gap:.85rem;min-width:0;}
.footer-col__title{
  font-family:var(--font-mono);
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--c-gray);
}
.footer-list{display:flex;flex-direction:column;gap:.72rem;}
.footer-row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.5rem .6rem;
}
.footer-k{
  min-width:4.6em;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.1em;
  color:var(--c-gray);
}
.footer-v{
  font-size:.92rem;
  line-height:1.5;
  color:var(--c-line);
  overflow-wrap:anywhere;
}
.copy-btn{
  display:inline-flex;
  align-items:center;
  padding:.18rem .58rem;
  border-radius:var(--pill);
  border:1px solid var(--hairline-strong);
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  color:var(--c-water);
  transition:color .2s var(--ease), border-color .2s var(--ease), background-color .2s var(--ease);
}
.copy-btn:hover{
  color:var(--c-line);
  border-color:var(--c-water);
  background:rgba(78,140,138,.16);
}
.copy-btn.is-copied{
  color:var(--c-black);
  background:var(--c-yellow);
  border-color:var(--c-yellow);
}
.footer-note{
  padding-left:.9rem;
  border-left:2px solid rgba(226,58,46,.55);
  font-family:var(--font-mono);
  font-size:.7rem;
  line-height:1.75;
  letter-spacing:.03em;
  color:var(--c-gray);
  max-width:42ch;
}
.footer-nav{display:flex;flex-direction:column;gap:.55rem;}
.footer-nav__link{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.92rem;
  color:rgba(244,241,232,.8);
  transition:color .2s var(--ease), gap .2s var(--ease);
}
.footer-nav__link::before{
  content:"";
  width:14px;
  height:1px;
  background:var(--c-red);
  transition:width .2s var(--ease);
}
.footer-nav__link:hover{color:var(--c-line);gap:.7rem;}
.footer-nav__link:hover::before{width:22px;}
.footer-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem 1.5rem;
  padding-top:clamp(1.1rem, 2.6vw, 1.7rem);
  border-top:1px solid var(--hairline);
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--c-gray);
}
.footer-meta__icp{color:var(--c-paper);}

/* ---------- 11. 通用交互组件 ---------- */
.scroll-progress{
  position:fixed;
  inset:0 0 auto 0;
  z-index:90;
  height:2px;
  background:var(--hairline);
  pointer-events:none;
}
.scroll-progress__bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(var(--progress, 0));
  transform-origin:0 50%;
  background:linear-gradient(90deg, var(--c-red), var(--c-yellow));
}
@media (min-width:1024px){
  .scroll-progress{left:var(--rail-w);}
}

.to-top{
  position:fixed;
  right:clamp(16px, 3vw, 32px);
  bottom:clamp(16px, 3vw, 32px);
  z-index:80;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.62rem .95rem;
  border-radius:var(--pill);
  border:1px solid var(--hairline-strong);
  background:var(--c-teal);
  color:var(--c-line);
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.14em;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);
}
.to-top[data-visible]{
  opacity:1;
  visibility:visible;
  transform:none;
}
.to-top:hover{
  background:var(--c-red);
  border-color:var(--c-red);
}

:root.has-js [data-reveal]{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .55s var(--ease), transform .55s var(--ease);
}
:root.has-js [data-reveal].is-revealed{
  opacity:1;
  transform:none;
}

[data-toc-link][aria-current="true"]{
  color:var(--c-yellow);
}

/* ---------- 12. 工具类 ---------- */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* ---------- 13. 减弱动效 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  :root.has-js [data-reveal]{
    opacity:1;
    transform:none;
  }
  .btn:hover,
  .shortcut:hover,
  .to-top{border-color:inherit;transform:none;}
  .btn:hover,
  .shortcut:hover,
  .footer-nav__link:hover{gap:normal;}
}
