/* ==========================================================================
   AfriAgentic components, ported from the approved demo.

   Elementor supplies the containers and text; these classes supply the demo's
   visual treatment. Values are taken from the demo stylesheet rather than
   re-invented, so a side-by-side comparison holds up.
   ========================================================================== */

:root{
  --aa-navy:#071A2F;
  --aa-navy-deep:#04101D;
  --aa-navy-surface:#0A2340;
  --aa-navy-surface-2:#0E2C4F;
  --aa-black:#050505;
  --aa-black-surface:#0E0E10;
  --aa-black-surface-2:#161619;
  --aa-burgundy:#3B0A18;
  --aa-burgundy-deep:#2A0711;
  --aa-burgundy-surface:#4A1020;
  --aa-burgundy-surface-2:#5A1428;
  --aa-gold:#D4AF37;
  --aa-cyan:#00D9FF;
  --aa-text:#F5F6F8;
  --aa-text-dim:#9BA6B5;
  --aa-text-faint:#8A94A0;
  --aa-line:rgba(245,246,248,0.10);
  --aa-line-strong:rgba(245,246,248,0.20);
  --aa-ease:cubic-bezier(.22,.61,.36,1);
  --aa-radius-s:4px;
  --aa-radius-m:8px;

  --section-bg:var(--aa-navy);
  --section-surface:var(--aa-navy-surface);
  --section-surface-2:var(--aa-navy-surface-2);
}

/* ---------------- Section colour identities ----------------
   Each class re-points the surface variables, so cards and rules inside adapt
   to the section they sit in without one-off overrides. */
.sec-navy{background:var(--aa-navy);--section-bg:var(--aa-navy);--section-surface:var(--aa-navy-surface);--section-surface-2:var(--aa-navy-surface-2);}
.sec-navy-deep{background:var(--aa-navy-deep);--section-bg:var(--aa-navy-deep);--section-surface:#0A2036;--section-surface-2:var(--aa-navy-surface);}
.sec-black{background:var(--aa-black);--section-bg:var(--aa-black);--section-surface:var(--aa-black-surface);--section-surface-2:var(--aa-black-surface-2);}
.sec-burgundy{background:var(--aa-burgundy);--section-bg:var(--aa-burgundy);--section-surface:var(--aa-burgundy-surface);--section-surface-2:var(--aa-burgundy-surface-2);}
.sec-burgundy-deep{background:var(--aa-burgundy-deep);--section-bg:var(--aa-burgundy-deep);--section-surface:var(--aa-burgundy);--section-surface-2:var(--aa-burgundy-surface);}

/* ---------------- Eyebrow ---------------- */
.aa-eyebrow .elementor-heading-title{
  font-family:'JetBrains Mono',monospace!important;
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  display:flex;align-items:center;gap:9px;
}
.aa-eyebrow .elementor-heading-title::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:currentColor;flex:0 0 5px;
}

/* ---------------- Card grid: hairline table, exactly as the demo ---------- */
.cards-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:var(--aa-line)!important;
  border:1px solid var(--aa-line);
  width:100%;
}
.cards-grid.cols-2{grid-template-columns:repeat(2,1fr)!important;}
.cards-grid.cols-4{grid-template-columns:repeat(4,1fr)!important;}
.cards-grid.cols-5{grid-template-columns:repeat(5,1fr)!important;}
.cards-grid > .e-con,
.cards-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}

.aa-card{
  background:var(--section-bg);
  padding:0 0 32px!important;
  position:relative;
  display:flex;
  flex-direction:column;
  transition:background .4s var(--aa-ease);
  overflow:hidden;
  border-radius:0!important;
  border:0!important;
}
.aa-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--aa-cyan);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--aa-ease);
  z-index:3;
}
.aa-card.gold::before{background:var(--aa-gold);}
.aa-card:hover{background:var(--section-surface);}
.aa-card:hover::before{transform:scaleX(1);}

/* Media band: every major card carries a visual, image-ready by design. */
.aa-card-media{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
  background:var(--section-surface);
  border-bottom:1px solid var(--aa-line);
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:0!important;
}
.aa-card-media::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(245,246,248,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(245,246,248,.04) 1px,transparent 1px);
  background-size:26px 26px;
}
.aa-card-media img{width:100%;height:100%;object-fit:cover;}
.aa-card-media svg{position:relative;z-index:1;}
.aa-card:hover .aa-card-media{background:var(--section-surface-2);}

.aa-card-body{padding:26px 30px 0!important;display:flex;flex-direction:column;flex:1;}
.aa-card-body .elementor-heading-title{font-size:19px;}
.aa-card-body p{color:var(--aa-text-dim);font-size:14px;line-height:1.65;}
.aa-card-tag .elementor-heading-title{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'JetBrains Mono',monospace!important;
  font-size:10.5px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--aa-text-faint)!important;
  transition:color .3s,gap .3s;
}
.aa-card:hover .aa-card-tag .elementor-heading-title{color:var(--aa-cyan)!important;gap:11px;}

/* ---------------- Numbered index list ---------------- */
.aa-numlist{width:100%;}
.aa-numlist .aa-row{
  display:flex;align-items:baseline;gap:22px;
  padding:18px 0;
  border-top:1px solid var(--aa-line);
  transition:padding-left .3s var(--aa-ease);
}
.aa-numlist .aa-row:last-child{border-bottom:1px solid var(--aa-line);}
.aa-numlist .aa-row:hover{padding-left:8px;}
.aa-numlist .n{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--aa-cyan);flex:0 0 26px;
}
.aa-numlist .t{
  font-family:'Space Grotesk',sans-serif;
  font-size:17px;font-weight:500;color:var(--aa-text);flex:0 0 auto;
}
.aa-numlist .d{
  margin-left:auto;text-align:right;
  font-size:13px;color:var(--aa-text-dim);max-width:270px;line-height:1.55;
}

