:root { --max: 1160px; }
body { font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }
.section { padding-top: 100px; padding-bottom: 100px; }
.section-heading { font-size: clamp(32px,4.4vw,60px); letter-spacing:-.045em; line-height:1.18; }
.hero { min-height: 760px; height: min(900px,100svh); }
.hero-content { padding-top:120px; padding-bottom:70px; }
.hero h1 { max-width:820px; font-size:clamp(44px,6.6vw,92px); line-height:1.13; letter-spacing:-.045em; text-wrap:balance; }
.hero h1 span { white-space:nowrap; }
.hero-copy { max-width:550px; font-size:18px; line-height:1.8; }
.hero-art { background-position:center,center,65% center; opacity:.72; }
.hero::after { display:none; }
.hero-grid { animation:none; opacity:.10; }
.hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:30px; }
.hero-audience { font-size:11px; color:#92a4ac; margin:20px 0 0; letter-spacing:.08em; }
.hero-meta { margin-top:18px; }
.hero-bottom { margin-top:30px; }
.primary-link,.secondary-link { cursor:pointer; }
button.primary-link { border:0; }
.system-evidence { min-height:390px; }
.system-evidence-image { object-fit:contain; }
.system-evidence::after { animation:none; opacity:.12; }
.system-card:hover .system-evidence-image { transform:scale(1.02); }
.system-copy { padding:40px; }
.system-card h3 { font-size:clamp(26px,3vw,40px); line-height:1.22; }
.system-card { min-height:470px; }
.system-tabs { margin-top:42px; }
.case-section { border-top:1px solid var(--line); }
.case-meta { display:flex; flex-wrap:wrap; gap:10px 26px; margin:34px 0 22px; font-size:11px; color:#93a7b2; }
.case-meta span:first-child { color:var(--amber); }
.case-workspace { display:grid; grid-template-columns:1fr 1fr; border:1px solid #32424b; }
.case-document { background:#ecece5; color:#152c37; padding:36px; }
.document-top { display:flex; justify-content:space-between; font:11px/1.4 ui-monospace,monospace; color:#5c7077; letter-spacing:.07em; }
.case-document h3 { font-family:"Songti SC","STSong",serif; font-size:36px; line-height:1.25; font-weight:500; margin:30px 0 16px; }
.case-hint { font-size:13px; color:#62737b; }
.case-selectors { display:grid; gap:12px; margin-top:24px; }
.case-selectors button { display:grid; gap:9px; text-align:left; color:#203d4a; border:1px solid #c6cecb; padding:18px; background:transparent; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.case-selectors button[aria-pressed="true"] { background:#fffefa; border-left:3px solid #a16932; box-shadow:0 6px 20px #122d3710; }
.case-selectors button:hover { transform:translateY(-2px); }
.case-selectors small { color:#847153; font:10px ui-monospace,monospace; }
.case-selectors strong { font-size:17px; line-height:1.6; font-weight:550; }
.case-selectors span { font-size:12px; color:#5b707a; }
.case-inspector { padding:36px; scroll-margin-top:76px; background:linear-gradient(145deg,#132129,#091014); }
.case-inspector .inspector-label { color:var(--amber); font:11px ui-monospace,monospace; letter-spacing:.1em; }
.case-inspector h3 { font-size:28px; line-height:1.4; font-weight:500; margin:24px 0; }
.case-inspector p { font-size:15px; color:#bdccd3; line-height:1.9; }
.inspector-block { padding:20px 0; border-top:1px solid #ccebf424; }
.inspector-block b { color:#ccebf4; font-size:12px; font-weight:500; }
.inspector-block p { margin:8px 0 0; }
.inspector-block small { color:#91a4ae; line-height:1.8; display:block; font-size:11px; margin-top:12px; }
.case-inspector.is-changing { animation:panel-in .28s ease both; }
.case-deliverables { display:flex; flex-wrap:wrap; gap:12px 26px; margin:22px 0; font-size:12px; }
.case-deliverables span { color:var(--muted); }.case-deliverables b { font-weight:500; color:var(--ice); }
.case-source { color:#9aabb4; font-size:12px; line-height:1.9; max-width:880px; }
summary { cursor:pointer; }
.case-source summary { color:#bdd4df; padding:12px 0; }
.workflow-steps { list-style:none; padding:0; margin:52px 0; display:grid; grid-template-columns:repeat(4,1fr); }
.workflow-steps li { border-top:1px solid #90cedc60; padding:24px 20px 0 0; position:relative; }
.workflow-steps li::before { content:""; position:absolute; top:-4px; left:0; width:7px; height:7px; border-radius:50%; background:var(--ice); }
.workflow-steps li { transition:border-color .5s ease; border-color:#90cedc26; }
.workflow-steps li::before { opacity:.25; transition:opacity .5s,box-shadow .5s; }
.workflow-steps li.is-seen { border-color:#90cedc90; }
.workflow-steps li.is-seen::before { opacity:1; box-shadow:0 0 14px #90cedc80; }
.workflow-steps small { display:block; color:var(--amber); font:12px ui-monospace,monospace; margin-bottom:20px; }
.workflow-steps b { font-size:20px; font-weight:500; }.workflow-steps p { color:var(--muted); font-size:14px; }
.workflow-detail { border:1px solid var(--line); padding:22px 28px; }
.workflow-detail>summary { display:flex; justify-content:space-between; font-size:14px; color:var(--ice); gap:24px; }
.workflow-detail>summary span:last-child { color:var(--muted); font-size:12px; }
.workflow-detail .workflow-map { margin:30px auto; max-width:440px; opacity:1; transform:none; }
.workflow-map-frame { padding:8px; border-radius:10px; }
.workflow-detail button { background:transparent; border:0; color:var(--ice); padding:8px 0; }
#map-dialog { width:min(96vw,980px); max-height:92svh; padding:50px 16px 16px; background:#111c23; border:1px solid #8eacba; color:white; }
#map-dialog::backdrop { background:#030608dc; backdrop-filter:blur(8px); }
#map-dialog img { width:100%; height:auto; display:block; }
#map-close { position:sticky; top:0; float:right; margin-top:-40px; padding:6px 14px; color:white; background:#233740; border:1px solid #7c929b; cursor:pointer; }
.start-items { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin:40px 0; text-align:left; }
.start-items article { border-top:1px solid var(--line); padding-top:20px; }.start-items b { font-size:13px; color:var(--ice); font-weight:500; }.start-items p { color:var(--muted); font-size:14px; }
#copy-status { font-size:13px; color:var(--ice); min-height:22px; }
#brief-fallback { width:100%; min-height:130px; padding:14px; background:#132129; color:var(--ice); }
:focus-visible { outline:2px solid var(--amber); outline-offset:5px; }
@media(max-width:760px) {
  .section { padding-top:64px; padding-bottom:64px; }
  .hero { min-height:720px; height:auto; }.hero h1 { font-size:clamp(38px,8vw,60px); }
  .hero-content { padding-top:150px; padding-bottom:44px; }.hero-copy { font-size:16px; }
  .hero-art { opacity:.52; }.case-workspace { grid-template-columns:1fr; }
  .case-document,.case-inspector { padding:26px; }.case-inspector { min-height:535px; }
  .system-card { grid-template-columns:1fr; }.system-copy { padding:28px; }
  .system-evidence { min-height:0; aspect-ratio:1/1; max-height:480px; }
  .system-tabs { display:flex; overflow-x:auto; flex-wrap:nowrap; padding-bottom:10px; }.tab-button { flex-shrink:0; }
  .workflow-steps { grid-template-columns:1fr 1fr; gap:28px 16px; }
  .start-items { grid-template-columns:1fr; gap:12px; }.case-document h3 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) { .case-inspector.is-changing { animation:none; } .hero-art { transform:none!important; } }
