﻿/* ==========================================================================
   Apexphin landing - header, hero, sections, footer, inner pages
   ========================================================================== */

/* ---------- Header ---------- */
.ax-header { position: sticky; top: 0; z-index: 1000; background: rgba(246, 247, 249, .86); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid transparent; transition: border-color var(--ax-dur), background-color var(--ax-dur), box-shadow var(--ax-dur); }
.ax-header.is-scrolled { background: rgba(255, 255, 255, .92); border-bottom-color: var(--ax-line); box-shadow: 0 4px 18px rgba(11, 22, 38, .04); }
.ax-header__inner { display: flex; align-items: center; gap: var(--ax-5); min-height: var(--ax-header-h); }
.ax-brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; color: var(--ax-text) !important; font-family: var(--ax-font-head); font-weight: 700; font-size: 1.25rem; letter-spacing: -0.02em; line-height: 1; }
.ax-brand img { height: 34px; width: auto; }
.ax-brand__mark { width: 34px; height: 34px; flex-shrink: 0; }
.ax-brand__name { white-space: nowrap; max-width: 14ch; overflow: hidden; text-overflow: ellipsis; }
.ax-nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.ax-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ax-nav__link { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: var(--ax-pill); color: var(--ax-muted) !important; font-size: var(--ax-fs-sm); font-weight: 500; white-space: nowrap; transition: color var(--ax-dur), background-color var(--ax-dur); }
.ax-nav__link:hover { color: var(--ax-text) !important; background: rgba(11, 22, 38, .04); }
.ax-nav__link.is-active { color: var(--ax-text) !important; background: var(--ax-surface); box-shadow: var(--ax-sh-1); }
.ax-nav__mobile-actions { display: none; }
.ax-header__actions { display: flex; align-items: center; gap: var(--ax-2); flex-shrink: 0; }
.ax-header__login { padding: 8px 14px; border-radius: var(--ax-pill); color: var(--ax-text) !important; font-size: var(--ax-fs-sm); font-weight: 600; }
.ax-header__login:hover { background: rgba(11, 22, 38, .05); }
.ax-nav-toggle { display: none; position: relative; width: 44px; height: 44px; margin-left: auto; border: 1px solid var(--ax-line); border-radius: 50%; background: var(--ax-surface); cursor: pointer; flex-shrink: 0; }
.ax-nav-toggle span, .ax-nav-toggle span::before, .ax-nav-toggle span::after { position: absolute; left: 50%; width: 18px; height: 1.6px; margin-left: -9px; background: var(--ax-text); border-radius: 2px; transition: transform var(--ax-dur) var(--ax-ease), top var(--ax-dur) var(--ax-ease), opacity var(--ax-dur); content: ''; }
.ax-nav-toggle span { top: 50%; margin-top: -.8px; }
.ax-nav-toggle span::before { top: -6px; left: 0; margin-left: 0; }
.ax-nav-toggle span::after { top: 6px; left: 0; margin-left: 0; }
.ax-header.is-open .ax-nav-toggle span { background: transparent; }
.ax-header.is-open .ax-nav-toggle span::before { top: 0; transform: rotate(45deg); background: var(--ax-text); }
.ax-header.is-open .ax-nav-toggle span::after { top: 0; transform: rotate(-45deg); background: var(--ax-text); }

@media (max-width: 1120px) {
  .ax-header, .ax-header.is-scrolled { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(255, 255, 255, .97); }
  .ax-nav-toggle { display: inline-block; }
  .ax-header__actions { margin-left: auto; }
  .ax-header__actions + .ax-nav-toggle { margin-left: 0; }
  .ax-nav {
    position: fixed; left: 0; right: 0; top: var(--ax-header-h); bottom: 0; z-index: 999;
    display: block; padding: var(--ax-4) var(--ax-gutter) var(--ax-8);
    background: var(--ax-surface); border-top: 1px solid var(--ax-line);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s var(--ax-ease), transform .2s var(--ax-ease), visibility .2s;
  }
  .ax-header.is-open .ax-nav { opacity: 1; visibility: visible; transform: none; }
  .ax-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .ax-nav__list li { border-bottom: 1px solid var(--ax-line); }
  .ax-nav__link { display: flex; padding: 16px 4px; border-radius: 0; font-size: var(--ax-fs-lg); font-family: var(--ax-font-head); font-weight: 600; color: var(--ax-text) !important; }
  .ax-nav__link:hover, .ax-nav__link.is-active { background: none; box-shadow: none; color: var(--ax-primary) !important; }
  .ax-nav__mobile-actions { display: grid; gap: var(--ax-3); margin-top: var(--ax-6); }
  body.ax-nav-open { overflow: hidden; }
}
@media (max-width: 600px) {
  .ax-header__actions { display: none; }
  .ax-nav-toggle, .ax-header__actions + .ax-nav-toggle { margin-left: auto; }
  .ax-brand img { height: 32px; }
}

