/* ========== reset & vars ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:"思源黑体","Source Han Sans SC",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6;background:var(--c-mist);color:var(--c-ink);min-height:100vh}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{background:none;border:none;font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px;border-radius:2px}

:root{
  --c-blue:#081A33;
  --c-gold:#B48C3C;
  --c-gold-tint:#D6B56C;
  --c-cinnabar:#9E2B25;
  --c-ink:#1A2233;
  --c-mist:#E8E4DA;
  --c-light:#F8F5EE;
  --c-jade:#1F3A4D;
  --c-paper:#F8F5EE;
  --c-line:rgba(180,140,60,.45);
  --c-line-dark:rgba(180,140,60,.75);
  --font-title:"思源宋体","Source Han Serif SC",serif;
  --font-body:"思源黑体","Source Han Sans SC",-apple-system,"PingFang SC",sans-serif;
  --sh-card:0 1px 2px rgba(8,26,51,.04),0 8px 20px rgba(8,26,51,.06);
  --width-wide:1600px;
  --width-inner:max(1200px,76vw);
  --nav-h:60px;
  --radius:2px;
}

/* ========== layout basics ========== */
#main-content{display:block}
.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;background:var(--c-cinnabar);color:var(--c-light);padding:8px 18px;font-size:14px;transition:top .28s ease;border-radius:2px}
.skip-link:focus{top:12px}
.k-container{width:min(1240px,92.5%);margin-inline:auto}
.k-section{border-top:1px solid var(--c-line);padding:clamp(28px,4.6vw,68px) clamp(16px,3.2vw,64px)}
.k-section__inner{max-width:1100px;margin-inline:auto}
.k-divider{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--c-line),transparent)}
.k-breadcrumb{display:flex;flex-wrap:wrap;gap:6px 8px;font-size:13px;color:var(--c-blue);background:transparent;border-bottom:1px solid var(--c-line);padding:10px 24px;margin:0}
.k-breadcrumb a{color:var(--c-blue);opacity:.72;transition:.2s}
.k-breadcrumb a:hover{opacity:1;color:var(--c-cinnabar)}
.k-breadcrumb [aria-current="page"]{color:var(--c-cinnabar);opacity:1;font-weight:600}
.k-tag{display:inline-block;background:var(--c-cinnabar);color:var(--c-light);font-size:12px;padding:2px 10px;letter-spacing:.05em;border-radius:1px}
.k-btn{display:inline-block;background:var(--c-blue);color:var(--c-light);border:1px solid var(--c-blue);padding:10px 28px;font-size:14px;line-height:1.2;letter-spacing:.06em;transition:background .24s,color .24s,border-color .24s,box-shadow .24s;border-radius:2px}
.k-btn:hover{background:var(--c-cinnabar);border-color:var(--c-cinnabar);box-shadow:0 2px 14px rgba(158,43,37,.18)}
.k-btn--ghost{background:transparent;color:var(--c-blue);border-color:var(--c-gold)}
.k-btn--ghost:hover{background:var(--c-gold);color:var(--c-blue)}
.k-card{background:var(--c-light);border:1px solid var(--c-line);box-shadow:var(--sh-card);border-radius:2px;padding:clamp(18px,3vw,34px)}
.k-card__title{font-family:var(--font-title);font-size:20px;color:var(--c-blue);margin-bottom:10px}
.k-link-more{display:inline-flex;align-items:center;gap:6px;color:var(--c-blue);font-weight:600;border-bottom:1px solid var(--c-gold);padding:2px 0;transition:gap .2s,color .2s}
.k-link-more:hover{color:var(--c-cinnabar);gap:10px}
.k-trust{font-size:clamp(16px,2.4vw,24px);font-family:var(--font-title);color:var(--c-gold);letter-spacing:.1em;text-align:center;padding:28px 10px;position:relative}
.k-trust::before{content:"";display:block;width:42px;height:1px;background:var(--c-gold);margin:0 auto 12px}
.k-media{background:var(--c-mist);border:1px solid var(--c-line);position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:2px}
.k-media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,26,51,.08) 25%,rgba(180,140,60,.08) 55%,rgba(158,43,37,.06) 90%);background-size:18px 18px;opacity:.4}
.k-media--4-3{aspect-ratio:4/3}
.k-media--square{aspect-ratio:1/1}

