/* Shared extensions to the approved Baiyin homepage design. */
.header-tools{display:flex;align-items:center;gap:17px;flex-shrink:0}.language-switch{font-size:12px;letter-spacing:.04em;padding:10px 3px;border-bottom:1px solid #ffffff45}.header nav{gap:20px;margin-inline:24px}.header nav a{white-space:nowrap}.footer-pages{display:flex;gap:16px 28px;flex-wrap:wrap;margin-top:26px;font-size:12px;color:#aeb7ad}.footer-pages a:hover{color:var(--gold)}.header nav a[aria-current=page]{color:var(--gold)}
.page-intro{padding-top:52px;padding-bottom:64px}.breadcrumb{display:flex;gap:14px;color:var(--muted);font-size:12px;margin-bottom:36px}.breadcrumb a:hover{color:#8a7259}.page-intro h1{font:500 clamp(38px,4.6vw,65px)/1.3 var(--serif);letter-spacing:.035em;margin-bottom:25px}.page-intro>p{max-width:760px;font-size:18px;color:#656f65;line-height:1.8}.lead-photo{margin-bottom:30px}.lead-photo img{width:100%;height:clamp(280px,36vw,530px);object-fit:cover}.content-section{padding-block:62px;border-bottom:1px solid var(--line)}.content-section>h2{font-size:clamp(26px,2.6vw,36px);margin-bottom:26px}.content-section>p{max-width:850px;color:#626c64;font-size:16px;line-height:2}.content-section>p+p{margin-top:20px}.reading-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px 70px}.reading-grid>h2{grid-row:1/5}.reading-grid>p,.reading-grid>.inline-link,.reading-grid>.button{grid-column:2}.reading-grid>.inline-link,.reading-grid>.button{justify-self:start}.closing-cta{padding-block:72px;display:flex;align-items:center;justify-content:space-between;gap:30px}.closing-cta h2{font-size:clamp(26px,3vw,38px)}
.service-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:75px;padding-block:60px;border-bottom:1px solid var(--line);align-items:center}.service-feature:nth-of-type(odd)>div:first-child{order:2}.service-feature img{width:100%;aspect-ratio:1.4;object-fit:cover}.service-feature h2{font-size:clamp(28px,3vw,40px);margin-bottom:22px}.service-feature p:not(.eyebrow){font-size:16px;color:#626c64;line-height:2}.service-feature .eyebrow{color:#8a7259;font-size:12px}.process-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:35px}.process-line>div{border-top:1px solid #a6b1a2;padding-top:20px}.process-line span{font:400 18px Georgia,serif;color:#8a7259}.process-line h3{font-size:21px;margin:14px 0}.process-line p{font-size:14px;line-height:1.95;color:#626c64}
.portfolio-section{padding-bottom:60px}.filter-bar{display:flex;align-items:flex-end;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin-bottom:40px}.filter-bar label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#626c64}.filter-bar select,.filter-bar input{background:transparent;border:0;border-bottom:1px solid #aab5a6;padding:10px 5px;font:400 15px/1.5 var(--sans);color:var(--ink);min-width:200px;border-radius:0}.filter-bar p{margin-left:auto;color:var(--muted);font-size:12px;padding-bottom:11px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 35px}.portfolio-card{min-width:0}.portfolio-card[hidden]{display:none}.portfolio-card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:filter .25s}.portfolio-card a:hover img{filter:brightness(.9)}.portfolio-copy{padding:20px 0 0}.portfolio-copy>span{font-size:12px;color:#8a7259}.portfolio-copy h2{font:500 24px/1.5 var(--serif);margin-block:10px}.portfolio-copy p{font-size:14px;line-height:1.9;color:#626c64;max-width:520px}.portfolio-copy b{display:inline-block;font-size:12px;font-weight:400;color:#8a7259;margin-top:18px;border-bottom:1px solid #8a7259}.empty-results{padding:60px 0;color:var(--muted)}
.timeline article{display:grid;grid-template-columns:170px 1fr;gap:40px;padding:35px 0;border-bottom:1px solid var(--line)}.timeline article:last-child{border:0}.timeline article>span{font:400 32px/1.5 Georgia,serif;color:#89957f}.timeline h3{font:500 23px/1.6 var(--serif);margin-bottom:9px}.timeline p{font-size:15px;color:#626c64}.values-band{background:var(--ink);color:#eef0e9;padding-block:25px}.values-list article{display:grid;grid-template-columns:180px 1fr;padding:54px 0;border-bottom:1px solid #ffffff20;gap:50px}.values-list article:last-child{border:0}.values-list article>span{font:400 70px/1 Georgia,serif;color:#82907f}.values-list h2{font-size:42px;letter-spacing:.1em;margin-bottom:16px}.values-list h3{font-size:17px;color:var(--gold);margin-bottom:20px}.values-list p{font-size:16px;line-height:2;color:#bdc5bc;max-width:710px}.values-list small{display:block;font-size:12px;letter-spacing:.1em;color:#9ca898;margin-top:25px}.value-cycle{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0;margin:40px 0 0;counter-reset:step}.value-cycle li{font-size:14px;border-top:1px solid #a5b1a1;padding-top:16px;counter-increment:step}.value-cycle li:before{content:'0' counter(step);display:block;font:400 18px Georgia,serif;color:#8a7259;margin-bottom:12px}.research-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.research-questions article{border-top:1px solid #a6b1a2;padding-top:22px}.research-questions article>span{font:400 18px Georgia,serif;color:#8a7259}.research-questions h3{font-size:22px;font-weight:500;margin-block:16px}.research-questions p{font-size:15px;color:#626c64;line-height:1.95}
.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-bottom:85px}.contact-page-grid h2{font-size:28px;margin-bottom:20px}.contact-page-grid>div>p{font-size:15px;color:#626c64}.enquiry-panel{padding:35px;background:#e9ede8}.enquiry-panel h2{font-size:28px}.enquiry-panel label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:12px;color:#626c64}.enquiry-panel input,.enquiry-panel select,.enquiry-panel textarea{width:100%;border:1px solid #bdc7b8;background:var(--paper);color:var(--ink);padding:11px 12px;font:400 15px/1.6 var(--sans);border-radius:0;resize:vertical}.enquiry-panel :is(input,select,textarea):focus-visible{outline:2px solid #8a7259;outline-offset:2px}.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions button{border:0;cursor:pointer}.copy-enquiry{border:1px solid #b9c4b3!important;background:transparent}.form-note{font-size:12px;line-height:1.8;color:#737974;margin-top:20px}.form-status,.copy-status{font-size:13px;color:#8a7259;margin-top:18px;overflow-wrap:anywhere}.content-section>.copy-miniprogram{border:0;cursor:pointer;margin-top:24px}.page-further{display:flex;flex-wrap:wrap;gap:30px;padding-block:30px;border-top:1px solid var(--line)}
html[lang=en] .hero h1{font-size:clamp(37px,4.3vw,58px);letter-spacing:0;line-height:1.3;min-height:180px}html[lang=en] h2{letter-spacing:0}html[lang=en] .hero-kicker{letter-spacing:.02em}html[lang=en] .hero-copy{line-height:1.8}html[lang=en] .hero-stages{gap:20px}html[lang=en] .hero-stages button{font-size:11px}html[lang=en] .service-list h3{font-size:23px}html[lang=en] .service-meta{letter-spacing:0}html[lang=en] .office-addresses p{font-size:12px}
@media(max-width:1100px){.header-tools{gap:13px}.menu{display:block}.header nav{display:none;position:absolute;top:86px;left:0;right:0;margin:0;background:#1c2325;padding:25px 5%;flex-wrap:wrap;gap:20px 30px;border-bottom:1px solid #ffffff22}.header nav.is-open{display:flex}.service-feature{gap:40px}.reading-grid{gap:20px 40px}.contact-page-grid{gap:35px}.enquiry-panel{padding:26px}}
@media(max-width:800px){.page-intro{padding-block:38px 44px}.page-intro h1{font-size:42px}.page-intro>p{font-size:16px}.content-section{padding-block:44px}.reading-grid{display:block}.reading-grid>.inline-link,.reading-grid>.button{margin-top:25px}.portfolio-grid{gap:35px 22px}.filter-bar{flex-wrap:wrap;gap:20px}.filter-bar label{flex:1;min-width:0}.filter-bar select,.filter-bar input{width:100%;min-width:0}.filter-bar p{width:100%;margin:0;padding:0}.process-line,.research-questions{gap:23px}.contact-page-grid{grid-template-columns:1fr}.enquiry-panel{padding:30px}.value-cycle{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.values-list article{grid-template-columns:100px 1fr;gap:30px}.values-list article>span{font-size:50px}.timeline article{grid-template-columns:120px 1fr;gap:25px}.timeline article>span{font-size:27px}}
@media(max-width:700px){.header-tools{gap:12px}.header-tools .header-contact{display:none}.header-tools .menu{margin:0}.language-switch{font-size:11px;padding:8px 0}.header nav{top:73px;flex-direction:column;padding:22px 24px;gap:16px}.header .brand{grid-template-columns:58px auto;gap:9px}.header .brand .brand-mark{width:58px;height:32px}.header .brand .brand-mark img{width:96px;height:32px}.header .brand>.brand-name{font-size:20px;line-height:27px}.header .brand .brand-name small{font-size:9px;letter-spacing:.1em}.header .brand>.brand-symbol,.header .brand>.brand-name{height:44px}.header .brand .brand-symbol em{font-size:6.5px;line-height:8px}.footer-pages{gap:13px 22px;font-size:11px}.page-intro{padding-block:30px 38px}.breadcrumb{margin-bottom:25px;font-size:11px}.page-intro h1{font-size:34px;margin-bottom:18px}.page-intro>p{font-size:15px}.lead-photo img{height:270px}.service-feature{grid-template-columns:1fr;gap:28px;padding-block:40px}.service-feature:nth-of-type(odd)>div:first-child{order:0}.service-feature h2{font-size:28px}.service-feature p:not(.eyebrow){font-size:15px}.process-line,.research-questions{grid-template-columns:1fr;gap:30px}.content-section>p{font-size:15px}.closing-cta{display:block;padding-block:48px}.closing-cta h2{font-size:27px;margin-bottom:26px}.closing-cta .button{display:inline-block}.portfolio-grid{grid-template-columns:1fr;gap:36px}.portfolio-copy h2{font-size:23px}.filter-bar label{flex-basis:100%}.timeline article{grid-template-columns:1fr;gap:14px;padding:27px 0}.timeline h3{font-size:21px}.values-list article{grid-template-columns:45px 1fr;gap:20px;padding-block:35px}.values-list article>span{font-size:30px}.values-list h2{font-size:32px}.values-list h3{font-size:15px}.values-list p{font-size:14px}.values-list small{font-size:11px;letter-spacing:.02em}.value-cycle{font-size:12px}.contact-page-grid{gap:40px;padding-bottom:50px}.contact-page-grid h2{font-size:26px}.enquiry-panel{padding:24px 20px}.enquiry-panel h2{font-size:24px}.form-actions{gap:14px}.form-actions .button{font-size:12px;padding:11px 14px}html[lang=en] .hero h1{font-size:clamp(26px,7vw,38px);min-height:130px}html[lang=en] .hero-copy{font-size:13px;min-height:145px}html[lang=en] .hero-stages{gap:6px}html[lang=en] .hero-stages button{font-size:9px;line-height:1.5;max-width:56px}html[lang=en] .hero-content{padding-bottom:180px}html[lang=en] .hero{min-height:830px}html[lang=en] .hero-kicker{font-size:12px}html[lang=en] .service-list h3{font-size:21px}html[lang=en] .facts strong{font-size:27px}html[lang=en] .facts strong span{display:block;margin:5px 0 0;font-size:9px}html[lang=en] .circle strong{font-size:26px}html[lang=en] .triad button{grid-template-columns:75px 1fr}html[lang=en] .circle>span{font-size:12px}html[lang=en] .circle b{font-size:13px}}

.contact-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page-grid>div{min-width:0}.enquiry-panel form{min-width:0}@media(max-width:800px){.contact-page-grid{grid-template-columns:1fr}}

/* Case-page art direction: sound-field lines, framed photographs and quiet gold. */
.page-cases .page-intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 330px;column-gap:48px;padding-bottom:54px}
.page-cases .page-intro .breadcrumb{grid-column:1/-1;margin-bottom:38px}
.page-cases .page-intro h1,.page-cases .page-intro>p{grid-column:1;position:relative;z-index:1}
.page-cases .page-intro h1{margin-bottom:20px}
.page-cases .case-field{position:relative;grid-column:2;grid-row:2/4;align-self:center;height:184px;pointer-events:none}
.page-cases .case-field:before{content:"";position:absolute;inset:-16px -4px;background:radial-gradient(ellipse at center,#c7b29425,transparent 68%);border-radius:50%}
.page-cases .case-field span{position:absolute;inset:0;border:1px solid #86978c55;border-radius:50%;transform:rotate(-22deg)}
.page-cases .case-field span:nth-child(1){background:repeating-radial-gradient(ellipse at center,transparent 0 16px,#85958828 17px 18px,transparent 19px 29px);border-color:#8e786644;box-shadow:0 0 0 14px #b6a08608}
.page-cases .case-field span:nth-child(2){inset:25px 32px;transform:rotate(26deg);border-color:#9e816c80}
.page-cases .case-field span:nth-child(3){inset:59px 110px;transform:rotate(-22deg);border-color:#5d766e66;background:#f2f5f0a8;box-shadow:0 0 0 8px #f3f5f070}
.page-cases .filter-bar{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(230px,1.2fr) auto;gap:24px;margin-bottom:42px;padding:24px 28px;background:#ffffff78;border-color:#c9d1c8;box-shadow:0 8px 28px -24px #3a514044}
.page-cases .filter-bar label{gap:10px;color:#54665e;letter-spacing:.03em}
.page-cases .filter-bar select,.page-cases .filter-bar input{width:100%;min-width:0;min-height:46px;padding:11px 14px;border:1px solid #c5cfc4;background:#f8faf6;color:#263b31;font-size:14px}
.page-cases .filter-bar input::placeholder{color:#7d8980}
.page-cases .filter-bar :is(select,input):focus-visible{outline:2px solid #8a7259;outline-offset:3px;background:#fff}
.page-cases #case-count{margin:0 0 0 16px;padding:13px 0;min-width:76px;white-space:nowrap;text-align:right;color:#6a786c;font-size:13px;font-variant-numeric:tabular-nums}
.page-cases .portfolio-grid{gap:48px 36px}
.page-cases .portfolio-card>a{display:block}
.page-cases .portfolio-media{position:relative;overflow:hidden;aspect-ratio:1.6;background:#e9ede8}
.page-cases .portfolio-media img{display:block;height:100%;aspect-ratio:auto;transition:none}
.page-cases .portfolio-media:before,.page-cases .portfolio-media:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.page-cases .portfolio-media:before{opacity:0;background:linear-gradient(110deg,transparent 15%,#ffffff00 32%,#fff2 47%,#ffffff05 57%,transparent 75%);transform:translateX(-115%)}
.page-cases .portfolio-media:after{box-shadow:inset 0 0 0 1px #263c2422}
.page-cases .portfolio-card a:hover img{filter:none}
.page-cases .portfolio-copy{position:relative;padding:23px 0 18px;border-bottom:1px solid #cdd4ca}
.page-cases .portfolio-copy:after{content:"";position:absolute;height:1px;left:0;right:0;bottom:-1px;background:#9b8064;transform:scaleX(0);transform-origin:left}
.page-cases .portfolio-copy>span{font-size:11px;letter-spacing:.08em;color:#827053}
.page-cases .portfolio-copy h2{font-size:25px;line-height:1.45;margin-block:12px}
.page-cases .portfolio-copy p{line-height:1.9;margin:0;max-width:95%}
.page-cases .portfolio-copy b{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;border:0;color:#576b5a;letter-spacing:.03em}
.page-cases .case-arrow{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #bfcbbd;border-radius:50%;color:#536954;font:400 19px/1 var(--sans);background:#f5f7f2}
.page-cases .portfolio-card a:focus-visible{outline:2px solid #8a7259;outline-offset:7px}
.page-cases .portfolio-card a:focus-visible .case-arrow{background:#244d3e;color:#f7f9f3;border-color:#244d3e}
.page-cases .portfolio-card a:focus-visible .portfolio-copy:after{transform:scaleX(1)}
.page-cases .cases-source{margin-top:38px;font-size:12px;color:#7d887d;letter-spacing:.03em}
@media(prefers-reduced-motion:no-preference){
  .page-cases .case-field{animation:case-field-arrive 1.3s cubic-bezier(.2,.7,.2,1) both}
  .page-cases .portfolio-card>a{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .page-cases .portfolio-media{transition:box-shadow .45s ease}
  .page-cases .portfolio-media img{transition:transform .85s cubic-bezier(.2,.7,.2,1)}
  .page-cases .portfolio-copy:after{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
  .page-cases .case-arrow{transition:background .25s,color .25s,border-color .25s,transform .45s cubic-bezier(.2,.7,.2,1)}
  .page-cases .filter-bar :is(select,input){transition:border-color .25s,background .25s}
  @keyframes case-field-arrive{from{opacity:0;transform:translateX(16px) scale(.97)}to{opacity:var(--case-field-opacity,1);transform:none}}
  @keyframes case-light-pass{0%{opacity:0;transform:translateX(-115%)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(115%)}}
}
@media(hover:hover) and (pointer:fine){
  .page-cases .portfolio-card a:hover .case-arrow{background:#244d3e;color:#f7f9f3;border-color:#244d3e}
  .page-cases .portfolio-card a:hover .portfolio-copy:after{transform:scaleX(1)}
  .page-cases .filter-bar :is(select,input):hover{border-color:#8b9b88}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .page-cases .portfolio-card>a:hover{transform:translateY(-4px)}
  .page-cases .portfolio-card a:hover .portfolio-media{box-shadow:0 16px 26px -20px #20342bcc}
  .page-cases .portfolio-card a:hover .portfolio-media img{transform:scale(1.04)}
  .page-cases .portfolio-card a:hover .portfolio-media:before{animation:case-light-pass .95s ease-out both}
  .page-cases .portfolio-card a:hover .case-arrow{transform:rotate(45deg)}
}
@media(max-width:1000px){
  .page-cases .page-intro{grid-template-columns:minmax(0,1fr) 230px;gap:0 28px}
  .page-cases .case-field{height:150px}
  .page-cases .case-field span:nth-child(3){inset:49px 76px}
  .page-cases .filter-bar{padding:22px 20px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto}
  .page-cases .portfolio-grid{gap:40px 24px}
}
@media(max-width:700px){
  .page-cases .page-intro{display:block;overflow:hidden;padding-bottom:32px}
  .page-cases .page-intro .breadcrumb{margin-bottom:27px;position:relative;z-index:1}
  .page-cases .page-intro h1{margin-bottom:16px}
  .page-cases .case-field{position:absolute;width:230px;height:125px;right:-96px;top:36px;z-index:-1;--case-field-opacity:.35;opacity:.35}
  .page-cases .case-field span:nth-child(3){inset:39px 75px}
  .page-cases .filter-bar{grid-template-columns:1fr;padding:20px;gap:19px;margin-bottom:30px}
  .page-cases .filter-bar label{width:100%}
  .page-cases #case-count{text-align:left;min-width:0;margin:0;padding:0;font-size:12px}
  .page-cases .portfolio-grid{gap:34px}
  .page-cases .portfolio-copy{padding-top:20px}
  .page-cases .portfolio-copy h2{font-size:23px}
  .page-cases .portfolio-copy p{max-width:none}
  .page-cases .portfolio-copy b{margin-top:18px}
  .page-cases .case-arrow{width:34px;height:34px}
}