/* ---------------- Impact strip ---------------- */
.aa-impact{display:grid;grid-template-columns:repeat(5,1fr);width:100%;}
.aa-impact .aa-stat{padding:0 26px;border-left:1px solid rgba(245,246,248,.12);}
.aa-impact .aa-stat:first-child{border-left:0;padding-left:0;}
.aa-impact .aa-stat svg{width:22px;height:22px;color:var(--aa-gold);margin-bottom:14px;}
.aa-impact .v{
  font-family:'Space Grotesk',sans-serif;
  font-size:30px;font-weight:600;color:var(--aa-gold);letter-spacing:-.02em;line-height:1;
}
.aa-impact .k{
  margin-top:9px;font-size:12.5px;color:var(--aa-text-dim);line-height:1.5;
}

/* ---------------- Stat table ---------------- */
.aa-stat-table{border:1px solid var(--aa-line);width:100%;}
.aa-stat-table .r{display:flex;align-items:center;gap:22px;padding:16px 22px;border-top:1px solid var(--aa-line);}
.aa-stat-table .r:first-child{border-top:0;}
.aa-stat-table .v{
  font-family:'JetBrains Mono',monospace;
  font-size:19px;color:var(--aa-gold);flex:0 0 78px;
}
.aa-stat-table .k{font-size:13.5px;color:var(--aa-text-dim);line-height:1.5;}

/* ---------------- Hero ---------------- */
.aa-hero{position:relative;overflow:hidden;}
/* The widget carrying the canvas becomes the full-bleed environment layer,
   seated low so Earth reads as a horizon arc under the composition. Zeroing
   the wrapper instead collapsed the canvas to 40px, because an absolutely
   positioned canvas resolves against the widget, not the section. */
