:root{--navy:#173b4d;--navy-2:#214f61;--teal:#2f6f67;--sage:#66736f;--paper:#f7f1e8;--mist:#f4f6f3;--ink:#183039;--line:rgba(23,59,77,.18);--serif:"Noto Serif SC","Songti SC",STSong,serif;--sans:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:82px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(247,241,232,.94);backdrop-filter:blur(14px);z-index:20}.brand img{width:92px;display:block}.site-header nav{display:flex;gap:32px;font-size:.92rem}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--teal);transition:.25s}.site-header nav a:hover:after{width:100%}.menu-button{display:none;background:none;border:1px solid var(--line);padding:6px 12px;color:var(--navy)}
.hero{min-height:720px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding-block:72px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--teal);margin:0 0 18px}.light{color:#96c4bb}.hero h1,.section h2,.problem-band h2,.about h2{font-family:var(--serif);font-weight:600;line-height:1.18;color:var(--navy);margin:0}.hero h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.055em}.hero h1 span{color:var(--teal)}.lead{font-size:1.18rem;max-width:650px;margin:30px 0;color:#42575d}.hero-actions{display:flex;gap:28px;align-items:center;margin:38px 0 48px}.button{display:inline-flex;background:var(--navy);color:white;padding:13px 23px;border:1px solid var(--navy);transition:.2s}.button:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}.text-link{font-weight:650}.text-link span{color:var(--teal);margin-left:8px}.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border-top:1px solid var(--line);padding-top:22px}.proof div+div{border-left:1px solid var(--line);padding-left:24px}.proof dt{font-family:var(--serif);font-size:1.5rem;color:var(--navy);font-weight:700}.proof dd{margin:2px 0;color:var(--sage);font-size:.84rem}.portrait-wrap{position:relative}.portrait-wrap:before{content:"";position:absolute;inset:-18px 24px 42px -18px;border:1px solid var(--teal);z-index:-1}.portrait-wrap img{width:100%;max-height:600px;object-fit:cover;object-position:center;display:block;filter:saturate(.88)}.portrait-wrap p{margin:-34px 0 0 52px;position:relative;background:var(--navy);color:var(--mist);padding:18px 24px;width:calc(100% - 52px);font-family:var(--serif);font-size:1.05rem}
.problem-band{background:var(--navy);color:var(--mist);padding:100px 0}.problem-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.problem-band h2,.about h2{color:var(--paper);font-size:clamp(2rem,4vw,3.35rem)}.problem-list article{display:grid;grid-template-columns:50px 1fr;column-gap:20px;border-top:1px solid rgba(255,255,255,.2);padding:23px 0}.problem-list span{grid-row:1/3;color:#92bcb4}.problem-list h3{font-family:var(--serif);margin:0;font-size:1.25rem}.problem-list p{margin:6px 0 0;color:#c5d0cd}
.section{padding-block:112px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:50px}.section-head h2{font-size:clamp(2rem,4vw,3.3rem)}.section-head>p{max-width:440px;color:var(--sage);margin:0}.case-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}.case{min-height:340px;background:var(--mist);border-top:4px solid #b4c5bf;padding:34px;display:flex;flex-direction:column}.case.featured{background:var(--teal);color:white;border-color:var(--navy)}.case-type{font-size:.8rem;letter-spacing:.12em;font-weight:700;margin:0 0 auto;text-transform:uppercase}.case h3{font-family:var(--serif);font-size:1.65rem;line-height:1.35;margin:45px 0 14px;color:var(--navy)}.case.featured h3{color:white}.case p:not(.case-type){color:var(--sage);margin:0}.case.featured p:not(.case-type){color:#e4efec}.case a,.case span{margin-top:30px;font-size:.88rem;font-weight:700}
.knowledge{background:var(--mist)}.topic-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.topic-index{display:flex;flex-direction:column;border-top:1px solid var(--line)}.topic{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:21px 10px;color:var(--sage);cursor:pointer;font-size:1.02rem}.topic span{font-size:.74rem;margin-right:22px;color:var(--teal)}.topic.active{color:var(--navy);font-weight:700;background:rgba(47,111,103,.08);padding-left:20px}.article-list article{display:grid;grid-template-columns:110px 1fr auto;align-items:start;gap:24px;border-top:1px solid var(--line);padding:24px 0}.article-list time{font-size:.82rem;color:var(--sage)}.article-list h3{font-family:var(--serif);font-size:1.28rem;margin:0 0 6px;color:var(--navy)}.article-list p{margin:0;color:var(--sage);font-size:.92rem}.article-list b{color:var(--teal);font-size:1.25rem}
.geo-lab{display:grid;grid-template-columns:1fr 1fr;gap:90px}.lab-intro{position:sticky;top:120px;align-self:start}.lab-intro h2{font-size:clamp(2rem,4vw,3.35rem)}.lab-intro>p:last-child{color:var(--sage);margin-top:28px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:10px 0 42px;position:relative}.timeline li:after{content:"";position:absolute;left:105px;top:40px;bottom:0;width:1px;background:var(--line)}.timeline time{font-size:.82rem;color:var(--teal);font-weight:700}.timeline div{border-top:3px solid var(--teal);padding-top:16px}.timeline h3{font-family:var(--serif);color:var(--navy);margin:0 0 8px;font-size:1.35rem}.timeline p{margin:0;color:var(--sage)}.timeline .muted{opacity:.6}
.about{background:var(--teal);color:#edf4f1}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.about-lead{font-family:var(--serif);font-size:1.55rem;line-height:1.5;margin-top:0}.about p{color:#dce9e5}.button.pale{background:var(--paper);border-color:var(--paper);color:var(--navy);margin-top:20px}footer{background:#102d3b;color:#c6d2d0;padding:55px 0 28px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid img{width:80px;filter:brightness(0) invert(1);opacity:.9}.footer-grid p{margin:8px 0}.footer-grid>div:last-child{text-align:right}.footer-grid a{color:#a5c8c1}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:22px;font-size:.78rem;color:#829a99}
@media(max-width:850px){.wrap{width:min(100% - 30px,700px)}.site-header{height:68px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:16px}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:55px;padding-block:56px}.hero h1{font-size:clamp(2.8rem,13vw,4.8rem)}.portrait-wrap{max-width:560px}.problem-grid,.topic-layout,.geo-lab,.about-grid{grid-template-columns:1fr;gap:48px}.case-grid{grid-template-columns:1fr}.case{min-height:280px}.section{padding-block:78px}.section-head{align-items:start;flex-direction:column;margin-bottom:35px}.lab-intro{position:static}.article-list article{grid-template-columns:80px 1fr}.article-list b{display:none}.proof{grid-template-columns:repeat(3,1fr)}.footer-grid{flex-direction:column}.footer-grid>div:last-child{text-align:left}}
@media(max-width:520px){.hero{min-height:auto}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.proof{grid-template-columns:1fr}.proof div{padding:12px 0}.proof div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.problem-band{padding:72px 0}.problem-list article{grid-template-columns:38px 1fr}.article-list article{grid-template-columns:1fr;gap:5px}.timeline li{grid-template-columns:72px 1fr}.timeline li:after{left:78px}.portrait-wrap p{margin:-20px 0 0 20px;width:calc(100% - 20px)} }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
