/* About */
.about-page { overflow: clip; }
.about-page h1, .about-page h2, .about-page h3 { font-family: var(--font-apple-display); }
.about-hero { min-height: 620px; padding: 82px 24px 76px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr); gap: 74px; align-items: center; }
.about-hero-copy { position: relative; z-index: 2; }
.about-hero-copy h1 { max-width: 790px; margin: 0; color: #2a2737; font-size: clamp(52px, 6.2vw, 84px); line-height: .98; letter-spacing: var(--title-tracking); font-weight: 530; }
.about-hero-copy > p { max-width: 650px; margin: 28px 0 31px; color: var(--muted); font-size: 1.03125rem; line-height: 1.7; }
.about-hero-copy .button { gap: 13px; }
.about-hero-object { width: min(390px, 100%); aspect-ratio: 1; position: relative; justify-self: center; transform-style: preserve-3d; animation: aboutFloat 11s ease-in-out infinite; }
.about-hero-object::before { content: ""; position: absolute; inset: 7%; border-radius: 50%; background: radial-gradient(circle, rgba(79,171,170,.13), rgba(95,81,161,.045) 49%, transparent 72%); }
.about-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(95,81,161,.2); border-radius: 50%; transform-origin: center; }
.about-orbit-a { width: 80%; height: 48%; transform: translate(-50%,-50%) rotate(-19deg); animation: aboutOrbitForward 22s ease-in-out infinite; }
.about-orbit-b { width: 70%; height: 56%; border-color: rgba(79,171,170,.25); transform: translate(-50%,-50%) rotate(27deg); animation: aboutOrbitReverse 26s ease-in-out infinite; }
.about-network { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.about-network-line { fill: none; stroke: rgba(79,171,170,.3); stroke-width: 1.2; stroke-linecap: round; stroke-dasharray: 6 7; animation: aboutNetworkFlow 14s linear infinite; }
.about-network-line:nth-child(2) { stroke: rgba(95,81,161,.24); animation-duration: 17s; animation-direction: reverse; }
.about-network-line:nth-child(3) { stroke: rgba(95,81,161,.28); animation-duration: 20s; }
.about-glass { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; border: 1px solid rgba(95,81,161,.2); color: #5f51a1; background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(95,81,161,.055)); box-shadow: inset 0 0 30px rgba(255,255,255,.8), 0 18px 42px rgba(38,58,63,.09); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.about-glass-main { width: 142px; height: 142px; z-index: 4; margin: -71px 0 0 -71px; align-content: center; gap: 7px; border-color: rgba(79,171,170,.32); border-radius: 43px; color: #2a2737; background: linear-gradient(145deg, rgba(255,255,255,.93), rgba(79,171,170,.075)); animation: aboutIntegratedCore 9s ease-in-out infinite; }
.about-glass-main strong { display: block; font-family: var(--font-apple-display); font-size: 1rem; line-height: 1; font-weight: 530; letter-spacing: -.02em; }
.about-glass-main small { color: #4fabaa; font-size: .55rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.about-glass-main svg { color: #4fabaa; }
.about-integrated-node { width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 25px; transform: translateZ(24px); }
.about-integrated-node strong { font-family: var(--font-apple-display); font-size: 1.25rem; font-weight: 530; }
.about-integrated-executive { left: 25%; top: 26%; color: #5f51a1; transform: translateZ(18px) rotate(-7deg); animation: aboutIntegratedNodeA 9.5s ease-in-out infinite; }
.about-integrated-commercial { left: 78%; top: 33%; border-color: rgba(95,81,161,.27); color: #5f51a1; transform: translateZ(25px) rotate(8deg); animation: aboutIntegratedNodeB 10.5s ease-in-out infinite -.9s; }
.about-integrated-operations { left: 37%; top: 78%; border-color: rgba(79,171,170,.3); color: #4fabaa; transform: translateZ(21px) rotate(-3deg); animation: aboutIntegratedNodeC 11.5s ease-in-out infinite -1.8s; }
.about-integrated-signal { width: 8px; height: 8px; position: absolute; z-index: 6; left: 50%; top: 50%; border-radius: 50%; color: #4fabaa; background: currentColor; box-shadow: 0 0 16px currentColor; }
.about-integrated-signal-a { color: #5f51a1; animation: aboutIntegratedSignalA 7.5s ease-in-out infinite; }
.about-integrated-signal-b { color: #5f51a1; animation: aboutIntegratedSignalB 8.5s ease-in-out infinite -.8s; }
.about-integrated-signal-c { color: #4fabaa; animation: aboutIntegratedSignalC 9.5s ease-in-out infinite -1.6s; }
.about-facts { min-height: 138px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line-soft); border-radius: 17px; background: rgba(255,255,255,.58); overflow: hidden; }
.about-facts article { padding: 32px; display: grid; align-content: center; gap: 17px; border-right: 1px solid var(--line-soft); }
.about-facts article:last-child { border-right: 0; }
.about-facts span { color: #5f51a1; font-size: .61875rem; }
.about-facts strong { color: #2a2737; font-size: 1rem; font-weight: 540; }
.about-history, .about-positioning, .about-delivery, .about-sectors, .about-structure, .about-legal { padding: 108px 24px; }
.about-history > header, .about-sectors > header, .about-structure > header, .about-legal > header { max-width: 850px; }
.about-history h2, .about-positioning h2, .about-delivery h2, .about-sectors h2, .about-structure h2, .about-legal h2, .about-cta h2 { margin: 0; color: #2a2737; font-size: clamp(34px, 4.3vw, 58px); line-height: 1.04; letter-spacing: var(--title-tracking); font-weight: 530; }
.about-history-body { margin-top: 54px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .72fr); gap: 70px; align-items: start; }
.about-history-body > div { max-width: 720px; }
.about-history-body > div p { margin: 0 0 22px; color: var(--muted); font-size: .9625rem; line-height: 1.78; }
.about-history-body aside { padding: 31px; border: 1px solid rgba(79,171,170,.2); border-radius: 16px; background: rgba(255,255,255,.58); }
.about-history-body aside svg { color: #4fabaa; }
.about-history-body aside span { display: block; margin-top: 30px; color: #2a2737; font-size: .6875rem; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.about-history-body aside p { margin: 13px 0 0; color: var(--muted); font-size: .825rem; line-height: 1.68; }
.about-positioning > header, .about-delivery > header { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, .65fr); gap: 70px; align-items: end; }
.about-positioning > header > p, .about-delivery > header > p, .about-sectors > header > p, .about-structure > header > p { margin: 0; color: var(--muted); font-size: .825rem; line-height: 1.72; }
.about-priority-grid { margin-top: 55px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.about-priority-grid article { min-height: 350px; padding: 35px; position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.58); overflow: hidden; }
.about-priority-grid article::after { content: ""; width: 230px; aspect-ratio: 1; position: absolute; right: -100px; bottom: -135px; border: 1px solid rgba(79,171,170,.12); border-radius: 50%; box-shadow: 0 0 0 30px rgba(79,171,170,.025), 0 0 0 60px rgba(95,81,161,.02); }
.about-priority-grid article > div { display: flex; justify-content: space-between; gap: 24px; }
.about-priority-grid article > div span { color: #5f51a1; font-size: .6875rem; }
.about-priority-grid article > div small { color: #59666c; font-size: .61875rem; text-transform: uppercase; letter-spacing: .06em; }
.about-priority-grid h3 { max-width: 390px; margin: 64px 0 15px; color: #2a2737; font-size: 1.75rem; font-weight: 540; }
.about-priority-grid p { max-width: 510px; margin: 0; color: var(--muted); font-size: .825rem; line-height: 1.7; }
.about-priority-grid article > a { width: 40px; height: 40px; margin-top: auto; z-index: 2; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: #4fabaa; background: rgba(255,255,255,.7); transition: transform .2s ease, background .2s ease; }
.about-priority-grid article > a:hover { transform: translateY(-2px); background: #fff; }
.about-delivery-grid { margin-top: 55px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.56); overflow: hidden; }
.about-delivery-grid article { min-height: 350px; padding: 34px; border-right: 1px solid var(--line-soft); }
.about-delivery-grid article:last-child { border-right: 0; }
.about-delivery-grid article > div { display: flex; align-items: center; justify-content: space-between; color: #4fabaa; }
.about-delivery-grid article > div span { color: #5f51a1; font-size: .61875rem; }
.about-delivery-grid h3 { margin: 63px 0 11px; color: #2a2737; font-size: 1.5625rem; font-weight: 540; }
.about-delivery-grid strong { color: #4fabaa; font-size: .6875rem; font-weight: 650; }
.about-delivery-grid p { margin: 20px 0 0; color: var(--muted); font-size: .75625rem; line-height: 1.7; }
.about-sectors > header > p, .about-structure > header > p { max-width: 690px; margin-top: 23px; }
.about-sectors > div { margin-top: 48px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.about-sectors > div > span { min-height: 68px; padding: 0 18px 0 5px; display: flex; align-items: center; gap: 21px; border-bottom: 1px solid var(--line-soft); color: #42535a; font-size: .89375rem; }
.about-sectors > div > span:nth-child(odd) { border-right: 1px solid var(--line-soft); }
.about-sectors small { width: 26px; color: #4fabaa; font-size: .55rem; }
.about-leaders { margin-top: 50px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.about-leaders article { min-height: 300px; padding: 30px; position: relative; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.58); }
.about-leaders article > span { color: #5f51a1; font-size: .61875rem; }
.about-leaders article > div { width: 74px; height: 74px; margin-top: 45px; display: grid; place-items: center; border: 1px solid rgba(79,171,170,.24); border-radius: 22px; color: #4fabaa; background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(79,171,170,.07)); box-shadow: inset 0 0 24px rgba(255,255,255,.76), 0 14px 30px rgba(38,58,63,.07); transform: rotate(-3deg); }
.about-leaders h3 { margin: 35px 0 7px; color: #2a2737; font-size: 1.25rem; font-weight: 540; }
.about-leaders p { margin: 0; color: var(--muted); font-size: .75625rem; }
.about-legal { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.35fr); gap: 72px; align-items: start; }
.about-legal dl { margin: 0; border-top: 1px solid var(--line); }
.about-legal dl > div { min-height: 68px; padding: 17px 2px; display: grid; grid-template-columns: 160px 1fr; gap: 24px; align-items: center; border-bottom: 1px solid var(--line-soft); }
.about-legal dt { color: #59666c; font-size: .61875rem; text-transform: uppercase; letter-spacing: .04em; }
.about-legal dd { margin: 0; color: #2a2737; font-size: .825rem; line-height: 1.55; }
.about-legal dd a { color: #4fabaa; }
.about-cta { margin-bottom: 80px; padding: 62px 64px; display: flex; align-items: end; justify-content: space-between; gap: 60px; border: 1px solid rgba(79,171,170,.14); border-radius: 22px 22px 0 0; background: linear-gradient(100deg, #e4efed, rgba(247,248,250,.92) 52%, #f0eef8); }
.about-cta > div { max-width: 780px; }
.about-cta p { max-width: 600px; margin: 22px 0 0; color: var(--muted); font-size: .825rem; line-height: 1.7; }
.about-cta .button { flex: 0 0 auto; gap: 14px; }

@keyframes aboutFloat { 0%, 100% { transform: translate3d(0,0,0) rotate(-.05deg); } 35% { transform: translate3d(1px,-2px,0) rotate(.05deg); } 70% { transform: translate3d(-1px,-1px,0) rotate(-.02deg); } }
@keyframes aboutOrbitForward { 0%, 100% { rotate: -2.5deg; } 50% { rotate: 2.5deg; } }
@keyframes aboutOrbitReverse { 0%, 100% { rotate: 2deg; } 50% { rotate: -2deg; } }
@keyframes aboutNetworkFlow { to { stroke-dashoffset: -52; } }
@keyframes aboutIntegratedCore { 0%, 100% { translate: 0 0; scale: .995; } 50% { translate: 0 -2px; scale: 1.01; } }
@keyframes aboutIntegratedNodeA { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: -2px -2px; rotate: -.5deg; } }
@keyframes aboutIntegratedNodeB { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 2px -2px; rotate: .5deg; } }
@keyframes aboutIntegratedNodeC { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: -1px 2px; rotate: -.5deg; } }
@keyframes aboutIntegratedSignalA { 0% { left: 50%; top: 50%; opacity: 0; scale: .9; } 18%, 82% { opacity: .75; } 100% { left: 25%; top: 26%; opacity: 0; scale: 1; } }
@keyframes aboutIntegratedSignalB { 0% { left: 50%; top: 50%; opacity: 0; scale: .9; } 18%, 82% { opacity: .75; } 100% { left: 78%; top: 33%; opacity: 0; scale: 1; } }
@keyframes aboutIntegratedSignalC { 0% { left: 50%; top: 50%; opacity: 0; scale: .9; } 18%, 82% { opacity: .75; } 100% { left: 37%; top: 78%; opacity: 0; scale: 1; } }

@media (max-width: 820px) {
  .about-hero { min-height: auto; padding: 65px 18px 75px; grid-template-columns: 1fr; gap: 40px; }
  .about-hero-copy h1 { font-size: clamp(46px, 12vw, 68px); }
  .about-hero-object { width: min(330px, 82vw); }
  .about-facts { grid-template-columns: 1fr; }
  .about-facts article { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .about-facts article:last-child { border-bottom: 0; }
  .about-history, .about-positioning, .about-delivery, .about-sectors, .about-structure, .about-legal { padding: 80px 18px; }
  .about-history-body, .about-positioning > header, .about-delivery > header, .about-legal { grid-template-columns: 1fr; gap: 34px; }
  .about-priority-grid, .about-delivery-grid, .about-leaders { grid-template-columns: 1fr; }
  .about-delivery-grid article { border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .about-delivery-grid article:last-child { border-bottom: 0; }
  .about-cta { margin-bottom: 60px; padding: 50px 34px; align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .about-hero-object { width: min(270px, 86vw); }
  .about-glass-main { width: 110px; height: 110px; margin: -55px 0 0 -55px; border-radius: 34px; }
  .about-glass-main strong { font-size: .825rem; }
  .about-integrated-node { width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 19px; }
  .about-integrated-node strong { font-size: 1rem; }
  .about-history-body aside, .about-priority-grid article, .about-delivery-grid article, .about-leaders article { padding: 27px 24px; }
  .about-priority-grid h3 { margin-top: 48px; }
  .about-sectors > div { grid-template-columns: 1fr; }
  .about-sectors > div > span:nth-child(odd) { border-right: 0; }
  .about-legal dl > div { grid-template-columns: 1fr; gap: 8px; }
  .about-cta { padding: 42px 24px; border-radius: 17px 17px 0 0; }
}

