:root {
  --paper: #fbfbfa;
  --ink: #191919;
  --muted: #777775;
  --line: #e7e7e5;
  --lilac: #ded5ec;
  --blue: #cfe5f3;
  --blush: #f3d5db;
  --sand: #dde4f2;
  --charcoal: #26272a;
  --display: "Helvetica Neue", "Avenir Next", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.45; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
h1,h2,h3,p { margin-top: 0; }

.site-header { height: 67px; border-bottom: 1px solid var(--line); background: rgba(251,251,250,.92); position: fixed; inset: 0 0 auto; z-index: 20; backdrop-filter: blur(14px); }
.header-inner { width: min(100% - 48px, 1120px); height: 100%; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-header nav { display: flex; gap: 33px; font-size: 12px; color: #656564; }
.site-header nav a { transition: color .2s ease; }.site-header nav a:hover { color: var(--ink); }
.header-contact { justify-self: end; padding: 7px 14px; border-radius: 7px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 600; transition: transform .2s ease, background .2s ease; }.header-contact:hover { transform: translateY(-1px); background: #45454a; }

.hero { min-height: 506px; margin-top: 67px; position: relative; display: grid; place-items: center; overflow: hidden; background: #fcfcfb; }
.hero-glow { position: absolute; inset: 0; filter: blur(45px); transform: scale(1.08); pointer-events: none; }.glow { position: absolute; display: block; border-radius: 50%; opacity: .78; }.glow-blue { width: 44%; height: 93%; left: -5%; bottom: -38%; background: var(--blue); }.glow-blush { width: 40%; height: 95%; left: 37%; top: 5%; background: var(--blush); }.glow-sand { width: 37%; height: 90%; right: -5%; bottom: -33%; background: var(--sand); }
.hero-content { width: min(100% - 40px, 840px); position: relative; z-index: 1; padding: 61px 0 47px; text-align: center; }.eyebrow { margin-bottom: 19px; color: #6d6d6a; font-size: 11px; font-weight: 600; letter-spacing: .01em; }.pill { width: max-content; max-width: 100%; margin-left: auto; margin-right: auto; padding: 7px 12px; border: 1px solid rgba(25,25,25,.09); border-radius: 100px; background: rgba(255,255,255,.72); box-shadow: 0 2px 7px rgba(25,25,25,.04); }
.hero h1 { margin-bottom: 19px; font-family: var(--display); font-size: clamp(44px, 5.25vw, 74px); font-weight: 700; letter-spacing: -.065em; line-height: .95; }.hero h1 em,.group-intro h2 em,.approach h2 em,.contact h2 em,.company-card h3 em { font-style: normal; color: #585861; }.hero-copy { max-width: 610px; margin: 0 auto 25px; color: #646461; font-size: 16px; line-height: 1.45; }.hero-actions { display: flex; justify-content: center; gap: 10px; }.button { min-height: 40px; padding: 10px 17px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid transparent; border-radius: 100px; font-size: 12px; font-weight: 600; transition: transform .2s ease, background .2s ease, border-color .2s ease; }.button:hover { transform: translateY(-2px); }.button-dark { background: var(--ink); color: #fff; }.button-dark:hover { background: #46464a; }.button-light { border-color: rgba(25,25,25,.1); background: rgba(255,255,255,.78); color: var(--ink); }.button-light:hover { border-color: rgba(25,25,25,.28); background: #fff; }

.proof-bar { width: min(100% - 48px, 1120px); margin: 0 auto; padding: 51px 0 26px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.proof-bar div { min-height: 79px; padding: 14px 16px; display: flex; flex-direction: column; justify-content: center; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 2px 4px rgba(20,20,20,.025); }.proof-bar span { font-size: 10px; font-weight: 700; letter-spacing: .06em; }.proof-bar small { color: #8a8a87; font-size: 8px; font-weight: 600; letter-spacing: .08em; }.global-perspective { width: min(100% - 48px, 1120px); margin: 0 auto 39px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #74778b; font-size: 10px; font-weight: 700; letter-spacing: .12em; }.global-perspective i { color: #9caacd; font-style: normal; }

.section { width: min(100% - 48px, 1120px); margin: 0 auto; padding: 97px 0; }.section-kicker { margin-bottom: 28px; color: #858582; font-size: 10px; font-weight: 700; letter-spacing: .12em; }.group-intro { border-top: 1px solid var(--line); }.intro-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 11%; }.group-intro h2,.approach h2,.contact h2 { margin-bottom: 0; font-family: var(--display); font-size: clamp(39px, 4.45vw, 62px); font-weight: 700; letter-spacing: -.07em; line-height: .94; }.intro-copy { padding-top: 5px; }.intro-copy p { max-width: 440px; color: #62625f; font-size: 15px; }.intro-copy .lead { color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; }.inline-link { margin-top: 12px; padding-bottom: 3px; display: inline-block; border-bottom: 1px solid var(--ink); font-size: 12px; font-weight: 700; }.inline-link span { margin-left: 9px; }
.feature-grid { margin-top: 79px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.feature-grid article { min-height: 230px; padding: 22px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.feature-number { color: #898986; font-size: 10px; font-weight: 700; }.feature-grid h3 { margin: 39px 0 11px; font-family: var(--display); font-size: 26px; font-weight: 700; letter-spacing: -.055em; line-height: .97; }.feature-grid p { max-width: 220px; margin-bottom: 0; color: #777773; font-size: 13px; }.mark-line { position: absolute; right: -9px; bottom: -18px; width: 107px; height: 107px; border: 16px solid #e7e5e1; border-radius: 50%; }.line-two { width: 130px; height: 23px; right: -26px; bottom: 27px; border: 0; border-radius: 20px; background: #e7e5e1; transform: rotate(-36deg); }.line-three { width: 104px; height: 104px; right: -13px; bottom: -24px; border-color: #e5e2eb; }

.companies { width: 100%; max-width: none; padding: 96px max(24px,calc((100vw - 1120px)/2)); background: #f5f5f3; }.section-heading { width: min(100%,1120px); margin: 0 auto 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }.section-heading .section-kicker { margin: 0; }.section-heading p { margin: 0; color: #575754; font-family: var(--display); font-size: 19px; font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }.company-grid { width: min(100%,1120px); margin: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.company-card { min-height: 490px; padding: 21px; display: flex; flex-direction: column; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }.company-card:hover { transform: translateY(-5px); box-shadow: 0 13px 28px rgba(20,20,20,.08); }.media-card { background: #303139; color: #fff; border-color: #303139; }.misheng-card { background: #ece7e1; }.publishing-card { background: #e3e0ed; }.card-meta,.card-foot { display: flex; justify-content: space-between; position: relative; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .07em; }.card-meta>span:last-child { font-size: 15px; line-height: .6; }.coming-soon { padding: 5px 7px; border: 1px solid rgba(25,25,25,.25); border-radius: 20px; font-size: 8px !important; letter-spacing: .05em; }.card-art { height: 181px; margin: 6px -21px 6px; position: relative; overflow: hidden; }.media-art>span:first-child { width: 187px; height: 187px; position: absolute; left: 23%; top: 18px; border-radius: 50%; background: #777783; }.media-art>span:nth-child(2) { width: 251px; height: 251px; position: absolute; left: -7%; top: -103px; border: 16px solid #c6c3d0; border-radius: 50%; }.media-art img { width: 108px; position: absolute; right: 17%; bottom: 9px; transform: rotate(-8deg); }.misheng-art>span:first-child { width: 197px; height: 197px; position: absolute; left: 20%; top: 2px; border: 19px solid #c4b4a9; border-radius: 50%; }.misheng-art>span:nth-child(2) { width: 87px; height: 87px; position: absolute; left: 10%; bottom: -11px; border-radius: 50%; background: #b7bdcd; }.misheng-art img { width: 88px; position: absolute; right: 17%; top: 46px; transform: rotate(14deg); }.publishing-art>span { width: 105px; height: 139px; position: absolute; border: 3px solid #50505b; border-radius: 7px; }.publishing-art>span:nth-child(1) { left: 16%; top: 31px; transform: rotate(-13deg); background: #c5cee0; }.publishing-art>span:nth-child(2) { left: 38%; top: 12px; transform: rotate(4deg); background: #f4efe7; }.publishing-art>span:nth-child(3) { left: 60%; top: 31px; transform: rotate(17deg); background: #b4a9c5; }.company-card h3 { position: relative; z-index: 2; margin: auto 0 14px; font-family: var(--display); font-size: clamp(28px,2.7vw,38px); font-weight: 700; letter-spacing: -.065em; line-height: .9; }.media-card h3 em { color: #d7d4e2; }.misheng-card h3 em { color: #676a7b; }.publishing-card h3 em { color: #616374; }.company-card p { position: relative; z-index: 2; max-width: 285px; margin-bottom: 22px; color: #686865; font-size: 13px; }.media-card p { color: #c8c8cd; }.card-foot { padding-top: 12px; border-top: 1px solid rgba(25,25,25,.17); }.media-card .card-foot { border-color: rgba(255,255,255,.25); }.card-foot small { color: #898986; font-size: 8px; }.media-card .card-foot small { color: #c6c6cb; }

.approach { border-bottom: 1px solid var(--line); }.approach-heading { margin-bottom: 59px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }.approach-heading p { max-width: 240px; margin: 0 8% 5px 0; color: #777773; font-size: 14px; }.approach-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.approach-grid article { min-height: 255px; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.approach-icon { width: 59px; height: 59px; margin-bottom: 37px; display: grid; place-items: center; border-radius: 50%; background: #efefed; font-family: var(--display); font-size: 25px; }.icon-scale { background: #e8e6ed; }.icon-connect { background: #e8edf1; }.approach-grid span { color: #858582; font-size: 10px; font-weight: 700; }.approach-grid h3 { margin: 12px 0 7px; font-family: var(--display); font-size: 26px; font-weight: 700; letter-spacing: -.05em; }.approach-grid p { max-width: 250px; margin: 0; color: #777773; font-size: 13px; }

.contact { min-height: 460px; display: grid; place-items: center; position: relative; overflow: hidden; background: #f7f7f5; }.contact-glow { position: absolute; inset: 0; filter: blur(58px); transform: scale(1.16); }.contact-glow span { width: 47%; height: 104%; position: absolute; display: block; border-radius: 50%; }.contact-glow span:first-child { left: 5%; bottom: -59%; background: var(--blue); }.contact-glow span:last-child { right: 5%; bottom: -55%; background: var(--blush); }.contact-inner { width: min(100% - 40px, 780px); position: relative; z-index: 1; padding: 76px 0; text-align: center; }.contact h2 { margin: 15px 0 19px; font-size: clamp(43px,5.3vw,68px); }.contact-copy { max-width: 460px; margin: 0 auto 24px; color: #62625f; font-size: 15px; }.contact .eyebrow { margin-bottom: 0; }

footer { width: min(100% - 48px,1120px); min-height: 119px; margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; font-size: 11px; }footer>p { justify-self: end; margin: 0; color: #81817e; }.footer-links { display: flex; gap: 23px; color: #656562; }.footer-links a:hover { color: var(--ink); }.footer-links span { color: #969693; }

@media (max-width: 820px) { .proof-bar { grid-template-columns: repeat(2,1fr); }.company-grid { grid-template-columns: 1fr; }.company-card { min-height: 430px; }.card-art { width: 48%; height: 200px; position: absolute; right: 0; top: 39px; }.company-card h3,.company-card p { max-width: 56%; }.company-card h3 { margin-top: auto; }.company-card p { margin-bottom: 20px; }.approach-heading { display: block; }.approach-heading p { margin: 22px 0 0; }.intro-layout { gap: 7%; } }
@media (max-width: 700px) { .site-header { height: 62px; }.header-inner { width: min(100% - 32px,1120px); grid-template-columns: 1fr auto; }.site-header nav { display: none; }.hero { min-height: 480px; margin-top: 62px; }.hero-content { width: min(100% - 32px,840px); padding: 51px 0 42px; }.hero h1 { font-size: clamp(40px,11.7vw,61px); letter-spacing: -.07em; }.hero-copy { font-size: 15px; }.proof-bar { width: min(100% - 32px,1120px); padding: 34px 0 44px; gap: 8px; }.proof-bar div { min-height: 71px; padding: 12px; }.proof-bar span { font-size: 9px; }.proof-bar small { font-size: 7px; }.section { width: min(100% - 32px,1120px); padding: 75px 0; }.section-kicker { margin-bottom: 23px; }.intro-layout { grid-template-columns: 1fr; gap: 30px; }.group-intro h2,.approach h2 { font-size: clamp(37px,11vw,54px); }.feature-grid,.approach-grid { grid-template-columns: 1fr; }.feature-grid { margin-top: 51px; }.feature-grid article { min-height: 195px; }.feature-grid h3 { margin-top: 27px; }.companies { padding: 75px 16px; }.section-heading { margin-bottom: 28px; display: block; }.section-heading p { margin-top: 17px; font-size: 18px; }.company-card { min-height: 465px; }.card-art { width: 61%; }.company-card h3,.company-card p { max-width: 80%; }.company-card h3 { font-size: 34px; }.approach-heading { margin-bottom: 42px; }.approach-grid article { min-height: 220px; }.approach-icon { margin-bottom: 28px; }.contact { min-height: 430px; }.contact-inner { width: min(100% - 32px,780px); padding: 65px 0; }.contact h2 { font-size: clamp(40px,11.5vw,58px); }.contact-copy { font-size: 14px; }footer { width: min(100% - 32px,1120px); padding: 28px 0; grid-template-columns: 1fr; gap: 20px; }.footer-links { gap: 15px; flex-wrap: wrap; }footer>p { justify-self: start; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.button,.header-contact,.company-card { transition: none; } }
