/* V1 refinement: restrained portrait + abstract editorial cover, factual project case study. */
:root{--ink:#0b1f33;--ink-deep:#091c2d;--blue:#365b7c;--paper:#f7f8fa}
html{scroll-padding-top:75px}
.page-home .site-header{position:absolute;inset:0 0 auto;background:transparent;border-bottom:1px solid rgba(28,62,86,.1)}
.page-home .header-contact{background:rgba(255,255,255,.88)}
.immersive-hero{position:relative;overflow:hidden;min-height:790px;background:#dce5eb}
.hero-landscape,.hero-atmosphere{position:absolute;inset:0;width:100%;height:100%}
.hero-landscape{object-fit:cover;object-position:center}
.hero-atmosphere{background:linear-gradient(90deg,rgba(248,250,252,.74) 0%,rgba(248,250,252,.61) 33%,rgba(237,244,248,.16) 61%,rgba(9,30,47,.08) 82%,rgba(9,30,47,.28) 100%),linear-gradient(0deg,rgba(16,48,70,.15),transparent 55%)}
.immersive-grid{position:relative;min-height:790px;display:flex;align-items:center;padding-top:95px;padding-bottom:70px}
.intro-copy{position:relative;z-index:3;width:53%;padding-top:25px}
.intro-copy .eyebrow{font-size:10px!important;letter-spacing:.16em}
.intro-copy h1{font:500 clamp(58px,6.1vw,87px)/1.03 var(--serif);letter-spacing:-.055em;margin:28px 0 23px}
.intro-copy h1 em{font-style:normal;color:var(--ink)}
.intro-copy h2{font-size:20px;line-height:1.5;letter-spacing:-.02em;margin:0 0 13px}
.intro-position{font-size:14px;color:#32556c;margin-bottom:22px}
.intro-bio{font-size:15px;line-height:1.85;color:#4b6273;max-width:440px;margin-bottom:27px}
.button-glass{background:rgba(255,255,255,.9);border:1px solid rgba(36,74,96,.18);box-shadow:0 4px 20px rgba(21,53,78,.05)}
.hero-credentials{display:flex;gap:10px 15px;flex-wrap:wrap;font-size:11px;color:#34556e;margin-top:48px}
.hero-credentials span+span{border-left:1px solid #8fa5b2;padding-left:15px}
.personal-note{position:absolute;right:1%;top:225px;width:310px;color:#fff;z-index:2}
.signature{display:block;font-family:"Snell Roundhand","Apple Chancery","Brush Script MT",cursive;font-weight:400;font-size:38px;line-height:1.2}
.fieldnote-index{font-size:11px;letter-spacing:.24em;color:#b7cddc}
.personal-note .fieldnote-thought{font:400 30px/1.55 var(--serif);letter-spacing:.03em;margin:26px 0 0}
.small-rule{display:block;width:45px;height:1px;background:#d0e0e8;margin:27px 0 27px}
.personal-note .signature{font-size:37px;white-space:nowrap;transform:rotate(-7deg);margin:0 0 27px -5px}
.personal-note>div{font-size:12px;letter-spacing:.12em;line-height:2;color:#d3e2eb}
.hero-credit{position:absolute;bottom:14px;right:24px;z-index:4;font-size:10px;color:#fff;background:rgba(7,29,46,.48);padding:4px 8px}
.hero-credit:hover{background:var(--ink)}
.home-selected{padding-top:75px;background:#f7f8fa}
.section-heading h2{font-size:46px;letter-spacing:-.025em}
.section-subtitle{font-size:15px;color:var(--muted);margin:15px 0 0}
.heading-description{font-size:15px;line-height:1.8;max-width:360px;color:var(--muted);margin:0 0 5px}
.project-art.has-photo::before,.project-art.has-photo::after,.project-art.has-photo .art-orbit,.project-art.has-photo .art-line{display:none}
.project-art.has-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.project-card:hover .project-art.has-photo img{transform:scale(1.025)}
.project-art.has-photo .art-index{background:rgba(10,31,50,.6);padding:4px 7px}
.project-card h3,.capability h3,.research-card h3{font-family:var(--sans);font-size:21px;line-height:1.4;font-weight:600}
.project-card p,.capability p,.research-card>p:not(.en-title){font-size:15px}
.card-topline{min-height:36px}
.capability{min-height:265px}
.research-section{background:#f7f8fa}
.impact-section{position:relative;background:linear-gradient(rgba(8,29,48,.87),rgba(8,29,48,.87)),var(--impact-image) center 55%/cover;color:#fff;padding:58px 0}
.impact-grid{display:grid;grid-template-columns:1.2fr repeat(5,1fr);align-items:center;gap:24px}
.impact-grid>p{margin:0;font-size:11px!important;line-height:1.8}
.impact-stat{border-left:1px solid rgba(255,255,255,.22);padding-left:24px}
.impact-stat strong{display:block;font:400 45px/1.2 var(--serif)}
.impact-stat span{display:block;font-size:12px;margin-top:7px;color:#b6ccd9}
.personal-quote{padding-top:94px;padding-bottom:96px;text-align:center}
.personal-quote blockquote{font:400 clamp(28px,3.2vw,45px)/1.3 var(--serif);letter-spacing:-.03em;margin:30px auto;max-width:1030px}
.personal-quote>div{display:flex;justify-content:center;align-items:center;gap:55px;margin-top:35px}
.personal-quote .signature{font-size:33px;color:#365b7c}
.longgang-hero{min-height:610px;position:relative;overflow:hidden;background:#163a5f;color:#fff}
.longgang-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.longgang-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,43,.86),rgba(7,26,43,.62) 42%,rgba(7,26,43,.05)),linear-gradient(0deg,rgba(7,26,43,.55),transparent 55%)}
.longgang-title{position:relative;z-index:1;padding-top:30px;padding-bottom:55px}
.case-back{display:inline-block;font-size:12px;color:#d5e3ec;margin-bottom:88px}
.longgang-title h1{font-family:var(--sans);font-size:64px;font-weight:500;line-height:1.25;letter-spacing:-.04em;margin:24px 0}
.longgang-title h1 em{font:400 38px/1.4 var(--sans);letter-spacing:0}
.longgang-title>p:not(.eyebrow){font-size:18px;max-width:660px;color:#e2eaf0}
.longgang-meta{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;margin-top:47px;color:#d0dee7}
.longgang-meta span+span{border-left:1px solid #7692a5;padding-left:25px}
.case-tabs{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:8;border-bottom:1px solid var(--line)}
.case-tabs>div{display:flex;gap:40px;min-height:62px;align-items:center;overflow:auto}
.case-tabs a{white-space:nowrap;font-size:13px;padding:19px 0}
.case-tabs a:hover{color:#5488a5}
.case-overview{display:grid;grid-template-columns:1.8fr 1fr;gap:110px}
.case-overview h2,.role-section h2,.system-section h2,.approach-section h2,.outcomes-section h2,.media-section h2{font:500 39px/1.35 var(--sans);letter-spacing:-.035em}
.case-overview>div>p:not(.eyebrow){color:#566c7b;font-size:17px;line-height:1.95;margin:22px 0 0}
.project-facts{border-top:2px solid #527b92;background:#edf3f6;padding:28px 30px;align-self:start}
.project-facts>div{border-bottom:1px solid #cbdbe5;padding-bottom:22px;margin-bottom:24px}
.project-facts>div:last-child{border:0;padding:0;margin:0}
.project-facts>div>span{font-size:10px;letter-spacing:.14em;font-weight:600;color:#627e90}
.project-facts strong{display:block;font:400 55px/1.3 var(--serif);margin-top:10px}
.project-facts small{font:400 16px var(--sans)}
.project-facts h3{font-size:20px;font-weight:500;margin:16px 0 12px}
.project-facts p{font-size:13px;line-height:1.7;color:#5c7382;margin:6px 0}
.project-facts a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.role-section{background:#fff}
.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.role-grid article{padding:36px;background:#f0f5f7;border-top:1px solid #c4d6e0}
.role-number{font-size:11px;letter-spacing:.12em;color:#6f8a9c}
.role-grid h3{font:600 23px var(--sans);margin:27px 0 17px}
.role-grid p{color:#546d7c;font-size:16px;line-height:1.85;margin:0}
.system-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #c9dbe6}
.system-grid article{padding:30px 26px;border-right:1px solid #c9dbe6}
.system-grid article:last-child{border:0}
.system-grid article>span{font:500 49px var(--serif);color:#4e7692}
.system-grid h3{font:600 18px/1.5 var(--sans);margin:20px 0 14px}
.system-grid p{font-size:15px;color:#5a7382;line-height:1.8;margin:0}
.platform-flow{background:#122f47;color:#fff;padding:35px;margin-top:50px}
.flow-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #4c6578;padding-bottom:23px}
.flow-heading .eyebrow{color:#b1ccd9;margin:0}
.flow-heading h3{font-size:20px;font-weight:500;margin:0}
.flow-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:32px 0}
.flow-stages>div{position:relative}
.flow-stages>div:not(:last-child)::after{content:"→";position:absolute;right:0;top:39px;font-size:23px;color:#7f9eb5}
.flow-stages span{font:20px var(--serif);color:#86a5ba}
.flow-stages h4{font-size:17px;font-weight:500;margin:13px 0 10px}
.flow-stages p{font-size:12px;line-height:1.7;color:#bbcfdd;margin:0}
.diagram-caption{font-size:12px;color:#b2c9d7;padding-top:20px;border-top:1px solid #4c6578;margin:0}
.approach-section{background:#edf3f6}
.delivery-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 42px;list-style:none;padding:0;margin:0}
.delivery-steps li{display:flex;gap:20px;border-top:1px solid #bfd1dc;padding-top:24px}
.delivery-steps li>span{font:29px var(--serif);color:#7d9bad}
.delivery-steps h3{font-size:20px;font-weight:500;margin:6px 0 14px}
.delivery-steps p{font-size:15px;line-height:1.8;color:#58707e;margin:0}
.as-of{font-size:12px;color:#647e8e;white-space:nowrap}
.milestone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.milestone-grid article{border-top:2px solid #7899ae;padding-top:25px;display:flex;flex-direction:column}
.milestone-date{font:26px var(--serif);color:#5f7e91}
.milestone-grid h3{font-size:20px;font-weight:500;line-height:1.5;margin:25px 0 15px}
.milestone-grid p{font-size:15px;line-height:1.8;color:#5d7583;margin-bottom:28px}
.milestone-grid .text-link{align-self:start;margin-top:auto;font-size:12px}
.outcome-attribution{font-size:12px;color:#788c97;margin:36px 0 0}
.media-section{background:#fff}
.evidence-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.evidence-gallery figure{margin:0;background:#f2f6f8}
.evidence-gallery img{width:100%;height:245px;object-fit:cover}
.evidence-gallery figure:last-child img{object-fit:contain;background:#e4ecef}
.evidence-gallery figcaption{padding:21px 24px;display:grid;grid-template-columns:1fr auto;gap:7px}
.evidence-gallery figcaption strong{font-size:16px;font-weight:500}
.evidence-gallery figcaption span{font-size:12px;color:#66808f;grid-column:1}
.evidence-gallery figcaption a{font-size:12px;grid-column:2;grid-row:1/3;align-self:center}
.case-video{display:grid;grid-template-columns:1fr 1.7fr;align-items:center;gap:55px;background:#0e2a42;color:#fff;margin:35px 0 65px;padding:32px}
.case-video .eyebrow{color:#acc9da}
.case-video h3{font-size:28px;line-height:1.4;font-weight:500;margin:20px 0}
.case-video p:not(.eyebrow){color:#b5cad8;font-size:14px;line-height:1.9}
.case-video video{display:block;width:100%;aspect-ratio:16/9;background:#071b2c}
.case-video .text-link{font-size:13px;margin-top:12px}
.source-list{border-top:1px solid var(--line)}
.source-list>a{display:grid;grid-template-columns:55px 1fr 30px;gap:20px;border-bottom:1px solid var(--line);padding:24px 0;align-items:center}
.source-list>a:hover{background:#f7fafb}
.source-index{font:23px var(--serif);color:#7d9aad}
.source-type{font-size:11px;color:#6c8492}
.source-list h3{font-size:18px;font-weight:500;margin:7px 0}
.source-list p{font-size:13px;color:#697f8c;line-height:1.7;margin:0}
.project-takeaway{padding-top:95px;padding-bottom:95px}
.project-takeaway h2{font:400 39px/1.4 var(--sans);letter-spacing:-.03em;margin:25px 0}
.project-takeaway>div{display:flex;gap:25px;color:#5b788b;font-size:14px}
.timeline-item{grid-template-columns:140px 1.3fr 2fr}
.timeline-item>span{font-size:17px}
.about-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(210px,.65fr);column-gap:70px;align-items:center;padding-top:92px;padding-bottom:70px;border-bottom:1px solid var(--line)}
.about-hero h1{font:500 clamp(52px,5.3vw,76px)/1.13 var(--serif);letter-spacing:-.055em;max-width:740px;margin:24px 0}
.about-hero .page-intro{max-width:640px;margin:0}
.about-avatar{margin:0;justify-self:center;text-align:center}
.about-avatar img{display:block;width:220px;height:220px;border-radius:50%;object-fit:cover;object-position:center 19%;border:7px solid #fff;box-shadow:0 18px 45px rgba(19,55,80,.13)}
.about-avatar figcaption{font-size:12px;letter-spacing:.07em;color:#59788a;margin-top:19px}
.about-voice{grid-column:1/-1;font:400 clamp(25px,2.5vw,35px)/1.55 var(--serif);letter-spacing:-.025em;margin:55px 0 0;padding-left:24px;border-left:2px solid #6c9ab2;color:#1c4058}
.cv-heading{padding-top:70px;position:relative}
.cv-heading h1{font-size:46px;line-height:1.4;font-weight:500;margin:25px 0 10px}
.cv-heading h1 span{font:400 30px var(--serif);display:inline-block;margin-left:16px;color:#507086}
.cv-heading>p:not(.eyebrow){font-size:17px;color:#45667c}
.cv-contact{display:flex;gap:24px;font-size:14px;color:#597889}
.cv-download{position:absolute;right:0;bottom:0}
.cv-block>h3{font:500 20px/1.5 var(--sans);margin:28px 0 10px}
.cv-block>p:not(.eyebrow){font-size:16px;color:#526d79;line-height:1.8}
.cv-entry{flex-wrap:wrap}
.cv-entry p{white-space:normal}
@media(max-width:1100px){.immersive-hero,.immersive-grid{min-height:760px}.intro-copy{width:59%}.intro-copy h1{font-size:70px}.portrait-composition{width:46%;right:-2%;height:620px}.personal-note{display:none}.hero-atmosphere{background:linear-gradient(90deg,rgba(248,250,252,.96),rgba(248,250,252,.9) 38%,rgba(237,244,248,.65) 65%,rgba(12,35,54,.25))}.case-overview{gap:50px}.case-video{gap:30px}.milestone-grid{grid-template-columns:repeat(2,1fr);gap:40px}.system-grid article{padding:25px 18px}.impact-grid{gap:15px}.impact-stat{padding-left:16px}.impact-stat strong{font-size:39px}.longgang-title h1{font-size:56px}.timeline-item{grid-template-columns:110px 1.2fr 1.8fr}}
@media(max-width:740px){.page-home .site-header{background:rgba(248,251,253,.9)}.immersive-hero,.immersive-grid{min-height:1060px}.immersive-grid{align-items:start;padding-top:108px;padding-bottom:440px}.intro-copy{width:100%;padding-top:0}.intro-copy .eyebrow{max-width:300px;line-height:1.7}.intro-copy h1{font-size:clamp(49px,8.8vw,65px);margin-top:21px}.intro-copy h2{font-size:17px}.intro-position{font-size:12px;max-width:290px;line-height:1.7}.intro-bio{font-size:14px;max-width:390px}.hero-actions{gap:12px}.hero-actions .button{font-size:12px;padding:12px 17px}.hero-credentials{font-size:10px;margin-top:25px;gap:8px}.hero-credentials span+span{padding-left:8px}.portrait-composition{width:85%;height:450px;right:-7%;bottom:5px}.hero-atmosphere{background:linear-gradient(180deg,rgba(249,251,252,.96) 0%,rgba(249,251,252,.92) 52%,rgba(232,243,249,.32) 82%,rgba(10,37,56,.35))}.hero-landscape{object-position:53% bottom}.hero-credit{font-size:9px;bottom:7px;right:8px;max-width:85%}.section-heading h2{font-size:36px}.heading-description{font-size:14px;margin-top:20px}.section-heading{display:block}.home-selected{padding-top:65px}.impact-grid{grid-template-columns:repeat(3,1fr);gap:27px 15px}.impact-grid>p{font-size:10px!important}.impact-stat strong{font-size:37px}.impact-stat span{font-size:10px}.impact-stat{padding-left:12px}.personal-quote{padding-block:70px}.personal-quote blockquote{font-size:29px}.personal-quote>div{gap:24px;flex-wrap:wrap}.longgang-hero{min-height:545px}.longgang-title{padding-top:24px;padding-bottom:54px}.case-back{margin-bottom:80px}.longgang-title h1{font-size:42px;line-height:1.3}.longgang-title h1 em{font-size:25px}.longgang-title>p:not(.eyebrow){font-size:16px;max-width:340px}.longgang-meta{font-size:11px;gap:10px;margin-top:32px}.longgang-meta span+span{padding-left:10px}.case-tabs>div{gap:27px;min-height:54px}.case-tabs a{font-size:12px;padding:16px 0}.case-overview{display:block}.case-overview h2,.role-section h2,.system-section h2,.approach-section h2,.outcomes-section h2,.media-section h2{font-size:30px;line-height:1.4}.case-overview>div>p:not(.eyebrow){font-size:16px}.project-facts{margin-top:35px}.role-grid{grid-template-columns:1fr}.role-grid article{padding:28px}.role-grid h3{font-size:21px}.role-grid p{font-size:15px}.system-grid{grid-template-columns:repeat(2,1fr)}.system-grid article:nth-child(2){border-right:0}.system-grid article:nth-child(-n+2){border-bottom:1px solid #c9dbe6}.system-grid article{padding:25px 19px}.system-grid h3{font-size:16px}.system-grid p{font-size:14px}.platform-flow{padding:25px;margin-top:35px}.flow-heading{display:block}.flow-heading h3{margin-top:15px;font-size:19px}.flow-stages{grid-template-columns:1fr;gap:22px}.flow-stages>div{padding-bottom:20px;border-bottom:1px solid #3b566b}.flow-stages>div:not(:last-child)::after{content:"↓";top:auto;bottom:-15px;background:#122f47;right:10px}.flow-stages>div:last-child{border:0;padding-bottom:0}.delivery-steps{grid-template-columns:1fr;gap:24px}.milestone-grid{grid-template-columns:1fr;gap:37px}.milestone-grid h3{margin-top:18px}.milestone-grid p{margin-bottom:16px}.as-of{display:block;margin-top:18px}.evidence-gallery{grid-template-columns:1fr;gap:24px}.evidence-gallery img{height:235px}.evidence-gallery figcaption{padding:18px;font-size:12px}.evidence-gallery figcaption strong{font-size:15px}.evidence-gallery figcaption span{font-size:11px}.case-video{grid-template-columns:1fr;padding:23px;gap:26px;margin-bottom:45px}.case-video h3{font-size:25px}.source-list>a{grid-template-columns:25px 1fr 15px;gap:12px}.source-list h3{font-size:16px}.source-type{font-size:10px}.source-list p{font-size:12px}.project-takeaway{padding-block:70px}.project-takeaway h2{font-size:29px}.project-takeaway>div{gap:12px;flex-wrap:wrap;font-size:12px}.timeline-item{grid-template-columns:85px 1fr;gap:20px}.timeline-item>span{font-size:15px}.timeline-item>p:last-child{grid-column:2}.cv-heading{padding-top:55px}.cv-heading h1{font-size:36px}.cv-heading h1 span{display:block;margin:8px 0 0;font-size:26px}.cv-download{position:static;margin-top:25px}.cv-contact{font-size:13px;gap:20px}}
@media print{@page{size:A4;margin:13mm}body{background:#fff;font-size:10pt;color:#142c3d}.site-header,.site-footer,.cv-download{display:none!important}.container{width:100%}.cv-heading{padding:0;border-bottom:1px solid #bfcbd3;padding-bottom:15px}.cv-heading .eyebrow{font-size:8pt!important;margin-bottom:8px}.cv-heading h1{font-size:25pt;margin:7px 0}.cv-heading h1 span{font-size:17pt;margin-left:10px;display:inline}.cv-heading>p:not(.eyebrow){font-size:11pt;margin-bottom:7px}.cv-contact{font-size:9pt}.cv-layout{display:grid;grid-template-columns:2.5fr 1fr;gap:25px;padding-top:22px;padding-bottom:0}.cv-block{padding-bottom:16px;margin-bottom:16px}.cv-block .eyebrow{font-size:8pt!important;margin-bottom:10px}.cv-block>p:not(.eyebrow){font-size:9pt;line-height:1.65;margin-bottom:8px}.cv-entry{margin-top:15px;gap:6px}.cv-entry h3{font:500 11pt/1.4 var(--sans)}.cv-entry p,.cv-entry>span{font-size:8pt}.cv-block>h3{font-size:10pt;margin:14px 0 6px}.cv-bullets{font-size:9pt;line-height:1.65;margin:13px 0 0}.cv-side{padding:18px 14px;margin-top:0}.cv-side>div{margin-bottom:18px;padding-bottom:18px}.cv-side .eyebrow{font-size:7pt!important}.cv-side ul,.cv-side p:not(.eyebrow){font-size:8pt;line-height:1.7}.cv-side .tags{gap:4px}.cv-side .tags span{font-size:7pt;padding:4px}.cv-entry,.cv-side>div{break-inside:avoid}a{text-decoration:none}}

/* Keep the personal note legible as the cover narrows. */
@media(max-width:1100px){
  .personal-note{display:block;right:0;top:260px;width:245px}
  .personal-note .fieldnote-thought{font-size:24px}
  .personal-note .signature{font-size:31px}
  .hero-atmosphere{background:linear-gradient(90deg,rgba(248,250,252,.76),rgba(248,250,252,.6) 38%,rgba(237,244,248,.2) 68%,rgba(12,35,54,.23))}
  .about-hero{gap:35px}
}
@media(max-width:740px){
  .immersive-hero,.immersive-grid{min-height:860px}
  .immersive-grid{padding-bottom:215px}
  .personal-note{display:block;left:0;right:0;top:auto;bottom:20px;width:auto;background:rgba(9,31,49,.88);border-left:2px solid #9fbdd0;padding:18px 22px}
  .personal-note .fieldnote-thought{font-size:23px;line-height:1.3;margin:10px 0}
  .personal-note .fieldnote-thought br:nth-of-type(2){display:none}
  .personal-note .small-rule,.personal-note>div{display:none}
  .personal-note .signature{font-size:27px;transform:none;margin:7px 0 0}
  .hero-atmosphere{background:linear-gradient(180deg,rgba(249,251,252,.82) 0%,rgba(249,251,252,.82) 48%,rgba(232,243,249,.14) 75%,rgba(10,37,56,.2) 100%)}
  .about-hero{display:flex;flex-direction:column;align-items:flex-start;padding-top:62px;padding-bottom:62px;gap:0}
  .about-hero h1{font-size:clamp(45px,10vw,58px);margin:19px 0}
  .about-avatar{display:flex;align-items:center;gap:22px;margin-top:42px;text-align:left}
  .about-avatar img{width:132px;height:132px;border-width:5px}
  .about-avatar figcaption{max-width:125px;line-height:1.7;margin:0}
  .about-voice{font-size:25px;margin-top:35px;padding-left:16px}
  .about-voice br{display:none}
}