/* ---------- Hero ---------- */
.ax-hero { position: relative; padding: var(--ax-10) 0 var(--ax-9); overflow: hidden; }
.ax-hero::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 520px; z-index: -1; pointer-events: none; background: radial-gradient(60% 70% at 85% 0%, rgba(var(--ax-primary-rgb), .07), transparent 70%), radial-gradient(40% 60% at 5% 10%, rgba(217, 194, 154, .16), transparent 70%); }
.ax-hero__top { display: grid; grid-template-columns: 1.25fr .75fr; gap: var(--ax-6) var(--ax-9); align-items: end; margin-bottom: var(--ax-8); }
.ax-hero__title { margin: 0; font-size: clamp(2.5rem, 1.4rem + 4.4vw, 4.75rem); line-height: 1.02; letter-spacing: -0.04em; max-width: 14ch; }
.ax-hero__title .ax-thin { display: block; }
.ax-hero__side .ax-lead { margin-bottom: var(--ax-6); }
.ax-hero__visual { position: relative; }
.ax-hero__media { position: relative; border-radius: var(--ax-r-xl); overflow: hidden; aspect-ratio: 16 / 7.2; background: var(--ax-ink); box-shadow: var(--ax-sh-3); }
.ax-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.ax-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 22, 38, 0) 55%, rgba(11, 22, 38, .45) 100%); pointer-events: none; }
.ax-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: var(--ax-r); background: rgba(255, 255, 255, .94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: var(--ax-sh-3); color: var(--ax-text); max-width: calc(100% - 32px); }
.ax-float__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ax-primary-tint); color: var(--ax-primary); flex-shrink: 0; }
.ax-float__icon .ax-icon { width: 20px; height: 20px; }
.ax-float__label { display: block; font-size: var(--ax-fs-xs); color: var(--ax-muted); font-weight: 500; }
.ax-float__value { display: block; font-family: var(--ax-font-head); font-size: var(--ax-fs-md); font-weight: 700; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.ax-float--a { left: 24px; bottom: 24px; }
.ax-float--b { right: 24px; top: 24px; }
.ax-float--dark { background: rgba(11, 22, 38, .82); color: #fff; }
.ax-float--dark .ax-float__label { color: var(--ax-on-dark-muted); }
.ax-float--dark .ax-float__icon { background: rgba(217, 194, 154, .16); color: var(--ax-accent); }

/* Trust strip */
.ax-trust { margin-top: var(--ax-6); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--ax-surface); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); }
.ax-trust__item { display: flex; align-items: center; gap: 12px; padding: 18px 20px; min-width: 0; }
.ax-trust__item + .ax-trust__item { border-left: 1px solid var(--ax-line); }
.ax-trust__icon { display: inline-flex; color: var(--ax-primary); flex-shrink: 0; }
.ax-trust__icon .ax-icon { width: 22px; height: 22px; }
.ax-trust__text { font-size: var(--ax-fs-sm); line-height: 1.35; color: var(--ax-muted); }
.ax-trust__text strong { display: block; color: var(--ax-text); font-weight: 600; }

/* ---------- Value cards ---------- */
.ax-value { padding: var(--ax-6); border-radius: var(--ax-r); background: var(--ax-canvas); border: 1px solid var(--ax-line); height: 100%; }
.ax-value__num { display: block; margin-bottom: var(--ax-6); font-family: var(--ax-font-head); font-size: var(--ax-fs-sm); font-weight: 600; color: var(--ax-accent-strong); letter-spacing: .06em; }
.ax-value h3 { font-size: var(--ax-fs-xl); margin-bottom: var(--ax-3); }
.ax-value p { color: var(--ax-muted); font-size: var(--ax-fs-sm); }

