/* =========================================================
   恒峰服务 · 共享站点样式  /assets/site.css
   设计语言：档案索引 —— 岩蓝分层 / 沙丘米纸底 / 单一暖铜金
   ========================================================= */

/* ---------- 1. 设计令牌 ---------- */
:root{
  /* 色彩 */
  --hf-rock-deep:#0E1B2A;
  --hf-rock:#1B2F45;
  --hf-rock-mid:#2F4A66;
  --hf-rock-soft:#7E93A8;
  --hf-sand:#F3EDE3;
  --hf-sand-alt:#E6DCCB;
  --hf-sand-card:#FBF7F0;
  --hf-copper:#B4762F;
  --hf-copper-mist:#E8C9A0;
  --hf-ink:#5A5F63;
  --hf-line:#C7C9CA;

  /* 语义映射 */
  --hf-fg:var(--hf-ink);
  --hf-fg-strong:var(--hf-rock-deep);
  --hf-bg:var(--hf-sand);
  --hf-bg-alt:var(--hf-sand-alt);
  --hf-accent:var(--hf-copper);

  /* 字体 */
  --hf-font-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",sans-serif;
  --hf-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  /* 字号阶梯 12 / 13 / 16 / 17 / 20 / 28 / 44 / 72 / 96 */
  --hf-fs-index:12px;
  --hf-fs-index-lg:13px;
  --hf-fs-body:17px;
  --hf-fs-body-sm:16px;
  --hf-fs-lead:20px;
  --hf-fs-h3:clamp(1.25rem,2vw,1.75rem);
  --hf-fs-h2:clamp(1.75rem,3.2vw,2.75rem);
  --hf-fs-display:clamp(2.75rem,7vw,6rem);

  /* 节奏 */
  --hf-gutter:20px;
  --hf-w-page:1140px;
  --hf-w-wide:1340px;
  --hf-w-read:760px;
  --hf-space-1:8px;
  --hf-space-2:16px;
  --hf-space-3:24px;
  --hf-space-4:32px;
  --hf-space-5:48px;
  --hf-space-6:72px;
  --hf-space-7:112px;

  /* 形状与动效 */
  --hf-r-sm:3px;
  --hf-r:6px;
  --hf-r-lg:14px;
  --hf-ease:cubic-bezier(.22,.61,.36,1);
  --hf-dur:320ms;
}
@media (min-width:720px){ :root{ --hf-gutter:32px; } }
@media (min-width:1120px){ :root{ --hf-gutter:48px; } }

/* ---------- 2. Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  tab-size:2;
}
body{
  margin:0;
  min-height:100vh;
  background:var(--hf-bg);
  color:var(--hf-fg);
  font-family:var(--hf-font-sans);
  font-size:var(--hf-fs-body);
  font-weight:400;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{
  margin:0;
  color:var(--hf-fg-strong);
  font-weight:700;
  line-height:1.24;
  letter-spacing:-.01em;
}
p{ margin:0 0 1.2em; }
p:last-child{ margin-bottom:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
figure,blockquote,dl,dd{ margin:0; }
img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
table{ width:100%; border-collapse:collapse; }
hr{ margin:0; border:0; border-top:1px solid var(--hf-line); }

:focus-visible{
  outline:2px solid var(--hf-copper);
  outline-offset:3px;
  border-radius:2px;
}

.hf-sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- 3. 布局容器与网格 ---------- */
.hf-container{
  width:100%;
  max-width:var(--hf-w-page);
  margin-inline:auto;
  padding-inline:var(--hf-gutter);
}
.hf-container--wide{ max-width:var(--hf-w-wide); }
.hf-container--read{ max-width:var(--hf-w-read); }

.hf-section{ padding-block:clamp(48px,7vw,112px); }
.hf-section--tight{ padding-block:clamp(32px,4vw,64px); }
.hf-section--flush{ padding-block:0; }
.hf-section--alt{ background:var(--hf-bg-alt); }
.hf-section--rock{ background:var(--hf-rock); color:rgba(243,237,227,.78); }
.hf-section--rock h1,
.hf-section--rock h2,
.hf-section--rock h3,
.hf-section--rock h4{ color:var(--hf-sand); }
.hf-section--rock .hf-index{ color:var(--hf-copper-mist); }

.hf-stack > * + *{ margin-top:var(--hf-space-3); }
.hf-rule{ height:1px; background:var(--hf-line); border:0; margin-block:var(--hf-space-4); }
.hf-rule--copper{ background:var(--hf-copper); width:48px; }

