/* Desktop 1280 implementation of Figma node 4:2. */
:root {
  --subtitle-font: "SF Pro Text", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  --header-height: 50px;
}
.wechat-qr-placeholder{background:#fff!important}
.wechat-qr-placeholder:after,.wechat-qr-placeholder .qr-corner{display:none!important}
.wechat-qr-placeholder .wechat-qr-image{width:100%!important;height:100%!important;margin:0!important;padding:0!important;position:static!important;transform:none!important;border-radius:0!important;object-fit:contain;background:#fff!important;filter:none!important}

html { scroll-padding-top: var(--header-height); }

main > section[id] { scroll-margin-top: 0; }

.hero-copy,
.about-lead,
.about-copy,
.business-slogan,
.business-copy,
.talent-head > p:last-child,
.story-title > p,
.story-detail p,
.fragment-rule,
.table-title p {
  font-family: var(--subtitle-font);
  font-weight: 400;
  letter-spacing: -.01em;
}

@media (min-width: 901px) {
  .site-header { padding-inline: max(32px, calc((100vw - 1080px) / 2)); }
  .nav { gap: 28px; }

  .hero {
    height: 100vh;
    height: 100dvh;
    min-height: 720px;
    padding: var(--header-height) 24px 0;
    align-items: stretch;
    background: linear-gradient(32deg,#cfd2d8 0%,#e2e5e9 30%,#f0f2f4 56%,#fafafa 78%,#fff 100%);
  }

  .hero-content { width: 100%; max-width: none; position: static; }
  .hero-message { width: min(1080px, calc(100% - 48px)); position: absolute; z-index: 2; left: calc(50% + 24px); top: 47%; transform: translate(-50%, -50%); }

  .hero h1 {
    font-size: clamp(82px, 8vw, 102px);
    line-height: 1;
    letter-spacing: -.065em;
  }

  .hero-copy {
    margin-top: 12px;
    color: #8e8e93;
    font-size: 23px;
    line-height: 1.45;
  }

  .hero-actions { width: 100%; margin: 0; position: absolute; z-index: 3; left: 24px; top: calc(50% + 190px); }
  .hero-word { bottom: -15px; font-size: 294px; }

  .section {
    padding-top: 68px;
    padding-bottom: 84px;
  }

  .section-index {
    margin-bottom: 42px;
  }

  .about-statement { padding-top: 0; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); column-gap: 86px; align-items: start; }
  .about-statement > .eyebrow { grid-column: 1 / -1; }

  .about-statement h2 {
    max-width: 680px;
    margin: 18px 0 0;
    font-size: clamp(52px, 4.8vw, 62px);
    font-weight: 650;
    line-height: 1.12;
    letter-spacing: -.048em;
  }

  .about-text { padding-top: 22px; }
  .about-lead,.about-copy { max-width: 420px; margin: 0; color: #6e6e73; font-size: 18px; font-weight: 400; line-height: 1.75; }
  .about-copy { margin-top: 28px; }

  .about .fields { margin-top: 58px; }
  .fields > div { padding-block: 24px; }
  .fields span,.fields b,.fields p { color:#6e6e73; font-size:15px; line-height:1.65; }
  .fields b { font-weight:650; }
  .fields p { max-width:430px; }

  .business.section {
    grid-template-columns: 554.75px 410px;
    column-gap: 115px;
    min-height: 100vh;
    min-height: 100dvh;
    color: #1d1d1f;
    background: #fff;
    grid-template-rows:auto 1fr;
    align-items:start;
  }

  .module-label{margin:0 0 42px;align-self:start}
  .business .module-label{grid-column:1/-1;grid-row:1}

  .business .section-index { margin-bottom: 48px; }

  .business .business-hero h2 {
    font-size: 102.4px;
    line-height: .9;
  }

  .business .business-slogan {
    margin-top: 22px;
    color: #6e6e73;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: -.02em;
  }

  .business .business-copy {
    margin-top: 42px;
    color: #6e6e73;
    max-width: 520px;
    font-size: 16px;
    line-height: 1.7;
  }

  .app-showcase .pill.light {
    margin-top: 0;
    color: #1d1d1f;
    background: #fff;
    font-size: 18px;
  }

  .app-showcase figcaption { justify-content: center; }
  .talent { min-height: 0; }
  .talent-head h2 { font-size: 68px; line-height: 1.08; }
  .talent-head > p:last-child {
    max-width: 720px;
    margin-top: 38px;
    font-size: 20px;
    line-height: 1.85;
  }

  .talent-cta {
    padding-top: 48px;
    display: flex;
    justify-content: center;
  }

  .talent-cta .pill { font-size: 18px; }

  .news-head { margin-bottom: 44px; }
  .news-head h2 { font-size: 68px; line-height: 1.04; }
  .story { padding: 42px; }
  .main-story { min-height: 590px; }
  .story-title h3 { font-size: 78px; }
  .story-title > p { font-size: 16px; line-height: 1.65; }
  .story-detail p { line-height: 1.7; }
  .fragment-story, .level-table { min-height: 540px; }
  .fragment-story h3 { font-size: 58px; }
  .logic { margin-top: 50px; padding-top: 50px; }

  .news.section {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
  }

  .news .updates-entry {
    min-height: 0;
    flex: 1;
  }

  .about-statement h2,
  .business .business-hero h2,
  .talent-head h2,
  .updates-entry h2 {
    font-size: 68px;
    line-height: 1.08;
    letter-spacing: -.05em;
  }

  .business .section-index { border-color:#d2d2d7; }
  .business .app-showcase figcaption { border-color:#d2d2d7; }
  .business .app-icon-wrap::before { background:rgba(0,0,0,.08); }
  .business .app-icon-wrap img { filter:drop-shadow(0 28px 34px rgba(0,0,0,.2)); }
}

/* Corporate signature in the upper-left corner of the homepage hero. */
.hero-identity{
  position:absolute;
  z-index:4;
  left:18px;
  top:76px;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:2px;
  text-align:center;
}
.hero-identity strong{
  color:#1d1d1f;
  font-size:14px;
  font-weight:650;
  line-height:1.45;
  letter-spacing:-.02em;
}
.hero-identity span{
  width:100%;
  color:#6e6e73;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.025em;
}
@media(max-width:600px){
  .hero-identity{left:20px;top:72px;text-align:left}
  .hero-identity strong{max-width:240px;font-size:12px}
  .hero-identity span{font-size:10px;text-align:left}
}

/* Keep the Updates title, button shell and button label on one visual axis. */
.news .updates-entry{
  width:100%;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.news .updates-entry h2,
.news .updates-entry .pill{margin-inline:auto}
.news .updates-entry .pill{
  min-width:200px;
  padding-inline:48px;
  position:relative;
  text-align:center;
}
.news .updates-entry .pill span{
  margin:0;
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
}
@media(max-width:600px){.news .updates-entry .pill{min-width:176px;padding-inline:42px}.news .updates-entry .pill span{right:18px}}

/* Business section: exact single-screen composition from the approved prototype. */
@media(min-width:901px){
  .business.section{
    height:100vh;
    height:100dvh;
    min-height:698px;
    padding:54px max(36px,calc((100vw - 1054px)/2));
    display:block;
    position:relative;
    background:#f7f7f8;
  }
  .business .module-label{margin:0;font-size:12px}
  .business-content{position:static;padding:0}
  .business .business-hero{
    position:absolute;
    left:max(36px,calc((100vw - 1054px)/2));
    top:92px;
  }
  .business .business-hero h2{
    margin:0;
    font-size:42px;
    font-weight:650;
    line-height:1;
    letter-spacing:-.055em;
  }
  .business .business-slogan{
    margin:8px 0 0;
    color:#6e6e73;
    font-size:17px;
    line-height:1.45;
    letter-spacing:-.015em;
  }
  .business .business-copy{
    width:300px;
    max-width:none;
    margin:0;
    position:absolute;
    left:25.45%;
    top:269px;
    color:#6e6e73;
    font-size:16px;
    line-height:2.72;
  }
  .business .business-copy p{margin:0}
  .business .app-showcase{
    margin:0;
    position:absolute;
    right:14.4%;
    top:238px;
    transform:none;
  }
  .business .app-icon-wrap{width:272px;height:272px}
  .business .app-showcase .pill{
    min-width:145px;
    min-height:43px;
    margin-top:30px;
    padding:10px 24px;
    color:#1d1d1f;
    background:#fff;
    font-size:15px;
    box-shadow:0 4px 7px rgba(0,0,0,.2);
  }
}

/* About section: exact single-screen composition from the approved prototype. */
@media(min-width:901px){
  .about.section{
    height:100vh;
    height:100dvh;
    min-height:740px;
    padding:54px 0 0;
    display:block;
    position:relative;
  }
  .about .module-label{
    margin:0;
    position:absolute;
    left:8.2%;
    top:54px;
    font-size:12px;
  }
  .about-statement{
    position:static;
    display:block;
  }
  .about-statement h2{
    width:560px;
    max-width:none;
    margin:0;
    position:absolute;
    left:8.2%;
    top:158px;
    font-size:43px;
    font-weight:650;
    line-height:1.82;
    letter-spacing:-.045em;
  }
  .about-text{
    width:420px;
    padding:0;
    position:absolute;
    right:5.2%;
    top:153px;
  }
  .about-lead,.about-copy{
    max-width:none;
    margin:0;
    color:#6e6e73;
    font-size:16px;
    line-height:1.9;
  }
  .about-copy{margin-top:22px}
  .about .fields{
    width:auto;
    margin:0;
    position:absolute;
    left:8.2%;
    right:3%;
    top:390px;
    border-top:1px solid #1d1d1f;
  }
  .about .fields>div{
    min-height:57px;
    padding:0 30px;
    display:grid;
    grid-template-columns:142px 460px minmax(0,1fr);
    gap:0;
    align-items:center;
  }
  .about .fields span,.about .fields b,.about .fields p{
    margin:0;
    color:#6e6e73;
    font-size:14px;
    line-height:1.45;
    white-space:nowrap;
  }
  .about .fields b{font-weight:650}
}

@media (max-width: 900px) {
  .section { padding-top: 62px; padding-bottom: 74px; }
  .section-index { margin-bottom: 40px; }
  .about-statement { display: block; }
  .about-statement h2 {
    margin: 18px 0 0;
    font-size: clamp(48px, 9vw, 76px);
    line-height: 1.08;
    letter-spacing: -.055em;
  }

  .about-text { padding-top: 0; }
  .about-lead { margin: 45px 0 0; color:#6e6e73; font-size: 18px; line-height: 1.7; }
  .about-copy { max-width: 680px; margin-top:22px; color: #6e6e73; font-size: 18px; line-height: 1.7; }
  .about-statement h2,.business .business-hero h2,.talent-head h2,.updates-entry h2 { font-size:56px; line-height:1.1; letter-spacing:-.05em; }
  .talent-cta { padding-top: 75px; display: flex; justify-content: center; }
  .app-showcase .pill.light { color: #1d1d1f; background: #fff; }
}

@media (max-width: 600px) {
  :root { --header-height: 50px; }
  .section { padding-top: 52px; padding-bottom: 64px; }
  .section-index { margin-bottom: 34px; }
  .hero-content { width: 100%; }
  .hero h1 { font-size: clamp(52px, 16vw, 70px); line-height: 1.05; }
  .hero-copy { margin-top: 18px; font-size: 16px; }
  .hero-actions { margin-top: 58px; }
  .about-statement h2,.business .business-hero h2,.talent-head h2,.updates-entry h2 { font-size: 44px; line-height: 1.12; }
  .about-lead { margin-top: 38px; font-size: 16px; }
  .about-copy { font-size: 16px; }
  .business .business-slogan { font-size: 19px; line-height: 1.5; }
  .talent-head h2, .news-head h2 { font-size: 46px; line-height: 1.08; }
  .talent-head > p:last-child { font-size: 16px; line-height: 1.8; }
}

/* Compact contact footer */
.site-footer{padding:76px max(24px,calc((100vw - 1100px)/2)) 34px;color:#fff;background:#171717}.footer-columns{padding-bottom:58px;display:grid;grid-template-columns:1fr 1.35fr .85fr;gap:70px}.footer-identity{height:max-content;display:flex;align-items:center;gap:18px}.footer-identity img{width:48px;height:48px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}.footer-identity strong{font-size:25px;letter-spacing:-.03em}.footer-contact-info h2,.footer-follow h2{margin:2px 0 28px;font-size:20px}.footer-contact-info address{color:#929299;font-style:normal;font-size:15px;line-height:1.65}.footer-contact-info p{margin:0 0 8px}.footer-contact-info a,.footer-follow a{color:inherit}.wechat-trigger{width:100%;padding:0;display:flex;align-items:center;gap:15px;border:0;color:#929299;background:transparent;text-align:left;cursor:pointer}.wechat-trigger>span:nth-child(2){font-size:15px}.wechat-trigger:hover,.wechat-trigger:focus-visible{color:#fff}.wechat-trigger:focus-visible{outline:2px solid #fff;outline-offset:8px;border-radius:6px}.wechat-arrow{margin-left:auto;font-size:25px;line-height:1;transition:transform .2s}.wechat-trigger:hover .wechat-arrow{transform:translateX(3px)}.wechat-mark{width:48px;height:48px;position:relative;display:block;flex:0 0 48px;border-radius:50%;color:transparent;background:#303030}.wechat-mark:before,.wechat-mark:after{content:"";position:absolute;border-radius:50%;background:#fff}.wechat-mark:before{width:18px;height:14px;left:12px;top:13px}.wechat-mark:after{width:15px;height:12px;right:10px;bottom:11px;box-shadow:-8px -6px 0 -5px #303030}.footer-legal{padding-top:26px;border-top:1px solid #323236;color:#626872;text-align:center}.footer-legal p{margin:5px 0;font-size:12px;line-height:1.55}.footer-legal a{color:inherit}.footer-legal a:hover{color:#fff}
.wechat-modal{width:min(430px,calc(100% - 32px));padding:46px 44px 38px;border:0;border-radius:28px;color:#1d1d1f;background:#fff;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.35)}.wechat-modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(16px)}.wechat-modal-copy .eyebrow{margin-bottom:10px;font-size:10px;letter-spacing:.16em}.wechat-modal-copy h2{margin:0;font-size:36px;line-height:1.1;letter-spacing:-.045em}.wechat-modal-copy>p:last-child{margin:14px 0 0;color:#86868b;font-size:14px}.wechat-qr-placeholder{width:232px;height:232px;margin:30px auto 18px;position:relative;overflow:hidden;border:10px solid #fff;border-radius:8px;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0/22px 22px;box-shadow:0 0 0 1px #e2e2e7}.wechat-qr-placeholder:after{content:"";position:absolute;inset:44px;background:rgba(255,255,255,.18)}.wechat-qr-placeholder img{width:54px;height:54px;padding:9px;position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:15px;background:#fff;filter:grayscale(1) brightness(0)}.qr-corner{width:54px;height:54px;position:absolute;z-index:2;border:8px solid #111;background:#fff;box-shadow:inset 0 0 0 7px #fff,inset 0 0 0 18px #111}.qr-corner-one{left:6px;top:6px}.qr-corner-two{right:6px;top:6px}.qr-corner-three{left:6px;bottom:6px}.wechat-qr-note{margin:0;color:#a1a1a6;font-size:11px}
@media(max-width:850px){.site-footer{padding-top:60px}.footer-columns{grid-template-columns:1fr 1fr;gap:48px}.footer-follow{grid-column:2}.footer-identity{grid-row:1 / span 2;align-self:start}.footer-legal{text-align:left}}
@media(max-width:600px){.site-footer{padding:52px 20px 28px}.footer-columns{padding-bottom:42px;grid-template-columns:1fr;gap:42px}.footer-identity{grid-row:auto}.footer-follow{grid-column:auto}.footer-identity img{width:40px;height:40px}.footer-identity strong{font-size:22px}.footer-contact-info h2,.footer-follow h2{margin-bottom:20px}.footer-legal p{font-size:10px}}
@media(max-width:480px){.wechat-modal{padding:42px 24px 30px;border-radius:24px}.wechat-qr-placeholder{width:210px;height:210px}.wechat-modal-copy h2{font-size:32px}}

/* Keep the four research directions typographically consistent. */
.about .fields span,.about .fields b,.about .fields p{color:#6e6e73;font-size:15px;line-height:1.65}.about .fields b{font-weight:650}

/* Talent open letter */
.talent-head{max-width:900px}.talent-letter{max-width:820px;margin-top:24px;padding:42px 52px 36px;border:1px solid #d2d2d7;border-radius:2px;background:#fff;box-shadow:0 22px 60px rgba(0,0,0,.045)}.letter-salutation{margin:0 0 26px;color:#1d1d1f;font-size:20px;font-weight:650;letter-spacing:-.02em}.letter-body{max-width:680px}.letter-body p{margin:0 0 18px;color:#424245;font-family:var(--subtitle-font);font-size:18px;font-weight:400;line-height:1.8;text-align:justify}.letter-action{margin-top:30px;padding-top:24px;display:flex;justify-content:flex-end;border-top:1px solid #e2e2e7}.letter-action .pill{min-width:150px;text-align:center}
@media(max-width:900px){.talent-letter{margin-top:24px;padding:36px}.letter-body p{font-size:17px;line-height:1.8}}
@media(max-width:600px){.talent-letter{padding:30px 24px 26px;border-radius:0}.letter-salutation{margin-bottom:24px;font-size:18px}.letter-body p{font-size:16px;line-height:1.75;text-align:left}.letter-action{margin-top:24px}.letter-action .pill{width:100%}}

/* Homepage typography: one heading scale and one body scale. */
@media(min-width:901px){.about-statement h2,.business .business-hero h2,.updates-entry h2{font-size:68px;line-height:1.08;letter-spacing:-.05em}.about-lead,.about-copy,.about .fields span,.about .fields b,.about .fields p,.business .business-slogan,.business .business-copy,.letter-salutation,.letter-body p,.letter-signature,.updates-entry>p:nth-of-type(2){font-size:18px;line-height:1.75}.about .fields b,.letter-salutation{font-weight:650}.business .business-slogan,.business .business-copy{color:#6e6e73;font-weight:400;letter-spacing:-.01em}.business .business-copy{max-width:520px;margin-top:28px}.business .business-copy p{margin:0}.letter-signature strong{font-size:18px}}
@media(max-width:900px){.about-lead,.about-copy,.about .fields span,.about .fields b,.about .fields p,.business .business-slogan,.business .business-copy,.letter-salutation,.letter-body p,.letter-signature,.letter-signature strong,.updates-entry>p:nth-of-type(2){font-size:16px;line-height:1.75}.business .business-slogan,.business .business-copy{color:#6e6e73;font-weight:400}.business .business-copy{margin-top:24px}}

/* The long About statement needs a quieter display scale. */
@media(min-width:901px){.about-statement h2{font-size:50px;line-height:1.16;letter-spacing:-.04em}}
@media(min-width:601px) and (max-width:900px){.about-statement h2{font-size:44px;line-height:1.16}}
@media(max-width:600px){.about-statement h2{font-size:36px;line-height:1.18}}

.module-label{margin:0 0 34px;color:#6e6e73;font-size:13px;font-weight:600;letter-spacing:.02em}

@media(min-width:901px){.about .fields>div{grid-template-columns:70px 220px minmax(0,1fr);gap:24px;align-items:center}.about .fields p{max-width:none;white-space:nowrap}}

@media(min-width:901px){.updates-entry>p{font-size:18px;line-height:1.75}}
@media(max-width:900px){.updates-entry>p{font-size:16px;line-height:1.75}}

.business .app-icon-wrap:hover img,.business .app-icon-wrap:focus-visible img{filter:drop-shadow(0 42px 44px rgba(0,0,0,.3))}

@media(min-width:901px){.talent.section{min-height:100vh;min-height:100dvh;padding-top:54px;padding-bottom:54px}.talent .module-label{margin-bottom:18px}}

/* Fit the complete About section into one desktop viewport. */
@media(min-width:901px){.about.section{min-height:100vh;min-height:100dvh;padding-top:42px;padding-bottom:42px}.about .module-label{margin-bottom:24px}.about-statement{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);column-gap:68px}.about-statement h2{max-width:650px;margin-top:0;font-size:42px;line-height:1.13;letter-spacing:-.038em}.about-text{padding-top:2px}.about-lead,.about-copy{font-size:16px;line-height:1.62}.about-copy{margin-top:18px}.about .fields{margin-top:32px}.about .fields>div{padding-block:14px;grid-template-columns:56px 185px minmax(0,1fr);gap:20px}.about .fields span,.about .fields b,.about .fields p{font-size:14px;line-height:1.45}}

@media(min-width:901px){.about.section{height:100vh;height:100dvh;min-height:720px;padding-top:46px;padding-bottom:46px;display:grid;grid-template-rows:auto auto auto;align-content:space-between}.about .module-label{margin:0}.about-statement{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);column-gap:82px;align-items:start}.about-statement h2{max-width:670px;font-size:46px;line-height:1.14}.about-text{padding-top:4px}.about-lead,.about-copy{font-size:17px;line-height:1.68}.about-copy{margin-top:22px}.about .fields{width:100%;margin:0}.about .fields>div{padding-block:16px;grid-template-columns:58px 190px minmax(0,1fr);gap:22px}.about .fields span,.about .fields b,.about .fields p{font-size:15px;line-height:1.5}}

@media(min-width:901px){.about-statement{position:relative;top:-44px}.about .fields{position:relative;top:-70px}}

/* Open talent statement — no card treatment. */
.talent-letter{max-width:900px;margin-top:20px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.letter-action{margin-top:30px;padding-top:0;border-top:0}

@media(min-width:901px){.talent-letter .letter-salutation{margin-bottom:50px}.talent-letter .letter-body p{margin-bottom:0}}

.talent-letter .letter-body p{margin-top:0;margin-bottom:0}

/* Unified module labels. */
@media(min-width:901px){.about.section,.business.section,.talent.section,.news.section{padding-top:52px}.module-label{margin:0 0 34px;color:#6e6e73;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.02em}.business .module-label{grid-column:1/-1;grid-row:1}.business-content,.app-showcase{grid-row:2}}

/* Clean, consistent typography for the Updates entry. */
.updates-entry,.updates-entry h2,.updates-entry p,.updates-entry .pill{font-family:var(--subtitle-font)}.updates-entry h2{font-weight:600;letter-spacing:-.045em}.updates-entry>p{color:#6e6e73;font-weight:400;letter-spacing:-.01em}.updates-entry .pill{font-weight:400;letter-spacing:0}.updates-entry .pill span{margin-left:4px;display:inline-block;font-size:20px;line-height:0;vertical-align:-1px}
@media(min-width:901px){.updates-entry h2{font-size:64px;line-height:1.05}.updates-entry>p{margin:22px 0 30px;font-size:17px;line-height:1.65}.updates-entry .pill{min-height:44px;padding:10px 24px;font-size:15px}}
@media(max-width:900px){.updates-entry h2{font-size:48px}.updates-entry>p{margin:18px 0 26px;font-size:16px}.updates-entry .pill{font-size:15px}}

/* Homepage prototype revision — 2026-08-11. */
@media (min-width: 901px) {
  .site-header { height: 50px; padding-inline: max(36px, calc((100vw - 1080px) / 2)); }
  .brand-logo { width: 20px; height: 20px; }
  .brand b { font-size: 13px; }
  .nav { gap: 30px; }
  .nav a { font-size: 11px; }

  .hero { min-height: 670px; }
  .hero-message { left: 50%; top: 48%; }
  .hero h1 { font-size: clamp(76px, 7.2vw, 94px); }
  .hero-copy { font-size: 21px; }
  .hero-actions { left: 0; top: calc(50% + 150px); }
  .hero-word { bottom: -22px; font-size: 268px; }

  .about.section,
  .business.section,
  .talent.section,
  .news.section {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 54px max(36px, calc((100vw - 1080px) / 2));
  }
  .module-label { margin: 0; font-size: 12px; }

  .about.section { display: grid; grid-template-rows: auto 1fr auto; align-content: stretch; }
  .about-statement { top: 0; align-self: center; grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr); column-gap: 92px; }
  .about-statement h2 { max-width: 610px; font-size: 45px; line-height: 1.42; letter-spacing: -.04em; }
  .about-text { padding-top: 5px; }
  .about-lead,.about-copy { max-width: 420px; font-size: 15px; line-height: 1.8; }
  .about-copy { margin-top: 22px; }
  .about .fields { top: -18px; }
  .about .fields>div { min-height: 58px; padding-block: 13px; grid-template-columns: 65px 180px minmax(0,1fr); }
  .about .fields span,.about .fields b,.about .fields p { font-size: 13px; }

  .business.section { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; column-gap: 90px; background: #f7f7f8; }
  .business-content { align-self: start; padding-top: 54px; }
  .business .business-hero h2 { font-size: 56px; line-height: 1; }
  .business .business-slogan { margin-top: 9px; font-size: 15px; }
  .business .business-copy { max-width: 350px; margin: 118px 0 0 220px; font-size: 15px; line-height: 2.05; }
  .app-showcase { align-self: center; transform: translateY(20px); }
  .app-icon-wrap { width: 280px; height: 280px; }
  .app-showcase .pill { margin-top: 28px; min-height: 40px; padding: 8px 24px; color:#1d1d1f; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.12); }

  .talent.section { display: grid; grid-template-rows: auto 1fr; }
  .talent-head { width: 100%; max-width: none; align-self: center; }
  .talent-letter { width: 100%; max-width: none; margin: 0; display: grid; grid-template-columns: 220px minmax(0, 620px); justify-content: start; column-gap: 46px; }
  .talent-letter .letter-salutation { margin: 0; font-size: 36px; line-height: 1.2; }
  .letter-body { max-width: 620px; padding-top: 165px; }
  .letter-body p { font-size: 15px; line-height: 2; }
  .letter-action { grid-column: 2; margin-top: 52px; justify-content: center; }
  .letter-action .pill { min-width: 145px; font-size: 14px; }

  .news.section { display: grid; grid-template-rows: auto 1fr; background: #f7f7f8; }
  .news .updates-entry { min-height: 0; align-self: center; transform: translateY(-18px); }
  .updates-entry h2 { font-size: 56px; }
  .updates-entry>p { display: none; }
  .updates-entry .pill { margin-top: 36px; }

  .site-footer { padding: 54px max(36px, calc((100vw - 1100px) / 2)) 26px; color:#1d1d1f; background:#d9d9dd; }
  .footer-columns { padding-bottom: 30px; grid-template-columns: 1fr 1fr; gap: 80px; align-items:start; }
  .footer-identity img { width: 42px; height: 42px; filter:grayscale(1) brightness(0); }
  .footer-identity strong { font-size: 23px; }
  .footer-contact-info { display:grid; grid-template-columns: 130px 1fr; }
  .footer-contact-info h2 { margin: 4px 0 0; font-size: 17px; }
  .footer-contact-info address { color:#424245; font-size: 13px; }
  .footer-follow { display:none; }
  .footer-legal { padding-top: 22px; border-top-color:#8e8e93; color:#55565a; }
  .footer-legal p { font-size:10px; }
}

/* Talent section: exact 1280 × 720 prototype composition. */
@media (min-width: 901px) {
  .talent.section {
    height: 100vh;
    height: 100dvh;
    min-height: 720px;
    padding: 52px max(36px, calc((100vw - 1100px) / 2));
    display: block;
    position: relative;
  }
  .talent .module-label { margin: 0; }
  .talent-head { width: 100%; max-width: none; }
  .talent-letter {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    display: block;
  }
  .talent-letter .letter-salutation {
    margin: 18px 0 0;
    font-size: 38px;
    font-weight: 650;
    line-height: 1.18;
    letter-spacing: -.04em;
  }
  .talent-letter .letter-body {
    width: 586px;
    max-width: none;
    margin: 112px auto 0;
    padding: 0;
  }
  .talent-letter .letter-body p {
    margin: 0;
    color: #424245;
    font-size: 17px;
    font-weight: 400;
    line-height: 2.55;
    text-align: left;
  }
  .talent-letter .letter-action {
    margin: 92px 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    border: 0;
  }
  .talent-letter .letter-action .pill {
    min-width: 150px;
    min-height: 43px;
    padding: 10px 22px;
    font-size: 14px;
  }
}

/* Homepage hero: final approved composition. */
@media(min-width:901px){
  .site-header{display:none}
  .hero{
    height:100vh;
    height:100dvh;
    min-height:720px;
    padding:0;
    background:linear-gradient(32deg,#d4d7dc 0%,#e0e3e7 29%,#eff1f3 57%,#fafafa 79%,#fff 100%);
  }
  .hero-identity{
    left:30px;
    top:25px;
    gap:3px;
  }
  .hero-identity strong{
    font-size:18px;
    line-height:1.35;
  }
  .hero-identity span{
    font-size:16px;
    line-height:1.4;
  }
  .hero-message{
    width:min(1500px,calc(100% - 80px));
    left:50%;
    top:46%;
  }
  .hero-message .overline{
    margin-bottom:24px;
    font-size:16px;
    letter-spacing:.035em;
  }
  .hero h1{
    font-size:clamp(94px,8.6vw,144px);
    line-height:.95;
    letter-spacing:-.065em;
  }
  .hero-copy{
    margin-top:24px;
    font-size:34px;
    line-height:1.3;
  }
  .hero-actions{
    left:0;
    top:74%;
  }
  .hero-actions .pill{
    min-height:66px;
    padding:15px 32px;
    font-size:22px;
  }
  .hero-actions .arrow-link{font-size:22px}
  .hero-word{
    bottom:-45px;
    font-size:clamp(300px,24vw,470px);
    color:rgba(255,255,255,.46);
  }
  .hero-rule{
    bottom:45px;
    width:calc(100% - 300px);
    font-size:11px;
  }
}
