/* ============================================================
   Asteraix Design Tokens — 事实源见 docs/PROJECT_RULES.md
   规则应引用这些变量,而非硬编码值。新增样式禁止引入阶梯外字号。
   ============================================================ */
:root {
  /* —— 颜色:四色角色 —— */
  --ax-action:        #1D50A2;  /* 蓝 · 主行动/强调:实心按钮静止、主链接、标题强调 */
  --ax-forward:       #C0633F;  /* 陶土橘 · "更多/前进" 文字:View all / Learn more / tagline */
  --ax-forward-fill:  #C2663A;  /* 陶土橘 · 悬停填充 */
  --ax-label:         #5A6B8C;  /* 石板蓝灰 · 标签/eyebrow/meta/页脚版权 */
  --ax-ink:           #1F2A37;  /* 墨 · 内容:标题/正文 */
  --ax-ink-soft:      #3D4451;  /* 墨(次) */
  --ax-gray:          #6B7280;  /* 中性灰 */
  --ax-hairline:      #E5E0D8;  /* 暖色发丝线 */
  --ax-cream:         #F7F4EF;  /* 米白底 */
  --ax-white:         #FFFFFF;

  /* —— 字号阶梯(仅 5 档,禁止新增)—— */
  --ax-fs-1: 32px;    /* 区块/Hero 主标题 · Sora */
  --ax-fs-2: 18px;    /* 卡片/模块标题、巨型菜单标题、购物车标题 · Sora */
  --ax-fs-3: 16px;    /* 正文阅读、产品卡标题 · Inter/Sora */
  --ax-fs-4: 14px;    /* UI/导航/按钮/标签/页脚标题/View all/购物车内文 · Inter */
  --ax-fs-5: 12.8px;  /* eyebrow、小字幕、SKU、价格徽标 · Inter */

  /* —— 字体 —— */
  --ax-font-display: "Sora", -apple-system, "PingFang SC", "Source Han Sans SC", sans-serif;
  --ax-font-body:    "Inter", -apple-system, "PingFang SC", "Source Han Sans SC", sans-serif;
  --ax-font-serif:   "Source Han Serif SC", Georgia, serif;

  /* —— 其它 token —— */
  --ax-radius:       8px;
  --ax-btn-tracking: 0.02em;
  --ax-btn-height:   41px;
}
/* Hide Additional Information tab */
.wc-tabs li.additional_information_tab,
#tab-additional_information {
    display: none !important;
}
/* Hide only category from product meta */
.product_meta .posted_in {
    display: none !important;
}

/* Hide only tags from product meta */
.product_meta .tagged_as {
    display: none !important;
}

