/* ============================================================
   Ali Al-Masrdi — layout, chrome & components
   All selectors scoped under body.amx-body to win specificity
   against hello-elementor / plugins (BEST_PRACTICES §2).
   ============================================================ */

/* ---------- Layout primitives ---------- */
body.amx-body .amx-container { width:100%; max-width:var(--container-max); margin-inline:auto; padding-inline:var(--gutter); }
body.amx-body .amx-narrow { max-width:var(--container-narrow); }
body.amx-body .amx-section { padding-block:var(--sp-20); }
body.amx-body .amx-section-sm { padding-block:var(--sp-12); }
body.amx-body .amx-grid { display:grid; gap:var(--sp-6); }
@media (min-width:640px){ body.amx-body .amx-cols-2{grid-template-columns:repeat(2,1fr);} }
@media (min-width:900px){
  body.amx-body .amx-cols-3{grid-template-columns:repeat(3,1fr);}
  body.amx-body .amx-cols-4{grid-template-columns:repeat(4,1fr);}
}

/* Section head with eyebrow + double-rule motif */
body.amx-body .amx-head { margin-bottom:var(--sp-10); max-width:760px; }
body.amx-body .amx-head.center { margin-inline:auto; text-align:center; }
body.amx-body .amx-eyebrow { position:relative; padding-bottom:var(--sp-2); }
body.amx-body .amx-head h2 { font-size:clamp(28px,4vw,var(--fs-h2)); font-weight:var(--fw-extrabold); margin-top:var(--sp-2); }
body.amx-body .amx-head p { margin-top:var(--sp-3); color:var(--text-muted); font-size:var(--fs-body-lg); line-height:var(--lh-relaxed); }
body.amx-body .amx-rule { width:64px; height:var(--bw-rule); background:var(--brand); border-radius:var(--radius-pill); margin-block:var(--sp-3); }
body.amx-body .amx-head.center .amx-rule { margin-inline:auto; }