.hf-grid{ display:grid; gap:clamp(20px,3vw,40px); }
.hf-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.hf-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.hf-grid--split{ grid-template-columns:minmax(180px,220px) minmax(0,1fr); }
@media (max-width:900px){
  .hf-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hf-grid--split{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:640px){
  .hf-grid--2,
  .hf-grid--3{ grid-template-columns:minmax(0,1fr); }
}

/* ---------- 4. 排版组件 ---------- */
.hf-display{
  font-size:var(--hf-fs-display);
  font-weight:300;
  line-height:1.06;
  letter-spacing:-.02em;
  color:var(--hf-rock-deep);
}
.hf-h2{
  font-size:var(--hf-fs-h2);
  font-weight:700;
  line-height:1.2;
}
.hf-h3{
  font-size:var(--hf-fs-h3);
  font-weight:700;
  line-height:1.3;
}
.hf-lead{
  font-size:var(--hf-fs-lead);
  line-height:1.7;
  color:var(--hf-rock-mid);
  max-width:26em;
}
.hf-prose{ max-width:34em; }
.hf-prose p{ margin:0 0 1.2em; }
.hf-prose h2{ margin:2.2em 0 .6em; font-size:var(--hf-fs-h3); }
.hf-prose h3{ margin:1.8em 0 .5em; font-size:1.25rem; }
.hf-prose ul{ margin:0 0 1.2em; padding-left:1.1em; list-style:disc; }
.hf-prose li{ margin-bottom:.4em; }

.hf-index{
  display:inline-block;
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--hf-rock-soft);
  line-height:1.6;
}
.hf-mono{
  font-family:var(--hf-font-mono);
  font-size:.9em;
  letter-spacing:.04em;
}
.hf-muted{ color:var(--hf-rock-soft); }

/* ---------- 5. 按钮与标签 ---------- */
.hf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:var(--hf-r-sm);
  background:none;
  font-family:inherit;
  font-size:var(--hf-fs-index-lg);
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.3;
  text-decoration:none;
  cursor:pointer;
  appearance:none;
  transition:background var(--hf-dur) var(--hf-ease),
             color var(--hf-dur) var(--hf-ease),
             border-color var(--hf-dur) var(--hf-ease);
}
.hf-btn--copper{ background:var(--hf-copper); color:var(--hf-rock-deep); }
.hf-btn--copper:hover{ background:var(--hf-copper-mist); }
.hf-btn--ghost{ color:var(--hf-sand); border-color:rgba(243,237,227,.32); }
.hf-btn--ghost:hover{ color:var(--hf-copper-mist); border-color:var(--hf-copper-mist); }
.hf-btn--line{ color:var(--hf-rock-deep); border-color:var(--hf-line); }
.hf-btn--line:hover{ color:var(--hf-copper); border-color:var(--hf-copper); }
.hf-btn--sm{ padding:9px 16px; font-size:var(--hf-fs-index); }

.hf-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 11px;
  border-radius:999px;
  background:var(--hf-copper-mist);
  color:var(--hf-rock-deep);
  font-size:var(--hf-fs-index);
  letter-spacing:.1em;
  line-height:1.6;
}
.hf-chip--outline{
  background:transparent;
  border:1px solid var(--hf-line);
  color:var(--hf-ink);
}

.hf-meter{ display:block; }
.hf-meter__label{
  display:block;
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.14em;
  color:var(--hf-rock-soft);
  margin-bottom:8px;
}
.hf-meter__bar{
  position:relative;
  height:3px;
  background:var(--hf-line);
  border-radius:999px;
  overflow:hidden;
}
.hf-meter__bar::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--hf-meter-value,60%);
  background:var(--hf-copper);
  border-radius:999px;
}