/* Ensure SKU remains visible */
.product_meta .sku_wrapper {
    display: block !important;
}
/* Hide Register menu item (portable: link target, not menu-item ID) */
.dropdown-nav-special-toggle .menu-item a[href*="Register"],
.dropdown-nav-special-toggle li:has(a[href*="Register"]),
.menu-item a[href*="my-account/"][href*="Register"] {
    display: none !important;
}
/* Hide coupon UI in Kadence sticky add-to-cart bar */
#kadence-sticky-add-to-cart .coupon,
#kadence-sticky-add-to-cart [class*="coupon"],
#kadence-sticky-add-to-cart .woocommerce-form-coupon-toggle {
    display: none !important;
}
/* footer-subscribe-form */
.site-footer, .site-middle-footer-wrap { background-color: var(--global-palette8) !important; }
.footer-widget-area .kb-advanced-form .kt-row-column-wrap { display: flex !important; flex-wrap: nowrap !important; grid-template-columns: none !important; gap: 10px !important; max-width: 520px; margin: 0 auto !important; justify-content: center; align-items: center; }
.footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column:first-child { flex: 1 1 auto !important; min-width: 0; max-width: 380px; }
.footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column:last-child { flex: 0 0 auto !important; width: auto !important; }
.footer-widget-area .kb-advanced-form .kb-adv-form-field { display: flex; align-items: center; }
.footer-widget-area .kb-advanced-form input.kb-email-field { height: 42px !important; padding: 0 14px !important; line-height: 42px !important; font-size: var(--ax-fs-4); box-sizing: border-box; width: 100% !important; }
.footer-widget-area .kb-advanced-form .kb-adv-form-submit-button {font-size:var(--ax-fs-4) !important;font-weight:500 !important;letter-spacing:var(--ax-btn-tracking) !important;line-height:1.2 !important;padding:12px 24px !important;}
/* footer-sub-input-width */
.footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column:first-child { max-width: none !important; flex: 0 0 290px !important; }
.footer-widget-area .kb-advanced-form input.kb-email-field { min-width: 280px !important; width: 100% !important; }
/* footer-sub-align-fix */
.footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column { align-self: center !important; }
/* global-button-polish */
.wp-block-kadence-advancedbtn .kb-button, .wp-block-button__link, .button, button.kb-button, .kadence-blocks-singlebtn .kb-button, .woocommerce a.button, .woocommerce button.button, .single_add_to_cart_button { border-radius: var(--ax-radius) !important; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important; box-shadow: 0 1px 2px rgba(29,80,162,.12) !important; }
.wp-block-kadence-advancedbtn .kb-button:hover, .wp-block-button__link:hover, .button:hover, button.kb-button:hover, .kadence-blocks-singlebtn .kb-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .single_add_to_cart_button:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(29,80,162,.22) !important; }
.footer-widget-area .kb-advanced-form .kb-adv-form-submit-button { border-radius: var(--ax-radius) !important; }
/* body-copy-size */
p.wp-block-kadence-advancedheading { font-size: var(--ax-fs-3) !important; line-height: 1.65 !important; }
/* product-card-titles */
.wc-block-product h3, .wc-block-product h3 a, .wc-block-product .wp-block-kadence-advancedheading { font-weight: 600 !important; color: var(--global-palette5) !important; line-height: 1.4 !important; transition: color .18s ease !important; }
.wc-block-product h3 a:hover, .wc-block-product h3:hover, .wc-block-product .wp-block-kadence-advancedheading:hover { color: var(--global-palette2) !important; }
/* trust-bar-cards */
.home .kt-blocks-info-box .kt-blocks-info-box-link-wrap { border-radius: 16px !important; background-color: var(--global-palette8) !important; border: 1px solid var(--global-palette7) !important; box-shadow: 0 2px 4px rgba(31,42,55,.04), 0 8px 24px rgba(31,42,55,.06) !important; padding: 34px 28px !important; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-link-wrap:hover { transform: translateY(-4px) !important; box-shadow: 0 6px 14px rgba(31,42,55,.08), 0 18px 40px rgba(31,42,55,.12) !important; border-color: var(--global-palette2) !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-media { width: 76px !important; height: 76px !important; min-width: 76px !important; border-radius: 50% !important; background-color: rgba(29,80,162,.09) !important; background-image: none !important; box-shadow: inset 0 0 0 1px rgba(29,80,162,.14) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 20px !important; transition: background-color .22s ease, box-shadow .22s ease !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-media svg { width: 32px !important; height: 32px !important; transition: color .22s ease !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-media { background-color: rgba(194,102,58,.14) !important; box-shadow: inset 0 0 0 1px rgba(194,102,58,.22) !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-media svg { color: var(--global-palette2) !important; }
.home .kt-blocks-info-box .kt-blocks-info-box-title { font-weight: 600 !important; color: var(--global-palette1) !important; line-height: 1.4 !important; letter-spacing: .1px; transition: color .22s ease !important; }
/* trust-bar-title-hover */
.home .kt-blocks-info-box .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title { color: var(--global-palette2) !important; }

/* mobile-subscribe-fix */
@media (max-width: 480px){
  .footer-widget-area .kb-advanced-form .kt-row-column-wrap{ flex-wrap: wrap !important; max-width: 100% !important; }
  .footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column,
  .footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column:first-child,
  .footer-widget-area .kb-advanced-form .kt-row-column-wrap > .wp-block-kadence-column:last-child{ flex: 1 1 100% !important; max-width: 100% !important; width: 100% !important; }
  .footer-widget-area .kb-advanced-form .kb-adv-form-field{ width: 100% !important; max-width: 100% !important; }
  .footer-widget-area .kb-advanced-form input.kb-email-field{ min-width: 0 !important; width: 100% !important; }
  .footer-widget-area .kb-advanced-form .kb-adv-form-submit-button{ width: 100% !important; }
}
/* hero-wordbreak-fix */
.kb-advanced-slider .wp-block-kadence-advancedheading{ word-break: normal !important; }

/* === Asteraix custom (added via Claude) === */
/* --- Header: site name + nav (stable selectors, no uniqueID) --- */
.wp-block-kadence-header .kb-identity-layout-logo-left .wp-block-site-title{
  font-family:var(--ax-font-display) !important;
  font-size:var(--ax-fs-2) !important;
  font-weight:600 !important;
  color:var(--ax-forward) !important;
  letter-spacing:normal !important;
}
.wp-block-kadence-header .kb-navigation .kb-nav-link-content,
.wp-block-kadence-header .kb-navigation .kb-link-wrap .kb-nav-link-content{
  font-family:var(--ax-font-body) !important;
  font-size:var(--ax-fs-4) !important;
  font-weight:500 !important;
  letter-spacing:0.01em !important;
}
/* --- Type scale: 17 read / 15 card-title / 14 UI (nav,button,footer) --- */
.kb-nav-link-content{font-family:var(--ax-font-body) !important;font-size:var(--ax-fs-4) !important;font-weight:500 !important;letter-spacing:0.01em !important;}
.site-footer p,.site-footer li,.site-footer a{font-size:var(--ax-fs-4) !important;}
/* --- Product cards: single source of truth for home + shop --- */
html body .np-section .wp-block-woocommerce-product-template li .wp-block-kadence-advancedheading{font-family:Sora,sans-serif !important;font-size:var(--ax-fs-3) !important;font-weight:600 !important;line-height:1.4 !important;color:var(--ax-ink-soft) !important;display:-webkit-box !important;-webkit-box-orient:vertical !important;-webkit-line-clamp:2 !important;max-height:2.8em !important;min-height:2.8em !important;margin-bottom:0.7em !important;overflow:hidden !important;}
.np-section .wp-block-woocommerce-product-template li .wp-block-woocommerce-product-price{display:none !important;}
ul.products li.product .woocommerce-loop-product__title{display:block !important;text-align:center !important;overflow:visible !important;}
ul.products li.product .woocommerce-loop-product__title a{display:block !important;font-family:Sora,sans-serif !important;font-size:15px !important;font-weight:600 !important;line-height:1.4 !important;color:var(--ax-ink-soft) !important;text-transform:none !important;min-height:2.8em !important;max-height:2.8em !important;overflow:hidden !important;}
ul.products li.product .price{display:none !important;}
.np-section .wp-block-woocommerce-product-template a.wp-block-button__link,
.np-section .wp-block-woocommerce-product-template a.wc-block-components-product-button__button,
ul.products li.product a.button,
ul.products li.product a.add_to_cart_button{font-family:Inter,sans-serif !important;font-size:var(--ax-fs-4) !important;font-weight:500 !important;letter-spacing:var(--ax-btn-tracking) !important;color:var(--ax-action) !important;background:transparent !important;background-color:transparent !important;border:2px solid var(--ax-action) !important;border-radius:var(--ax-radius) !important;text-transform:uppercase !important;padding:5.76px 14.4px !important;box-shadow:rgba(29,80,162,0.12) 0px 1px 2px !important;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease !important;display:block !important;text-align:center !important;}
.np-section .wp-block-woocommerce-product-template a.wp-block-button__link:hover,
.np-section .wp-block-woocommerce-product-template a.wc-block-components-product-button__button:hover,
ul.products li.product a.button:hover,
ul.products li.product a.add_to_cart_button:hover{background:var(--ax-forward-fill) !important;background-color:var(--ax-forward-fill) !important;color:var(--ax-white) !important;border-color:var(--ax-forward-fill) !important;transform:translateY(-1px) !important;box-shadow:rgba(29,80,162,0.22) 0px 4px 12px !important;}
/* Homepage product rows: match /shop content inset (site-container 24px) */
.np-section > .wp-block-group__inner-container.is-layout-constrained{padding-left:24px !important;padding-right:24px !important;box-sizing:border-box !important;}
/* --- Homepage accent text (migrated from page-local CSS) --- */
.np-kicker{color:var(--ax-label) !important;font-size:0.8rem !important;font-weight:600 !important;line-height:1.2 !important;letter-spacing:0.14em !important;text-transform:uppercase !important;margin:0 !important;}
.np-viewall{font-size:0.85rem !important;white-space:nowrap !important;margin:0 !important;}
.np-viewall a{color:var(--ax-forward) !important;font-weight:600 !important;text-decoration:none !important;}
.np-viewall a:hover{text-decoration:underline !important;}
/* --- Homepage Case Study section (portable: .home + href semantics) --- */
.home .wp-block-kadence-column:has(.kb-buttons-wrap a[href*="/category/case-study/"]) h2.wp-block-kadence-advancedheading{color:var(--ax-ink) !important;font-weight:600 !important;letter-spacing:-0.01em !important;}
.home .wp-block-kadence-column:has(.kb-buttons-wrap a[href*="/category/case-study/"]) > .kt-inside-inner-col > p.wp-block-kadence-advancedheading.has-theme-palette-4-color{color:var(--ax-label) !important;font-size:0.8rem !important;font-weight:600 !important;letter-spacing:0.14em !important;text-transform:uppercase !important;line-height:1.2 !important;margin:0 0 12px 0 !important;}
.home .wp-block-kadence-column:has(.kb-buttons-wrap a[href*="/category/case-study/"]) .kb-buttons-wrap{justify-content:flex-start !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) p.wp-block-kadence-advancedheading.has-theme-palette-4-color{color:var(--ax-label) !important;font-size:0.8rem !important;font-weight:600 !important;letter-spacing:0.1em !important;text-transform:uppercase !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) h5.wp-block-kadence-advancedheading{color:var(--ax-ink) !important;font-weight:600 !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) p.wp-block-kadence-advancedheading.has-theme-palette-5-color{color:var(--ax-label) !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) a.kb-button{color:var(--ax-forward) !important;background:transparent !important;background-color:transparent !important;border-color:transparent !important;box-shadow:none !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) a.kb-button:hover{color:var(--ax-forward) !important;text-decoration:underline !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) a.kb-button svg{color:var(--ax-forward) !important;fill:var(--ax-forward) !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) > .kt-inside-inner-col{display:flex !important;flex-direction:column !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])){flex:1 1 auto !important;align-self:stretch !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) > .kt-inside-inner-col{height:100% !important;display:flex !important;flex-direction:column !important;}
.home .wp-block-kadence-column:has(a.kb-button[href*="/case-study/"]:not([href*="/category/"])) .kb-buttons-wrap{margin-top:auto !important;}

/* --- Footer copyright (legal meta -> slate) --- */
.footer-html-inner, .footer-html-inner p{color:var(--ax-label) !important;}

/* --- Unified button type --- */
.home .wp-block-kadence-column:has(.kb-buttons-wrap a[href*="/category/case-study/"]) .kb-buttons-wrap > a.kb-button{font-size:var(--ax-fs-4) !important;font-weight:500 !important;letter-spacing:var(--ax-btn-tracking) !important;line-height:1.2 !important;padding:12px 24px !important;}
/* --- Type scale consolidation --- */
body{font-size:var(--ax-fs-3)}
.kt-title-text{font-size:var(--ax-fs-4) !important}
.kt-btn-inner-text{font-size:var(--ax-fs-4) !important}

/* --- Type scale: residual cleanup --- */
body .has-small-font-size{font-size:var(--ax-fs-4) !important}
.site-top-footer-inner-wrap .widget-area .widget-title{font-size:var(--ax-fs-4) !important}
.np-viewall, .np-viewall a{font-size:var(--ax-fs-4) !important}

/* --- Type scale: final consolidation --- */
:root, body{--wp--preset--font-size--small:var(--ax-fs-4);--wp--preset--font-size--x-small:var(--ax-fs-5)}
.wc-block-mini-cart__title, .wc-block-mini-cart__drawer h2.wc-block-mini-cart__title{font-size:var(--ax-fs-2) !important}
h5.wp-block-kadence-advancedheading{font-size:var(--ax-fs-2) !important}
.wc-block-components-quantity-selector__button{font-size:var(--ax-fs-4) !important}

/* --- Mobile/tablet header bar: group hamburger + logo, align icon scale --- */
@media (max-width:1024px){
  /* Tablet/mobile row only (direct child has tablet-left column) */
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left){
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-header-column-tablet-left{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    gap:0 !important;
  }
  /* Kadence empty spacer between trigger and center column */
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-header-column-center-left{
    display:none !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-header-column-tablet-center{
    flex:0 0 auto !important;
    width:auto !important;
    margin-left:10px !important;
    justify-content:flex-start !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-header-column-tablet-right{
    flex:1 1 auto !important;
    width:auto !important;
    justify-content:flex-end !important;
    gap:2px !important;
  }
  /* Unified 40px tap targets + 22px glyphs */
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-off-canvas-trigger,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wc-block-customer-account__link,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wc-block-mini-cart__button,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .kb-search .kb-search-icon-submit{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    padding:9px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wp-block-kadence-off-canvas-trigger svg,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wc-block-customer-account__link svg,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wc-block-mini-cart__button svg,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .wc-block-mini-cart__quantity-badge,
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .kb-search .kb-search-icon-submit svg{
    width:22px !important;
    height:22px !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .kb-identity-layout-logo-only{
    display:flex !important;
    align-items:center !important;
    min-height:40px !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .kb-identity-layout-logo-only .wp-block-image{
    margin:0 !important;
    line-height:0 !important;
  }
  .kadence-header-row-inner:has(> .wp-block-kadence-header-column-tablet-left) .kb-identity-layout-logo-only img{
    width:24px !important;
    height:24px !important;
    max-width:24px !important;
    display:block !important;
  }
}

/* ============================================================
   Asteraix Homepage — Blueprint visual system (page 1876)
   ============================================================ */

.home {
  --ax-bg: #020617;
  --ax-surface: rgba(15, 23, 42, 0.72);
  --ax-surface-soft: rgba(15, 23, 42, 0.48);
  --ax-border: rgba(147, 197, 253, 0.20);
  --ax-border-strong: rgba(147, 197, 253, 0.42);
  --ax-text: #F8FAFC;
  --ax-muted: #94A3B8;
  --ax-blue: #60A5FA;
  --ax-blue-strong: #2563EB;
}

/* --- Layout primitives --- */
.home .ax-container {
  max-width: 1180px;
  margin: 0 auto;
  width: 100%;
}

/* Block conversion: Kadence re-wraps every nested core/group's children in a
   .wp-block-group__inner-container at render time. Make those generated wrappers
   transparent so our .ax- grid/flex parents keep their direct parent>child
   relationships (and don't clamp width to the theme content size). */
.home .ax-home-hero .wp-block-group__inner-container,
.home .ax-section .wp-block-group__inner-container {
  display: contents;
}

/* Block conversion: Kadence adds margin-bottom:var(--global-md-spacing) to every
   .single-content .wp-block-group. The original sections were raw-HTML islands with
   no nested groups, so spacing is governed by the .ax- elements' own margins/gaps.
   Zero the vertical margin on our nested wrapper groups (block-axis only, so
   .ax-container keeps its margin:0 auto centering; section-level groups keep their
   own inter-section margin since this matches descendants, not the section itself). */
.home .ax-home-hero .wp-block-group,
.home .ax-section .wp-block-group {
  margin-top: 0;
  margin-bottom: 0;
}

/* Block conversion: product/software cards are now core/group <div>s (not <a>),
   so the whole card is made clickable via a stretched link on the card title. */
.home .ax-product-card,
.home .ax-software-card {
  position: relative;
}
.home .ax-product-card__title a,
.home .ax-software-card__title a {
  color: inherit;
  text-decoration: none;
}
.home .ax-product-card__title a::after,
.home .ax-software-card__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1; /* sit above the card's other (non-interactive) content so the whole card is clickable */
}

/* Editor only: the card icon renders inside a SandBox iframe (.ax- classes live
   inside it, so the icon-size CSS can't reach it). Constrain that iframe to the
   icon size so the icon+title row matches the front end. On the front end the
   icon is an inline <div> and there is no iframe in the head — so this is a no-op. */
.home .ax-product-card__head iframe {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px;
}
.home .ax-software-card__head iframe {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px;
}

.home .ax-section {
  padding: clamp(2.75rem, 5vw, 4.25rem) 24px;
  box-sizing: border-box;
}

.home .ax-blueprint-bg {
  background-color: var(--ax-bg);
  background-image:
    linear-gradient(rgba(147, 197, 253, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 197, 253, 0.06) 1px, transparent 1px),
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(37, 99, 235, 0.18), transparent 65%);
  background-size: 32px 32px, 32px 32px, 100% 100%;
}

.home .ax-section-title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: var(--ax-ink);
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 0.75rem;
}

.home .ax-section-title--light {
  color: var(--ax-text);
}

.home .ax-section-intro {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-3);
  color: var(--ax-ink-soft);
  line-height: 1.65;
  max-width: 680px;
  margin: 0 0 2rem;
}

.home .ax-section-intro--light {
  color: var(--ax-muted);
}

/* --- Hero --- */
.home .ax-home-hero {
  color: var(--ax-text);
  min-height: 760px;
  max-height: 860px;
  display: flex;
  align-items: center;
  padding-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

/* Block conversion: hero inner wrapper is now a nested core/group .ax-container
   (WP 7.0 core/group no longer emits .wp-block-group__inner-container). */
.home .ax-home-hero > .ax-container {
  width: 100%;
}

.home .ax-hero-columns {
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0;
}

.home .ax-badge {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-5);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ax-blue);
  margin: 0 0 1rem;
}

.home .ax-badge a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.18s ease;
}

.home .ax-badge a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.home .ax-hero-title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: var(--ax-text);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  max-width: 520px;
  text-wrap: balance;
}

.home .ax-hero-subtitle {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-3);
  color: var(--ax-muted);
  line-height: 1.65;
  margin: 0 0 1.75rem;
  max-width: 480px;
}