/* ---------- Buttons ---------- */
body.amx-body .amx-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  font-family:var(--font-sans); font-weight:var(--fw-bold); font-size:var(--fs-body);
  padding:var(--sp-3) var(--sp-6); border-radius:var(--radius-md); border:var(--bw-hairline) solid transparent;
  cursor:pointer; transition:background var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard), color var(--dur-fast); line-height:1.2;
}
body.amx-body .amx-btn-primary { background:var(--brand); color:#fff; box-shadow:var(--shadow-brand); }
body.amx-body .amx-btn-primary:hover { background:var(--brand-hover); color:#fff; }
body.amx-body .amx-btn-primary:active { background:var(--brand-active); transform:scale(.98); }
body.amx-body .amx-btn-ghost { background:transparent; color:var(--brand); border-color:var(--border-default); }
body.amx-body .amx-btn-ghost:hover { background:var(--brand-subtle); border-color:var(--brand); color:var(--brand-active); }
body.amx-body .amx-btn-onbrand { background:#fff; color:var(--teal-800); }
body.amx-body .amx-btn-onbrand:hover { background:var(--teal-50); color:var(--teal-900); }
body.amx-body .amx-btn-lg { padding:var(--sp-4) var(--sp-8); font-size:var(--fs-body-lg); }

/* ---------- Cards ---------- */
body.amx-body .amx-card {
  background:var(--surface-card); border:var(--bw-hairline) solid var(--border-subtle);
  border-radius:var(--radius-lg); padding:var(--sp-6); box-shadow:var(--shadow-sm);
  transition:box-shadow var(--dur-base) var(--ease-standard), transform var(--dur-base) var(--ease-standard);
}
body.amx-body .amx-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
body.amx-body .amx-card-feature { border-top:var(--bw-rule) solid var(--brand); }
body.amx-body .amx-card h3 { font-size:var(--fs-h4); font-weight:var(--fw-bold); margin-bottom:var(--sp-2); }
body.amx-body .amx-card p { color:var(--text-muted); line-height:var(--lh-relaxed); }
body.amx-body .amx-card-icon {
  display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:var(--radius-md); background:var(--brand-subtle); color:var(--brand); margin-bottom:var(--sp-4);
}
body.amx-body .amx-card-icon svg, body.amx-body .amx-card-icon i { width:26px; height:26px; }
body.amx-body .amx-card-link { display:inline-flex; align-items:center; gap:var(--sp-2); margin-top:var(--sp-4); font-weight:var(--fw-bold); color:var(--brand); }

/* Badge / pill */
body.amx-body .amx-badge {
  display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-caption); font-weight:var(--fw-bold);
  padding:4px 12px; border-radius:var(--radius-pill); background:var(--brand-subtle); color:var(--brand-active);
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
body.amx-body .amx-header {
  position:sticky; top:0; z-index:100; min-height:var(--header-h);
  background:color-mix(in srgb, #fff 88%, transparent); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:var(--bw-hairline) solid var(--border-subtle);
}
body.amx-body .amx-header-inner { display:flex; align-items:center; gap:var(--sp-6); min-height:var(--header-h); }
body.amx-body .amx-brand { display:flex; align-items:center; gap:var(--sp-3); flex-shrink:0; }
body.amx-body .amx-brand img { height:46px; width:auto; }
body.amx-body .amx-nav { display:none; align-items:center; gap:var(--sp-1); margin-inline-start:auto; }
body.amx-body .amx-nav ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:var(--sp-1); }
body.amx-body .amx-nav li { position:relative; }
body.amx-body .amx-nav a { display:inline-flex; align-items:center; padding:var(--sp-2) var(--sp-3); border-radius:var(--radius-sm); color:var(--text-body); font-weight:var(--fw-medium); font-size:var(--fs-body-sm); }
body.amx-body .amx-nav a:hover { color:var(--brand); background:var(--brand-subtle); }
body.amx-body .amx-nav .current-menu-item > a { color:var(--brand); font-weight:var(--fw-bold); }
body.amx-body .amx-nav .sub-menu {
  position:absolute; inset-inline-start:0; top:calc(100% + 6px); min-width:220px; background:#fff;
  border:var(--bw-hairline) solid var(--border-subtle); border-radius:var(--radius-md); box-shadow:var(--shadow-lg);
  padding:var(--sp-2); display:none; flex-direction:column; gap:2px;
}
body.amx-body .amx-nav li:hover > .sub-menu { display:flex; }
body.amx-body .amx-nav .sub-menu a { display:block; width:100%; }
body.amx-body .amx-header-cta { display:none; align-items:center; gap:var(--sp-3); flex-shrink:0; }
body.amx-body .amx-header-phone { display:inline-flex; align-items:center; gap:6px; font-weight:var(--fw-bold); color:var(--text-strong); direction:ltr; }
body.amx-body .amx-burger { margin-inline-start:auto; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:var(--bw-hairline) solid var(--border-default); border-radius:var(--radius-md); background:#fff; color:var(--text-strong); cursor:pointer; }
@media (min-width:1024px){
  body.amx-body .amx-nav{display:flex;} body.amx-body .amx-header-cta{display:flex;} body.amx-body .amx-burger{display:none;}
}
/* Mobile drawer */
body.amx-body .amx-mobile { display:none; border-top:var(--bw-hairline) solid var(--border-subtle); background:#fff; padding:var(--sp-4) 0; }
body.amx-body .amx-mobile.open { display:block; }
body.amx-body .amx-mobile ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
body.amx-body .amx-mobile a { display:block; padding:var(--sp-3) var(--sp-4); border-radius:var(--radius-sm); color:var(--text-body); font-weight:var(--fw-medium); }
body.amx-body .amx-mobile a:hover { background:var(--brand-subtle); color:var(--brand); }

/* ============================================================
   HERO
   ============================================================ */
body.amx-body .amx-hero {
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(160deg, var(--teal-900) 0%, var(--teal-800) 55%, var(--teal-950) 100%);
}
body.amx-body .amx-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 85% 15%, rgba(110,231,210,.16), transparent 55%);
}
body.amx-body .amx-hero .amx-container { position:relative; z-index:1; padding-block:var(--sp-24); }
body.amx-body .amx-hero .eyebrow { color:var(--teal-200); }
body.amx-body .amx-hero h1 { font-size:clamp(34px,6vw,var(--fs-display)); font-weight:var(--fw-black); color:#fff; line-height:var(--lh-tight); max-width:16ch; }
body.amx-body .amx-hero h1 .hl { background:linear-gradient(90deg,var(--highlight-from-dark),var(--highlight-to-dark)); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.amx-body .amx-hero p { margin-top:var(--sp-5); color:var(--teal-100); font-size:var(--fs-body-lg); line-height:var(--lh-relaxed); max-width:52ch; }
body.amx-body .amx-hero-actions { margin-top:var(--sp-8); display:flex; flex-wrap:wrap; gap:var(--sp-3); }
body.amx-body .amx-hero-stats { margin-top:var(--sp-12); display:flex; flex-wrap:wrap; gap:var(--sp-10); border-top:var(--bw-hairline) solid rgba(255,255,255,.14); padding-top:var(--sp-6); }
body.amx-body .amx-hero-stats .n { font-size:var(--fs-h2); font-weight:var(--fw-black); color:#fff; direction:ltr; display:block; }
body.amx-body .amx-hero-stats .l { color:var(--teal-200); font-size:var(--fs-body-sm); }

/* ---------- Stat strip (light) ---------- */
body.amx-body .amx-stat { text-align:center; }
body.amx-body .amx-stat .n { font-size:var(--fs-h2); font-weight:var(--fw-black); color:var(--brand); direction:ltr; }
body.amx-body .amx-stat .l { color:var(--text-muted); font-size:var(--fs-body-sm); margin-top:4px; }

/* ---------- Process steps ---------- */
body.amx-body .amx-step { position:relative; padding-top:var(--sp-8); }
body.amx-body .amx-step .num { position:absolute; top:0; inset-inline-start:0; font-size:var(--fs-h2); font-weight:var(--fw-black); color:var(--teal-100); line-height:1; }
body.amx-body .amx-step h3 { font-size:var(--fs-h4); margin-bottom:var(--sp-2); }
body.amx-body .amx-step p { color:var(--text-muted); line-height:var(--lh-relaxed); }

/* ---------- Testimonials ---------- */
body.amx-body .amx-quote { background:var(--surface-parchment); border:var(--bw-hairline) solid var(--sand-200); border-radius:var(--radius-lg); padding:var(--sp-8); }
body.amx-body .amx-quote p { font-size:var(--fs-body-lg); line-height:var(--lh-relaxed); color:var(--ink-800); }
body.amx-body .amx-quote .who { margin-top:var(--sp-5); font-weight:var(--fw-bold); color:var(--text-strong); }
body.amx-body .amx-quote .who span { display:block; font-weight:var(--fw-regular); color:var(--text-muted); font-size:var(--fs-body-sm); }

/* ---------- Brand CTA band ---------- */
body.amx-body .amx-cta {
  color:#fff; text-align:center;
  background:linear-gradient(160deg, var(--teal-800), var(--teal-950));
}
body.amx-body .amx-cta h2 { color:#fff; font-size:clamp(28px,4vw,var(--fs-h2)); font-weight:var(--fw-extrabold); }
body.amx-body .amx-cta p { color:var(--teal-100); margin-top:var(--sp-3); font-size:var(--fs-body-lg); max-width:60ch; margin-inline:auto; }
body.amx-body .amx-cta .amx-hero-actions { justify-content:center; }

/* ============================================================
   FOOTER
   ============================================================ */
body.amx-body .amx-footer { background:var(--teal-950); color:var(--teal-100); padding-block:var(--sp-16) var(--sp-8); }
body.amx-body .amx-footer a { color:var(--teal-200); }
body.amx-body .amx-footer a:hover { color:#fff; }
body.amx-body .amx-footer-grid { display:grid; gap:var(--sp-10); grid-template-columns:1fr; }
@media (min-width:768px){ body.amx-body .amx-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;} }
body.amx-body .amx-footer h4 { color:#fff; font-size:var(--fs-title); margin-bottom:var(--sp-4); font-weight:var(--fw-bold); }
body.amx-body .amx-footer ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-2); }
body.amx-body .amx-footer .brand img { height:56px; margin-bottom:var(--sp-4); }
body.amx-body .amx-footer .brand p { color:var(--teal-200); line-height:var(--lh-relaxed); max-width:40ch; }
body.amx-body .amx-social { display:flex; gap:var(--sp-3); margin-top:var(--sp-5); }
body.amx-body .amx-social a { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:var(--radius-md); background:rgba(255,255,255,.06); border:var(--bw-hairline) solid rgba(255,255,255,.1); }
body.amx-body .amx-social a:hover { background:var(--brand); border-color:var(--brand); }
body.amx-body .amx-footer-bottom { margin-top:var(--sp-12); padding-top:var(--sp-6); border-top:var(--bw-hairline) solid rgba(255,255,255,.1); display:flex; flex-wrap:wrap; gap:var(--sp-4); justify-content:space-between; color:var(--teal-300); font-size:var(--fs-body-sm); }

/* ============================================================
   Generic page shell (inner pages that render post_content)
   ============================================================ */
body.amx-body .amx-page-hero { background:linear-gradient(160deg,var(--teal-900),var(--teal-950)); color:#fff; padding-block:var(--sp-16); }
body.amx-body .amx-page-hero .eyebrow { color:var(--teal-200); }
body.amx-body .amx-page-hero h1 { color:#fff; font-size:clamp(30px,5vw,var(--fs-h1)); font-weight:var(--fw-black); margin-top:var(--sp-2); }
body.amx-body .amx-page-hero p { color:var(--teal-100); margin-top:var(--sp-3); font-size:var(--fs-body-lg); max-width:60ch; }
body.amx-body .amx-page-body { padding-block:var(--sp-16); }
body.amx-body .amx-prose { max-width:var(--container-narrow); font-size:var(--fs-body-lg); line-height:var(--lh-relaxed); color:var(--text-body); }
body.amx-body .amx-prose h2 { font-size:var(--fs-h3); margin:var(--sp-10) 0 var(--sp-4); color:var(--text-strong); }
body.amx-body .amx-prose h3 { font-size:var(--fs-h4); margin:var(--sp-8) 0 var(--sp-3); color:var(--text-strong); }
body.amx-body .amx-prose p { margin-bottom:var(--sp-5); }
body.amx-body .amx-prose ul, body.amx-body .amx-prose ol { margin:0 0 var(--sp-5); padding-inline-start:var(--sp-6); }
body.amx-body .amx-prose li { margin-bottom:var(--sp-2); }
body.amx-body .amx-prose img { border-radius:var(--radius-md); margin-block:var(--sp-6); }
body.amx-body .amx-prose blockquote { margin:var(--sp-6) 0; padding-inline-start:var(--sp-5); border-inline-start:var(--bw-rule) solid var(--brand); color:var(--ink-800); font-size:var(--fs-h4); }

/* Breadcrumb */
body.amx-body .amx-crumb { font-size:var(--fs-body-sm); color:var(--teal-200); display:flex; gap:8px; flex-wrap:wrap; }
body.amx-body .amx-crumb a { color:var(--teal-200); }

/* Utilities */
body.amx-body .amx-center{text-align:center;}
body.amx-body [dir="ltr"]{direction:ltr; display:inline-block;}
/* Visually-hidden skip link — does NOT extend the layout width (avoids RTL horizontal overflow). Becomes visible on focus. */
body.amx-body .amx-skip { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
body.amx-body .amx-skip:focus { position:fixed; inset-block-start:8px; inset-inline-start:8px; width:auto; height:auto; margin:0; padding:10px 16px; clip:auto; clip-path:none; background:var(--brand); color:#fff; border-radius:var(--radius-md); z-index:1000; font-weight:var(--fw-bold); }

/* ============================================================
   FORMS + ALERTS (contact)
   ============================================================ */
body.amx-body .amx-form-wrap { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:var(--sp-8); }
body.amx-body .amx-form { display:flex; flex-direction:column; gap:var(--sp-5); }
body.amx-body .amx-form-row { display:grid; gap:var(--sp-5); grid-template-columns:1fr; }
@media (min-width:640px){ body.amx-body .amx-form-row{ grid-template-columns:1fr 1fr; } }
body.amx-body .amx-field { display:flex; flex-direction:column; gap:var(--sp-2); }
body.amx-body .amx-field label { font-weight:var(--fw-bold); font-size:var(--fs-body-sm); color:var(--text-strong); }
body.amx-body .amx-field input, body.amx-body .amx-field select, body.amx-body .amx-field textarea {
  font-family:var(--font-sans); font-size:var(--fs-body); color:var(--text-strong); background:var(--ink-50);
  border:1px solid var(--border-default); border-radius:var(--radius-md); padding:var(--sp-3) var(--sp-4); min-height:50px;
  transition:border-color var(--dur-fast), box-shadow var(--dur-fast); width:100%;
}
body.amx-body .amx-field textarea { min-height:130px; resize:vertical; line-height:var(--lh-relaxed); }
body.amx-body .amx-field input:focus, body.amx-body .amx-field select:focus, body.amx-body .amx-field textarea:focus {
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--focus-ring); background:#fff;
}
body.amx-body .amx-field-hp { position:absolute; left:-9999px; height:0; overflow:hidden; }
body.amx-body .amx-form-note { font-size:var(--fs-caption); color:var(--text-muted); margin-top:calc(var(--sp-2)*-1); }
body.amx-body .amx-alert { display:flex; gap:var(--sp-3); align-items:flex-start; padding:var(--sp-4) var(--sp-5); border-radius:var(--radius-md); margin-bottom:var(--sp-5); font-size:var(--fs-body-sm); border:1px solid transparent; }
body.amx-body .amx-alert i { flex:0 0 auto; margin-top:2px; }
body.amx-body .amx-alert-success { background:var(--success-subtle); color:var(--green-500); border-color:color-mix(in srgb,var(--green-500) 30%, transparent); }
body.amx-body .amx-alert-danger { background:var(--danger-subtle); color:var(--red-500); border-color:color-mix(in srgb,var(--red-500) 30%, transparent); }

/* Contact layout + info panel */
body.amx-body .amx-contact-grid { display:grid; gap:var(--sp-10); grid-template-columns:1fr; align-items:start; }
@media (min-width:940px){ body.amx-body .amx-contact-grid{ grid-template-columns:1.5fr 1fr; } }
body.amx-body .amx-info-list { display:flex; flex-direction:column; gap:var(--sp-2); }
body.amx-body .amx-info-item { display:flex; gap:var(--sp-4); align-items:flex-start; padding:var(--sp-4); border-radius:var(--radius-md); background:var(--surface-card); border:1px solid var(--border-subtle); }
body.amx-body .amx-info-item .ic { flex:0 0 auto; width:44px; height:44px; border-radius:var(--radius-md); background:var(--brand-subtle); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; }
body.amx-body .amx-info-item .lbl { font-size:var(--fs-caption); color:var(--text-muted); }
body.amx-body .amx-info-item .val { font-weight:var(--fw-bold); color:var(--text-strong); }
body.amx-body .amx-info-item .val[dir="ltr"]{ display:block; }
body.amx-body .amx-contact-brand { background:linear-gradient(160deg,var(--teal-800),var(--teal-950)); color:#fff; border-radius:var(--radius-lg); padding:var(--sp-8); }
body.amx-body .amx-contact-brand h3 { color:#fff; font-size:var(--fs-h4); }
body.amx-body .amx-contact-brand p { color:var(--teal-100); margin-top:var(--sp-2); line-height:var(--lh-relaxed); }
body.amx-body .amx-contact-brand .amx-social { margin-top:var(--sp-5); }

/* Services: orderable service cards + list rows */
body.amx-body .amx-svc-row { display:flex; gap:var(--sp-4); align-items:flex-start; padding:var(--sp-5) 0; border-bottom:1px solid var(--border-subtle); }
body.amx-body .amx-svc-row .ic { flex:0 0 auto; width:48px; height:48px; border-radius:var(--radius-md); background:var(--brand-subtle); color:var(--brand); display:inline-flex; align-items:center; justify-content:center; }
body.amx-body .amx-svc-row h3 { font-size:var(--fs-title); margin-bottom:4px; }
body.amx-body .amx-svc-row p { color:var(--text-muted); }

/* ============================================================
   TEAM
   ============================================================ */
body.amx-body .amx-team-card { text-align:center; }
body.amx-body .amx-team-card .ava {
  width:110px; height:110px; margin:0 auto var(--sp-4); border-radius:var(--radius-pill);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:linear-gradient(160deg,var(--teal-700),var(--teal-900)); color:#fff;
  font-size:36px; font-weight:var(--fw-black); border:var(--bw-rule) solid var(--brand-subtle);
}
body.amx-body .amx-team-card .ava img { width:100%; height:100%; object-fit:cover; }
body.amx-body .amx-team-card h3 { font-size:var(--fs-h4); }
body.amx-body .amx-team-card .role { color:var(--brand); font-weight:var(--fw-bold); font-size:var(--fs-body-sm); margin-top:2px; }
body.amx-body .amx-team-card p { color:var(--text-muted); margin-top:var(--sp-3); line-height:var(--lh-relaxed); font-size:var(--fs-body-sm); }
body.amx-body .amx-team-card .amx-card-link { justify-content:center; }

/* ============================================================
   FAQ accordion
   ============================================================ */
body.amx-body .amx-faq { max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:var(--sp-3); }
body.amx-body .amx-acc { background:var(--surface-card); border:1px solid var(--border-subtle); border-radius:var(--radius-md); overflow:hidden; transition:box-shadow var(--dur-base) var(--ease-standard); }
body.amx-body .amx-acc.open { box-shadow:var(--shadow-md); border-color:var(--brand); }
body.amx-body .amx-acc-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); padding:var(--sp-5) var(--sp-6); background:none; border:0; cursor:pointer; text-align:start; font-family:var(--font-sans); font-weight:var(--fw-bold); font-size:var(--fs-title); color:var(--text-strong); }
body.amx-body .amx-acc-q .chev { flex:0 0 auto; color:var(--brand); transition:transform var(--dur-base) var(--ease-standard); }
body.amx-body .amx-acc.open .amx-acc-q .chev { transform:rotate(180deg); }
body.amx-body .amx-acc-a { max-height:0; overflow:hidden; transition:max-height var(--dur-slow) var(--ease-standard); }
body.amx-body .amx-acc.open .amx-acc-a { max-height:600px; }
body.amx-body .amx-acc-a > div { padding:0 var(--sp-6) var(--sp-6); color:var(--text-body); line-height:var(--lh-relaxed); }

/* ============================================================
   TIMELINE (success story)
   ============================================================ */
body.amx-body .amx-timeline { max-width:900px; margin-inline:auto; position:relative; }
body.amx-body .amx-timeline::before { content:""; position:absolute; inset-inline-start:19px; top:8px; bottom:8px; width:2px; background:var(--border-subtle); }
body.amx-body .amx-tl-item { position:relative; padding-inline-start:56px; padding-bottom:var(--sp-8); }
body.amx-body .amx-tl-item:last-child { padding-bottom:0; }
body.amx-body .amx-tl-dot { position:absolute; inset-inline-start:8px; top:4px; width:24px; height:24px; border-radius:var(--radius-pill); background:var(--brand); border:var(--bw-rule) solid var(--brand-subtle); box-shadow:var(--shadow-brand); }
body.amx-body .amx-tl-year { font-size:var(--fs-body-sm); font-weight:var(--fw-extrabold); color:var(--brand); letter-spacing:var(--ls-wide); direction:ltr; display:inline-block; }
body.amx-body .amx-tl-item h3 { font-size:var(--fs-h4); margin:4px 0 var(--sp-2); }
body.amx-body .amx-tl-item p { color:var(--text-muted); line-height:var(--lh-relaxed); }
body.amx-body .amx-tl-item .amx-card-link { margin-top:var(--sp-2); }

/* Precedent case cards */
body.amx-body .amx-case { border-inline-start:var(--bw-rule) solid var(--brand); }
body.amx-body .amx-case .tag { display:inline-block; font-size:var(--fs-overline); font-weight:var(--fw-extrabold); letter-spacing:var(--ls-wide); text-transform:uppercase; color:var(--brand-active); background:var(--brand-subtle); padding:4px 10px; border-radius:var(--radius-pill); margin-bottom:var(--sp-3); }
body.amx-body .amx-case .outcome { margin-top:var(--sp-4); padding-top:var(--sp-4); border-top:1px solid var(--border-subtle); display:flex; align-items:center; gap:var(--sp-2); font-weight:var(--fw-bold); color:var(--success); }

/* Full-bleed helper (breaks an element out of a centered container) */
body.amx-body .amx-full { width:100vw; margin-inline:calc(50% - 50vw); }

/* ============================================================
   LOGO WALL (clients / partners)
   ============================================================ */
body.amx-body .amx-logos { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-4); }
@media (min-width:640px){ body.amx-body .amx-logos{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ body.amx-body .amx-logos{ grid-template-columns:repeat(5,1fr); } }
body.amx-body .amx-logo {
  display:flex; align-items:center; justify-content:center; gap:8px; text-align:center;
  aspect-ratio:3/2; background:var(--surface-card); border:1px solid var(--border-subtle);
  border-radius:var(--radius-md); color:var(--text-faint); font-weight:var(--fw-bold); font-size:var(--fs-body-sm);
  padding:var(--sp-4); transition:box-shadow var(--dur-base) var(--ease-standard), color var(--dur-base);
}
body.amx-body .amx-logo:hover { box-shadow:var(--shadow-sm); color:var(--brand); }
body.amx-body .amx-logo i { width:22px; height:22px; }

/* ============================================================
   PRICING TIERS
   ============================================================ */
body.amx-body .amx-tier { display:flex; flex-direction:column; height:100%; position:relative; }
body.amx-body .amx-tier.featured { border-color:var(--brand); box-shadow:var(--shadow-md); }
body.amx-body .amx-tier .flag { position:absolute; inset-inline-end:var(--sp-5); top:calc(var(--sp-6)*-1 + 2px); background:var(--brand); color:#fff; font-size:var(--fs-caption); font-weight:var(--fw-bold); padding:4px 12px; border-radius:var(--radius-pill); }
body.amx-body .amx-tier h3 { font-size:var(--fs-h4); }
body.amx-body .amx-tier .amt { font-size:var(--fs-h3); font-weight:var(--fw-black); color:var(--brand-active); margin:var(--sp-2) 0 var(--sp-1); }
body.amx-body .amx-tier .amt small { font-size:var(--fs-body-sm); font-weight:var(--fw-regular); color:var(--text-muted); }
body.amx-body .amx-tier ul { list-style:none; margin:var(--sp-5) 0; padding:0; display:flex; flex-direction:column; gap:var(--sp-3); flex:1; }
body.amx-body .amx-tier li { display:flex; gap:10px; align-items:flex-start; color:var(--text-body); }
body.amx-body .amx-tier li i { color:var(--brand); flex:0 0 auto; margin-top:3px; width:18px; height:18px; }
