/* One connected editorial field; four groups retain their own photographs and story. */
.partners-section { position:relative; isolation:isolate; padding:calc(var(--nav-height) + 38px) var(--journey-pad) calc(var(--screen-bar,0px) + 42px); color:#e8e3dd; background:radial-gradient(ellipse at 15% 20%,#ad793619,transparent 48%),radial-gradient(ellipse at 85% 75%,#5c786122,transparent 48%),#0b120e; }
.partners-section::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:repeating-radial-gradient(ellipse at 105% -15%,transparent 0 160px,#bca37812 161px 162px,transparent 163px 290px); }
.partners-wrap { width:min(100%,1780px); margin-inline:auto; }
.partners-heading { display:grid; grid-template-columns:1.25fr 1fr; align-items:end; gap:40px; margin-bottom:34px; }
.partners-heading h2 { max-width:18ch; margin:20px 0 0; font-size:clamp(2.4rem,3.8vw,4.6rem); font-weight:400; line-height:1.03; letter-spacing:-.04em; }
.partners-heading h2 em { color:#d0a66f; font-style:normal; }
.partners-intro { max-width:39ch; margin:0 0 4px; justify-self:end; color:#b8c0b5; font-size:1rem; line-height:1.6; }
.partners-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; column-gap:36px; row-gap:36px; }
.partners-grid::before { content:""; position:absolute; left:50%; top:18px; bottom:0; width:1px; background:linear-gradient(#d0a66f60,#d0a66f25 85%,transparent); }
.partner-block { position:relative; min-width:0; padding:22px 0 0; border-top:1px solid #d0a66f40; }
.partner-block::before { content:""; position:absolute; top:-4px; width:7px; height:7px; border-radius:50%; background:#d0a66f; box-shadow:0 0 13px #d0a66f50; }
.partner-block:nth-child(odd)::before { right:-22px; }
.partner-block:nth-child(even)::before { left:-21px; }
.partner-block-heading { display:flex; align-items:baseline; gap:14px; min-height:78px; margin-bottom:14px; }
.partner-number { font:400 .75rem/1.5 var(--mono); color:#d0a66f; }
.partner-focus { margin:0 0 7px; color:#b5aa95; font:400 .75rem/1.4 var(--mono); letter-spacing:.025em; }
.partner-block-heading h3 { margin:0; font-size:clamp(1.45rem,1.8vw,2rem); line-height:1.2; letter-spacing:-.025em; font-weight:400; }
.partner-photos { display:grid; grid-template-rows:minmax(0,1fr); gap:8px; height:clamp(280px,23vw,350px); margin-bottom:24px; }
.partner-photos--3 { grid-template-columns:.85fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); }
.partner-photos--2 { grid-template-columns:1.15fr .85fr; }
.partner-photo { position:relative; min-width:0; min-height:0; height:100%; margin:0; overflow:hidden; border:1px solid #d0a66f30; background:#101912; }
.partner-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.partner-photo figcaption { position:absolute; inset:auto 0 0; padding:16px 10px 8px; background:linear-gradient(transparent,#08110fee); font:400 .75rem/1.5 var(--mono); color:#eddfca; }
/* A portrait beside two landscapes; all three share one outer frame. */
.partner-block--ul .partner-photo:first-child { grid-row:1 / 3; }
.partner-block--ul .partner-photo:first-child img { object-position:20% 50%; }
.partner-block--namsa .partner-photo img { object-position:50% 68%; }
/* Keep the two exterior photographs staggered inside the common gallery height. */
.partner-photos--2 .partner-photo:first-child { height:82%; }
.partner-photos--2 .partner-photo:first-child img { object-position:50% 70%; }
.partner-photos--2 .partner-photo:nth-child(2) { height:92%; align-self:end; }
.partner-block--together .partner-photos { grid-template-columns:1fr 1fr; grid-template-rows:1.15fr 1fr; }
.partner-block--together .partner-photo:first-child { grid-column:1 / -1; }
.partner-block--together .partner-photo:first-child img { object-position:50% 64%; }
.partner-block--together .partner-photo:nth-child(2) img { object-position:50% 38%; }
.partner-block--together .partner-photo:nth-child(3) img { object-position:50% 40%; }
.partner-body { max-width:76ch; color:#bec4ba; font-size:.9375rem; line-height:1.7; }
.partner-body p { margin:0; }
.partner-body p + p { margin-top:14px; }
.partners-closing { margin:30px 0 0; padding-top:24px; border-top:1px solid #d0a66f40; font-size:clamp(1.05rem,1.6vw,1.5rem); line-height:1.5; max-width:76ch; color:#e1d1b8; }
@media (min-width:1700px) {
  .partners-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .partners-grid::before { left:0; right:0; top:0; bottom:auto; width:auto; height:1px; background:#d0a66f40; }
  .partner-block { border-top:0; }
  .partner-block::before { left:0 !important; right:auto !important; }
  .partner-photos { height:clamp(280px,17vw,320px); }
  .partner-body { font-size:.875rem; }
}
@media (max-width:700px) {
  .partners-section { padding-top:calc(var(--nav-height) + 28px); padding-bottom:calc(var(--screen-bar,0px) + 32px); }
  .partners-heading { grid-template-columns:1fr; gap:20px; margin-bottom:28px; }
  .partners-heading h2 { margin-top:18px; font-size:2.65rem; }
  :lang(zh-CN) .partners-heading h2 span, :lang(zh-CN) .partners-heading h2 em { display:block; }
  .partners-intro { justify-self:start; font-size:.9375rem; }
  .partners-grid { grid-template-columns:1fr; gap:28px; padding-left:18px; }
  .partners-grid::before { left:0; top:0; }
  .partner-block { margin-top:0; padding-top:20px; }
  .partner-block::before { left:-21px !important; right:auto !important; }
  .partner-block-heading { gap:12px; min-height:0; margin-bottom:20px; }
  .partner-block-heading h3 { font-size:1.6rem; }
  .partner-photos { gap:7px; height:clamp(250px,78vw,350px); }
  .partner-body { font-size:.9375rem; }
}
