/* ==========================================================
   乐鱼赛场 — /assets/site.css
   共享外壳：reset / tokens / 中文排版 / 头部 / 页脚 / 基础组件
   ========================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  --deep-900:#061426;
  --deep-800:#0B2038;
  --deep-700:#123359;
  --deep-600:#1B4878;
  --cyan-500:#00E5FF;
  --cyan-300:#6FF3FF;
  --coral-500:#FF6B4A;
  --coral-300:#FFB3A0;
  --lime-400:#C6FF3D;
  --paper-50:#F4F7FB;
  --ink-900:#0A1622;
  --slate-400:#8FA3B8;

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

  --rail-w:88px;
  --head-h:78px;
  --head-h-compact:62px;
  --pad-x:clamp(16px,4vw,56px);

  --ease:cubic-bezier(.2,.8,.2,1);
  --r-panel:24px;
  --r-card:20px;
  --r-pill:999px;
  --r-chart:16px;
  --r-ctl:14px;

  --line:rgba(27,72,120,.9);
  --line-soft:rgba(27,72,120,.55);
  --line-cyan:rgba(0,229,255,.35);
}

/* ---------- 2. RESET ---------- */
*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding-left:var(--rail-w);
  background:var(--deep-900);
  color:var(--paper-50);
  font-family:var(--font-sans);
  font-size:16px;
  font-weight:400;
  line-height:1.85;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

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:none; border:0; cursor:pointer; }

a{
  color:var(--cyan-500);
  text-decoration:none;
  transition:color 160ms var(--ease), border-color 160ms var(--ease), background-color 160ms var(--ease);
}
a:hover{ color:var(--cyan-300); }

table{ border-collapse:collapse; width:100%; }

::selection{ background:var(--coral-500); color:var(--deep-900); }

/* ---------- 3. 中文排版与字号体系 ---------- */
.prose{
  font-size:16.5px;
  line-height:1.85;
  color:rgba(244,247,251,.86);
}
.prose p{ max-width:40em; margin-bottom:1.25em; }
.prose p:last-child{ margin-bottom:0; }
.prose--paper{ color:var(--ink-900); }
.prose--paper a{ color:#0B6E8C; }
.prose--paper a:hover{ color:var(--deep-600); }

.sec-title{
  font-family:var(--font-serif);
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.15;
  font-size:clamp(26px,3vw,40px);
  margin:0 0 .5em;
}
.sec-title--xl{ font-size:clamp(30px,4vw,40px); }
.sec-title--sm{ font-size:clamp(20px,2vw,26px); }
.sec-title--paper{ color:var(--ink-900); }

.num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:0.9;
  display:inline-block;
}
.num--xl{ font-size:clamp(64px,12vw,160px); }
.num--lg{ font-size:clamp(44px,7vw,96px); }
.num--md{ font-size:clamp(30px,4vw,64px); }
.num--sm{ font-size:clamp(22px,2.4vw,44px); }
.num--cyan{ color:var(--cyan-500); }
.num--coral{ color:var(--coral-500); }
.num--lime{ color:var(--lime-400); }
.num--slate{ color:var(--slate-400); }

.meta{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--slate-400);
}

[data-year]:empty::before{ content:"--"; }

/* ---------- 4. SKIP LINK ---------- */
.skip-link{
  position:fixed;
  top:-90px;
  left:12px;
  z-index:200;
  padding:12px 22px;
  border-radius:var(--r-ctl);
  background:var(--lime-400);
  color:var(--deep-900);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  transition:top 200ms var(--ease);
}
.skip-link:focus{ top:12px; color:var(--deep-900); }

/* ---------- 5. 左侧品牌轨道 ---------- */
.rail{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  z-index:96;
  width:var(--rail-w);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  padding:20px 8px 24px;
  background:linear-gradient(180deg,var(--deep-900) 0%,var(--deep-800) 55%,var(--deep-900) 100%);
  border-right:1px solid var(--line-cyan);
}

.rail__mark{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:var(--paper-50);
}
.rail__mark:hover{ color:var(--paper-50); }

