@charset "utf-8";
/*-----reset-------*/
html{
	-webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,span,a{
	margin:0;
	padding:0;
}
body,button,input,select,textarea{
	font:14px/1.7 'arial','Libre Baskerville','sans-serif';
}
input,select,textarea{
	font-size:100%;
}
input, select, label {
    vertical-align: middle;
}
table{
	/*border-collapse:collapse;*/
	border-spacing:0;
}
/* IE bug fixed: th*/
th{text-align:inherit;}
fieldset,img{
	border:0;
}
iframe{display:block;}
abbr,acronym{
	border:0;
	font-variant:normal;
}
del {text-decoration:line-through;}
address,caption,cite,code,dfn,em,th,var {
	font-style:normal;
	font-weight:500;
}

ol,ul {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
}
q:before,q:after {content:'';}
sub, sup {
    font-size: 75%; 
    line-height: 0; 
    position: relative; 
    vertical-align: baseline;
}
sup {top: -0.5em;}
sub {bottom: -0.25em;}
a {color:#000;
    text-decoration: none;
}
a:hover {text-decoration:none;}
.clear{clear:both;}
.fl { float:left;}
.fr { float:right;}
input:focus,a:focus {
	outline: none;
}
a {blr:expression(this.onFocus=this.close());}
a {blr:expression(this.onFocus=this.blur());}

:root {
    /* 颜色 */
      --bg:       oklch(99% 0.002 250);
      --surface:  oklch(100% 0 0);
      --fg:       oklch(22% 0.03 260);
      --muted:    oklch(50% 0.02 255);
      --border:   oklch(92% 0.006 255);
      --accent:   #003399;   /* 深蓝主色 ≈ #003399 */
      --accent-d: oklch(30% 0.12 264);
      --accent-dd:#081b49;   /* 最深蓝（hero 底）*/
      --accent-2: #FFC000;   /* logo 黄弧 ≈ #FFC000 */
      --accent-3: #CC0033;   /* logo 红齿轮 ≈ #CC0033 */
      --ink:      oklch(26% 0.05 262);

    /* 字体 */
    --font-display: 'Saira','Noto Sans SC',-apple-system,system-ui,sans-serif;
    --font-body: 'Noto Sans SC','Source Han Sans SC',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
    --font-mono: 'JetBrains Mono',ui-monospace,Menlo,monospace;

    /* 字号 — clamp() 流式缩放 */
    --fz-hero: clamp(28px, 5vw, 76px);
    --fz-h2: clamp(28px, 3.5vw, 57px);
    --fz-h3: clamp(20px, 2vw, 31px);
    --fz-body: clamp(14px, 1.4vw, 20px);
    --fz-body-lg: clamp(16px, 1.6vw, 24px);
    --fz-subtitle: clamp(14px, 1.3vw, 20px);
    --fz-btn: clamp(16px, 1.4vw, 20px);
     --fz-middle: clamp(14px, 1vw, 18px);
    --fz-small: clamp(12px, 1vw, 14px);
    --fz-footer-title: clamp(16px, 1.5vw, 24px);
    --fz-footer-link: clamp(13px, 1vw, 16px);

    /* 行高 */
    --lh-tight: 1.3em;
    --lh-body: 2em;

    /* 间距 — 4px 基数 */
    --sp-xs: 4px;
    --sp-sm: 8px;
    --sp-md: 16px;
    --sp-lg: 24px;
    --sp-xl: 32px;
    --sp-2xl: 48px;
    --sp-3xl: 64px;
    --sp-section: clamp(40px, 6vw, 100px);

    /* 容器 */
    --container-max: 1400px;

    /* 圆角/阴影/过渡 */
    --radius-sm: 4px;
    --radius-btn: 40px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --transition: 0.3s ease;
    --radius: 8px;
}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.02em;padding:14px 26px;border-radius:var(--radius);cursor:pointer;border:1.5px solid transparent;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;min-height:48px}
.btn-primary{background:var(--accent-2);color:var(--ink);box-shadow:0 6px 18px -8px oklch(83% .16 88 / .8)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px oklch(83% .16 88 / .9)}
.btn-dark{background:var(--accent);color:#fff}
.btn-dark:hover{background:var(--accent-d);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-outline{background:transparent;color:var(--accent);border-color:var(--border)}
.btn-outline:hover{border-color:var(--accent);background:oklch(42% .17 264 / .05)}
.btn-block {
    width: 100%;
    justify-content: center;
}
.btn-block:hover;.btn-primary:hover{
    background: var(--accent-2);
    border-color:var(--border)
}
.btn:active{transform:translateY(0) scale(.97)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:4px}