.about-story-heading { max-width:1080px; margin-bottom:64px; }
.about-story-heading .section-heading { max-width:1000px; }
.about-stack { position:relative; padding-block:30px 60px; }
.about-stack-topline { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:24px; color:#8da9b3; font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
.about-stack-status { display:flex; align-items:center; gap:10px; }
.about-stack-status::before { content:''; width:6px; height:6px; background:#22d3ee; box-shadow:0 0 14px #22d3ee80; }
.about-stack-deck { display:grid; gap:24px; }
.about-stack-card { position:relative; isolation:isolate; display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; padding:clamp(28px,5vw,68px); border:1px solid #2a4954; background:#0b2028; box-shadow:0 28px 70px #0004; overflow:hidden; }
.about-stack-card:nth-child(2) { background:#0c252d; }
.about-stack-card:nth-child(3) { background:#102c34; }
.about-stack-card::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#22d3ee08 1px,transparent 1px),linear-gradient(#22d3ee08 1px,transparent 1px),radial-gradient(ellipse at 0 100%,#22d3ee12,transparent 65%); background-size:40px 40px,40px 40px,auto; }
.about-stack-number { display:block; margin-bottom:30px; font:500 11px Manrope,sans-serif; letter-spacing:.22em; color:#67e8f9; }
.about-stack-card h3 { max-width:500px; font-size:clamp(2.4rem,4.4vw,4.8rem); line-height:1.02; letter-spacing:-.055em; }
.about-stack-card p { color:#bbced4; font-size:clamp(15px,1.35vw,18px); line-height:1.9; }
.about-stack-card p + p { margin-top:22px; }
.about-stack-tag { display:block; margin-top:32px; padding-top:20px; border-top:1px solid #ffffff20; color:#67e8f9; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.about-stack-progress { height:2px; margin-top:28px; background:#ffffff15; }
.about-stack-progress span { display:block; height:100%; background:#22d3ee; transform-origin:left; }
.about-stack.is-stacked { height:100svh; display:flex; flex-direction:column; justify-content:center; padding-block:48px; }
.is-stacked .about-stack-deck { position:relative; height:min(540px,72svh); display:block; overflow:hidden; }
.is-stacked .about-stack-card { position:absolute; inset:0; transform-origin:top center; }
.is-stacked .about-stack-card:nth-child(2) { z-index:2; }
.is-stacked .about-stack-card:nth-child(3) { z-index:3; }
.about-stack-shell { width:100%; }
.about-team-section { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:48px clamp(40px,7vw,100px); padding-block:clamp(100px,10vw,150px) 20px; }
.about-team-heading { grid-column:1/-1; }
.about-team-heading .page-eyebrow { margin-bottom:24px; }
.about-team-heading h2 { max-width:1000px; font-size:clamp(2.8rem,5.5vw,5.8rem); line-height:1.03; letter-spacing:-.055em; }
.about-team-heading h2 span { color:#88aab6; }
.about-team-section .experience-stat { margin:0; padding:0; border:0; }
.about-team-section .experience-stat strong { font-size:clamp(6rem,10vw,9rem); line-height:1; letter-spacing:-.07em; }
.about-team-section .experience-stat h3 { max-width:330px; }
.about-team-section .experience-stat p { max-width:390px; }
.about-team-section .about-team { margin:0 0 0 auto; width:100%; max-width:480px; }
.about-team-section .about-team img { display:block; width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; object-position:center; }
.about-team-section .about-team figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:20px; color:#88aab6; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.about-solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:60px; }
.about-solution-card { position:relative; isolation:isolate; display:flex; flex-direction:column; min-height:360px; padding:36px; border:1px solid #2a4651; background:#0a1c23; text-decoration:none; overflow:hidden; transition:border-color .3s,background .3s,box-shadow .3s; }
.about-solution-card::before { content:''; position:absolute; inset:0; z-index:-1; opacity:.5; background:linear-gradient(90deg,#22d3ee0a 1px,transparent 1px),linear-gradient(#22d3ee0a 1px,transparent 1px),radial-gradient(ellipse at 100% 0,#22d3ee16,transparent 60%); background-size:28px 28px,28px 28px,auto; transition:opacity .3s; }
.about-solution-card::after { content:''; position:absolute; top:-1px; right:-1px; width:28px; height:28px; border-top:2px solid #22d3ee; border-right:2px solid #22d3ee; transition:width .3s,height .3s; }
.about-solution-card:hover,.about-solution-card:focus-visible { border-color:#22d3ee; background:#0e2831; box-shadow:0 12px 40px #0003; }
.about-solution-card:hover::before,.about-solution-card:focus-visible::before { opacity:1; }
.about-solution-card:hover::after,.about-solution-card:focus-visible::after { width:60px; height:60px; }
.about-solution-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:44px; color:#78a5b4; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.about-solution-topline span:last-child { width:32px; height:17px; background:repeating-linear-gradient(90deg,#22d3ee 0 2px,transparent 2px 6px); opacity:.7; }
.about-solution-card h3 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.05; letter-spacing:-.045em; }
.about-solution-card p { max-width:420px; color:#a6bdc6; font-size:15px; line-height:1.8; margin-top:20px !important; margin-bottom:34px !important; }
.about-solution-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:auto; padding-top:22px; border-top:1px solid #ffffff20; color:#67e8f9; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.about-solution-cta .iavi-arrow { transition:transform .3s; }
.about-solution-card:hover .iavi-arrow,.about-solution-card:focus-visible .iavi-arrow { transform:translateX(5px); }
@media(max-width:1023px) { .about-stack-card { gap:36px; } .about-team-section { gap:40px; } }
@media(max-width:700px) {
  .about-story-heading { margin-bottom:32px; }
  .about-stack-topline { font-size:8px; letter-spacing:.1em; }
  .about-stack-card { grid-template-columns:1fr; gap:28px; padding:28px 24px; }
  .about-stack-number { margin-bottom:18px; }
  .about-team-section { grid-template-columns:1fr; padding-top:72px; gap:36px; }
  .about-team-section .about-team { max-width:420px; margin-inline:0; }
  .about-solution-grid { grid-template-columns:1fr; gap:16px; margin-top:40px; }
  .about-solution-card { min-height:330px; padding:28px; }
}