.aa-hero > .e-con-inner > .elementor-widget-html:first-child,
.aa-hero > .elementor-widget-html:first-child{position:absolute!important;left:0;right:0;bottom:0;width:100%!important;height:86%;margin:0!important;padding:0!important;z-index:0;pointer-events:none;}
.aa-hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none;}
.aa-hero{min-height:100vh;justify-content:center;}
@media (max-width:1080px){.aa-hero{min-height:0;}}
.aa-hero > .e-con-inner{position:relative;z-index:2;}
.aa-hero-title .elementor-heading-title{
  font-size:clamp(42px,6.2vw,86px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
.aa-hero-title .gold{color:var(--aa-gold);}
.aa-hero-title .cyan{color:var(--aa-cyan);}
.aa-hero-meta{display:flex;gap:0;border-top:1px solid var(--aa-line);padding-top:22px;}
.aa-hero-meta > div{display:flex;flex-direction:column;gap:5px;padding-right:42px;}
.aa-hero-meta .k{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-text-faint);
}
.aa-hero-meta .v{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:500;color:#fff;}

/* Isolated emblem centrepiece with orbit rings, demo geometry. */
.aa-stage{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;width:100%;max-width:620px;margin-left:auto;}
.aa-stage img{position:relative;z-index:2;width:94%;max-width:none;height:auto;filter:drop-shadow(0 24px 60px rgba(0,0,0,.55));animation:aa-settle 1.2s cubic-bezier(.22,.61,.36,1) both;animation-delay:.25s;}
@keyframes aa-settle{from{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}
.aa-stage .ring{position:absolute;border-radius:50%;pointer-events:none;}
.aa-stage .ring.r1{inset:2%;border:1px solid rgba(0,217,255,.20);animation:aa-spin 60s linear infinite;}
.aa-stage .ring.r2{inset:11%;border:1px dashed rgba(212,175,55,.20);animation:aa-spin 78s linear infinite reverse;}
.aa-stage .ring .dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#00D9FF;top:-3.5px;left:calc(50% - 3.5px);}
.aa-stage .ring.r2 .dot{background:#D4AF37;}
@keyframes aa-spin{to{transform:rotate(360deg);}}
/* Scroll cue, bottom-left of the hero, as in the demo. */
.aa-scroll{position:absolute;bottom:32px;left:40px;pointer-events:auto;display:flex;align-items:center;gap:12px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8A94A0;}
.aa-scroll .track{width:1px;height:38px;background:rgba(245,246,248,.20);position:relative;overflow:hidden;}
.aa-scroll .track::before{content:'';position:absolute;top:-100%;left:0;right:0;height:100%;background:#00D9FF;animation:aa-drip 2.4s ease-in-out infinite;}
@keyframes aa-drip{0%{top:-100%}60%{top:100%}100%{top:100%}}
@media (max-width:1080px){.aa-stage{max-width:460px;margin:0 auto;}.aa-scroll{display:none;}}


/* ---------------- Buttons ---------------- */
.aa-btn .elementor-button{
  display:inline-flex!important;align-items:center;gap:9px;
  font-family:'Inter',system-ui,sans-serif!important;
  font-size:13.5px!important;font-weight:600!important;
  padding:15px 26px!important;border-radius:var(--aa-radius-s)!important;
  transition:background .25s var(--aa-ease),transform .25s var(--aa-ease),border-color .25s,color .25s,gap .25s;
}
.aa-btn .elementor-button::after{
  content:'';width:14px;height:14px;flex:0 0 14px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h10M8 3l4 4-4 4' stroke='%23000' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7h10M8 3l4 4-4 4' stroke='%23000' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s var(--aa-ease);
}
.aa-btn .elementor-button:hover{transform:translateY(-1px);}
.aa-btn .elementor-button:hover::after{transform:translateX(3px);}
.aa-btn-gold .elementor-button{background:var(--aa-gold)!important;color:#050505!important;border:0!important;}
.aa-btn-gold .elementor-button:hover{background:#E3C255!important;}
.aa-btn-cyan .elementor-button{background:transparent!important;color:var(--aa-cyan)!important;border:1px solid rgba(0,217,255,.45)!important;}
.aa-btn-cyan .elementor-button:hover{border-color:var(--aa-cyan)!important;background:rgba(0,217,255,.08)!important;}
.aa-btn-ghost .elementor-button{background:transparent!important;color:var(--aa-text)!important;border:1px solid var(--aa-line-strong)!important;}
.aa-btn-ghost .elementor-button:hover{border-color:var(--aa-cyan)!important;color:var(--aa-cyan)!important;}

/* Quiet text link with a trailing arrow, as used under demo sections. */
.aa-link .elementor-heading-title{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;color:var(--aa-text)!important;
  border-bottom:1px solid var(--aa-line-strong);padding-bottom:5px;
  transition:color .25s,gap .25s,border-color .25s;
}
.aa-link:hover .elementor-heading-title{color:var(--aa-cyan)!important;gap:12px;border-color:var(--aa-cyan);}

/* ---------------- Burgundy statement panel ---------------- */
.aa-panel{
  background:var(--aa-burgundy)!important;
  border:1px solid rgba(212,175,55,.22)!important;
  border-radius:var(--aa-radius-m)!important;
  overflow:hidden;
}

/* ---------------- Section head ---------------- */
.aa-head .aa-title .elementor-heading-title{font-size:clamp(30px,3.4vw,46px)!important;max-width:17ch;}
.aa-head .aa-desc{max-width:400px;color:var(--aa-text-dim);font-size:15.5px;padding-bottom:6px;}

/* ---------------- Responsive ---------------- */
@media (max-width:1024px){
  .cards-grid,.cards-grid.cols-4,.cards-grid.cols-5{grid-template-columns:repeat(2,1fr)!important;}
  .aa-impact{grid-template-columns:repeat(3,1fr);gap:26px 0;}
  .aa-impact .aa-stat:nth-child(3n+1){border-left:0;padding-left:0;}
  .aa-numlist .d{max-width:200px;}
}
@media (max-width:767px){
  .cards-grid,.cards-grid.cols-2,.cards-grid.cols-4,.cards-grid.cols-5{grid-template-columns:1fr!important;}
  .aa-impact{grid-template-columns:repeat(2,1fr);}
  .aa-impact .aa-stat{border-left:0;padding-left:0;}
  .aa-numlist .aa-row{flex-wrap:wrap;gap:10px;}
  .aa-numlist .d{margin-left:0;text-align:left;max-width:none;flex:1 0 100%;}
  .aa-hero-meta{flex-wrap:wrap;gap:20px 0;}
  .aa-hero-meta > div{flex:0 0 50%;padding-right:16px;}
  .aa-card-body{padding:22px 20px 0!important;}
  .aa-stat-table .r{flex-wrap:wrap;gap:6px 18px;}
}

@media (prefers-reduced-motion:reduce){.aa-stage .ring,.aa-stage img,.aa-scroll .track::before{animation:none!important}}

/* ==================== AA-CONTACT ====================
   Ported from the demo's contact.html: a two-up grid with the form panel
   left and a sticky map panel right, so the map sits beside the form. */
.contact-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:64px!important;align-items:start!important;width:100%;}
.contact-grid > .e-con,.contact-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.contact-form-panel{border:1px solid var(--aa-line-strong)!important;border-radius:var(--aa-radius-m)!important;padding:44px!important;background:var(--section-bg)!important;}
.contact-map-panel{border:1px solid var(--aa-line-strong)!important;border-radius:var(--aa-radius-m)!important;background:var(--section-surface)!important;padding:36px!important;position:sticky;top:96px;}
.contact-map-panel h3,.contact-map-panel .elementor-heading-title{font-size:22px;}
/* Map frame: bordered, grid-dusted, badge top-left, as in the demo. */
.map-frame{position:relative;border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-m);background:var(--section-bg);overflow:hidden;}
.map-frame::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background-image:linear-gradient(rgba(245,246,248,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,246,248,.03) 1px,transparent 1px);background-size:28px 28px;}
.map-frame .elementor-widget-google_maps,.map-frame iframe{position:relative;z-index:1;display:block;}
.map-frame iframe{filter:saturate(.85) contrast(1.04);}
.map-badge{position:absolute;left:14px;top:14px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--aa-gold);border:1px solid rgba(212,175,55,.4);border-radius:100px;padding:4px 11px;background:rgba(4,16,29,.72);}
.map-meta{margin-top:22px;display:grid;gap:1px;background:var(--aa-line);border:1px solid var(--aa-line);}
.map-meta-row{background:var(--section-surface);padding:15px 18px;display:flex;gap:18px;align-items:flex-start;}
.map-meta-row .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--aa-text-faint);min-width:72px;flex-shrink:0;padding-top:2px;}
.map-meta-row .v{font-size:13.5px;color:var(--aa-text-dim);line-height:1.6;}
.map-meta-row .v a{color:var(--aa-cyan);text-decoration:none;}
/* Interior page header visual, shared by every inner page. */
.page-header-grid{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:64px!important;align-items:center!important;width:100%;}
.page-header-grid > .e-con,.page-header-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.page-kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--aa-text-faint);}
.page-kicker a{color:var(--aa-text-dim);text-decoration:none;}
.page-kicker a:hover{color:var(--aa-cyan);}
.page-title .elementor-heading-title{font-size:clamp(38px,5.2vw,66px)!important;max-width:17ch;}
.page-header-visual{position:relative;aspect-ratio:4/3;border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-m);background:var(--section-surface);overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;}
.page-header-visual::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,248,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,246,248,.04) 1px,transparent 1px);background-size:30px 30px;}
.page-header-visual .phv-art{position:relative;z-index:2;width:82%;height:auto;}
.page-header-visual .phv-label{position:absolute;bottom:16px;left:16px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-text-faint);}
.page-header-visual .phv-stat{position:absolute;top:16px;right:16px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--aa-gold);}
@media(max-width:1024px){.contact-grid,.page-header-grid{grid-template-columns:1fr!important;gap:40px!important;}.contact-map-panel{position:static;}}
@media(max-width:767px){.contact-form-panel{padding:26px!important;}.contact-map-panel{padding:22px!important;}.map-meta-row{flex-direction:column;gap:6px;}}