/* ---------- Plans ---------- */
.ax-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--ax-5); }
.ax-plans--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 420px)); justify-content: center; }
.ax-plan { position: relative; display: flex; flex-direction: column; padding: var(--ax-6); background: var(--ax-surface); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); box-shadow: var(--ax-sh-1); transition: transform var(--ax-dur) var(--ax-ease), box-shadow var(--ax-dur) var(--ax-ease); min-width: 0; }
.ax-plan:hover { transform: translateY(-3px); box-shadow: var(--ax-sh-3); }
.ax-plan.is-featured { border-color: rgba(var(--ax-primary-rgb), .35); box-shadow: 0 0 0 1px rgba(var(--ax-primary-rgb), .12), var(--ax-sh-2); }
.ax-plan__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: var(--ax-5); }
.ax-plan__name { margin: 0; font-size: var(--ax-fs-xl); }
.ax-plan__rate { padding: var(--ax-5) 0; margin-bottom: var(--ax-4); border-top: 1px solid var(--ax-line); border-bottom: 1px solid var(--ax-line); }
.ax-plan__rate-value { display: block; font-family: var(--ax-font-head); font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--ax-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ax-plan__rate-label { display: block; margin-top: 8px; font-size: var(--ax-fs-sm); color: var(--ax-muted); }
.ax-plan .ax-dl { margin-bottom: var(--ax-5); }
.ax-plan__flags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--ax-5); }
.ax-plan .ax-btn { margin-top: auto; }
.ax-plans-note { margin-top: var(--ax-5); font-size: var(--ax-fs-xs); color: var(--ax-muted); display: flex; gap: 8px; align-items: flex-start; }
.ax-plans-note .ax-icon { width: 16px; height: 16px; margin-top: 1px; }

/* ---------- Steps (dark) ---------- */
.ax-steps-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: var(--ax-9); align-items: center; }
.ax-steps-media { border-radius: var(--ax-r-lg); overflow: hidden; aspect-ratio: 3 / 2; align-self: center; background: var(--ax-ink-2); }
.ax-steps-media img { width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; }
.ax-steps { list-style: none; margin: var(--ax-7) 0 0; padding: 0; counter-reset: none; }
.ax-step { display: grid; grid-template-columns: 88px 1fr; gap: var(--ax-5); padding: var(--ax-6) 0; border-top: 1px solid var(--ax-on-dark-line); }
.ax-step:last-child { border-bottom: 1px solid var(--ax-on-dark-line); }
.ax-step__num { font-family: var(--ax-font-head); font-size: 3rem; font-weight: 300; line-height: 1; letter-spacing: -0.04em; color: var(--ax-accent); font-variant-numeric: tabular-nums; }
.ax-step h3 { font-size: var(--ax-fs-xl); margin-bottom: 6px; }
.ax-step p { color: var(--ax-on-dark-muted); font-size: var(--ax-fs-sm); max-width: 52ch; }

/* ---------- Illustrative chart ---------- */
.ax-chart-card { background: var(--ax-surface); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); padding: var(--ax-6); box-shadow: var(--ax-sh-2); min-width: 0; }
.ax-chart-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: var(--ax-5); }
.ax-chart-card__title { margin: 0; font-size: var(--ax-fs-lg); }
.ax-chart { width: 100%; height: auto; display: block; }
.ax-chart .ax-chart__grid line { stroke: var(--ax-line); stroke-width: 1; }
.ax-chart__line { fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ax-js .ax-chart__line { stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 2.2s var(--ax-ease); }
.ax-js .is-in .ax-chart__line { stroke-dashoffset: 0; }
.ax-legend { display: flex; flex-wrap: wrap; gap: var(--ax-4); margin-top: var(--ax-4); list-style: none; padding: 0; font-size: var(--ax-fs-xs); color: var(--ax-muted); }
.ax-legend li { display: inline-flex; align-items: center; gap: 8px; }
.ax-legend i { width: 18px; height: 3px; border-radius: 2px; display: inline-block; }
.ax-chart-note { margin-top: var(--ax-4); padding-top: var(--ax-4); border-top: 1px solid var(--ax-line); font-size: var(--ax-fs-xs); color: var(--ax-muted); }

/* ---------- Feature cards ---------- */
.ax-feature h3 { font-size: var(--ax-fs-lg); margin-bottom: 8px; }
.ax-feature p { color: var(--ax-muted); font-size: var(--ax-fs-sm); }

/* ---------- Media + copy blocks ---------- */
.ax-media-block { position: relative; }
.ax-media-block .ax-media { aspect-ratio: 4 / 3; box-shadow: var(--ax-sh-3); }
.ax-media-block__tag { position: absolute; left: 20px; bottom: 20px; }
.ax-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ax-5); margin-top: var(--ax-7); }
.ax-mini { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
.ax-mini__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--ax-r-sm); background: rgba(217, 194, 154, .12); color: var(--ax-accent); flex-shrink: 0; }
.ax-mini__icon .ax-icon { width: 20px; height: 20px; }
.ax-mini h4 { font-size: var(--ax-fs-md); margin: 0 0 4px; letter-spacing: -0.01em; }
.ax-mini p { font-size: var(--ax-fs-sm); color: var(--ax-on-dark-muted); margin: 0; }
.ax-section--white .ax-mini__icon, .ax-section--canvas .ax-mini__icon { background: var(--ax-primary-tint); color: var(--ax-primary); }
.ax-section--white .ax-mini p, .ax-section--canvas .ax-mini p { color: var(--ax-muted); }