.rail__mark-glyph{
  width:42px;
  height:42px;
  border-radius:var(--r-pill);
  display:grid;
  place-items:center;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--deep-900);
  background:linear-gradient(135deg,var(--cyan-500) 0%,var(--lime-400) 100%);
  transition:transform 220ms var(--ease);
}
.rail__mark:hover .rail__mark-glyph{ transform:translateY(-2px); }

.rail__mark-text{
  writing-mode:vertical-rl;
  font-family:var(--font-serif);
  font-size:16px;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1;
  color:var(--paper-50);
}

.rail__season{
  writing-mode:vertical-rl;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.22em;
  line-height:1;
  color:var(--coral-300);
}

.rail__spine{
  flex:1 1 auto;
  width:1px;
  min-height:36px;
  background:linear-gradient(180deg,var(--line-cyan),rgba(0,229,255,0));
}

.rail__label{
  writing-mode:vertical-rl;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.3em;
  line-height:1;
  color:var(--slate-400);
}

/* ---------- 6. 顶部横条 ---------- */
.site-head{ position:relative; z-index:90; }

.head-bar{
  position:fixed;
  top:0;
  left:var(--rail-w);
  right:0;
  z-index:95;
  height:var(--head-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 var(--pad-x);
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color 200ms var(--ease), height 220ms var(--ease), border-color 200ms var(--ease);
}
.site-head[data-scrolled="true"] .head-bar{
  height:var(--head-h-compact);
  background:rgba(6,20,38,.95);
  border-bottom-color:var(--line-cyan);
}

.head-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  transform:scaleX(var(--p,0));
  transform-origin:0 50%;
  background:linear-gradient(90deg,var(--cyan-500),var(--lime-400));
  opacity:0;
  transition:opacity 200ms var(--ease);
}
.site-head[data-scrolled="true"] .head-progress{ opacity:1; }

/* ---------- 7. 主栏目导航 ---------- */
.head-nav{
  flex:1 1 auto;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.head-nav::-webkit-scrollbar{ display:none; }

.head-nav__list{
  display:flex;
  align-items:center;
  gap:6px;
  padding:2px 0;
}

.head-nav__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:var(--r-pill);
  border:1px solid transparent;
  color:rgba(244,247,251,.82);
  font-size:14px;
  line-height:1.3;
  white-space:nowrap;
  transition:color 160ms var(--ease), border-color 160ms var(--ease), background-color 160ms var(--ease), transform 160ms var(--ease);
}
.head-nav__link:hover{
  color:var(--cyan-300);
  border-color:var(--line-cyan);
}
.head-nav__link[aria-current="page"]{
  background:var(--cyan-500);
  border-color:var(--cyan-500);
  color:var(--deep-900);
  font-weight:700;
}

.head-nav__idx{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--slate-400);
  transition:color 160ms var(--ease);
}
.head-nav__link:hover .head-nav__idx{ color:var(--cyan-300); }
.head-nav__link[aria-current="page"] .head-nav__idx{ color:rgba(6,20,38,.72); }

/* ---------- 8. 右上角工具区与按钮 ---------- */
.head-utils{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.head-season{
  padding:6px 13px;
  border-radius:var(--r-pill);
  border:1px dashed rgba(198,255,61,.5);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.4;
  color:var(--lime-400);
  white-space:nowrap;
}
.head-season:hover{
  background:rgba(198,255,61,.12);
  color:var(--lime-400);
  border-style:solid;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 20px;
  border-radius:var(--r-ctl);
  border:1px solid transparent;
  font-family:var(--font-sans);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  transition:background-color 160ms var(--ease), color 160ms var(--ease), border-color 160ms var(--ease), transform 160ms var(--ease);
}
.btn--cta{
  background:var(--cyan-500);
  color:var(--deep-900);
}
.btn--cta:hover{
  background:var(--cyan-300);
  color:var(--deep-900);
  transform:translateY(-2px);
}
.btn--ghost{
  background:transparent;
  color:var(--paper-50);
  border-color:rgba(143,163,184,.5);
}
.btn--ghost:hover{
  color:var(--cyan-300);
  border-color:var(--cyan-500);
}
.btn--coral{
  background:var(--coral-500);
  color:var(--deep-900);
}
.btn--coral:hover{
  background:var(--coral-300);
  color:var(--deep-900);
}

.nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border-radius:var(--r-pill);
  border:1px solid rgba(0,229,255,.5);
  background:rgba(6,20,38,.6);
  color:var(--paper-50);
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  transition:border-color 160ms var(--ease), background-color 160ms var(--ease);
}
.nav-toggle:hover{ border-color:var(--cyan-300); background:rgba(0,229,255,.12); }