.home .ax-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.home .ax-btn .wp-block-button__link,
.home a.ax-btn.ax-btn-outline {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 500;
  letter-spacing: var(--ax-btn-tracking);
  text-transform: uppercase;
  border-radius: var(--ax-radius);
  min-height: var(--ax-btn-height);
  padding: 10px 22px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.home .ax-btn-primary .wp-block-button__link {
  background: var(--ax-blue-strong);
  color: var(--ax-text);
  border: 1px solid var(--ax-border-strong);
  box-shadow: 0 0 20px rgba(37, 99, 235, 0.25);
}

.home .ax-btn-primary .wp-block-button__link:hover {
  background: #1d4ed8;
  border-color: var(--ax-blue);
  color: var(--ax-text);
}

.home .ax-btn-secondary .wp-block-button__link {
  background: var(--ax-surface-soft);
  color: var(--ax-text);
  border: 1px solid var(--ax-border);
  box-shadow: none;
}

.home .ax-btn-secondary .wp-block-button__link:hover {
  background: var(--ax-surface);
  border-color: var(--ax-border-strong);
  color: var(--ax-text);
}

/* --- Platform map (inline SVG) --- */
.home .ax-platform-map-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.home .ax-platform-map {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  border: 1px solid var(--ax-border);
  background: var(--ax-surface-soft);
}

.home .ax-platform-map--mobile {
  display: none;
}

.home .ax-map-mobile-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.home .ax-map-mobile-card {
  background: rgba(15, 23, 42, 0.88);
  border: 1px solid rgba(147, 197, 253, 0.22);
  border-radius: 14px;
  padding: 16px;
}

.home .ax-map-mobile-card__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-3);
  font-weight: 600;
  color: #F8FAFC;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

