/* =====================================================================
   加拿大预测28 · /assets/site.css
   手册式框架：枫叶红 × 深松绿 × 暖金 × 雾蓝
   ===================================================================== */

:root{
  /* 色彩 */
  --maple:#C0392B;
  --maple-deep:#8E2A1F;
  --maple-tint:#F7E5E1;
  --pine:#1F4D3D;
  --pine-tint:#DFEAE4;
  --gold:#D2A03C;
  --mist:#5C7C9E;
  --paper:#FCF8F2;
  --ink:#1C1B18;
  --stone:#6B665D;
  --line:#E4D9CB;
  --line-strong:#CFC2B1;

  /* 字体 */
  --font-head:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",Georgia,serif;
  --font-ui:var(--font-head);

  /* 八级字号 */
  --fs-12:0.75rem;
  --fs-14:0.875rem;
  --fs-16:1rem;
  --fs-20:1.25rem;
  --fs-26:1.625rem;
  --fs-34:2.125rem;
  --fs-48:3rem;
  --fs-72:4.5rem;

  /* 尺寸与形状 */
  --frame-max:1280px;
  --gutter:clamp(16px,4vw,40px);
  --section-y:clamp(40px,6vw,76px);
  --r-card:18px;
  --r-data:4px;
  --r-tag:999px;

  --ease:cubic-bezier(.2,.7,.3,1);
  --dur:190ms;
}

*,*::before,*::after{box-sizing:border-box;}

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

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:1.85;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  margin:0;
  font-family:var(--font-head);
  font-weight:800;
  line-height:1.25;
  letter-spacing:.02em;
  color:var(--ink);
}

p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}

a{color:var(--mist);text-decoration:none;transition:color var(--dur) var(--ease);}
a:hover{color:var(--maple-deep);}

ul,ol{margin:0 0 1.1em;padding-left:1.3em;}
li{margin:.2em 0;}

img,svg,video{display:block;max-width:100%;height:auto;}

button{font:inherit;color:inherit;}

::selection{background:var(--maple);color:var(--paper);}

:where(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid var(--mist);
  outline-offset:3px;
  border-radius:var(--r-data);
}
.site-footer :focus-visible{outline-color:var(--gold);}

#main-content{scroll-margin-top:140px;}

/* ---------------------------------------------------------------- 页头 */

.skip-link{
  position:absolute;
  left:12px;
  top:-72px;
  z-index:200;
  display:inline-block;
  padding:10px 18px;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.08em;
  border-radius:var(--r-tag);
  text-decoration:none;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus,
.skip-link:focus-visible{
  top:12px;
  color:var(--paper);
  outline:3px solid var(--gold);
  outline-offset:3px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:var(--paper);
}

.header-top{
  position:relative;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.header-top::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--maple);
  pointer-events:none;
}

.header-inner{
  max-width:var(--frame-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.header-inner--top{
  display:flex;
  align-items:center;
  gap:clamp(12px,2.4vw,30px);
  min-height:72px;
  padding-block:10px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  color:var(--ink);
  text-decoration:none;
}
.brand:hover{color:var(--ink);}

.brand-leaf{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:12px 14px 12px 16px;
  background:linear-gradient(140deg,var(--maple) 0%,var(--maple-deep) 100%);
  color:var(--paper);
  font-family:var(--font-head);
  font-size:var(--fs-20);
  font-weight:900;
  line-height:1;
  transform:rotate(-6deg);
  box-shadow:3px 3px 0 0 var(--pine-tint);
  transition:transform var(--dur) var(--ease);
}
.brand:hover .brand-leaf{transform:rotate(0deg) translateY(-2px);}

.brand-text{display:flex;flex-direction:column;line-height:1.15;}

.brand-name{
  font-family:var(--font-head);
  font-weight:800;
  font-size:var(--fs-20);
  letter-spacing:.04em;
  color:var(--ink);
}

.brand-sub{
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.3em;
  color:var(--stone);
}

.brand-tagline{
  margin:0;
  padding-left:14px;
  border-left:1px solid var(--line-strong);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  letter-spacing:.06em;
  color:var(--pine);
}

.contact-hint{
  margin:0 0 0 auto;
  max-width:16em;
  text-align:right;
  font-family:var(--font-head);
  font-size:var(--fs-12);
  line-height:1.5;
  letter-spacing:.04em;
  color:var(--stone);
}

.nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  padding:9px 16px 9px 14px;
  border:1px solid var(--pine);
  border-radius:var(--r-tag);
  background:var(--pine);
  color:var(--paper);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.24em;
  cursor:pointer;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);
}
.nav-toggle:hover{background:var(--maple);border-color:var(--maple);color:var(--paper);}