/* ==================== AA-FORM-DEMO ==================== */
.contact-form-panel .wpforms-field{padding:0 0 20px!important;}
.contact-form-panel .wpforms-field-label{font-family:'JetBrains Mono',monospace!important;font-size:10.5px!important;font-weight:400!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--aa-text-faint)!important;margin:0 0 8px!important;}
.contact-form-panel .wpforms-required-label{color:var(--aa-gold)!important;}
.contact-form-panel input[type=text],.contact-form-panel input[type=email],.contact-form-panel select,.contact-form-panel textarea{background:var(--section-surface)!important;border:1px solid var(--aa-line-strong)!important;border-radius:var(--aa-radius-s)!important;padding:13px 14px!important;color:#fff!important;font-family:'Inter',sans-serif!important;font-size:14.5px!important;width:100%!important;box-shadow:none!important;}
.contact-form-panel textarea{min-height:132px!important;resize:vertical;}
.contact-form-panel ::placeholder{color:var(--aa-text-faint)!important;}
.contact-form-panel input:focus,.contact-form-panel select:focus,.contact-form-panel textarea:focus{outline:none!important;border-color:var(--aa-cyan)!important;background:var(--section-surface-2)!important;}
.contact-form-panel select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:38px!important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2 4l4 4 4-4' stroke='%238A94A0' stroke-width='1.3'/></svg>")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:12px!important;}
/* Name and email share a row, as in the demo. */
.contact-form-panel .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.contact-form-panel .wpforms-field:not(.aa-half){grid-column:1 / -1;}
.contact-form-panel .wpforms-submit-container{grid-column:1 / -1;}
.contact-form-panel .wpforms-submit{background:var(--aa-gold)!important;color:#050505!important;border:0!important;border-radius:var(--aa-radius-s)!important;font-family:'Inter',sans-serif!important;font-size:13.5px!important;font-weight:600!important;padding:15px 28px!important;cursor:pointer;transition:background .25s,transform .25s;}
.contact-form-panel .wpforms-submit:hover{background:#E3C255!important;transform:translateY(-1px);}
.contact-form-panel .wpforms-error{color:#F0A0A8!important;font-size:12.5px!important;}
.contact-form-panel .wpforms-confirmation-container-full{background:rgba(212,175,55,.07)!important;border:1px solid rgba(212,175,55,.5)!important;color:var(--aa-gold)!important;border-radius:var(--aa-radius-s);padding:16px 18px;}
@media(max-width:680px){.contact-form-panel .wpforms-field-container{grid-template-columns:1fr;}}

/* ==================== AA-NO-OVERFLOW ====================
   aa_box() sets a fixed 1320px width, which overflows every viewport below
   that. Capping at 100% keeps the boxed measure on wide screens and lets it
   shrink below. Applies to every page built with the helper. */
.elementor .e-con,.elementor .e-con-inner{max-width:100%!important;}
body{overflow-x:hidden;}
/* The sticky map panel must not sit lower than the form it pairs with. */
.contact-grid > *{align-self:start;}

/* ==================== AA-STICKY-FIX ====================
   Elementor sets position:relative on every container, which beat the
   sticky rule and left the bare top:96px offsetting the map panel 96px
   below the form. Force sticky so the offset only applies once stuck. */
.contact-map-panel{position:sticky!important;top:96px!important;align-self:start!important;}
@media(max-width:1024px){.contact-map-panel{position:static!important;top:auto!important;}}
/* Astra parks the closed off-canvas drawer off-screen, which extends the
   document scroll width even though nothing is visible. */
html{overflow-x:clip;}
#ast-mobile-popup-wrapper:not(.active){max-width:100vw;}

/* ==================== AA-CONTACT-FIX2 ====================
   1. WPForms' anti-spam v3 honeypot renders as a real, visible field.
      It must stay in the DOM for the check to work, so it is moved
      off-screen rather than display:none (which some bots detect).
   2. The badge is absolutely positioned, but Elementor gives every widget
      position:relative, so it was resolving against its own wrapper and
      dropping below the frame. Neutralise the wrapper. */
.contact-form-panel .wpforms-field-hp,
.contact-form-panel .wpforms-field-hp-v3,
.contact-form-panel div[class*='wpforms-field-hp']{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;padding:0!important;}
.map-frame .elementor-widget-html{position:static!important;}
.map-frame > .e-con-inner{position:static!important;}
.map-frame .elementor-widget-google_maps{margin:0!important;padding:0!important;line-height:0;}
.map-frame .elementor-custom-embed{line-height:0;}
.map-frame iframe{width:100%!important;display:block;}

/* ==================== AA-ABOUT ====================
   Editorial split, mission/vision cells, stat row, leadership grid and
   partner strip, ported from about.html's own values. */
.editorial{display:grid!important;grid-template-columns:.9fr 1.1fr!important;gap:80px!important;align-items:start!important;width:100%;}
.editorial > .e-con,.editorial > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.editorial .aa-etitle .elementor-heading-title{font-size:clamp(28px,3.2vw,42px)!important;max-width:12ch;}
.editorial-body p{color:var(--aa-text-dim);font-size:16px;line-height:1.75;}
.editorial-body .elementor-widget-text-editor:not(:last-child){margin-bottom:18px;}
.mv-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1px!important;background:var(--aa-line)!important;border:1px solid var(--aa-line);width:100%;}
.mv-grid > .e-con,.mv-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.mv-cell{background:var(--section-bg)!important;padding:36px!important;}
.mv-cell .elementor-heading-title{font-size:20px;color:var(--aa-cyan);}
.mv-cell p{color:var(--aa-text-dim);font-size:14.5px;line-height:1.7;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;}
.stat-item{border-top:1px solid var(--aa-line-strong);padding-top:18px;}
.stat-item .num{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:600;color:var(--aa-gold);line-height:1;}
.stat-item .label{font-size:12.5px;color:var(--aa-text-dim);margin-top:6px;line-height:1.5;}
.leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--aa-line);border:1px solid var(--aa-line);width:100%;}
.leader-card{background:var(--section-bg);padding:32px 24px;transition:background .3s var(--aa-ease);}
.leader-card:hover{background:var(--section-surface);}
.leader-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,rgba(0,217,255,.10),rgba(59,10,24,.55));border:1px solid var(--aa-line-strong);margin-bottom:18px;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-weight:600;color:var(--aa-cyan);font-size:15px;}
.leader-card h4{font-size:16px;margin:0 0 4px;color:#fff;font-family:'Space Grotesk',sans-serif;font-weight:600;}
.leader-card span{font-size:12.5px;color:var(--aa-text-faint);font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.04em;}
.partners-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--aa-line);border:1px solid var(--aa-line);width:100%;}
.partner-cell{background:var(--section-bg);padding:36px 20px;display:flex;align-items:center;justify-content:center;color:var(--aa-text-faint);font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.05em;text-align:center;transition:color .3s;}
.partner-cell:hover{color:var(--aa-cyan);}
@media(max-width:1080px){.editorial{grid-template-columns:1fr!important;gap:36px!important;}.mv-grid{grid-template-columns:1fr!important;}.stat-row{grid-template-columns:repeat(2,1fr);}.leadership-grid{grid-template-columns:repeat(2,1fr);}.partners-strip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.stat-row{grid-template-columns:1fr;}.leadership-grid,.partners-strip{grid-template-columns:1fr;}}