/* ---------- Principles ---------- */
.ax-principle { position: relative; display: flex; flex-direction: column; height: 100%; padding: var(--ax-7) var(--ax-6) var(--ax-6); background: var(--ax-surface); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); }
.ax-principle__mark { font-family: Georgia, 'Times New Roman', serif; font-size: 4rem; line-height: .6; color: var(--ax-accent); height: 28px; margin-bottom: var(--ax-4); }
.ax-principle blockquote { margin: 0 0 var(--ax-6); font-family: var(--ax-font-head); font-size: var(--ax-fs-xl); font-weight: 500; line-height: 1.4; letter-spacing: -0.015em; color: var(--ax-text); }
.ax-principle__foot { margin-top: auto; padding-top: var(--ax-4); border-top: 1px solid var(--ax-line); font-size: var(--ax-fs-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ax-muted); }

/* ---------- FAQ layout ---------- */
.ax-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--ax-9); align-items: start; }
.ax-faq__aside { position: sticky; top: calc(var(--ax-header-h) + 24px); }

/* ---------- CTA band ---------- */
.ax-cta { position: relative; overflow: hidden; border-radius: var(--ax-r-xl); padding: var(--ax-10) var(--ax-9); background: var(--ax-ink); color: var(--ax-on-dark-muted); isolation: isolate; }
.ax-cta::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 80% at 100% 0%, rgba(217, 194, 154, .22), transparent 70%), radial-gradient(40% 70% at 0% 100%, rgba(var(--ax-primary-rgb), .28), transparent 70%); }
.ax-cta::after { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .5; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg, transparent, #000 60%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); }
.ax-cta h2 { color: #fff; max-width: 18ch; }
.ax-cta .ax-lead { color: var(--ax-on-dark-muted); }
.ax-cta__grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: var(--ax-6); align-items: end; }
.ax-cta__actions { display: flex; flex-wrap: wrap; gap: var(--ax-3); justify-content: flex-end; }

/* ---------- Page hero (inner pages) ---------- */
.ax-page-hero { position: relative; padding: var(--ax-9) 0 var(--ax-9); overflow: hidden; border-bottom: 1px solid var(--ax-line); }
.ax-page-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(11, 22, 38, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 22, 38, .035) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(70% 90% at 80% 20%, #000, transparent 75%); -webkit-mask-image: radial-gradient(70% 90% at 80% 20%, #000, transparent 75%); }
.ax-page-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--ax-9); align-items: center; }
.ax-page-hero__grid--solo { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.ax-page-hero h1 { font-size: clamp(2.25rem, 1.4rem + 3.2vw, 3.75rem); max-width: 16ch; margin-bottom: var(--ax-5); }
.ax-page-hero h1 .ax-thin { display: block; }
.ax-page-hero .ax-media { aspect-ratio: 3 / 2; box-shadow: var(--ax-sh-3); }
.ax-page-hero__meta { display: flex; flex-wrap: wrap; gap: var(--ax-2); margin-top: var(--ax-6); }

/* Editorial rows */
.ax-rows { display: grid; gap: 0; border-top: 1px solid var(--ax-line); }
.ax-row { display: grid; grid-template-columns: 80px .9fr 1.1fr; gap: var(--ax-6); padding: var(--ax-7) 0; border-bottom: 1px solid var(--ax-line); align-items: start; }
.ax-row__num { font-family: var(--ax-font-head); font-weight: 300; font-size: 2rem; color: var(--ax-accent-strong); line-height: 1; font-variant-numeric: tabular-nums; }
.ax-row h3 { font-size: var(--ax-fs-xl); margin: 0; }
.ax-row p { color: var(--ax-muted); margin: 0; }

/* Contact */
.ax-contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--ax-6); align-items: start; }
.ax-contact-card { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.ax-contact-card strong { display: block; color: var(--ax-text); font-weight: 600; overflow-wrap: anywhere; }
.ax-contact-card span.ax-xs { display: block; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; color: var(--ax-muted); margin-bottom: 4px; }
.ax-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ax-4); }
.ax-form-grid .ax-col-full { grid-column: 1 / -1; }