.nav-toggle-bars{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:16px;
}
.nav-toggle-bars span{
  display:block;
  width:16px;
  height:2px;
  background:currentColor;
  transition:transform var(--dur) var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:first-child{transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:last-child{transform:translateY(-6px) rotate(-45deg);}

.nav-toggle-label{display:inline-block;}

.header-rail{
  background:var(--pine);
  border-top:3px solid var(--maple);
}

.site-nav{
  display:flex;
  align-items:center;
  gap:16px;
  max-width:var(--frame-max);
  margin-inline:auto;
  padding:8px var(--gutter);
}

.nav-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}

.nav-link{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  padding:8px 14px;
  border-radius:var(--r-tag);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  font-weight:600;
  letter-spacing:.04em;
  white-space:nowrap;
  color:#E8EFEA;
  text-decoration:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease);
}
.nav-link::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:4px;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--dur) var(--ease);
}
.nav-link:hover{background:rgba(252,248,242,.12);color:var(--paper);}
.nav-link:hover::after{transform:scaleX(1);}

.nav-index{
  font-family:var(--font-head);
  font-size:var(--fs-12);
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:.1em;
  color:var(--gold);
}

.nav-link[aria-current="page"]{
  background:var(--paper);
  color:var(--maple-deep);
}
.nav-link[aria-current="page"] .nav-index{color:var(--maple);}
.nav-link[aria-current="page"]::after{transform:scaleX(0);}

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

.action-link{
  display:inline-block;
  padding:7px 14px;
  border:1px solid rgba(252,248,242,.45);
  border-radius:var(--r-tag);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.06em;
  color:var(--pine-tint);
  text-decoration:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.action-link:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}

.action-link--strong{
  background:var(--maple);
  border-color:var(--maple);
  color:var(--paper);
}
.action-link--strong:hover{background:var(--paper);border-color:var(--paper);color:var(--maple-deep);}

.scroll-progress{
  height:3px;
  background:var(--pine-tint);
}
.scroll-progress-bar{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,var(--maple) 0%,var(--gold) 100%);
  transition:width 120ms linear;
}

/* ---------------------------------------------------------------- 页脚 */

.site-footer{
  position:relative;
  overflow:hidden;
  background:var(--pine);
  border-top:6px solid var(--maple);
  color:var(--paper);
}
.site-footer::before{
  content:"";
  position:absolute;
  right:-160px;
  bottom:-240px;
  width:520px;
  height:520px;
  border-radius:44% 56% 62% 38% / 46% 40% 60% 54%;
  background:radial-gradient(circle at 34% 32%,rgba(192,57,43,.55) 0%,rgba(192,57,43,0) 70%);
  pointer-events:none;
}
.site-footer::after{
  content:"";
  position:absolute;
  left:-120px;
  top:-140px;
  width:340px;
  height:340px;
  border-radius:60% 40% 45% 55% / 55% 58% 42% 45%;
  background:radial-gradient(circle at 60% 60%,rgba(210,160,60,.22) 0%,rgba(210,160,60,0) 72%);
  pointer-events:none;
}

.footer-inner{
  position:relative;
  z-index:1;
  max-width:var(--frame-max);
  margin-inline:auto;
  padding:clamp(40px,6vw,72px) var(--gutter) 26px;
}

.footer-top{
  display:grid;
  grid-template-columns:1.05fr 1.9fr 1.25fr;
  gap:clamp(24px,4vw,56px);
  align-items:start;
}

.footer-brand{display:flex;flex-direction:column;align-items:flex-start;}

.footer-leaf{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:14px 16px 14px 18px;
  background:linear-gradient(140deg,var(--maple) 0%,var(--maple-deep) 100%);
  color:var(--paper);
  font-family:var(--font-head);
  font-size:var(--fs-20);
  font-weight:900;
  line-height:1;
  transform:rotate(-6deg);
  box-shadow:4px 4px 0 0 var(--gold);
}

.footer-brand-name{
  font-family:var(--font-head);
  font-size:var(--fs-26);
  font-weight:900;
  letter-spacing:.04em;
  color:var(--paper);
  text-decoration:none;
}
.footer-brand-name:hover{color:var(--gold);}

.footer-brand-sub{
  margin:8px 0 0;
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.24em;
  color:rgba(223,234,228,.78);
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,3vw,32px);
}

.footer-col{min-width:0;}

.footer-col-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  font-family:var(--font-head);
  font-size:var(--fs-12);
  font-weight:800;
  letter-spacing:.28em;
  color:var(--gold);
}
.footer-col-title::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(210,160,60,.35);
}

