.hub-hero { position: relative; min-height: 690px; padding: 148px 0 88px; overflow: hidden; color: #fff; background: radial-gradient(circle at 78% 28%, rgba(33,164,213,.2), transparent 30%), linear-gradient(135deg, #041625, #0a3457 60%, #0a476b); }
.hub-grid-bg { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent, #000 45%, #000); }
.hub-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.hub-hero-copy h1 { margin: 0; font-size: clamp(46px, 4.7vw, 72px); line-height: 1.14; letter-spacing: -.05em; font-weight: 650; }
.hub-hero-copy h1 em { color: var(--cyan); font-style: normal; }
.hub-hero-copy > p:last-child { max-width: 600px; margin: 26px 0 0; color: #bdd1de; font-size: 16px; line-height: 1.9; }
.hub-anchor-bar { position: sticky; z-index: 50; top: 70px; background: rgba(255,255,255,.96); box-shadow: 0 8px 30px rgba(11,45,68,.08); backdrop-filter: blur(12px); }
.hub-anchor-bar .section-shell { min-height: 62px; display: flex; align-items: center; justify-content: center; gap: 42px; }
.hub-anchor-bar a { color: #51697a; font-size: 14px; }
.hub-anchor-bar a:hover { color: var(--blue); }
.content-note { margin: 18px 0 0; color: #8999a5; font-size: 13px; }

.portfolio-diagram { padding: 27px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 25px 70px rgba(0,0,0,.2); }
.portfolio-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; color: #bcd1dd; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 14px; }
.portfolio-brand img { width: 28px; filter: brightness(0) invert(1); }
.portfolio-tier { padding: 22px; display: flex; flex-direction: column; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.11); }
.portfolio-tier.flagship { margin-top: 18px; align-items: center; background: rgba(36,177,208,.13); border-color: rgba(71,207,230,.3); text-align: center; }
.portfolio-tier b { color: var(--cyan); font-size: 13px; letter-spacing: .13em; }
.portfolio-tier strong { margin-top: 10px; font-size: 18px; }
.portfolio-tier small { margin-top: 8px; color: #91abbc; font-size: 13px; }
.portfolio-columns { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.portfolio-columns .portfolio-tier { min-height: 145px; }

.architecture-layers { max-width: 980px; margin: 0 auto; }
.architecture-layers article { padding: 24px 28px; text-align: center; }
.architecture-layers article > span { color: var(--blue); font-size: 13px; letter-spacing: .15em; }
.architecture-layers h3 { margin: 10px 0 8px; font-size: 20px; }
.architecture-layers p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.layer-brand { background: #f1f6f8; border-top: 2px solid #9eb5c3; }
.architecture-layers .layer-flagship { margin: 12px 60px; color: #fff; background: linear-gradient(145deg, #0a3d64, #0d719e); }
.architecture-layers .layer-flagship > span { color: #6dd7e9; }
.architecture-layers .layer-flagship p { color: #c3dbe5; }
.architecture-layers .layer-flagship a { display: inline-flex; gap: 9px; margin-top: 17px; color: #73d9e9; font-size: 14px; }
.layer-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.layer-columns article { border: 1px solid var(--line); }
.layer-foundation { margin-top: 12px; padding: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 15px 32px; color: #607788; background: #eaf2f6; font-size: 13px; }
.layer-foundation span:not(:last-child)::after { content: "/"; margin-left: 32px; color: #9cb0bd; }

.portfolio-mcloud { color: #fff; background: var(--navy); }
.portfolio-mcloud-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 90px; align-items: center; }
.portfolio-mcloud-copy h2 { margin: 0; color: #fff; font-size: clamp(40px, 4.5vw, 60px); line-height: 1.18; letter-spacing: -.04em; }
.portfolio-mcloud-copy > p:not(.kicker) { margin: 23px 0 29px; color: #aec5d3; font-size: 14px; line-height: 1.9; }
.portfolio-domains { display: grid; grid-template-columns: repeat(3, 1fr); }
.portfolio-domains article { min-height: 310px; padding: 30px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.13); border-right: 0; }
.portfolio-domains article:last-child { border-right: 1px solid rgba(255,255,255,.13); }
.portfolio-domains span { color: var(--cyan); font: 700 13px Arial; }
.portfolio-domains h3 { margin: 72px 0 16px; font-size: 20px; }
.portfolio-domains p { margin: 0; color: #9eb8c7; font-size: 14px; line-height: 1.8; }

.digital-product-section { background: #f7fafc; }
.digital-product-list { border-top: 1px solid var(--line); }
.digital-product-list article { min-height: 148px; padding: 24px 0; display: grid; grid-template-columns: 100px 1fr 1.15fr; gap: 35px; align-items: center; border-bottom: 1px solid var(--line); }
.product-code { color: var(--blue); font: 700 34px Arial; letter-spacing: -.05em; }
.digital-product-list article > div:nth-child(2) > p { margin: 0 0 7px; color: #8094a2; font-size: 13px; letter-spacing: .12em; }
.digital-product-list h3 { margin: 0; font-size: 19px; }
.digital-product-list article > div:nth-child(2) > span { display: block; margin-top: 8px; color: var(--muted); font-size: 13px; }
.product-detail-link { display: inline-block; margin-top: 11px; color: var(--blue); font-size: 13px; }
.digital-product-list article > div:last-child { padding-left: 30px; border-left: 1px solid var(--line); }
.digital-product-list strong { color: #2d5c78; font-size: 13px; }
.digital-product-list article > div:last-child p { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

.portfolio-ai { color: #fff; background: linear-gradient(145deg, #061a2c, #0a395a); }
.portfolio-ai .section-heading h2 { color: #fff; }
.portfolio-ai .section-heading > p { color: #a9c0cf; }
.portfolio-ai-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid rgba(255,255,255,.13); }
.portfolio-ai-grid article { min-height: 290px; padding: 25px; display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.13); }
.portfolio-ai-grid article:last-child { border: 0; }
.portfolio-ai-grid span { color: #607f92; font: 700 13px Arial; }
.portfolio-ai-grid p { margin: 51px 0 9px; color: var(--cyan); font-size: 13px; }
.portfolio-ai-grid h3 { margin: 0 0 17px; font-size: 17px; line-height: 1.5; }
.portfolio-ai-grid strong { color: #9eb7c7; font-size: 13px; line-height: 1.8; font-weight: 500; }
.portfolio-ai-grid .ai-card-link { margin-top: auto; padding-top: 22px; color: #73dce9; font-size: 13px; }
.portfolio-ai-link { padding: 27px 0 0; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.portfolio-ai-link p { margin: 0; color: #92aebe; font-size: 14px; }
.portfolio-ai-link a { color: #68d7e8; font-size: 14px; }

.selection-paths { display: grid; grid-template-columns: repeat(4, 1fr); }
.selection-paths article { min-height: 300px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-right: 0; }
.selection-paths article:last-child { border-right: 1px solid var(--line); }
.selection-paths span { color: var(--blue); font: 700 13px Arial; }
.selection-paths h3 { margin: 55px 0 14px; font-size: 18px; line-height: 1.5; }
.selection-paths p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.selection-paths strong { margin-top: auto; padding-top: 20px; color: #1b648e; border-top: 1px solid var(--line); font-size: 13px; }

.solution-radar { position: relative; height: 440px; }
.solution-radar .radar-core { position: absolute; z-index: 4; left: 50%; top: 50%; width: 142px; height: 142px; transform: translate(-50%,-50%); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0c638e; box-shadow: 0 0 0 13px rgba(51,194,220,.07); }
.radar-core strong { font-size: 18px; }.radar-core span { margin-top: 7px; color: #a9d1df; font-size: 13px; }
.solution-radar .radar-ring { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(78,207,229,.22); border-radius: 50%; }
.radar-ring span { position: absolute; padding: 7px 10px; color: #a9c2d0; background: #0a3d5f; font-size: 13px; }
.ring-business { width: 260px; height: 260px; }.ring-business span { right: -35px; top: 45%; }
.ring-product { width: 350px; height: 350px; }.ring-product span { left: 21px; top: 8%; }
.ring-delivery { width: 430px; height: 430px; }.ring-delivery span { right: 16px; bottom: 13%; }
.solution-radar > p { position: absolute; bottom: -7px; width: 100%; margin: 0; color: #7796a9; text-align: center; font-size: 13px; letter-spacing: .1em; }

.principle-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; }
.principle-flow article { min-height: 240px; padding: 28px 24px; background: var(--mist); border-top: 3px solid #a5bbc8; }
.principle-flow article:last-child { color: #fff; background: linear-gradient(145deg,#0a4169,#0d739e); border-color: var(--cyan); }
.principle-flow > i { align-self: center; padding: 0 9px; color: #83a2b5; font-style: normal; }
.principle-flow span { color: var(--blue); font: 700 13px Arial; }.principle-flow article:last-child span { color: #71d8e9; }
.principle-flow h3 { margin: 45px 0 13px; font-size: 18px; }.principle-flow p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }.principle-flow article:last-child p { color: #c7dde7; }

.solution-detail { scroll-margin-top: 132px; }
.solution-dark { color: #fff; background: var(--navy); }
.solution-mist { background: #f3f7fa; }
.solution-detail-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: start; }
.solution-detail-grid.reverse { grid-template-columns: 1.25fr .75fr; }
.solution-detail-grid.reverse .solution-identity { order: 2; }.solution-detail-grid.reverse .solution-content { order: 1; }
.solution-identity > span { color: var(--blue); font: 700 14px Arial; }.solution-dark .solution-identity > span { color: var(--cyan); }
.solution-identity > p { margin: 45px 0 12px; color: #7893a4; font: 700 13px Arial; letter-spacing: .14em; }
.solution-identity h2 { margin: 0; font-size: clamp(36px,4vw,52px); line-height: 1.2; letter-spacing: -.04em; }
.solution-identity strong { display: block; margin-top: 20px; color: #546d7d; font-size: 14px; line-height: 1.8; font-weight: 500; }.solution-dark .solution-identity strong { color: #a9c1d0; }
.solution-content > p { margin: 0 0 29px; color: var(--muted); font-size: 14px; line-height: 1.9; }.solution-dark .solution-content > p { color: #acc3d1; }
.solution-facts { border-top: 1px solid var(--line); }.solution-dark .solution-facts { border-color: rgba(255,255,255,.13); }
.solution-facts > div { padding: 17px 0; display: grid; grid-template-columns: 95px 1fr; gap: 20px; border-bottom: 1px solid var(--line); }.solution-dark .solution-facts > div { border-color: rgba(255,255,255,.13); }
.solution-facts b { color: var(--blue); font-size: 13px; }.solution-dark .solution-facts b { color: var(--cyan); }
.solution-facts span { color: #5d7382; font-size: 14px; line-height: 1.65; }.solution-dark .solution-facts span { color: #a6bfce; }
.solution-content > a { display: inline-flex; gap: 9px; margin-top: 27px; color: var(--blue); font-size: 14px; }.solution-dark .solution-content > a { color: #69d7e8; }

.special-scenes { background: #fff; }
.special-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.special-grid.three-items { grid-template-columns: repeat(3, 1fr); }
.special-grid article { min-height: 250px; padding: 28px; border: 1px solid var(--line); border-right: 0; }
.special-grid article:last-child { border-right: 1px solid var(--line); }
.special-grid span { color: var(--blue); font: 700 13px Arial; }.special-grid h3 { margin: 54px 0 14px; font-size: 18px; }.special-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.solution-start { background: #f7fafc; }

@media (max-width: 1080px) {
  .hub-hero-grid { gap: 35px; }
  .portfolio-mcloud-grid, .solution-detail-grid, .solution-detail-grid.reverse { gap: 50px; }
  .principle-flow { grid-template-columns: 1fr 1fr; gap: 14px; }.principle-flow > i { display: none; }
}
@media (max-width: 820px) {
  .hub-hero { min-height: 0; padding: 122px 0 82px; }.hub-hero-grid { grid-template-columns: 1fr; }.hub-anchor-bar { top: 68px; overflow-x: auto; }.hub-anchor-bar .section-shell { width: max-content; padding: 0 18px; justify-content: flex-start; }
  .portfolio-diagram, .solution-radar { width: min(100%,560px); margin: 20px auto 0; }
  .architecture-layers .layer-flagship { margin: 12px 0; }.portfolio-mcloud-grid { grid-template-columns: 1fr; }.portfolio-domains { grid-template-columns: 1fr; }.portfolio-domains article { min-height: 190px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 0; }.portfolio-domains article:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }.portfolio-domains h3 { margin-top: 35px; }
  .portfolio-ai-grid { grid-template-columns: 1fr 1fr; }.portfolio-ai-grid article { min-height: 240px; border-bottom: 1px solid rgba(255,255,255,.13); }.selection-paths, .special-grid { grid-template-columns: 1fr 1fr; }.selection-paths article:nth-child(2), .special-grid article:nth-child(2) { border-right: 1px solid var(--line); }.selection-paths article:nth-child(-n+2), .special-grid article:nth-child(-n+2) { border-bottom: 0; }
  .solution-detail-grid, .solution-detail-grid.reverse { grid-template-columns: 1fr; }.solution-detail-grid.reverse .solution-identity, .solution-detail-grid.reverse .solution-content { order: initial; }
}
@media (max-width: 540px) {
  .hub-hero-copy h1 { font-size: 40px; }.portfolio-columns, .layer-columns { grid-template-columns: 1fr; }.layer-foundation span::after { display: none; }.portfolio-ai-grid, .selection-paths, .special-grid { grid-template-columns: 1fr; }.portfolio-ai-grid article, .portfolio-ai-grid article:last-child { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }.portfolio-ai-link { align-items: flex-start; flex-direction: column; }
  .digital-product-list article { grid-template-columns: 70px 1fr; gap: 20px; }.digital-product-list article > div:last-child { grid-column: 2; padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .selection-paths article, .selection-paths article:nth-child(2), .selection-paths article:nth-child(-n+2), .special-grid article, .special-grid article:nth-child(2), .special-grid article:nth-child(-n+2) { border: 1px solid var(--line); border-bottom: 0; }.selection-paths article:last-child, .special-grid article:last-child { border-bottom: 1px solid var(--line); }
  .solution-radar { height: 390px; transform: scale(.82); transform-origin: center top; margin-bottom: -60px; }.principle-flow { grid-template-columns: 1fr; }.solution-facts > div { grid-template-columns: 1fr; gap: 8px; }
}

/* Case center */
@media (max-width: 1080px) { .special-grid.three-items { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .special-grid.three-items { grid-template-columns: 1fr; } }

.case-spectrum { padding: 28px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 25px 70px rgba(0,0,0,.2); }
.spectrum-title { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.12); color: #c1d4df; font-size: 14px; }.spectrum-title img { width: 28px; filter: brightness(0) invert(1); }
.spectrum-row { padding: 18px 0; display: grid; grid-template-columns: 85px 110px 1fr; gap: 15px; border-bottom: 1px solid rgba(255,255,255,.09); align-items: center; }.spectrum-row:last-child { border: 0; }.spectrum-row b { color: var(--cyan); font-size: 13px; }.spectrum-row span { color: #fff; font-size: 15px; }.spectrum-row small { color: #86a4b6; font-size: 13px; }
.case-reading { display: grid; grid-template-columns: repeat(4, 1fr); }.case-reading article { min-height: 240px; padding: 28px; border: 1px solid var(--line); border-right: 0; }.case-reading article:last-child { border-right: 1px solid var(--line); }.case-reading span { color: var(--blue); font: 700 13px Arial; }.case-reading h3 { margin: 48px 0 13px; font-size: 18px; }.case-reading p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.case-category { scroll-margin-top: 132px; }.case-dark { color: #fff; background: var(--navy); }.case-mist { background: #f3f7fa; }
.case-category-head { margin-bottom: 48px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }.case-category-head p { margin: 0 0 12px; color: var(--blue); font: 700 13px Arial; letter-spacing: .13em; }.case-dark .case-category-head p { color: var(--cyan); }.case-category-head h2 { margin: 0; font-size: clamp(35px,4vw,50px); letter-spacing: -.04em; }.case-category-head > span { color: #728896; font-size: 13px; }.case-dark .case-category-head > span { color: #91aebe; }
.case-stories { display: grid; grid-template-columns: 1.45fr .78fr .78fr; gap: 14px; }.case-stories.paired-feature { grid-template-columns: 1fr 1fr; }.case-stories article { min-height: 330px; background: #fff; border-top: 3px solid #92b1c2; }.case-dark .case-stories article { background: rgba(255,255,255,.055); border-color: #466d84; }.case-story-feature { display: grid; grid-template-columns: .7fr 1.3fr; border-color: var(--cyan) !important; }.case-story-name { padding: 28px; }.case-story-name small { color: var(--blue); font-size: 13px; }.case-dark .case-story-name small { color: var(--cyan); }.case-story-name h3 { margin: 32px 0 8px; font-size: 24px; }.case-story-name strong { color: #607582; font-size: 14px; font-weight: 500; }.case-dark .case-story-name strong { color: #acc3d1; }.case-story-body { padding: 28px; border-left: 1px solid var(--line); }.case-dark .case-story-body { border-color: rgba(255,255,255,.12); }.case-story-body dl { margin: 0; }.case-story-body dl div { padding: 14px 0; border-bottom: 1px solid var(--line); }.case-dark .case-story-body dl div { border-color: rgba(255,255,255,.1); }.case-story-body dt { margin-bottom: 7px; color: var(--blue); font-size: 13px; }.case-dark .case-story-body dt { color: var(--cyan); }.case-story-body dd, .case-story-body > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }.case-dark .case-story-body dd, .case-dark .case-story-body > p { color: #9eb6c6; }.case-stories > article:not(.case-story-feature) { display: flex; flex-direction: column; }.case-stories > article:not(.case-story-feature) .case-story-body { margin-top: auto; border-left: 0; border-top: 1px solid var(--line); }.case-dark .case-stories > article:not(.case-story-feature) .case-story-body { border-color: rgba(255,255,255,.12); }
.case-story-logo { width: 100%; height: 62px; margin-bottom: 18px; padding: 10px 12px; display: flex; align-items: center; justify-content: flex-start; background: #fff; border: 1px solid var(--line); }
.case-story-logo img { display: block; max-width: 100%; max-height: 40px; object-fit: contain; object-position: left center; }
.case-story-link { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: 13px; }
.case-dark .case-story-link { color: var(--cyan); }
.case-story-link span { transition: transform .2s ease; }
.case-story-link:hover span { transform: translateX(4px); }
.ai-case-category { color: #fff; background: linear-gradient(145deg,#061a2b,#0a4365); }.ai-case-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }.ai-case-copy h2 { margin: 0; font-size: clamp(38px,4.4vw,58px); line-height: 1.18; letter-spacing: -.04em; }.ai-case-copy > strong { display: block; margin-top: 18px; color: #70d8e9; font-size: 15px; }.ai-case-copy > p:not(.kicker) { margin: 22px 0 0; color: #abc2d0; font-size: 15px; line-height: 1.9; }.ai-case-copy > a { display: inline-flex; gap: 9px; margin-top: 26px; color: #67d7e8; font-size: 14px; }
.ai-case-metric { display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; }.ai-case-metric > div { min-height: 255px; padding: 28px; display: flex; flex-direction: column; justify-content: center; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); }.ai-case-metric > div:last-child { background: rgba(53,198,220,.13); border-color: rgba(77,211,232,.35); }.ai-case-metric > i { color: var(--cyan); text-align: center; font-style: normal; font-size: 25px; }.ai-case-metric span { color: #7d9caf; font-size: 13px; letter-spacing: .12em; }.ai-case-metric b { margin-top: 17px; font: 700 25px Arial; }.ai-case-metric > div:last-child b { color: #75dfed; }.ai-case-metric small { margin-top: 28px; color: #99b3c3; font-size: 13px; line-height: 1.7; }
.client-center { overflow: hidden; }.client-center .client-marquee { margin-top: 0; }.case-disclaimer { margin: 24px 0 0; color: #8999a5; text-align: center; font-size: 13px; }

/* About */
.about-hero { min-height: 760px; display: grid; grid-template-columns: 48% 52%; color: #fff; background: var(--navy); }.about-hero-copy { display: flex; align-items: center; background: radial-gradient(circle at 80% 22%,rgba(42,166,214,.18),transparent 34%),linear-gradient(135deg,#061b2f,#0a3154); }.about-copy-inner { width: min(590px,calc(100% - 72px)); margin-left: max(48px,calc((100vw - 1320px)/2)); padding-top: 60px; }.about-copy-inner h1 { margin: 0; font-size: clamp(44px,4.4vw,68px); line-height: 1.14; letter-spacing: -.05em; }.about-copy-inner h1 em { color: var(--cyan); font-style: normal; }.about-copy-inner > p:not(.breadcrumb):not(.eyebrow) { margin: 25px 0 0; color: #bfd2df; font-size: 15px; line-height: 1.9; }.about-claim { display: block; margin-top: 42px; color: #c4d6e2; font-size: 15px; letter-spacing: .27em; }
.about-hero-image { position: relative; overflow: hidden; }.about-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,25,43,.45),transparent 30%),linear-gradient(0deg,rgba(4,24,40,.45),transparent 45%); }.about-hero-image > img { width: 100%; height: 100%; object-fit: cover; object-position: 47% center; }.about-hero-image > div { position: absolute; z-index: 2; right: 35px; bottom: 30px; padding: 13px 16px; display: flex; flex-direction: column; background: rgba(4,25,42,.72); border-left: 2px solid var(--cyan); }.about-hero-image span { color: #a8c2d2; font-size: 13px; }.about-hero-image b { margin-top: 5px; font-size: 15px; }
.company-intro { padding-top: 140px; }.company-intro-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: start; }.company-intro-copy { padding-top: 35px; border-top: 1px solid var(--line); }.company-intro-copy p { margin: 0 0 20px; color: #405a6c; font-size: 15px; line-height: 2; }
.about-history { color: #fff; background: var(--navy); }.about-history .section-heading h2 { color: #fff; }.about-history .section-heading > p { color: #a8c0cf; }.history-stages { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid rgba(255,255,255,.13); }.history-stages article { position: relative; min-height: 270px; padding: 30px 22px 20px 0; }.history-stages article::before { content: ""; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--navy); border: 2px solid #58788d; }.history-stages .current::before { background: var(--cyan); border-color: var(--cyan); box-shadow: 0 0 0 7px rgba(44,193,219,.11); }.history-stages time { color: var(--cyan); font-size: 13px; }.history-stages span { display: block; margin-top: 35px; color: #547387; font: 700 13px Arial; }.history-stages h3 { margin: 11px 0 12px; font-size: 17px; }.history-stages p { margin: 0; padding-right: 12px; color: #92aebe; font-size: 13px; line-height: 1.75; }
.capability-quadrants { display: grid; grid-template-columns: 1fr 1fr; }.capability-quadrants article { min-height: 260px; padding: 32px; border: 1px solid var(--line); border-right: 0; border-bottom: 0; }.capability-quadrants article:nth-child(even) { border-right: 1px solid var(--line); }.capability-quadrants article:nth-child(n+3) { border-bottom: 1px solid var(--line); }.capability-quadrants span { color: var(--blue); font: 700 13px Arial; }.capability-quadrants h3 { margin: 48px 0 14px; font-size: 20px; }.capability-quadrants p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.responsibility-story { color: #fff; background: linear-gradient(145deg,#06192a,#0a4164); }.responsibility-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }.responsibility-copy h2 { margin: 0; color: #fff; font-size: clamp(35px,4vw,52px); line-height: 1.24; letter-spacing: -.04em; }.responsibility-copy > p:not(.kicker) { margin: 23px 0 0; color: #a9c1cf; font-size: 15px; line-height: 1.9; }.responsibility-copy > a { display: inline-flex; gap: 9px; margin-top: 26px; color: #68d7e8; font-size: 14px; }.responsibility-shift { display: grid; grid-template-columns: 1fr 45px 1fr; align-items: center; }.responsibility-shift article { min-height: 270px; padding: 28px; display: flex; flex-direction: column; justify-content: center; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); }.responsibility-shift article:last-child { background: rgba(52,194,218,.12); border-color: rgba(77,209,231,.34); }.responsibility-shift > i { color: var(--cyan); text-align: center; font-style: normal; }.responsibility-shift span { color: var(--cyan); font-size: 13px; }.responsibility-shift h3 { margin: 20px 0 13px; font-size: 18px; }.responsibility-shift p { margin: 0; color: #99b3c3; font-size: 13px; line-height: 1.75; }
.honors-section { background: #f7fafc; }.honors-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }.honor-list { display: grid; grid-template-columns: repeat(3,1fr); }.honor-list article { min-height: 155px; padding: 24px; border: 1px solid var(--line); border-right: 0; border-bottom: 0; background: #fff; }.honor-list article:nth-child(3n) { border-right: 1px solid var(--line); }.honor-list article:nth-child(n+4) { border-bottom: 1px solid var(--line); }.honor-list span { color: var(--blue); font-size: 13px; }.honor-list h3 { margin: 38px 0 0; font-size: 15px; line-height: 1.5; }
.about-industry-grid { display: grid; grid-template-columns: repeat(4,1fr); }.about-industry-grid article { min-height: 200px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-right: 0; }.about-industry-grid article:last-child { border-right: 1px solid var(--line); }.about-industry-grid strong { color: var(--blue); font-size: 16px; }.about-industry-grid span { margin-top: auto; color: var(--muted); font-size: 13px; line-height: 1.7; }.about-link { display: flex; justify-content: center; margin-top: 28px; }.about-link a { color: var(--blue); font-size: 14px; }

/* Contact */
.contact-hero { min-height: 650px; padding: 150px 0 90px; color: #fff; background: radial-gradient(circle at 75% 25%,rgba(39,177,214,.2),transparent 31%),linear-gradient(135deg,#041625,#0a3658); }.contact-hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: center; }.contact-hero-copy h1 { margin: 0; font-size: clamp(46px,4.8vw,70px); line-height: 1.14; letter-spacing: -.05em; }.contact-hero-copy h1 em { color: var(--cyan); font-style: normal; }.contact-hero-copy > p:last-child { margin: 25px 0 0; color: #b9cedb; font-size: 15px; line-height: 1.9; }.contact-primary { padding: 38px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); }.contact-primary p { margin: 0 0 12px; color: #83a3b6; font-size: 13px; letter-spacing: .12em; }.contact-primary a { color: #fff; font: 700 40px Arial; }.contact-primary a.mail { font-size: 23px; }.contact-primary span { display: block; margin-top: 10px; color: #8da9ba; font-size: 13px; line-height: 1.6; }.contact-primary hr { margin: 30px 0; border: 0; border-top: 1px solid rgba(255,255,255,.12); }
.contact-primary .contact-start { margin-top: 26px; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; color: #73dce9; border-top: 1px solid rgba(255,255,255,.12); font: 600 14px/1.5 Arial; letter-spacing: .08em; }.contact-start b { font-size: 18px; transition: transform .2s ease; }.contact-start:hover b { transform: translateX(4px); }
.direction-grid { display: grid; grid-template-columns: repeat(4,1fr); }.direction-grid article { min-height: 300px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-right: 0; }.direction-grid article:last-child { border-right: 1px solid var(--line); }.direction-grid span { color: var(--blue); font: 700 13px Arial; }.direction-grid h3 { margin: 48px 0 13px; font-size: 18px; }.direction-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }.direction-grid a { margin-top: auto; padding-top: 18px; color: var(--blue); border-top: 1px solid var(--line); font-size: 13px; }
.contact-prepare { color: #fff; background: var(--navy); }.contact-prepare-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; align-items: center; }.prepare-copy h2 { margin: 0; color: #fff; font-size: clamp(36px,4vw,52px); line-height: 1.24; letter-spacing: -.04em; }.prepare-copy > p:not(.kicker) { margin: 23px 0 0; color: #9fb8c7; font-size: 15px; line-height: 1.85; }.prepare-list { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }.prepare-list li { min-height: 190px; padding: 25px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; border: 1px solid rgba(255,255,255,.12); border-right: 0; border-bottom: 0; }.prepare-list li:nth-child(even) { border-right: 1px solid rgba(255,255,255,.12); }.prepare-list li:nth-child(n+3) { border-bottom: 1px solid rgba(255,255,255,.12); }.prepare-list li > span { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--cyan); background: #0b4669; font: 700 13px Arial; }.prepare-list h3 { margin: 7px 0 9px; font-size: 16px; }.prepare-list p { margin: 0; color: #96afbf; font-size: 13px; line-height: 1.7; }
.contact-process { background: #f7fafc; }.contact-steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); list-style: none; }.contact-steps li { min-height: 230px; padding: 28px; border: 1px solid var(--line); border-right: 0; background: #fff; }.contact-steps li:last-child { border-right: 1px solid var(--line); }.contact-steps span { color: var(--blue); font: 700 13px Arial; }.contact-steps h3 { margin: 48px 0 13px; font-size: 18px; }.contact-steps p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.contact-inquiry { scroll-margin-top: 82px; color: #fff; background: radial-gradient(circle at 16% 18%,rgba(46,187,216,.17),transparent 28%),linear-gradient(140deg,#041827,#0b3c5d); }.inquiry-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 86px; align-items: start; }.inquiry-copy { position: sticky; top: 120px; }.inquiry-copy h2 { margin: 0; color: #fff; font-size: clamp(36px,4vw,52px); line-height: 1.22; letter-spacing: -.04em; }.inquiry-copy > p:not(.kicker) { margin: 24px 0 0; color: #a9c2d1; font-size: 15px; line-height: 1.9; }.inquiry-principles { margin-top: 35px; display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.13); }.inquiry-principles span { padding: 15px 0; color: #a9c2d1; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 13px; letter-spacing: .08em; }.inquiry-principles span::before { content: "✓"; margin-right: 10px; color: var(--cyan); }
.inquiry-form { padding: 38px; color: #17374b; background: #fff; box-shadow: 0 28px 80px rgba(0,16,31,.24); }.inquiry-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.inquiry-form label:not(.form-consent) { margin-bottom: 20px; display: grid; gap: 9px; color: #37576a; font-size: 13px; font-weight: 600; letter-spacing: .04em; }.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width: 100%; padding: 13px 14px; color: #18374a; background: #f7fafc; border: 1px solid #d8e2e8; border-radius: 0; font: 400 14px/1.6 Arial,"Microsoft YaHei",sans-serif; transition: border-color .2s ease,box-shadow .2s ease; }.inquiry-form textarea { resize: vertical; min-height: 92px; }.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus { outline: 0; border-color: #179bbc; box-shadow: 0 0 0 3px rgba(23,155,188,.11); }.form-consent { margin: 2px 0 24px; display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; color: #657c8a; font-size: 13px; line-height: 1.7; }.form-consent input { width: 15px; height: 15px; margin-top: 2px; padding: 0; accent-color: #087ea1; }.inquiry-form .button { border: 0; cursor: pointer; }.form-privacy { margin: 18px 0 0; color: #7c8f9a; font-size: 13px; line-height: 1.7; }.form-privacy a { color: var(--blue); }.form-status { min-height: 16px; margin: 10px 0 0; color: #087d9d; font-size: 13px; }
.contact-company { background: #fff; }.contact-company-grid { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 520px; box-shadow: 0 24px 70px rgba(22,65,93,.1); }.company-card { padding: 48px; }.company-card > img { width: 145px; }.company-card h2 { margin: 50px 0 8px; font-size: 23px; }.company-card > p { margin: 0; color: var(--blue); font-size: 14px; }.company-card dl { margin: 35px 0 0; }.company-card dl div { padding: 13px 0; display: grid; grid-template-columns: 55px 1fr; gap: 15px; border-top: 1px solid var(--line); }.company-card dt { color: #8b9aa5; font-size: 13px; }.company-card dd { margin: 0; color: #40596b; font-size: 14px; line-height: 1.6; }.company-image { position: relative; overflow: hidden; }.company-image > img { width: 100%; height: 100%; object-fit: cover; }.company-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,25,42,.55),transparent 55%); }.company-image > div { position: absolute; z-index: 2; left: 30px; bottom: 28px; display: flex; flex-direction: column; color: #fff; }.company-image span { color: #9dd5e1; font-size: 13px; }.company-image strong { margin-top: 7px; font-size: 16px; letter-spacing: .14em; }

/* 404 */
.error-page { color: #fff; background: #041827; }.error-main { min-height: calc(100vh - 92px); padding: 160px 0 100px; display: flex; align-items: center; background: radial-gradient(circle at 78% 24%,rgba(45,192,219,.22),transparent 28%),linear-gradient(135deg,#031522,#0a3b5c); }.error-content { max-width: 900px; }.error-code { margin: 0 0 18px; color: rgba(104,218,234,.42); font: 700 clamp(90px,15vw,190px)/.78 Arial; letter-spacing: -.07em; }.error-content h1 { max-width: 100%; margin: 22px 0 0; overflow-wrap: anywhere; font-size: clamp(42px,5.5vw,76px); line-height: 1.12; letter-spacing: -.05em; }.error-content > p:not(.error-code):not(.eyebrow) { max-width: 670px; margin: 24px 0 0; color: #b1c8d6; font-size: 14px; line-height: 1.9; }.error-actions { margin-top: 34px; display: flex; gap: 12px; flex-wrap: wrap; }

@media (max-width: 1080px) {
  .case-stories { grid-template-columns: 1.3fr 1fr; }.case-stories > article:nth-child(3) { grid-column: 2; }.case-stories.paired-feature { grid-template-columns: 1fr; }.company-intro-grid,.responsibility-story-grid,.honors-grid,.contact-hero-grid,.contact-prepare-grid { gap: 50px; }
}
@media (max-width: 820px) {
  .case-reading { grid-template-columns: 1fr 1fr; }.case-reading article:nth-child(2) { border-right: 1px solid var(--line); }.case-reading article:nth-child(-n+2) { border-bottom: 0; }.case-category-head { align-items: flex-start; flex-direction: column; }.case-stories { grid-template-columns: 1fr; }.case-stories > article:nth-child(3) { grid-column: auto; }.case-story-feature { grid-template-columns: 1fr; }.case-story-body { border-left: 0; border-top: 1px solid var(--line); }.ai-case-grid { grid-template-columns: 1fr; gap: 45px; }
  .about-hero { min-height: 0; grid-template-columns: 1fr; }.about-hero-copy { min-height: 650px; }.about-copy-inner { width: var(--shell); margin: 0 auto; padding: 120px 0 70px; }.about-hero-image { height: 390px; }.about-proof { margin-top: 0; }.company-intro { padding-top: 88px; }.company-intro-grid,.responsibility-story-grid,.honors-grid { grid-template-columns: 1fr; }.history-stages { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid rgba(255,255,255,.13); }.history-stages article { min-height: 0; padding: 8px 0 28px 28px; }.history-stages article::before { left: -5px; top: 12px; }.history-stages span { margin-top: 12px; }.honor-list { grid-template-columns: 1fr 1fr; }.honor-list article:nth-child(3n) { border-right: 0; }.honor-list article:nth-child(even) { border-right: 1px solid var(--line); }.honor-list article:nth-child(n+3) { border-bottom: 1px solid var(--line); }.about-industry-grid { grid-template-columns: 1fr 1fr; }.about-industry-grid article:nth-child(2) { border-right: 1px solid var(--line); }.about-industry-grid article:nth-child(-n+2) { border-bottom: 0; }
  .contact-hero-grid,.contact-prepare-grid,.inquiry-grid { grid-template-columns: 1fr; }.inquiry-grid { gap: 45px; }.inquiry-copy { position: static; }.direction-grid,.contact-steps { grid-template-columns: 1fr 1fr; }.direction-grid article:nth-child(2),.contact-steps li:nth-child(2) { border-right: 1px solid var(--line); }.direction-grid article:nth-child(-n+2),.contact-steps li:nth-child(-n+2) { border-bottom: 0; }.contact-company-grid { grid-template-columns: 1fr; }.company-image { min-height: 390px; }
}
@media (max-width: 540px) {
  .spectrum-row { grid-template-columns: 78px 1fr; }.spectrum-row small { grid-column: 2; }.case-reading,.capability-quadrants,.honor-list,.about-industry-grid,.direction-grid,.prepare-list,.contact-steps { grid-template-columns: 1fr; }.case-reading article,.case-reading article:nth-child(2),.case-reading article:nth-child(-n+2),.capability-quadrants article,.capability-quadrants article:nth-child(even),.capability-quadrants article:nth-child(n+3),.honor-list article,.honor-list article:nth-child(3n),.honor-list article:nth-child(even),.honor-list article:nth-child(n+3),.about-industry-grid article,.about-industry-grid article:nth-child(2),.about-industry-grid article:nth-child(-n+2),.direction-grid article,.direction-grid article:nth-child(2),.direction-grid article:nth-child(-n+2),.contact-steps li,.contact-steps li:nth-child(2),.contact-steps li:nth-child(-n+2) { border: 1px solid var(--line); border-bottom: 0; }.case-reading article:last-child,.capability-quadrants article:last-child,.honor-list article:last-child,.about-industry-grid article:last-child,.direction-grid article:last-child,.contact-steps li:last-child { border-bottom: 1px solid var(--line); }
  .ai-case-metric,.responsibility-shift { grid-template-columns: 1fr; }.ai-case-metric > i,.responsibility-shift > i { padding: 9px; transform: rotate(90deg); }.about-hero-copy { min-height: 620px; }.about-hero-image { height: 310px; }.company-intro-copy p { font-size: 14px; }.prepare-list li,.prepare-list li:nth-child(even),.prepare-list li:nth-child(n+3) { border: 1px solid rgba(255,255,255,.12); border-bottom: 0; }.prepare-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }.contact-primary { padding: 28px 22px; }.contact-primary a { font-size: 32px; }.contact-primary a.mail { font-size: 17px; word-break: break-all; }.contact-primary .contact-start { font-size: 13px; }.inquiry-form { padding: 28px 21px; }.inquiry-form .form-row { grid-template-columns: 1fr; gap: 0; }.company-card { padding: 34px 25px; }.error-main { padding: 130px 17px 80px; }.error-content { width: 100%; max-width: 100%; }.error-content h1 { font-size: 36px; }.error-actions { display: grid; }.error-actions .button { justify-content: center; }
}
