/* A.C.I. consultancy-first homepage — self-contained, scope .aci-h2 */
.aci-h2{ --blue:#2B6BF5; --blue-dark:#1E5BE0; --navy:#0B1B33; --ink:#3B4655; --muted:#66707C;
  --border:#E1E6EC; --soft:#F4F6F8; --blue-soft:#E8EFFB; --deep:#0B1322; --deep-2:#111B2E; --green:#18A957;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif; --mono:ui-monospace,Menlo,monospace;
  font-family:var(--sans); color:var(--ink); }
.aci-h2 *{ box-sizing:border-box; }

/* Gutenberg group inner-container: make transparent so CSS grids/flex see real children */
.aci-h2 .wp-block-group__inner-container{ display:contents; }
/* native paragraph margin reset inside cards/labels (blocks add default margins) */
.aci-h2 .h2-stat p,.aci-h2 .h2-pain p,.aci-h2 .h2-svc-out p,.aci-h2 .h2-g-pt p,
.aci-h2 .h2-ind-b p,.aci-h2 .h2-qmeta p,.aci-h2 .h2-stat-num,.aci-h2 .h2-stat-lbl{ margin:0; }

.aci-h2 .wrap{ max-width:1140px; margin:0 auto; padding:0 24px; }
.aci-h2 .center{ text-align:center; }
.aci-h2 .h2-narrow{ max-width:760px; margin-left:auto; margin-right:auto; }
.aci-h2 .h2-eyebrow{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); font-weight:700; margin:0 0 10px; }
.aci-h2 .h2-eyebrow.center{ text-align:center; }
.aci-h2 h2{ font-size:clamp(25px,3.2vw,35px); color:var(--navy); font-weight:800; letter-spacing:-0.018em; margin:0 0 14px; line-height:1.15; }
.aci-h2 h3{ font-size:19px; color:var(--navy); font-weight:800; margin:0 0 8px; }
.aci-h2 .h2-lead{ font-size:16.5px; color:var(--ink); line-height:1.6; margin:0 0 8px; }
.aci-h2 .h2-lead.center{ margin-left:auto; margin-right:auto; }
.aci-h2 .h2-note{ color:var(--muted); font-size:14px; font-style:italic; }
.aci-h2 .h2-sec{ padding:70px 0; }