/* ---------- Footer ---------- */
.ax-footer { background: var(--ax-ink); color: var(--ax-on-dark-muted); padding: var(--ax-10) 0 var(--ax-6); font-size: var(--ax-fs-sm); }
.ax-footer a { color: var(--ax-on-dark-muted); }
.ax-footer a:hover { color: #fff; }
.ax-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: var(--ax-7); }
.ax-footer .ax-brand { color: #fff !important; margin-bottom: var(--ax-5); }
.ax-footer__desc { max-width: 38ch; color: var(--ax-on-dark-muted); }
.ax-footer__title { margin: 0 0 var(--ax-4); font-family: var(--ax-font-body); font-size: var(--ax-fs-xs); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ax-accent); }
.ax-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ax-footer__links a { overflow-wrap: anywhere; }
.ax-footer__social { display: flex; gap: 8px; margin-top: var(--ax-5); flex-wrap: wrap; }
.ax-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ax-on-dark-line); }
.ax-footer__risk { margin-top: var(--ax-8); padding: var(--ax-5); border: 1px solid var(--ax-on-dark-line); border-radius: var(--ax-r); font-size: var(--ax-fs-xs); line-height: 1.6; color: var(--ax-on-dark-subtle); }
.ax-footer__risk strong { color: var(--ax-on-dark-muted); }
.ax-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--ax-3); margin-top: var(--ax-6); padding-top: var(--ax-5); border-top: 1px solid var(--ax-on-dark-line); font-size: var(--ax-fs-xs); color: var(--ax-on-dark-subtle); overflow: visible; }
.ax-footer__bottom ul { display: flex; flex-wrap: wrap; gap: var(--ax-4); list-style: none; margin: 0; padding: 0; }
.gtranslate_wrapper { position: relative; z-index: 900; }
/* Language switcher: inline in the footer bar instead of a floating badge.
   Override float.js inline max-width (~1px when parent ≈ switcher width). */
