/* ==========================================================================
   Digiator — visual system (brief Section E)
   near-black #070b12 · cyan #22d3ee / blue #3b82f6 · Orbitron / Rajdhani / Inter
   Icons are inline SVG data-URIs — no external icon font, no extra requests.
   ========================================================================== */

:root{
  --dg-bg:#070b12;
  --dg-bg-2:#0a1018;
  --dg-surface:#0e1626;
  --dg-surface-2:#131d30;
  --dg-line:rgba(148,163,184,.16);
  --dg-line-2:rgba(148,163,184,.30);
  --dg-text:#eaf1fa;
  --dg-body:#c4d1e3;
  --dg-muted:#8da0bb;
  --dg-cyan:#22d3ee;
  --dg-blue:#3b82f6;
  --dg-grad:linear-gradient(135deg,#22d3ee 0%,#3b82f6 100%);
  --dg-glow:0 8px 30px rgba(34,211,238,.22);
  --dg-r:14px;
  --dg-maxw:74ch;

  --ic-bolt:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E");
  --ic-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  --ic-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
  --ic-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}

/* ---------- base ---------- */
html{scroll-behavior:smooth}
body{
  background:var(--dg-bg);color:var(--dg-body);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0 0 auto 0;height:80vh;pointer-events:none;z-index:0;
  background:
    radial-gradient(58rem 30rem at 12% -14%,rgba(34,211,238,.14),transparent 60%),
    radial-gradient(50rem 26rem at 90% -20%,rgba(59,130,246,.14),transparent 62%);
}
#page,.site-content{position:relative;z-index:1}
.ast-container,.ast-container-fluid{max-width:1180px}

h1,h2,h3,h4,h5,h6,.entry-title{
  font-family:'Rajdhani','Inter',sans-serif;color:var(--dg-text);
  font-weight:700;line-height:1.15;letter-spacing:-.005em;
}
h1,.entry-title{font-size:clamp(2.2rem,1.3rem + 3.2vw,3.9rem);letter-spacing:-.022em}
h2{font-size:clamp(1.65rem,1.15rem + 1.8vw,2.6rem);margin:2.8em 0 .6em}
h3{font-size:clamp(1.25rem,1.05rem + .85vw,1.65rem);margin:2em 0 .5em}
h4{font-size:1.15rem;margin:1.7em 0 .4em}
p{margin:0 0 1.15em}
a{color:var(--dg-cyan);text-decoration-color:rgba(34,211,238,.4);text-underline-offset:3px}
a:hover{color:#67e8f9}
strong{color:var(--dg-text);font-weight:650}
::selection{background:rgba(34,211,238,.28);color:#fff}

/* ---------- header ---------- */
.site-header,#masthead{
  background:rgba(7,11,18,.80);
  backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--dg-line);
}
.ast-primary-header-bar,.ast-main-header-wrap,.main-header-bar{background:transparent!important;border:0!important}
.site-title,.site-title a{
  font-family:'Orbitron','Rajdhani',sans-serif;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;font-size:1.1rem;color:var(--dg-text)!important;text-decoration:none;
}
.site-title a:hover{color:var(--dg-cyan)!important}
.main-header-menu a,.ast-nav-menu a{color:var(--dg-body)!important;font-weight:550;font-size:.94rem}
.main-header-menu a:hover,.ast-nav-menu a:hover,.menu-item:hover>a{color:var(--dg-cyan)!important}
.main-header-menu .sub-menu,.ast-nav-menu .sub-menu{
  background:var(--dg-surface)!important;border:1px solid var(--dg-line-2);
  border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.6);padding:.4rem;min-width:16rem;
}
.sub-menu li a{border:0!important;border-radius:9px;padding:.55rem .85rem!important}
.sub-menu li a:hover{background:rgba(34,211,238,.10)}
li.digiator-nav-cta>a{
  background:var(--dg-grad);color:#05121b!important;font-weight:750!important;
  border-radius:999px;padding:.58rem 1.15rem!important;margin-left:.6rem;box-shadow:var(--dg-glow);
}
li.digiator-nav-cta>a:hover{filter:brightness(1.08);color:#05121b!important}

/* ---------- hero band (Astra renders the H1 here) ---------- */
.ast-single-entry-banner,.entry-header{
  background:transparent!important;border:0!important;
  padding:4rem 0 1rem!important;position:relative;
}
.entry-title{margin:0 0 .1em;max-width:20ch}

/* ---------- content rhythm ---------- */
.entry-content{color:var(--dg-body)}
.entry-content>p,.entry-content>ol,.entry-content>h2,.entry-content>h3,
.entry-content>h4,.entry-content>.wp-block-quote{max-width:var(--dg-maxw)}
.entry-content>h2{position:relative;padding-top:.5em}
.entry-content>h2::before{content:"";position:absolute;top:0;left:0;width:58px;height:3px;
  border-radius:3px;background:var(--dg-grad)}
.entry-content>p:first-of-type{font-size:1.16rem;color:#d9e4f3}

/* ---------- build-emitted classes ---------- */
.digiator-eyebrow{
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dg-cyan);margin-bottom:.55em;display:flex;align-items:center;gap:.6rem;
}
.digiator-eyebrow::before{content:"";width:26px;height:2px;background:var(--dg-grad);border-radius:2px}
.digiator-subtitle{font-size:1.22rem;color:#d9e4f3;max-width:62ch}
.digiator-proof-strip{
  font-size:.92rem;color:var(--dg-muted);background:var(--dg-surface);
  border:1px solid var(--dg-line);border-radius:var(--dg-r);
  padding:.95rem 1.15rem;margin:1.8rem 0;max-width:var(--dg-maxw);
}
.digiator-microcopy{font-size:.92rem;color:var(--dg-muted);max-width:60ch}
.digiator-microcopy em{font-style:normal}
.digiator-contextual-link{font-weight:600;max-width:var(--dg-maxw)}
.digiator-contextual-link a{
  color:var(--dg-cyan);text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;
  border-bottom:1px solid rgba(34,211,238,.4);padding-bottom:2px;
}
.digiator-contextual-link a::after{
  content:"";width:1em;height:1em;background:var(--ic-arrow) center/contain no-repeat;
  transition:transform .18s ease;
}
.digiator-contextual-link a:hover::after{transform:translateX(3px)}

/* ---------- lists: plain ---------- */
.entry-content ul{list-style:none;padding-left:0;margin:0 0 1.5em;max-width:var(--dg-maxw)}
.entry-content ul li{position:relative;padding-left:1.75em;margin:.55em 0}
.entry-content ul li::before{
  content:"";position:absolute;left:0;top:.34em;width:1.05em;height:1.05em;
  background:var(--ic-check) center/contain no-repeat;opacity:.9;
}

/* ---------- lists that are really cards (item leads with a bold label) ---------- */
.entry-content ul:has(> li > strong:first-child){
  display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:1rem;max-width:none;margin:1.8rem 0 2.4rem;
}
.entry-content ul:has(> li > strong:first-child) > li{
  background:linear-gradient(180deg,var(--dg-surface) 0%,rgba(10,16,24,.85) 100%);
  border:1px solid var(--dg-line);border-radius:var(--dg-r);
  padding:1.35rem 1.3rem 1.25rem;margin:0;padding-left:1.3rem;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.entry-content ul:has(> li > strong:first-child) > li:hover{
  border-color:rgba(34,211,238,.45);transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(0,0,0,.4);
}
.entry-content ul:has(> li > strong:first-child) > li::before{
  position:static;display:block;width:2.3rem;height:2.3rem;margin-bottom:.85rem;
  background:var(--ic-bolt) center/1.15rem no-repeat,rgba(34,211,238,.10);
  border:1px solid rgba(34,211,238,.28);border-radius:10px;opacity:1;
}
.entry-content ul:has(> li > strong:first-child) > li > strong:first-child{
  display:block;font-family:'Rajdhani',sans-serif;font-size:1.16rem;font-weight:700;
  color:var(--dg-text);margin-bottom:.3rem;letter-spacing:.005em;
}

/* ---------- ordered lists = numbered process steps ---------- */
.entry-content ol{list-style:none;counter-reset:dg;padding-left:0;margin:1.6rem 0 2rem;max-width:var(--dg-maxw)}
.entry-content ol>li{counter-increment:dg;position:relative;padding-left:3.4rem;margin:1.05rem 0}
.entry-content ol>li::before{
  content:counter(dg,decimal-leading-zero);position:absolute;left:0;top:-.12em;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1.45rem;line-height:1;
  color:var(--dg-cyan);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;
  background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.3);border-radius:10px;
}
.entry-content ol>li>strong:first-child{display:block;font-family:'Rajdhani',sans-serif;
  font-size:1.12rem;color:var(--dg-text);margin-bottom:.15rem}

/* ---------- buttons ---------- */
.wp-block-buttons{margin:1.7rem 0 2.1rem;gap:.7rem}
.wp-block-button__link,.wp-element-button{
  background:var(--dg-grad)!important;color:#05121b!important;
  font-family:'Rajdhani',sans-serif;font-weight:750;font-size:1.05rem;
  border:0;border-radius:999px;padding:.85em 1.95em;box-shadow:var(--dg-glow);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.wp-block-button__link:hover,.wp-element-button:hover{
  transform:translateY(-1px);filter:brightness(1.07);
  box-shadow:0 12px 38px rgba(34,211,238,.34);color:#05121b!important;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;color:var(--dg-cyan)!important;
  border:1.5px solid rgba(34,211,238,.55);box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(34,211,238,.10)!important;border-color:var(--dg-cyan);color:#67e8f9!important;
}

/* ---------- quote / separator / table ---------- */
.wp-block-quote{
  border:0;border-left:3px solid var(--dg-cyan);background:var(--dg-surface);
  border-radius:0 var(--dg-r) var(--dg-r) 0;padding:1.15rem 1.45rem;margin:1.9rem 0;color:#d9e4f3;
}
.wp-block-quote p:last-child{margin-bottom:0}
.wp-block-separator{
  border:0;height:1px;max-width:var(--dg-maxw);margin:3.2rem auto 3.2rem 0;
  background:linear-gradient(90deg,rgba(34,211,238,.5),rgba(59,130,246,.16),transparent);
}
.wp-block-table{margin:1.9rem 0;overflow-x:auto}
.wp-block-table table{border-collapse:separate;border-spacing:0;width:100%;font-size:.95rem;
  background:var(--dg-surface);border-radius:var(--dg-r);overflow:hidden}
.wp-block-table th,.wp-block-table td{border-bottom:1px solid var(--dg-line);padding:.85rem 1rem;text-align:left}
.wp-block-table thead th{background:var(--dg-surface-2);color:var(--dg-text);
  font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}
.wp-block-table tbody tr:last-child td{border-bottom:0}

/* ---------- form card ---------- */
.digiator-form{
  background:linear-gradient(180deg,var(--dg-surface) 0%,var(--dg-bg-2) 100%);
  border:1px solid var(--dg-line-2);border-radius:20px;padding:2.1rem 1.9rem;
  margin:2.4rem 0;max-width:660px;scroll-margin-top:110px;
  box-shadow:0 30px 70px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);
}
.fluentform .ff-el-input--label label{color:var(--dg-text);font-weight:600;font-size:.93rem;margin-bottom:.35rem}
.fluentform .ff-el-form-control{
  background:rgba(255,255,255,.045)!important;color:var(--dg-text)!important;
  border:1px solid var(--dg-line-2)!important;border-radius:10px!important;
  padding:.82rem .95rem!important;font-size:.98rem;box-shadow:none!important;
}
.fluentform .ff-el-form-control::placeholder{color:#6f8299}
.fluentform .ff-el-form-control:focus{
  border-color:var(--dg-cyan)!important;box-shadow:0 0 0 3px rgba(34,211,238,.18)!important;outline:none;
}
.fluentform .ff-el-form-check-label,.fluentform .ff-el-form-check{color:var(--dg-body);font-size:.92rem}
.fluentform input[type=checkbox]{accent-color:var(--dg-cyan);width:1.05em;height:1.05em;margin-right:.5em}
.fluentform .ff-btn-submit{
  background:var(--dg-grad)!important;color:#05121b!important;border:0!important;
  font-family:'Rajdhani',sans-serif;font-weight:750!important;font-size:1.05rem!important;
  border-radius:999px!important;padding:.85em 2.1rem!important;box-shadow:var(--dg-glow);
  transition:transform .16s ease,filter .16s ease;
}
.fluentform .ff-btn-submit:hover{transform:translateY(-1px);filter:brightness(1.07)}
.fluentform .text-danger,.fluentform .error{color:#fca5a5!important}
.ff-message-success{background:rgba(34,211,238,.08)!important;border:1px solid rgba(34,211,238,.35)!important;
  color:var(--dg-text)!important;border-radius:12px}

/* ---------- FAQ-style h3 stacks ---------- */
.entry-content h3{padding-left:.9rem;border-left:2px solid rgba(34,211,238,.45)}

/* ---------- footer ---------- */
.site-footer,footer.site-footer,.ast-footer-overlay{
  background:var(--dg-bg-2)!important;border-top:1px solid var(--dg-line);color:var(--dg-muted);
}
.site-footer a{color:var(--dg-muted)}
.site-footer a:hover{color:var(--dg-cyan)}

/* ---------- misc ---------- */
img{border-radius:12px}
:focus-visible{outline:2px solid var(--dg-cyan);outline-offset:2px}

@media (max-width:921px){
  body{font-size:16px}
  .ast-single-entry-banner,.entry-header{padding:2.4rem 0 .6rem!important}
  .entry-title{max-width:none}
  .digiator-form{padding:1.5rem 1.15rem;border-radius:16px}
  .wp-block-buttons .wp-block-button{width:100%}
  .wp-block-button__link{display:block;text-align:center}
  .entry-content ul:has(> li > strong:first-child){grid-template-columns:1fr}
  .ast-mobile-popup-drawer .main-header-menu{background:var(--dg-bg-2)}
  .ast-mobile-popup-drawer .menu-item a{color:var(--dg-body)!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
  .entry-content ul>li:hover{transform:none}
}


/* ============ fixes-theme.css ============ */
/* ==========================================================================
   THEME RECONCILIATION — this must come after digiator-style.css
   Astra drives its entire cascade from --ast-global-color-*, and those were
   still light. Rather than out-specify dozens of Astra rules one by one,
   redefine the tokens so the theme itself renders dark and stays coherent.
   Root cause seen in the wild:
     .ast-plain-container{background-color:var(--ast-global-color-5)}  -> #FFFFFF
     (class selector on <body>, so it outranked our bare `body` rule)
   ========================================================================== */

:root{
  --ast-global-color-0:#22d3ee;   /* was #046bd2  accent            */
  --ast-global-color-1:#3b82f6;   /* was #045cb4  accent hover      */
  --ast-global-color-2:#eaf1fa;   /* was #1e293b  headings          */
  --ast-global-color-3:#c4d1e3;   /* was #334155  body text         */
  --ast-global-color-4:#0e1626;   /* was #F0F5FA  alt surface       */
  --ast-global-color-5:#070b12;   /* was #FFFFFF  page ground       */
  --ast-global-color-6:rgba(148,163,184,.18); /* was #D1D5DB borders */
  --ast-global-color-7:#eaf1fa;   /* was #111111                    */
  --ast-global-color-8:#0b1220;   /* was #111111                    */
}

/* belt and braces: pin the page ground at every level Astra paints it */
html,
body,
body.ast-plain-container,
body.ast-separate-container,
.ast-plain-container,
.ast-page-builder-template,
#page,
.site,
.site-content,
.ast-plain-container .site-content,
.ast-padded-layout.ast-plain-container .site-content,
.ast-box-layout.ast-plain-container .site-content{
  background-color:var(--dg-bg);
}
body{color:var(--dg-body)}

/* ---- hero order: our H1 now lives in the content, so retire Astra's ----
   Every one of the 54 pages emits exactly one <h1> as a content block,
   which puts the eyebrow above the headline where the brief wants it. */
.ast-single-entry-banner,
.entry-header .entry-title,
.ast-archive-description{display:none!important}
.entry-header{padding:0!important;margin:0!important;border:0!important}

.entry-content>h1{
  font-size:clamp(2.2rem,1.3rem + 3.2vw,3.9rem);
  line-height:1.08;letter-spacing:-.022em;margin:.1em 0 .5em;max-width:19ch;
  color:var(--dg-text);text-wrap:balance;
}
.site-content>.ast-container{padding-top:3.4rem}

/* ---- header: keep the nav and its CTA on one row ---- */
.ast-primary-header-bar .site-header-primary-section-right{flex-wrap:nowrap}
.main-header-menu{flex-wrap:nowrap!important}
.main-header-menu>.menu-item>.menu-link,
.main-header-menu>.menu-item>a{padding-left:.62rem!important;padding-right:.62rem!important;font-size:.9rem}
.ast-primary-header-bar{min-height:76px}
.ast-primary-header-bar .main-header-bar-navigation{align-self:center}
li.digiator-nav-cta{display:flex;align-items:center}
li.digiator-nav-cta>a{white-space:nowrap;font-size:.88rem!important;padding:.55rem 1rem!important}
@media (max-width:1200px){
  .main-header-menu>.menu-item>a{padding-left:.45rem!important;padding-right:.45rem!important;font-size:.85rem}
  li.digiator-nav-cta>a{font-size:.82rem!important;padding:.5rem .8rem!important}
}

/* ---- tighten the vertical rhythm; the first pass was far too airy ---- */
.entry-content>h2{margin-top:2.1em}
.wp-block-separator{margin:2.2rem auto 2.2rem 0}
.entry-content>p{margin-bottom:1.05em}
.wp-block-buttons{margin:1.25rem 0 1.5rem}

/* the two hero CTAs belong side by side, not stacked */
.entry-content>.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.7rem}
.entry-content>.wp-block-buttons+.wp-block-buttons{margin-top:-1.15rem}

/* ---- Astra components that inherit the old light palette ---- */
input,select,textarea{
  background-color:rgba(255,255,255,.045);color:var(--dg-text);
  border-color:var(--dg-line-2);
}
input::placeholder,textarea::placeholder{color:#6f8299}
.site-footer,.ast-footer-overlay,footer .ast-footer-copyright{
  background-color:var(--dg-bg-2)!important;color:var(--dg-muted);
}
blockquote{color:var(--dg-body)}
hr{border-color:var(--dg-line)}

/* the sticky WhatsApp widget sat half off-canvas against the dark ground */
.mystickyelements-fixed{filter:saturate(.9)}


/* ============ fixes-astra.css ============ */
/* ==========================================================================
   digiator — Astra corrective layer
   Append AFTER digiator-style.css (digiator-brand-css).

   Why this file exists: digiator-brand-css is NOT the last stylesheet in the
   document (elementor-frontend, eael-general, mystickyelements, font-awesome
   and intl-tel-input all load after it), and — more importantly — several
   Astra rules in <style id='astra-theme-css-inline-css'> and in
   astra/assets/css/minified/main.min.css carry HIGHER specificity than the
   element/single-class selectors used in digiator-style.css. Those win
   regardless of document order.

   Only rules with a proven, quoted offender are included. No !important is
   used anywhere below — every fix wins on specificity alone.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. WHITE PAGE SLAB
   Counters (astra-theme-css-inline-css, emitted 3x: base + max-921 + max-544):
       .ast-plain-container, .ast-page-builder-template
           { background-color: var(--ast-global-color-5); }   -> #FFFFFF
   `ast-plain-container` is a BODY class on all four pages, so this (0,1,0)
   rule beats digiator's `body { background: var(--dg-bg) }` (0,0,1) and
   paints the whole canvas white.
   -------------------------------------------------------------------------- */
body.ast-plain-container,
body.ast-page-builder-template{
  background-color:var(--dg-bg);
}


/* --------------------------------------------------------------------------
   2. DARK HEADINGS INSIDE .entry-content
   Counters (astra-theme-css-inline-css):
       h1,.entry-content h1,h2,.entry-content h2,h3,.entry-content h3,
       h4,.entry-content h4,h5,.entry-content h5,h6,.entry-content h6
           { color: var(--ast-global-color-2); }   -> #1e293b
       ... same list { font-weight:600; }
       h2,.entry-content h2 { font-size:30px; font-weight:600; line-height:1.3em; }
       h3,.entry-content h3 { font-size:24px; ... }   (+ 921px / 544px variants)
   Each `.entry-content hN` branch is (0,1,1) and beats digiator's bare
   `h1,h2,h3,h4,h5,h6` (0,0,1) — so every in-content heading renders slate
   #1e293b on near-black, at Astra's fixed sizes, at weight 600.
   -------------------------------------------------------------------------- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6{
  color:var(--dg-text);
  font-family:'Rajdhani','Inter',sans-serif;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.005em;
}
.entry-content h1{font-size:clamp(2.2rem,1.3rem + 3.2vw,3.9rem);letter-spacing:-.022em}
.entry-content h2{font-size:clamp(1.65rem,1.15rem + 1.8vw,2.6rem)}
.entry-content h3{font-size:clamp(1.25rem,1.05rem + .85vw,1.65rem)}
.entry-content h4{font-size:1.15rem}


/* --------------------------------------------------------------------------
   3. PAGE TITLE (H1) SHRUNK TO 32px
   Counters (astra-theme-css-inline-css):
       header.entry-header .entry-title
           { font-weight:600; font-size:32px; font-size:2rem; }
   (0,1,2) beats digiator's `.entry-title` (0,1,0), so the hero H1 loses its
   fluid clamp and its 700 weight. Markup is
   <header class="entry-header ast-no-thumbnail"><h1 class="entry-title">.
   -------------------------------------------------------------------------- */
header.entry-header .entry-title{
  font-size:clamp(2.2rem,1.3rem + 3.2vw,3.9rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.022em;
}


/* --------------------------------------------------------------------------
   4. GUTENBERG BUTTON TYPOGRAPHY / PADDING
   Counters (astra-theme-css-inline-css):
       .wp-block-button .wp-block-button__link,
       .wp-block-search .wp-block-search__button,
       body .wp-block-file .wp-block-file__button
           { font-family:inherit; font-weight:500; font-size:16px; font-size:1rem;
             line-height:1em; padding-top:15px; padding-right:30px;
             padding-bottom:15px; padding-left:30px; }
       ... repeated at 921px (14px/28px) and 544px (12px/24px)
   (0,2,0) beats digiator's `.wp-block-button__link,.wp-element-button` (0,1,0),
   so the pill buttons lose Rajdhani 750 / 1.05rem and use Astra's box padding.
   (Background + colour are safe — digiator sets those with !important.)
   All buttons on these pages sit inside .wp-block-buttons, so (0,3,0) applies.
   -------------------------------------------------------------------------- */
.wp-block-buttons .wp-block-button .wp-block-button__link{
  font-family:'Rajdhani',sans-serif;
  font-weight:750;
  font-size:1.05rem;
  padding:.85em 1.95em;
}


/* --------------------------------------------------------------------------
   5. OUTLINE BUTTON — BLUE BORDER + WRONG PADDING
   Counters (astra-theme-css-inline-css):
       .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
       .ast-outline-button, .wp-block-uagb-buttons-child .uagb-buttons-repeater.ast-outline-button
           { border-color:var(--ast-global-color-0);      -> #046bd2
             border-top-width:2px; ...; font-family:inherit; font-weight:500;
             font-size:1rem; padding-top:10px; padding-right:24px; ... }
   (0,4,0) beats digiator's `.wp-block-button.is-style-outline .wp-block-button__link`
   (0,2,0) — the "Chat on WhatsApp" button gets a #046bd2 border, not cyan.
   And on hover:
       .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover
           { border-color:var(--ast-global-color-1); }    -> #045cb4
   (0,5,0) beats digiator's hover rule (0,3,0).
   -------------------------------------------------------------------------- */
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button{
  border:1.5px solid rgba(34,211,238,.55);
  font-family:'Rajdhani',sans-serif;
  font-weight:750;
  font-size:1.05rem;
  padding:.85em 1.95em;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:not(.has-text-color):hover{
  border-color:var(--dg-cyan);
}


/* --------------------------------------------------------------------------
   6. MOBILE DROPDOWN PANEL IS WHITE (light-on-light nav)
   Counters (astra-theme-css-inline-css):
       .ast-mobile-header-wrap .ast-mobile-header-content,
       .ast-desktop-header-content            { background-color:#ffffff; }
       .ast-builder-menu-mobile .main-navigation .main-header-menu,
       .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu
                                              { background-color:var(--ast-global-color-5); }  -> #FFFFFF
       .ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link,
       .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link
                                              { background:var(--ast-global-color-4); }        -> #F0F5FA
   digiator only darkens `.ast-mobile-popup-drawer` — but this header is
   data-toggle-type="dropdown" and renders .ast-mobile-header-content, so that
   rule never matches. Meanwhile digiator's
   `.main-header-menu a,.ast-nav-menu a { color:var(--dg-body)!important }`
   DOES match the mobile list → light text on a white panel.
   -------------------------------------------------------------------------- */
#masthead .ast-mobile-header-content{
  background-color:var(--dg-bg-2);
}
.ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu{
  background-color:transparent;
}
.ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link{
  background:rgba(34,211,238,.10);
}


/* --------------------------------------------------------------------------
   7. HEADER SOCIAL ICONS RENDER BLACK-ON-BLACK
   Counters (astra-theme-css-inline-css + main.min.css):
       .ast-builder-social-element { line-height:1; color:#3a3a3a; background:transparent; ... }
   and the absence of any fill rule: the markup is
       <span class="ahfb-svg-iconset ..."><svg viewBox='0 0 448 512'><path .../></svg></span>
   with NO fill attribute, and Astra only declares `.ast-icon svg{fill:currentColor}`
   (a different class). Default SVG fill is black — invisible on #070b12.
   The inline `style="--color:#557dbc"` on each link is dead: no stylesheet in
   the document reads var(--color).
   -------------------------------------------------------------------------- */
.ast-header-social-wrap .ahfb-svg-iconset svg{
  fill:currentColor;
}
.ast-header-social-wrap .ast-builder-social-element{
  color:var(--dg-muted);
}
.ast-header-social-wrap .ast-builder-social-element:hover{
  color:var(--dg-cyan);
}


/* --------------------------------------------------------------------------
   8. MOBILE MENU TRIGGER STILL PAINTED FOR THE OLD #59caff HEADER
   Counters (astra-theme-css-inline-css):
       [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal
           { color:var(--ast-global-color-0); border:none; background:transparent; }
       [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg
           { width:20px; height:20px; fill:var(--ast-global-color-0); }
   --ast-global-color-0 is #046bd2; the hamburger/close SVG carries
   fill='currentColor' but the CSS fill wins, leaving ~2.4:1 contrast on
   --dg-bg. Prefixing with .site-header raises these to (0,4,0)/(0,5,0).
   -------------------------------------------------------------------------- */
.site-header [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal{
  color:var(--dg-text);
}
.site-header [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg{
  fill:var(--dg-text);
}


/* ============ icons-capabilities.css ============ */
/* ==========================================================================
   Per-capability icons — home page only.
   Scoped to a card list with EXACTLY seven items, which is only ever the
   seven-capability list. The :not(:has(> li:nth-child(8))) guard means this
   can never bleed onto a different list if content changes.
   Icons encode which capability the card is, so they carry information
   rather than decorating; every other card list keeps the single generic mark.
   ========================================================================== */

body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(3)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.2' y2='16.2'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(4)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.2 5.3L20 10l-5.8 1.7L12 17l-2.2-5.3L4 10l5.8-1.7L12 3z'/%3E%3Cpath d='M18.5 15.5l.9 2.1 2.1.9-2.1.9-.9 2.1-.9-2.1-2.1-.9 2.1-.9.9-2.1z'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(5)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='3.5' width='19' height='13' rx='2'/%3E%3Cline x1='2.5' y1='8' x2='21.5' y2='8'/%3E%3Cline x1='8' y1='20.5' x2='16' y2='20.5'/%3E%3Cline x1='12' y1='16.5' x2='12' y2='20.5'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(6)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5.5' rx='8' ry='3'/%3E%3Cpath d='M20 12c0 1.66-3.58 3-8 3s-8-1.34-8-3'/%3E%3Cpath d='M4 5.5v13c0 1.66 3.58 3 8 3s8-1.34 8-3v-13'/%3E%3C/svg%3E");
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(7)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E");
}

/* the seven-capability grid reads best as a 3/2/2 rhythm on wide screens */
@media (min-width:1024px){
  body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))){
    grid-template-columns:repeat(3,1fr);
  }
  body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(7){
    grid-column:span 3;
  }
}


/* ============ enhance.css ============ */
/* ==========================================================================
   Digiator — support styles for digiator-enhance.js
   Load AFTER digiator-style.css. Every state below is only reachable once
   the JS has added its class, so the page is fully usable without JS.
   ========================================================================== */

/* ---------- 1. scroll reveal ---------------------------------------- */
/* .dg-reveal is applied by JS only, so no-JS visitors never see opacity:0 */
.entry-content > .dg-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s cubic-bezier(.22,.61,.36,1),
             transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.entry-content > .dg-reveal.dg-in{opacity:1;transform:none}

/* ---------- 2. sticky header scrolled state -------------------------- */
#masthead.dg-scrolled,
.site-header.dg-scrolled{
  background:rgba(7,11,18,.94);
  border-bottom-color:var(--dg-line-2,rgba(148,163,184,.30));
  box-shadow:0 10px 34px rgba(0,0,0,.50);
  transition:background .22s ease,box-shadow .22s ease,border-color .22s ease;
}

/* ---------- 4. FAQ accordion ----------------------------------------- */
.entry-content > h3.dg-acc-head{
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-right:2.4rem;
  margin:1.25em 0 0;
  transition:color .18s ease,border-color .18s ease;
}
.entry-content > h3.dg-acc-head:hover{
  color:var(--dg-cyan,#22d3ee);
  border-left-color:var(--dg-cyan,#22d3ee);
}
.entry-content > h3.dg-acc-head::after{
  content:"";
  position:absolute;
  right:.5rem;
  top:50%;
  width:.62em;
  height:.62em;
  margin-top:-.34em;
  border-right:2px solid var(--dg-cyan,#22d3ee);
  border-bottom:2px solid var(--dg-cyan,#22d3ee);
  transform:rotate(45deg);
  transform-origin:center;
  transition:transform .22s ease;
}
.entry-content > h3.dg-acc-head.dg-acc-open::after{transform:rotate(-135deg)}

/* closed */
.dg-acc-panel[hidden]{display:none!important}
/* open */
.dg-acc-panel{
  padding-top:.2rem;
  animation:dg-acc-in .28s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes dg-acc-in{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:none}
}
/* Paragraphs move one level deeper when the panel wrapper is created, so
   restore the measure that .entry-content > p was giving them. */
.dg-acc-panel > p,
.dg-acc-panel > ul,
.dg-acc-panel > ol,
.dg-acc-panel > h4,
.dg-acc-panel > .wp-block-quote{max-width:var(--dg-maxw,74ch)}
.dg-acc-panel > p:last-child{margin-bottom:1.6em}

/* ---------- 5. active top-level nav item ------------------------------ */
.main-header-menu > li.dg-nav-current > a,
.ast-nav-menu > li.dg-nav-current > a{
  color:var(--dg-cyan,#22d3ee)!important;
  font-weight:650;
}
.main-header-menu > li.dg-nav-current:not(.digiator-nav-cta) > a::after,
.ast-nav-menu > li.dg-nav-current:not(.digiator-nav-cta) > a::after{
  content:"";
  display:block;
  height:2px;
  border-radius:2px;
  margin-top:2px;
  background:var(--dg-grad,linear-gradient(135deg,#22d3ee 0%,#3b82f6 100%));
}
/* the pill CTA keeps its own styling — just brighten it slightly */
.main-header-menu > li.digiator-nav-cta.dg-nav-current > a,
.ast-nav-menu > li.digiator-nav-cta.dg-nav-current > a{filter:brightness(1.08)}

/* ---------- reduced motion -------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .entry-content > .dg-reveal{opacity:1;transform:none;transition:none}
  .dg-acc-panel{animation:none}
  .entry-content > h3.dg-acc-head::after{transition:none}
  #masthead.dg-scrolled,.site-header.dg-scrolled{transition:none}
}


/* ============ technogen.css ============ */
/* ==========================================================================
   DIGIATOR — visual system, TechnoGen structural language in Digiator's palette.
   Borrowed: alternating full-bleed tone bands, mono eyebrow pills, aurora +
   masked grid hero, 1.5rem hairline-ring tiles with a -2px hover lift,
   80rem container, 5–7rem section rhythm, display type at 1.06–1.12 leading.
   Kept: Digiator's near-black #070b12 ground and cyan→blue accent.
   Loaded LAST — supersedes the earlier polish layers.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --dg-canvas:#070b12;
  --dg-canvas-2:#0a111c;          /* alternating band */
  --dg-tile:#0e1626;
  --dg-tile-2:#111c2e;
  --dg-line:rgba(148,163,184,.16);
  --dg-line-bright:rgba(148,163,184,.32);
  --dg-text:#eaf1fa;
  --dg-body:#c4d1e3;
  --dg-muted:#8da0bb;
  --dg-cyan:#22d3ee;
  --dg-blue:#3b82f6;
  --dg-grad:linear-gradient(135deg,#22d3ee 0%,#3b82f6 100%);
  --dg-shadow-card:0 10px 34px -14px rgba(0,0,0,.7);
  --dg-shadow-lift:0 26px 70px -26px rgba(0,0,0,.85);
  --dg-glow:0 18px 50px -18px rgba(34,211,238,.45);
  --dg-r-xl:1.5rem;
  --dg-r-md:.85rem;
  --dg-pill:999px;
  /* One column edge for the whole page: the band container is the grid width,
     and prose simply stops earlier inside it. This is how TechnoGen stays
     coherent — heading and card grid share a left edge, prose is just shorter.
     80rem was too wide: centring the prose to avoid a bare right half then
     broke alignment with the full-width card grids. */
  --dg-container:70rem;
  --dg-col:44rem;
  --dg-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ---------- 1 · BANDS ------------------------------------------------ */
.entry-content[data-ast-blocks-layout] > .dg-band{
  max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:0;
  padding-block:4.5rem;position:relative;
}
@media (min-width:768px){
  .entry-content[data-ast-blocks-layout] > .dg-band{padding-block:6.5rem}
}
.dg-band--alt{background:var(--dg-canvas-2)}
.dg-band__inner{
  width:100%;max-width:var(--dg-container);margin-inline:auto;
  padding-inline:1.25rem;position:relative;z-index:1;
}
@media (min-width:768px){ .dg-band__inner{padding-inline:2rem} }

/* hero band: aurora blobs + masked grid, the TechnoGen opening */
.dg-band--hero{padding-top:3.5rem}
@media (min-width:768px){ .dg-band--hero{padding-top:5rem;padding-bottom:5.5rem} }
.dg-band--hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to right,rgba(148,163,184,.055) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(148,163,184,.055) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse at top left,#000,transparent 72%);
  mask-image:radial-gradient(ellipse at top left,#000,transparent 72%);
}
.dg-band--hero::after{
  content:"";position:absolute;top:-14rem;left:-6rem;width:34rem;height:34rem;
  border-radius:50%;pointer-events:none;z-index:0;filter:blur(28px);
  background:radial-gradient(circle,rgba(34,211,238,.20),transparent 65%);
  animation:dg-float 9s ease-in-out infinite;
}
@keyframes dg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@media (prefers-reduced-motion:reduce){ .dg-band--hero::after{animation:none} }

/* the ambient body glow is redundant once bands carry the atmosphere */
body::before{display:none}

/* ---------- 2 · MEASURE ---------------------------------------------- */
/* Content bands centre their column; only the hero stays left-aligned, where
   the aurora fills the opposite side. TechnoGen can left-align everything
   because its copy is short and a full-width card grid always follows — these
   pages run 900–1,400 words, so a left-jammed column left half the page bare. */
.dg-band__inner > p,
.dg-band__inner > h1,
.dg-band__inner > h2,
.dg-band__inner > h3,
.dg-band__inner > h4,
.dg-band__inner > ol,
.dg-band__inner > blockquote,
.dg-band__inner > .wp-block-buttons,
.dg-band__inner > .digiator-eyebrow,
.dg-band__inner > .digiator-proof-strip,
.dg-band__inner > .digiator-microcopy,
.dg-band__inner > .digiator-contextual-link,
.dg-band__inner > ul:not(:has(> li > strong:first-child)){
  max-width:var(--dg-col);margin-left:auto;margin-right:auto;
}
.dg-band--hero .dg-band__inner > *{margin-left:0;margin-right:auto}
.dg-band__inner > ul:has(> li > strong:first-child),
.dg-band__inner > .wp-block-table{max-width:none;margin-left:auto;margin-right:auto}
.dg-band__inner > .digiator-form{max-width:var(--dg-col);margin-left:auto;margin-right:auto}

/* ---------- 3 · TYPE -------------------------------------------------- */
.dg-band__inner > h1{
  font-size:clamp(2.5rem,1.5rem + 3.6vw,4.15rem);
  line-height:1.06;letter-spacing:-.025em;font-weight:700;
  color:var(--dg-text);text-wrap:balance;max-width:19ch;margin:.85rem 0 0;
}
.dg-band__inner > h2{
  font-size:clamp(1.85rem,1.25rem + 2.1vw,2.85rem);
  line-height:1.14;letter-spacing:-.015em;font-weight:700;
  color:var(--dg-text);text-wrap:balance;max-width:var(--dg-col);
  margin:0 0 1.1rem;padding-top:0;
}
.dg-band__inner > h2::before{display:none}     /* the eyebrow pill carries this role now */
.dg-band__inner > h3{
  font-size:clamp(1.2rem,1.05rem + .7vw,1.5rem);line-height:1.25;
  border-left:0;padding-left:0;margin:2rem 0 .5rem;color:var(--dg-text);
}
.dg-band__inner > h1 + p{font-size:1.2rem;color:#d5e1f1;margin-top:1.5rem;line-height:1.62}
.dg-band__inner > h2 + p{font-size:1.12rem;color:#d5e1f1}
.dg-band__inner > p{margin:0 0 1.15rem;line-height:1.72}

/* Consecutive .wp-block-buttons wrappers are merged into one by
   digiator-bands.js, so a single flex row holds both hero CTAs. */
.dg-band__inner > .wp-block-buttons{
  display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;margin-bottom:0;
}
.dg-band__inner > .digiator-microcopy{margin-top:1.4rem}
.dg-band__inner > .digiator-proof-strip{margin-top:2rem}

/* ---------- 4 · EYEBROW PILL (the signature label) -------------------- */
.digiator-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--dg-mono);font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--dg-cyan);
  background:rgba(34,211,238,.09);
  padding:.42rem .9rem;border-radius:var(--dg-pill);
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.30);
  margin:0 0 .2rem;max-width:none;
}
.digiator-eyebrow::before{display:none}

/* ---------- 5 · TILES (capability / proof cards) ---------------------- */
.dg-band__inner ul:has(> li > strong:first-child){
  display:grid;gap:1.05rem;list-style:none;padding:0;margin:2rem 0 .5rem;
  grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));
}
.dg-band__inner ul:has(> li > strong:first-child) > li{
  background:var(--dg-tile);
  border:0;border-radius:var(--dg-r-xl);
  box-shadow:inset 0 0 0 1px var(--dg-line),var(--dg-shadow-card);
  padding:1.5rem 1.4rem 1.4rem;margin:0;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.dg-band__inner ul:has(> li > strong:first-child) > li:hover{
  transform:translateY(-2px);background:var(--dg-tile-2);
  box-shadow:inset 0 0 0 1px var(--dg-line-bright),var(--dg-shadow-lift);
}
.dg-band__inner ul:has(> li > strong:first-child) > li::before{
  content:"";display:block;position:static;
  width:2.6rem;height:2.6rem;margin:0 0 1rem;
  border-radius:.8rem;opacity:1;
  background:var(--ic-bolt) center/1.2rem no-repeat,rgba(34,211,238,.10);
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.26);
}
.dg-band__inner ul:has(> li > strong:first-child) > li > strong:first-child{
  display:block;font-family:'Rajdhani',sans-serif;font-size:1.18rem;
  font-weight:700;color:var(--dg-text);margin-bottom:.35rem;letter-spacing:.005em;
}

/* label-led paragraphs become the same tile, so pages without lists
   (services, several industries) get the identical rhythm */
.dg-band__inner > p:not([class]):has(> strong:first-child){
  max-width:var(--dg-col);margin:.65rem 0;
  padding:1.15rem 1.3rem;border-radius:var(--dg-r-xl);border:0;
  background:var(--dg-tile);
  box-shadow:inset 0 0 0 1px var(--dg-line);
}
.dg-band__inner > p:not([class]):has(> strong:first-child) > strong:first-child{
  display:block;font-family:'Rajdhani',sans-serif;font-size:1.12rem;
  font-weight:700;color:var(--dg-text);margin-bottom:.2rem;
}
.dg-band__inner > p:not([class]):has(+ .digiator-form){
  background:none;box-shadow:none;padding:0;font-family:'Rajdhani',sans-serif;
  font-size:1.45rem;color:var(--dg-text);margin:1.8rem 0 .7rem;
}

/* ---------- 6 · NUMBERED STEPS ---------------------------------------- */
.dg-band__inner > ol{counter-reset:dg;list-style:none;padding:0;margin:1.8rem 0}
.dg-band__inner > ol > li{
  counter-increment:dg;position:relative;padding-left:3.6rem;margin:1.15rem 0;
}
.dg-band__inner > ol > li::before{
  content:counter(dg,decimal-leading-zero);position:absolute;left:0;top:-.1em;
  font-family:var(--dg-mono);font-weight:700;font-size:.95rem;
  width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;
  color:var(--dg-cyan);background:rgba(34,211,238,.08);
  border-radius:.8rem;box-shadow:inset 0 0 0 1px rgba(34,211,238,.28);
}

/* plain lists */
.dg-band__inner > ul:not(:has(> li > strong:first-child)){list-style:none;padding:0}
.dg-band__inner > ul:not(:has(> li > strong:first-child)) > li{
  position:relative;padding-left:1.7em;margin:.5em 0;
}
.dg-band__inner > ul:not(:has(> li > strong:first-child)) > li::before{
  content:"";position:absolute;left:0;top:.42em;width:1em;height:1em;
  background:var(--ic-check) center/contain no-repeat;
}

/* ---------- 7 · BUTTONS ----------------------------------------------- */
.wp-block-buttons{gap:.7rem;margin:1.6rem 0 0}
.wp-block-buttons .wp-block-button .wp-block-button__link,
.wp-block-button__link,.wp-element-button{
  border-radius:var(--dg-pill);
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:1.02rem;
  padding:.82em 1.7em;background:var(--dg-grad)!important;color:#05121b!important;
  box-shadow:var(--dg-glow);border:0;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.wp-block-button__link:hover,.wp-element-button:hover{
  transform:translateY(-2px);filter:brightness(1.06);
  box-shadow:0 26px 62px -20px rgba(34,211,238,.55);color:#05121b!important;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button{
  background:transparent!important;color:var(--dg-text)!important;
  box-shadow:inset 0 0 0 1px var(--dg-line-bright);border:0;
}
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover{
  box-shadow:inset 0 0 0 1px var(--dg-cyan);color:var(--dg-cyan)!important;background:rgba(34,211,238,.07)!important;
}

/* ---------- 8 · SMALL PARTS ------------------------------------------- */
.digiator-proof-strip{
  font-family:var(--dg-mono);font-size:.78rem;letter-spacing:.02em;
  color:var(--dg-muted);background:transparent;
  border:0;box-shadow:inset 0 0 0 1px var(--dg-line);
  border-radius:var(--dg-pill);padding:.75rem 1.25rem;margin:1.8rem 0 0;
  max-width:none;display:inline-block;
}
.digiator-microcopy{font-size:.9rem;color:var(--dg-muted);max-width:38rem}
.digiator-contextual-link{margin-top:1.4rem}
.digiator-contextual-link a{
  font-family:var(--dg-mono);font-size:.8rem;letter-spacing:.06em;
  text-transform:uppercase;font-weight:700;border-bottom:0;
  color:var(--dg-cyan);display:inline-flex;align-items:center;gap:.5rem;
}

.digiator-form{
  background:var(--dg-tile);border:0;border-radius:var(--dg-r-xl);
  box-shadow:inset 0 0 0 1px var(--dg-line),var(--dg-shadow-lift);
  padding:1.9rem 1.7rem;
}

/* ---------- 9 · HEADER / FOOTER --------------------------------------- */
.site-header,#masthead{background:rgba(7,11,18,.78)}
.main-header-menu a,.ast-nav-menu a{font-size:.92rem;font-weight:500}
li.digiator-nav-cta>a{
  font-family:'Rajdhani',sans-serif;border-radius:var(--dg-pill);
  box-shadow:var(--dg-glow);
}
.site-footer,footer.site-footer{background:var(--dg-canvas-2)!important}
.site-footer a{color:var(--dg-body);text-decoration:underline}

/* ---------- 10 · MOBILE ----------------------------------------------- */
@media (max-width:921px){
  :root{--dg-col:100%}
  .dg-band__inner > *{max-width:100%}
  .dg-band__inner > h1{max-width:100%}
  .dg-band__inner > h2{max-width:100%}
  .entry-content[data-ast-blocks-layout] > .dg-band{padding-block:3.2rem}
  .dg-band--hero{padding-top:2rem}
}
@media (max-width:600px){
  .dg-band__inner ul:has(> li > strong:first-child){grid-template-columns:1fr}
  .digiator-form{padding:1.3rem 1.05rem}
  .wp-block-buttons .wp-block-button{width:100%}
}

/* the seven-capability grid: keep every tile on its own track (an earlier
   layer stretched the seventh across three columns) */
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))){
  grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));
}
body.page-id-4180 .entry-content ul:has(> li > strong:first-child):has(> li:nth-child(7)):not(:has(> li:nth-child(8))) > li:nth-child(7){
  grid-column:auto;
}

/* ---------- 10b · COLUMN ALIGNMENT (must come after the type rules)
   Every `margin:` shorthand above resets margin-left/right to 0, which killed
   the centred column. Re-assert it here at (0,3,0) so it wins outright.
   -------------------------------------------------------------------------- */
.dg-band .dg-band__inner > *{margin-left:0;margin-right:auto}

/* ---------- 11 · CARRIED-OVER FIXES ----------------------------------- */
/* form field boundary was 1.56:1; .62 alpha composites to 3.11:1 (WCAG 1.4.11) */
.fluentform .ff-el-form-control{border-color:rgba(148,163,184,.62)!important}
.fluentform .ff-el-form-control::placeholder{color:var(--dg-muted)}
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--dg-cyan);outline-offset:2px;outline-style:solid;
}
/* the sticky contact widget sat mid-left and overlapped body copy */
.mystickyelements-minimize{display:none!important}
.mystickyelements-fixed{top:auto!important;bottom:18px!important;transform:none!important}
html,body{overflow-x:hidden}
