
:root{color-scheme: light; --red: #B41E28; --red-deep: #8E1A22; --red-tint: #FBF3F3; --ink: #1F2328; --muted: #5C6370; --panel: #F4F5F7; --line: #E1E4E8; --gold: #C9A45C; --white: #FFFFFF; --footer: #24272B; --serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif; --sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif; --container: 1160px;}
*{box-sizing: border-box;}
html{scroll-behavior: smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto;}}
body{margin: 0; background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased;}
img{max-width: 100%; display: block;}
a{color: inherit; text-decoration: none;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline: 2px solid var(--red); outline-offset: 2px;}
h1, h2, h3{margin: 0; font-family: var(--serif); font-weight: 700; text-wrap: balance;}
p{margin: 0;}
.container{width: min(var(--container), calc(100% - 48px)); margin: 0 auto;}
/* ---------- Buttons ---------- */
.btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--sans); font-weight: 600; letter-spacing: .04em; border: 1px solid transparent; border-radius: 2px; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease; white-space: nowrap;}
.btn-primary{background: var(--red); color: var(--white); border-color: var(--red);}
.btn-primary:hover{background: var(--red-deep); border-color: var(--red-deep);}
.btn-ghost{background: transparent; color: var(--red); border-color: var(--red);}
.btn-ghost:hover{background: var(--red-tint);}
.btn-sm{padding: 8px 20px; font-size: 14px;}
.btn-lg{padding: 14px 36px; font-size: 17px;}
/* ---------- Header ---------- */
.site-header{position: sticky; top: 0; z-index: 20; background: var(--white); border-bottom: 1px solid var(--line);}
.topline{height: 4px; background: var(--red);}
.header-inner{display: flex; align-items: center; gap: 40px; height: 72px;}
.brand{display: flex; align-items: center; gap: 14px;}
.brand img{height: 36px; width: auto;}
.brand-sep{width: 1px; height: 26px; background: var(--line);}
.brand-name{font-family: var(--serif); font-weight: 700; font-size: 22px; color: var(--ink); letter-spacing: .06em;}
.brand-sub{font-size: 13px; color: var(--muted); letter-spacing: .04em;}
.nav{display: flex; gap: 32px; margin-left: auto; font-size: 15px;}
.nav a{position: relative; padding: 6px 0; color: var(--ink);}
.nav a::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 2px;background: var(--red);transform: scaleX(0);transition: transform .15s ease;}
.nav a:hover::after{transform: scaleX(1);}
/* ---------- Shared section bits ---------- */
.eyebrow{display: inline-flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; color: var(--red); font-weight: 600;}
.eyebrow .bar{width: 4px; height: 14px; background: var(--red); display: inline-block;}
.rule{display: flex; gap: 6px; margin: 22px 0 24px;}
.rule::before{content: "";width: 44px;height: 3px;background: var(--red);}
.rule::after{content: "";width: 22px;height: 3px;background: var(--gold);}
.section{padding: 88px 0; border-top: 1px solid var(--line);}
.section-head{max-width: 760px; margin-bottom: 44px;}
.section-head h2{font-size: 36px; line-height: 1.3; margin-top: 14px; letter-spacing: .02em;}
.section-sub{margin-top: 14px; font-size: 17px; color: var(--muted);}
.section-alt{background: var(--panel);}
/* ---------- Hero ---------- */
.hero{position: relative; padding: 96px 0 0; overflow: hidden;}
.hero::before, .hero::after{content: "";position: absolute;border-radius: 50%;pointer-events: none; border: 1px solid #F1DEDE;box-shadow: 0 0 0 40px var(--white), 0 0 0 41px #F3E3E3, 0 0 0 82px var(--white), 0 0 0 83px #F6EAEA;}
.hero::before{width: 300px;height: 300px;right: -60px;top: -120px;}
.hero::after{width: 220px;height: 220px;left: -110px;top: 260px;opacity: .8;}
.hero-copy{position: relative; max-width: 780px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center;}
.hero h1{font-size: 72px; line-height: 1.15; letter-spacing: .12em; margin-top: 22px;}
.hero-sub{font-family: var(--serif); font-size: 26px; color: var(--red-deep); font-weight: 600; margin-top: 10px; letter-spacing: .08em;}
.hero-sub .dot{margin: 0 10px; color: var(--gold);}
.hero .rule{justify-content: center; margin: 26px 0 26px;}
.lead{font-size: 17px; color: var(--ink); max-width: 40em;}
.cta-row{display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; justify-content: center;}
.cta-note{margin-top: 14px; font-size: 13px; color: var(--muted);}
/* Positioning trio */
.position{position: relative; margin-top: 72px; padding-top: 40px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; text-align: center;}
.pos-item{padding: 6px 28px; border-right: 1px solid var(--line);}
.pos-item:last-of-type{border-right: 0;}
.pos-k{display: block; font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--muted);}
.pos-v{display: block; font-size: 16px; color: var(--muted); margin-top: 2px;}
.pos-item.is-main .pos-k{color: var(--red);}
.pos-item.is-main .pos-v{color: var(--ink); font-weight: 600;}
.pos-note{grid-column: 1 / -1; margin: 26px auto 0; color: var(--muted); font-size: 15px; max-width: 46em;}
/* Stats strip */
.stats{margin-top: 56px; background: var(--panel); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.stats-row{display: grid; grid-template-columns: repeat(5, 1fr); margin: 0 auto; padding: 28px 0;}
.stat{padding: 4px 24px; border-left: 1px solid var(--line);}
.stat:first-child{border-left: 0; padding-left: 0;}
.stat dt{font-size: 13px; color: var(--muted); letter-spacing: .06em;}
.stat dd{margin: 4px 0 0; font-family: var(--serif); font-size: 30px; font-weight: 700; color: var(--ink); line-height: 1.2; font-variant-numeric: tabular-nums;}
.stat dd small{font-family: var(--sans); font-size: 14px; font-weight: 500; color: var(--muted); margin-left: 4px;}
/* ---------- Capability ---------- */
.lines{display: grid; grid-template-columns: 1fr 1fr; gap: 28px;}
.line-panel{background: var(--panel); border: 1px solid var(--line); padding: 32px 34px 30px;}
.line-head{display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid var(--line);}
.line-head h3{font-size: 26px; color: var(--red); letter-spacing: .04em;}
.line-head .tag{font-size: 14px; color: var(--muted);}
.line-scene{margin-top: 12px; font-size: 14px; color: var(--muted);}
.line-list{list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 14px;}
.line-list li{display: grid; grid-template-columns: 34px 1fr; gap: 4px 0;}
.line-list .n{font-size: 14px; color: var(--red); font-weight: 600; padding-top: 3px; font-variant-numeric: tabular-nums;}
.line-list .t{font-size: 17px; font-weight: 600; color: var(--ink);}
.line-list .d{grid-column: 2; font-size: 14px; color: var(--muted); line-height: 1.6;}
.line-extra{margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line);}
.line-extra .t{font-size: 16px; font-weight: 600; color: var(--red-deep);}
.line-extra .d{font-size: 14px; color: var(--muted);}
.base-strip{margin-top: 28px; border: 1px solid var(--line); background: var(--panel); padding: 20px 28px 22px;}
.base-strip .k{font-size: 13px; letter-spacing: .14em; color: var(--red); font-weight: 600;}
.base-strip .k span{color: var(--muted); font-weight: 400; letter-spacing: .04em; margin-left: 12px;}
.base-grid{margin-top: 14px; display: grid; grid-template-columns: repeat(6, 1fr);}
.base-grid div{padding: 6px 12px; border-left: 1px solid var(--line); text-align: center;}
.base-grid div:first-child{border-left: 0;}
.base-grid b{display: block; font-weight: 600; font-size: 15px; color: var(--ink);}
.base-grid span{display: block; font-size: 13px; color: var(--muted); margin-top: 2px;}
.principle{margin-top: 28px; display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; padding: 22px 28px; background: var(--red-tint); border: 1px solid #F0DCDC;}
.principle .k{font-family: var(--serif); font-size: 20px; font-weight: 700; color: var(--red); white-space: nowrap;}
.principle .v{font-size: 15px; color: var(--ink);}
.compare{margin-top: 64px;}
.compare h3{font-size: 24px; margin-bottom: 8px;}
.compare p.note{color: var(--muted); font-size: 15px; margin-bottom: 22px;}
.table-wrap{overflow-x: auto; border: 1px solid var(--line);}
table{width: 100%; border-collapse: collapse; font-size: 15px; min-width: 720px;}
thead th{text-align: left; font-weight: 600; background: var(--panel); padding: 14px 18px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; letter-spacing: .04em;}
thead th.hl{color: var(--red);}
tbody td{padding: 14px 18px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.6;}
tbody tr:last-child td{border-bottom: 0;}
tbody td:first-child{font-weight: 600; width: 26%;}
tbody td:nth-child(2){color: var(--muted);width: 30%;}
tbody td.hl{color: var(--ink);}
tbody td.hl em{font-style: normal; color: var(--red); font-weight: 600;}
/* ---------- Rules ---------- */
.laws{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.law{padding: 34px 32px 34px 0; border-right: 1px solid var(--line);}
.law + .law{padding-left: 32px;}
.law:last-child{border-right: 0; padding-right: 0;}
.law .num{font-family: var(--serif); font-size: 34px; font-weight: 700; color: var(--red); line-height: 1;}
.law h3{font-size: 24px; margin-top: 14px;}
.law p{margin-top: 12px; color: var(--muted); font-size: 15px;}
.maxim{margin-top: 48px; padding: 34px 32px 32px; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); text-align: center;}
.maxim .k{font-family: var(--serif); font-size: 46px; font-weight: 700; color: var(--red); line-height: 1;}
.maxim .v{margin: 16px auto 0; font-family: var(--serif); font-size: 20px; color: var(--ink); font-weight: 600; max-width: 40em;}
.maxim .v small{display: block; font-family: var(--sans); font-weight: 400; font-size: 14px; color: var(--muted); margin-top: 10px;}
.safety{margin-top: 56px;}
.safety-head{display: flex; align-items: baseline; gap: 18px; margin-bottom: 20px;}
.safety-head h3{font-size: 24px;}
.safety-head p{color: var(--muted); font-size: 14px;}
.safety-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;}
.safe{border: 1px solid var(--line); border-top: 3px solid var(--red); padding: 22px 22px 20px; background: var(--white);}
.safe .t{font-weight: 600; font-size: 17px;}
.safe .d{margin-top: 8px; font-size: 14px; color: var(--muted); line-height: 1.65;}
.safety-foot{margin-top: 18px; font-size: 14px; color: var(--muted);}
/* ---------- Service ---------- */
.modes{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.mode{background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--red); padding: 28px 28px 26px; display: flex; flex-direction: column;}
.mode .idx{font-size: 13px; color: var(--muted); letter-spacing: .1em;}
.mode h3{font-size: 26px; margin-top: 10px;}
.mode .who{margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--red-deep);}
.mode .who span + span::before{content: "·";color: var(--gold);margin: 0 8px;}
.mode .desc{margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--gold); font-size: 15px; color: var(--muted); line-height: 1.7;}
.mode .fit{margin-top: auto; padding-top: 18px; font-size: 14px; font-weight: 600; color: var(--red);}
.mode.is-start{position: relative;}
.mode.is-start .badge{position: absolute; top: -3px; right: 20px; background: var(--red); color: var(--white); font-size: 12px; padding: 3px 10px; letter-spacing: .1em;}
.steps{margin-top: 56px;}
.steps h3{font-size: 24px; margin-bottom: 6px;}
.steps p.note{color: var(--muted); font-size: 15px; margin-bottom: 26px;}
.step-row{display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; position: relative;}
.step-row::before{content: "";position: absolute;left: 0;right: 0;top: 17px;height: 1px;background: var(--line);}
.step{position: relative; padding: 0 20px 0 0;}
.step .dot{width: 34px; height: 34px; border-radius: 50%; background: var(--white); border: 2px solid var(--red); color: var(--red); font-weight: 700; font-size: 14px; display: flex; align-items: center; justify-content: center; position: relative; font-variant-numeric: tabular-nums;}
.step .t{margin-top: 14px; font-weight: 600; font-size: 17px;}
.step .d{margin-top: 4px; font-size: 14px; color: var(--muted); line-height: 1.6;}
.support{margin-top: 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.support div{font-size: 14px; color: var(--muted); padding-left: 14px; border-left: 2px solid var(--gold);}
.support b{color: var(--ink); font-weight: 600; display: block;}
/* ---------- Apply ---------- */
.apply{padding: 88px 0; border-top: 1px solid var(--line);}
.apply-grid{/*display: grid; grid-template-columns: 5fr 6fr; gap: 64px; align-items: start;*/    display: flex;    justify-content: space-between;    flex-wrap: wrap;}
.apply h2{font-size: 36px; margin-top: 14px; text-wrap: initial; line-height: 1.4;}
.apply .lead{margin-top: 20px;}
.contact{margin-top: 32px; display: grid; gap: 12px; /*border-top: 1px solid var(--line);*/	padding-top: 24px;}
.contact div{display: grid; grid-template-columns: 72px 1fr; font-size: 15px;}
.contact .k{color: var(--muted);}
.contact .v{font-weight: 600; font-variant-numeric: tabular-nums;}
.contact .v a{color: var(--red); border-bottom: 1px solid transparent;}
.contact .v a:hover{border-bottom-color: var(--red);}
.partners{margin-top: 26px; font-size: 13px; color: var(--muted);}
.form-card{background: var(--panel); border: 1px solid var(--line); padding: 34px 36px;}
.form-card h3{font-size: 22px;}
.form-card .hint{margin-top: 6px; font-size: 14px; color: var(--muted);}
.form-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin-top: 22px;}
.field{display: grid; gap: 6px;}
.field.full{grid-column: 1 / -1;}
.field label{font-size: 14px; font-weight: 600;}
.field label i{font-style: normal; color: var(--red); margin-left: 2px;}
.field input, .field select, .field textarea{font: inherit; font-size: 15px; color: var(--ink); padding: 10px 12px; border: 1px solid var(--line); border-radius: 2px; background: var(--white); width: 100%;}
.field input:focus, .field select:focus, .field textarea:focus{border-color: var(--red); outline: none; box-shadow: 0 0 0 3px rgba(180, 30, 40, .12);}
.field textarea{min-height: 88px; resize: vertical;}
.form-actions{grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; margin-top: 6px; flex-wrap: wrap;}
.form-actions .fine{font-size: 13px; color: var(--muted);}
.form-done{display: grid; gap: 10px; padding: 24px 0 8px;}
.form-done .t{font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--red);}
.form-done .d{color: var(--muted); font-size: 15px;}
/* ---------- Footer ---------- */
.site-footer{background: var(--footer); color: #C9CDD2; padding: 44px 0 36px;}
.footer-grid{display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end;}
.footer-brand{font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--white); letter-spacing: .06em;}
.footer-brand small{font-family: var(--sans); font-weight: 400; font-size: 14px; color: #C9CDD2; margin-left: 12px; letter-spacing: .04em;}
.footer-motto{margin-top: 10px; font-family: var(--serif); font-size: 15px; color: #E6E8EA; letter-spacing: .12em;}
.footer-meta{font-size: 13px; text-align: right; line-height: 2;}
.footer-meta a{color: #E6E8EA;}
.footer-line{margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12px; color: #8E949B; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;}

 /* ---------- Responsive ---------- */
 @media (max-width: 1024px){
 .apply-grid{grid-template-columns: 1fr;gap: 40px;}
.hero h1{font-size: 56px;}
.stats-row{grid-template-columns: repeat(3, 1fr);row-gap: 20px;}
.stat:nth-child(4){border-left: 0;padding-left: 0;}
.safety-grid{grid-template-columns: 1fr 1fr;}
.base-grid{grid-template-columns: repeat(3, 1fr);row-gap: 16px;}
.base-grid div:nth-child(3n + 1){border-left: 0;}
.step-row{grid-template-columns: repeat(3, 1fr);row-gap: 28px;}
.step-row::before{display: none;}
.support{grid-template-columns: 1fr;}
}
 @media (max-width: 760px){
 .header-inner{height: 64px;gap: 16px;}
.nav, .brand-sub, .brand-sep{display: none;}
.brand img{height: 30px;}
.btn-sm{margin-left: auto;}
.hero{padding-top: 56px;}
.hero h1{font-size: 44px;letter-spacing: .08em;}
.hero-sub{font-size: 20px;}
.hero::before, .hero::after{display: none;}
.section, .apply{padding: 60px 0;}
.section-head h2, .apply h2{font-size: 28px;}
.position{grid-template-columns: 1fr;}
.pos-item{border-right: 0;border-bottom: 1px solid var(--line);padding: 12px 0;}
.pos-item:last-of-type{border-bottom: 0;}
.stats-row{grid-template-columns: 1fr 1fr;}
.stat{border-left: 0;padding-left: 0;}
.lines, .laws, .modes, .safety-grid, .form-grid{grid-template-columns: 1fr;}
.law{border-right: 0;border-bottom: 1px solid var(--line);padding: 24px 0;}
.law + .law{padding-left: 0;}
.law:last-child{border-bottom: 0;}
.principle{grid-template-columns: 1fr;gap: 10px;}
.base-grid{grid-template-columns: 1fr 1fr;}
.base-grid div:nth-child(3n + 1){border-left: 1px solid var(--line);}
.base-grid div:nth-child(2n + 1){border-left: 0;}
.step-row{grid-template-columns: 1fr 1fr;}
.footer-grid{grid-template-columns: 1fr;}
.footer-meta{text-align: left;}
.form-card{padding: 26px 22px;}
}