:root { --wj-bg:#f3efe7; --wj-paper:#fbf8f1; --wj-ink:#222428; --wj-muted:#74716b; --wj-red:#8d3728; --wj-slate:#313740; --wj-line:rgba(42,44,48,.14); }
body[data-page-type="wangjackson-profile"] { background:var(--wj-bg); color:var(--wj-ink); }
body[data-page-type="wangjackson-profile"] .site-header { background:rgba(243,239,231,.96); }
.wj-hero { position:relative; min-height:calc(100vh - 64px); display:grid; align-items:center; overflow:hidden; padding:72px 0; background:linear-gradient(115deg,#f6f2ea 0%,#eee9df 55%,#dad7d1 100%); }
.wj-coordinate-lines { position:absolute; inset:0; opacity:.55; background-image:linear-gradient(rgba(49,55,64,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(49,55,64,.045) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent 0,#000 48%,#000 100%); }
.wj-coordinate-lines::before,.wj-coordinate-lines::after { content:""; position:absolute; border:1px solid rgba(49,55,64,.1); border-radius:50%; }.wj-coordinate-lines::before { width:560px; height:560px; right:-120px; top:8%; }.wj-coordinate-lines::after { width:380px; height:380px; right:-30px; top:20%; }
.wj-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:clamp(48px,7vw,100px); align-items:center; }
.wj-eyebrow { margin-bottom:26px; color:var(--wj-red); font-size:11px; font-weight:600; letter-spacing:.22em; }.wj-hero h1 { max-width:680px; font-size:clamp(56px,7.2vw,96px); font-weight:500; line-height:.98; letter-spacing:.08em; }.wj-hero h1 span { display:block; margin-top:19px; color:#5f6268; font-family:Georgia,"Times New Roman",serif; font-size:clamp(17px,2vw,25px); font-weight:400; letter-spacing:.24em; }
.wj-hero-lead { margin-top:40px; font-family:var(--font-serif); font-size:clamp(22px,2.6vw,33px); letter-spacing:.06em; }.wj-hero-en { margin-top:8px; color:var(--wj-muted); font-family:Georgia,serif; font-size:14px; letter-spacing:.1em; }.wj-positioning { display:flex; align-items:center; gap:14px; margin-top:28px; color:var(--wj-slate); font-size:15px; font-weight:600; letter-spacing:.1em; }.wj-positioning i { color:var(--wj-red); font-family:Georgia,serif; font-size:18px; font-style:normal; }.wj-intro { max-width:620px; margin-top:17px; color:#5e5c57; font-size:15px; line-height:1.9; }
.wj-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }.wj-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 26px; border:1px solid var(--wj-slate); border-radius:999px; font-size:14px; font-weight:600; transition:background .2s,color .2s,transform .2s; }.wj-button--solid { background:var(--wj-slate); color:#fff; }.wj-button--outline { background:transparent; }.wj-button:hover { transform:translateY(-2px); }.wj-button--outline:hover { background:var(--wj-slate); color:#fff; }
.wj-portrait-placeholder { position:relative; min-height:600px; display:grid; place-items:center; align-content:center; overflow:hidden; border:1px solid rgba(49,55,64,.14); background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(49,55,64,.08)),repeating-linear-gradient(90deg,transparent 0 71px,rgba(49,55,64,.045) 72px); box-shadow:0 40px 80px rgba(37,35,31,.12); }.wj-stage-light { position:absolute; inset:-20% 14% 10%; background:linear-gradient(170deg,rgba(255,255,255,.85),rgba(255,255,255,0) 60%); clip-path:polygon(35% 0,65% 0,100% 100%,0 100%); opacity:.7; }.wj-portrait-initial { position:relative; display:grid; place-items:center; width:142px; height:142px; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:var(--wj-slate); color:#f8f3e9; font-family:var(--font-serif); font-size:70px; box-shadow:0 20px 60px rgba(31,34,39,.22); }.wj-portrait-placeholder p { position:absolute; bottom:26px; color:#6c6a65; font-size:11px; letter-spacing:.15em; }
.wj-section { padding:clamp(82px,10vw,138px) 0; }.wj-muted-section { background:#e9e5dd; }.wj-two-column { display:grid; grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr); gap:clamp(60px,9vw,136px); align-items:start; }.wj-section-heading { position:relative; padding-top:15px; }.wj-section-number { display:block; margin-bottom:18px; color:var(--wj-red); font-family:Georgia,serif; font-size:12px; letter-spacing:.22em; }.wj-section-heading h2 { font-size:clamp(32px,4.1vw,54px); font-weight:500; letter-spacing:.08em; }.wj-section-heading > p { margin-top:10px; color:var(--wj-muted); font-family:Georgia,serif; font-size:14px; letter-spacing:.11em; }.wj-section-heading::before { content:""; position:absolute; top:0; left:0; width:46px; height:1px; background:var(--wj-red); }
.wj-story-copy { max-width:700px; font-family:var(--font-serif); font-size:clamp(19px,2.1vw,27px); line-height:1.95; letter-spacing:.035em; }.wj-story-copy > p + p { margin-top:32px; }.wj-data-placeholder { margin-top:64px; padding:26px 0; border-top:1px solid var(--wj-line); border-bottom:1px solid var(--wj-line); font-family:var(--font-sans); }.wj-data-placeholder span,.wj-data-placeholder strong,.wj-data-placeholder small { display:block; }.wj-data-placeholder span { color:var(--wj-muted); font-size:11px; letter-spacing:.14em; }.wj-data-placeholder strong { margin-top:10px; font-family:var(--font-serif); font-size:18px; font-weight:500; }.wj-data-placeholder small { margin-top:6px; color:#918d86; font-size:12px; }
.wj-empty-state { position:relative; min-height:390px; display:grid; place-items:center; align-content:center; margin-top:54px; border:1px solid var(--wj-line); text-align:center; overflow:hidden; }.wj-empty-state h3 { margin-top:20px; font-size:24px; font-weight:500; }.wj-empty-state p { max-width:560px; margin-top:10px; padding:0 20px; color:var(--wj-muted); font-size:13px; }.wj-globe-mark { width:118px; height:118px; border:1px solid rgba(49,55,64,.25); border-radius:50%; background:linear-gradient(90deg,transparent 49%,rgba(49,55,64,.16) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(49,55,64,.16) 50%,transparent 51%); }.wj-globe-mark::before,.wj-globe-mark::after { content:""; display:block; position:absolute; }.wj-globe-mark::before { width:45px; height:116px; margin-left:36px; border-left:1px solid rgba(49,55,64,.16); border-right:1px solid rgba(49,55,64,.16); border-radius:50%; }.wj-globe-mark::after { width:116px; height:45px; margin-top:-82px; border-top:1px solid rgba(49,55,64,.16); border-bottom:1px solid rgba(49,55,64,.16); border-radius:50%; }
.wj-archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }.wj-archive-placeholder { min-height:260px; display:grid; place-content:center; border:1px solid var(--wj-line); background:rgba(255,255,255,.24); color:#4b4a47; text-align:center; font-family:var(--font-serif); font-size:20px; }.wj-archive-placeholder span { margin-top:10px; color:#918d86; font-family:var(--font-sans); font-size:12px; letter-spacing:.12em; }.wj-verification-note { margin-top:20px; color:var(--wj-muted); font-size:12px; text-align:right; }
.wj-business { padding:clamp(86px,10vw,140px) 0; background:var(--wj-slate); color:#f5f1e8; }.wj-section-heading--light h2 { color:#f8f4eb; }.wj-section-heading--light > p { color:#aaaeb3; }.wj-section-heading--light::before { background:#b25c4b; }.wj-business-intro { display:grid; grid-template-columns:.75fr .75fr 1.5fr; gap:clamp(28px,5vw,68px); align-items:start; margin-top:58px; padding:42px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }.wj-business-intro p { color:#d9d7d1; font-size:15px; line-height:1.9; }.wj-business-intro strong { color:#fff; font-family:var(--font-serif); font-size:19px; font-weight:500; }.wj-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:64px; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.13); }.wj-service-grid article { min-height:340px; padding:clamp(30px,4vw,50px); background:var(--wj-slate); }.wj-service-grid article > span { color:#b25c4b; font-family:Georgia,serif; font-size:12px; }.wj-service-grid h3 { margin-top:24px; color:#fff; font-size:26px; font-weight:500; }.wj-service-en { margin-top:5px; color:#aeb1b6!important; font-family:Georgia,serif; font-size:12px!important; letter-spacing:.08em; }.wj-service-grid article > p:last-of-type { max-width:490px; margin-top:24px; color:#d3d2ce; font-size:14px; line-height:1.9; }.wj-service-grid ul { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:24px; }.wj-service-grid li { color:#b9b9b6; font-size:12px; }.wj-service-grid li::before { content:"·"; margin-right:6px; color:#b25c4b; }.wj-service-grid a { display:inline-block; margin-top:30px; padding-bottom:5px; border-bottom:1px solid #b25c4b; color:#fff; font-size:13px; }
.wj-inquiry-section { background:var(--wj-paper); }.wj-form-layout { display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr); gap:clamp(50px,8vw,120px); align-items:start; }.wj-form-intro { max-width:360px; margin-top:26px; color:var(--wj-muted); font-size:14px; line-height:1.9; }.wj-form { display:grid; gap:22px; padding:clamp(26px,5vw,52px); border:1px solid var(--wj-line); background:#fffdf8; box-shadow:0 24px 70px rgba(51,45,37,.08); }.wj-form label,.wj-form fieldset { min-width:0; }.wj-form label { display:grid; gap:8px; color:#504c46; font-size:13px; }.wj-form label > span,.wj-form legend > span { margin-left:3px; color:var(--wj-red); }.wj-form input,.wj-form textarea,.wj-form select { width:100%; border:1px solid rgba(49,55,64,.2); border-radius:0; outline:none; background:#fbf9f4; color:var(--wj-ink); font:inherit; transition:border-color .2s,box-shadow .2s; }.wj-form input,.wj-form select { min-height:48px; padding:0 13px; }.wj-form textarea { resize:vertical; padding:12px 13px; line-height:1.65; }.wj-form input:focus,.wj-form textarea:focus,.wj-form select:focus { border-color:var(--wj-red); box-shadow:0 0 0 3px rgba(141,55,40,.08); }.wj-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.wj-form fieldset { margin:0; padding:0; border:0; }.wj-form legend { margin-bottom:10px; color:#504c46; font-size:13px; }.wj-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.wj-option-grid label { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:8px; min-height:42px; padding:8px 10px; border:1px solid rgba(49,55,64,.12); background:#fbf9f4; cursor:pointer; }.wj-option-grid input,.wj-consent input { width:17px; min-height:17px; height:17px; padding:0; accent-color:var(--wj-red); }.wj-consent { display:flex!important; grid-template-columns:auto 1fr; align-items:flex-start; gap:10px!important; line-height:1.65; }.wj-consent b { color:var(--wj-red); }.wj-submit { min-height:52px; padding:0 28px; background:var(--wj-red); color:#fff; font-size:14px; font-weight:600; letter-spacing:.08em; transition:background .2s,transform .2s; }.wj-submit:hover { background:#6f291f; transform:translateY(-1px); }.wj-submit:disabled { cursor:wait; opacity:.65; }.wj-form-status { display:none; padding:14px 16px; font-size:13px; line-height:1.7; }.wj-form-status.is-visible { display:block; }.wj-form-status.is-success { border-left:3px solid #49684a; background:#edf4ea; color:#304a31; }.wj-form-status.is-error { border-left:3px solid var(--wj-red); background:#f8ebe7; color:#6d2b20; }.wj-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.wj-ai-section { background:#e9e5dd; }.wj-ai-card { padding:clamp(32px,5vw,60px); border:1px solid var(--wj-line); background:rgba(255,255,255,.3); }.wj-ai-card > span { color:var(--wj-red); font-family:Georgia,serif; font-size:11px; letter-spacing:.2em; }.wj-ai-card h3 { margin-top:18px; font-size:clamp(25px,3vw,38px); font-weight:500; }.wj-ai-card p { max-width:640px; margin-top:20px; color:#5f5c57; font-size:15px; line-height:1.9; }.wj-ai-card small { display:block; margin-top:30px; padding-top:20px; border-top:1px solid var(--wj-line); color:#8a867f; font-size:12px; }
.wj-cooperation { padding:clamp(80px,9vw,125px) 0; background:#ded8cd; text-align:center; }.wj-cooperation > .container > p { color:var(--wj-red); font-family:Georgia,serif; font-size:11px; letter-spacing:.24em; }.wj-cooperation h2 { margin-top:12px; font-size:clamp(36px,5vw,60px); font-weight:500; }.wj-cooperation-links { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:46px; }.wj-cooperation-links a { display:grid; place-items:center; min-height:86px; padding:18px; border:1px solid rgba(49,55,64,.18); background:rgba(255,255,255,.22); font-size:14px; transition:background .2s,color .2s; }.wj-cooperation-links a:hover { background:var(--wj-slate); color:#fff; }.wj-principle { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:58px; color:#5d5a54; font-family:var(--font-serif); font-size:18px; }.wj-principle i { color:var(--wj-red); font-style:normal; }
@media (max-width:900px) { .wj-hero { min-height:auto; }.wj-hero-grid { grid-template-columns:1fr; }.wj-portrait-placeholder { min-height:440px; }.wj-two-column,.wj-form-layout { grid-template-columns:1fr; gap:50px; }.wj-business-intro { grid-template-columns:1fr; }.wj-archive-grid { grid-template-columns:1fr; }.wj-archive-placeholder { min-height:190px; }.wj-cooperation-links { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .wj-hero { padding:52px 0 64px; }.wj-coordinate-lines { background-size:48px 48px; }.wj-hero h1 { font-size:clamp(47px,15vw,66px); letter-spacing:.04em; }.wj-hero h1 span { font-size:15px; letter-spacing:.18em; }.wj-hero-actions { display:grid; grid-template-columns:1fr; }.wj-button { width:100%; }.wj-portrait-placeholder { min-height:360px; }.wj-section { padding:76px 0; }.wj-service-grid { grid-template-columns:1fr; }.wj-service-grid article { min-height:auto; }.wj-field-grid { grid-template-columns:1fr; }.wj-option-grid { grid-template-columns:repeat(2,1fr); }.wj-form { padding:24px 18px; }.wj-cooperation-links { grid-template-columns:1fr; }.wj-principle { flex-direction:column; gap:8px; }.wj-principle i { transform:rotate(90deg); }.wj-verification-note { text-align:left; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.wj-button,.wj-submit,.wj-cooperation-links a { transition:none; } }
