@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ed;--ink:#26382c;--muted:#687065;--line:#d5d8cd;--lime:#d8e979}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:3px solid #8c9e37;outline-offset:5px}header{position:sticky;top:0;z-index:20;background:rgba(245,243,237,.96);border-bottom:1px solid var(--line)}.nav{max-width:1440px;margin:auto;min-height:88px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:26px;font-weight:800;letter-spacing:-1px}.brand img{width:40px}.brand small{font-size:13px;letter-spacing:2px;font-weight:500;margin-left:3px}.links{display:flex;align-items:center;gap:28px;font-size:14px}.language{border:1px solid var(--line);border-radius:30px;background:transparent;padding:9px 14px}.menu{display:none;border:0;background:transparent;font-size:22px}.wrap{max-width:1440px;margin:auto;padding:0 5%}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:7px;height:7px;background:#879655;border-radius:50%}.hero{padding-top:65px;display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;padding-bottom:65px}.hero h1{font-family:Manrope,'Microsoft YaHei',sans-serif;font-size:clamp(44px,5.6vw,82px);line-height:1.13;font-weight:500;letter-spacing:-3px;margin:25px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400}.intro{font-size:16px;line-height:1.9;color:var(--muted);max-width:510px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-radius:40px;background:var(--ink);color:white;padding:17px 25px;margin-top:20px;font-size:14px}.button span{font-size:20px}.hero-art{position:relative;padding:15px 10px 40px 0}.hero-art .photo{height:510px;width:100%;object-fit:cover;border-radius:150px 150px 8px 8px;filter:brightness(.85)}.badge{position:absolute;left:-35px;bottom:5px;background:var(--lime);padding:24px 30px;border-radius:4px;max-width:270px;font-size:15px;line-height:1.6}.badge b{font-size:25px;display:block;margin-bottom:8px}.vertical{position:absolute;right:-25px;top:90px;writing-mode:vertical-rl;font-size:11px;letter-spacing:3px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:13px}.services{padding:75px 0}.section-title{font-size:clamp(32px,3.5vw,52px);font-weight:500;line-height:1.3;letter-spacing:-1px;margin:18px 0 40px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service{border-top:1px solid var(--line);padding-top:22px}.number{font-size:12px;color:var(--muted)}h3{font-size:23px;font-weight:500;line-height:1.4}.service p,.case-copy p,.body-copy{color:var(--muted);font-size:15px;line-height:1.9}.journey{margin-top:40px;padding:22px;background:#eaece1;display:flex;justify-content:space-between;gap:12px;font-size:13px}.case-section{border-top:1px solid var(--line);padding:75px 0 85px}.case-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.case-heading h2{font-size:clamp(36px,4.5vw,62px);font-weight:500;letter-spacing:-2px;margin:14px 0 0}.case-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.case-image{background:#e7e0d2;overflow:hidden;border-radius:4px;position:relative}.case-image img{width:100%;height:430px;object-fit:cover;transition:transform .6s}.case-image:hover img{transform:scale(1.035)}.case-image .image-label{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:9px 13px;border-radius:20px;font-size:11px}.case-copy h3{font-size:30px;margin:0 0 18px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.tags span{border:1px solid var(--line);padding:7px 11px;border-radius:25px;font-size:12px}.text-link{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid;padding:12px 0;font-size:14px}.note{font-size:12px;color:var(--muted);line-height:1.7}.case-section:nth-of-type(3) .case-layout{grid-template-columns:1fr 1.3fr}.case-section:nth-of-type(3) .case-image{order:2}footer{background:var(--ink);color:var(--paper);padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:50px}.footer-title{font-size:40px;font-weight:400;margin:20px 0}.footer-grid p{color:#bbc5b8;line-height:1.8;font-size:14px}.contact-row{border-bottom:1px solid #51614f;padding:14px 0;font-size:15px}.qr{width:135px;background:white;padding:8px}.footer-bottom{margin-top:45px;border-top:1px solid #51614f;padding-top:20px;font-size:11px;color:#bbc5b8;display:flex;justify-content:space-between;gap:15px}.detail-hero{padding:55px 0}.back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:35px}.detail-hero h1{font-size:clamp(44px,6vw,85px);font-weight:500;letter-spacing:-3px;margin:20px 0}.detail-hero .intro{max-width:750px}.wide-image{width:100%;max-height:500px;object-fit:cover;border-radius:4px;margin-top:35px}.detail-section{padding:60px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:8%}.detail-section h2{font-size:30px;font-weight:500;margin-top:15px}.strategy{display:grid;grid-template-columns:1fr 1fr;gap:25px}.strategy article{border-top:1px solid var(--line)}.strategy p{color:var(--muted);font-size:14px;line-height:1.9}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery button{border:0;padding:0;background:#e8e4da}.gallery img{width:100%;height:400px;object-fit:contain}.caption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.metric{border-top:1px solid var(--line);padding-top:20px}.metric b{display:block;font-size:40px;font-weight:500}.metric p{font-size:13px;color:var(--muted);line-height:1.7}.next-cases{display:flex;gap:20px;flex-wrap:wrap;margin:30px 0 70px}.lightbox{position:fixed;inset:0;background:#152117ed;z-index:50;display:flex;align-items:center;justify-content:center;padding:50px}.lightbox img{max-height:85vh;max-width:90vw;object-fit:contain}.close{position:absolute;right:24px;top:18px;border:1px solid white;border-radius:50%;width:42px;height:42px;color:white;background:transparent;font-size:24px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:850px){.nav{min-height:74px;padding:15px 5%}.brand{font-size:22px}.links{gap:14px}.hero{gap:30px}.hero h1{letter-spacing:-2px}.hero-art .photo{height:400px}.badge{left:-15px;padding:20px;max-width:210px}.service-grid{gap:22px}.case-layout{gap:5%}.footer-grid{gap:25px}.detail-section{grid-template-columns:1fr;gap:20px}}@media(max-width:600px){.menu{display:block}.links{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:25px 5%;border-bottom:1px solid var(--line);flex-wrap:wrap}.links.open{display:flex}.hero{grid-template-columns:1fr;padding-top:40px}.hero h1{font-size:46px}.hero-art{padding:0 10px 25px 15px}.hero-art .photo{height:350px;border-radius:100px 100px 4px 4px}.badge{left:0;bottom:0}.vertical{right:-5px}.strip{flex-wrap:wrap;font-size:12px}.strip span{width:45%}.services{padding:50px 0}.service-grid{grid-template-columns:1fr;gap:15px}.service h3{margin:12px 0}.journey{flex-wrap:wrap;line-height:2}.case-section{padding:45px 0}.case-heading{align-items:start}.case-layout,.case-section:nth-of-type(3) .case-layout{grid-template-columns:1fr;gap:28px}.case-section:nth-of-type(3) .case-image{order:0}.case-image img{height:350px}.case-copy h3{font-size:25px}.footer-grid{grid-template-columns:1fr}.footer-title{font-size:34px}.footer-bottom{flex-direction:column}.detail-hero h1{font-size:46px;letter-spacing:-2px}.strategy{grid-template-columns:1fr}.gallery{gap:12px}.gallery img{height:270px}.metrics{grid-template-columns:1fr}.metric b{font-size:36px}.wide-image{height:300px}.lightbox{padding:20px}}

