@layer reset,base,layout,components,responsive;
@layer reset {
  *,*::before,*::after {
    box-sizing:border-box
  }
  html {
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--header-height,5.5rem) + 1rem)
  }
  body,h1,h2,h3,p,ul,ol,dl,dd {
    margin:0
  }
  h1,h2,h3 {
    overflow-wrap:anywhere
  }
  button,a {
    -webkit-tap-highlight-color:transparent
  }
  button {
    font:inherit
  }
  a {
    color:inherit;
    text-decoration:none
  }
  button {
    cursor:pointer
  }
  svg {
    display:block
  }
  button,summary {
    touch-action:manipulation
  }
  button {
    border:0
  }
  img,svg {
    max-width:100%
  }
  [hidden] {
    display:none!important
  }
}
@layer base {
  :root {
    --navy:#102736;
    --navy-deep:#0b202e;
    --ink:#152e3d;
    --muted:#526573;
    --line:#d0dce2;
    --paper:#f9fbfc;
    --pale:#eaf1f5;
    --mint:#7ce4d1;
    --blue:#154ea9;
    --white:#fff;
    --sans:Inter,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
    --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace
  }
  body {
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-size:1rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased
  }
  h1,h2,h3 {
    font-weight:500
  }
  h1,h2 {
    text-wrap:balance;
    letter-spacing:-.05em;
    line-height:1.09
  }
  h3 {
    letter-spacing:-.025em;
    line-height:1.3
  }
  p {
    overflow-wrap:break-word
  }
  button:focus-visible,a:focus-visible,summary:focus-visible {
    outline:3px solid var(--blue);
    outline-offset:5px
  }
  .hero a:focus-visible,.hero button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible,.contact-section a:focus-visible,.site-footer a:focus-visible {
    outline-color:var(--mint)
  }
  ::selection {
    background:var(--mint);
    color:var(--navy)
  }
  .sr-only {
    position:absolute!important;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
  }
  :lang(zh-CN) h1,:lang(zh-CN) h2,:lang(zh-CN) h3 {
    letter-spacing:.015em
  }
  :lang(zh-CN) h1 {
    line-height:1.2
  }
  :lang(zh-CN) h2 {
    line-height:1.24
  }
  :lang(zh-CN) h3 {
    line-height:1.4
  }
  :lang(zh-CN) .eyebrow {
    letter-spacing:.14em
  }
  :lang(zh-CN) .hero-description {
    line-height:1.9
  }
}
@layer layout {
  .wrap {
    width:min(100% - 6rem,1240px);
    margin-inline:auto
  }
  .section {
    padding-block:7.5rem
  }
  .site-header {
    background:var(--navy-deep);
    color:var(--white);
    position:sticky;
    top:0;
    z-index:20;
    border-bottom:1px solid #35505f
  }
  .header-inner {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:1rem 2rem;
    padding-block:.6rem;
    min-height:5.5rem
  }
  .header-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:1.6rem;
    margin-left:auto
  }
  .desktop-nav {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 2rem;
    margin-left:auto
  }
  .hero {
    color:var(--white);
    background:var(--navy-deep);
    overflow:hidden
  }
  .hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    gap:4rem;
    align-items:center;
    padding-top:6.5rem;
    padding-bottom:6rem
  }
  .hero-bottom {
    display:flex;
    justify-content:space-between;
    gap:1.5rem;
    border-top:1px solid #35505f;
    padding-block:1.5rem 1.8rem
  }
  .section-heading {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.75rem 7rem;
    align-items:end
  }
  .section-heading .eyebrow {
    grid-column:1/-1
  }
  .section-heading h2 {
    max-width:650px
  }
  .expertise-grid {
    display:grid;
    min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2rem;
    margin-top:3.8rem
  }
  .research-section {
    background:var(--pale);
    padding-block:7.5rem
  }
  .research-layout {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:7rem
  }
  .process-section {
    background:var(--navy);
    color:var(--white);
    padding-block:6.5rem
  }
  .process-heading {
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:1.5rem 5rem;
    align-items:end
  }
  .process-heading>.eyebrow {
    grid-column:1/-1
  }
  .process-grid {
    list-style:none;
    padding:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4rem;
    margin-top:4rem
  }
  .company-layout {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:7rem;
    align-items:start
  }
  .company-facts {
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    border-top:1px solid var(--line);
    margin-top:4.5rem;
    padding-top:2rem;
    gap:2rem
  }
  .faq-section {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:7rem;
    padding-block:0 7.5rem
  }
  .contact-section {
    background:var(--navy);
    color:var(--white);
    padding-block:5.5rem
  }
  .contact-inner {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:7rem;
    align-items:center
  }
  .site-footer {
    background:var(--navy-deep);
    color:#c8d6dd
  }
  .footer-main {
    display:grid;
    grid-template-columns:1fr 1fr .4fr;
    gap:4rem;
    padding-block:4rem
  }
  .footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:2rem;
    border-top:1px solid #35505f;
    padding-block:1.5rem
  }
}
@layer components {
  .skip-link {
    max-width:calc(100% - 2rem);
    overflow-wrap:anywhere;
    position:fixed;
    top:.6rem;
    left:1rem;
    z-index:100;
    transform:translateY(-200%);
    background:var(--mint);
    color:var(--navy);
    padding:.75rem 1.2rem;
    font-weight:700
  }
  .skip-link:focus {
    transform:translateY(0)
  }
  .brand {
    min-width:0;
    display:flex;
    gap:.5rem;
    align-items:center;
    font-size:1.45rem;
    letter-spacing:-.045em;
    font-weight:600;
    line-height:1.15;
    flex-shrink:0
  }
  .brand-mark {
    width:2.1rem;
    height:2.1rem;
    fill:var(--mint)
  }
  .brand-sub {
    display:block;
    font-size:.75rem;
    letter-spacing:.18em;
    font-weight:500;
    color:#becfd7;
    margin-top:.3rem
  }
  .desktop-nav a,.header-contact {
    font-size:.9rem;
    line-height:1.4;
    transition:color .2s
  }
  .desktop-nav a:hover,.header-contact:hover {
    color:var(--mint)
  }
  .language-switch {
    display:flex;
    border:1px solid #536b78;
    border-radius:4px;
    padding:3px;
    gap:2px
  }
  .language-switch button {
    font-size:.875rem;
    min-width:44px;
    min-height:44px;
    background:transparent;
    color:#d7e5eb;
    border-radius:2px
  }
  .language-switch button[aria-pressed=true] {
    background:var(--paper);
    color:var(--navy)
  }
  .language-switch button:hover:not([aria-pressed=true]) {
    background:#27414f
  }
  .header-contact {
    border-bottom:1px solid var(--mint);
    padding-bottom:.2rem
  }
  .menu-toggle {
    display:none;
    background:transparent;
    color:var(--white);
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px
  }
  .menu-toggle span {
    width:22px;
    height:1px;
    background:currentColor;
    transition:transform .2s
  }
  .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(4px) rotate(45deg)
  }
  .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-4px) rotate(-45deg)
  }
  .mobile-nav {
    padding:1rem 1.5rem 1.6rem;
    border-top:1px solid #35505f;
    display:flex;
    flex-direction:column;
    gap:.4rem
  }
  .mobile-nav {
    max-height:calc(100svh - var(--header-row-height,4.6rem) - 1px);
    overflow-y:auto;
    overscroll-behavior:contain
  }
  .mobile-nav a {
    padding:.5rem 0
  }
  .noscript-nav {
    display:flex;
    gap:.5rem 1.5rem;
    flex-wrap:wrap;
    padding-block:1rem;
    font-size:.875rem;
    border-top:1px solid #35505f
  }
  .noscript-nav p {
    flex-basis:100%;
    font-size:.75rem;
    color:#bed0d9
  }
  .noscript-nav a {
    padding-block:.4rem
  }
  .eyebrow {
    display:flex;
    align-items:center;
    gap:1rem;
    font-family:var(--mono);
    font-size:.8rem;
    line-height:1.5;
    font-weight:500;
    letter-spacing:.1em;
    color:var(--muted);
    margin-bottom:1.35rem
  }
  .eyebrow.light {
    color:#bed0d9
  }
  .section-index {
    border-right:1px solid #a8bdc8;
    padding-right:1rem;
    letter-spacing:0;
    font-size:.8rem
  }
  h1 {
    font-size:clamp(3.75rem,6.5vw,6rem);
    max-width:700px
  }
  h1>span {
    display:block
  }
  .accent {
    color:var(--mint)
  }
  .hero-description {
    font-size:1.15rem;
    line-height:1.7;
    color:#bed0d9;
    max-width:33rem;
    margin-top:2rem
  }
  .hero-actions {
    display:flex;
    align-items:center;
    gap:2rem;
    flex-wrap:wrap;
    margin-top:2.5rem
  }
  .button {
    max-width:100%;
    text-align:center;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:3.4rem;
    padding:.8rem 1.6rem;
    font-weight:600;
    font-size:.95rem;
    border:1px solid transparent;
    transition:background .2s,transform .2s
  }
  .primary {
    background:var(--mint);
    color:var(--navy-deep)
  }
  .primary:hover {
    background:#a0f2e2;
    transform:translateY(-2px)
  }
  .text-link {
    font-size:.95rem;
    border-bottom:1px solid #7997a7;
    padding-block:.35rem
  }
  .text-link:hover {
    color:var(--mint);
    border-color:var(--mint)
  }
  .hero-bottom p {
    font-size:.8rem;
    color:#b6cbd5
  }
  .stage-tag {
    display:flex;
    align-items:center;
    gap:.7rem
  }
  .stage-line {
    width:1.3rem;
    height:1px;
    background:var(--mint)
  }
  .research-object {
    position:relative;
    margin-top:1.5rem;
    min-width:0
  }
  .object-header,.object-footer {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:.8rem
  }
  .object-header {
    padding-bottom:1rem;
    border-bottom:1px solid #35505f
  }
  .micro-label,.object-corner {
    font:500 .75rem var(--mono);
    color:#aec6d2;
    letter-spacing:.07em
  }
  .object-corner {
    white-space:nowrap
  }
  .diagram-canvas {
    position:relative
  }
  .forge-diagram {
    width:100%;
    height:auto
  }
  .diagram-label {
    position:absolute;
    font:500 .75rem var(--mono);
    letter-spacing:.05em;
    color:#dae8ec;
    line-height:1.2
  }
  .label-research {
    left:8.3%;
    top:9.5%
  }
  .label-validate {
    right:7%;
    top:33.6%
  }
  .label-build {
    left:8.3%;
    bottom:9.8%
  }
  .object-footer {
    padding-top:1rem;
    border-top:1px solid #35505f;
    color:#a9c1ce;
    font-size:.75rem
  }
  .cross {
    color:var(--mint);
    font-size:1.4rem;
    line-height:1
  }
  .research-object {
    --motion-play-state:paused
  }
  .research-object[data-motion="running"] {
    --motion-play-state:running
  }
  .diagram-top {
    animation:research-drift 7.2s ease-in-out infinite;
    animation-play-state:var(--motion-play-state)
  }
  .diagram-thread {
    opacity:.65;
    animation:signal-flow 3.6s linear infinite;
    animation-play-state:var(--motion-play-state)
  }
  .flow-packet {
    opacity:0;
    animation:data-packet 7.2s linear infinite;
    animation-play-state:var(--motion-play-state)
  }
  .packet-two { animation-delay:-2.4s }
  .packet-three { animation-delay:-4.8s }
  .validation-trace {
    opacity:.8;
    animation:validate-orbit 7.2s linear infinite;
    animation-play-state:var(--motion-play-state)
  }
  .output-ring {
    opacity:.3;
    transform-box:fill-box;
    transform-origin:center;
    animation:output-pulse 3.6s ease-out infinite;
    animation-play-state:var(--motion-play-state)
  }
  @keyframes research-drift {
    0%,100% { transform:translateY(0) }
    50% { transform:translateY(-5px) }
  }
  @keyframes signal-flow {
    to { stroke-dashoffset:-36 }
  }
  @keyframes data-packet {
    0% { transform:translate(0,0);opacity:0 }
    8% { opacity:1 }
    36% { transform:translate(1px,90px);opacity:1 }
    90% { transform:translate(2px,256px);opacity:1 }
    100% { transform:translate(2px,256px);opacity:0 }
  }
  @keyframes validate-orbit {
    to { stroke-dashoffset:-275 }
  }
  @keyframes output-pulse {
    0% { transform:scale(.6);opacity:0 }
    25% { opacity:.6 }
    100% { transform:scale(1.7);opacity:0 }
  }
  .motion-controls {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    min-height:44px;
    margin-top:.75rem
  }
  .motion-toggle {
    max-width:100%;
    min-height:44px;
    padding:.5rem .9rem;
    color:#dae8ec;
    background:transparent;
    border:1px solid #7194a3;
    font-size:.875rem;
    line-height:1.4;
    transition:color .2s,border-color .2s
  }
  .motion-toggle:hover { color:var(--mint);border-color:var(--mint) }
  .motion-note { color:#bed0d9;font-size:.875rem;line-height:1.5 }
  .motion-note:focus-visible { outline:3px solid var(--mint);outline-offset:5px }
  h2 {
    font-size:clamp(2.2rem,3.1vw,3.25rem)
  }
  .section-intro {
    color:var(--muted);
    font-size:1.05rem;
    max-width:500px
  }
  .expertise-card {
    border-top:1px solid var(--ink);
    padding-top:1.8rem
  }
  .card-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:2.5rem
  }
  .card-top svg {
    width:2.3rem;
    height:2.3rem;
    fill:none;
    stroke:var(--blue);
    stroke-width:1.3
  }
  .card-index {
    font:400 .85rem var(--mono);
    color:#526d7d
  }
  .expertise-card h3 {
    font-size:1.5rem;
    max-width:17rem;
    min-height:3.9rem
  }
  .expertise-card p {
    color:var(--muted);
    font-size:1rem;
    margin-top:1.1rem
  }
  .tag-list {
    list-style:none;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:.4rem .55rem;
    margin-top:1.5rem
  }
  .tag-list li {
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:.75rem;
    border:1px solid var(--line);
    padding:.23rem .6rem;
    color:var(--muted)
  }
  .scope-note {
    margin-top:3rem;
    padding-top:1.5rem;
    border-top:1px solid var(--line);
    display:flex;
    gap:1rem;
    color:var(--muted);
    font-size:.875rem
  }
  .note-symbol {
    font-family:var(--mono);
    color:var(--blue)
  }
  .research-heading h2 {
    margin-bottom:1.6rem
  }
  .research-heading>p:not(.eyebrow) {
    color:var(--muted)
  }
  .research-note {
    font-size:.875rem;
    border-left:2px solid #7d9dad;
    padding-left:1rem;
    margin-top:2.2rem
  }
  .research-areas {
    border-top:1px solid #9fb4c0
  }
  .research-item {
    border-bottom:1px solid #b9cbd5
  }
  .research-item summary {
    display:grid;
    grid-template-columns:2rem 1fr 1.5rem;
    gap:1.3rem;
    align-items:center;
    cursor:pointer;
    list-style:none;
    padding:1.65rem .2rem
  }
  .research-item summary::-webkit-details-marker,.faq-items summary::-webkit-details-marker {
    display:none
  }
  .research-item summary:hover .area-title {
    color:var(--blue)
  }
  .area-num {
    font:400 .85rem var(--mono);
    color:#4e6b7a;
    align-self:start;
    margin-top:.2rem
  }
  .area-category {
    overflow-wrap:anywhere;
    display:block;
    font:400 .75rem var(--mono);
    letter-spacing:.1em;
    color:var(--muted);
    margin-bottom:.4rem
  }
  .area-title {
    overflow-wrap:anywhere;
    display:block;
    font-size:1.6rem;
    letter-spacing:-.025em;
    line-height:1.3;
    transition:color .2s
  }
  .expand-icon {
    width:1.3rem;
    height:1.3rem;
    position:relative;
    color:var(--ink)
  }
  .expand-icon::before,.expand-icon::after {
    content:"";
    position:absolute;
    background:currentColor;
    left:0;
    right:0;
    top:50%;
    height:1px
  }
  .expand-icon::after {
    transform:rotate(90deg);
    transition:transform .2s
  }
  details[open] .expand-icon::after {
    transform:rotate(0deg)
  }
  .area-content {
    padding:0 3rem 1.6rem 3.5rem;
    color:var(--muted);
    font-size:1rem
  }
  .area-content span {
    display:block;
    font-size:.8rem;
    color:var(--blue);
    margin-top:1rem
  }
  .process-heading h2 {
    max-width:620px
  }
  .process-heading>p:not(.eyebrow) {
    color:#b9cdd7;
    max-width:330px;
    font-size:1.05rem
  }
  .process-grid li {
    border-top:1px solid #4b6777;
    padding-top:1.7rem
  }
  .process-number {
    font:400 .8rem var(--mono);
    color:var(--mint);
    display:block;
    margin-bottom:2.1rem
  }
  .process-grid h3 {
    font-size:1.4rem;
    margin-bottom:1rem
  }
  .process-grid p {
    color:#b9cdd7;
    line-height:1.75
  }
  .company-intro {
    color:var(--muted);
    font-size:1.05rem;
    margin-top:1.7rem
  }
  .stage-panel {
    background:var(--pale);
    padding:2.5rem;
    border-top:3px solid var(--blue)
  }
  .stage-panel h3 {
    font-size:1.5rem;
    margin-bottom:1.1rem
  }
  .stage-panel p:not(.eyebrow) {
    color:var(--muted)
  }
  .stage-rule {
    height:1px;
    background:#bdced9;
    margin-block:1.5rem
  }
  .stage-panel .stage-foot {
    font-size:.875rem
  }
  .company-facts dt {
    font-size:.8rem;
    color:var(--muted);
    margin-bottom:.5rem
  }
  .company-facts dd {
    font-size:1rem
  }
  .faq-heading h2 {
    font-size:2.6rem
  }
  .faq-items {
    border-top:1px solid var(--line)
  }
  .faq-items details {
    border-bottom:1px solid var(--line)
  }
  .faq-items summary {
    list-style:none;
    display:flex;
    justify-content:space-between;
    gap:2rem;
    align-items:center;
    padding:1.5rem 0;
    font-size:1rem;
    cursor:pointer;
    line-height:1.45
  }
  .faq-items summary:hover {
    color:var(--blue)
  }
  .faq-items .expand-icon {
    flex-shrink:0
  }
  .faq-items p {
    padding:0 2.5rem 1.5rem 0;
    color:var(--muted);
    font-size:.95rem
  }
  .contact-inner h2 {
    max-width:550px;
    font-size:3.2rem
  }
  .contact-inner>div>p:not(.eyebrow) {
    color:#bad0dc;
    max-width:510px;
    margin-top:1.5rem;
    font-size:1.05rem
  }
  .contact-actions {
    display:flex;
    flex-direction:column;
    align-items:flex-start
  }
  .email-address {
    font-size:1rem;
    color:#ecf5f7;
    margin-top:1rem;
    overflow-wrap:anywhere;
    border-bottom:1px solid #587381
  }
  .email-address:hover {
    color:var(--mint)
  }
  .contact-actions>p {
    font-size:.8rem!important;
    line-height:1.6!important;
    color:#aac4d1!important;
    max-width:370px!important;
    margin-top:1.1rem!important
  }
  .footer-brand .brand {
    color:var(--white);
    margin-bottom:1.5rem
  }
  .footer-brand p {
    font-size:.8rem;
    line-height:1.8
  }
  .registry-link {
    display:inline-block;
    font-size:.875rem;
    color:#c8d6dd;
    border-bottom:1px solid #7997a7;
    margin-top:.6rem
  }
  .registry-link:hover {
    color:var(--mint);
    border-color:var(--mint)
  }
  .footer-address h3 {
    font-size:.9rem;
    color:var(--white);
    margin-bottom:.8rem
  }
  .footer-address address {
    font-size:.8rem;
    font-style:normal;
    line-height:1.8
  }
  .footer-address p {
    font-size:.75rem;
    color:#9fbac9;
    margin-top:1rem;
    max-width:340px
  }
  .footer-links {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.65rem;
    font-size:.875rem
  }
  .footer-links a:hover {
    color:var(--mint)
  }
  .footer-bottom p {
    font-size:.75rem;
    color:#a4bdca
  }
  .footer-bottom p:last-child {
    text-align:right;
    max-width:600px
  }
}
@layer responsive {
  @media(min-width:1440px) {
    .hero-grid {
      padding-block:7.5rem
    }
    .hero-copy {
      padding-bottom:1rem
    }
  }
  @media(max-width:1100px) {
    .wrap {
      width:min(100% - 4rem,1240px)
    }
    .header-inner {
      gap:1.5rem
    }
    .desktop-nav {
      gap:1.2rem
    }
    .header-actions {
      gap:1.1rem
    }
    .hero-grid {
      gap:2rem
    }
    .section-heading,.research-layout,.company-layout,.contact-inner,.faq-section {
      gap:3.5rem
    }
    .process-grid {
      gap:2.3rem
    }
    .hero-description {
      font-size:1.05rem
    }
    .expertise-card h3 {
      font-size:1.35rem
    }
    .footer-main {
      gap:2rem
    }
    .brand {
      font-size:1.3rem
    }
    .header-contact {
      display:none
    }
  }
  @media(max-width:800px) {
    .wrap {
      width:calc(100% - 3rem)
    }
    .header-inner {
      min-height:4.6rem
    }
    .desktop-nav {
      display:none
    }
    .menu-toggle {
      display:flex
    }
    .header-actions {
      gap:.7rem
    }
    .hero-grid {
      grid-template-columns:1fr;
      gap:2.7rem;
      padding-block:4rem 3rem
    }
    .hero-copy {
      max-width:680px
    }
    h1 {
      font-size:clamp(3.6rem,10.4vw,5.4rem)
    }
    .hero-description {
      max-width:30rem
    }
    .research-object {
      width:min(100%,470px);
      justify-self:center;
      margin-top:0
    }
    .diagram-canvas {
      max-width:425px;
      margin-inline:auto
    }
    .object-header,.object-footer {
      max-width:470px
    }
    .hero-bottom {
      flex-direction:column;
      gap:.55rem;
      padding-block:1.3rem
    }
    .section {
      padding-block:4.5rem
    }
    .section-heading {
      grid-template-columns:1fr;
      gap:0
    }
    .section-heading .section-intro {
      margin-top:1.5rem;
      max-width:600px
    }
    .expertise-grid {
      grid-template-columns:1fr;
      gap:2.5rem;
      margin-top:2.5rem
    }
    .expertise-card {
      display:grid;
      grid-template-columns:1fr 1.3fr;
      gap:0 2rem
    }
    .card-top {
      grid-column:1/-1;
      margin-bottom:1.4rem
    }
    .expertise-card h3 {
      font-size:1.5rem;
      max-width:16rem;
      min-height:0
    }
    .expertise-card p {
      margin-top:0
    }
    .tag-list {
      grid-column:2
    }
    .research-section {
      padding-block:4.5rem
    }
    .research-layout {
      grid-template-columns:1fr;
      gap:2.5rem
    }
    .research-heading {
      max-width:600px
    }
    .research-note {
      margin-top:1.4rem
    }
    .process-section {
      padding-block:4.5rem
    }
    .process-heading {
      grid-template-columns:1fr;
      gap:0
    }
    .process-heading>p:not(.eyebrow) {
      margin-top:1.4rem;
      max-width:100%
    }
    .process-grid {
      gap:2rem;
      margin-top:2.5rem
    }
    .process-grid h3 {
      font-size:1.2rem
    }
    .process-grid p {
      font-size:.925rem
    }
    .company-layout {
      grid-template-columns:1fr;
      gap:2rem
    }
    .company-layout>div {
      max-width:630px
    }
    .company-facts {
      grid-template-columns:1.4fr 1fr;
      row-gap:1.5rem;
      margin-top:2.5rem
    }
    .faq-section {
      grid-template-columns:1fr;
      gap:2rem;
      padding-bottom:4.5rem
    }
    .faq-heading h2 {
      font-size:2.2rem
    }
    .contact-inner {
      grid-template-columns:1fr;
      gap:2rem
    }
    .contact-inner h2 {
      font-size:2.8rem
    }
    .contact-section {
      padding-block:4rem
    }
    .footer-main {
      grid-template-columns:1fr 1fr;
      gap:2.5rem
    }
    .footer-links {
      grid-column:1/-1;
      flex-direction:row;
      gap:1.5rem;
      flex-wrap:wrap
    }
    .footer-bottom {
      flex-direction:column;
      gap:.5rem
    }
    .footer-bottom p:last-child {
      text-align:left
    }
  }
  @media(max-width:480px) {
    .wrap {
      width:calc(100% - 2.5rem)
    }
    .brand {
      font-size:1.2rem
    }
    .brand-mark {
      width:1.8rem;
      height:1.8rem
    }
    .brand-sub {
      font-size:.75rem;
      letter-spacing:.06em
    }
    .header-inner {
      gap:.6rem;
      flex-wrap:wrap;
      padding-block:.65rem
    }
    .language-switch button {
      min-width:44px;
      min-height:44px;
      font-size:.875rem
    }
    .menu-toggle {
      width:44px
    }
    .header-actions {
      gap:.25rem
    }
    .hero-grid {
      padding-top:3.4rem
    }
    .hero .eyebrow {
      font-size:.75rem
    }
    h1 {
      font-size:clamp(3.4rem,13vw,4.5rem);
      letter-spacing:-.055em
    }
    .hero-description {
      font-size:1rem
    }
    .hero-actions {
      gap:1.4rem;
      margin-top:2rem
    }
    .hero-actions .button {
      padding-inline:1.25rem
    }
    .text-link {
      font-size:.875rem
    }
    .hero-bottom p {
      font-size:.75rem
    }
    .research-object {
      margin-top:.4rem
    }
    .object-header {
      padding-bottom:.8rem
    }
    .object-corner,.object-footer .cross {
      display:none
    }
    .micro-label,.object-corner {
      font-size:.75rem;
      letter-spacing:0
    }
    .object-footer {
      font-size:.75rem;
      padding-top:.8rem
    }
    .diagram-canvas {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .forge-diagram {
      grid-column:1 / -1
    }
    .diagram-label {
      position:static;
      text-align:center;
      overflow-wrap:anywhere;
      font-size:.75rem;
      letter-spacing:0;
      margin-block:0 1rem
    }
    h2 {
      font-size:2.25rem
    }
    .section-heading h2 {
      max-width:330px
    }
    .section-intro,.company-intro {
      font-size:1rem
    }
    .expertise-card {
      display:block
    }
    .expertise-card h3 {
      max-width:none;
      font-size:1.5rem
    }
    .expertise-card p {
      margin-top:1rem
    }
    .card-top {
      margin-bottom:1.4rem
    }
    .tag-list {
      margin-top:1.2rem
    }
    .scope-note {
      font-size:.8rem
    }
    .research-heading h2 {
      font-size:2.2rem
    }
    .research-item summary {
      gap:.8rem;
      grid-template-columns:1.4rem 1fr 1.2rem;
      padding-block:1.4rem
    }
    .area-title {
    overflow-wrap:anywhere;
      font-size:1.4rem
    }
    .area-category {
    overflow-wrap:anywhere;
      font-size:.75rem;
      letter-spacing:.04em
    }
    .area-content {
      padding:0 .5rem 1.4rem 2.2rem;
      font-size:.95rem
    }
    .process-grid {
      grid-template-columns:1fr;
      gap:2rem
    }
    .process-number {
      margin-bottom:1rem
    }
    .process-grid h3 {
      font-size:1.4rem
    }
    .process-grid p {
      font-size:1rem
    }
    .stage-panel {
      padding:1.8rem
    }
    .company-facts {
      grid-template-columns:1fr;
      gap:1.25rem
    }
    .company-facts dt {
      margin-bottom:.15rem
    }
    .faq-items summary {
      font-size:.95rem;
      gap:1rem
    }
    .faq-items p {
      padding-right:1rem
    }
    .contact-inner h2 {
      font-size:2.4rem
    }
    .footer-main {
      grid-template-columns:1fr;
      padding-block:3rem
    }
    .footer-links {
      gap:1.2rem
    }
    .footer-address p {
      max-width:300px
    }
    :lang(zh-CN) h1 {
      letter-spacing:.015em;
      font-size:clamp(2.65rem,12vw,4rem);
      line-height:1.2
    }
    :lang(zh-CN) h2 {
      line-height:1.2
    }
  }
  @media(max-width:480px) {
    .header-inner>.brand .brand-mark {
      display:none
    }
  }
  @media(max-width:480px) {
    .header-inner { display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem }
    .header-actions { margin-left:0;justify-content:space-between;gap:.5rem }
  }
  @media(max-height:500px) {
    .site-header {
      position:static
    }
    .mobile-nav {
      max-height:none;
      overflow:visible
    }
  }
  @media(prefers-reduced-motion:reduce) {
    html {
      scroll-behavior:auto
    }
    *,*::before,*::after {
      animation:none!important;
      transition:none!important
    }
    .primary:hover {
      transform:none
    }
  }
  @media(forced-colors:active) {
    .language-switch button {
      border:1px solid ButtonText
    }
    .language-switch button[aria-pressed=true] {
      border:2px solid Highlight;
      font-weight:700
    }
    .expand-icon::before,.expand-icon::after {
      background:ButtonText
    }
  }
  @media print {
    .site-header,.hero-actions,.contact-actions .button,.footer-links,.language-switch {
      display:none
    }
    .hero,.process-section,.contact-section,.site-footer {
      background:white;
      color:#152e3d
    }
    .wrap {
      width:100%
    }
    .section,.research-section,.process-section,.contact-section {
      padding-block:2rem
    }
    .hero-grid {
      padding-block:1rem
    }
    .hero-description,.hero-bottom p,.process-grid p,.process-heading>p:not(.eyebrow),.contact-inner>div>p:not(.eyebrow),.footer-address p,.footer-bottom p {
      color:#526573
    }
    .research-object {
      display:none
    }
    .hero-grid {
      display:block
    }
    .accent {
      color:#154ea9
    }
    .eyebrow.light,.footer-brand .brand,.footer-address h3,.registry-link {
      color:#152e3d
    }
    .footer-brand .brand-mark {
      fill:#154ea9
    }
    .email-address {
      color:#152e3d;
      border-bottom:0
    }
    .contact-actions>p {
      color:#526573!important
    }
    .process-number {
      color:#154ea9
    }
    .hero-bottom {
      border-color:#bdced9
    }
    h1 {
      font-size:3rem
    }
    h1>span {
      display:inline
    }
    h1>span+span::before {
      content:" "
    }
    .footer-main {
      padding-block:2rem
    }
    .faq-items details,.research-item {
      break-inside:avoid
    }
    .company-layout,.research-layout {
      gap:2rem
    }
    details:not([open])>*:not(summary) {
      display:block
    }
    .expertise-card,.stage-panel,.company-facts>div,.process-grid li {
      break-inside:avoid
    }
  }
}