/* ========== header / nav ========== */
.k-nav{background:var(--c-blue);color:var(--c-light);position:relative;z-index:100}
.k-nav::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:
  linear-gradient(rgba(214,181,108,.08) 1px,transparent 1px),
  linear-gradient(90deg,rgba(214,181,108,.08) 1px,transparent 1px);
  background-size:68px 68px}
.k-nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--c-gold) 0,var(--c-gold) 240px,transparent 64%)}
.k-nav__inner{max-width:var(--width-inner);margin-inline:auto}
.k-nav__topline{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--c-gold-tint);border-bottom:1px solid rgba(180,140,60,.28);padding:7px 20px;letter-spacing:.05em;text-transform:uppercase}
.k-nav__claim{font-size:12px;color:var(--c-gold-tint)}
.k-nav__icp{font-size:11px;color:var(--c-mist);opacity:.82}
.k-nav__head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 20px;position:relative;z-index:2}
.k-nav__brand{display:flex;align-items:center;gap:12px;min-width:220px}
.k-nav__brand-mark{width:30px;height:30px;border:2px solid var(--c-gold);border-radius:2px;position:relative;transform:rotate(45deg);flex:0 0 auto}
.k-nav__brand-mark::before{content:"";position:absolute;inset:3px;background:var(--c-cinnabar);opacity:.85}
.k-nav__brand-mark::after{content:"";position:absolute;inset:auto;width:14px;height:1px;background:var(--c-light);left:-4px;top:12px;transform:rotate(-45deg)}
.k-nav__brand-name{font-family:var(--font-title);font-size:22px;color:var(--c-light);letter-spacing:.12em;font-weight:600}
.k-nav__menu{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:flex-end}
.k-nav__link{display:inline-block;padding:8px 2px 8px;font-size:16px;color:rgba(248,245,238,.8);letter-spacing:.04em;border-bottom:2px solid transparent;transition:color .22s,border-color .22s;font-family:var(--font-title);font-size:16px}
.k-nav__link:hover{color:var(--c-light);border-bottom-color:var(--c-gold)}
.k-nav__link[aria-current="page"]{color:var(--c-gold-tint);border-bottom-color:var(--c-cinnabar)}
.k-nav__toggle{display:none}
[data-open="true"] .k-nav__toggle-line:nth-child(1){transform:translateY(4px) rotate(45deg)}
[data-open="true"] .k-nav__toggle-line:nth-child(2){opacity:0}
[data-open="true"] .k-nav__toggle-line:nth-child(3){transform:translateY(-4px) rotate(-45deg)}

/* ========== footer ========== */
.k-footer{background:var(--c-blue);color:var(--c-light);border-top:2px solid var(--c-gold);position:relative;margin-top:56px}
.k-footer::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--c-gold);opacity:.5}
.k-footer__inner{max-width:var(--width-wide);margin-inline:auto;display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.1fr;gap:36px 24px;padding:50px clamp(22px,4vw,64px) 34px}
.k-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.k-footer__logo{width:32px;height:32px;border:2px solid var(--c-gold);border-radius:50%;position:relative;flex:none}
.k-footer__logo::before{content:"";position:absolute;inset:6px;background:var(--c-cinnabar);border-radius:50%;opacity:.9}
.k-footer__name{font-family:var(--font-title);font-size:20px;letter-spacing:.08em;color:var(--c-gold-tint)}
.k-footer__slogan{font-size:14px;color:rgba(248,245,238,.62);line-height:1.8;max-width:32ch}
.k-footer__label{display:block;font-size:13px;color:var(--c-gold);margin-bottom:6px;border-left:2px solid var(--c-cinnabar);padding-left:8px}
.k-footer__links{display:flex;flex-direction:column;gap:9px;font-size:15px;color:rgba(248,245,238,.8)}
.k-footer__links a{transition:color .2s,padding-left .2s}
.k-footer__links a:hover{color:var(--c-gold-tint);padding-left:4px}
.k-footer__contact{display:flex;flex-direction:column;gap:9px;font-size:14px;color:rgba(248,245,238,.68)}
.k-footer__icp{max-width:var(--width-wide);margin-inline:auto;border-top:1px solid rgba(180,140,60,.24);padding:14px clamp(22px,4vw,64px);display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:12px;color:rgba(248,245,238,.46)}

