/* About — page layout on top of the shared Grid skin (/assets/od-grid-skin.css) */
.ab-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(120px,14vw,170px) 0 clamp(48px,6vw,72px)}
.ab-portrait{margin:0;padding:12px;overflow:hidden}
.ab-portrait img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;object-position:center 22%;border-radius:16px}
.ab-portrait figcaption{position:absolute;inset:auto 26px 26px 26px;display:flex;flex-direction:column;gap:2px;padding:14px 18px;border:1px solid var(--gx-line-strong);border-radius:16px;background:rgba(2,10,41,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ab-portrait figcaption strong{font-size:20px}
.ab-portrait figcaption span{color:var(--gx-lime);font-size:14px;font-weight:600}

.ab-stats{padding-bottom:clamp(20px,4vw,40px)}

/* Network map: "the business" in the middle, the three layers around it */
.ab-network{position:relative;max-width:920px;margin-inline:auto;padding:clamp(18px,3vw,32px);aspect-ratio:600/380}
.ab-network__map{position:absolute;inset:clamp(18px,3vw,32px);width:calc(100% - clamp(18px,3vw,32px)*2);height:calc(100% - clamp(18px,3vw,32px)*2)}
.ab-network__line,.ab-network__ring{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--gx-ease)}
.ab-network__line{stroke:var(--gx-cyan);stroke-width:2;opacity:.7}
.ab-network__ring{stroke:var(--gx-line-strong);stroke-width:1.5;stroke-dasharray:1;transition-duration:2.4s}
.ab-network.is-visible .ab-network__line,.ab-network.is-visible .ab-network__ring{stroke-dashoffset:0}
.ab-network__line:nth-of-type(3){transition-delay:.25s}
.ab-network__line:nth-of-type(4){transition-delay:.5s}
.ab-network__pulse{fill:var(--gx-lime);filter:drop-shadow(0 0 6px var(--gx-lime))}
.ab-network__pulse--cyan{fill:var(--gx-cyan);filter:drop-shadow(0 0 6px var(--gx-cyan))}
.ab-network__core circle{fill:#0b1b49;stroke:var(--gx-lime);stroke-width:2;animation:ab-core 3s ease-in-out infinite}
.ab-network__core text{fill:#fff;font:800 22px Rubik,Arial,sans-serif}
@keyframes ab-core{0%,100%{stroke-opacity:1}50%{stroke-opacity:.35}}
.ab-network__node{position:absolute;display:grid;justify-items:center;gap:2px;min-width:150px;padding:14px 18px;border:1px solid var(--gx-line-strong);border-radius:18px;background:rgba(7,19,58,.92);text-align:center;transform:translate(50%,-50%)}
.ab-network__node span{color:var(--gx-lime);font-size:14px;font-weight:700}
.ab-network__node strong{font-size:clamp(20px,2.4vw,28px)}
.ab-network__node small{color:var(--gx-muted);font-size:14px}
/* positions mirror the SVG coordinates (120,90) (480,90) (300,320) inside a 600×380 box, in RTL offsets */
.ab-network__node--crm{right:80%;top:26%}
.ab-network__node--auto{right:20%;top:26%}
.ab-network__node--ai{right:50%;top:86%}

.ab-principles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ab-principles__grid article,.ab-bento article{padding:28px}
.ab-principles__grid span{color:var(--gx-lime);font:800 15px Rubik,Arial,sans-serif}
.ab-principles__grid h3{margin:14px 0 8px;font-size:23px}
.ab-principles__grid p,.ab-bento p{margin:0;color:var(--gx-muted);font-size:16px;line-height:1.65}

.ab-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ab-bento__wide{grid-column:span 2}
.ab-bento b{display:block;margin-bottom:10px;font-size:21px}
.ab-bento__wide b{font-size:26px;color:var(--gx-lime)}

.ab-team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.ab-team__copy .gx-lead+.gx-lead{margin-top:14px}
.ab-team__cards{display:grid;gap:14px}
.ab-team__cards>div{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;padding:22px 24px}
.ab-team__cards span{justify-self:start;padding:6px 12px;border:1px solid rgba(111,255,0,.4);border-radius:999px;color:var(--gx-lime);font-size:14px;font-weight:700}
.ab-team__cards strong{font-size:18px}

.ab-certs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ab-certs__grid article{padding:28px;text-align:center}
.ab-certs__grid img{width:112px;height:112px;margin:0 auto 18px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.4))}
.ab-certs__grid h3{margin:0 0 8px;font-size:21px}
.ab-certs__grid p{margin:0;color:var(--gx-muted);font-size:15px;line-height:1.6}

.ab-process .gx-steps{max-width:880px}
.ab-process h3{margin:0 0 6px;font-size:21px}
.ab-process p{margin:0;color:var(--gx-muted);font-size:16px;line-height:1.65}
.ab-process small{display:inline-block;margin-top:12px;padding:6px 12px;border-radius:999px;background:rgba(53,207,255,.1);color:var(--gx-cyan);font-size:14px}


/* Client testimonials: three glass columns drifting in opposite directions, paused on hover or focus */
.ab-voices__wall{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;height:640px;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.ab-voices__column{min-width:0;overflow:hidden}
.ab-voices__track{display:flex;flex-direction:column;animation:ab-voices-scroll 90s linear infinite}
.ab-voices__column.is-reverse .ab-voices__track{animation-direction:reverse;animation-duration:100s}
.ab-voices__wall:hover .ab-voices__track,.ab-voices__wall:focus-within .ab-voices__track{animation-play-state:paused}
.ab-voices__set{display:flex;flex:none;flex-direction:column;gap:14px;padding-bottom:14px}
@keyframes ab-voices-scroll{to{transform:translateY(-50%)}}
.ab-voice{margin:0;padding:22px;border:1px solid var(--gx-line);border-radius:20px;background:var(--gx-glass)}
.ab-voice blockquote{margin:0 0 16px;color:#dce3f5;font-size:15px;line-height:1.7}
.ab-voice figcaption{display:grid;grid-template-columns:38px 1fr;column-gap:12px;align-items:center}
.ab-voice figcaption span{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(111,255,0,.35);border-radius:50%;background:rgba(111,255,0,.1);color:var(--gx-lime);font-weight:800}
.ab-voice figcaption strong{font-size:15px}
.ab-voice figcaption small{color:var(--gx-muted);font-size:14px}

@media(max-width:980px){
  .ab-hero,.ab-team{grid-template-columns:1fr}
  .ab-portrait{max-width:440px}
  .ab-bento{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .ab-hero{padding-top:110px}
  .ab-principles__grid,.ab-certs__grid,.ab-bento{grid-template-columns:1fr}
  .ab-bento__wide{grid-column:auto}
  .ab-network{aspect-ratio:auto;display:grid;gap:12px}
  .ab-network__map{position:relative;inset:auto;width:100%;height:auto}
  .ab-network__node{position:static;transform:none;width:100%}
  .ab-team__cards>div{grid-template-columns:1fr;gap:10px}
  .ab-voices__wall{grid-template-columns:1fr;height:560px}
  .ab-voices__column:not(:first-child){display:none}
}
@media(prefers-reduced-motion:reduce){
  .ab-network__line,.ab-network__ring{stroke-dashoffset:0;transition:none}
  .ab-network__core circle{animation:none}
  .ab-network__pulse{display:none}
  .ab-voices__track{animation:none}
  .ab-voices__wall{overflow-y:auto;mask-image:none;-webkit-mask-image:none}
  .ab-voices__set[aria-hidden]{display:none}
}