/* buttons — primary blue dominant, secondary ghost */
.aci-h2 .wp-block-buttons{ display:flex; gap:12px; flex-wrap:wrap; }
.aci-h2 .wp-block-buttons.center{ justify-content:center; }
.aci-h2 .wp-block-button__link{ background:var(--blue); color:#fff; border-radius:10px; padding:15px 30px; font-weight:700; font-size:15.5px; text-decoration:none; display:inline-block; box-shadow:0 8px 20px rgba(43,107,245,.30); transition:background .12s,transform .12s; }
.aci-h2 .wp-block-button__link:hover{ background:var(--blue-dark); transform:translateY(-1px); }
.aci-h2 .ghost .wp-block-button__link{ background:transparent; color:var(--blue); border:1.5px solid var(--border); box-shadow:none; }
.aci-h2 .ghost .wp-block-button__link:hover{ border-color:var(--blue); background:var(--blue-soft); }

/* ===== 1. HERO ===== */
.aci-h2 .h2-hero{ background:radial-gradient(900px 420px at 88% -10%, rgba(43,107,245,.24), transparent 60%), linear-gradient(180deg,var(--deep),var(--deep-2)); padding:70px 0 66px; }
.aci-h2 .h2-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.aci-h2 .h2-hero .h2-eyebrow{ color:#7FA6F7; }
.aci-h2 h1.h2-h1{ font-size:clamp(32px,4.6vw,50px); line-height:1.08; font-weight:800; letter-spacing:-0.02em; color:#fff; margin:0 0 18px; }
.aci-h2 .h2-hero-sub{ font-size:17.5px; color:#AEBBD0; line-height:1.6; margin:0 0 20px; }
.aci-h2 .h2-guarantee-line{ display:inline-flex; margin:0 0 26px; align-items:center; gap:10px; background:rgba(24,169,87,.14); border:1px solid rgba(24,169,87,.4); color:#CFEFDD; border-radius:10px; padding:11px 18px; font-size:15px; margin-bottom:26px; }
.aci-h2 .h2-guarantee-line strong{ color:#fff; }
.aci-h2 .h2-gtick{ color:var(--green); font-weight:800; }
.aci-h2 .h2-hero-cta .wp-block-button__link{ padding:16px 32px; }
.aci-h2 .h2-hero-cta .ghost .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.35); }
.aci-h2 .h2-hero-cta .ghost .wp-block-button__link:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.aci-h2 figure.h2-hero-img{ margin:0; border-radius:20px; overflow:hidden; aspect-ratio:4/3; border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 70px rgba(0,0,0,.4); background:linear-gradient(135deg,#16233C,#1E3358); }
.aci-h2 figure.h2-hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ===== 2. TRUST BAR ===== */
.aci-h2 .h2-trust{ background:#fff; padding:40px 0; border-bottom:1px solid var(--border); }
.aci-h2 .h2-trust-label{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700; margin:0 0 22px; }
.aci-h2 .h2-logo-row{ display:grid; grid-template-columns:repeat(7,1fr); gap:22px; align-items:center; margin-bottom:34px; }
.aci-h2 figure.h2-logo{ margin:0; height:46px; display:flex; align-items:center; justify-content:center; }
.aci-h2 figure.h2-logo img{ max-height:100%; max-width:100%; object-fit:contain; filter:grayscale(1); opacity:.65; transition:filter .15s,opacity .15s; }
.aci-h2 figure.h2-logo:hover img{ filter:grayscale(0); opacity:1; }
.aci-h2 .h2-stat-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; border-top:1px solid var(--border); padding-top:28px; }
.aci-h2 .h2-stat{ text-align:center; }
.aci-h2 .h2-stat-num{ display:block; font-size:26px; color:var(--navy); font-weight:800; letter-spacing:-0.01em; line-height:1.15; }
.aci-h2 .h2-stat-lbl{ font-size:13px; color:var(--muted); }

/* ===== 3. PROBLEM ===== */
.aci-h2 .h2-problem{ background:var(--soft); }
.aci-h2 .h2-pain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:34px 0 26px; }
.aci-h2 .h2-pain{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--border); border-radius:14px; padding:18px 20px; }
.aci-h2 .h2-pain-ic{ margin:0; font-size:22px; width:44px; height:44px; border-radius:11px; background:var(--blue-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.aci-h2 .h2-pain-l{ margin:0; font-size:14.5px; font-weight:600; color:var(--navy); }
.aci-h2 .h2-transition{ font-size:16.5px; color:var(--navy); font-weight:600; max-width:720px; margin:0 auto; }

/* ===== 4. SOLUTION ===== */
.aci-h2 .h2-svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0 30px; }
.aci-h2 .h2-svc{ background:#fff; border:1px solid var(--border); border-radius:18px; padding:28px; transition:transform .15s,box-shadow .15s; }
.aci-h2 .h2-svc:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(11,27,51,.08); }
.aci-h2 .h2-svc-num{ width:44px; height:44px; border-radius:12px; background:var(--blue); color:#fff; font-weight:800; font-family:var(--mono); font-size:15px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.aci-h2 .h2-svc p{ font-size:14.5px; color:var(--muted); line-height:1.55; margin:0 0 16px; }
.aci-h2 .h2-svc-out{ border-top:1px solid var(--border); padding-top:14px; }
.aci-h2 .h2-svc-out-val{ margin:0; font-size:14.5px; font-weight:700; color:var(--green); }
.aci-h2 .h2-svc-out-lbl{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:700; margin:0 0 3px; }

/* ===== 5. CASE STUDIES ===== */
.aci-h2 .h2-cases{ background:var(--soft); }
.aci-h2 .h2-case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0 30px; }
.aci-h2 .h2-case{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--border); border-radius:18px; padding:28px; text-decoration:none; transition:transform .15s,box-shadow .15s,border-color .15s; }
.aci-h2 .h2-case:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(11,19,34,.10); border-color:var(--blue); }
.aci-h2 .h2-case-tag{ margin:0 0 14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); font-weight:700; margin-bottom:14px; }
.aci-h2 .h2-case-result{ margin:0 0 8px; font-size:32px; font-weight:800; color:var(--navy); letter-spacing:-0.02em; line-height:1; margin-bottom:8px; }
.aci-h2 .h2-case-client{ margin:0 0 14px; font-size:14px; font-weight:700; color:var(--muted); margin-bottom:14px; }
.aci-h2 .h2-case-body{ margin:0 0 8px; font-size:13.5px; color:var(--muted); line-height:1.6; }
.aci-h2 .h2-case-go{ margin:12px 0 0; font-family:var(--mono); font-size:12px; font-weight:600; color:var(--blue); }
.aci-h2 .h2-case-go a{ color:var(--blue); text-decoration:none; }
.aci-h2 .h2-case-go a:hover{ text-decoration:underline; }
.aci-h2 .h2-case:hover .h2-case-go{ text-decoration:underline; }

/* ===== 6. HOW WE WORK ===== */
.aci-h2 .h2-step-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:38px 0 30px; }
.aci-h2 .h2-step{ position:relative; padding-top:8px; }
.aci-h2 .h2-step-n{ width:46px; height:46px; border-radius:50%; background:var(--blue-soft); color:var(--blue); font-weight:800; font-size:19px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.aci-h2 .h2-step p{ font-size:14px; color:var(--muted); line-height:1.55; margin:0; }

/* ===== 7. GUARANTEE BANNER ===== */
.aci-h2 .h2-guarantee{ background:linear-gradient(135deg,#0B1B33 0%,#123256 60%,#0E4D33 140%); padding:66px 0; }
.aci-h2 .h2-g-badge{ display:inline-block; background:var(--green); color:#fff; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.06em; padding:9px 18px; border-radius:999px; margin-bottom:18px; }
.aci-h2 h2.h2-g-h{ color:#fff; }
.aci-h2 .h2-g-copy{ color:#C7D4E6; font-size:17px; line-height:1.6; max-width:760px; margin:0 auto 30px; }
.aci-h2 .h2-g-points{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:0 auto 30px; max-width:920px; }
.aci-h2 .h2-g-pt{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:18px; text-align:center; }
.aci-h2 .h2-g-pt-t{ display:block; color:#fff; font-size:15px; font-weight:700; margin:0 0 4px; }
.aci-h2 .h2-g-pt-d{ color:#9FB0C7; font-size:13px; margin:0; }
.aci-h2 .h2-guarantee .wp-block-buttons{ justify-content:center; }

/* ===== 8. XL / OEE ===== */
.aci-h2 .h2-xl-stats{ text-align:center; font-size:15px; color:var(--muted); margin:0 0 30px; }

.aci-h2 .h2-xl-stats strong{ color:var(--navy); font-size:19px; }
.aci-h2 .h2-prod-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:28px; }
.aci-h2 .h2-prod{ background:var(--soft); border:1px solid var(--border); border-radius:16px; padding:26px; }
.aci-h2 .h2-prod p{ font-size:14px; color:var(--muted); line-height:1.55; margin:0; }

/* ===== 9. TESTIMONIALS ===== */
.aci-h2 .h2-tst{ background:var(--soft); }
.aci-h2 .h2-quote-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; }
.aci-h2 .h2-quote{ background:#fff; border:1px solid var(--border); border-radius:18px; padding:28px; }
.aci-h2 .h2-qmark{ font-size:52px; line-height:1; color:var(--blue); opacity:.25; font-family:Georgia,serif; height:28px; margin:0; }
.aci-h2 .h2-qtxt{ color:var(--ink); font-size:15px; line-height:1.6; margin:0 0 20px; }
.aci-h2 .h2-qby{ display:flex; align-items:center; gap:12px; }
.aci-h2 figure.h2-qava{ width:44px; height:44px; border-radius:50%; overflow:hidden; background:var(--blue-soft); border:2px solid #D3E1FB; flex-shrink:0; margin:0; }
.aci-h2 figure.h2-qava img{ width:100%; height:100%; object-fit:cover; display:block; }
.aci-h2 .h2-qmeta{ display:flex; flex-direction:column; line-height:1.3; }
.aci-h2 .h2-qname{ color:var(--navy); font-size:14.5px; font-weight:700; margin:0; }
.aci-h2 .h2-qrole{ color:var(--muted); font-size:13px; font-style:normal; margin:0; }

/* ===== 10. INDUSTRIES ===== */
.aci-h2 .h2-ind-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin:34px 0 28px; }
.aci-h2 .h2-ind{ background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden; transition:transform .15s,box-shadow .15s; }
.aci-h2 .h2-ind:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(11,19,34,.10); }
.aci-h2 figure.h2-ind-img{ margin:0; height:120px; background:linear-gradient(135deg,#EEF2F7,#F7F9FC); overflow:hidden; }
.aci-h2 figure.h2-ind-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.aci-h2 .h2-ind-b{ padding:16px 18px; }
.aci-h2 .h2-ind-name{ display:block; color:var(--navy); font-size:15px; font-weight:700; margin:0 0 4px; }
.aci-h2 .h2-ind-win{ color:var(--muted); font-size:13px; line-height:1.5; margin:0; }

/* ===== 11. LEAD MAGNET ===== */
.aci-h2 .h2-lm{ background:linear-gradient(135deg,#0B1B33 0%,#14315E 100%); padding:66px 0; color:#fff; }
.aci-h2 .h2-lm-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; }
.aci-h2 .h2-lm .h2-eyebrow{ color:#7FA6F7; }
.aci-h2 h2.h2-lm-h{ color:#fff; }
.aci-h2 .h2-lm .h2-lead{ color:#B9C6DA; }
.aci-h2 .h2-lm .h2-lead strong{ color:#fff; }
.aci-h2 ul.h2-lm-list{ list-style:none; margin:14px 0 0; padding:0; }
.aci-h2 ul.h2-lm-list li{ position:relative; padding:7px 0 7px 30px; color:#DCE5F2; font-size:15px; }
.aci-h2 ul.h2-lm-list li::before{ content:"✓"; position:absolute; left:0; top:7px; color:var(--green); font-weight:800; }
.aci-h2 .h2-lm-form-wrap{ background:#fff; border-radius:18px; padding:28px; box-shadow:0 20px 50px rgba(0,0,0,.25); }
.aci-h2 .h2-lm-in{ width:100%; padding:13px 15px; border:1px solid var(--border); border-radius:10px; font-size:15px; margin-bottom:12px; font-family:inherit; color:var(--ink); }
.aci-h2 .h2-lm-in:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }
.aci-h2 .h2-lm-gdpr{ display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:var(--muted); margin-bottom:14px; line-height:1.4; }
.aci-h2 .h2-lm-gdpr a{ color:var(--blue); }
.aci-h2 .h2-lm-btn{ width:100%; background:var(--blue); color:#fff; border:0; border-radius:10px; padding:15px; font-weight:700; font-size:15.5px; cursor:pointer; transition:background .12s; }
.aci-h2 .h2-lm-btn:hover{ background:var(--blue-dark); }
.aci-h2 .hp{ position:absolute; left:-9999px; }
.aci-h2 .h2-lm-status{ display:none; padding:12px 15px; border-radius:10px; font-size:14px; font-weight:600; margin-bottom:14px; }
.aci-h2 .h2-lm-status.ok{ background:#E7F7EE; color:var(--green); }
.aci-h2 .h2-lm-status.err{ background:#FDECEC; color:#C0392B; }

/* ===== 12. FINAL CTA ===== */
.aci-h2 .h2-final{ background:linear-gradient(135deg,#0B1322,#111B2E); padding:74px 0; }
.aci-h2 h2.h2-final-h{ color:#fff; font-size:clamp(27px,3.4vw,38px); }
.aci-h2 .h2-final-sub{ color:#AEBBD0; font-size:17px; line-height:1.6; max-width:680px; margin:0 auto 28px; }
.aci-h2 .h2-final .wp-block-buttons{ justify-content:center; }
.aci-h2 .h2-final .ghost .wp-block-button__link{ color:#fff; border-color:rgba(255,255,255,.35); }
.aci-h2 .h2-final .ghost .wp-block-button__link:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.aci-h2 .h2-final-micro{ color:#8494AC; font-size:13.5px; margin:18px 0 0; }

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  .aci-h2 .h2-hero-grid,.aci-h2 .h2-lm-grid{ grid-template-columns:1fr; gap:32px; }
  .aci-h2 figure.h2-hero-img{ aspect-ratio:16/10; }
  .aci-h2 .h2-svc-grid,.aci-h2 .h2-case-grid,.aci-h2 .h2-prod-grid,.aci-h2 .h2-quote-grid{ grid-template-columns:1fr; }
  .aci-h2 .h2-step-grid{ grid-template-columns:repeat(2,1fr); }
  .aci-h2 .h2-pain-grid{ grid-template-columns:repeat(2,1fr); }
  .aci-h2 .h2-g-points{ grid-template-columns:repeat(2,1fr); }
  .aci-h2 .h2-logo-row{ grid-template-columns:repeat(4,1fr); gap:24px; }
  .aci-h2 .h2-ind-grid{ grid-template-columns:repeat(2,1fr); }
  .aci-h2 .h2-stat-strip{ grid-template-columns:repeat(2,1fr); gap:24px; }
}
@media (max-width:560px){
  .aci-h2 .h2-sec,.aci-h2 .h2-guarantee,.aci-h2 .h2-lm,.aci-h2 .h2-final{ padding:48px 0; }
  .aci-h2 .h2-pain-grid,.aci-h2 .h2-step-grid,.aci-h2 .h2-g-points,.aci-h2 .h2-ind-grid{ grid-template-columns:1fr; }
  .aci-h2 .h2-logo-row{ grid-template-columns:repeat(3,1fr); }
  .aci-h2 .h2-xl-stats{ gap:20px; }
  .aci-h2 .h2-hero-cta .wp-block-button__link,.aci-h2 .h2-hero-cta .ghost .wp-block-button__link{ display:block; width:100%; text-align:center; }
}

/* native-block paragraph resets for badge/number elements */
.aci-h2 p.h2-svc-num,.aci-h2 p.h2-step-n,.aci-h2 p.h2-g-badge,.aci-h2 p.h2-case-tag,
.aci-h2 p.h2-eyebrow,.aci-h2 p.h2-trust-label{ margin-top:0; }
.aci-h2 .h2-svc-num{ margin-bottom:16px; }
.aci-h2 .h2-step-n{ margin-bottom:16px; }

/* ============ ENHANCEMENT PASS: rhythm, seal, mockup ============ */
/* Alternating section backgrounds for visual rhythm */
.aci-h2 .h2-solution{ background:#fff; }
.aci-h2 .h2-how{ background:#fff; }
.aci-h2 .h2-xl{ background:#fff; }
.aci-h2 .h2-ind-sec{ background:var(--soft); }
.aci-h2 .h2-tst{ background:#fff; }

/* Guarantee seal badge */
.aci-h2 .h2-seal{ display:flex; justify-content:center; margin-bottom:16px; }
.aci-h2 .h2-seal svg{ filter:drop-shadow(0 8px 20px rgba(24,169,87,.35)); }

/* Lead-magnet checklist mockup */
.aci-h2 .h2-lm-mock{ margin-bottom:22px; }
.aci-h2 .h2-lm-mock svg{ filter:drop-shadow(0 16px 34px rgba(0,0,0,.28)); }

/* Sticky mobile CTA bar (rendered by the styles plugin) */
#aci-mcta{ display:none; }
@media (max-width:760px){
  #aci-mcta{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9997;
    background:#fff; border-top:1px solid var(--border); padding:10px 14px;
    box-shadow:0 -6px 20px rgba(11,19,34,.12); gap:10px; }
  #aci-mcta a{ flex:1; text-align:center; background:#2B6BF5; color:#fff; text-decoration:none;
    font-weight:700; font-size:15px; padding:13px; border-radius:10px; }
  #aci-mcta a:active{ background:#1E5BE0; }
  body{ padding-bottom:92px; } /* room so footer isn't hidden */
  .cta-card{ display:none!important; } /* redundant with sticky mobile CTA bar */
  .ct-footer, footer, #footer{ padding-bottom:24px!important; }
}

/* ============ PRO VISUAL PASS: icons, connectors, stat blocks ============ */
/* Service card icon badge (replaces plain number) */
.aci-h2 .h2-svc-ic{ position:relative; width:52px; height:52px; border-radius:14px; background:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:16px; box-shadow:0 8px 18px rgba(43,107,245,.30); }
.aci-h2 .h2-svc-ic svg{ width:24px; height:24px; }
.aci-h2 .h2-svc-ic .h2-svc-n{ position:absolute; top:-8px; right:-8px; width:22px; height:22px; border-radius:50%; background:#fff; color:var(--blue); font-family:var(--mono); font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; border:2px solid var(--blue-soft); }

/* Product card icon */
.aci-h2 .h2-prod{ text-align:left; }
.aci-h2 .h2-prod-ic{ width:48px; height:48px; border-radius:12px; background:var(--blue-soft); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.aci-h2 .h2-prod-ic svg{ width:24px; height:24px; }

/* XL stat blocks (replaces the flat inline line) */
.aci-h2 .h2-xl-statgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:640px; margin:0 auto 30px; }
.aci-h2 .h2-xlstat{ text-align:center; background:var(--soft); border:1px solid var(--border); border-radius:16px; padding:22px 16px; }
.aci-h2 .h2-xlstat-n{ margin:0 0 4px; font-size:28px; font-weight:800; color:var(--navy); letter-spacing:-0.02em; }
.aci-h2 .h2-xlstat-l{ margin:0; font-size:13px; color:var(--muted); }

/* 4-step process: connector line + icon circles */
.aci-h2 .h2-step-grid{ position:relative; }
.aci-h2 .h2-step-n{ position:relative; width:60px; height:60px; border-radius:50%; background:#fff; border:2px solid var(--blue-soft); box-shadow:0 8px 20px rgba(11,27,51,.08); display:flex; align-items:center; justify-content:center; margin:0 0 16px; z-index:2; }
.aci-h2 .h2-step-n svg{ width:26px; height:26px; }
.aci-h2 .h2-step-n .h2-step-num{ position:absolute; top:-6px; right:-6px; width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; }
@media (min-width:981px){
  /* horizontal connector line behind the 4 step circles */
  .aci-h2 .h2-step-grid::before{ content:""; position:absolute; top:30px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,var(--blue-soft),var(--blue),var(--blue-soft)); z-index:1; }
}

/* XL product screenshots row (like old "Tools Behind the ACI Method") */
.aci-h2 .h2-xl-shots{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0 0 34px; }
.aci-h2 .h2-shot{ background:var(--soft); border:1px solid var(--border); border-radius:18px; overflow:hidden; }
.aci-h2 figure.h2-shot-img{ margin:0; aspect-ratio:16/10; background:linear-gradient(135deg,#0B1322,#1E3358); overflow:hidden; }
.aci-h2 figure.h2-shot-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.aci-h2 .h2-shot-cap{ margin:0; padding:16px 20px; font-size:14px; color:var(--muted); line-height:1.5; }
@media (max-width:820px){ .aci-h2 .h2-xl-shots{ grid-template-columns:1fr; } }