.ax-footer__lang { position: relative; display: inline-flex; align-items: center; gap: 6px; color: var(--ax-on-dark-muted); overflow: visible; z-index: 40; }
.ax-footer__lang-icon { display: inline-flex; }
.ax-footer__lang .gtranslate_wrapper,
.ax-footer__lang #gt_float_wrapper { overflow: visible !important; }
.ax-footer__lang .gt_float_switcher { position: relative; font-family: var(--ax-font-body) !important; font-size: 12px !important; background: transparent !important; box-shadow: none !important; border: 1px solid var(--ax-on-dark-line); border-radius: var(--ax-pill) !important; overflow: visible !important; }
.ax-footer__lang .gt_float_switcher .gt-selected { background: transparent !important; border-radius: var(--ax-pill); overflow: visible !important; }
.ax-footer__lang .gt_float_switcher .gt-selected .gt-current-lang { padding: 5px 10px !important; color: var(--ax-on-dark) !important; font-weight: 600 !important; }
.ax-footer__lang .gt_float_switcher img { width: 16px !important; height: 16px !important; }
.ax-footer__lang .gt_float_switcher .gt_options { position: absolute !important; left: 0; right: auto !important; bottom: calc(100% + 8px); top: auto !important; z-index: 50; width: 220px !important; max-width: min(280px, calc(100vw - 32px)) !important; background: var(--ax-surface); border: 1px solid var(--ax-line); border-radius: var(--ax-r); box-shadow: var(--ax-sh-3); transform: none !important; }
.ax-footer__lang .gt_float_switcher .gt_options:not(.gt-open) { box-shadow: none; border-width: 0; opacity: 0 !important; pointer-events: none; }
.ax-footer__lang .gt_float_switcher .gt_options.gt-open { opacity: 1 !important; transform: none !important; pointer-events: auto; }
.ax-footer__lang .gt_float_switcher .gt_options a { color: var(--ax-text) !important; }
.ax-footer__lang .gt_float_switcher .gt_options a:hover { background: var(--ax-surface-2) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ax-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ax-footer__brand { grid-column: 1 / -1; }
  .ax-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ax-trust__item:nth-child(3) { border-left: 0; }
  .ax-trust__item:nth-child(n+3) { border-top: 1px solid var(--ax-line); }
  .ax-cta { padding: var(--ax-9) var(--ax-7); }
}
@media (max-width: 860px) {
  .ax-hero { padding: var(--ax-8) 0 var(--ax-8); }
  .ax-hero__top, .ax-steps-wrap, .ax-faq, .ax-cta__grid, .ax-page-hero__grid, .ax-contact-grid { grid-template-columns: minmax(0, 1fr); }
  .ax-hero__top { gap: var(--ax-5); margin-bottom: var(--ax-6); }
  .ax-hero__media { aspect-ratio: 4 / 3; border-radius: var(--ax-r-lg); }
  .ax-float--b { display: none; }
  .ax-steps-media { aspect-ratio: 16 / 10; }
  .ax-faq__aside { position: static; }
  .ax-cta__actions { justify-content: flex-start; }
  .ax-page-hero { padding: var(--ax-8) 0; }
  .ax-row { grid-template-columns: 56px minmax(0, 1fr); }
  .ax-row p { grid-column: 2; }
}
@media (max-width: 600px) {
  .ax-trust { grid-template-columns: minmax(0, 1fr); }
  .ax-trust__item + .ax-trust__item { border-left: 0; border-top: 1px solid var(--ax-line); }
  .ax-float { left: 12px; right: 12px; bottom: 12px; padding: 10px 14px; }
  .ax-float--a { left: 12px; bottom: 12px; }
  .ax-step { grid-template-columns: 56px minmax(0, 1fr); gap: var(--ax-4); }
  .ax-step__num { font-size: 2.25rem; }
  .ax-mini-grid { grid-template-columns: minmax(0, 1fr); }
  .ax-cta { padding: var(--ax-8) var(--ax-5); border-radius: var(--ax-r-lg); }
  .ax-cta__actions .ax-btn { flex: 1 1 100%; }
  .ax-hero .ax-btn-row .ax-btn { flex: 1 1 100%; }
  .ax-footer { padding-top: var(--ax-9); }
  .ax-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ax-6); }
  .ax-form-grid { grid-template-columns: minmax(0, 1fr); }
  .ax-plan, .ax-principle, .ax-chart-card { padding: var(--ax-5); }
}
@media (max-width: 380px) {
  .ax-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .ax-brand { font-size: 1.125rem; }
}

/* ---- Photo hero (Apexphin AI imagery): headline over the dark left side of the image ---- */
.ax-hero--photo { padding: 0 0 var(--ax-9); }
.ax-hero--photo::before { display: none; }
.ax-hero__band { position: relative; isolation: isolate; overflow: hidden; background: var(--ax-ink); color: #fff; min-height: clamp(560px, 74vh, 720px); display: flex; align-items: center; }
.ax-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 72% 55%; }
.ax-hero__band::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(11, 22, 38, .94) 0%, rgba(11, 22, 38, .86) 32%, rgba(11, 22, 38, .45) 58%, rgba(11, 22, 38, .08) 80%),
    linear-gradient(180deg, rgba(11, 22, 38, .35) 0%, rgba(11, 22, 38, 0) 30%, rgba(11, 22, 38, 0) 70%, rgba(11, 22, 38, .55) 100%); }