.footer-links{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-links li{margin:0;}

.footer-link{
  display:inline-block;
  font-family:var(--font-head);
  font-size:var(--fs-14);
  letter-spacing:.04em;
  color:#E6EDE8;
  text-decoration:none;
  transition:color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.footer-link:hover{color:var(--gold);transform:translateX(3px);}

.footer-contact{min-width:0;}

.contact-item{margin-bottom:12px;}

.contact-label{
  display:block;
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.22em;
  color:rgba(223,234,228,.7);
}

.contact-value{
  display:block;
  font-family:var(--font-head);
  font-size:var(--fs-16);
  font-weight:700;
  letter-spacing:.02em;
  color:var(--paper);
  word-break:break-word;
}

.contact-note{
  margin:14px 0 0;
  padding-left:10px;
  border-left:2px solid var(--gold);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  line-height:1.75;
  color:rgba(252,248,242,.72);
}

.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:clamp(28px,4vw,44px);
  padding-top:18px;
  border-top:1px solid rgba(252,248,242,.18);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.04em;
  color:rgba(252,248,242,.7);
}
.footer-legal{margin:0;color:var(--paper);}
.footer-copyright{margin:0;}

/* ---------------------------------------------------------- 通用版式 */

.container{
  max-width:var(--frame-max);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{padding-block:var(--section-y);}

.section-head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:14px;
  margin-bottom:clamp(20px,3vw,34px);
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.section-kicker{
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.3em;
  color:var(--stone);
}

.section-title{
  margin:0;
  font-family:var(--font-head);
  font-size:var(--fs-26);
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.25;
  color:var(--ink);
}

.section-lead{
  margin:6px 0 0;
  max-width:62ch;
  font-size:var(--fs-16);
  color:var(--stone);
}

.index-badge{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:var(--r-tag);
  background:var(--gold);
  color:var(--ink);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  line-height:1;
}

.annot{
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.3em;
  color:var(--stone);
  writing-mode:vertical-rl;
  text-orientation:mixed;
}

.divider{
  border:0;
  border-top:1px solid var(--line);
  margin-block:calc(var(--section-y) * .55);
}

.breadcrumb{
  margin:0 0 18px;
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.08em;
  color:var(--stone);
}

.breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.breadcrumb-list li{margin:0;}
.breadcrumb-list > li + li::before{
  content:"·";
  margin-right:8px;
  color:var(--line-strong);
}

.breadcrumb-link{
  color:var(--mist);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.breadcrumb-link:hover{color:var(--maple-deep);border-bottom-color:currentColor;}

.breadcrumb-current{color:var(--ink);}

/* -------------------------------------------------------------- 按钮 */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:var(--r-tag);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.btn--primary{background:var(--maple);color:var(--paper);}
.btn--primary:hover{background:var(--maple-deep);color:var(--paper);transform:translateY(-2px);}

.btn--ghost{background:transparent;color:var(--pine);border-color:var(--pine);}
.btn--ghost:hover{background:var(--pine);color:var(--paper);transform:translateY(-2px);}

.btn--quiet{background:var(--maple-tint);color:var(--maple-deep);}
.btn--quiet:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px);}

/* -------------------------------------------------------------- 卡片 */

.card{
  padding:clamp(18px,2.6vw,28px);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),background var(--dur) var(--ease);
}
.card:hover{
  border-color:var(--maple);
  transform:translateY(-2px);
  background:#FFFDF9;
}

.card-title{
  margin:0 0 8px;
  font-family:var(--font-head);
  font-size:var(--fs-20);
  font-weight:800;
  letter-spacing:.02em;
  color:var(--ink);
}

.card-text{
  margin:0;
  font-size:var(--fs-16);
  color:var(--stone);
}

/* -------------------------------------------------------------- 标签 */

.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 12px;
  border-radius:var(--r-tag);
  background:var(--pine-tint);
  color:var(--pine);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.6;
}
.tag--pine{background:var(--pine);color:var(--paper);}
.tag--gold{background:var(--gold);color:var(--ink);}
.tag--mist{background:rgba(92,124,158,.16);color:var(--mist);}

/* ---------------------------------------------------------- 图片容器 */

.media-frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  background:
    radial-gradient(120% 90% at 12% 8%,rgba(192,57,43,.22) 0%,rgba(192,57,43,0) 62%),
    radial-gradient(100% 80% at 88% 92%,rgba(31,77,61,.20) 0%,rgba(31,77,61,0) 66%),
    linear-gradient(150deg,var(--pine-tint) 0%,var(--maple-tint) 62%,#F3E7D4 100%);
}
.media-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.media-frame figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:4px 10px;
  border-radius:var(--r-data);
  background:rgba(252,248,242,.88);
  font-family:var(--font-head);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  color:var(--ink);
}
.media-frame--wide{aspect-ratio:21 / 9;}
.media-frame--tall{aspect-ratio:3 / 4;}
.media-frame--square{aspect-ratio:1 / 1;}