/* ---------- 6. 索引卡 ---------- */
.hf-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px 24px 24px 28px;
  background:var(--hf-sand-card);
  border:1px solid var(--hf-line);
  border-radius:var(--hf-r);
  transition:border-color var(--hf-dur) var(--hf-ease),
             box-shadow var(--hf-dur) var(--hf-ease);
}
.hf-card::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  width:3px;
  height:28px;
  background:var(--hf-copper);
  border-radius:0 2px 2px 0;
}
.hf-card:hover{
  border-color:var(--hf-rock-soft);
  box-shadow:0 18px 40px -32px rgba(14,27,42,.7);
}
.hf-card__index{
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.16em;
  color:var(--hf-copper);
}
.hf-card__title{
  margin:0;
  font-size:1.25rem;
  font-weight:700;
  line-height:1.35;
  color:var(--hf-rock-deep);
}
.hf-card__text{
  margin:0;
  font-size:var(--hf-fs-body-sm);
  line-height:1.8;
  color:var(--hf-fg);
}
.hf-card__meta{
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid var(--hf-line);
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.06em;
  color:var(--hf-rock-soft);
}
.hf-card--rock{
  background:var(--hf-rock);
  border-color:rgba(243,237,227,.16);
}
.hf-card--rock .hf-card__title{ color:var(--hf-sand); }
.hf-card--rock .hf-card__text{ color:rgba(243,237,227,.78); }
.hf-card--rock .hf-card__meta{
  border-top-color:rgba(243,237,227,.16);
  color:var(--hf-rock-soft);
}

/* ---------- 7. 面包屑 ---------- */
.hf-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:var(--hf-fs-index);
  letter-spacing:.12em;
  color:var(--hf-rock-soft);
}
.hf-breadcrumb__link{ color:inherit; transition:color var(--hf-dur) var(--hf-ease); }
.hf-breadcrumb__link:hover{ color:var(--hf-copper); }
.hf-breadcrumb__sep{ color:var(--hf-line); }
.hf-breadcrumb__current{ color:var(--hf-ink); }
.hf-section--rock .hf-breadcrumb__current{ color:var(--hf-sand); }
.hf-section--rock .hf-breadcrumb__sep{ color:rgba(243,237,227,.35); }

/* ---------- 8. 图片容器 ---------- */
.hf-media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:var(--hf-r);
  background:var(--hf-bg-alt);
  isolation:isolate;
}
.hf-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(118deg,rgba(126,147,168,.22) 0 1px,transparent 1px 14px),
    repeating-linear-gradient(28deg,rgba(180,118,47,.09) 0 1px,transparent 1px 26px);
  pointer-events:none;
}
.hf-media > img,
.hf-media > video{
  position:relative;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hf-media--16x9{ aspect-ratio:16 / 9; }
.hf-media--3x2{ aspect-ratio:3 / 2; }
.hf-media--4x3{ aspect-ratio:4 / 3; }
.hf-media--3x4{ aspect-ratio:3 / 4; }
.hf-media--1x1{ aspect-ratio:1 / 1; }
.hf-media__caption{
  margin-top:10px;
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.08em;
  color:var(--hf-rock-soft);
}

/* ---------- 9. 显现与状态元素 ---------- */
.hf-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity var(--hf-dur) var(--hf-ease),
             transform var(--hf-dur) var(--hf-ease);
}
.hf-reveal[data-shown="true"]{ opacity:1; transform:none; }

.hf-progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:2px;
  transform:scaleX(0);
  transform-origin:0 50%;
  background:var(--hf-copper);
  z-index:130;
  pointer-events:none;
}
.hf-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:130;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(232,201,160,.45);
  background:var(--hf-rock-deep);
  color:var(--hf-copper-mist);
  font-size:16px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity var(--hf-dur) var(--hf-ease),
             transform var(--hf-dur) var(--hf-ease),
             visibility var(--hf-dur) var(--hf-ease);
}
.hf-to-top[data-shown="true"]{ opacity:1; visibility:visible; transform:none; }
.hf-to-top:hover{ border-color:var(--hf-copper-mist); }

/* ---------- 10. 跳至主要内容 ---------- */
.hf-skip{
  position:absolute;
  left:16px;
  top:-80px;
  z-index:200;
  padding:10px 18px;
  background:var(--hf-copper);
  color:var(--hf-rock-deep);
  font-size:var(--hf-fs-index);
  font-weight:700;
  letter-spacing:.16em;
  border-radius:0 0 var(--hf-r-sm) var(--hf-r-sm);
  transition:top 200ms var(--hf-ease);
}
.hf-skip:focus{ top:0; }

/* ---------- 11. 站点头部 ---------- */
.hf-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--hf-rock-deep);
  color:var(--hf-sand);
  border-bottom:1px solid transparent;
  transition:background var(--hf-dur) var(--hf-ease),
             border-color var(--hf-dur) var(--hf-ease),
             box-shadow var(--hf-dur) var(--hf-ease);
}
.hf-header[data-scrolled="true"]{
  background:var(--hf-rock);
  border-bottom-color:rgba(232,201,160,.34);
  box-shadow:0 14px 34px -26px rgba(14,27,42,.95);
}
.hf-header__inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  min-height:76px;
  padding-block:12px;
}
.hf-header__utility{ justify-self:end; }

