@charset "utf-8";

/* ============================================================
   Design Tokens
   ============================================================ */
:root {
  --blue:        #1769ff;
  --blue-dark:   #0d55e0;
  --blue-light:  #e8f0ff;
  --blue-glow:   rgba(23, 105, 255, 0.15);
  --orange:      #ff6b35;
  --text-1:      #111827;
  --text-2:      #374151;
  --text-3:      #6b7280;
  --text-4:      #9ca3af;
  --bg-0:        #ffffff;
  --bg-1:        #f8faff;
  --bg-2:        #f1f5f9;
  --border:      #e5e7eb;
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --shadow-sm:   0 1px 4px rgba(0,0,0,0.06);
  --shadow-md:   0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg:   0 12px 48px rgba(23,105,255,0.14);
  --transition:  0.25s ease;
  --section-py:  80px;
}

/* ============================================================
   Fonts
   ============================================================ */
@font-face { font-family:"SourceHanSansCN-Regular"; src:url("font/SourceHanSansCN-Regular_2.otf"); font-weight:normal; font-style:normal; }
@font-face { font-family:"SourceHanSansCN-Bold";    src:url("font/SourceHanSansCN-Bold_1.otf");    font-weight:normal; font-style:normal; }
@font-face { font-family:"SourceHanSansCN-Medium";  src:url("font/SourceHanSansCN-Medium_2.otf");  font-weight:normal; font-style:normal; }
@font-face { font-family:"SourceHanSansCN-Light";   src:url("font/SourceHanSansCN-Light_2.otf");   font-weight:normal; font-style:normal; }

/* ============================================================
   Reset
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
ul, li, p, span, em, i, div, img, h1, h2, h3, h4, a, object, input, textarea, body { padding: 0; margin: 0; border: none; }
body { font: 15px/1.6 "SourceHanSansCN-Regular", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: var(--text-2); background: #fff; overflow-x: hidden; }
table  { border-collapse: collapse; }
em, i  { font-style: normal; }
a      { color: var(--text-2); text-decoration: none; cursor: pointer; outline: none; -webkit-tap-highlight-color: transparent; transition: color var(--transition); }
a:hover { color: var(--blue); }
ul, li { list-style: none; }
img    { vertical-align: top; max-width: 100%; }
input, textarea { outline: none; vertical-align: middle; -webkit-appearance: none; font-family: inherit; }
textarea { resize: none; overflow: hidden; }
h1 { font-size: 40px; color: var(--text-1); line-height: 1.2; font-weight: normal; font-family: "SourceHanSansCN-Medium", sans-serif; }
h2 { font-size: 32px; color: var(--text-1); line-height: 1.25; font-weight: normal; font-family: "SourceHanSansCN-Medium", sans-serif; }
h3 { font-size: 20px; line-height: 1.4; font-weight: normal; font-family: "SourceHanSansCN-Medium", sans-serif; }
h4 { font-size: 14px; line-height: 1.5; font-weight: normal; }
p  { line-height: 1.7; }

.clear { clear: both; font-size: 0; line-height: 0; height: 0; overflow: hidden; }
.clearm::after { clear: both; display: block; height: 0; visibility: hidden; content: " "; }
.clearm { *zoom: 1; }
.hidden { display: none; }
.text_overflow { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }

/* Autofill fix */
input:-webkit-autofill {
  -webkit-text-fill-color: #333;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  transition: background-color 50000s ease-in-out 0s !important;
}
[role=button], a, area, button, input:not([type=range]), label, select, summary, textarea {
  -ms-touch-action: manipulation; touch-action: manipulation;
}

/* Scrollbar */
body::-webkit-scrollbar { width: 5px; background: #f1f5f9; }
body::-webkit-scrollbar-thumb { border-radius: 3px; background: var(--blue); }

/* ============================================================
   Shared Section Header
   ============================================================ */
.sec-hd { text-align: center; margin-bottom: 56px; }
.sec-hd .tag { display: inline-block; padding: 4px 14px; background: var(--blue-light); color: var(--blue); font-size: 13px; border-radius: 20px; margin-bottom: 16px; font-family: "SourceHanSansCN-Medium", sans-serif; letter-spacing: 0.5px; }
.sec-hd h2 { font-size: 40px; color: var(--text-1); margin-bottom: 16px; }
.sec-hd p  { font-size: 16px; color: var(--text-3); max-width: 560px; margin: 0 auto; }

/* ============================================================
   Shared Button
   ============================================================ */
.btn-primary { display: inline-flex; align-items: center; gap: 8px; padding: 0 28px; height: 48px; line-height: 48px; border-radius: 48px; color: #fff; background: var(--blue); font-size: 15px; font-family: "SourceHanSansCN-Medium", sans-serif; transition: all var(--transition); box-shadow: 0 4px 16px var(--blue-glow); }
.btn-primary:hover { color: #fff; background: var(--blue-dark); transform: translateY(-2px); box-shadow: 0 8px 24px var(--blue-glow); }
.btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 0 28px; height: 48px; line-height: 46px; border-radius: 48px; color: var(--blue); border: 1.5px solid var(--blue); font-size: 15px; transition: all var(--transition); }
.btn-ghost:hover { color: #fff; background: var(--blue); }