/* ------------------------------------------------------------ 标签页 */

.tabs{margin-block:calc(var(--section-y) * .5);}

.tab-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-bottom:12px;
  margin-bottom:18px;
  border-bottom:1px solid var(--line);
}

.tab{
  padding:9px 16px;
  border:1px solid var(--line-strong);
  border-radius:var(--r-tag);
  background:transparent;
  color:var(--stone);
  font-family:var(--font-head);
  font-size:var(--fs-14);
  font-weight:700;
  letter-spacing:.08em;
  cursor:pointer;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.tab:hover{border-color:var(--pine);color:var(--pine);}
.tab[aria-selected="true"]{
  background:var(--pine);
  border-color:var(--pine);
  color:var(--paper);
}

.tab-panel[hidden]{display:none;}

/* ---------------------------------------------------------- 折叠面板 */

.accordion{border-top:1px solid var(--line);}

.accordion-item{border-bottom:1px solid var(--line);}

.accordion-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:18px 4px;
  border:0;
  background:transparent;
  color:var(--ink);
  font-family:var(--font-head);
  font-size:var(--fs-16);
  font-weight:700;
  letter-spacing:.02em;
  text-align:left;
  cursor:pointer;
  transition:color var(--dur) var(--ease);
}
.accordion-trigger:hover{color:var(--maple);}
.accordion-trigger::after{
  content:"";
  flex:0 0 auto;
  width:10px;
  height:10px;
  margin-top:-4px;
  border-right:2px solid var(--maple);
  border-bottom:2px solid var(--maple);
  transform:rotate(45deg);
  transition:transform var(--dur) var(--ease),margin var(--dur) var(--ease);
}
.accordion-item[data-open="true"] .accordion-trigger{color:var(--maple-deep);}
.accordion-item[data-open="true"] .accordion-trigger::after{
  margin-top:4px;
  transform:rotate(-135deg);
}

.accordion-panel{
  display:grid;
  grid-template-rows:0fr;
  visibility:hidden;
  transition:grid-template-rows .3s var(--ease),visibility .3s var(--ease);
}
.accordion-item[data-open="true"] .accordion-panel{
  grid-template-rows:1fr;
  visibility:visible;
}

.accordion-panel-inner{
  overflow:hidden;
  padding-inline:4px;
}
.accordion-item[data-open="true"] .accordion-panel-inner{padding-bottom:18px;}

/* ------------------------------------------------------------ 响应式 */

@media (max-width:1100px){
  .brand-tagline{display:none;}
}

@media (max-width:980px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1 / -1;}
  .footer-contact{grid-column:1 / -1;}
}

@media (max-width:960px){
  .header-inner--top{min-height:64px;gap:12px;}
  .contact-hint{display:none;}
  .nav-toggle{display:inline-flex;margin-left:auto;}

  .header-rail{border-top-width:2px;}
  .site-nav{
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:0 var(--gutter);
    max-height:0;
    overflow:hidden;
    visibility:hidden;
    transition:max-height .34s var(--ease),visibility .34s var(--ease);
  }
  .site-nav[data-open="true"]{
    max-height:80vh;
    overflow-y:auto;
    visibility:visible;
    padding-block:10px 18px;
  }

  .nav-list{flex-direction:column;align-items:stretch;gap:0;}
  .nav-link{
    display:flex;
    align-items:center;
    gap:10px;
    padding:13px 8px;
    border-radius:0;
    border-bottom:1px solid rgba(252,248,242,.16);
    font-size:var(--fs-16);
  }
  .nav-link::after{display:none;}
  .nav-link[aria-current="page"]{
    background:transparent;
    color:var(--gold);
    border-bottom-color:rgba(210,160,60,.45);
    box-shadow:inset 3px 0 0 var(--gold);
  }
  .nav-link[aria-current="page"] .nav-index{color:var(--gold);}

  .nav-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin:14px 0 0;
  }
  .action-link{padding:10px 14px;text-align:center;}

  #main-content{scroll-margin-top:80px;}
}

@media (max-width:620px){
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .footer-copyright{line-height:1.7;}
  .nav-list{gap:0;}
  .tab{padding:8px 12px;font-size:var(--fs-12);}
}

@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;
  }
}