.nav-toggle__bars{
  display:inline-flex;
  flex-direction:column;
  gap:3px;
}
.nav-toggle__bars i{
  display:block;
  width:15px;
  height:2px;
  border-radius:2px;
  background:currentColor;
}
.nav-toggle__text{ display:inline; }

/* ---------- 9. 容器与网格 ---------- */
.shell{
  width:min(1240px,100% - 2 * var(--pad-x));
  margin-inline:auto;
}
.shell--narrow{
  width:min(780px,100% - 2 * var(--pad-x));
  margin-inline:auto;
}
.shell--wide{
  width:min(1480px,100% - 2 * var(--pad-x));
  margin-inline:auto;
}

.grid12{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(14px,2vw,26px);
}
.col-8{ grid-column:3 / span 8; }
.col-7{ grid-column:1 / span 7; }
.col-5{ grid-column:8 / span 5; }
.col-12{ grid-column:1 / -1; }

/* ---------- 10. 章节背景带与斜向分割 ---------- */
.band{ padding-block:clamp(46px,7vw,96px); }
.band--deep{ background:var(--deep-800); }
.band--mid{ background:var(--deep-700); }
.band--abyss{ background:var(--deep-900); }
.band--paper{
  background:var(--paper-50);
  color:var(--ink-900);
}
.band--paper a{ color:#0B6E8C; }
.band--paper a:hover{ color:var(--deep-600); }
.band--edge{ position:relative; }

.diag{
  height:clamp(44px,7vw,96px);
  background:linear-gradient(102deg,var(--deep-700),var(--deep-800) 58%,var(--deep-900));
  clip-path:polygon(0 30%,100% 0,100% 70%,0 100%);
}
.diag--flip{ clip-path:polygon(0 0,100% 30%,100% 100%,0 70%); }

/* ---------- 11. 卡片 / 胶囊 / 进度 ---------- */
.card{
  background:var(--deep-700);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  padding:clamp(18px,2.4vw,26px);
  transition:border-color 160ms var(--ease), transform 160ms var(--ease);
}
.card--panel{ border-radius:var(--r-panel); }
.card--paper{
  background:var(--paper-50);
  color:var(--ink-900);
  border-color:rgba(10,22,34,.14);
}
.card:hover{ border-color:var(--line-cyan); }

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 15px;
  border-radius:var(--r-pill);
  border:1px solid var(--line-cyan);
  background:transparent;
  color:var(--cyan-300);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.5;
  white-space:nowrap;
  transition:background-color 160ms var(--ease), color 160ms var(--ease), border-color 160ms var(--ease), transform 160ms var(--ease);
}
.pill:hover{
  background:rgba(0,229,255,.12);
  color:var(--cyan-300);
}
.pill[aria-current="page"],
.pill.is-on{
  background:var(--cyan-500);
  border-color:var(--cyan-500);
  color:var(--deep-900);
  font-weight:700;
}
.pill--coral{ border-color:rgba(255,107,74,.5); color:var(--coral-300); }
.pill--coral:hover{ background:rgba(255,107,74,.14); color:var(--coral-300); }
.pill--lime{ border-color:rgba(198,255,61,.5); color:var(--lime-400); }
.pill--lime:hover{ background:rgba(198,255,61,.12); color:var(--lime-400); }

