@import url('../../assets/css/internal-pages.css');

.technology-orbit { overflow: hidden; padding: 116px 0 130px; background: #fff; color: #17151d; }
.technology-orbit .technology-orbit__inner { width: min(calc(100% - 48px), 1440px); }
.technology-orbit__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 520px); gap: 26px 90px; align-items: end; margin-bottom: 86px; }
.technology-orbit__header > div:first-child { align-self: start; }
.technology-orbit .deyee-eyebrow { margin: 0 0 18px; color: #826daf !important; letter-spacing: .16em; }
.technology-orbit__header h2 { max-width: 820px; margin: 0; color: #17151d; font-size: clamp(42px, 4.6vw, 70px); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; }
.technology-orbit__intro { color: #777184; font-size: 17px; line-height: 1.75; }
.technology-orbit__intro p { margin: 0; }
.technology-orbit__diagram { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: 8px; align-items: stretch; }
.technology-orbit__diagram details { position: relative; overflow: hidden; margin: 0; border: 1px solid rgba(130,109,175,.13); background: #fbfafc; transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.technology-orbit__diagram summary { list-style: none; cursor: pointer; }
.technology-orbit__diagram summary::-webkit-details-marker { display: none; }
.technology-orbit__diagram summary:focus-visible { outline: 2px solid #826daf; outline-offset: -4px; }
.technology-orbit__core { min-height: 644px; border-radius: 0 260px 260px 0; background: #826daf !important; color: #fff; }
.technology-orbit__core::before { position: absolute; right: -90px; bottom: -120px; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255,255,255,.055), 0 0 0 116px rgba(255,255,255,.035); content: ''; pointer-events: none; }
.technology-orbit__core summary { position: relative; z-index: 1; display: flex; min-height: 644px; flex-direction: column; justify-content: center; padding: clamp(48px, 6vw, 92px); }
.technology-orbit__core summary > span { margin-bottom: 30px; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.technology-orbit__core strong { max-width: 430px; font-size: clamp(34px, 3vw, 52px); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }
.technology-orbit__nodes { display: grid; gap: 8px; }
.technology-orbit__node { min-height: 100px; border-radius: 64px 0 0 64px; }
.technology-orbit__node summary { display: grid; min-height: 100px; grid-template-columns: 64px 1fr 42px; gap: 24px; align-items: center; padding: 18px 42px 18px 20px; }
.technology-orbit__node summary::after { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(130,109,175,.28); border-radius: 50%; color: #826daf; content: '+'; font-size: 24px; font-weight: 300; transition: transform .25s ease, background .25s ease, color .25s ease; }
.technology-orbit__node summary > span { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 50%; background: #fff; color: #826daf; box-shadow: 0 12px 30px rgba(52,40,72,.06); font-size: 24px; font-weight: 300; }
.technology-orbit__node strong { max-width: 560px; color: #302a36; font-size: clamp(20px, 1.7vw, 28px); font-weight: 500; line-height: 1.28; letter-spacing: -.02em; }
.technology-orbit__diagram details:hover { border-color: rgba(130,109,175,.3); transform: translateY(-2px); }
.technology-orbit__node[open] { background: #f5f1fb; }
.technology-orbit__node[open] summary::after { background: #826daf; color: #fff; transform: rotate(45deg); }
.technology-orbit__tooltip { position: relative; z-index: 1; margin: -6px 46px 26px 108px; color: #706978; font-size: 16px; line-height: 1.72; }
.technology-orbit__tooltip p { margin: 0; }
.technology-orbit__core .technology-orbit__tooltip { margin: -170px clamp(48px, 6vw, 92px) 70px; color: rgba(255,255,255,.82); }
.technology-orbit__core:not([open]) .technology-orbit__tooltip, .technology-orbit__node:not([open]) .technology-orbit__tooltip { display: none; }
[data-orbit-preview] summary { pointer-events: none; }

@media (max-width: 1024px) {
  .technology-orbit { padding-top: 92px; }
  .technology-orbit__header { grid-template-columns: 1fr; margin-bottom: 62px; }
  .technology-orbit__diagram { grid-template-columns: 1fr; }
  .technology-orbit__core { min-height: 420px; border-radius: 0 180px 180px 0; }
  .technology-orbit__core summary { min-height: 420px; }
  .technology-orbit__node { border-radius: 0 100px 100px 0; }
}
@media (max-width: 767px) {
  .technology-orbit { padding: 72px 0 90px; }
  .technology-orbit .technology-orbit__inner { width: calc(100% - 44px); margin-left: 20px; margin-right: 24px; }
  .technology-orbit__header { gap: 24px; margin-bottom: 46px; }
  .technology-orbit__header h2 { font-size: 38px; }
  .technology-orbit__intro { font-size: 16px; }
  .technology-orbit__core { min-height: 360px; border-radius: 0 120px 120px 0; }
  .technology-orbit__core summary { min-height: 360px; padding: 42px 30px; }
  .technology-orbit__core strong { font-size: 32px; }
  .technology-orbit__core .technology-orbit__tooltip { margin: -110px 30px 48px; font-size: 15px; }
  .technology-orbit__node { min-height: 150px; border-radius: 0 76px 76px 0; }
  .technology-orbit__node summary { min-height: 150px; grid-template-columns: 68px 1fr 32px; gap: 16px; padding: 24px 22px 24px 18px; }
  .technology-orbit__node summary > span { width: 68px; height: 68px; font-size: 23px; }
  .technology-orbit__node summary::after { width: 32px; height: 32px; font-size: 20px; }
  .technology-orbit__node strong { font-size: 18px; }
  .technology-orbit__tooltip { margin: -8px 30px 28px 102px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .technology-orbit__diagram details, .technology-orbit__node summary::after { transition: none; } }

/* Keep the About page's original orbit; the editorial matrix belongs to Core Technology only. */
body:not(.page-id-144) .technology-orbit { position: relative; z-index: 1; overflow: visible; padding: 120px 0; color: #fff; background: #0c091b; }
body:not(.page-id-144) .technology-orbit::before { position: absolute; inset: 0; background: url('./technology-background.png') center / cover no-repeat; opacity: .4; content: ''; pointer-events: none; }
body:not(.page-id-144) .technology-orbit .technology-orbit__inner { position: relative; z-index: 1; width: calc(100% - 176px); max-width: 1440px; }
body:not(.page-id-144) .technology-orbit__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 80px; align-items: start; margin-bottom: 0; }
body:not(.page-id-144) .technology-orbit .deyee-eyebrow { color: #fff !important; }
body:not(.page-id-144) .technology-orbit__header h2 { margin: 16px 0 0; color: #fff; font-size: clamp(32px, 3vw, 46px); line-height: 1.2; font-weight: 500; letter-spacing: normal; }
body:not(.page-id-144) .technology-orbit__intro { color: #cec7dd; font-size: 17px; line-height: 1.8; }
body:not(.page-id-144) .technology-orbit__diagram { position: relative; display: block; height: 720px; margin: 80px 0; }
body:not(.page-id-144) .technology-orbit__nodes { display: contents; }
body:not(.page-id-144) .technology-orbit__diagram details { overflow: visible; border: 0; background: transparent; transition: none; }
body:not(.page-id-144) .technology-orbit__diagram details:hover { transform: none; }
@media (min-width:1025px) { body:not(.page-id-144) .technology-orbit__diagram details:hover { transform:translate(-50%,-50%); } }
body:not(.page-id-144) .technology-orbit__core { --orbit-angle: 0deg; position: absolute; top: 50%; left: 50%; display: flex; width: 420px; height: 420px; min-height: 0; flex-direction: column; align-items: center; justify-content: center; padding: 64px; transform: translate(-50%, -50%); border-radius: 50%; background: #141027 !important; box-shadow: 0 0 80px #a575e51a; text-align: center; }
body:not(.page-id-144) .technology-orbit__core::before { position: absolute; inset: -14px; width: auto; height: auto; border: 0; border-radius: inherit; padding: 7px; background: conic-gradient(from calc(-28deg + var(--orbit-angle, 0deg)), #c799f4 0deg 52deg, transparent 52deg 360deg), repeating-conic-gradient(from -28deg, #c799f440 0deg 52deg, transparent 52deg 60deg); box-shadow: none; content: ''; mask: linear-gradient(#fff 0 0) content-box exclude, linear-gradient(#fff 0 0); }
body:not(.page-id-144) .technology-orbit__core::after { position: absolute; inset: 10px; border: 1px solid #83619f60; border-radius: inherit; content: ''; pointer-events: none; }
body:not(.page-id-144) .technology-orbit__core summary { display: flex; min-height: 0; height: 100%; flex-direction: column; align-items: center; justify-content: center; padding: 0; }
body:not(.page-id-144) .technology-orbit__core summary > span { margin-bottom: 24px; color: #b99dd9; font-size: 14px; letter-spacing: .16em; }
body:not(.page-id-144) .technology-orbit__core strong { font-size: 34px; line-height: 1.25; font-weight: 500; letter-spacing: normal; }
body:not(.page-id-144) .technology-orbit__node { position: absolute; width: 280px; min-height: 0; transform: translate(-50%, -50%); border-radius: 0; text-align: center; }
body:not(.page-id-144) .technology-orbit__node summary { display: block; min-height: 0; padding: 0; }
body:not(.page-id-144) .technology-orbit__node summary::after { display: none; }
body:not(.page-id-144) .technology-orbit__node .technology-orbit__icon { display: grid; width: 70px; height: 70px; margin: 10px auto 0; place-items: center; border: 1px solid rgba(199,153,244,.32); border-radius: 50%; background: rgba(130,109,175,.08); color: #c799f4; box-shadow: 0 0 22px rgba(160,112,220,.16), inset 0 0 14px rgba(160,112,220,.08); }
body:not(.page-id-144) .technology-orbit__node .technology-orbit__icon svg { width: 42px; height: 42px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
body:not(.page-id-144) .technology-orbit__node strong { display: block; margin: 10px 0 0; color: #e1d6ef; font-size: 21px; line-height: 1.4; font-weight: 400; letter-spacing: normal; }
body:not(.page-id-144) .technology-orbit__node:nth-child(1) { left: 50%; top: 4%; }
body:not(.page-id-144) .technology-orbit__node:nth-child(2) { left: 84%; top: 28%; }
body:not(.page-id-144) .technology-orbit__node:nth-child(3) { left: 84%; top: 72%; }
body:not(.page-id-144) .technology-orbit__node:nth-child(4) { left: 50%; top: 96%; }
body:not(.page-id-144) .technology-orbit__node:nth-child(5) { left: 16%; top: 72%; }
body:not(.page-id-144) .technology-orbit__node:nth-child(6) { left: 16%; top: 28%; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(1):hover) .technology-orbit__core { --orbit-angle: 0deg; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(2):hover) .technology-orbit__core { --orbit-angle: 60deg; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(3):hover) .technology-orbit__core { --orbit-angle: 120deg; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(4):hover) .technology-orbit__core { --orbit-angle: 180deg; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(5):hover) .technology-orbit__core { --orbit-angle: 240deg; }
body:not(.page-id-144) .technology-orbit__diagram:has(.technology-orbit__node:nth-child(6):hover) .technology-orbit__core { --orbit-angle: 300deg; }
body:not(.page-id-144) .technology-orbit__diagram summary:hover strong,
body:not(.page-id-144) .technology-orbit__diagram details[open] strong { color: #c799f4; }
body:not(.page-id-144) .technology-orbit__tooltip { position: absolute; z-index: 2; top: 100%; left: 50%; width: 360px; margin: 0; padding: 24px; transform: translateX(-50%); border: 1px solid #c799f466; border-radius: 14px; background: #211735; box-shadow: 0 16px 40px #0005; color: #e1d6ef; text-align: center; font-size: 16px; line-height: 1.75; }
body:not(.page-id-144) .technology-orbit__core .technology-orbit__tooltip { margin: 0; color: #e1d6ef; }

@media (max-width: 1024px) {
  body:not(.page-id-144) .technology-orbit__header { grid-template-columns: 1fr; gap: 32px; }
  body:not(.page-id-144) .technology-orbit__diagram { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; height: auto; }
  body:not(.page-id-144) .technology-orbit__core { position: relative; top: auto; left: auto; grid-column: 1 / -1; justify-self: center; margin: 24px 0 32px; transform: none; }
  body:not(.page-id-144) .technology-orbit__diagram .technology-orbit__node { position: static; width: auto; padding: 24px; transform: none; border-top: 1px solid #ffffff26; }
  body:not(.page-id-144) .technology-orbit__diagram .technology-orbit__tooltip { position: static; width: 100%; margin-top: 20px; transform: none; }
}
@media (max-width: 767px) {
  body:not(.page-id-144) .technology-orbit { padding: 64px 0; }
  body:not(.page-id-144) .technology-orbit .technology-orbit__inner { width: calc(100% - 88px); margin-left: 20px; margin-right: 68px; }
  body:not(.page-id-144) .technology-orbit__diagram { grid-template-columns: 1fr; gap: 16px; margin: 56px 0; }
  body:not(.page-id-144) .technology-orbit__core { width: calc(100% - 28px); height: auto; min-height: 0; aspect-ratio: 1; padding: 28px; }
  body:not(.page-id-144) .technology-orbit__core summary { min-height: 0; }
body:not(.page-id-144) .technology-orbit__core strong { font-size: 26px; }
  body:not(.page-id-144) .technology-orbit__node strong { font-size: 19px; }
}

.technology-story { overflow: hidden; padding: 116px 0 130px; background: #fff; color: #17151d; }
.technology-story > .deyee-container { width: min(calc(100% - 48px), 1440px); }
.technology-story__intro { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 28px 90px; align-items: start; margin-bottom: 80px; }
.technology-story__intro .deyee-eyebrow { grid-column: 1 / -1; margin: 0; color: #826daf; letter-spacing: .16em; }
.technology-story__intro h2 { max-width: 100%; margin: 0; font-size: clamp(42px, 4.6vw, 70px); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; }
.technology-story__intro h2 span { display: block; white-space: nowrap; }
.technology-story__lead { color: #777184; font-size: 17px; line-height: 1.75; }
.technology-story__lead p { margin: 0; }
.technology-story__core { position: relative; grid-column: 1 / -1; display: grid; grid-template-columns: 52% 48%; min-height: 520px; margin-top: 72px; align-items: center; }
.technology-story__core-visual { position: relative; grid-column: 2; grid-row: 1; height: 490px; margin: 0; overflow: hidden; border-radius: 28px; background: #f4f1f8; box-shadow: 0 24px 64px rgba(52,40,72,.1); }
.technology-story__core-visual::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(130,109,175,.12), transparent 52%); content: ''; pointer-events: none; }
.technology-story__core-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 48% 50%; transition: transform .7s ease; }
.technology-story__core:hover img { transform: scale(1.025); }
.technology-story__core-copy { position: relative; z-index: 2; grid-column: 1; grid-row: 1; margin-right: -54px; padding: 50px; border: 1px solid rgba(130,109,175,.13); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 20px 54px rgba(52,40,72,.09); }
.technology-story__core strong { display: block; margin-bottom: 22px; color: #26202c; font-size: clamp(28px, 2.6vw, 42px); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.technology-story__core p { margin: 0; color: #777184; font-size: 16px; line-height: 1.72; }
.technology-story__chapters { display: grid; gap: 100px; }
.technology-story__chapter { position: relative; display: grid; min-height: 520px; grid-template-columns: 48% 52%; align-items: center; }
.technology-story__chapter:nth-child(even) { grid-template-columns: 52% 48%; }
.technology-story__chapter figure { position: relative; height: 490px; min-height: 490px; margin: 0; overflow: hidden; border-radius: 28px; background: #f4f1f8; box-shadow: 0 24px 64px rgba(52,40,72,.1); }
.technology-story__chapter figure::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(130,109,175,.09), transparent 50%); content: ''; pointer-events: none; }
.technology-story__chapter img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.technology-story__chapter:hover img { transform: scale(1.025); }
.technology-story__copy { position: relative; z-index: 2; margin-left: -54px; padding: 50px; border: 1px solid rgba(130,109,175,.13); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 20px 54px rgba(52,40,72,.09); }
.technology-story__chapter:nth-child(even) figure { grid-column: 2; grid-row: 1; }
.technology-story__chapter:nth-child(even) .technology-story__copy { grid-column: 1; grid-row: 1; margin-right: -54px; margin-left: 0; }
.technology-story__meta { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; color: #826daf; }
.technology-story__meta span { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; background: #f2eef9; font-size: 22px; font-weight: 800; }
.technology-story__meta small { font-size: 20px !important; font-weight: 600; letter-spacing: .1em; }
.technology-story__copy h3 { margin: 0 0 22px; color: #26202c; font-size: clamp(28px, 2.6vw, 42px); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.technology-story__core strong, .technology-story__copy h3 { text-transform: capitalize; }
.technology-story__copy p { margin: 0; color: #777184; font-size: 16px; line-height: 1.72; }
@media (max-width: 1024px) {
  .technology-story { padding-top: 92px; }
  .technology-story__intro { grid-template-columns: 1fr; margin-bottom: 64px; }
  .technology-story__intro .deyee-eyebrow, .technology-story__core { grid-column: auto; }
  .technology-story__core { grid-template-columns: 1fr; }
  .technology-story__core-visual { grid-column: 1; grid-row: 1; height: 440px; }
  .technology-story__core-copy { grid-column: 1; grid-row: 2; margin: -54px 34px 0; }
  .technology-story__chapter, .technology-story__chapter:nth-child(even) { grid-template-columns: 1fr; }
  .technology-story__chapter figure, .technology-story__chapter:nth-child(even) figure { grid-column: 1; grid-row: 1; height: 440px; min-height: 440px; }
  .technology-story__chapter .technology-story__copy, .technology-story__chapter:nth-child(even) .technology-story__copy { grid-column: 1; grid-row: 2; margin: -54px 34px 0; }
}
@media (max-width: 767px) {
  .technology-story { padding: 72px 0 90px; }
  .technology-story > .deyee-container { width: calc(100% - 44px); }
  .technology-story__intro { gap: 24px; margin-bottom: 48px; }
  .technology-story__intro h2 { font-size: 38px; }
  .technology-story__intro h2 span { white-space: normal; }
  .technology-story__lead { font-size: 16px; }
  .technology-story__core { grid-template-columns: 1fr; height: auto; margin-top: 12px; }
  .technology-story__core-visual { height: 280px; }
  .technology-story__core-copy { margin: -32px 14px 0; padding: 34px 24px; }
  .technology-story__core strong { max-width: calc(100% - 38px); font-size: 28px; }
  .technology-story__chapters { gap: 38px; }
  .technology-story__chapter, .technology-story__chapter:nth-child(even) { min-height: 0; }
  .technology-story__chapter figure, .technology-story__chapter:nth-child(even) figure { height: 280px; min-height: 280px; border-radius: 20px; }
  .technology-story__chapter img { min-height: 280px; }
  .technology-story__chapter .technology-story__copy, .technology-story__chapter:nth-child(even) .technology-story__copy { margin: -32px 14px 0; padding: 34px 24px; border-radius: 18px; }
  .technology-story__copy h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) { .technology-story__chapter img { transition: none; } }