.home .ax-map-mobile-card__lines {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home .ax-map-mobile-card__lines li {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  color: #94A3B8;
  line-height: 1.45;
  margin: 0;
}

.home .ax-map-mobile-engine {
  background: #020617;
  border: 1px solid rgba(147, 197, 253, 0.42);
  border-radius: 16px;
  padding: 18px 16px;
  text-align: center;
}

.home .ax-map-mobile-engine__eyebrow {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94A3B8;
  margin: 0 0 0.5rem;
}

.home .ax-map-mobile-engine__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-2);
  font-weight: 600;
  color: #F8FAFC;
  margin: 0 0 0.35rem;
  line-height: 1.3;
}

.home .ax-map-mobile-engine__sub {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  color: #94A3B8;
  margin: 0;
  line-height: 1.45;
}

.home .ax-map-mobile-apps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.home .ax-map-mobile-card--app {
  border-color: rgba(194, 102, 58, 0.35);
}

.home .ax-map-mobile-card--app .ax-map-mobile-card__title {
  color: #F8FAFC;
}

/* --- Intro band (hero → products hand-off) --- */
.home .ax-intro-section {
  background: var(--global-palette8, var(--ax-cream));
  padding: 4.5rem 1.5rem;
}

.home .ax-intro {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.home .ax-intro .ax-eyebrow {
  margin: 0 0 1rem;
}

.home .ax-intro__lead {
  font-family: var(--global-body-font-family, var(--ax-font-body));
  font-size: clamp(1.05rem, 1rem + 0.4vw, 1.25rem);
  line-height: 1.6;
  color: var(--global-palette6, var(--ax-ink-soft));
  margin: 0;
  text-wrap: balance;
}

/* --- Why Asteraix (3-pillar, above brand closing) --- */
.home .ax-platform-overview {
  background: var(--global-palette8, var(--ax-cream));
  padding: 6rem 1.5rem;
}

.home .ax-po {
  max-width: 1180px;
  margin: 0 auto;
}

.home .ax-po__lead {
  font-family: var(--global-heading-font-family, var(--ax-font-display));
  font-weight: 600;
  font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--global-palette4, var(--ax-ink));
  margin: 0 0 3.5rem;
  max-width: 22ch;
  text-wrap: balance;
}