/* ==================== AA-PLATFORM ====================
   Alternating copy/visual rows separated by hairlines, ported from
   platform.html. Odd rows put the visual right, even rows flip it. */
.infra-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:70px!important;align-items:center!important;padding:90px 0!important;border-bottom:1px solid var(--aa-line);width:100%;}
.infra-row:last-child{border-bottom:none;}
.infra-row > .e-con,.infra-row > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.infra-row.reverse > .e-con:first-child,.infra-row.reverse > .elementor-element:first-child{order:2;}
.infra-row.reverse > .e-con:last-child,.infra-row.reverse > .elementor-element:last-child{order:1;}
.infra-copy .elementor-heading-title{font-size:clamp(26px,3vw,38px);max-width:12ch;}
.infra-copy p{color:var(--aa-text-dim);font-size:15.5px;line-height:1.75;max-width:440px;}
.infra-visual{aspect-ratio:4/3;border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-m);background:var(--section-surface);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;}
.infra-visual .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(0,217,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,217,255,.06) 1px,transparent 1px);background-size:32px 32px;}
.infra-visual .num{position:absolute;top:20px;left:20px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--aa-text-faint);letter-spacing:.1em;text-transform:uppercase;}
.infra-visual .mark{position:relative;z-index:2;font-family:'Space Grotesk',sans-serif;font-size:64px;font-weight:600;color:#fff;opacity:.9;}
.infra-visual:hover .mark{opacity:1;}
@media(max-width:1080px){.infra-row,.infra-row.reverse{grid-template-columns:1fr!important;gap:32px!important;padding:60px 0!important;}.infra-row.reverse > .e-con:first-child,.infra-row.reverse > .elementor-element:first-child{order:0;}.infra-row.reverse > .e-con:last-child,.infra-row.reverse > .elementor-element:last-child{order:0;}.infra-visual .mark{font-size:44px;}}

/* ==================== AA-NOWRAP ====================
   Eyebrows and arrow links are short labels; they should not wrap inside
   narrow editorial columns. */
.aa-eyebrow .elementor-heading-title{white-space:nowrap;}
.aa-link .elementor-heading-title{white-space:nowrap;}
@media(max-width:480px){.aa-eyebrow .elementor-heading-title,.aa-link .elementor-heading-title{white-space:normal;}}

/* ==================== AA-SOLUTIONS ====================
   Six solution cards in a hairline grid with a cyan-to-gold top wipe,
   four audience cards, and the numbered engagement rows. */
.sol-cards{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px!important;background:var(--aa-line)!important;border:1px solid var(--aa-line);width:100%;}
.sol-cards > .e-con,.sol-cards > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.sol-card{background:var(--section-bg)!important;padding:44px 32px!important;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.sol-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--aa-cyan),var(--aa-gold));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--aa-ease);z-index:3;}
.sol-card:hover::before{transform:scaleX(1);}
.sol-card:hover{background:var(--section-surface)!important;}
.sol-card .sol-icon{width:40px;height:40px;color:var(--aa-cyan);display:block;}
.sol-card .elementor-heading-title{font-size:20px;}
.sol-card p{color:var(--aa-text-dim);font-size:14.5px;line-height:1.7;}
.audience-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1px!important;background:var(--aa-line)!important;border:1px solid var(--aa-line);width:100%;}
.audience-grid > .e-con,.audience-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.audience-card{background:var(--section-bg)!important;padding:36px 26px!important;scroll-margin-top:110px;transition:background .3s var(--aa-ease);}
.audience-card:hover{background:var(--section-surface)!important;}
.audience-card .elementor-heading-title{font-size:17px;}
.audience-card p{color:var(--aa-text-dim);font-size:13.5px;line-height:1.65;}
.sol-rows{border-top:1px solid var(--aa-line);width:100%;}
.sol-row{display:grid;grid-template-columns:80px 1fr 1.2fr;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--aa-line);}
.sol-row .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--aa-gold);letter-spacing:.08em;}
.sol-row h3{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:600;color:#fff;margin:0;}
.sol-row p{color:var(--aa-text-dim);font-size:14px;line-height:1.65;margin:0;}
@media(max-width:1080px){.sol-cards{grid-template-columns:repeat(2,1fr)!important;}.audience-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:680px){.sol-cards,.audience-grid{grid-template-columns:1fr!important;}.sol-row{grid-template-columns:1fr;gap:8px;padding:20px 0;}}

/* ==================== AA-ECOSYSTEM ====================
   Network diagram beside a detail panel, then the six participant rows. */
.eco-full-wrap{display:grid!important;grid-template-columns:1.5fr 1fr!important;gap:48px!important;align-items:center!important;width:100%;}
.eco-full-wrap > .e-con,.eco-full-wrap > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.eco-svg-holder{position:relative;width:100%;}
.eco-svg-holder svg{width:100%;height:auto;display:block;}
.eco-node{cursor:pointer;transition:opacity .3s var(--aa-ease);}
.eco-node circle.ring{transition:stroke .3s var(--aa-ease),r .3s var(--aa-ease);}
.eco-node:hover circle.ring{stroke:#fff;}
.eco-node text{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.2px;fill:#8A94A0;transition:fill .3s;}
.eco-node:hover text{fill:#F5F6F8;}
.eco-detail{border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-m);padding:36px;background:var(--section-surface);min-height:280px;display:flex;flex-direction:column;justify-content:center;}
.eco-detail .idx{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--aa-cyan);margin-bottom:14px;}
.eco-detail h3{font-size:26px;margin:0 0 14px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:#fff;}
.eco-detail p{color:var(--aa-text-dim);font-size:15px;line-height:1.7;margin:0 0 22px;}
.eco-detail .hint{color:var(--aa-text-faint);font-size:12.5px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.06em;}
.eco-legend{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap;}
.eco-legend span{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--aa-text-faint);font-family:'JetBrains Mono',monospace;text-transform:uppercase;}
.eco-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;}
.participant-row{display:grid;grid-template-columns:100px 1fr 1.3fr 140px;align-items:center;gap:28px;padding:32px 0;border-bottom:1px solid var(--aa-line);scroll-margin-top:110px;transition:background .3s var(--aa-ease);}
.participant-row:hover{background:rgba(245,246,248,.02);}
.participant-row .p-num{font-family:'JetBrains Mono',monospace;color:var(--aa-cyan);font-size:14px;}
.participant-row h3{font-size:24px;margin:0;font-family:'Space Grotesk',sans-serif;font-weight:600;color:#fff;}
.participant-row p{color:var(--aa-text-dim);font-size:14.5px;line-height:1.7;margin:0;}
.participant-row .p-cta{font-family:'Inter',sans-serif;font-size:13px;color:var(--aa-text);border-bottom:1px solid var(--aa-line-strong);padding-bottom:4px;text-decoration:none;justify-self:start;transition:color .25s,border-color .25s;}
.participant-row .p-cta:hover{color:var(--aa-cyan);border-color:var(--aa-cyan);}
@media(max-width:1080px){.eco-full-wrap{grid-template-columns:1fr!important;gap:32px!important;}.participant-row{grid-template-columns:1fr;gap:10px;}}

/* ==================== AA-LISTING ====================
   Editorial listing cards, featured block, filter pills and media frames.
   Shared by Insights and Events. */
.media-frame{position:relative;width:100%;overflow:hidden;border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-m);background:var(--section-surface);display:flex;align-items:center;justify-content:center;}
.media-frame::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,248,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(245,246,248,.035) 1px,transparent 1px);background-size:32px 32px;}
.media-frame > *{position:relative;z-index:1;}
.media-frame img{width:100%;height:100%;object-fit:cover;}
.media-frame .mf-icon{width:64px;height:64px;color:var(--aa-cyan);opacity:.85;}
.media-frame .mf-label{position:absolute;left:16px;bottom:14px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--aa-text-faint);}
.media-frame .mf-corner{position:absolute;width:14px;height:14px;z-index:2;border-color:var(--aa-line-strong);border-style:solid;border-width:0;}
.media-frame .mf-corner.tl{top:10px;left:10px;border-top-width:1px;border-left-width:1px;}
.media-frame .mf-corner.br{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px;}
.ratio-4-3{aspect-ratio:4/3;}.ratio-16-9{aspect-ratio:16/9;}
.featured{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:52px!important;align-items:center!important;width:100%;}
.featured > .e-con,.featured > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.featured-meta{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--aa-text-faint);}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;width:100%;}
.listing-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.listing-card{display:flex;flex-direction:column;border:1px solid var(--aa-line);border-radius:var(--aa-radius-m);overflow:hidden;background:var(--section-bg);text-decoration:none;transition:border-color .3s var(--aa-ease),transform .3s var(--aa-ease),background .3s var(--aa-ease);}
.listing-card:hover{border-color:var(--aa-line-strong);transform:translateY(-4px);background:var(--section-surface);}
.listing-card .lc-media{aspect-ratio:16/9;border-bottom:1px solid var(--aa-line);position:relative;overflow:hidden;background:var(--section-surface);display:flex;align-items:center;justify-content:center;}
.listing-card .lc-media::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,248,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,246,248,.04) 1px,transparent 1px);background-size:26px 26px;}
.listing-card .lc-media svg{position:relative;z-index:1;}
.listing-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1;}
.listing-tag{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--aa-gold);margin-bottom:12px;}
.listing-tag.cyan{color:var(--aa-cyan);}
.listing-card h3{font-size:18px;font-weight:500;line-height:1.34;margin:0 0 10px;font-family:'Space Grotesk',sans-serif;color:#fff;}
.listing-card p{color:var(--aa-text-dim);font-size:13.5px;flex:1;margin:0;line-height:1.65;}
.listing-meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--aa-line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--aa-text-faint);text-transform:uppercase;}
.listing-more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:13px;font-weight:500;color:var(--aa-cyan);transition:gap .3s;}
.listing-card:hover .listing-more{gap:11px;}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;}
.filter-pill{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;border-radius:100px;border:1px solid var(--aa-line-strong);color:var(--aa-text-dim);background:none;cursor:pointer;transition:border-color .25s,color .25s,background .25s;}
.filter-pill:hover{border-color:var(--aa-cyan);color:var(--aa-cyan);}
.filter-pill.active{background:var(--aa-gold);border-color:var(--aa-gold);color:#050505;font-weight:600;}
@media(max-width:1080px){.listing-grid{grid-template-columns:repeat(2,1fr);}.featured{grid-template-columns:1fr!important;gap:32px!important;}}
@media(max-width:680px){.listing-grid,.listing-grid.cols-2{grid-template-columns:1fr;}}

/* ==================== AA-EVENTS ====================
   Horizontal event rows: media, detail, action. */
.event-card{display:grid;grid-template-columns:210px 1fr auto;gap:32px;align-items:center;padding:22px;border:1px solid var(--aa-line);border-radius:var(--aa-radius-m);background:var(--section-bg);text-decoration:none;transition:border-color .3s var(--aa-ease),background .3s var(--aa-ease);}
.event-card + .event-card{margin-top:18px;}
.event-card:hover{border-color:var(--aa-line-strong);background:var(--section-surface);}
.event-card .ev-media{aspect-ratio:16/10;border:1px solid var(--aa-line);border-radius:var(--aa-radius-s);position:relative;overflow:hidden;background:var(--section-surface);display:flex;align-items:center;justify-content:center;}
.event-card .ev-media::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(245,246,248,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,246,248,.04) 1px,transparent 1px);background-size:24px 24px;}
.event-card .ev-media svg{position:relative;z-index:1;max-width:100%;height:auto;}
.event-main{min-width:0;}
.event-date-row{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--aa-cyan);text-transform:uppercase;letter-spacing:.08em;}
.event-format{font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--aa-gold);border:1px solid rgba(212,175,55,.4);padding:3px 10px;border-radius:100px;}
.event-card h3{font-size:20px;font-weight:500;margin:0 0 8px;font-family:'Space Grotesk',sans-serif;color:#fff;}
.event-card p{color:var(--aa-text-dim);font-size:13.5px;max-width:520px;margin:0;line-height:1.65;}
.event-place{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;color:var(--aa-text-faint);}
.event-cta{flex-shrink:0;}
.event-cta .ev-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1px solid var(--aa-line-strong);border-radius:var(--aa-radius-s);color:var(--aa-text);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .25s,color .25s;}
.event-cta .ev-btn:hover{border-color:var(--aa-cyan);color:var(--aa-cyan);}
.event-card.is-past{opacity:.62;}
.event-card.is-past:hover{opacity:.9;}
.events-intro{max-width:640px;color:var(--aa-text-dim);font-size:15.5px;margin-bottom:14px;}
@media(max-width:1080px){.event-card{grid-template-columns:170px 1fr;row-gap:18px;}.event-cta{grid-column:1/-1;}}
@media(max-width:680px){.event-card{grid-template-columns:1fr;gap:16px;padding:18px;}.event-card .ev-media{aspect-ratio:16/9;}.event-cta .ev-btn{width:100%;justify-content:center;}}