.track{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.track::-webkit-scrollbar{ display:none; }

.meter{
  height:8px;
  border-radius:var(--r-pill);
  background:rgba(27,72,120,.7);
  overflow:hidden;
}
.meter__fill{
  display:block;
  height:100%;
  border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--cyan-500),var(--cyan-300));
}
.meter__fill--coral{ background:linear-gradient(90deg,var(--coral-500),var(--coral-300)); }
.meter__fill--lime{ background:linear-gradient(90deg,var(--lime-400),#9BD400); }

/* ---------- 12. 图片容器基础规则 ---------- */
.media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--r-panel);
  border:1px solid var(--line);
  background:linear-gradient(135deg,var(--deep-700),var(--deep-900));
  aspect-ratio:16 / 9;
}
.media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media--wide{ aspect-ratio:21 / 9; }
.media--tall{ aspect-ratio:3 / 4; }
.media--square{ aspect-ratio:1 / 1; }
.media--chart{ aspect-ratio:4 / 3; border-radius:var(--r-chart); }

.media--abstract{
  background-image:
    repeating-linear-gradient(115deg,rgba(0,229,255,.10) 0 1px,transparent 1px 26px),
    repeating-linear-gradient(25deg,rgba(255,107,74,.07) 0 1px,transparent 1px 34px),
    linear-gradient(135deg,var(--deep-700),var(--deep-900));
}

.media__tag{
  position:absolute;
  left:14px;
  top:14px;
  z-index:2;
  padding:5px 12px;
  border-radius:var(--r-pill);
  background:rgba(6,20,38,.82);
  border:1px solid var(--line-cyan);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--cyan-300);
}

.media__cap{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:44px 18px 15px;
  background:linear-gradient(180deg,rgba(6,20,38,0),rgba(6,20,38,.94));
  font-size:13px;
  line-height:1.7;
  color:rgba(244,247,251,.9);
}

/* ---------- 13. 术语 ---------- */
.term{
  position:relative;
  border-bottom:1px dashed var(--cyan-500);
  color:inherit;
  cursor:help;
}
.term:hover,
.term:focus-visible{ color:var(--cyan-300); }

.term::after{
  content:attr(data-term);
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  width:min(300px,72vw);
  padding:10px 14px;
  border-radius:var(--r-ctl);
  background:var(--deep-900);
  border:1px solid var(--line-cyan);
  color:var(--paper-50);
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity 160ms var(--ease), transform 160ms var(--ease), visibility 0s linear 160ms;
  pointer-events:none;
  z-index:30;
}
.term:hover::after,
.term:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition-delay:0s;
}

/* ---------- 14. 面包屑 ---------- */
.crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--slate-400);
}
.crumbs a{
  color:var(--slate-400);
  border-bottom:1px solid transparent;
}
.crumbs a:hover{
  color:var(--cyan-300);
  border-bottom-color:var(--cyan-300);
}
.crumbs__sep{ color:var(--deep-600); }
.crumbs [aria-current="page"]{ color:var(--paper-50); }

/* ---------- 15. 页脚 ---------- */
.site-foot{
  position:relative;
  background:linear-gradient(180deg,var(--deep-900) 0%,var(--deep-800) 52%,var(--deep-900) 100%);
  border-top:1px solid rgba(0,229,255,.16);
}
.site-foot::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:3px;
  background:linear-gradient(90deg,var(--cyan-500),var(--lime-400) 42%,var(--coral-500) 76%,transparent);
  opacity:.7;
}

.foot-breath{ height:clamp(80px,11vw,120px); }

.foot-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr 1.05fr;
  gap:clamp(20px,2.6vw,40px);
  padding-bottom:clamp(24px,3vw,38px);
}

.foot-brand__name{
  font-family:var(--font-serif);
  font-size:22px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.3;
  color:var(--paper-50);
  margin-bottom:12px;
}
.foot-brand__line{
  max-width:30em;
  font-size:14px;
  line-height:1.8;
  color:var(--slate-400);
  margin-bottom:16px;
}
.foot-brand__meta{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.foot-brand__meta li{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(143,163,184,.9);
  padding-left:14px;
  position:relative;
}
.foot-brand__meta li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:var(--r-pill);
  background:var(--cyan-500);
}
.foot-brand__meta li:nth-child(2)::before{ background:var(--coral-500); }
.foot-brand__meta li:nth-child(3)::before{ background:var(--lime-400); }