.ax-hero__inner { position: relative; width: 100%; padding-top: var(--ax-10); padding-bottom: calc(var(--ax-10) + 24px); }
.ax-hero__copy { max-width: 700px; }
.ax-hero--photo .ax-hero__title { max-width: none; }
.ax-hero--photo .ax-hero__title { color: #fff; margin: 0 0 var(--ax-5); text-shadow: 0 1px 24px rgba(11, 22, 38, .35); }
.ax-hero--photo .ax-hero__title .ax-thin { color: rgba(255, 255, 255, .92); }
.ax-hero__lead { color: rgba(234, 240, 253, .88); max-width: 52ch; margin-bottom: var(--ax-6); }
.ax-hero__chips { position: absolute; right: var(--ax-gutter, 24px); bottom: calc(var(--ax-8) + 24px); display: grid; gap: 12px; justify-items: end; }
.ax-float--static { position: static; max-width: none; }
.ax-float--dark.ax-float--static { background: rgba(11, 22, 38, .72); border: 1px solid rgba(255, 255, 255, .1); }
.ax-trust--lift { position: relative; z-index: 2; margin-top: -40px; box-shadow: var(--ax-sh-2); }
/* Hero background video: sits over the static poster (.ax-hero__bg) and under the navy overlay (::before) */
.ax-hero__video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 72% 55%; pointer-events: none; }
.ax-js .ax-hero__video { opacity: 0; transition: opacity .9s ease; }
.ax-js .ax-hero__video.is-playing { opacity: 1; }
.ax-hero__video.is-static { display: none; }
@media (prefers-reduced-motion: reduce) {
  .ax-hero__video { display: none; }
}
@media (max-width: 1024px) {
  .ax-hero__chips { display: none; }
}
@media (max-width: 860px) {
  .ax-hero__band { min-height: 0; }
  .ax-hero__bg, .ax-hero__video { object-position: 84% 50%; }
  .ax-hero__band::before { background: linear-gradient(180deg, rgba(11, 22, 38, .55) 0%, rgba(11, 22, 38, .74) 45%, rgba(11, 22, 38, .9) 100%); }
  .ax-hero__inner { padding-top: var(--ax-8); padding-bottom: calc(var(--ax-8) + 40px); }
}

