/* ==========================================================================
   AfriAgentic support stylesheet
   Deliberately small. Colour, typography and spacing live in Elementor Global
   Settings; this file only carries what Elementor controls cannot express:
   section colour inheritance, the bespoke hero visual, and motion rules.
   ========================================================================== */

: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-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(.16,.8,.24,1);
  --aa-surface:var(--aa-navy-surface); --aa-surface-2:var(--aa-navy-surface-2);
}

/* --- Section colour identities ------------------------------------------
   Applied to an Elementor Container via its CSS Classes field. Each one
   re-points the surface variables its children read, so cards and hairlines
   adapt to the section they sit in without any per-widget overrides. */
.sec-navy{ background:var(--aa-navy); --aa-surface:var(--aa-navy-surface); --aa-surface-2:var(--aa-navy-surface-2); }
.sec-navy-deep{ background:var(--aa-navy-deep); --aa-surface:#0A2036; --aa-surface-2:var(--aa-navy-surface); }
.sec-black{ background:var(--aa-black); --aa-surface:var(--aa-black-surface); --aa-surface-2:var(--aa-black-surface-2); }
.sec-burgundy{ background:var(--aa-burgundy); --aa-surface:var(--aa-burgundy-surface); --aa-surface-2:#5A1428; }
.sec-burgundy-deep{ background:var(--aa-burgundy-deep); --aa-surface:var(--aa-burgundy); --aa-surface-2:var(--aa-burgundy-surface); }
.sec-rule{ border-top:1px solid var(--aa-line); }

/* Cards inherit the section they sit in. */
.aa-card{ background:var(--aa-surface); border:1px solid var(--aa-line); transition:background .35s var(--aa-ease), border-color .35s var(--aa-ease), transform .35s var(--aa-ease); }
.aa-card:hover{ background:var(--aa-surface-2); border-color:rgba(0,217,255,0.45); transform:translateY(-4px); }
.aa-card img{ transition:transform .6s var(--aa-ease); }
.aa-card:hover img{ transform:scale(1.04); }

/* --- Homepage hero ------------------------------------------------------- */
.aa-hero{ position:relative; overflow:hidden; isolation:isolate; }
#aa-hero-earth{
  position:absolute; left:0; right:0; bottom:0; width:100%; height:86%;
  opacity:.5; pointer-events:none; z-index:0;
}
.aa-hero > .e-con-inner,
.aa-hero > .elementor-widget-wrap{ position:relative; z-index:1; }
.aa-emblem img{ filter:drop-shadow(0 24px 60px rgba(0,0,0,.55)); }

/* Orbital rings behind the emblem. Decorative, pointer-inert. */
.aa-orbit{ position:relative; }
.aa-orbit::before,.aa-orbit::after{
  content:''; position:absolute; border-radius:50%; pointer-events:none; z-index:-1;
}
.aa-orbit::before{ inset:2%; border:1px solid rgba(0,217,255,.20); animation:aaSpin 60s linear infinite; }
.aa-orbit::after{ inset:11%; border:1px dashed rgba(212,175,55,.20); animation:aaSpinRev 78s linear infinite; }
@keyframes aaSpin{ to{ transform:rotate(360deg); } }
@keyframes aaSpinRev{ to{ transform:rotate(-360deg); } }

/* --- Utility -------------------------------------------------------------- */
.aa-mono{ font-family:'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.aa-skip{ position:absolute; left:16px; top:-100px; z-index:2000; padding:12px 20px;
  background:var(--aa-gold); color:var(--aa-black); font-weight:600; border-radius:2px; transition:top .2s; }
.aa-skip:focus{ top:16px; }
.aa-visually-hidden{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }

/* Card media: consistent crop regardless of the source file's aspect ratio. */
.aa-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* --- Motion ---------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  #aa-hero-earth{ opacity:.38; }
}

/* --- Responsive ------------------------------------------------------------ */
@media (max-width:1024px){
  #aa-hero-earth{ height:70%; opacity:.34; }
}
@media (max-width:767px){
  #aa-hero-earth{ height:56%; opacity:.26; }
  .aa-orbit::before,.aa-orbit::after{ display:none; }
}
/* ---------- Forms (WPForms) ---------- */
.aa-form-wrap{background:#0A2340;border:1px solid rgba(245,246,248,.10);border-radius:4px;padding:34px 32px}
@media(max-width:767px){.aa-form-wrap{padding:26px 20px}}
.aa-form-wrap .wpforms-field{padding:0 0 18px}
.aa-form-wrap .wpforms-field-label{font-family:Inter,system-ui,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:#F5F6F8;margin:0 0 8px}
.aa-form-wrap .wpforms-required-label{color:#D4AF37}
.aa-form-wrap .wpforms-field-sublabel{font-family:Inter,system-ui,sans-serif;font-size:11.5px;color:#8A94A0}
.aa-form-wrap input[type=text],.aa-form-wrap input[type=email],.aa-form-wrap input[type=url],.aa-form-wrap input[type=tel],.aa-form-wrap select,.aa-form-wrap textarea{width:100%;background:#04101D;border:1px solid rgba(245,246,248,.16);border-radius:2px;color:#F5F6F8;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;padding:12px 14px;box-shadow:none;transition:border-color .18s ease,background .18s ease}
.aa-form-wrap textarea{min-height:150px;resize:vertical}
.aa-form-wrap select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9BA6B5 50%),linear-gradient(135deg,#9BA6B5 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.aa-form-wrap input:focus,.aa-form-wrap select:focus,.aa-form-wrap textarea:focus{outline:none;border-color:#00D9FF;background:#050D18}
.aa-form-wrap input::placeholder,.aa-form-wrap textarea::placeholder{color:#6C7686}
.aa-form-wrap .wpforms-field-gdpr-checkbox ul,.aa-form-wrap .wpforms-field-checkbox ul,.aa-form-wrap .wpforms-field-radio ul{list-style:none;margin:0;padding:0}
.aa-form-wrap .wpforms-field-gdpr-checkbox label,.aa-form-wrap .wpforms-field-checkbox label,.aa-form-wrap .wpforms-field-radio label{font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.6;color:#9BA6B5;font-weight:400}
.aa-form-wrap input[type=checkbox],.aa-form-wrap input[type=radio]{accent-color:#D4AF37;margin-right:8px}
.aa-form-wrap .wpforms-submit{background:#D4AF37;color:#050505;border:none;border-radius:2px;font-family:Inter,system-ui,sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.02em;padding:14px 30px;cursor:pointer;transition:background .18s ease}
.aa-form-wrap .wpforms-submit:hover{background:#E3C255}
.aa-form-wrap .wpforms-submit:focus-visible{outline:2px solid #00D9FF;outline-offset:3px}
.aa-form-wrap .wpforms-error,.aa-form-wrap label.wpforms-error{color:#F09A9A;font-family:Inter,system-ui,sans-serif;font-size:12px;margin-top:6px;display:block}
.aa-form-wrap input.wpforms-error,.aa-form-wrap select.wpforms-error,.aa-form-wrap textarea.wpforms-error{border-color:#C0555F}
.aa-form-wrap .wpforms-confirmation-container-full{background:rgba(0,217,255,.08);border:1px solid rgba(0,217,255,.35);border-radius:3px;color:#F5F6F8;font-family:Inter,system-ui,sans-serif;font-size:14.5px;padding:20px 22px}
.aa-form-wrap .wpforms-confirmation-container-full p{margin:0}
/* Google Maps: keep the frame consistent with card surfaces */
.aa-map iframe{border:1px solid rgba(245,246,248,.10);border-radius:4px;filter:saturate(.85)}