.home .ax-po__lead-accent {
  color: var(--global-palette2, var(--ax-forward-fill));
}

.home .ax-po__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
}

.home .ax-pillar__num {
  font-family: var(--global-heading-font-family, var(--ax-font-display));
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1;
  color: var(--global-palette2, var(--ax-forward-fill));
  opacity: 0.42;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
}

.home .ax-pillar__rule {
  height: 1px;
  width: 100%;
  background: var(--global-palette7, var(--ax-hairline));
  margin: 0 0 1.25rem;
}

.home .ax-pillar__title {
  font-family: var(--global-heading-font-family, var(--ax-font-display));
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.3;
  color: var(--global-palette4, var(--ax-ink));
  margin: 0 0 0.65rem;
}

.home .ax-pillar__text {
  font-family: var(--global-body-font-family, var(--ax-font-body));
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--global-palette6, var(--ax-ink-soft));
  margin: 0;
}

@media (max-width: 900px) {
  .home .ax-po__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .home .ax-platform-overview {
    padding: 4.5rem 1.5rem;
  }

  .home .ax-po__lead {
    margin-bottom: 2.75rem;
  }
}

/* --- Icons --- */
.home .ax-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
}

.home .ax-icon svg {
  width: 48px;
  height: 48px;
  display: block;
}

/* --- Cards --- */
.home .ax-card {
  border-radius: 24px;
  padding: 1.5rem;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.home .ax-card-light {
  background: var(--ax-surface);
  border: 1px solid var(--ax-border);
  color: var(--ax-text);
}

.home .ax-card-light:hover {
  border-color: var(--ax-border-strong);
  background: rgba(15, 23, 42, 0.82);
}

.home .ax-card__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-2);
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 0.65rem;
}

.home .ax-card-light .ax-card__title {
  color: var(--ax-text);
}

.home .ax-card__text {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-3);
  line-height: 1.6;
  margin: 0;
}

.home .ax-card-light .ax-card__text,
.home .ax-card-light .ax-card__list {
  color: var(--ax-muted);
}

.home .ax-card__list {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  line-height: 1.55;
  margin: 0;
  padding-left: 1.1rem;
}

.home .ax-link-forward {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 600;
  color: var(--ax-forward);
  text-decoration: none;
}

.home .ax-link-forward:hover {
  text-decoration: underline;
}

/* --- Products (turnkey systems) --- */
.home .ax-products-section {
  background: var(--ax-white);
  margin-top: 0;
  margin-bottom: 0;
  padding: 0 24px 120px;
}

.home .ax-products-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.home .ax-products-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home .ax-products-header__main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
}

.home .ax-products-header__title,
.home .ax-products-header__statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.home .ax-products-header__title {
  max-width: 520px;
}

.home .ax-products-header__statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  justify-self: end;
  max-width: 380px;
  width: 100%;
}

.home .ax-eyebrow {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-5);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ax-label);
  margin: 0 0 1rem;
}

.home .ax-eyebrow--light {
  color: rgba(248, 250, 252, 0.72);
}

.home .ax-products-title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: var(--ax-ink);
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0;
}