/* ---- Offer (descriptive investment areas) + members-only access panel ---- */
.ax-offer .ax-icon-tile { margin-bottom: var(--ax-4); }
.ax-offer-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ax-4) var(--ax-6); margin-top: var(--ax-7); padding-top: var(--ax-6); border-top: 1px solid var(--ax-line); }
.ax-offer-cta .ax-plans-note { margin: 0; }
.ax-access { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: var(--ax-6) var(--ax-8); align-items: center; padding: clamp(28px, 4vw, 56px); border-radius: var(--ax-r-xl); background: var(--ax-ink); color: var(--ax-on-dark-muted); }
.ax-access::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 120% at 100% 0%, rgba(var(--ax-primary-rgb), .28), transparent 60%), radial-gradient(50% 90% at 0% 100%, rgba(217, 194, 154, .14), transparent 70%); }
.ax-access__title { color: #fff; font-size: var(--ax-fs-h3); margin: var(--ax-3) 0 var(--ax-3); }
.ax-access__text { margin: 0; max-width: 60ch; color: var(--ax-on-dark-muted); }
.ax-access__actions { display: flex; flex-direction: column; gap: 12px; min-width: 240px; }
.ax-access__actions .ax-btn { justify-content: center; }
@media (max-width: 860px) {
  .ax-access { grid-template-columns: minmax(0, 1fr); }
  .ax-access__actions { min-width: 0; }
  .ax-offer-cta .ax-btn-row, .ax-offer-cta .ax-btn-row .ax-btn { width: 100%; }
}

/* ---- Long-form content: legal pages, CMS pages, blog ---- */
.ax-section--legal { padding-top: var(--ax-9); }
.ax-legal { display: grid; grid-template-columns: 240px minmax(0, 72ch); gap: var(--ax-9); justify-content: center; align-items: start; }
.ax-legal:has(.ax-legal__toc[hidden]) { grid-template-columns: minmax(0, 72ch); }
.ax-legal__toc { position: sticky; top: 96px; padding: var(--ax-5); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); background: var(--ax-canvas); }
.ax-legal__toc[hidden] { display: none; }
.ax-legal__toc-title { margin: 0 0 var(--ax-3); font-size: var(--ax-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ax-muted); }
.ax-legal__toc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: var(--ax-fs-sm); line-height: 1.4; }
.ax-legal__toc-list a { color: var(--ax-text); text-decoration: none; }
.ax-legal__toc-list a:hover { color: var(--ax-primary); }
.ax-legal__toc-list .is-sub { padding-left: 12px; }
.ax-prose { max-width: 72ch; font-size: 1.0625rem; line-height: 1.75; color: #2A3646; overflow-wrap: anywhere; }
.ax-prose > :first-child { margin-top: 0; }
.ax-prose p { margin: 0 0 1.1em; }
.ax-prose h2, .ax-prose h3, .ax-prose h4 { font-family: var(--ax-font-head); color: var(--ax-text); letter-spacing: -0.02em; line-height: 1.25; scroll-margin-top: 96px; }
.ax-prose h2 { font-size: 1.625rem; margin: 2em 0 .6em; }
.ax-prose h3 { font-size: 1.3125rem; margin: 1.9em 0 .55em; padding-top: 1.1em; border-top: 1px solid var(--ax-line); }
.ax-prose h4 { font-size: 1.125rem; margin: 1.6em 0 .5em; }
.ax-prose ul, .ax-prose ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.ax-prose li { margin: .35em 0; padding-left: .2em; }
.ax-prose li::marker { color: var(--ax-primary); }
.ax-prose strong { color: var(--ax-text); font-weight: 600; }
.ax-prose a { color: var(--ax-primary); text-decoration: underline; text-underline-offset: 3px; }
.ax-prose img { border-radius: var(--ax-r); height: auto; }
.ax-prose blockquote { margin: 1.5em 0; padding: .2em 0 .2em 1.2em; border-left: 3px solid var(--ax-accent); color: var(--ax-muted); }
.ax-prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: var(--ax-fs-sm); display: block; overflow-x: auto; }
.ax-prose th, .ax-prose td { padding: 10px 12px; border-bottom: 1px solid var(--ax-line); text-align: left; }
.ax-prose hr { border: 0; border-top: 1px solid var(--ax-line); margin: 2em 0; }
.ax-post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.ax-post-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ax-canvas); }
.ax-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ax-post-card__body { padding: var(--ax-5) var(--ax-6) var(--ax-6); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ax-post-card__title { font-size: var(--ax-fs-xl); margin: 0; line-height: 1.3; letter-spacing: -0.01em; }
.ax-post-card__title a { color: var(--ax-text); text-decoration: none; }
.ax-post-card__title a:hover { color: var(--ax-primary); }
.ax-post-card .ax-link-arrow { margin-top: auto; }
.ax-pager { display: flex; align-items: center; justify-content: center; gap: var(--ax-4); margin-top: var(--ax-8); }
.ax-pager .is-disabled { opacity: .45; pointer-events: none; }
.ax-post { display: grid; grid-template-columns: minmax(0, 72ch) 300px; gap: var(--ax-9); justify-content: center; align-items: start; }
.ax-post__aside { position: sticky; top: 96px; padding: var(--ax-5); border: 1px solid var(--ax-line); border-radius: var(--ax-r-lg); background: var(--ax-canvas); }
.ax-post__recent { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ax-4); }
.ax-post__recent a { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; text-decoration: none; color: var(--ax-text); }
.ax-post__recent img { width: 72px; height: 56px; object-fit: cover; border-radius: 10px; }
.ax-post__recent strong { display: block; font-size: var(--ax-fs-sm); line-height: 1.35; }
.ax-badges-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--ax-4); margin: 0; }
.ax-badge-tile { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: var(--ax-6) var(--ax-4); }
.ax-badge-tile img { width: 56px; height: 56px; object-fit: contain; margin-bottom: 6px; }
.ax-steps--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ax-8); }
.ax-legacy { padding: var(--ax-8) 0; }
.ax-legacy img { max-width: 100%; height: auto; }
@media (max-width: 1024px) {
  .ax-legal, .ax-legal:has(.ax-legal__toc[hidden]) { grid-template-columns: minmax(0, 1fr); gap: var(--ax-6); }
  .ax-legal__toc { position: static; }
  .ax-post { grid-template-columns: minmax(0, 1fr); gap: var(--ax-7); }
  .ax-post__aside { position: static; }
}
@media (max-width: 760px) {
  .ax-steps--grid { grid-template-columns: minmax(0, 1fr); }
  .ax-prose { font-size: 1rem; }
}