.foot-col__title{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.5;
  color:var(--cyan-500);
  margin-bottom:14px;
}
.foot-col__list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.foot-col__list a{
  display:inline-block;
  font-size:14px;
  line-height:1.6;
  color:rgba(244,247,251,.76);
  border-bottom:1px solid transparent;
}
.foot-col__list a:hover{
  color:var(--cyan-300);
  border-bottom-color:var(--cyan-300);
}

.foot-contact{
  margin-bottom:clamp(20px,2.6vw,32px);
  padding:clamp(18px,2.4vw,26px);
  border-radius:var(--r-panel);
  border:1px solid var(--line);
  background:
    repeating-linear-gradient(112deg,rgba(0,229,255,.05) 0 1px,transparent 1px 30px),
    linear-gradient(118deg,rgba(18,51,89,.92),rgba(6,20,38,.92));
}
.foot-contact__list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(14px,2vw,26px);
}
.foot-contact__item{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.foot-contact__k{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--slate-400);
}
.foot-contact__v{
  font-size:14px;
  line-height:1.7;
  color:var(--paper-50);
  word-break:break-word;
}
.foot-contact__item:nth-child(2) .foot-contact__v{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  color:var(--coral-300);
}

.foot-note{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line-soft);
  font-size:12.5px;
  line-height:1.75;
  color:var(--slate-400);
}

.foot-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-block:18px 26px;
  border-top:1px solid rgba(27,72,120,.6);
}
.foot-bottom__copy,
.foot-bottom__icp{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--slate-400);
}
.foot-bottom__icp{ color:rgba(143,163,184,.85); }

/* ---------- 16. FOCUS ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--cyan-500);
  outline-offset:3px;
  border-radius:var(--r-ctl);
}

/* ---------- 17. 响应式 ---------- */
@media (max-width:1120px){
  .foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .foot-brand{ grid-column:1 / -1; }
}

@media (max-width:1080px){
  :root{
    --rail-w:0px;
    --pad-x:18px;
  }

  body{
    padding-left:0;
    padding-top:66px;
  }

  .rail{ display:none; }

  .head-bar{
    left:0;
    height:66px;
    gap:10px;
    background:rgba(6,20,38,.96);
    border-bottom-color:var(--line-cyan);
  }
  .site-head[data-scrolled="true"] .head-bar{ height:60px; }

  .head-nav{
    position:fixed;
    left:0;
    right:0;
    top:66px;
    flex:0 0 auto;
    max-height:0;
    overflow:hidden;
    padding:0 var(--pad-x);
    background:var(--deep-900);
    border-bottom:1px solid transparent;
    visibility:hidden;
    transition:max-height 260ms var(--ease), padding 260ms var(--ease), visibility 0s linear 260ms;
  }
  .head-nav[data-open="true"]{
    max-height:76vh;
    overflow-y:auto;
    padding:12px var(--pad-x) 20px;
    border-bottom-color:var(--line-cyan);
    visibility:visible;
    transition:max-height 260ms var(--ease), padding 260ms var(--ease), visibility 0s;
  }

  .head-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:0;
  }
  .head-nav__link{
    justify-content:flex-start;
    padding:13px 15px;
    border-radius:var(--r-ctl);
    font-size:15px;
    border-color:transparent;
  }
  .head-nav__link[aria-current="page"]{
    border-radius:var(--r-ctl);
  }

  .nav-toggle{ display:inline-flex; }

  .col-8,
  .col-7,
  .col-5{ grid-column:1 / -1; }
}

@media (max-width:760px){
  .foot-contact__list{ grid-template-columns:minmax(0,1fr); }
  .foot-bottom{ flex-direction:column; align-items:flex-start; }
}

@media (max-width:620px){
  .head-season{ display:none; }
  .nav-toggle__text{ display:none; }
  .btn{ padding:10px 16px; font-size:13px; }

  .foot-grid{ grid-template-columns:minmax(0,1fr); }
  .foot-brand{ grid-column:auto; }
}

/* ---------- 18. REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }

  *,
  *::before,
  *::after{
    transition-duration:0s !important;
    animation-duration:0s !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }

  .btn--cta:hover,
  .rail__mark:hover .rail__mark-glyph{ transform:none !important; }
}