.home .ax-products-statement {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-2);
  font-weight: 600;
  color: var(--ax-ink);
  line-height: 1.4;
  margin: 0;
}

.home .ax-products-header__title::after,
.home .ax-software-header__title::after {
  content: "\00a0";
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 600;
  line-height: 1;
  visibility: hidden;
}

.home .ax-products-turnkey {
  margin: 0;
}

.home .ax-products-turnkey a {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 600;
  color: var(--ax-forward);
  text-decoration: none;
}

.home .ax-products-turnkey a:hover {
  text-decoration: underline;
}

.home .ax-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.home .ax-product-card {
  display: flex;
  flex-direction: column;
  background: var(--ax-cream);
  border: 1px solid var(--ax-hairline);
  border-radius: 20px;
  padding: 32px;
  text-decoration: none;
  color: inherit;
  height: 100%;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.home .ax-product-card:focus-within {
  outline: 2px solid var(--ax-action);
  outline-offset: 2px;
}

.home .ax-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -12px rgba(31, 42, 55, 0.18);
}

.home .ax-section .ax-product-card__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem; /* specificity raised above the .wp-block-group margin reset */
}

.home .ax-product-card__icon {
  width: 32px;
  height: 32px;
  margin: 0;
  flex: 0 0 auto;
  color: var(--ax-label);
  transition: color 0.2s ease;
}

.home .ax-product-card__icon svg {
  width: 32px;
  height: 32px;
  display: block;
  overflow: visible;
}

.home .ax-product-card__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-2);
  font-weight: 600;
  color: var(--ax-ink);
  line-height: 1.35;
  margin: 0;
  transition: color 0.2s ease;
}

.home .ax-product-card__text {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-3);
  color: var(--ax-ink-soft);
  line-height: 1.6;
  margin: 0;
  flex: 1;
  transition: color 0.2s ease;
}

.home .ax-product-card__note {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-5);
  color: var(--ax-label);
  line-height: 1.5;
  margin: 0.5rem 0 0;
}

.home .ax-product-card__action {
  margin: auto 0 0;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  padding: 0.62em 1.2em;
  border-radius: 9999px;
  border: 1.5px solid color-mix(in srgb, var(--ax-forward-fill) 50%, transparent);
  background: transparent;
  font-family: var(--ax-font-display);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  color: var(--ax-forward-fill);
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.home .ax-product-card:hover .ax-product-card__action,
.home .ax-product-card__action:hover {
  background: var(--ax-forward-fill);
  border-color: var(--ax-forward-fill);
  color: #fff;
}

.home .ax-product-card__action .arw {
  transition: transform 0.2s ease;
}

.home .ax-product-card:hover .ax-product-card__action .arw {
  transform: translateX(3px);
}

/* --- Software (deploy anywhere) --- */
.home .ax-software-section {
  background: #0F172A;
  padding: 120px 24px;
}

.home .ax-software-inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.home .ax-software-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home .ax-software-header__main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
}

.home .ax-software-header__title,
.home .ax-software-header__statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.home .ax-software-header__title {
  max-width: 520px;
}

.home .ax-software-header__statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  justify-self: end;
  max-width: 380px;
  width: 100%;
}

.home .ax-software-title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: #F8FAFC;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 1rem;
}

.home .ax-software-statement {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-2);
  font-weight: 600;
  color: rgba(248, 250, 252, 0.92);
  line-height: 1.4;
  margin: 0;
}

.home .ax-software-copy {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  color: #94A3B8;
  line-height: 1.65;
  margin: 0;
}

.home .ax-software-tagline {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 500;
  letter-spacing: var(--ax-btn-tracking);
  color: var(--ax-forward);
  margin: 0;
}

.home .ax-software-tagline a {
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  color: var(--ax-forward);
  text-decoration: none;
}

.home .ax-software-tagline a:hover {
  text-decoration: underline;
}

.home .ax-software-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  align-items: stretch;
}

.home .ax-software-card {
  display: flex;
  flex-direction: column;
  background: #121d31;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 16px;
  padding: 28px 24px;
  text-decoration: none;
  color: inherit;
  height: 100%;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.home .ax-software-card:focus-within {
  outline: 2px solid var(--ax-forward-fill);
  outline-offset: 2px;
}

.home .ax-software-card:hover {
  transform: translateY(-4px);
  background: #16233b;
  border-color: rgba(127, 176, 245, 0.40);
}

.home .ax-section .ax-software-card__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.7rem; /* specificity raised above the .wp-block-group margin reset */
}

.home .ax-software-card__icon {
  width: 30px;
  height: 30px;
  margin: 0;
  flex: 0 0 auto;
  color: rgba(248, 250, 252, 0.62);
  transition: color 0.2s ease;
}

.home .ax-software-card__icon svg {
  width: 30px;
  height: 30px;
  display: block;
  overflow: visible;
}

.home .ax-software-card__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-3);
  font-weight: 600;
  color: #F8FAFC;
  line-height: 1.35;
  margin: 0;
  transition: color 0.2s ease;
}

.home .ax-software-card__text {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  color: #94A3B8;
  line-height: 1.6;
  margin: 0;
  flex: 1;
  transition: color 0.2s ease;
}

.home .ax-software-card__note {
  margin: auto 0 0;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  padding: 0.6em 1.15em;
  border-radius: 9999px;
  border: 1px solid rgba(127, 176, 245, 0.35);
  background: transparent;
  font-family: var(--ax-font-display);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  color: #cdddf5;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.home .ax-software-card:hover .ax-software-card__note,
.home .ax-software-card__note:hover {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.home .ax-software-card__note .arw {
  transition: transform 0.2s ease;
}

.home .ax-software-card:hover .ax-software-card__note .arw {
  transform: translateX(3px);
}

/* --- Core Technologies (hairline matrix) --- */
.home .ax-core-tech-section {
  background: var(--global-palette8, var(--ax-cream));
  padding: 6rem 1.5rem;
}

.home .ax-ct {
  max-width: 1180px;
  margin: 0 auto;
}

.home .ax-ct .ax-eyebrow {
  margin: 0 0 1rem;
}

.home .ax-ct .ax-section-title {
  margin: 0 0 3rem;
}

.home .ax-ct__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--global-palette7, var(--ax-hairline));
  border-left: 1px solid var(--global-palette7, var(--ax-hairline));
}

