/* ==========================================================================
   AdaptOnyx theme.css — design system extracted from the hi-fi HTML prototypes.
   All colours / spacing / typography match the handoff Design Tokens (§6).
   RTL is the default (accents & borders sit on the right).
   ========================================================================== */

:root{
  --ax-navy:#0E1A38; --ax-navy-deep:#0a1327;
  --ax-body:#46587a; --ax-body-2:#5a6b85; --ax-mute:#7c8aa5; --ax-mute-2:#64748b;
  --ax-blue:#1E6FE0; --ax-indigo:#4c6ef5; --ax-indigo-2:#3b5bdb;
  --ax-purple:#6D28D9; --ax-teal:#17B3B0; --ax-teal-deep:#0E9488; --ax-teal-light:#5eead4;
  --ax-tint:#f7f9fc; --ax-border:#E6EBF2; --ax-border-soft:#eef1f6;
  --ax-green:#16A34A; --ax-amber:#F59E0B; --ax-amber-deep:#B45309; --ax-red:#EF4444;
  --ax-grad-cta:linear-gradient(90deg,#1E6FE0,#6D28D9);
  --ax-grad-announce:linear-gradient(90deg,#17B3B0 0%,#1E6FE0 50%,#6D28D9 100%);
  --ax-grad-hero:linear-gradient(90deg,#17B3B0,#1E6FE0 55%,#6D28D9);
  --ax-grad-flagship:linear-gradient(135deg,#0E1A38 0%,#241559 60%,#3b1d78 100%);
  --ax-max:1240px;
}

/* ---------- base ---------- */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  direction:rtl;
  font-family:'Assistant', system-ui, -apple-system, "Segoe UI", sans-serif;
  color:#16233d; background:#fff;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{ color:var(--ax-blue); text-decoration:none; }
a:hover{ color:var(--ax-purple); }
img{ max-width:100%; height:auto; }
::selection{ background:var(--ax-purple); color:#fff; }
h1,h2,h3,h4{ font-family:'Heebo', sans-serif; }

@keyframes ax-float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
@keyframes ax-fade{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none;} }

/* ---------- layout ---------- */
.ax-container{ max-width:var(--ax-max); margin:0 auto; padding:0 32px; }
.ax-section{ padding:96px 0; }
.ax-section--tint{ background:var(--ax-tint); border-top:1px solid var(--ax-border-soft); border-bottom:1px solid var(--ax-border-soft); }
.ax-section--white{ background:#fff; }
.ax-head{ text-align:center; max-width:740px; margin:0 auto 54px; }
.ax-head--wide{ max-width:760px; }

/* eyebrow / headings / lead */
.ax-eyebrow{ font-family:'Heebo',sans-serif; font-weight:700; font-size:14px; color:var(--ax-blue); margin-bottom:14px; letter-spacing:.02em; }
.ax-eyebrow--light{ color:var(--ax-teal-light); letter-spacing:.08em; }
.ax-h1{ font-family:'Heebo',sans-serif; font-weight:900; font-size:clamp(38px,5vw,60px); line-height:1.05; color:var(--ax-navy); margin:0 0 22px; letter-spacing:-0.01em; }
.ax-h2{ font-family:'Heebo',sans-serif; font-weight:800; font-size:clamp(28px,3.4vw,42px); line-height:1.15; color:var(--ax-navy); margin:0 0 18px; }
.ax-h2--tight{ margin:0; }
.ax-h3{ font-family:'Heebo',sans-serif; font-weight:800; font-size:18px; color:var(--ax-navy); margin:0 0 8px; }
.ax-lead{ font-size:18px; line-height:1.65; color:var(--ax-body-2); margin:0; }
.ax-p{ font-size:17px; line-height:1.7; color:var(--ax-body); margin:0 0 16px; }

/* dark surfaces */
.ax-dark{ background:var(--ax-navy); color:#fff; position:relative; overflow:hidden; }
.ax-dark .ax-h2, .ax-dark .ax-h1{ color:#fff; }
.ax-dark .ax-lead{ color:#c7d2e6; }
.ax-glow{ position:absolute; inset:0; }

/* ---------- buttons ---------- */
.ax-btn{ display:inline-flex; align-items:center; gap:8px; font-family:'Heebo',sans-serif; font-weight:700; font-size:16px; padding:15px 28px; border-radius:12px; cursor:pointer; border:1px solid transparent; transition:transform .12s ease, box-shadow .12s ease; }
.ax-btn:hover{ transform:translateY(-1px); }
.ax-btn-primary{ background:var(--ax-grad-cta); color:#fff; box-shadow:0 12px 26px rgba(45,80,200,.3); }
.ax-btn-primary:hover{ color:#fff; }
.ax-btn-outline{ background:#fff; color:var(--ax-navy); border-color:#d5deea; }
.ax-btn-outline:hover{ color:var(--ax-navy); }
.ax-btn-ghost{ background:transparent; color:var(--ax-purple); border-color:#d8ccf2; }
.ax-btn-sm{ font-size:15px; padding:11px 22px; border-radius:10px; box-shadow:0 8px 20px rgba(45,80,200,.28); }

/* ---------- header ---------- */
.ax-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--ax-border); }
.ax-header__bar{ height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.ax-logo{ display:flex; align-items:center; flex-shrink:0; }
.ax-logo img{ height:30px; width:auto; display:block; }
.ax-nav{ display:flex; align-items:center; gap:2px; font-family:'Heebo',sans-serif; font-weight:600; font-size:15px; }
.ax-nav a, .ax-nav .ax-nav__label{ color:#16233d; padding:8px 11px; border-radius:8px; display:inline-flex; align-items:center; gap:5px; }
.ax-nav a:hover{ background:#f2f5fb; color:#16233d; }
.ax-nav .menu-item{ list-style:none; position:relative; }
.ax-nav ul{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:2px; }
.ax-nav .menu-item-has-children > a::after{ content:"▾"; font-size:10px; color:var(--ax-mute); margin-inline-start:2px; }
.ax-nav .sub-menu{
  position:absolute; top:100%; right:0; margin-top:6px; background:#fff; border:1px solid var(--ax-border);
  border-radius:14px; box-shadow:0 18px 40px rgba(14,26,56,.14); padding:8px; min-width:230px;
  display:none; flex-direction:column; gap:2px; animation:ax-fade .16s ease; z-index:60;
}
.ax-nav .menu-item-has-children:hover > .sub-menu,
.ax-nav .menu-item-has-children:focus-within > .sub-menu{ display:flex; }
.ax-nav .sub-menu a{ display:block; padding:10px 12px; border-radius:9px; color:#16233d; font-size:14px; font-weight:600; }
.ax-nav .sub-menu a:hover{ background:#f2f5fb; }
.ax-header__cta{ display:flex; align-items:center; gap:10px; }
.ax-navtoggle{ display:none; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--ax-border); background:#fff; border-radius:10px; cursor:pointer; font-size:20px; color:#16233d; }
.ax-mobile{ display:none; border-top:1px solid var(--ax-border); padding:14px 20px 20px; flex-direction:column; gap:2px; font-family:'Heebo',sans-serif; font-weight:600; background:#fff; }
.ax-mobile.is-open{ display:flex; }
.ax-mobile a{ padding:11px 8px; color:#16233d; border-bottom:1px solid #f1f4f9; }
.ax-mobile .sub-menu{ padding:0 0 6px; margin:0; list-style:none; }
.ax-mobile .sub-menu a{ padding:9px 20px; font-size:14px; border-bottom:1px dashed #f1f4f9; color:var(--ax-body); }
.ax-mobile ul{ list-style:none; margin:0; padding:0; }

/* announcement */
.ax-announce{ background:var(--ax-grad-announce); color:#fff; text-align:center; font-size:14px; font-weight:600; padding:9px 16px; letter-spacing:.01em; }
.ax-announce a{ color:#fff; text-decoration:underline; }

/* ---------- hero ---------- */
.ax-hero{ position:relative; overflow:hidden; background:radial-gradient(120% 120% at 90% 0%, #eef4ff 0%, #f8fafc 45%, #fff 100%); }
.ax-hero__inner{ padding:76px 32px 88px; max-width:var(--ax-max); margin:0 auto; }
.ax-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.ax-badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid #dfe7f3; border-radius:999px; padding:6px 14px; font-size:13px; font-weight:700; color:var(--ax-blue); font-family:'Heebo',sans-serif; margin-bottom:22px; }
.ax-badge__dot{ width:7px; height:7px; border-radius:50%; background:var(--ax-teal); display:inline-block; }
.ax-hero__title{ font-family:'Heebo',sans-serif; font-weight:900; font-size:clamp(38px,5vw,60px); line-height:1.05; color:var(--ax-navy); margin:0 0 22px; letter-spacing:-0.01em; }
.ax-gradient-text{ background:var(--ax-grad-hero); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ax-hero__sub{ font-size:19px; line-height:1.65; color:var(--ax-body); max-width:560px; margin:0 0 34px; }
.ax-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:36px; }
.ax-standards{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; color:var(--ax-mute-2); font-size:13px; font-weight:600; font-family:'Heebo',sans-serif; }
.ax-standards strong{ color:var(--ax-navy); font-weight:600; }

/* hero dashboard mock */
.ax-mock__wrap{ position:relative; }
.ax-mock__glow{ position:absolute; inset:-14px; background:linear-gradient(135deg, rgba(23,179,176,.15), rgba(109,40,217,.15)); border-radius:28px; filter:blur(6px); }
.ax-mock{ position:relative; background:#fff; border:1px solid var(--ax-border); border-radius:22px; box-shadow:0 30px 60px rgba(14,26,56,.16); padding:22px; animation:ax-float 6s ease-in-out infinite; }
.ax-mock__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.ax-mock__title{ font-family:'Heebo',sans-serif; font-weight:800; color:var(--ax-navy); font-size:16px; }
.ax-mock__pill{ font-size:12px; color:var(--ax-mute-2); background:#f1f5fb; padding:4px 10px; border-radius:999px; font-weight:600; }
.ax-mock__stats{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-bottom:18px; }
.ax-stat{ border-radius:12px; padding:12px; border:1px solid; }
.ax-stat b{ font-family:'Heebo',sans-serif; font-weight:800; font-size:22px; display:block; }
.ax-stat span{ font-size:11px; font-weight:600; }
.ax-stat--teal{ background:#f0fbfa; border-color:#cdeeec; } .ax-stat--teal b{ color:var(--ax-teal-deep);} .ax-stat--teal span{ color:#5b7a78;}
.ax-stat--blue{ background:#eff5ff; border-color:#d3e3fb; } .ax-stat--blue b{ color:var(--ax-blue);} .ax-stat--blue span{ color:#5a6f92;}
.ax-stat--purple{ background:#f5f1fe; border-color:#e0d4fa; } .ax-stat--purple b{ color:var(--ax-purple);} .ax-stat--purple span{ color:#6a5b8a;}
.ax-mock__label{ font-family:'Heebo',sans-serif; font-weight:700; font-size:13px; color:#334; margin-bottom:10px; }
.ax-sos{ display:flex; flex-direction:column; gap:9px; }
.ax-sos__row{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #f0f2f7; border-radius:11px; padding:10px 12px; }
.ax-sos__dot{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.ax-sos__name{ font-size:13px; color:#16233d; font-weight:600; flex:1; }
.ax-sos__tag{ font-size:11px; font-weight:700; }

/* ---------- grids ---------- */
.ax-grid{ display:grid; }
.ax-grid-2{ grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.ax-grid-3{ grid-template-columns:repeat(3,1fr); gap:20px; }
.ax-grid-4{ grid-template-columns:repeat(4,1fr); gap:18px; }
.ax-grid-5{ grid-template-columns:repeat(5,1fr); gap:16px; }
.ax-grid--center{ align-items:center; }

/* ---------- cards ---------- */
.ax-card{ background:#fff; border:1px solid var(--ax-border); border-radius:16px; padding:26px; }
.ax-card--tint{ background:var(--ax-tint); }
.ax-card p{ font-size:15px; line-height:1.6; color:var(--ax-body-2); margin:0; }
.ax-num{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Heebo',sans-serif; font-weight:800; font-size:18px; margin-bottom:16px; }

/* about / vision cards */
.ax-vision{ display:flex; flex-direction:column; gap:16px; }
.ax-vision__card{ background:var(--ax-tint); border:1px solid var(--ax-border); border-radius:14px; padding:22px 24px; }
.ax-vision__card h3{ font-size:19px; margin:0 0 8px; }
.ax-vision__card p{ font-size:15px; line-height:1.65; color:var(--ax-body-2); margin:0; }
.ax-ar-teal{ border-right:4px solid var(--ax-teal); }
.ax-ar-blue{ border-right:4px solid var(--ax-blue); }
.ax-ar-purple{ border-right:4px solid var(--ax-purple); }

/* how it works steps */
.ax-step{ text-align:center; }
.ax-step__num{ width:56px; height:56px; margin:0 auto 16px; border-radius:16px; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Heebo',sans-serif; font-weight:800; font-size:22px; }
.ax-step h3{ font-size:16px; margin:0 0 8px; }
.ax-step p{ font-size:14px; line-height:1.55; color:var(--ax-body-2); margin:0; }

/* dimensions (dark) */
.ax-dim{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:26px; }
.ax-dim__badge{ width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:'Heebo',sans-serif; font-weight:900; font-size:22px; color:#fff; margin-bottom:16px; }
.ax-dim h3{ font-size:18px; margin:0 0 8px; color:#fff; }
.ax-dim p{ font-size:14px; line-height:1.6; color:#b9c6de; margin:0; }

/* solutions cards (top gradient bar) */
.ax-sol{ border:1px solid var(--ax-border); border-radius:18px; overflow:hidden; }
.ax-sol__bar{ height:6px; }
.ax-sol__body{ padding:28px; }
.ax-sol__body h3{ font-size:20px; margin:0 0 12px; }
.ax-sol__list{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.ax-sol__list li{ font-size:15px; color:var(--ax-body-2); line-height:1.5; }

/* dashboard section */
.ax-rec{ background:#fff; border:1px solid var(--ax-border); border-radius:12px; padding:16px 18px; }
.ax-rec__label{ font-family:'Heebo',sans-serif; font-weight:700; font-size:13px; margin-bottom:6px; }
.ax-rec p{ font-size:14px; line-height:1.55; color:var(--ax-body); margin:0; }
.ax-panel{ background:#fff; border:1px solid var(--ax-border); border-radius:20px; box-shadow:0 24px 50px rgba(14,26,56,.1); padding:26px; }
.ax-panel__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.ax-panel__title{ font-family:'Heebo',sans-serif; font-weight:800; color:var(--ax-navy); font-size:18px; }
.ax-dots{ display:flex; gap:6px; } .ax-dots span{ width:11px; height:11px; border-radius:50%; }
.ax-bars{ display:flex; flex-direction:column; gap:12px; }
.ax-bar__head{ display:flex; justify-content:space-between; font-size:13px; font-weight:600; color:var(--ax-body); margin-bottom:6px; }
.ax-bar__track{ height:9px; background:#eef2f8; border-radius:99px; overflow:hidden; }
.ax-bar__fill{ height:100%; }
.ax-panel__foot{ margin-top:20px; padding-top:18px; border-top:1px solid #f0f2f7; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ax-panel__stat{ border-radius:12px; padding:14px; }
.ax-panel__stat b{ font-family:'Heebo',sans-serif; font-weight:800; font-size:20px; display:block; }
.ax-panel__stat span{ font-size:12px; font-weight:600; margin-top:2px; display:block; }

/* flagship */
.ax-flagship{ background:var(--ax-grad-flagship); color:#fff; position:relative; overflow:hidden; }
.ax-chip{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:6px 14px; font-family:'Heebo',sans-serif; font-weight:700; font-size:13px; margin-bottom:20px; }
.ax-tags{ display:flex; flex-wrap:wrap; gap:10px; }
.ax-tag{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:10px; padding:10px 14px; font-size:14px; font-weight:600; }
.ax-placeholder{ border-radius:18px; border:1px solid rgba(255,255,255,.18); background:repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 14px, rgba(255,255,255,.02) 14px 28px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:24px; }
.ax-placeholder__code{ font-family:'Inter',monospace; font-size:13px; color:#a9b4d0; letter-spacing:.02em; }
.ax-placeholder__hint{ font-size:13px; color:#8892b0; }

/* science CTA card */
.ax-sci-cta{ background:var(--ax-grad-cta); border-radius:16px; padding:24px; color:#fff; display:flex; flex-direction:column; justify-content:center; }
.ax-sci-cta h3{ color:#fff; font-size:17px; margin:0 0 8px; }
.ax-sci-cta p{ font-size:14px; line-height:1.6; color:#e6ecfb; margin:0 0 12px; }
.ax-sci-cta a{ color:#fff; font-weight:700; font-size:14px; }
.ax-card--science h3{ font-size:17px; }
.ax-card--science p{ font-size:14px; }

/* pilots quote */
.ax-checklist{ display:flex; flex-direction:column; gap:12px; }
.ax-checklist__row{ display:flex; gap:12px; align-items:flex-start; }
.ax-checklist__row b{ flex-shrink:0; font-weight:800; }
.ax-checklist__row span{ font-size:15px; color:var(--ax-body); }
.ax-quote{ background:var(--ax-navy); color:#fff; border-radius:20px; padding:40px; position:relative; overflow:hidden; }
.ax-quote__mark{ font-size:56px; line-height:1; color:var(--ax-teal-light); font-family:Georgia,serif; margin-bottom:8px; }
.ax-quote p{ font-size:22px; line-height:1.5; font-weight:600; margin:0 0 24px; }
.ax-quote__by{ display:flex; align-items:center; gap:12px; }
.ax-quote__av{ width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#17B3B0,#6D28D9); flex-shrink:0; }
.ax-quote__by b{ font-weight:700; font-family:'Heebo',sans-serif; display:block; }
.ax-quote__by span{ font-size:13px; color:#94a3b8; }

/* resources */
.ax-res{ display:block; background:var(--ax-tint); border:1px solid var(--ax-border); border-radius:16px; padding:26px; }
.ax-res:hover{ box-shadow:0 12px 26px rgba(14,26,56,.08); }
.ax-res__icon{ font-size:28px; margin-bottom:14px; }
.ax-res h3{ font-size:17px; margin:0 0 8px; }
.ax-res p{ font-size:14px; line-height:1.55; color:var(--ax-body-2); margin:0 0 12px; }
.ax-res__more{ color:var(--ax-blue); font-weight:700; font-size:14px; }

/* contact form */
.ax-contact__form{ background:#fff; border-radius:20px; padding:32px; text-align:right; max-width:640px; margin:0 auto; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.ax-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.ax-field label, .ax-contact__form label{ display:block; font-family:'Heebo',sans-serif; font-weight:700; font-size:13px; color:#334; margin-bottom:6px; }
.ax-contact__form input, .ax-contact__form select, .ax-contact__form textarea,
.ax-contact__form .wpcf7-form-control{ width:100%; padding:12px 14px; border:1px solid #d5deea; border-radius:10px; font-family:inherit; font-size:15px; background:#f9fafc; }
.ax-contact__form textarea{ resize:vertical; }
.ax-contact__form .wpcf7-submit, .ax-submit{ width:100%; background:var(--ax-grad-cta); color:#fff; border:none; font-family:'Heebo',sans-serif; font-weight:700; font-size:17px; padding:15px; border-radius:12px; cursor:pointer; box-shadow:0 10px 24px rgba(45,80,200,.3); }
.ax-contact__meta{ margin-top:28px; display:flex; justify-content:center; gap:28px; flex-wrap:wrap; font-size:15px; color:#c7d2e6; }
.ax-contact__ok{ margin-top:14px; color:var(--ax-green); font-weight:700; font-family:'Heebo',sans-serif; }

/* ---------- footer ---------- */
.ax-footer{ background:var(--ax-navy-deep); color:#c7d2e6; }
.ax-footer__inner{ padding:64px 32px 32px; max-width:var(--ax-max); margin:0 auto; }
.ax-footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.ax-footer img{ height:26px; width:auto; display:block; margin-bottom:18px; }
.ax-footer__blurb{ font-size:14px; line-height:1.65; color:#8b98b5; margin:0 0 8px; max-width:300px; }
.ax-footer__tagline{ font-size:13px; color:var(--ax-teal-light); font-weight:600; margin:0; }
.ax-footer__col h4{ font-family:'Heebo',sans-serif; font-weight:800; color:#fff; font-size:15px; margin:0 0 16px; }
.ax-footer__col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.ax-footer__col a{ color:#a9b4d0; }
.ax-footer__col a:hover{ color:#fff; }
.ax-footer__bottom{ margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; font-size:13px; color:#6b7896; }
.ax-footer__legal{ display:flex; gap:20px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.ax-footer__legal a{ color:#8b98b5; }
.ax-footer--slim .ax-footer__inner{ padding:48px 32px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ax-footer--slim img{ height:24px; margin:0; }

/* ---------- post / page ---------- */
.ax-post-hero{ background:radial-gradient(120% 130% at 90% 0%, #eef4ff 0%, #f8fafc 55%, #fff 100%); border-bottom:1px solid var(--ax-border-soft); }
.ax-post-hero__inner{ max-width:820px; margin:0 auto; padding:48px 32px 44px; }
.ax-crumbs{ font-size:14px; color:var(--ax-mute); margin-bottom:22px; font-weight:600; }
.ax-crumbs a{ color:var(--ax-mute); }
.ax-crumbs span{ color:var(--ax-body); }
.ax-cat{ display:inline-block; background:#eef4ff; color:var(--ax-blue); font-family:'Heebo',sans-serif; font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px; margin-bottom:18px; }
.ax-cat--teal{ background:#e6fbfa; color:var(--ax-teal-deep); }
.ax-cat--purple{ background:#f3edfd; color:var(--ax-purple); }
.ax-post-hero__title{ font-family:'Heebo',sans-serif; font-weight:900; font-size:clamp(30px,4vw,48px); line-height:1.12; color:var(--ax-navy); margin:0 0 22px; letter-spacing:-0.01em; }
.ax-byline{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.ax-avatar{ width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#17B3B0,#6D28D9); flex-shrink:0; overflow:hidden; }
.ax-avatar img{ border-radius:50%; }
.ax-byline__name{ font-family:'Heebo',sans-serif; font-weight:700; color:var(--ax-navy); font-size:15px; }
.ax-byline__meta{ font-size:13px; color:var(--ax-mute); }
.ax-feat{ max-width:940px; margin:0 auto; padding:40px 32px 0; }
.ax-feat__ph{ aspect-ratio:16/7; border-radius:18px; border:1px solid var(--ax-border); background:repeating-linear-gradient(135deg, #f2f5fa 0 16px, #e9eef5 16px 32px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.ax-feat img{ width:100%; border-radius:18px; display:block; }
.ax-post-body{ max-width:940px; margin:0 auto; padding:44px 32px 80px; }
.ax-post-grid{ display:grid; grid-template-columns:1fr 240px; gap:48px; align-items:start; }
.ax-page-grid{ display:grid; grid-template-columns:1fr 300px; gap:56px; align-items:start; }
.ax-side{ position:sticky; top:100px; display:flex; flex-direction:column; gap:22px; }
.ax-side__card{ background:var(--ax-tint); border:1px solid var(--ax-border); border-radius:16px; padding:22px; }
.ax-side__card h4{ font-family:'Heebo',sans-serif; font-weight:800; font-size:15px; color:var(--ax-navy); margin:0 0 14px; }
.ax-toc{ display:flex; flex-direction:column; gap:10px; font-size:14px; }
.ax-toc a{ color:var(--ax-body); }
.ax-side__cta{ border-radius:16px; padding:22px; color:#fff; }
.ax-side__cta--blue{ background:var(--ax-grad-cta); }
.ax-side__cta--dark{ background:linear-gradient(135deg,#0E1A38,#3b1d78); }
.ax-side__cta h4{ font-family:'Heebo',sans-serif; font-weight:800; font-size:17px; margin:0 0 8px; color:#fff; }
.ax-side__cta p{ font-size:14px; line-height:1.6; color:#e6ecfb; margin:0 0 14px; }
.ax-side__cta a{ display:inline-block; background:#fff; color:#1E3a8a; font-family:'Heebo',sans-serif; font-weight:700; font-size:14px; padding:10px 18px; border-radius:10px; }
.ax-share{ margin-top:40px; padding-top:24px; border-top:1px solid var(--ax-border-soft); display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.ax-share b{ font-family:'Heebo',sans-serif; font-weight:700; color:var(--ax-navy); font-size:15px; }
.ax-share a{ width:40px; height:40px; border-radius:10px; border:1px solid var(--ax-border); display:inline-flex; align-items:center; justify-content:center; color:var(--ax-body); }

/* page banner (dark) */
.ax-page-banner{ background:var(--ax-navy); color:#fff; position:relative; overflow:hidden; }
.ax-page-banner__inner{ position:relative; max-width:var(--ax-max); margin:0 auto; padding:64px 32px; }
.ax-page-banner .ax-crumbs, .ax-page-banner .ax-crumbs a{ color:#94a3b8; }
.ax-page-banner .ax-crumbs span{ color:#c7d2e6; }
.ax-page-banner h1{ font-family:'Heebo',sans-serif; font-weight:900; font-size:clamp(32px,4.4vw,52px); line-height:1.08; margin:0 0 16px; letter-spacing:-0.01em; }
.ax-page-banner p{ font-size:19px; line-height:1.6; color:#c7d2e6; max-width:620px; margin:0; }
.ax-page-content{ max-width:var(--ax-max); margin:0 auto; padding:72px 32px 88px; }

/* related */
.ax-related{ background:var(--ax-tint); border-top:1px solid var(--ax-border-soft); }
.ax-related__inner{ max-width:var(--ax-max); margin:0 auto; padding:64px 32px; }
.ax-related h2{ font-size:28px; margin:0 0 28px; }
.ax-rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ax-relcard{ display:block; background:#fff; border:1px solid var(--ax-border); border-radius:16px; overflow:hidden; }
.ax-relcard:hover{ box-shadow:0 12px 26px rgba(14,26,56,.08); }
.ax-relcard__img{ aspect-ratio:16/9; background:repeating-linear-gradient(135deg,#f2f5fa 0 14px,#e9eef5 14px 28px); background-size:cover; background-position:center; }
.ax-relcard__body{ padding:22px; }
.ax-relcard__cat{ font-size:12px; font-weight:700; color:var(--ax-blue); font-family:'Heebo',sans-serif; }
.ax-relcard h3{ font-size:18px; margin:8px 0; line-height:1.3; }
.ax-relcard p{ font-size:14px; color:var(--ax-body-2); line-height:1.55; margin:0; }

/* ---------- .entry-content (§7.4) ---------- */
.entry-content{ min-width:0; }
.entry-content > p{ font-size:17px; line-height:1.8; color:#46587a; margin:0 0 22px; }
.entry-content > p:first-of-type{ font-size:20px; font-weight:500; color:#334155; }
.entry-content h2{ font-family:'Heebo',sans-serif; font-weight:800; font-size:26px; color:#0E1A38; margin:38px 0 14px; }
.entry-content h3{ font-family:'Heebo',sans-serif; font-weight:800; font-size:20px; color:#0E1A38; margin:28px 0 12px; }
.entry-content ul, .entry-content ol{ padding-right:22px; margin:0 0 26px; }
.entry-content li{ font-size:17px; line-height:1.8; color:#46587a; }
.entry-content a{ color:var(--ax-blue); text-decoration:underline; }
.entry-content img{ border-radius:14px; margin:8px 0 24px; }
.entry-content blockquote{ border-right:4px solid #6D28D9; background:#f7f9fc; border-radius:0 12px 12px 0; padding:22px 26px; margin:0 0 26px; }
.entry-content blockquote p{ font-size:20px; line-height:1.6; color:#0E1A38; font-weight:600; margin:0; }

/* index / blog archive */
.ax-archive{ max-width:var(--ax-max); margin:0 auto; padding:72px 32px 88px; }
.ax-archive__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ax-pagination{ margin-top:40px; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.ax-pagination .page-numbers{ padding:8px 14px; border:1px solid var(--ax-border); border-radius:10px; color:var(--ax-body); font-family:'Heebo',sans-serif; font-weight:600; }
.ax-pagination .current{ background:var(--ax-grad-cta); color:#fff; border-color:transparent; }

.ax-skip-link{ position:absolute; right:-9999px; top:8px; background:#fff; padding:10px 16px; border-radius:8px; z-index:100; }
.ax-skip-link:focus{ right:8px; }

/* ---------- responsive ---------- */
@media (max-width:960px){
  .ax-nav{ display:none !important; }
  .ax-navtoggle{ display:inline-flex !important; }
  .ax-hero__grid{ grid-template-columns:1fr !important; }
  .ax-grid-2{ grid-template-columns:1fr !important; gap:32px; }
  .ax-grid-3{ grid-template-columns:1fr !important; }
  .ax-grid-4{ grid-template-columns:1fr 1fr !important; }
  .ax-grid-5{ grid-template-columns:1fr 1fr !important; }
  .ax-form-row{ grid-template-columns:1fr !important; }
  .ax-post-grid, .ax-page-grid{ grid-template-columns:1fr !important; }
  .ax-side{ position:static; }
  .ax-rel-grid, .ax-archive__grid{ grid-template-columns:1fr !important; }
  .ax-footer__grid{ grid-template-columns:1fr 1fr !important; }
  .ax-container, .ax-hero__inner, .ax-footer__inner, .ax-page-banner__inner,
  .ax-page-content, .ax-post-hero__inner, .ax-feat, .ax-post-body, .ax-related__inner, .ax-archive{
    padding-left:20px !important; padding-right:20px !important;
  }
}
@media (max-width:560px){
  .ax-footer__grid{ grid-template-columns:1fr !important; }
  .ax-section{ padding:64px 0; }
}
