/*
 * About family styles: verified metrics, delivery approach, technology cards, leadership.
 * The approach panel uses one body-color token for lead/detail/list/question copy.
 * Technology card columns and compact CTA layout prevent long labels from clipping.
 * Preserve the local icon font and source-resolution portrait sizes; no hero-sized faces.
 */
/* Company section templates extend the existing shared TriStar design system. */
.ab-hero{background:radial-gradient(ellipse at 85% 65%,#14566988,transparent 65%),#082c40;color:#fff;padding-bottom:56px}
.ab-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:5%;align-items:center}
.ab-hero-copy{padding:18px 0 0}
.ab-hero-copy .ip-label{color:#93d5da;font-size:.75rem}
.ab-hero-copy h1{font-size:clamp(3rem,4.5vw,5.6rem);line-height:1.06;margin-bottom:28px;max-width:800px}
.about-page section[id]{scroll-margin-top:70px}
.ab-hero-copy h1 em{color:#6cdbd4}
.ab-hero-copy>p{max-width:590px;font-size:1.04rem;line-height:1.8;color:var(--body-text-on-dark);margin-bottom:30px}
.ab-origin{display:flex;align-items:center;gap:18px;margin-top:35px;color:#a6cbd7}
.ab-origin>strong{font:700 2.3rem/1 var(--font-display);letter-spacing:-.05em;color:#e2f5f5}
.ab-origin>span{font-size:.77rem;line-height:1.65;border-left:1px solid #52808d;padding-left:18px}
.ab-hero-image{margin:0;position:relative;min-width:0;aspect-ratio:1/1;max-height:560px;overflow:hidden;background:#08344a}
.ab-hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#031e2dee,transparent 75%),linear-gradient(90deg,#0a3a4966,transparent);pointer-events:none}
.ab-image-eyebrow{position:absolute;top:45px;left:42px;right:35px;z-index:2;font-size:.68rem;font-weight:700;letter-spacing:.13em;color:#b8f1ed}
.ab-hero-image figcaption{position:absolute;bottom:42px;left:42px;right:42px;z-index:2}
.ab-hero-image figcaption>span{display:block;font-size:.67rem;letter-spacing:.1em;color:#9ed9dd;margin-bottom:12px}
.ab-hero-image figcaption strong{display:block;font:700 clamp(1.5rem,2.5vw,2.6rem)/1.2 var(--font-display);letter-spacing:-.045em;color:#fff;max-width:420px}
.ab-hero-thread{position:absolute;inset:auto 42px 39%;z-index:2;display:flex;align-items:center;color:#dbf5f2;font-size:.76rem;font-weight:700}
.ab-hero-thread>span{padding:9px 12px;background:#073345cc;border:1px solid #88dbd969}
.ab-hero-thread>i{height:1px;background:#93dad8;flex:1;position:relative}
.ab-hero-thread>i:after{content:"";position:absolute;top:-2px;width:5px;height:5px;background:#a3fff0;border-radius:50%;box-shadow:0 0 10px #6debe0;animation:ab-stream 4s linear infinite;animation-play-state:paused}
.ip-animation-active .ab-hero-thread>i:after{animation-play-state:running}
@keyframes ab-stream{from{left:0;opacity:0}20%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}
.ab-scan{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 40%,#91e8df1b 50%,transparent 60%);transform:translateX(-100%);animation:ab-scan 11s linear infinite;animation-play-state:paused}
.ip-animation-active .ab-scan{animation-play-state:running}
@keyframes ab-scan{to{transform:translateX(100%)}}
.ab-metrics{background:#edf7f8;border-bottom:1px solid #c9e2e7}
.ab-metrics>.ip-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:40px}
.ab-metrics article{padding:0 25px;border-right:1px solid #c5dfe5;min-width:0}
.ab-metrics article:first-child{padding-left:0}.ab-metrics article:last-child{border:0}
.ab-metrics strong{display:block;color:#119da8;font:700 clamp(2.7rem,4.2vw,4.7rem)/1 var(--font-display);letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-bottom:18px}
.ab-metrics .ab-metric-label{font-family:var(--font-body);font-weight:700;font-size:.93rem!important;line-height:1.5;letter-spacing:0!important;margin:0 0 7px;color:inherit}
.ab-metrics p{color:#597a89;font-size:.78rem;line-height:1.6;margin-bottom:0}
.ab-chapters .ip-wrap>div{gap:clamp(22px,3.4vw,65px)}
.ab-purpose-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}
.ab-purpose h2{margin-bottom:30px}.ab-purpose p{color:var(--body-text);font-size:1rem;line-height:1.85}
.about-page .ab-lead{color:var(--body-text);font-size:1.08rem;line-height:1.8}
.ab-text-link{display:inline-flex;gap:28px;border-bottom:1px solid #319eae;padding-bottom:10px;font-size:.89rem;font-weight:700;color:#127d95;margin-top:15px}
.ab-text-link .ms-icon{font-size:20px}
.ab-purpose-statement{position:relative;background:linear-gradient(140deg,#f0f8fa,#e2f2f4);padding:clamp(25px,3vw,48px);border:1px solid #c3dfe6;overflow:hidden}
.ab-eyebrow{display:block;color:#168fa6;font-size:.72rem;font-weight:700;letter-spacing:.12em;line-height:1.6;text-transform:uppercase;margin-bottom:18px}
.ab-purpose-statement h3{font-size:clamp(1.8rem,2.9vw,3.1rem);line-height:1.22;margin-bottom:20px}
.ab-purpose-statement>p{font-size:.98rem;max-width:360px;margin-bottom:44px}
.ab-lifecycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;border-top:1px solid #8fbfc9;padding-top:25px;margin-top:25px}
.ab-lifecycle:after{content:"";position:absolute;top:-3px;left:0;width:6px;height:6px;border-radius:50%;background:#14b6be;box-shadow:0 0 12px #29c7c7;animation:ab-lifecycle 7s linear infinite;animation-play-state:paused}
.ip-animation-active .ab-lifecycle:after{animation-play-state:running}
@keyframes ab-lifecycle{from{left:0;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}
.ab-lifecycle>div{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-width:0}
.ab-lifecycle .ms-icon{width:48px;height:48px;display:grid;place-items:center;font-size:25px;color:#10889a;border:1px solid #9ccbd4;background:#ecf9fa;margin-bottom:10px;position:relative}
.ab-lifecycle strong{font-size:.85rem;color:#163e53}.ab-lifecycle span:last-child{font-size:.73rem;line-height:1.7;color:#557785}
.ab-base{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;border-top:1px solid #bddae2;margin-top:30px;padding-top:22px}
.ab-base>strong{color:#136d83;font:700 1.5rem var(--font-display);letter-spacing:-.04em}
.ab-base>span{color:#547885;font-size:.76rem}
.ab-approach{background:#f1f8fa;border-block:1px solid #d1e5e8}
.ab-approach-tabs{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #bfdde3;border-bottom:0;background:#e7f2f5}
.ab-approach-tabs button{position:relative;display:flex;gap:15px;align-items:center;border:0;border-right:1px solid #bfdde3;background:transparent;color:#426f80;text-align:left;padding:23px 20px;font:700 .88rem var(--font-body);cursor:pointer;transition:background .3s,color .3s}
.ab-approach-tabs button:last-child{border:0}.ab-approach-tabs button:is(:hover,[aria-selected=true]){background:#d1eeef;color:#06394e}
.ab-step-icon{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;background:#eff9fa;border:1px solid #a7d3db;color:#178fa4}
.ab-step-icon .ms-icon{font-size:24px}
.ab-approach-tabs button:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:#29bec0;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.ab-approach-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.ab-tab-track{display:none}
/*
 * One panel body-color token covers lead/supporting copy, outputs, and starting question;
 * the earlier faded second paragraph was corrected deliberately.
 */
.ab-approach-panels{--ab-approach-body:var(--body-text);background:#fff;border:1px solid #bfdde3}
.about-page .ab-approach-panels .ab-lead{color:var(--ab-approach-body)}
.ab-approach-panels article{display:grid;grid-template-columns:1.45fr 1fr;gap:8%;padding:clamp(30px,4vw,65px);min-height:445px}
.ab-approach-panels article>div>h3{font-size:clamp(1.8rem,2.7vw,3rem);line-height:1.23;margin-bottom:23px;max-width:670px}
.ab-approach-panels article>div>p:not(.ab-lead){color:var(--ab-approach-body);font-size:1rem;line-height:1.8;margin-bottom:0}
.ab-approach-panels aside{border-left:1px solid #c0dce4;padding-left:30px;min-width:0}
.ab-approach-panels ul{list-style:none;padding:0;margin:25px 0 30px}
.ab-approach-panels li{border-bottom:1px solid #cbdfe5;padding:15px 0;display:flex;gap:13px;color:var(--ab-approach-body);font-size:.98rem;line-height:1.65}
.ab-approach-panels li:before{content:"";flex:0 0 5px;height:5px;margin-top:11px;background:#2fadb8;border-radius:50%}
.ab-approach-question{background:#eef7f8;border-left:2px solid #46bdc5;padding:23px}
.ab-approach-question .ab-eyebrow{margin-bottom:12px;font-size:.68rem}
.ab-approach-question p{font-size:1.05rem;line-height:1.65;color:var(--ab-approach-body);margin:0}
.ab-approach-panels.is-changing{animation:ab-change .42s ease both}
@keyframes ab-change{from{opacity:.45;transform:translateY(9px)}to{opacity:1;transform:none}}
.ab-values{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#155665,#081f2d 70%);color:white}
.ab-values .ip-label{color:#76e4df}.ab-values h2 em{color:#76dbd3}.ab-values-heading{margin-bottom:55px}
.ab-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #4c798d;position:relative}
.ab-values-grid:before{content:"";position:absolute;top:-1px;left:0;width:16%;height:1px;background:linear-gradient(90deg,transparent,#96f5e5,transparent);animation:ab-values-stream 12s linear infinite;animation-play-state:paused}
.ip-animation-active .ab-values-grid:before{animation-play-state:running}
@keyframes ab-values-stream{from{left:0}to{left:84%}}
.ab-values-grid article{padding:35px 30px 0;border-right:1px solid #4c798d55;min-width:0}.ab-values-grid article:first-child{padding-left:0}.ab-values-grid article:last-child{border:0;padding-right:0}
.ab-value-word{display:block;font:700 clamp(2.1rem,3.2vw,3.4rem)/1.15 var(--font-display);letter-spacing:-.06em;color:#77d5d0;margin-bottom:25px}
.ab-values-grid h3{font-size:1.25rem;margin-bottom:18px}
.ab-values-grid p{color:var(--body-text-on-dark);font-size:1rem;line-height:1.85;margin:0}
.ab-technologies h2{font-size:clamp(2.3rem,3.6vw,4rem)}
.ab-technology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #c8dfe6;border-top:1px solid #c8dfe6}
.ab-technology-card{position:relative;padding:30px 25px 25px;display:flex;flex-direction:column;border-right:1px solid #c8dfe6;border-bottom:1px solid #c8dfe6;min-width:0;overflow:hidden;background:linear-gradient(130deg,#fafdfd,#edf6f8);transition:background .3s,color .3s}
.ab-technology-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#28b8bf;transform:scaleY(0);transform-origin:bottom;transition:transform .4s}
.ab-technology-card:hover:before,.ab-technology-card:focus-visible:before{transform:scaleY(1)}
.ab-technology-card:hover{background:#e0f2f4}
.ab-technology-card>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;color:#1b9aad}
.ab-technology-card>div>.ms-icon:first-child{font-size:32px}.ab-technology-card>div>.ms-icon:last-child{font-size:20px;transition:transform .3s}
.ab-technology-card:hover>div>.ms-icon:last-child{transform:translate(3px,-3px)}
.ab-technology-card h3{font-size:1.5rem;line-height:1.2;margin-bottom:10px}
.ab-tech-name{font-size:.76rem;line-height:1.65;color:#367386;min-height:40px;margin-bottom:15px}
.ab-technology-card p{font-size:.94rem;line-height:1.8;color:var(--body-text);margin-bottom:25px}
.ab-tech-platform{margin-top:auto;border-top:1px solid #c1dce4;padding-top:15px;color:#247489;font-size:.77rem;line-height:1.7}
.ab-technology-invitation{grid-column:1/-1;padding:30px 25px;border-right:1px solid #c8dfe6;border-bottom:1px solid #c8dfe6;background:linear-gradient(130deg,#0c3a50,#124f61);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 40px;align-items:center;min-width:0}
.ab-technology-invitation .ab-eyebrow{color:#92dedf;font-size:.66rem}
.ab-technology-invitation h3{font-size:1.8rem;line-height:1.24;margin:12px 0 22px}
.ab-technology-invitation p{color:var(--body-text-on-dark);font-size:.94rem;line-height:1.8;margin-bottom:26px}
.about-page .ab-technology-invitation .motion-cta{font-size:.76rem;--cta-padding:14px;align-self:center;grid-column:2;grid-row:1/4;width:auto;max-width:350px;padding:0;gap:0}
.ab-technology-invitation>:not(.motion-cta){grid-column:1}
.ab-technology-invitation .motion-cta-copy{flex:1;min-width:0}.ab-technology-invitation .motion-cta-copy>span{padding:18px 12px}.ab-technology-invitation .motion-cta-icon{width:42px}
.ab-partnership{display:flex;gap:18px 28px;align-items:center;flex-wrap:wrap;padding-top:30px;font-size:.78rem;color:#416f82}
.ab-partnership>span{padding-left:13px;border-left:2px solid #3ab3bd}
.ab-partnership>p{margin:0 0 0 auto;color:var(--body-text);font-size:.77rem}
.ab-leadership{background:linear-gradient(135deg,#edf6f8,#f8fcfc);border-block:1px solid #c9e1e7}
.ab-leader-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.ab-leader-card{padding:32px;background:#ffffffb8;border:1px solid #c1dce4;position:relative;min-width:0;transition:border-color .3s,box-shadow .3s}
.ab-leader-card:before{content:"";position:absolute;top:-1px;left:32px;width:55px;height:2px;background:#21aaba;transition:width .5s}
.ab-leader-card:hover:before{width:100px}.ab-leader-card:hover{border-color:#7abac8;box-shadow:0 15px 35px #08364d0b}
.ab-leader-top{display:flex;gap:25px;align-items:center;margin-bottom:28px}
.ab-leader-top>div{min-width:0}
.ab-leader-top figure{margin:0;flex:0 0 128px;width:128px;height:138px;position:relative;background:#cfdee5}
.ab-leader-top img{width:100%;height:100%;object-fit:cover;filter:saturate(.3);transition:filter .5s}
.ab-leader-card:hover img{filter:saturate(1)}
.ab-leader-top h3{font-size:clamp(1.6rem,2vw,2.2rem);line-height:1.2;margin-bottom:12px}
.ab-leader-role{font-size:.89rem;font-weight:600;color:#1d7e94}
.ab-leader-bio{border-top:1px solid #c6dfe6;padding-top:25px}
.ab-leader-bio .ab-eyebrow{font-size:.69rem;margin-bottom:13px}
.ab-leader-bio p{color:var(--body-text);font-size:.98rem;line-height:1.85;margin:0}
/* Keep small metadata readable, with room for long labels on narrow phones. */
.ab-image-eyebrow,.ab-hero-image figcaption>span,.ab-eyebrow{font-size:.75rem}
.ab-approach-question .ab-eyebrow,.ab-technology-invitation .ab-eyebrow,.ab-leader-bio .ab-eyebrow{font-size:.75rem}
.ab-tech-name,.ab-tech-platform,.ab-partnership,.ab-partnership>p{font-size:.8rem}
@media(max-width:1050px){.ab-hero-grid{gap:4%}.ab-hero-thread{left:30px;right:30px;font-size:.66rem}.ab-hero-thread>span{padding:8px}.ab-hero-image figcaption{left:30px;right:30px;bottom:32px}.ab-technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-approach-tabs button{padding:20px 14px;gap:10px}.ab-purpose-grid{gap:5%}.ab-leader-card{padding:25px}.ab-leader-top{gap:18px}.ab-leader-top figure{width:110px;height:118px;flex-basis:110px}}
@media(max-width:1200px) and (min-width:601px){.ab-technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.ab-hero-grid{grid-template-columns:1fr;gap:38px}.ab-hero-copy h1{max-width:650px}.ab-hero-image{aspect-ratio:1.5;max-height:450px}.ab-hero-thread{bottom:40%}.ab-metrics>.ip-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}.ab-metrics article:nth-child(2){border:0}.ab-metrics article:nth-child(3){padding-left:0}.ab-metrics strong{font-size:3.5rem}.ab-purpose-grid{grid-template-columns:1fr;gap:40px}.ab-purpose-statement{padding:35px}.ab-approach-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-approach-tabs button{border-bottom:1px solid #bfdde3}.ab-approach-tabs button:nth-child(3){border-bottom:0}.ab-approach-tabs button:nth-child(2){border-right:0}.ab-approach-panels article{grid-template-columns:1fr;gap:35px;min-height:0}.ab-approach-panels aside{padding:25px 0 0;border-left:0;border-top:1px solid #c0dce4}.ab-values-grid{gap:25px}.ab-values-grid article{padding-inline:0;border:0}.ab-values-grid p{font-size:.95rem}.ab-partnership>p{margin-left:0}.ab-leader-grid{grid-template-columns:1fr}.ab-leader-top figure{width:128px;height:138px;flex-basis:128px}}
@media(max-width:600px){.ab-hero{padding-bottom:35px}.ab-hero-copy h1{font-size:3.1rem}.ab-hero-copy>p{font-size:1rem}.ab-hero-image{aspect-ratio:1/1.03}.ab-image-eyebrow{left:28px;top:30px;font-size:.6rem}.ab-hero-image figcaption{left:28px;right:28px;bottom:28px}.ab-hero-thread{left:28px;right:28px;bottom:44%;font-size:.62rem}.ab-hero-thread>span{padding:7px}.ab-origin{margin-top:29px}.ab-metrics>.ip-wrap{padding-block:32px;gap:28px 0}.ab-metrics article{padding:0 14px}.ab-metrics strong{font-size:2.8rem}.ab-metrics .ab-metric-label{font-size:.84rem!important}.ab-metrics p{font-size:.75rem}.ab-chapters .ip-wrap>div{gap:0}.ab-purpose-statement{padding:28px 23px}.ab-lifecycle{gap:8px}.ab-lifecycle strong{font-size:.76rem}.ab-lifecycle span:last-child{font-size:.66rem}.ab-values-grid{grid-template-columns:1fr;gap:28px}.ab-values-grid article{padding-top:28px;border-top:1px solid #4c798d55}.ab-values-grid article:first-child{border:0}.ab-value-word{font-size:2.6rem;margin-bottom:17px}.ab-values-grid p{font-size:1rem}.ab-approach-tabs button{font-size:.8rem;gap:10px;padding:16px 12px}.ab-step-icon{width:31px;height:36px}.ab-step-icon .ms-icon{font-size:22px}.ab-approach-panels article{padding:28px 23px}.ab-technology-grid{grid-template-columns:1fr}.ab-technology-card{padding:28px}.ab-tech-name{min-height:0;margin-bottom:12px}.ab-technology-card p{font-size:1rem}.ab-technology-card>div{margin-bottom:20px}.ab-technology-invitation{padding:30px 28px;display:flex;gap:0;align-items:stretch}.about-page .ab-technology-invitation .motion-cta{width:auto;font-size:.85rem}.ab-technology-invitation .motion-cta-copy>span{padding:20px 18px}.ab-leader-card{padding:24px}.ab-leader-top{gap:18px}.ab-leader-top figure{width:92px;height:100px;flex-basis:92px}.ab-leader-top h3{font-size:1.5rem}.ab-leader-role{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.about-page *,.about-page *:before,.about-page *:after{animation:none!important;transition:none!important}}
/* The full-row invitation stacks its reading fields and complete action on phones. */
@media(max-width:600px){.ab-technology-invitation{flex-direction:column}.about-page .ab-technology-invitation .motion-cta{align-self:stretch;flex-shrink:0;width:100%;max-width:100%;margin-top:10px}}
@media(max-width:600px){.ab-metrics article:nth-child(even){padding-right:0}.ab-image-eyebrow,.ab-hero-image figcaption>span,.ab-eyebrow{font-size:.75rem}.ab-hero-thread{font-size:.75rem;left:24px;right:24px}.ab-hero-thread>span{padding:7px 6px}.ab-lifecycle strong{font-size:.8rem}.ab-lifecycle span:last-child{font-size:.75rem}}