.home .ax-ct__cell {
  border-right: 1px solid var(--global-palette7, var(--ax-hairline));
  border-bottom: 1px solid var(--global-palette7, var(--ax-hairline));
  padding: 2.5rem 2.25rem 2.75rem;
  background: transparent;
  transition: background 0.2s ease;
}

.home .ax-ct__cell:hover {
  background: var(--global-palette9, var(--ax-white));
}

.home .ax-section .ax-ct__head {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  margin-bottom: 1.15rem; /* specificity raised above the .wp-block-group margin reset */
}

.home .ax-ct__icon {
  width: 46px;
  height: 46px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(29, 80, 162, 0.08);
  background: color-mix(in srgb, var(--global-palette1, var(--ax-action)) 8%, transparent);
  color: var(--global-palette1, var(--ax-action));
  margin: 0;
  flex: 0 0 auto;
}

.home .ax-ct__icon svg {
  width: 23px;
  height: 23px;
  display: block;
}

/* Editor only: constrain the CT icon's SandBox iframe to the icon-box footprint
   (no-op on the front end, where the icon is an inline div, not an iframe). */
.home .ax-ct__head iframe {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px;
}

.home .ax-ct__title {
  font-family: var(--global-heading-font-family, var(--ax-font-display));
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.3;
  color: var(--global-palette4, var(--ax-ink));
  margin: 0;
}

.home .ax-ct__text {
  font-family: var(--global-body-font-family, var(--ax-font-body));
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--global-palette6, var(--ax-ink-soft));
  margin: 0;
}

@media (max-width: 1100px) {
  .home .ax-software-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .home .ax-ct__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home .ax-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home .ax-core-tech-section {
    padding: 4.5rem 1.5rem;
  }
}

@media (max-width: 760px) {
  .home .ax-software-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .home .ax-ct__grid {
    grid-template-columns: 1fr;
  }

  .home .ax-products-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .home .ax-software-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Brand Closing --- */
.home .ax-brand-closing {
  background: var(--ax-white);
  color: var(--ax-ink);
  text-align: center;
  padding: 160px 24px 180px;
}

.home .ax-brand-closing-inner {
  max-width: 720px;
  margin: 0 auto;
}

.home .ax-brand-closing .ax-eyebrow {
  margin-bottom: 1.5rem;
}

.home .ax-brand-closing__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: var(--ax-ink);
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin: 0 0 1.25rem;
}

.home .ax-brand-closing__scope {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--ax-label);
  margin: 0 0 2.5rem;
}

.home .ax-brand-closing__cta {
  margin: 0;
}

.home .ax-brand-closing__cta a {
  display: inline-block;
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 500;
  letter-spacing: var(--ax-btn-tracking);
  color: var(--ax-ink);
  text-decoration: none;
  border: 1px solid var(--ax-hairline);
  border-radius: var(--ax-radius);
  padding: 10px 22px;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.home .ax-brand-closing__cta a:hover {
  border-color: var(--ax-ink-soft);
  color: var(--ax-forward);
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .home .ax-home-hero {
    min-height: auto;
    max-height: none;
  }

  .home .ax-products-header__main,
  .home .ax-software-header__main {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .home .ax-products-header__statement,
  .home .ax-software-header__statement {
    justify-self: start;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .home .ax-platform-map {
    display: none;
  }

  .home .ax-platform-map--mobile {
    display: flex !important; /* override the inline display:none used for the editor sandbox */
    flex-direction: column;
    gap: 12px;
    border-radius: 16px;
    border: 1px solid var(--ax-border);
    background: var(--ax-surface-soft);
    padding: 12px;
  }
}

@media (max-width: 768px) {
  .home .ax-intro-section {
    padding: 3rem 1.25rem;
  }

  .home .ax-hero-columns {
    flex-direction: column;
  }

  .home .ax-hero-columns > .wp-block-column {
    flex-basis: 100% !important;
  }

  .home .ax-hero-copy {
    order: 1;
  }

  .home .ax-hero-visual {
    order: 2;
    margin-top: 1.25rem;
  }

  .home .ax-platform-map-wrap {
    overflow-x: hidden;
  }

  .home .ax-products-section {
    margin-top: 80px;
    padding-bottom: 80px;
  }

  .home .ax-software-section,
  .home .ax-core-tech-section,
  .home .ax-brand-closing {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .home .ax-brand-closing {
    padding-bottom: 120px;
  }
}

/* ============================================================
   Blog index (/blog) — custom home.php editorial template.
   Scoped to .ax-blog; all colors/sizes via --ax-* tokens.
   ============================================================ */
.blog .content-area { background: var(--ax-cream); }
.ax-blog { width: 100%; }

/* Header */
.ax-blog__head {
  max-width: 760px;
  padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.75rem, 3.5vw, 2.75rem);
}
.ax-blog .ax-eyebrow {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-5);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ax-label);
  margin: 0 0 0.8rem;
}
.ax-blog__title {
  font-family: var(--ax-font-display);
  font-size: var(--ax-fs-1);
  font-weight: 600;
  color: var(--ax-ink);
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0 0 0.85rem;
}
.ax-blog__sub {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-3);
  line-height: 1.6;
  color: var(--ax-ink-soft);
  margin: 0;
}

/* Layout: content + right sidebar */
.ax-blog__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* Filter chips */
.ax-blog__filter { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 2rem; }
.ax-chip {
  font-family: var(--ax-font-body);
  font-size: var(--ax-fs-4);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ax-ink-soft);
  background: var(--ax-white);
  border: 1px solid var(--ax-hairline);
  border-radius: 9999px;
  padding: 0.5em 1.1em;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ax-chip:hover { border-color: var(--ax-forward); color: var(--ax-forward); }