.hf-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.hf-brand__mark{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:var(--hf-r-sm);
  background:var(--hf-copper);
  color:var(--hf-rock-deep);
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index-lg);
  font-weight:700;
  letter-spacing:.06em;
  box-shadow:inset 0 0 0 1px rgba(14,27,42,.28);
  transition:background var(--hf-dur) var(--hf-ease);
}
.hf-brand:hover .hf-brand__mark{ background:var(--hf-copper-mist); }
.hf-brand__text{
  display:flex;
  flex-direction:column;
  line-height:1.25;
}
.hf-brand__name{
  font-size:var(--hf-fs-body);
  font-weight:700;
  letter-spacing:.08em;
  color:var(--hf-sand);
}
.hf-brand__tagline{
  font-size:var(--hf-fs-index);
  letter-spacing:.08em;
  color:var(--hf-rock-soft);
  transition:opacity var(--hf-dur) var(--hf-ease);
}
.hf-header[data-scrolled="true"] .hf-brand__tagline{ opacity:.4; }

.hf-nav{ justify-self:center; }
.hf-nav__list{
  display:flex;
  align-items:center;
  gap:2px;
}
.hf-nav__link{
  position:relative;
  display:inline-block;
  padding:8px 12px;
  border-radius:var(--hf-r-sm);
  font-size:var(--hf-fs-index-lg);
  letter-spacing:.1em;
  color:rgba(243,237,227,.76);
  transition:color var(--hf-dur) var(--hf-ease),
             background var(--hf-dur) var(--hf-ease);
}
.hf-nav__link:hover{
  color:var(--hf-sand);
  background:rgba(232,201,160,.1);
}
.hf-nav__link[aria-current="page"]{ color:var(--hf-copper-mist); }
.hf-nav__link[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:2px;
  height:2px;
  background:var(--hf-copper);
  border-radius:2px;
}

.hf-nav-toggle{
  display:none;
  align-items:center;
  gap:10px;
  justify-self:end;
  padding:9px 14px;
  border:1px solid rgba(243,237,227,.3);
  border-radius:var(--hf-r-sm);
  background:transparent;
  color:var(--hf-sand);
  font-family:inherit;
  font-size:var(--hf-fs-index);
  letter-spacing:.16em;
  line-height:1.4;
  cursor:pointer;
  appearance:none;
  transition:border-color var(--hf-dur) var(--hf-ease),
             color var(--hf-dur) var(--hf-ease);
}
.hf-nav-toggle:hover{ border-color:var(--hf-copper-mist); color:var(--hf-copper-mist); }
.hf-nav-toggle__bars{
  display:flex;
  flex-direction:column;
  gap:4px;
  width:16px;
}
.hf-nav-toggle__bars i{
  display:block;
  height:1.5px;
  background:currentColor;
  transition:transform var(--hf-dur) var(--hf-ease),
             opacity var(--hf-dur) var(--hf-ease);
}
.hf-nav-toggle[aria-expanded="true"] .hf-nav-toggle__bars i:nth-child(1){
  transform:translateY(5.5px) rotate(45deg);
}
.hf-nav-toggle[aria-expanded="true"] .hf-nav-toggle__bars i:nth-child(2){ opacity:0; }
.hf-nav-toggle[aria-expanded="true"] .hf-nav-toggle__bars i:nth-child(3){
  transform:translateY(-5.5px) rotate(-45deg);
}

@media (max-width:1023px){
  .hf-header__inner{ grid-template-columns:1fr auto; gap:12px; }
  .hf-header__utility{ display:none; }
  .hf-nav-toggle{ display:inline-flex; }

  .hf-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:120;
    max-height:82vh;
    overflow-y:auto;
    padding:22px var(--hf-gutter) calc(28px + env(safe-area-inset-bottom));
    background:var(--hf-rock);
    border-top:1px solid rgba(232,201,160,.32);
    border-radius:var(--hf-r-lg) var(--hf-r-lg) 0 0;
    box-shadow:0 -26px 60px -30px rgba(14,27,42,.95);
    transform:translateY(102%);
    opacity:0;
    visibility:hidden;
    transition:transform .34s var(--hf-ease),
               opacity .24s var(--hf-ease),
               visibility .24s var(--hf-ease);
  }
  .hf-nav[data-open]{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
  }
  .hf-nav__list{ flex-direction:column; align-items:stretch; gap:0; }
  .hf-nav__item + .hf-nav__item{ border-top:1px solid rgba(243,237,227,.12); }
  .hf-nav__link{
    display:block;
    padding:16px 4px;
    font-size:var(--hf-fs-body);
    letter-spacing:.08em;
    border-radius:0;
  }
  .hf-nav__link:hover{ background:transparent; color:var(--hf-copper-mist); }
  .hf-nav__link[aria-current="page"]::after{
    left:4px;
    right:auto;
    width:22px;
    bottom:12px;
  }
  body[data-nav="open"]{ overflow:hidden; }
}

