/* Source-backed company information, paced around photographs and concise detail. */
.profile-section { padding-block:72px; }
.profile-hero { padding-block:52px 64px; background:var(--brand-soft); }
.profile-hero h1,.profile-section h2 { color:var(--plum); }
.profile-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.profile-hero figure,.profile-awards figure { margin:0; }
.profile-hero h1 { font-size:clamp(36px,3.5vw,54px); line-height:1.18; font-weight:500; letter-spacing:-.035em; margin:20px 0 24px; text-wrap:pretty; }
.profile-lead { font-size:17px; line-height:1.85; max-width:36em; text-wrap:pretty; }
:lang(zh-cn) .profile-lead { text-wrap:balance; }
.profile-hero figure img { display:block; width:100%; aspect-ratio:1.1; object-fit:cover; }
.profile-hero figcaption { margin-top:12px; font-size:12px; color:var(--muted); }
.profile-mission { margin-top:30px; padding-inline-start:20px; border-inline-start:2px solid var(--plum); }
.profile-mission>span { font-size:12px; color:var(--muted); }
.profile-mission>p { margin:8px 0 0; font-size:19px; line-height:1.6; color:var(--ink); text-wrap:balance; }
.profile-section h2 { font-size:clamp(28px,2.65vw,40px); font-weight:500; letter-spacing:-.025em; line-height:1.25; margin:0; text-wrap:pretty; }
.profile-section h3 { font-size:21px; line-height:1.4; font-weight:500; margin:0 0 14px; }
.profile-section p { font-size:15px; line-height:1.85; margin:0; color:var(--muted); }
.profile-expertise { border-top:1px solid var(--line); }
.profile-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin-top:36px; }
.profile-columns article { border-top:1px solid var(--line); padding-top:22px; }
.profile-history { background:var(--brand-pale); }
.profile-history ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:0; margin:40px 0 0; list-style:none; }
.profile-history li { padding-top:22px; border-top:1px solid #d5cddc; }
.profile-history time { display:block; font-size:36px; color:var(--plum); line-height:1; margin-bottom:24px; font-variant-numeric:tabular-nums; }
.profile-history h3 { font-size:18px; }
.profile-history li>p { font-size:14px; }
.profile-markets { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; margin-top:60px; padding-top:42px; border-top:1px solid #d5cddc; }
.profile-markets h2 { font-size:27px; margin-bottom:16px; }
.profile-markets ul { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; padding:0; margin:0; list-style:none; }
.profile-markets li { font-size:17px; padding-block:10px; border-bottom:1px solid #d5cddc; }
.profile-recognition-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:center; }
.profile-recognition h2 { margin-top:18px; }
.profile-awards { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.profile-awards figure>div { background:#f8f7f9; padding:22px; }
.profile-awards img { width:100%; height:235px; object-fit:contain; display:block; }
.profile-awards figcaption { font-size:15px; line-height:1.6; margin-top:16px; }
.profile-principles { background:var(--brand-soft); }
.profile-section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:end; }
.profile-section-heading>p { max-width:32em; }
.profile-delivery { border-top:1px solid var(--line); }
@media(max-width:1100px) {
  .profile-hero-grid,.profile-recognition-grid { gap:36px; }
  .profile-columns { gap:26px; }
  .profile-history ol { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
  .profile-section { padding-block:48px; }
  .profile-hero { padding-block:36px 44px; }
  .profile-hero-grid,.profile-columns,.profile-recognition-grid,.profile-markets,.profile-section-heading { grid-template-columns:1fr; gap:30px; }
  .profile-hero h1 { font-size:36px; }
  .profile-lead { font-size:16px; }
  .profile-mission>p { font-size:18px; }
  .profile-hero figure img { aspect-ratio:1.4; }
  .profile-history ol { gap:28px 22px; margin-top:30px; }
  .profile-history time { font-size:30px; margin-bottom:16px; }
  .profile-history h3 { font-size:17px; }
  .profile-history li>p { font-size:14px; }
  .profile-markets { margin-top:40px; padding-top:32px; }
  .profile-markets li { font-size:15px; }
  .profile-awards { gap:18px; }
  .profile-awards figure>div { padding:12px; }
  .profile-awards img { height:190px; }
  .profile-awards figcaption { font-size:14px; }
}
@media(max-width:500px) {
  .profile-history ol { grid-template-columns:1fr; }
}
@media(max-width:380px) {
  .profile-hero h1 { font-size:31px; }
  .profile-awards img { height:155px; }
}