.ax-chip.is-active { background: var(--ax-action); border-color: var(--ax-action); color: var(--ax-white); }

/* Post grid */
.ax-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

/* Card */
.ax-bcard {
  display: flex;
  flex-direction: column;
  background: var(--ax-white);
  border: 1px solid var(--ax-hairline);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ax-bcard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -12px rgba(31, 42, 55, 0.18); }
.ax-bcard__media { display: block; aspect-ratio: 16 / 10; background: var(--ax-cream); overflow: hidden; }
.ax-bcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s ease; }
.ax-bcard:hover .ax-bcard__media img { transform: scale(1.03); }
.ax-bcard__media-fallback {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  font-family: var(--ax-font-display); font-weight: 600; font-size: var(--ax-fs-2);
  letter-spacing: 0.02em; color: var(--ax-label);
  background: linear-gradient(135deg, var(--ax-cream), #ECE6DC);
}
.ax-bcard__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: clamp(1.4rem, 2vw, 1.75rem); }
.ax-bcard__cat {
  align-self: flex-start;
  font-family: var(--ax-font-body); font-size: var(--ax-fs-5); font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ax-label);
  text-decoration: none; margin: 0 0 0.7rem;
  transition: color 0.18s ease;
}
.ax-bcard__cat:hover { color: var(--ax-forward); }
.ax-bcard__title { font-family: var(--ax-font-display); font-size: var(--ax-fs-2); font-weight: 600; line-height: 1.35; margin: 0 0 0.65rem; }
.ax-bcard__title a { color: var(--ax-ink); text-decoration: none; transition: color 0.18s ease; }
.ax-bcard__title a:hover { color: var(--ax-action); }
.ax-bcard__excerpt { font-family: var(--ax-font-body); font-size: var(--ax-fs-4); line-height: 1.6; color: var(--ax-ink-soft); margin: 0 0 1rem; }
.ax-bcard__meta { font-family: var(--ax-font-body); font-size: var(--ax-fs-5); color: var(--ax-label); margin: 0 0 1.1rem; }
.ax-bcard__sep { margin: 0 0.45em; }
.ax-bcard__more {
  margin-top: auto; align-self: flex-start;
  display: inline-flex; align-items: center; gap: 0.4em;
  font-family: var(--ax-font-body); font-size: var(--ax-fs-4); font-weight: 600;
  letter-spacing: 0.02em; text-transform: uppercase; color: var(--ax-forward); text-decoration: none;
}
.ax-bcard__more:hover { text-decoration: underline; text-underline-offset: 3px; }
.ax-bcard__more .arw { transition: transform 0.2s ease; }
.ax-bcard:hover .ax-bcard__more .arw { transform: translateX(3px); }

/* Sidebar */
.ax-blog__sidebar { display: flex; flex-direction: column; gap: 2rem; position: sticky; top: 100px; }
.ax-widget__title {
  font-family: var(--ax-font-display); font-size: var(--ax-fs-2); font-weight: 600;
  color: var(--ax-ink); margin: 0 0 0.9rem; padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--ax-hairline);
}
.ax-cat-list { list-style: none; margin: 0; padding: 0; }
.ax-cat-list a {
  display: flex; justify-content: space-between; align-items: center; gap: 0.5rem;
  font-family: var(--ax-font-body); font-size: var(--ax-fs-4); color: var(--ax-ink-soft);
  text-decoration: none; padding: 0.55rem 0; border-bottom: 1px solid var(--ax-hairline);
  transition: color 0.18s ease;
}
.ax-cat-list li:last-child a { border-bottom: 0; }
.ax-cat-list a:hover { color: var(--ax-forward); }
.ax-cat-list a.is-active { color: var(--ax-action); font-weight: 600; }
.ax-cat-list a span { color: var(--ax-label); font-size: var(--ax-fs-5); font-weight: 400; }
.ax-tagcloud a {
  display: inline-block; font-size: var(--ax-fs-5) !important;
  font-family: var(--ax-font-body); color: var(--ax-ink-soft);
  background: var(--ax-white); border: 1px solid var(--ax-hairline); border-radius: 9999px;
  padding: 0.35em 0.85em; margin: 0 0.4em 0.5em 0; text-decoration: none;
  transition: border-color 0.18s ease, color 0.18s ease;
}
.ax-tagcloud a:hover { border-color: var(--ax-forward); color: var(--ax-forward); }
.ax-widget__empty { font-family: var(--ax-font-body); font-size: var(--ax-fs-4); color: var(--ax-label); margin: 0; }

/* Pagination (the_posts_pagination -> .pagination) */
.ax-blog .pagination { margin-top: 2.5rem; }
.ax-blog .pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ax-blog .pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.6em; height: 2.6em; padding: 0 0.7em;
  font-family: var(--ax-font-body); font-size: var(--ax-fs-4); font-weight: 600;
  color: var(--ax-ink); background: var(--ax-white);
  border: 1px solid var(--ax-hairline); border-radius: var(--ax-radius);
  text-decoration: none; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ax-blog .pagination .page-numbers:hover { border-color: var(--ax-forward); color: var(--ax-forward); }
.ax-blog .pagination .page-numbers.current { background: var(--ax-action); border-color: var(--ax-action); color: var(--ax-white); }
.ax-blog__empty { font-family: var(--ax-font-body); font-size: var(--ax-fs-3); color: var(--ax-ink-soft); padding: 2rem 0; }

/* Responsive */
@media (max-width: 1024px) {
  .ax-blog__layout { grid-template-columns: 1fr; }
  .ax-blog__sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: 2.5rem; }
  .ax-blog__sidebar .ax-widget { flex: 1 1 240px; }
}
@media (max-width: 900px) {
  .ax-blog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .ax-blog__grid { grid-template-columns: 1fr; }
  .ax-blog__sidebar { flex-direction: column; }
}