/* ---------- 12. 站点页脚 ---------- */
.hf-footer{
  background:var(--hf-rock-deep);
  color:rgba(243,237,227,.72);
  border-top:1px solid rgba(232,201,160,.22);
  padding-top:clamp(48px,6vw,84px);
  font-size:var(--hf-fs-body-sm);
}
.hf-footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.5fr);
  gap:clamp(24px,3vw,44px);
  padding-bottom:clamp(32px,4vw,56px);
}
.hf-footer__brand{ display:flex; flex-direction:column; gap:10px; }
.hf-footer__mark{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:var(--hf-r-sm);
  background:var(--hf-copper);
  color:var(--hf-rock-deep);
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index-lg);
  font-weight:700;
  letter-spacing:.06em;
}
.hf-footer__name{
  margin:0;
  font-size:var(--hf-fs-body);
  font-weight:700;
  letter-spacing:.08em;
  color:var(--hf-sand);
}
.hf-footer__line{
  margin:0;
  max-width:22em;
  font-size:14px;
  line-height:1.8;
  color:rgba(243,237,227,.6);
}
.hf-footer__col-title{
  margin:0 0 16px;
  font-size:var(--hf-fs-index);
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--hf-copper-mist);
}
.hf-footer__col-title::after{
  content:"";
  display:block;
  width:18px;
  height:1px;
  margin-top:9px;
  background:var(--hf-copper);
}
.hf-footer__list{ display:flex; flex-direction:column; gap:2px; }
.hf-footer__link{
  display:inline-block;
  padding:5px 0;
  font-size:14px;
  line-height:1.7;
  color:rgba(243,237,227,.72);
  transition:color var(--hf-dur) var(--hf-ease);
}
.hf-footer__link:hover{ color:var(--hf-copper-mist); }
.hf-footer__link[aria-current="page"]{
  color:var(--hf-copper-mist);
  box-shadow:inset 0 -1px 0 var(--hf-copper);
}
.hf-footer__contact-list{ display:flex; flex-direction:column; gap:12px; }
.hf-footer__contact-item{ display:flex; flex-direction:column; gap:3px; }
.hf-footer__contact-label{
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.16em;
  color:var(--hf-rock-soft);
}
.hf-footer__contact-value{
  font-size:14px;
  line-height:1.7;
  color:rgba(243,237,227,.86);
  word-break:break-word;
}
.hf-footer__note{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(243,237,227,.14);
  font-size:var(--hf-fs-index);
  line-height:1.8;
  color:rgba(243,237,227,.5);
}
.hf-footer__bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 24px;
  padding-block:20px;
  border-top:1px solid rgba(243,237,227,.14);
  font-family:var(--hf-font-mono);
  font-size:var(--hf-fs-index);
  letter-spacing:.08em;
  color:var(--hf-rock-soft);
}
.hf-footer__legal,
.hf-footer__meta{ margin:0; }

@media (max-width:1023px){
  .hf-footer__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .hf-footer__brand{ grid-column:1 / -1; }
  .hf-footer__contact{ grid-column:1 / -1; }
}
@media (max-width:600px){
  .hf-footer__grid{ grid-template-columns:minmax(0,1fr); }
  .hf-footer__bottom{ flex-direction:column; align-items:flex-start; }
}

/* ---------- 13. 小屏微调 ---------- */
@media (max-width:640px){
  body{ font-size:var(--hf-fs-body-sm); }
  .hf-card{ padding:20px 18px 20px 24px; }
  .hf-to-top{ right:16px; bottom:16px; width:42px; height:42px; }
}

/* ---------- 14. 降低动效 ---------- */
@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;
  }
  .hf-reveal{ opacity:1; transform:none; }
  .hf-nav{ transition:none; }
  .hf-to-top{ transition:none; }
}
