:root { --ink:#111210; --paper:#fbfaf7; --soft:#f1f0ec; --line:#d8d7d1; --gold:#ad7b25; --muted:#686861; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
.site-header { height:98px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; padding:0 3.2vw; border-bottom:1px solid var(--line); background:rgba(251,250,247,.97); position:relative; z-index:20; }
.brand { color:inherit; display:flex; align-items:center; gap:14px; text-decoration:none; justify-self:start; }
.brand-mark { width:50px; height:50px; border:1.5px solid var(--ink); display:grid; place-items:center; font-weight:800; font-size:14px; }
.brand-name { display:flex; flex-direction:column; line-height:1; }
.brand-name b { font-size:25px; letter-spacing:-1px; }
.brand-name small { margin-top:8px; font-size:9px; letter-spacing:2px; color:var(--muted); }
.site-header nav { display:flex; align-items:center; gap:44px; }
.site-header nav a { color:var(--ink); text-decoration:none; font-weight:700; font-size:15px; display:flex; flex-direction:column; line-height:1.2; }
.site-header nav small { color:var(--muted); font-size:10px; font-weight:400; margin-top:4px; }
.header-cta { justify-self:end; border:0; background:var(--ink); color:#fff; min-width:158px; height:60px; display:flex; justify-content:center; align-items:baseline; gap:14px; font-weight:700; }
.header-cta small { color:#bbb; font-size:10px; }
.menu-toggle { display:none; }
.eyebrow { text-transform:uppercase; letter-spacing:2.2px; font-size:12px; font-weight:800; color:#66655e; }
.hero { min-height:760px; display:grid; grid-template-columns:minmax(0,1.42fr) minmax(420px,.82fr); align-items:center; gap:8vw; padding:90px 5vw 80px; }
.hero-copy { max-width:870px; }
.hero h1 { font-size:clamp(55px,5.4vw,92px); line-height:1.13; letter-spacing:-5px; margin:30px 0 28px; font-weight:750; }
.hero h1 span { font-family:Georgia,serif; font-weight:500; letter-spacing:-3px; }
.hero-en,.serif { font-family:Georgia,"Times New Roman",serif; color:#706a60; }
.hero-en { font-size:29px; line-height:1.5; max-width:750px; margin:0 0 32px; }
.hero-description { max-width:800px; font-size:18px; line-height:1.85; }
.credentials { margin-top:44px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); padding-top:24px; }
.credentials div { display:flex; flex-direction:column; border-right:1px solid var(--line); padding-left:20px; }
.credentials div:first-child { padding-left:0; }.credentials div:last-child { border:0; }
.credentials strong { font-family:Georgia,serif; font-size:24px; }.credentials span { color:var(--muted); font-size:11px; margin-top:6px; }
.start-card { border-top:5px solid var(--ink); background:var(--soft); padding:48px 46px; }
.start-card h2 { font-size:29px; font-weight:500; margin:36px 0 12px; }.start-card>p:not(.eyebrow) { color:var(--muted); font-family:Georgia,serif; }
.start-card button { width:100%; min-height:106px; background:var(--white); border:1px solid var(--line); margin-top:14px; display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:16px; padding:18px 24px; text-align:left; color:var(--ink); transition:.2s; }
.start-card button:hover,.start-card button:focus-visible { border-color:var(--gold); transform:translateX(4px); }
.start-card em { font:normal 20px Georgia,serif; color:var(--gold); }.start-card button span { display:flex; flex-direction:column; gap:9px; }.start-card button b { font-size:16px; }.start-card button small { color:var(--muted); }.start-card button i { font:normal 24px Arial; }
.experience { border-top:1px solid var(--line); margin-top:34px; padding-top:30px; display:flex; align-items:center; gap:25px; }.experience strong { font:32px Georgia,serif; }.experience span { color:var(--muted); font-size:12px; line-height:1.5; }
.path-section { background:#fff; border-top:1px solid var(--line); padding:100px 5vw 110px; }
.section-heading { max-width:920px; margin-bottom:58px; }.section-heading h2 { font-size:clamp(40px,4vw,68px); letter-spacing:-3px; line-height:1.2; margin:28px 0 18px; font-weight:500; }.section-heading>p:last-child { font:20px Georgia,serif; color:#746f66; }
.path-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }.path-grid article { padding:48px; min-height:510px; display:flex; flex-direction:column; }.path-grid article+article { border-left:1px solid var(--line); }
.path-number { font:30px Georgia,serif; color:var(--gold); border-bottom:1px solid var(--line); padding-bottom:34px; display:flex; justify-content:space-between; }.path-number span { font:12px Arial; color:var(--muted); }
.path-grid h3 { font-size:31px; margin:42px 0 8px; font-weight:500; }.path-grid .serif { font-size:20px; margin:0 0 20px; }.path-grid ul { padding:0; margin:0 0 30px; list-style:none; }.path-grid li { padding:14px 0 14px 30px; border-bottom:1px solid #ebeae5; position:relative; }.path-grid li:before { content:"✓"; color:var(--gold); position:absolute; left:0; }
.path-grid button { margin-top:auto; width:100%; height:72px; border:1px solid var(--ink); background:#fff; display:flex; justify-content:space-between; align-items:center; padding:0 24px; font-weight:700; }.path-grid button:hover { background:var(--ink); color:#fff; }
.expertise { background:var(--ink); color:#fff; padding:110px 5vw; display:grid; grid-template-columns:.75fr 1.25fr; gap:10vw; }.expertise .eyebrow { color:#aaa; }.expertise-lead h2 { font-size:clamp(46px,4.3vw,74px); letter-spacing:-3px; line-height:1.18; margin:30px 0; }.expertise-lead>p:last-child { color:#bbb; font-size:16px; line-height:1.9; max-width:540px; }
.service-list div { border-top:1px solid #3a3a38; min-height:80px; display:grid; grid-template-columns:70px 1fr; align-items:center; }.service-list div:last-child { border-bottom:1px solid #3a3a38; }.service-list span { color:var(--gold); font:17px Georgia,serif; }.service-list strong { font-size:20px; font-weight:500; }
.industry { padding:110px 5vw; display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; border-bottom:1px solid var(--line); }.industry h2 { font-size:clamp(48px,5vw,80px); letter-spacing:-4px; line-height:1.16; margin:28px 0 0; }.industry-copy { padding-top:45px; }.industry-copy p { font-size:17px; line-height:1.9; }.industry-copy p:nth-child(2) { font:19px/1.7 Georgia,serif; color:var(--muted); }.platforms { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }.platforms span { padding:11px 15px; border:1px solid var(--line); background:#fff; font-size:12px; }
.intake { background:#e9e7e1; padding:110px 5vw; display:grid; grid-template-columns:minmax(280px,.65fr) minmax(600px,1.35fr); gap:7vw; align-items:start; }.intake-heading { position:sticky; top:30px; }.intake-heading h2 { font-size:clamp(42px,4vw,66px); letter-spacing:-3px; line-height:1.15; margin:28px 0 18px; }.intake-heading>p:not(.eyebrow) { color:var(--muted); }
.privacy-note { margin-top:36px; border-top:3px solid var(--gold); background:#fff; padding:24px; display:flex; flex-direction:column; gap:10px; }.privacy-note span { color:var(--muted); font-size:13px; line-height:1.7; }.intake-contact { margin-top:30px; display:flex; flex-direction:column; gap:8px; }.intake-contact span { font-size:12px; color:var(--muted); }.intake-contact a,.intake-contact strong { color:var(--ink); font:18px Georgia,serif; }
.form-shell { background:#fff; border-top:5px solid var(--ink); min-height:670px; }.form-progress { height:58px; border-bottom:1px solid var(--line); position:relative; display:flex; align-items:center; justify-content:flex-end; padding:0 34px; overflow:hidden; }.form-progress div { position:absolute; left:0; bottom:0; height:3px; background:var(--gold); transition:width .3s; }.form-progress span { font-size:11px; color:var(--muted); letter-spacing:1px; }
.form-shell form { padding:42px 48px 48px; }.form-shell fieldset { border:0; margin:0; padding:0; min-height:430px; }.form-shell legend { font-size:30px; font-weight:600; padding:0; }.field-intro { margin:8px 0 34px; color:var(--muted); font:16px Georgia,serif; }
.form-step { display:none; }.form-step.active { display:block; }
.choice-grid { display:grid; gap:12px; }.choice-grid.three { grid-template-columns:repeat(3,1fr); }.choice { border:1px solid var(--line); padding:22px; min-height:108px; display:flex; gap:13px; align-items:flex-start; background:#fff; cursor:pointer; }.choice.selected { border:2px solid var(--ink); padding:21px; background:#f8f7f3; }.choice input { margin-top:3px; accent-color:var(--ink); }.choice span { display:flex; flex-direction:column; gap:8px; }.choice small { color:var(--muted); line-height:1.4; }.choice.compact { min-height:62px; align-items:center; padding:15px; }.choice.compact.selected { padding:14px; }.check-row { display:flex; gap:32px; margin-top:30px; }.check-row label,.inline-check,.consent { display:flex!important; align-items:flex-start; gap:10px; cursor:pointer; }.check-row input,.inline-check input,.consent input { margin-top:3px; accent-color:var(--ink); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.field-grid label,.form-shell fieldset>label { display:flex; flex-direction:column; gap:9px; }.field-grid .full,.form-shell fieldset>.full { grid-column:1/-1; }.field-grid label>span,.label-title { font-size:12px; font-weight:700; letter-spacing:.3px; }.field-grid input:not([type=file]),.field-grid textarea,.form-shell fieldset>label textarea { width:100%; border:0; border-bottom:1px solid #aaa; background:#f6f5f1; border-radius:0; padding:13px 14px; outline:none; }.field-grid input:focus,.field-grid textarea:focus,.form-shell fieldset>label textarea:focus { border-color:var(--gold); box-shadow:0 2px 0 var(--gold); }.field-grid textarea,.form-shell fieldset>label textarea { resize:vertical; min-height:78px; }.inline-check { flex-direction:row!important; align-items:center!important; background:#f6f5f1; padding:16px; }.file-field { border:1px dashed #aaa; padding:18px; }.file-field input { font-size:12px; }.file-field small { color:var(--muted); }
.review-card { display:grid; grid-template-columns:1fr 1fr; background:#f3f2ed; padding:25px; gap:24px; margin-bottom:24px; }.review-card div { display:flex; flex-direction:column; gap:5px; }.review-card span { color:var(--muted); font-size:11px; }.payment-safe { border-left:4px solid var(--gold); padding:16px 20px; margin:22px 0; background:#f6f5f1; }.payment-safe p { color:var(--muted); font-size:12px; line-height:1.6; margin:6px 0 0; }.consent { border-top:1px solid var(--line); padding-top:20px; font-size:13px; line-height:1.6; }
.form-actions { border-top:1px solid var(--line); margin-top:30px; padding-top:24px; display:grid; grid-template-columns:auto 1fr auto; }.form-actions button { min-width:140px; height:54px; padding:0 22px; }.primary { background:var(--ink); color:#fff; border:1px solid var(--ink); font-weight:700; }.primary:disabled { opacity:.6; }.secondary { background:#fff; border:1px solid var(--line); }.form-result { margin-top:22px; padding:18px; display:flex; flex-direction:column; gap:5px; }.form-result.success { background:#edf5eb; color:#244a20; }.form-result.error { background:#fbeaea; color:#782323; }.form-result span,.form-result small { font-size:13px; }.honeypot { position:absolute; left:-10000px; opacity:0; }
footer { min-height:250px; background:#fff; padding:65px 5vw; display:grid; grid-template-columns:1fr auto; align-items:start; border-top:1px solid var(--line); }.footer-brand { grid-row:span 3; }.footer-brand .brand-mark { width:42px;height:42px; }.footer-brand .brand-name b { font-size:20px; }footer p,footer>small { margin:0 0 12px; text-align:right; color:var(--muted); font-size:12px; }
@media (max-width:1000px) { .site-header { grid-template-columns:1fr auto; height:84px; }.site-header nav { position:absolute; display:none; top:84px; left:0; right:0; background:#fff; padding:25px 5vw; border-bottom:1px solid var(--line); }.site-header nav.nav-open { display:flex; }.header-cta { display:none; }.menu-toggle { display:block; border:1px solid var(--ink); background:transparent; padding:10px 14px; }.hero { grid-template-columns:1fr; gap:55px; }.start-card { max-width:650px; }.expertise,.industry,.intake { grid-template-columns:1fr; }.intake { gap:50px; }.intake-heading { position:static; }.path-grid { grid-template-columns:1fr; }.path-grid article+article { border-left:0; border-top:1px solid var(--line); } }
@media (max-width:650px) { .site-header { padding:0 20px; }.brand-mark { width:43px;height:43px; }.brand-name b { font-size:20px; }.brand-name small { font-size:7px; }.site-header nav { flex-direction:column; align-items:flex-start; gap:22px; }.hero { padding:65px 20px; min-height:auto; }.hero h1 { font-size:49px; letter-spacing:-3px; }.hero-en { font-size:21px; }.credentials { grid-template-columns:1fr 1fr; row-gap:25px; }.credentials div:nth-child(2) { border:0; }.start-card { padding:34px 22px; }.start-card button { grid-template-columns:38px 1fr auto; padding:15px; }.path-section,.expertise,.industry,.intake { padding:75px 20px; }.path-grid article { padding:28px; min-height:480px; }.path-number { flex-direction:column; gap:12px; }.expertise { gap:50px; }.industry { gap:30px; }.form-shell form { padding:32px 22px; }.choice-grid.three,.field-grid { grid-template-columns:1fr; }.field-grid .full { grid-column:auto; }.check-row { flex-direction:column; gap:14px; }.review-card { grid-template-columns:1fr; }.form-actions button { min-width:118px; }.form-shell fieldset { min-height:500px; }footer { grid-template-columns:1fr; gap:30px; }.footer-brand { grid-row:auto; }footer p,footer>small { text-align:left; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
