/* Aspirant pages: shared layout and the site's blue theme (see overrides at the end). */
.a3 { --ink:#0e1b3d; --mute:#4b5873; --rule:#cfdcf3; --wash:#f4f8ff; --pen:#d7263d; --hi:#ffe45e; --blue:#255bff; --hdr:76px;
      color: var(--ink); }
.a3 *, .a3 *::before, .a3 *::after { box-sizing: border-box; }
.a3-wrap { max-width: 1160px; margin: 0 auto; padding: 0 1.5rem; }
.a3-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .02em; }
.a3-eyebrow { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--pen); }
.a3 h2.a3-h2 { font-family: Sora, Inter, sans-serif; font-weight: 700; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.08; letter-spacing: -.02em; margin: .6rem 0 0; }
.a3-lede { color: var(--mute); font-size: 1.1rem; line-height: 1.65; max-width: 38rem; margin-top: 1rem; }
.a3-hl { background: linear-gradient(transparent 58%, var(--hi) 58%, var(--hi) 92%, transparent 92%); padding: 0 .12em; }
.a3-sec { padding: 5.5rem 0; scroll-margin-top: calc(var(--hdr) + 56px); }
.a3-btn { display: inline-flex; align-items: center; gap: .55rem; padding: .85rem 1.4rem; border-radius: .6rem; font-weight: 700; font-size: .95rem; text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; }
.a3-btn:hover { transform: translateY(-2px); }
.a3-btn--ink { background: var(--ink); color: #fff; box-shadow: 0 10px 24px -10px rgba(14,27,61,.6); }
.a3-btn--ink:hover { color: #fff; background: #17295c; }
.a3-btn--line { background: #fff; color: var(--ink); border: 1.5px solid var(--ink); }
.a3-btn--line:hover { color: var(--ink); background: var(--hi); }
.a3 :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: .4rem; }
.a3-hero { position: relative; overflow: hidden; background-color: #fff;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 35px, var(--rule) 35px, var(--rule) 36px);
  padding: calc(var(--hdr) + 3.5rem) 0 5rem; border-bottom: 1px solid var(--rule); }
.a3-hero::before { content: ''; position: absolute; top: 0; bottom: 0; left: clamp(14px, 6vw, 84px); width: 2px; background: var(--pen); opacity: .35; }
.a3-hero__cta { margin-top: 2rem; display: flex; gap: .8rem; flex-wrap: wrap; }
.a3-checks { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; gap: .7rem; }
.a3-checks li { display: flex; gap: .7rem; line-height: 1.5; }
.a3-checks li::before { content: '✓'; color: var(--pen); font-weight: 800; flex: none; }
.a3-paper { background: #fff; border: 1px solid var(--ink); border-radius: .5rem; padding: 1.4rem; box-shadow: 8px 8px 0 -1px var(--ink); }
.a3-dark { background: var(--ink); color: #fff; }
.a3-dark .a3-eyebrow { color: var(--hi); }
.a3-dark .a3-lede { color: #b8c4e0; }
.a3-end { background: var(--hi); border-block: 2px solid var(--ink); text-align: center; padding: 5rem 0; }
.a3-end h2 { font-family: Sora, Inter, sans-serif; font-weight: 800; font-size: clamp(2rem, 4.4vw, 3.4rem); letter-spacing: -.025em; line-height: 1.05; margin: 0 auto; max-width: 17ch; }
.a3-end p { margin: 1.2rem auto 0; max-width: 36rem; font-size: 1.1rem; line-height: 1.6; }
.a3-end .a3-hero__cta { justify-content: center; }

.a3-end .a3-hero__cta { justify-content: center; }
@media (max-width: 640px) { .a3-sec { padding: 3.6rem 0; } .a3-hero::before { display: none; } }
@media (prefers-reduced-motion: reduce) { .a3-btn:hover { transform: none; } }

/* ================= Site blue theme (Aspient azure) =================
   Retheme of the layout above to the site's own palette: azure primary, indigo-to-cyan
   gradient, soft card elevation, pill buttons. Selectors carry a `.a3` prefix so they win
   over both the rules above and each page's inline styles. */
.a3 { --ink:#0f172a; --mute:#475569; --rule:#dbe4f5; --wash:#f1f6ff; --pen:#255bff; --hi:#d9f2ff;
      --blue:#255bff; --grad:#255bff; --ok:#10a360; --bad:#dc2626;
      --lift:0 1px 2px rgba(11,18,32,.04), 0 14px 32px -22px rgba(11,18,32,.22); }

.a3 .a3-hl { background: none; color: var(--blue); padding: 0; }

/* Buttons: site pill + gradient */
.a3 .a3-btn { border-radius: .6rem; font-weight: 600; transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .3s cubic-bezier(.22,.8,.24,1), box-shadow .3s ease; }
.a3 .a3-btn--ink { background: var(--blue); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 1px 2px rgba(30,64,175,.35); }
.a3 .a3-btn--ink:hover { background: #1d4ed8; color: #fff; box-shadow: 0 8px 20px -8px rgba(29,78,216,.55); }
.a3 .a3-btn--line { background: #fff; color: var(--ink); border: 1.5px solid #cbd5e1; }
.a3 .a3-btn--line:hover { background: var(--wash); color: var(--blue); border-color: var(--blue); }

/* Hero: site aurora wash instead of ruled paper */
.a3 .a3-hero { border-bottom: 0; padding-top: calc(var(--hdr) + 4rem); }
.a3 .a3-hero p.sub { background: none; }

/* Cards and panels */
.a3 .a3-paper, .a3 .a3-panel, .a3 .a3-card, .a3 .a3-app { border: 1px solid var(--rule); border-radius: 1rem; box-shadow: var(--lift); }
.a3 .a3-sheet { border: 1px solid var(--rule); border-radius: 1rem; box-shadow: 0 30px 60px -24px rgba(37,91,255,.4); }
.a3 .a3-sheet__top { border-bottom-color: var(--blue); }
.a3 .a3-sheet tr.total td { border-top-color: var(--blue); }
.a3 .a3-card i.ic, .a3 .a3-pill i { background: var(--grad); color: #fff; border-radius: .8rem; }
.a3 .a3-tpl div, .a3 .a3-pill div, .a3 .a3-bc__chan div { border-color: var(--rule); border-radius: .75rem; }
.a3 .a3-bc__chan div:first-child { background: var(--grad); border-color: transparent; color: #fff; }
.a3 .a3-bc__from i { background: var(--grad); }
.a3 .a3-bc__to i { background: var(--hi); color: var(--blue); }
.a3 .a3-push { background: var(--ink); }
.a3 .a3-push i { background: var(--grad); color: #fff; }
.a3 .a3-stamp { border-color: var(--ok); color: var(--ok); border-radius: .5rem; }
.a3 .a3-pay__bar { border-bottom-color: var(--rule); }
.a3 .a3-pay__due { color: var(--bad); border-color: var(--bad); }
.a3 .a3-pay__btn { background: var(--grad); border-radius: 9999px; }
.a3 .a3-methods span { border-color: var(--rule); background: var(--wash); }
.a3 .a3-day__dot { border-color: var(--blue); }
.a3 .a3-ledger__grp { border-top: 2px solid var(--blue); }
.a3 .a3-ledger__item { border-bottom-color: #cbd5e1; }
.a3 .a3-tabs button { border-color: var(--rule); }
.a3 .a3-tabs button[aria-selected="true"] { background: var(--grad); color: #fff; border-color: transparent; }
.a3 .a3-subnav a.is-on { background: var(--grad); }
.a3 .a3-ba > div { border-radius: .9rem; }
.a3 .a3-ba .after { background: #1e3a8a; }
.a3 .a3-ba .after h4 { color: #bed4ff; }
.a3 .a3-status { background: var(--hi); border-color: var(--rule); color: var(--blue); border-radius: 9999px; padding: .2rem .7rem; }
.a3 .a3-dl { border-color: var(--rule); border-radius: .75rem; }
.a3 .a3-dl:hover { background: var(--wash); color: var(--blue); }

/* Security band: site brand-blue */
.a3 .a3-dark { background: rgb(8 13 26); }
.a3 .a3-dark .a3-eyebrow { color: #8eb2ff; }
.a3 .a3-dark .a3-lede, .a3 .a3-sec4 p { color: #d6e2ff; }
.a3 .a3-sec4 { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.18); border-radius: 1rem; overflow: hidden; }
.a3 .a3-sec4 > div { background: rgba(10,20,90,.55); }
.a3 .a3-sec4 i { color: #8eb2ff; }
.a3 .a3-badges span { border-color: rgba(255,255,255,.35); }

/* Closing band: site CTA gradient */
.a3 .a3-end { background: rgb(8 13 26); color: #fff; border-block: 0; padding: 6rem 0; position: relative; overflow: hidden; }
.a3 .a3-end::before { content: ""; position: absolute; width: 640px; height: 640px; left: 50%; top: -420px; margin-left: -320px; background: radial-gradient(circle, rgba(37,99,235,.35), transparent 65%); pointer-events: none; }
.a3 .a3-end > * { position: relative; }
.a3 .a3-end .a3-btn--ink { background: #fff; color: #0b1220; box-shadow: none; }
.a3 .a3-end .a3-btn--ink:hover { background: #eff5ff; color: #0b1220; box-shadow: none; }
.a3 .a3-end .a3-btn--line { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); }
.a3 .a3-end .a3-btn--line:hover { background: rgba(255,255,255,.15); color: #fff; border-color: #fff; }

/* ---- Minimal-enterprise pass (matches styles/site.css) ---- */
.a3 .a3-hero { background: #fff; background-image: none; isolation: isolate; }
.a3 .a3-hero::before {
  content: ""; position: absolute; inset: 0; left: 0; width: auto; opacity: .8; z-index: -1; pointer-events: none;
  background: none;
  background-image: linear-gradient(rgb(229 231 236 / .55) 1px, transparent 1px), linear-gradient(90deg, rgb(229 231 236 / .55) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 72% 20%, #000 0%, transparent 72%); mask-image: radial-gradient(ellipse 70% 80% at 72% 20%, #000 0%, transparent 72%);
}
.a3 .a3-end h2, .a3 .a3-end p { color: #fff; }
.a3 .a3-end p { color: rgba(255,255,255,.7); }
.a3 .a3-eyebrow { color: var(--blue); }
.a3 .a3-paper, .a3 .a3-panel, .a3 .a3-card, .a3 .a3-app { border-color: #e5e7ec; box-shadow: none; transition: border-color .3s ease, box-shadow .45s cubic-bezier(.22,.8,.24,1), transform .45s cubic-bezier(.22,.8,.24,1); }
.a3 .a3-paper:hover, .a3 .a3-card:hover { border-color: rgba(37,99,235,.35); box-shadow: 0 18px 40px -22px rgba(11,18,32,.22); transform: translateY(-3px); }
.a3 h1, .a3 h2, .a3 h3 { font-weight: 600; }