/* ========== scroll progress ========== */
.k-scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:9000;pointer-events:none}
.k-scroll-progress__bar{display:block;width:0;height:100%;background:var(--c-gold);transition:width .2s ease-out}
/* ========== back top ========== */
.k-backtop{position:fixed;right:28px;bottom:64px;width:44px;height:44px;background:var(--c-blue);color:var(--c-light);border:1px solid var(--c-gold);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.02em;cursor:pointer;opacity:0;pointer-events:none;z-index:800;transition:opacity .24s,background .24s,transform .24s;transform:translateY(8px)}
.k-backtop:hover{background:var(--c-cinnabar)}
.k-backtop[data-visible="true"]{opacity:1;pointer-events:auto;transform:translateY(0)}

/* ========== reveal ========== */
.js-reveal{opacity:0;transform:translateY(16px);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1)}
.js-reveal[data-visible="true"]{opacity:1;transform:none}

/* ========== components ========== */
.k-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.k-rule{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:14px 16px;border:1px solid var(--c-line);border-radius:2px;background:rgba(248,245,238,.7)}
.k-rule__num{font-family:var(--font-title);font-size:22px;color:var(--c-gold);line-height:1}
.k-rule__body{color:var(--c-ink)}

/* ========== responsive ========== */
@media (max-width: 1240px){
  .k-footer__inner{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width: 980px){
  :root{--width-inner:92%}
  .k-nav::after{left:20px;right:auto}
  .k-nav__inner{max-width:none}
  .k-nav__topline{padding:6px 16px}
  .k-nav__head{flex-wrap:wrap;padding:10px 16px}
  .k-nav__toggle{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--c-gold-tint);padding:8px 10px;border:1px solid rgba(180,140,60,.5);border-radius:2px;font-size:14px}
  .k-nav__toggle-text{font-family:var(--font-title)}
  .k-nav__toggle-line{width:16px;height:2px;background:var(--c-gold-tint);display:block;margin:3px 0;transition:.3s}
  .k-nav__menu{flex-direction:column;width:100%;display:none;padding-top:6px;border-top:1px solid rgba(180,140,60,.24)}
  .k-nav__menu[data-open="true"]{display:flex}
  .k-nav__link{padding:12px 4px;font-size:16px;border-bottom:1px solid rgba(248,245,238,.08)}
  .k-nav__toggle[aria-expanded="true"] .k-nav__toggle-line:nth-child(1){transform:translateY(4px) rotate(45deg)}
  .k-nav__toggle[aria-expanded="true"] .k-nav__toggle-line:nth-child(2){opacity:0}
  .k-nav__toggle[aria-expanded="true"] .k-nav__toggle-line:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
  .k-rules{grid-template-columns:1fr}
}
@media (max-width: 680px){
  body{font-size:15px}
  .k-nav__brand-name{font-size:18px}
  .k-nav__brand-mark{width:22px;height:22px}
  .k-footer__inner{grid-template-columns:1fr;padding:36px 20px 24px}
  .k-footer__icp{flex-direction:column;padding:14px 20px}
  .k-backtop{right:14px;bottom:32px}
  .k-breadcrumb{padding:10px 16px}
}

/* ========== reduced motion ========== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js-reveal{opacity:1;transform:none}
}

/* ========== data-in viewport base ========== */
.js-reveal[data-visible="true"]{opacity:1;transform:none}
.js-reveal[data-visible="false"]{opacity:0;transform:translateY(16px)}
@media (prefers-reduced-motion: reduce){
  .js-reveal[data-visible="false"]{opacity:1;transform:none}
}

/* ========== decorative base ========== */
.k-deco-line{height:1px;background:var(--c-line);border:0}
.k-deco-diamond{width:18px;height:18px;border:1px solid var(--c-gold);transform:rotate(45deg);display:inline-block;position:relative}
.k-deco-diamond::before{content:"";position:absolute;inset:4px;background:var(--c-cinnabar);opacity:.75}

/* print */
@media print{
  .k-nav,.k-footer,.k-backtop,.k-scroll-progress,.skip-link{display:none!important}
  body{background:white;color:black}
}
