:root { --ink:#25314b; --muted:#606b7d; --brand:#353978; --accent:#746095; --gold:#b9934a; --line:#e0e4eb; --paper:#fafbfc; --serif:"Songti SC","STSong",SimSun,serif; --gutter:clamp(24px,5.5vw,100px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Microsoft YaHei UI","PingFang SC",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button, summary { cursor:pointer; }
img { display:block; max-width:100%; }
p, figure, h1, h2, h3, h4 { margin:0; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid #8175af; outline-offset:5px; }
.skip-link { position:fixed; top:-80px; left:24px; z-index:100; padding:12px 20px; background:#fff; color:var(--brand); border:1px solid var(--line); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:84px; padding:12px var(--gutter); background:#fffffffa; border-bottom:1px solid var(--line); }
.logo { flex-shrink:0; }
.logo img { width:124px; height:58px; object-fit:contain; object-position:left center; }
#site-nav { display:flex; align-items:center; gap:clamp(20px,2.4vw,40px); }
#site-nav a { position:relative; padding:18px 0; color:#5a6475; font-size:13px; white-space:nowrap; }
#site-nav a:hover, #site-nav a[aria-current="location"] { color:var(--brand); }
#site-nav a[aria-current="location"]::after { content:""; position:absolute; bottom:8px; left:0; width:18px; height:2px; background:var(--gold); }
.header-contact { display:flex; align-items:center; gap:24px; padding:12px 18px; border:1px solid #d8dbe6; border-radius:3px; color:var(--brand); font-size:12px; white-space:nowrap; }
.header-contact:hover { background:var(--brand); color:white; border-color:var(--brand); }
.menu-toggle { display:none; }
.hero, .section, footer { max-width:1680px; margin:auto; }
.hero { padding:52px var(--gutter) 0; display:grid; grid-template-columns:1.05fr 1fr; gap:38px 7%; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--accent); letter-spacing:1px; }
.eyebrow > span { width:21px; height:1px; background:var(--gold); }
.hero h1 { margin:25px 0 22px; font:clamp(46px,4.7vw,70px)/1.28 var(--serif); letter-spacing:1px; color:#272f59; }
.hero h1 em { font-style:normal; color:var(--brand); }
.hero-lead { font-size:16px; line-height:1.9; color:#4e596d; }
.hero-description { margin-top:14px; font-size:13px; line-height:1.9; color:#737d8d; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:28px; }
.button-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; border-radius:3px; padding:14px 20px; color:#fff; background:var(--brand); font-size:13px; }
.button-primary:hover { background:#272b60; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:10px 0; border-bottom:1px solid #b6afca; font-size:13px; color:var(--brand); }
.text-link:hover { color:#75538d; border-color:#75538d; }
.hero-location { margin-top:27px; font-size:11px; color:#818a99; }
.hero-photo { align-self:center; padding-top:8px; }
.photo-label { display:flex; justify-content:space-between; gap:12px; margin-bottom:12px; font-size:11px; color:#7c8595; }
.photo-label > span:first-child { color:#5b4c78; }
.hero-photo > img { width:100%; height:auto; aspect-ratio:739/555; object-fit:contain; border-radius:2px; }
.hero-photo figcaption { display:flex; align-items:center; justify-content:space-between; padding:17px 0 0; }
.hero-photo figcaption strong { display:block; font-size:16px; font-weight:500; }
.hero-photo figcaption div > span { display:block; margin-top:8px; font-size:11px; color:#808999; }
.hero-photo figcaption > a { display:grid; place-items:center; width:38px; height:38px; border:1px solid #d6dbe5; border-radius:50%; color:var(--brand); font-size:21px; }
.hero-photo figcaption > a:hover { background:#ededf6; }
.hero-service-strip { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:8px; }
.hero-service-strip a { position:relative; display:grid; grid-template-columns:26px 1fr; gap:7px 12px; padding:0 22px; border-right:1px solid var(--line); }
.hero-service-strip a:first-child { padding-left:0; }
.hero-service-strip a:last-child { border-right:0; }
.hero-service-strip a > span { color:#a08ba9; font:italic 15px Georgia,serif; grid-row:1/3; }
.hero-service-strip strong { font-size:14px; font-weight:500; }
.hero-service-strip small { font-size:11px; color:#7c8594; line-height:1.5; }
.hero-service-strip b { position:absolute; right:14px; top:0; color:#a6aebb; font-weight:400; font-size:13px; }
.hero-service-strip a:hover strong { color:#71568d; }
.section { padding:72px var(--gutter); }
.section-label { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; color:var(--accent); }
.section-label > span:last-child { color:#848c9b; font-size:11px; }
.section h2 { font:clamp(29px,2.9vw,43px)/1.5 var(--serif); color:#293453; }
.service-layout { display:grid; grid-template-columns:.95fr 1.3fr; gap:10%; padding-top:30px; }
.section-intro > p { max-width:370px; margin:23px 0 21px; font-size:14px; line-height:2; color:var(--muted); }
.service-list details { border-bottom:1px solid var(--line); }
.service-list details:first-child { border-top:1px solid var(--line); }
.service-list summary { display:flex; align-items:center; gap:20px; padding:23px 0; list-style:none; }
summary::-webkit-details-marker { display:none; }
.service-number { font:italic 15px Georgia,serif; color:#9a86a9; }
.service-list h3 { font-size:19px; font-weight:500; letter-spacing:.3px; }
.expand-icon { position:relative; width:12px; height:12px; margin-left:auto; flex-shrink:0; }
.expand-icon::before, .expand-icon::after { content:""; position:absolute; top:5px; left:0; width:12px; height:1px; background:#8891a3; }
.expand-icon::after { transform:rotate(90deg); }
details[open] > summary .expand-icon::after { display:none; }
.service-list details[open] summary { padding-bottom:14px; }
.service-content { padding:0 0 22px 40px; }
.service-content p { color:var(--muted); font-size:14px; line-height:1.95; }
.deliverable { display:block; font-size:12px; color:#9a7841; margin-top:13px; line-height:1.8; }
.service-content > a { display:inline-block; margin-top:17px; padding-bottom:5px; border-bottom:1px solid #d5d0e0; font-size:12px; color:var(--brand); }
.risk-section { background:#30366a; color:#fff; }
.risk-section .section-label { color:#ded8f0; }
.risk-section .section-label > span:last-child { color:#b4b9d0; }
.risk-heading { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:30px 0; }
.risk-heading h2 { color:#f6f5fb; }
.risk-heading > p { font-size:13px; line-height:2; color:#c4c9df; }
.employment-path { border-bottom:1px solid #ffffff29; }
.employment-path article { display:grid; grid-template-columns:65px 1fr; gap:24px; padding:25px 0; border-top:1px solid #ffffff29; align-items:center; }
.path-index { font:40px var(--serif); color:#dbc38f; }
.path-content { display:grid; grid-template-columns:1.1fr 1.3fr .9fr; gap:8px 28px; align-items:center; }
.path-phase { grid-column:1; font-size:11px; color:#bec5dd; }
.path-content h3 { grid-column:1; font-size:17px; font-weight:500; line-height:1.6; }
.path-content p { grid-column:2; grid-row:1/3; font-size:13px; line-height:1.95; color:#d4d9e9; }
.path-output { grid-column:3; grid-row:1/3; font-size:12px; line-height:1.9; border-left:1px solid #ffffff26; padding-left:22px; color:#dfcb9f; }
.risk-end { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; font-size:12px; color:#c1c8df; }
.risk-end a { color:#fff; border-bottom:1px solid #ffffff60; padding-bottom:8px; }
.method-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; margin:28px 0; }
.method-heading p { font-size:13px; color:var(--muted); }
.method-list { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; gap:34px; margin:0; padding:0; }
.method-list li { border-top:1px solid #cbd1de; padding-top:22px; }
.method-list li > span { display:block; font:italic 22px Georgia,serif; color:#a394b4; margin-bottom:17px; }
.method-list h3 { font-size:18px; font-weight:500; margin-bottom:12px; }
.method-list p { font-size:13px; line-height:1.95; color:var(--muted); }
.method-list small { display:block; font-size:12px; line-height:1.8; color:#8b784f; margin-top:15px; }
.practice-example { border:1px solid var(--line); border-radius:3px; margin-top:38px; background:#fff; }
.practice-example > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 26px; list-style:none; }
.example-summary small { display:block; font-size:11px; color:#8d809f; margin-bottom:9px; }
.example-summary strong { font-size:15px; font-weight:500; line-height:1.7; }
.example-toggle { white-space:nowrap; color:var(--brand); font-size:12px; }
.example-toggle b { display:inline-block; margin-left:17px; font-weight:400; }
.practice-example[open] .example-toggle b { transform:rotate(45deg); }
.practice-scene { display:grid; grid-template-columns:.8fr 1.2fr; gap:6%; padding:26px; border-top:1px solid var(--line); }
.practice-question { display:flex; flex-direction:column; }
.practice-label { font-size:12px; color:var(--accent); }
.practice-question h2 { font:27px/1.6 var(--serif); margin:20px 0; }
.practice-question > p { font-size:13px; line-height:1.9; color:var(--muted); }
.practice-connector { margin-top:auto; align-self:flex-end; font-size:46px; color:#c6aa72; }
.practice-document { background:#f4f4f9; padding:22px; }
.document-top { display:flex; justify-content:space-between; gap:15px; font-size:11px; color:#808196; }
.practice-document h3 { font-size:18px; font-weight:500; margin:20px 0; }
.working-checklist { list-style:none; margin:0; padding:0; }
.working-checklist li { display:flex; gap:18px; padding:17px 0; border-top:1px solid #dedfe8; }
.working-checklist li > span { flex:0 0 36px; align-self:flex-start; font-size:12px; padding:4px; text-align:center; color:#5a598d; background:#e7e5f2; }
.working-checklist p { font-size:13px; line-height:1.85; color:var(--muted); }
.working-checklist strong { color:#3c4560; font-weight:500; }
.case-details { border-top:1px solid #dedfe8; }
.case-details summary { display:flex; justify-content:space-between; padding:17px 0 0; font-size:13px; color:var(--brand); list-style:none; }
.case-details[open] summary span { transform:rotate(45deg); }
.case-detail-body h4 { font-size:15px; margin:20px 0 12px; }
.case-detail-body p { font-size:13px; line-height:2; margin-bottom:12px; }
.case-detail-body small { display:block; color:var(--muted); font-size:12px; line-height:1.9; }
.company-profile { background:#eff1f6; }
.company-story { display:grid; grid-template-columns:1fr 1.15fr; gap:34px 9%; margin-top:28px; align-items:start; }
.company-story-heading > p { font-size:12px; color:#7a8291; margin-bottom:18px; }
.company-story-intro p { font-size:14px; line-height:2; color:var(--muted); margin-bottom:14px; }
.company-facts { margin:0; padding:0; border-top:1px solid #d7dce6; }
.company-facts > div { display:flex; gap:30px; padding:17px 0; border-bottom:1px solid #d7dce6; font-size:13px; }
.company-facts dt { color:#858b9a; min-width:70px; }
.company-facts dd { margin:0; color:#43506a; }
.company-story-note > span { font-size:11px; color:var(--accent); }
.company-story-note h3 { margin:13px 0; font-size:21px; font-weight:500; }
.company-story-note > p { font-size:13px; line-height:1.9; color:var(--muted); }
.company-story-note > a { display:inline-block; font-size:12px; color:var(--brand); padding:10px 0; border-bottom:1px solid #b9b4cf; margin-top:9px; }
.company-story-note > a span { margin-left:25px; }
.story-place { display:none; }
.credit-layout { display:grid; grid-template-columns:.95fr 1fr; align-items:center; gap:10%; margin-top:28px; }
.credit-layout h2 { font-size:32px; }
.credit-layout p { font-size:14px; line-height:2; color:var(--muted); margin-top:20px; max-width:440px; }
.credit-layout ul { padding:0; margin:20px 0 15px; list-style:none; }
.credit-layout li { font-size:13px; line-height:2.3; color:#657083; }
.credit-layout li::before { content:"—"; color:#a592b4; margin-right:10px; }
.credit-layout img { width:100%; height:auto; }
.credit-layout figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:11px; margin-top:13px; color:#818b9b; line-height:1.7; }
.credit-layout figcaption span:first-child { color:var(--accent); }
.consult-section { background:#eceff5; }
.consult-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:10%; margin-top:32px; }
.contact-prompt { font-size:14px; color:var(--muted); line-height:2; margin:20px 0 27px; }
.phone { display:flex; align-items:center; gap:28px; font-size:30px; letter-spacing:.5px; color:var(--brand); }
.phone span { font-size:23px; color:#8a7a9f; }
.second-phone { display:block; margin-top:12px; font-size:12px; color:#80899b; }
.contact-copy dl { margin-top:28px; }
.contact-copy dl > div { padding:14px 0; border-top:1px solid #d6dce7; display:grid; grid-template-columns:40px 1fr; gap:18px; font-size:13px; line-height:1.8; }
.contact-copy dt { color:#8690a0; }
.contact-copy dd { margin:0; color:#525f74; word-break:break-word; }
#consult-form { padding:28px; background:#fff; border-radius:4px; border:1px solid #e0e4ed; border-top:3px solid #736a9c; }
#consult-form h3 { font-size:19px; font-weight:500; }
.form-intro { color:#8890a1; font-size:12px; line-height:1.7; margin:10px 0 23px; }
#consult-form label { display:block; font-size:12px; color:#626d81; margin-bottom:17px; }
#consult-form label > span { display:block; margin-bottom:8px; }
#consult-form label b { color:#a77464; font-weight:400; }
#consult-form input:not([type="checkbox"]), #consult-form select, #consult-form textarea { display:block; width:100%; min-width:0; border:1px solid #dce1ea; border-radius:3px; padding:11px 12px; background:#fcfcfe; color:var(--ink); font-size:14px; line-height:1.5; }
#consult-form input::placeholder, #consult-form textarea::placeholder { color:#98a0af; }
#consult-form textarea { resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#consult-form .consent { display:flex; align-items:flex-start; gap:8px; font-size:11px; line-height:1.8; margin-top:4px; }
#consult-form .consent input { margin:3px 0 0; accent-color:var(--brand); flex-shrink:0; width:14px; height:14px; }
#consult-form .consent span { margin:0; }
.submit-button { display:flex; justify-content:space-between; align-items:center; width:100%; padding:14px 18px; border:0; border-radius:3px; background:var(--brand); color:#fff; font-size:13px; }
.submit-button:hover { background:#282d63; }
.submit-button:disabled { opacity:.6; cursor:wait; }
#form-result { font-size:12px; line-height:1.8; color:#655080; }
#form-result:not(:empty) { margin-top:14px; }
.website-field { display:none !important; }
footer { padding:42px var(--gutter) 24px; background:#252c48; color:#dce1ed; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:34px; }
.footer-brand { font-size:22px; letter-spacing:1px; }
.footer-brand span { display:block; font-size:11px; color:#aab3cb; letter-spacing:.5px; margin-top:9px; }
.footer-top > p { font:19px/1.8 var(--serif); color:#b8c0d3; }
.back-top { font-size:12px; color:#bdc4d7; }
.footer-bottom { display:flex; justify-content:space-between; gap:18px; padding-top:20px; border-top:1px solid #ffffff19; color:#9da8c0; font-size:10px; line-height:1.8; }
@media(min-width:1680px) { .hero, .section, footer { --gutter:80px; } }
@media(max-width:1080px) {
  .site-header { gap:18px; } #site-nav { gap:18px; } #site-nav a { font-size:12px; } .header-contact { gap:12px; padding:11px 12px; }
  .hero { gap:34px 5%; } .hero h1 { font-size:53px; } .hero-lead { font-size:14px; }
  .hero-service-strip a { padding-inline:14px; grid-template-columns:20px 1fr; gap:8px; } .hero-service-strip strong { font-size:13px; } .hero-service-strip small { font-size:10px; } .hero-service-strip b { display:none; }
  .path-content { grid-template-columns:1fr 1.3fr; } .path-output { grid-column:2; grid-row:3; border:0; padding-left:0; }
  .employment-path article { grid-template-columns:46px 1fr; }
  .service-layout, .consult-layout, .credit-layout { gap:6%; }
}
@media(max-width:760px) {
  html { scroll-padding-top:84px; } :root { --gutter:24px; }
  .site-header { min-height:72px; padding-block:9px; flex-wrap:wrap; gap:0; }
  .logo img { width:103px; height:52px; }
  .header-contact { display:none; }
  .menu-toggle { display:flex; gap:18px; align-items:center; border:0; background:transparent; padding:12px 0 12px 20px; font-size:13px; color:var(--brand); }
  .menu-toggle span { font-size:20px; }
  .menu-toggle[aria-expanded="true"] span { transform:rotate(45deg); }
  #site-nav { display:none; width:100%; padding:6px 0 12px; gap:0; }
  #site-nav.is-open { display:grid; grid-template-columns:1fr 1fr; }
  #site-nav a { font-size:14px; padding:14px 0; border-top:1px solid #edf0f5; }
  #site-nav a[aria-current="location"]::after { display:none; }
  .hero { display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:31px; }
  .eyebrow { font-size:11px; }
  .hero h1 { font-size:46px; margin:20px 0 18px; letter-spacing:1px; }
  .hero-lead { font-size:14px; line-height:1.9; }
  .hero-description { font-size:12px; margin-top:12px; line-height:1.9; }
  .hero-actions { margin-top:23px; gap:23px; }
  .button-primary { padding:13px 17px; font-size:12px; gap:22px; }
  .hero-actions .text-link { font-size:12px; gap:14px; }
  .hero-location { margin-top:21px; font-size:11px; }
  .hero-photo { order:2; margin-top:30px; padding-top:0; width:100%; }
  .hero-photo figcaption { padding-top:13px; }
  .hero-photo figcaption strong { font-size:15px; }
  .photo-label { font-size:10px; margin-bottom:10px; }
  .hero-photo figcaption div > span { font-size:10px; }
  .hero-service-strip { grid-template-columns:repeat(2,1fr); margin-top:28px; padding:0; }
  .hero-service-strip a { padding:20px 0; border-bottom:1px solid var(--line); border-right:0; gap:8px 10px; grid-template-columns:20px 1fr; }
  .hero-service-strip a:nth-child(even) { padding-left:16px; }
  .hero-service-strip a:nth-child(n+3) { border-bottom:0; }
  .hero-service-strip strong { font-size:13px; }
  .hero-service-strip small { font-size:10px; }
  .section { padding-block:46px; }
  .section-label { font-size:11px; } .section-label > span:last-child { font-size:10px; }
  .section h2 { font-size:30px; line-height:1.5; }
  .service-layout { display:block; padding-top:23px; }
  .section-intro > p { max-width:none; margin:18px 0 13px; font-size:14px; }
  .service-list { margin-top:27px; }
  .service-list summary { gap:15px; padding:21px 0; }
  .service-list h3 { font-size:17px; }
  .service-content { padding-left:34px; } .service-content p { font-size:14px; }
  .deliverable { font-size:12px; }
  .risk-heading { display:block; padding:23px 0 25px; }
  .risk-heading > p { margin-top:18px; font-size:13px; }
  .employment-path article { grid-template-columns:32px 1fr; gap:18px; align-items:start; padding:23px 0; }
  .path-index { font-size:34px; } .path-content { display:block; }
  .path-phase { font-size:11px; } .path-content h3 { font-size:17px; margin:8px 0; }
  .path-content p { font-size:13px; line-height:1.95; } .path-content p br { display:none; }
  .path-output { display:block; margin-top:12px; font-size:12px; }
  .risk-end { display:block; font-size:12px; } .risk-end a { display:table; margin-top:22px; }
  .method-heading { display:block; margin:23px 0; } .method-heading p { margin-top:10px; line-height:1.8; }
  .method-list { display:block; }
  .method-list li { padding:22px 0; }
  .method-list li > span { font-size:19px; margin-bottom:12px; } .method-list h3 { font-size:18px; }
  .method-list p { font-size:14px; } .method-list small { margin-top:10px; font-size:12px; }
  .practice-example { margin-top:12px; }
  .practice-example > summary { align-items:flex-start; padding:18px; gap:14px; }
  .example-summary strong { font-size:14px; } .example-toggle { font-size:0; } .example-toggle b { font-size:18px; margin:0; }
  .practice-scene { display:block; padding:20px 18px; }
  .practice-question h2 { font-size:25px; margin:15px 0; } .practice-question > p { display:none; }
  .practice-connector { display:none; } .practice-document { margin-top:22px; padding:18px; }
  .document-top { font-size:10px; } .practice-document h3 { font-size:16px; line-height:1.7; }
  .working-checklist li { gap:10px; } .working-checklist li > span { flex-basis:30px; font-size:11px; }
  .working-checklist p { font-size:13px; } .working-checklist br { display:none; }
  .company-story { display:flex; flex-direction:column; gap:22px; }
  .company-facts { width:100%; } .company-story-note { margin-top:8px; }
  .company-story-intro p { font-size:14px; margin-bottom:10px; }
  .company-story-note h3 { font-size:21px; }
  .credit-layout { display:block; margin-top:23px; }
  .credit-layout p { margin-top:18px; } .credit-layout figure { margin-top:28px; }
  .consult-layout { display:block; margin-top:23px; }
  .contact-prompt { font-size:14px; }
  .phone { font-size:27px; gap:20px; }
  #consult-form { margin-top:30px; padding:23px 19px; }
  #consult-form h3 { font-size:18px; } #consult-form label { font-size:13px; }
  #consult-form input:not([type="checkbox"]), #consult-form select, #consult-form textarea { font-size:16px; }
  .form-row { display:block; }
  #consult-form .consent { font-size:12px; }
  .footer-top { flex-wrap:wrap; padding-bottom:25px; gap:25px; }
  .footer-top > p { display:none; } .footer-brand { font-size:21px; }
  .footer-bottom { flex-direction:column; gap:9px; font-size:10px; }
}
@media(max-width:360px) {
  :root { --gutter:20px; }
  .hero h1 { font-size:42px; }
  .hero-actions { gap:17px; } .hero-actions .text-link { gap:9px; } .button-primary { padding-inline:13px; gap:14px; }
  .hero-service-strip a { gap:8px 6px; grid-template-columns:16px 1fr; } .hero-service-strip a:nth-child(even) { padding-left:10px; }
  .hero-service-strip strong { font-size:12px; } .hero-service-strip small { font-size:10px; }
  .phone { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
