:root{--ink:#172c39;--ink-2:#244252;--muted:#657480;--paper:#f7f5f0;--white:#fff;--line:#dfdfd8;--red:#a94d3e;--gold:#c9aa77;--serif:"Noto Serif SC","Songti SC","SimSun",serif;--sans:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 56px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-60px;background:#fff;padding:10px 16px;z-index:20}.skip-link:focus{top:10px}.topbar{height:76px;background:var(--white);border-bottom:1px solid #e8e7e2;position:relative;z-index:5}.topbar-inner{height:100%;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;min-width:284px}.brand-mark{width:44px;height:44px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:13px;font-weight:700;letter-spacing:-1px}.brand-mark span{color:var(--gold)}.brand-copy{display:flex;flex-direction:column;line-height:1.15;gap:5px}.brand-copy strong{font-family:var(--serif);font-size:16px;letter-spacing:.03em}.brand-copy small{font-size:8px;letter-spacing:.14em;color:#8c989c}.nav{display:flex;gap:30px;margin-left:auto}.nav a{font-size:13px;color:#4b626e}.nav a:hover{color:var(--red)}.topbar-date{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px;white-space:nowrap}
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:650px;height:650px;right:-150px;top:-320px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 60px #ffffff06,0 0 0 135px #ffffff04}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(117deg,transparent 64%,#75909a0d 64.1%,transparent 64.4%);pointer-events:none}.hero-grid{min-height:550px;display:grid;grid-template-columns:minmax(0,1.35fr) 350px;gap:92px;align-items:center;padding-block:78px 88px;position:relative;z-index:1}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--red);margin:0 0 20px}.eyebrow{color:var(--gold);display:flex;align-items:center;gap:12px}.eyebrow-line{height:1px;width:34px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-size:clamp(38px,4.1vw,58px);letter-spacing:.025em;line-height:1.34;font-weight:700;margin:0 0 24px}.hero h1 em{font-style:normal;color:#e4c99b}.hero-subtitle{font-size:16px;color:#d9e1e2;max-width:630px;line-height:2;margin-bottom:30px}.hero-actions{display:flex;gap:14px;align-items:center}.button{border:1px solid transparent;min-height:46px;padding:10px 22px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#bf5b4b}.button-ghost{border-color:#78909b;color:#e4e9e8}.button-ghost:hover{background:#ffffff12}.hero-note{color:#9eb0b7;font-size:11px;margin:23px 0 0}.hero-panel{background:#f8f5ed;color:var(--ink);padding:27px 30px 23px;box-shadow:18px 18px 0 #ffffff0b}.panel-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:.15em;color:#79909a}.panel-dot{width:9px;height:9px;background:var(--red);border-radius:50%}.panel-number{font-family:Georgia,serif;font-size:74px;line-height:1;margin-top:27px;letter-spacing:-.05em}.panel-label{font-family:var(--serif);font-size:17px;margin:5px 0 26px}.panel-rule{height:1px;background:#d9d9cf;margin-bottom:12px}.panel-row{display:flex;justify-content:space-between;padding:9px 0;font-size:13px;color:#4e616b}.panel-row strong{font-family:Georgia,serif;color:var(--ink);font-size:16px}.panel-foot{border-top:1px solid #d9d9cf;margin-top:10px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#75848d}.panel-foot strong{color:var(--ink)}
.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);margin-top:-1px}.intro-strip>div{display:grid;grid-template-columns:40px auto;grid-template-rows:auto auto;gap:0 8px;padding:28px 32px;border-right:1px solid var(--line)}.intro-strip>div:last-child{border-right:0}.strip-index{grid-row:1/3;color:var(--red);font-family:Georgia,serif;font-size:14px}.intro-strip strong{font-family:var(--serif);font-size:16px}.intro-strip small{font-size:12px;color:var(--muted);margin-top:4px}
.search-section{padding-top:92px;padding-bottom:112px;scroll-margin-top:24px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.section-heading .section-kicker,.results-head .section-kicker{margin-bottom:5px}.section-heading h2,.method-section h2,.updates-section h2{font-family:var(--serif);font-size:35px;letter-spacing:.02em;margin:0}.section-heading>p{color:var(--muted);font-size:13px;margin:0 0 6px}.filter-card{background:#fff;border:1px solid var(--line);box-shadow:0 16px 35px #18304008;padding:29px}.search-box{height:58px;border:1px solid #cdd5d5;background:#fdfdfb;display:flex;align-items:center;padding:0 17px;gap:14px}.search-box:focus-within{border-color:var(--ink)}.search-box svg{width:20px;height:20px;fill:none;stroke:#6d818a;stroke-width:1.7}.search-box input{border:0;outline:0!important;background:transparent;width:100%;min-width:0;font-size:15px;color:var(--ink)}.search-box input::placeholder{color:#9aa7aa}.search-box kbd{color:#9ba9a9;font-family:Georgia,serif;font-size:20px}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px}.filter-grid label{font-size:11px;color:#667781;font-weight:700;display:flex;flex-direction:column;gap:7px}.filter-grid select{height:43px;border:1px solid #d8dddd;background:#fff;color:var(--ink);padding:0 12px;font-size:13px;width:100%;border-radius:0}.filter-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid #eaece8}.check{display:flex;align-items:center;gap:8px;color:#536772;font-size:12px;cursor:pointer}.check input{accent-color:var(--red);width:15px;height:15px}.text-button{border:0;background:none;color:var(--red);font-size:12px;font-weight:700}.recent-batches{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:22px 0 48px;color:#7b8b92;font-size:12px}.recent-batches button{border:1px solid #d5d7d1;background:transparent;padding:6px 12px;color:#425a66;font-size:12px}.recent-batches button:hover,.recent-batches button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.results-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:20px}.results-head h3{font-family:var(--serif);font-size:24px;margin:0 0 5px}.results-head h3 span{font-family:Georgia,serif;font-size:30px}.results-head p:last-child{font-size:12px;color:var(--muted);margin:0}.export-button{border:1px solid #c6cfce;background:transparent;color:var(--ink);font-size:12px;padding:9px 14px}.export-button:hover{background:#fff}
.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:20px}.case-card{background:#fff;border:1px solid #e0e2dd;min-height:222px;padding:24px 26px 21px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s}.case-card:hover{border-color:#9baeb0;box-shadow:0 14px 30px #192f3c12;transform:translateY(-2px)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#778993}.tag-list{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:3px 8px;background:#eef1f0;color:#456170;font-size:11px}.tag-accent{background:#f5ece8;color:#a45645}.case-card h4{font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.5;margin:15px 0 11px;overflow-wrap:anywhere}.case-excerpt{font-size:12px;color:#62747b;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 17px;white-space:pre-line}.card-footer{margin-top:auto;padding-top:13px;border-top:1px solid #edf0ed;display:flex;justify-content:space-between;align-items:center;gap:10px}.card-source{font-size:11px;color:#9aa8aa}.card-open{color:var(--red);font-size:12px;font-weight:700;border:0;background:none;padding:4px 0}.card-open:hover{text-decoration:underline}.empty-state{text-align:center;padding:80px 20px;background:#fff;border:1px solid var(--line);margin-top:20px}.empty-state>span{display:block;color:var(--gold);font-size:70px;line-height:1}.empty-state h3{font-family:var(--serif);font-size:22px}.empty-state p{color:var(--muted);font-size:13px}.empty-state .button{margin-top:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px}.pagination button{height:38px;min-width:38px;border:1px solid #d5d8d2;background:#fff;color:var(--ink);font-size:12px}.pagination button[aria-current="page"]{background:var(--ink);color:#fff;border-color:var(--ink)}.pagination button:disabled{opacity:.45;cursor:default}.pagination span{font-size:12px;color:var(--muted);padding:0 7px}
.method-section{background:#eaece7;padding:86px 0 92px;scroll-margin-top:20px}.method-grid{display:grid;grid-template-columns:330px 1fr;gap:100px}.method-section h2{line-height:1.4}.method-lead{font-size:14px;color:#5b6f77;line-height:1.9;margin-top:24px}.method-items{border-top:1px solid #b9c4c1}.method-items article{border-bottom:1px solid #b9c4c1;padding:23px 0;display:grid;grid-template-columns:125px 1fr;column-gap:24px}.method-items article span{grid-row:1/3;color:var(--red);font:12px Georgia,serif;letter-spacing:.08em;padding-top:3px}.method-items h3{font-family:var(--serif);font-size:18px;margin:0 0 7px}.method-items p{font-size:12px;line-height:1.9;color:#596e77;margin:0}.updates-section{padding-block:92px 105px;scroll-margin-top:20px}.updates-inner{display:flex;justify-content:space-between;gap:70px;align-items:center}.updates-inner>div:first-child{max-width:680px}.updates-inner p:last-child{line-height:1.9;color:#63757c;font-size:14px;margin:18px 0 0}.updates-stamp{border-top:3px solid var(--red);min-width:245px;padding:20px 0}.updates-stamp span{display:block;color:#8d9a9e;font-size:10px;letter-spacing:.13em}.updates-stamp strong{display:block;font:700 34px Georgia,serif;margin:10px 0;color:var(--ink)}.updates-stamp small{color:#87999d;font-size:11px}.footer{background:#142936;color:#c5d1d3;padding:42px 0}.footer-inner{display:grid;grid-template-columns:1fr 1.6fr auto;gap:35px}.footer strong{font-family:var(--serif);color:#fff;font-size:17px}.footer p{font-size:11px;color:#a8b9bd;margin:7px 0}.footer a{font-size:12px;color:#e8d2ad;white-space:nowrap}
.case-dialog{border:0;padding:0;width:min(760px,100vw);max-width:100vw;height:100vh;max-height:100vh;margin:0 0 0 auto;box-shadow:-16px 0 60px #07192350;color:var(--ink);background:#fff}.case-dialog::backdrop{background:#071b28a8}.dialog-inner{height:100%;display:flex;flex-direction:column}.dialog-top{height:68px;flex-shrink:0;background:var(--ink);color:#e1e8e7;display:flex;justify-content:space-between;align-items:center;padding:0 32px;font-size:10px;letter-spacing:.15em;font-weight:700}.dialog-top button{border:0;background:none;color:#fff;font-size:30px;line-height:1}.dialog-scroll{overflow-y:auto;padding:42px 48px 60px}.dialog-tags{display:flex;gap:7px;flex-wrap:wrap}.case-dialog h2{font-family:var(--serif);font-size:28px;line-height:1.5;margin:16px 0 8px;overflow-wrap:anywhere}.dialog-date{font-size:12px;color:#7a8c94;margin-bottom:34px}.dialog-section{border-top:1px solid #dce1de;padding:24px 0 26px}.dialog-section h3{font-family:var(--serif);font-size:16px;margin:0 0 14px}.dialog-section h3 span{font-family:Georgia,serif;font-size:11px;color:var(--red);margin-right:13px}.dialog-section p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:2;color:#394d58;margin:0}.dialog-source{border-top:1px solid var(--ink);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;color:#8a9aa0}.dialog-source a{background:var(--red);padding:9px 16px;color:#fff;font-size:12px;font-weight:700}.dialog-source a:hover{background:#c15b49}.dialog-source>span:last-child{color:#a25d50}
@media(max-width:1050px){.hero-grid{gap:45px;grid-template-columns:1fr 310px}.method-grid{gap:50px}.topbar-date{display:none}}
@media(max-width:760px){.shell{width:min(100% - 32px,620px)}.topbar{height:64px}.brand{min-width:0}.brand-mark{width:38px;height:38px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:6px}.nav{display:none}.hero-grid{grid-template-columns:1fr;gap:34px;padding:56px 0 65px}.hero h1{font-size:38px}.hero-subtitle{font-size:14px}.hero-panel{max-width:390px;box-shadow:none}.intro-strip{grid-template-columns:1fr}.intro-strip>div{padding:16px 22px;border-right:0;border-bottom:1px solid var(--line)}.intro-strip>div:last-child{border-bottom:0}.search-section{padding-top:70px;padding-bottom:75px}.section-heading{display:block}.section-heading h2,.method-section h2,.updates-section h2{font-size:28px}.section-heading>p{margin:10px 0 0}.filter-card{padding:17px}.filter-grid{grid-template-columns:repeat(2,1fr);gap:13px}.filter-footer{gap:12px}.recent-batches{margin-bottom:35px}.case-list{grid-template-columns:1fr}.case-card{min-height:205px}.method-section{padding:68px 0}.method-grid{display:block}.method-items{margin-top:35px}.updates-section{padding-block:70px}.updates-inner{display:block}.updates-stamp{margin-top:38px}.footer-inner{grid-template-columns:1fr;gap:14px}.dialog-scroll{padding:30px 24px 50px}.dialog-top{padding-inline:24px}}
@media(max-width:420px){.filter-grid{grid-template-columns:1fr}.hero h1{font-size:33px}.hero-actions{gap:8px}.button{padding-inline:15px}.results-head{align-items:start;gap:16px}.export-button{white-space:nowrap}.method-items article{display:block}.method-items article span{display:block;margin-bottom:8px}}
.brand-mark{display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:12px}
.method-statement{align-self:center;font-family:var(--serif);font-size:20px;line-height:2;color:#405965;margin:0;max-width:650px}
@media(max-width:760px){.method-statement{font-size:17px;margin-top:24px}}