/* ==================== AA-FAQ ====================
   Grouped accordion using native <details>, styled to the demo: mono group
   headings, hairline rows, and a circular plus that becomes a minus. */
.faq-group{margin-bottom:64px;}
.faq-group:last-child{margin-bottom:0;}
.faq-group-title{font-size:13px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--aa-cyan);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--aa-line);}
.faq-item{border-bottom:1px solid var(--aa-line);}
.faq-item > summary{list-style:none;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;text-align:left;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:500;color:#fff;}
.faq-item > summary::-webkit-details-marker{display:none;}
.faq-plus{width:26px;height:26px;flex-shrink:0;border:1px solid var(--aa-line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .3s var(--aa-ease);}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;background:var(--aa-text-dim);transition:background .3s var(--aa-ease),transform .3s var(--aa-ease),opacity .3s;}
.faq-plus::before{width:10px;height:1px;}
.faq-plus::after{width:1px;height:10px;}
.faq-item[open] .faq-plus{border-color:var(--aa-cyan);}
.faq-item[open] .faq-plus::before,.faq-item[open] .faq-plus::after{background:var(--aa-cyan);}
.faq-item[open] .faq-plus::after{transform:rotate(90deg);opacity:0;}
.faq-answer p{color:var(--aa-text-dim);font-size:14.5px;line-height:1.75;padding-bottom:26px;max-width:640px;margin:0;}
.faq-cta-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:48px;background:var(--aa-burgundy);border:1px solid rgba(212,175,55,.22);border-radius:var(--aa-radius-m);margin-top:8px;}
.faq-cta-panel .eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--aa-gold);margin-bottom:10px;}
.faq-cta-panel h3{font-size:22px;font-weight:500;margin:0;font-family:'Space Grotesk',sans-serif;color:#fff;}
.faq-cta-panel .fq-btn{display:inline-flex;align-items:center;gap:8px;background:var(--aa-gold);color:#050505;padding:14px 26px;border-radius:var(--aa-radius-s);font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .25s;}
.faq-cta-panel .fq-btn:hover{background:#E3C255;}
@media(max-width:680px){.faq-cta-panel{padding:28px;}.faq-item > summary{font-size:15.5px;gap:14px;}}

/* ==================== AA-PATHWAY ====================
   Seven entry paths in a hairline grid, then the split form panel. */
.pathway-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:1px!important;background:var(--aa-line)!important;border:1px solid var(--aa-line);width:100%;}
.pathway-grid > .e-con,.pathway-grid > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.pathway-card{background:var(--section-bg)!important;padding:34px 26px!important;scroll-margin-top:110px;position:relative;overflow:hidden;transition:background .3s var(--aa-ease);}
.pathway-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--aa-cyan),var(--aa-gold));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--aa-ease);z-index:3;}
.pathway-card:hover::before,.pathway-card:target::before{transform:scaleX(1);}
.pathway-card:hover,.pathway-card:target{background:var(--section-surface)!important;}
.pathway-icon{width:32px;height:32px;color:var(--aa-cyan);display:block;}
.pathway-card .elementor-heading-title{font-size:17px;}
.pathway-card p{color:var(--aa-text-dim);font-size:13.5px;line-height:1.6;}
.form-panel{border:1px solid var(--aa-line-strong)!important;border-radius:var(--aa-radius-m)!important;padding:48px!important;background:var(--section-surface)!important;display:grid!important;grid-template-columns:.8fr 1.2fr!important;gap:56px!important;width:100%;}
.form-panel > .e-con,.form-panel > .elementor-element{width:auto!important;max-width:none!important;margin:0!important;}
.form-panel .elementor-heading-title{font-size:clamp(24px,2.6vw,32px);}
@media(max-width:1080px){.pathway-grid{grid-template-columns:repeat(2,1fr)!important;}.form-panel{grid-template-columns:1fr!important;gap:32px!important;padding:32px!important;}}
@media(max-width:680px){.pathway-grid{grid-template-columns:1fr!important;}.form-panel{padding:24px!important;}}

