/* ══ AIBI — blended sections (Gap, Pillars, Chain, Deployment, Philosophy, Company)
   Load AFTER style.css and nav.css. Everything is prefixed "ab-" so it never
   collides with the existing theme. Change the colours here if you want them
   to match a different brand shade. */
:root{
  --ab-navy:#0D1B3E;
  --ab-ink:#1A2540;
  --ab-muted:#5B6579;
  --ab-line:#DFE4EE;
  --ab-tint:#F4F6FB;
  --ab-red:#B4532A;
  --ab-green:#1B7550;
}

.ab-eyebrow{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ab-navy);opacity:.7;margin-bottom:.6rem}
.ab-lead{font-size:1.12rem;line-height:1.7;color:var(--ab-muted);max-width:760px;margin:0 auto}
.ab-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* ── The gap ── */
.ab-gap{height:100%;background:#fff;border:1px solid var(--ab-line);border-top:3px solid var(--ab-red);border-radius:10px;padding:1.6rem 1.5rem}
.ab-gap .ab-tag{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ab-red)}
.ab-gap h4{font-size:1.15rem;font-weight:700;color:var(--ab-ink);margin:.55rem 0 .6rem}
.ab-gap p{font-size:.95rem;color:var(--ab-muted);margin:0}

/* ── Pillars (sit inside the theme's .icon-box) ── */
.ab-rule{margin-top:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;color:var(--ab-ink);background:var(--ab-tint);border-radius:6px;padding:.5rem .7rem;text-align:left}

/* ── One chain diagram ── */
.ab-chain{display:grid;gap:1.1rem}
.ab-lane{display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr));align-items:stretch}
.ab-lane-name{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-muted);padding:1.1rem 1rem 0 0}
.ab-node{position:relative;display:block;background:#fff;border:1px solid var(--ab-line);border-radius:10px;padding:1rem 1.15rem;margin-right:36px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
a.ab-node:hover{border-color:var(--ab-navy);box-shadow:0 8px 24px rgba(13,27,62,.08);color:inherit}
.ab-node:last-child{margin-right:0}
.ab-node:not(:last-child)::after{content:"";position:absolute;right:-37px;top:50%;width:36px;height:1px;background:var(--ab-navy);opacity:.5}
.ab-node:not(:last-child)::before{content:"";position:absolute;right:-37px;top:calc(50% - 4px);border-left:7px solid var(--ab-navy);border-top:4px solid transparent;border-bottom:4px solid transparent;opacity:.5}
.ab-node small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-muted)}
.ab-node b{display:block;font-size:1.08rem;color:var(--ab-ink);margin:.2rem 0 .25rem}
.ab-node span{display:block;font-size:.86rem;color:var(--ab-muted);line-height:1.5}
.ab-node .ab-soon{display:inline-block;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-navy);border:1px solid var(--ab-line);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.ab-node.ab-empty{background:transparent;border-style:dashed}
.ab-sink{margin-left:150px;background:var(--ab-navy);color:#fff;border-radius:10px;padding:1.1rem 1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;justify-content:space-between}
.ab-sink b{font-size:1.1rem}
.ab-sink span{font-size:.8rem;opacity:.75;letter-spacing:.04em}
@media (max-width:991px){
  .ab-lane{grid-template-columns:1fr;gap:26px}
  .ab-lane-name{padding:0}
  .ab-node{margin-right:0}
  .ab-node:not(:last-child)::after{right:auto;left:26px;top:100%;width:1px;height:26px}
  .ab-node:not(:last-child)::before{right:auto;left:22px;top:calc(100% + 19px);border-left:4px solid transparent;border-right:4px solid transparent;border-top:7px solid var(--ab-navy);border-bottom:0}
  .ab-sink{margin-left:0}
}

/* ── Deployment (home strip + deploy page) ── */
.ab-dep-strip{border-top:2px solid var(--ab-navy)}
.ab-dep-mini{height:100%;padding:1.3rem 1rem 0 0}
.ab-dep-mini h4{font-size:1.1rem;font-weight:700;color:var(--ab-ink);margin-bottom:.35rem}
.ab-dep-mini p{font-size:.93rem;color:var(--ab-muted);margin-bottom:.5rem}
.ab-bill{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;color:var(--ab-navy);background:var(--ab-tint);border-radius:4px;padding:.2rem .5rem}
@media (min-width:992px){.ab-dep-strip > div + div .ab-dep-mini{border-left:1px solid var(--ab-line);padding-left:1.25rem}}

.ab-dep-card{height:100%;background:#fff;border:1px solid var(--ab-line);border-radius:12px;padding:1.8rem 1.7rem}
.ab-dep-card .ab-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem}
.ab-dep-card h3{font-size:1.45rem;font-weight:700;color:var(--ab-ink);margin:0}
.ab-dep-card p{color:var(--ab-muted)}
.ab-dep-card ul{padding-left:1.1rem;color:var(--ab-muted);font-size:.95rem;margin-bottom:1rem}
.ab-dep-card .ab-for{border-top:1px solid var(--ab-line);padding-top:.8rem;font-size:.92rem;color:var(--ab-ink)}
.ab-dep-card .ab-for b{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-muted);margin-right:.5rem}