/* Preserve the full reporting concept at every screen size. */
.wide-image.concept-image{height:auto;max-height:none;object-fit:contain}
/* Case stories: connect service value, evidence and a clear next step. */
.case-image img{height:auto;aspect-ratio:3/2;object-fit:cover}
.case-copy h3{font-size:clamp(25px,2.3vw,34px);line-height:1.5;letter-spacing:-.5px}
.benefit-list{list-style:none;padding:0;margin:24px 0}
.benefit-list li{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:13px 0;font-size:14px}
.benefit-list strong{font-weight:500}
.benefit-index{font-size:11px;color:var(--muted);font-family:Manrope,sans-serif}
.case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.case-actions .button{margin-top:0;padding:14px 22px;gap:25px}
.case-actions .text-link{font-size:13px;gap:10px}
.case-fit{margin:28px 0 0;color:var(--muted);font-size:13px;line-height:1.8;max-width:850px}
.detail-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}
.detail-intro h1{font-size:clamp(38px,4.8vw,68px);letter-spacing:-2px}
.detail-promise{font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.6;margin:12px 0 0;max-width:670px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}
.value-grid article{border-top:1px solid var(--line);padding-top:20px}
.value-grid h3{font-size:20px;margin:12px 0}
.value-grid p,.signal-list p{font-size:14px;line-height:1.9;color:var(--muted)}
.fit-note{border-left:3px solid #a4b759;padding:12px 18px;background:#eceee3;font-size:14px;line-height:1.9;margin-top:25px}
.signal-list article{display:grid;grid-template-columns:1fr 2fr;gap:25px;border-top:1px solid var(--line);padding:18px 0}
.signal-list h3{font-size:18px;margin:0;line-height:1.6}
.signal-list p{margin:0}
.evidence-label{font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:18px}
.gallery .source-proof{grid-column:1/-1;background:#fff}
.gallery .source-proof img{height:330px}
.consultation{margin:20px 0 45px;padding:48px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}
.consultation .eyebrow{color:#c6d0ba}
.consultation h2{font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.5;margin:20px 0}
.consultation p{font-size:14px;line-height:1.9;color:#c6d0ba}
.consultation .button{background:var(--lime);color:var(--ink);margin:0;gap:20px}
.consultation-actions{display:flex;align-items:flex-start;flex-direction:column;gap:15px}
.consultation-actions .text-link{font-size:14px;gap:8px}
.consultation-actions p{font-size:12px;margin:0}
@media(max-width:850px){.detail-intro{gap:35px}.value-grid{gap:20px}.consultation{gap:35px;padding:35px}.signal-list article{grid-template-columns:1fr 1.7fr}}
@media(max-width:600px){.case-image img{height:auto;aspect-ratio:3/2}.case-copy h3{font-size:25px}.case-actions{gap:18px}.case-fit{font-size:12px}.detail-intro{grid-template-columns:1fr;gap:25px}.detail-intro h1{font-size:40px}.value-grid{grid-template-columns:1fr;gap:20px}.signal-list article{grid-template-columns:1fr;gap:10px}.consultation{grid-template-columns:1fr;padding:27px;gap:20px}.gallery .source-proof img{height:270px}}

.gallery .reporting-visual{align-self:start}
.gallery .reporting-visual img{height:auto;aspect-ratio:1672/941;object-fit:contain}

.footer-grid .qr-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:12px;margin-top:14px}
.qr-links a{color:var(--paper);font-weight:500;border-bottom:1px solid #8e9c88;padding-bottom:2px;white-space:nowrap}
.profile-page{padding-top:55px}
.profile-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;padding:10px 0 40px;border-bottom:1px solid var(--line)}
.profile-hero h1{font-size:clamp(40px,5.5vw,72px);font-weight:500;line-height:1.15;letter-spacing:-2px;margin:22px 0}
.profile-role{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.profile-tagline{font-size:clamp(22px,2.5vw,30px);line-height:1.5;margin:0}
.profile-story{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8%;padding:48px 0}
.profile-initials{width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:var(--lime);border-radius:50%;font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-1px}
.profile-signature p{font-size:15px;line-height:1.8;margin-top:18px}
.profile-signature span{font-size:12px;color:var(--muted)}
.profile-copy{max-width:730px}
.profile-copy p{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 24px}
.profile-copy p:first-child{font-size:20px;line-height:1.7;color:var(--ink)}
.profile-copy p:last-child{margin-bottom:0;border-left:3px solid #a4b759;padding-left:20px;color:var(--ink)}
.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;border-top:1px solid var(--line);padding:30px 0 65px}
.profile-actions .button{margin-top:0}
.profile-actions .text-link{gap:12px}
@media(max-width:850px){.profile-hero{grid-template-columns:1fr;gap:24px}.profile-story{grid-template-columns:1fr;gap:28px}.profile-signature{display:flex;align-items:center;gap:18px}.profile-signature p{margin:0}}
@media(max-width:600px){.profile-page{padding-top:35px}.profile-hero{padding-bottom:30px}.profile-hero h1{font-size:40px;letter-spacing:-1px}.profile-story{padding:32px 0}.profile-copy p{font-size:15px}.profile-actions{padding-bottom:45px}}