/* AA-ECO-FOCUS */
.eco-node:focus{outline:none;}
.eco-node:focus-visible circle.ring{stroke:#fff;}
.eco-node:focus-visible text{fill:#F5F6F8;}

/* ================= AA-DEMO-PARITY ================= */
/* Homepage ecosystem preview map: the SVG is a flex item with no intrinsic
   width, so without this it collapses to 0x0. */
svg.aa-node{display:block;width:100%;height:auto;max-width:700px;margin:0 auto;overflow:visible;}
.elementor .elementor-widget-html:has(svg.aa-node){width:100%;flex:1 1 100%;}
.elementor-1414 .elementor-element-2df3079{width:100%;flex:1 1 100%;}

/* Impact band Africa motif, matching the demo's .impact-africa placement. */
.elementor-1414 .elementor-element-8a1a90d{position:relative;overflow:hidden;}
.elementor-1414 .elementor-element-cbbcd4b,
.elementor-1414 .elementor-element-397fae3{position:static!important;}
.impact-africa{position:absolute;right:2%;top:50%;transform:translateY(-50%);
  width:min(320px,30%);opacity:.5;pointer-events:none;z-index:1;}
.aa-impact{position:relative;z-index:2;}
@media(max-width:1024px){.impact-africa{opacity:.28;width:230px;}}
@media(max-width:767px){.impact-africa{display:none;}}