.ab-table-wrap{overflow-x:auto;border:1px solid var(--ab-line);border-radius:12px;background:#fff}
.ab-table{width:100%;min-width:760px;margin:0;border-collapse:collapse;font-size:.93rem}
.ab-table th,.ab-table td{padding:.95rem 1.1rem;border-bottom:1px solid var(--ab-line);vertical-align:top;text-align:left}
.ab-table thead th{background:var(--ab-tint);color:var(--ab-ink);font-weight:700}
.ab-table tbody th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-muted);font-weight:600;width:170px}
.ab-table tbody tr:last-child th,.ab-table tbody tr:last-child td{border-bottom:0}

/* ── Philosophy ── */
.ab-phil{border-top:2px solid var(--ab-navy)}
.ab-phil-row{padding:2.2rem 0;border-bottom:1px solid var(--ab-line)}
.ab-phil-row h3{font-size:1.7rem;font-weight:700;color:var(--ab-ink);line-height:1.2}
.ab-phil-row .ab-big{font-size:1.25rem;line-height:1.5;color:var(--ab-ink);margin-bottom:.9rem}
.ab-phil-row p{color:var(--ab-muted)}
.ab-steps{list-style:none;padding:0;margin:0;counter-reset:s}
.ab-steps li{counter-increment:s}
.ab-steps li > div{height:100%;background:#fff;border:1px solid var(--ab-line);border-radius:12px;padding:1.6rem 1.5rem}
.ab-steps li > div::before{content:counter(s,decimal-leading-zero);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;color:var(--ab-navy);opacity:.7;margin-bottom:.5rem}
.ab-steps b{display:block;font-size:1.12rem;color:var(--ab-ink);margin-bottom:.45rem}
.ab-steps span{color:var(--ab-muted);font-size:.95rem}
.ab-not{border-top:3px solid var(--ab-red);padding-top:1rem;height:100%}
.ab-not b{display:block;font-size:1.1rem;color:var(--ab-ink);margin-bottom:.35rem}
.ab-not span{color:var(--ab-muted);font-size:.95rem}

/* ── Company ── */
.ab-facts{border-top:1px solid var(--ab-line);border-bottom:1px solid var(--ab-line)}
.ab-fact{padding:1.4rem 1rem}
.ab-fact b{display:block;font-size:2rem;font-weight:700;color:var(--ab-navy);line-height:1.1}
.ab-fact span{font-size:.88rem;color:var(--ab-muted)}
@media (min-width:768px){.ab-facts > div + div .ab-fact{border-left:1px solid var(--ab-line)}}
.ab-callout{background:#fff;border:1px solid var(--ab-line);border-left:4px solid var(--ab-navy);border-radius:0 12px 12px 0;padding:1.6rem 1.7rem}
.ab-callout h4{font-size:1.2rem;font-weight:700;color:var(--ab-ink)}
.ab-callout p{color:var(--ab-muted)}
.ab-callout code{font-size:1rem;color:var(--ab-navy);background:var(--ab-tint);padding:.2rem .5rem;border-radius:4px;user-select:all}
.ab-btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}


/* ── Dropdown: stays open while the mouse moves from the menu item into the list ── */
@media (min-width:992px){
  #header{z-index:1030}
  #site-nav .has-dropdown{position:relative}
  #site-nav .has-dropdown > .dropdown-menu-custom::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
  #site-nav .has-dropdown.ab-open > .dropdown-menu-custom,
  #site-nav .has-dropdown:focus-within > .dropdown-menu-custom{display:block;opacity:1;visibility:visible;transform:none;pointer-events:auto;z-index:1000}
}

/* ── Breathing room between sections and above the footer ── */
#main > section:not(.breadcrumbs):not(#clients){padding-top:80px;padding-bottom:80px}
#main > section:last-of-type{margin-bottom:40px}
@media (max-width:767px){#main > section:not(.breadcrumbs):not(#clients){padding-top:56px;padding-bottom:56px}}
