/* Abecator rotating homepage hero and first-route section. */
.hero{
  padding:0!important;
  min-height:0!important;
  background:#061427!important;
}
.hero:before{opacity:.16!important}
.hero .hero-grid{
  display:block!important;
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}

.ab-home-carousel{
  position:relative;
  min-height:610px;
  overflow:hidden;
  color:#fff;
  background:#061427;
}
.ab-home-slides{position:relative;min-height:610px}
.ab-home-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(20px);
  transition:opacity .55s ease,transform .55s ease,visibility .55s;
}
.ab-home-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
.ab-home-slide:before,
.ab-home-slide:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.ab-home-slide:before{
  background:
    linear-gradient(90deg,rgba(3,13,30,.98) 0%,rgba(5,20,42,.94) 42%,rgba(8,31,59,.78) 67%,rgba(8,31,59,.50) 100%),
    radial-gradient(circle at 82% 20%,rgba(54,207,230,.20),transparent 31%);
}
.ab-home-slide:after{
  opacity:.30;
  background-image:
    linear-gradient(rgba(133,189,224,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(133,189,224,.10) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(90deg,transparent 15%,#000 62%,#000 100%);
}
.ab-home-slide-training:before{
  background:
    linear-gradient(90deg,rgba(3,13,30,.98) 0%,rgba(7,22,43,.94) 43%,rgba(15,48,71,.76) 70%,rgba(14,68,78,.48) 100%),
    radial-gradient(circle at 80% 20%,rgba(46,213,230,.22),transparent 30%);
}
.ab-home-slide-ai:before{
  background:
    linear-gradient(90deg,rgba(3,13,30,.98) 0%,rgba(6,19,42,.94) 43%,rgba(15,42,80,.75) 70%,rgba(29,62,111,.48) 100%),
    radial-gradient(circle at 82% 22%,rgba(31,115,255,.30),transparent 30%);
}

.ab-home-slide-inner{
  position:relative;
  z-index:2;
  width:min(1380px,calc(100% - 64px));
  min-height:610px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr);
  align-items:center;
  gap:58px;
  padding:66px 0 86px;
}
.ab-home-copy{min-width:0;max-width:660px}
.ab-home-kicker{
  margin:0 0 15px;
  color:#8ab9e7;
  font:800 .72rem/1.2 "Cascadia Mono",SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ab-home-copy h1,
.ab-home-copy h2{
  max-width:650px;
  margin:0;
  color:#fff;
  font-size:clamp(2.65rem,3.35vw,3.35rem)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:800;
}
.ab-home-lead{
  max-width:630px;
  margin:21px 0 0;
  color:#c1cfdd;
  font-size:1.03rem;
  line-height:1.67;
}
.ab-home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:27px}
.ab-home-secondary{color:#b9cce0;font-size:.88rem;font-weight:700;border-bottom:1px solid rgba(185,204,224,.36);padding-bottom:3px}
.ab-home-secondary:hover{color:#fff;border-color:#6ee7f1}
.ab-home-context{margin:23px 0 0;color:#7189a3;font-size:.74rem;font-weight:650;letter-spacing:.015em}

.ab-home-visual{min-width:0}
.ab-hero-window{
  position:relative;
  min-height:365px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(159,208,237,.20);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(6,23,47,.86),rgba(5,17,36,.74));
  box-shadow:0 34px 92px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
}
.ab-hero-window:before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-80px;
  top:-90px;
  border-radius:50%;
  background:rgba(46,213,230,.09);
  filter:blur(10px);
}
.ab-hero-window-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.09)}
.ab-hero-window-head span{color:#86a4c0;font:800 .65rem/1.2 "Cascadia Mono",SFMono-Regular,Consolas,monospace;letter-spacing:.1em}
.ab-hero-window-head b{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(110,231,241,.22);border-radius:50%;color:#6ee7f1;font-size:.68rem}
.ab-project-question{position:relative;margin:21px 0 14px;color:#fff;font-size:1.16rem;font-weight:750}
.ab-project-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ab-project-grid>div{
  min-height:116px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}
.ab-project-grid small,.ab-course-stack small,.ab-ai-response small{display:block;margin-bottom:9px;color:#6fdfea;font:800 .59rem/1.2 "Cascadia Mono",SFMono-Regular,Consolas,monospace;letter-spacing:.08em}
.ab-project-grid strong{display:block;margin-bottom:6px;color:#edf5fb;font-size:.83rem}
.ab-project-grid span{color:#7e95ad;font-size:.69rem;line-height:1.42}

.ab-learning-track{position:relative;display:flex;align-items:center;gap:10px;margin:25px 0 18px;color:#7f96af;font:800 .61rem/1.2 "Cascadia Mono",SFMono-Regular,Consolas,monospace;letter-spacing:.07em}
.ab-learning-track i{flex:1;height:1px;background:linear-gradient(90deg,rgba(46,213,230,.55),rgba(46,213,230,.08))}
.ab-course-stack{position:relative;display:grid;gap:9px}
.ab-course-stack>div{display:grid;grid-template-columns:34px minmax(150px,.72fr) 1fr;gap:12px;align-items:center;min-height:72px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.027)}
.ab-course-stack small{margin:0;color:#6ee7f1}
.ab-course-stack strong{color:#eef5fb;font-size:.82rem}
.ab-course-stack span{color:#7f95ad;font-size:.69rem;line-height:1.4}

.ab-ai-window{padding-bottom:24px}
.ab-ai-prompt{position:relative;margin:24px 0 14px 15%;padding:14px 15px;border:1px solid rgba(141,216,255,.15);border-radius:14px 14px 4px 14px;background:rgba(31,115,255,.09);color:#dceafb;font-size:.8rem;line-height:1.5}
.ab-ai-response{position:relative;margin-right:10%;padding:16px;border:1px solid rgba(110,231,241,.13);border-radius:14px 14px 14px 4px;background:rgba(46,213,230,.045)}
.ab-ai-response ol{margin:0;padding-left:20px;color:#a7bacd;font-size:.75rem;line-height:1.62}
.ab-ai-response li+li{margin-top:4px}

.ab-home-controls{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:27px;
  width:min(1380px,calc(100% - 64px));
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:11px;
}
.ab-home-arrow{
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(4,17,35,.58);
  color:#dce8f4;
  font-size:1.2rem;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.ab-home-arrow:hover{background:rgba(46,213,230,.09);border-color:rgba(46,213,230,.35);color:#fff}
.ab-home-dots{display:flex;gap:8px;align-items:center}
.ab-home-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:background .18s ease,transform .18s ease}
.ab-home-dot.is-active{background:#6ee7f1;transform:scale(1.15)}
.ab-home-progress{position:relative;width:86px;height:2px;margin-left:4px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.10)}
.ab-home-progress i{display:block;width:0;height:100%;background:#6ee7f1}
.ab-home-carousel.is-running .ab-home-progress i{animation:abHomeProgress 6s linear forwards}
@keyframes abHomeProgress{from{width:0}to{width:100%}}

/* Clean first decision section under the carousel. */
#services.ab-home-routes-section{padding:74px 0 82px!important;background:#fff!important}
.ab-home-routes-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);align-items:end;gap:54px;margin-bottom:31px}
.ab-home-routes-head h2{max-width:660px;margin:8px 0 0;color:#102a44;font-size:clamp(2rem,3vw,3rem);line-height:1.06;letter-spacing:-.04em}
.ab-home-routes-head>p{margin:0;color:#66778a;font-size:.96rem;line-height:1.65}
.ab-home-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ab-home-route-card{position:relative;min-height:260px;display:flex;flex-direction:column;padding:23px;border:1px solid #dce5ee;border-radius:17px;background:#fff;box-shadow:0 1px 0 rgba(7,23,46,.02);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ab-home-route-card:before{content:"";position:absolute;left:23px;right:23px;top:0;height:3px;border-radius:0 0 4px 4px;background:#1576d2}
.ab-route-training:before{background:#17a6b5}.ab-route-ai:before{background:#665ce7}.ab-route-tools:before{background:#357a59}
.ab-home-route-card:hover{transform:translateY(-4px);border-color:#bfd2e4;box-shadow:0 19px 48px rgba(15,36,64,.10)}
.ab-home-route-card small{margin:5px 0 28px;color:#75869a;font:800 .63rem/1.2 "Cascadia Mono",SFMono-Regular,Consolas,monospace;letter-spacing:.09em}
.ab-home-route-card strong{color:#102b47;font-size:1.13rem;line-height:1.18}
.ab-home-route-card>span{margin-top:12px;color:#68798b;font-size:.82rem;line-height:1.55}
.ab-home-route-card b{margin-top:auto;padding-top:25px;color:#176ec2;font-size:.76rem}
.ab-route-training b{color:#167f8a}.ab-route-ai b{color:#584fd0}.ab-route-tools b{color:#32704f}
.ab-home-route-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;color:#718094;font-size:.78rem}
.ab-home-route-foot a{color:#176ec2;font-weight:750}

@media(max-width:1120px){
  .ab-home-slide-inner{grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr);gap:36px;width:min(100% - 42px,1180px)}
  .ab-home-controls{width:min(100% - 42px,1180px)}
  .ab-home-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ab-home-carousel,.ab-home-slides{min-height:760px}
  .ab-home-slide-inner{min-height:760px;grid-template-columns:1fr;gap:24px;align-content:center;padding:48px 0 82px}
  .ab-home-copy{max-width:760px}
  .ab-home-copy h1,.ab-home-copy h2{max-width:720px;font-size:clamp(2.35rem,6vw,3rem)!important}
  .ab-home-visual{max-width:760px;width:100%}
  .ab-hero-window{min-height:300px}
  .ab-home-routes-head{grid-template-columns:1fr;gap:14px}
}
@media(max-width:680px){
  .ab-home-carousel,.ab-home-slides{min-height:700px}
  .ab-home-slide-inner{width:calc(100% - 28px);min-height:700px;padding:39px 0 78px}
  .ab-home-copy h1,.ab-home-copy h2{font-size:clamp(2rem,9vw,2.45rem)!important;line-height:1.06!important}
  .ab-home-lead{font-size:.96rem;line-height:1.6}
  .ab-home-context{display:none}
  .ab-home-actions{margin-top:22px;gap:14px}
  .ab-home-secondary{font-size:.78rem}
  .ab-home-visual{display:none}
  .ab-home-carousel,.ab-home-slides,.ab-home-slide-inner{min-height:520px}
  .ab-home-controls{bottom:19px;width:calc(100% - 28px)}
  .ab-home-progress{width:64px}
  #services.ab-home-routes-section{padding:56px 0 62px!important}
  .ab-home-route-grid{grid-template-columns:1fr}
  .ab-home-route-card{min-height:220px}
  .ab-home-routes-head h2{font-size:2rem}
  .ab-home-route-foot{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .ab-home-slide,.ab-home-arrow,.ab-home-dot,.ab-home-route-card{transition:none!important}
  .ab-home-carousel.is-running .ab-home-progress i{animation:none!important;width:100%}
}
