/* AscendurePro Career Tools — © 2026 Bonface Juma. Proprietary.
   Site shell, Pricing page and Homepage (v6.6). Everything is scoped to
   .aps / .aps-* so it never affects the theme. */

.aps, .aps-header, .aps-footer, .aps-main {
    --navy: #073087; --navy-2: #0b3fb0; --navy-50: #eef3ff; --purple: #7c3aed; --purple-50: #f4efff;
    --mint: #d1fae5; --mint-ink: #047857; --ink: #0b1220; --ink-2: #334155; --muted: #64748b; --faint: #94a3b8;
    --line: #e6eaf2; --bg: #f6f8fc; --r: 18px;
    --head: "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
    --body: "Merriweather Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-family: var(--body); color: var(--ink); -webkit-font-smoothing: antialiased; line-height: 1.6;
}
.aps *, .aps-header *, .aps-footer * { box-sizing: border-box; }
body.aps-body { margin: 0; background: #fff; }
.aps h1, .aps h2, .aps h3, .aps h4, .aps-footer h4 { font-family: var(--head); color: var(--ink); margin: 0; line-height: 1.12; letter-spacing: -.01em; }
.aps p { margin: 0; }
.aps a { color: var(--navy); }
.aps svg, .aps-header svg, .aps-footer svg { width: 18px; height: 18px; flex: none; }
.aps-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.aps-container--md { max-width: 980px; }
.aps-container--sm { max-width: 780px; }
.aps-center { text-align: center; }
.aps-muted { color: var(--muted); }
.aps-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.aps-grad { background: linear-gradient(100deg, var(--navy) 10%, var(--purple) 90%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.aps-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--purple); margin-bottom: 10px; }
.aps-lead { font-size: 17px; color: var(--ink-2); max-width: 640px; }

/* Buttons */
.aps-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border-radius: 12px; border: 1px solid transparent; font-family: var(--body); font-size: 14.5px; font-weight: 700; text-decoration: none !important; cursor: pointer; transition: transform .1s, box-shadow .15s, background .15s, border-color .15s; white-space: nowrap; line-height: 1.2; }
.aps-btn:active { transform: translateY(1px); }
.aps-btn--lg { padding: 14px 24px; font-size: 16px; border-radius: 14px; }
.aps-btn--block { display: flex; width: 100%; }
.aps-btn--primary { background: linear-gradient(135deg, var(--navy), #3b1d9a); color: #fff !important; box-shadow: 0 8px 24px rgba(7,48,135,.28); }
.aps-btn--primary:hover { box-shadow: 0 12px 30px rgba(7,48,135,.35); filter: brightness(1.06); }
.aps-btn--outline { background: #fff; color: var(--ink) !important; border-color: var(--line); }
.aps-btn--outline:hover { border-color: #c8d1e3; background: #fafbff; }
.aps-btn--ghost { background: var(--bg); color: var(--muted) !important; cursor: default; }
.aps-btn--light { background: #fff; color: var(--navy) !important; }
.aps-btn--glass { background: rgba(255,255,255,.1); color: #fff !important; border-color: rgba(255,255,255,.28); }
.aps-btn--glass:hover { background: rgba(255,255,255,.18); }
.aps-arrow { font-weight: 700; text-decoration: none; }

/* ── Header ── */
.aps-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.86); backdrop-filter: saturate(1.6) blur(14px); -webkit-backdrop-filter: saturate(1.6) blur(14px); border-bottom: 1px solid rgba(15,23,42,.06); }
body.admin-bar .aps-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .aps-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .aps-header { top: 0; } }
.aps-header-in { display: flex; align-items: center; gap: 24px; height: 68px; }
.aps-logo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--head); font-weight: 700; font-size: 20px; color: var(--ink) !important; text-decoration: none !important; }
.aps-logo-mark { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--navy), var(--purple)); box-shadow: 0 6px 18px rgba(124,58,237,.35); }
.aps-logo-mark svg { width: 18px; height: 18px; }
.aps-nav { display: flex; gap: 4px; margin-left: 8px; }
.aps-nav a { padding: 8px 12px; border-radius: 10px; color: var(--ink-2); text-decoration: none; font-size: 14.5px; font-weight: 600; }
.aps-nav a:hover, .aps-nav a[aria-current] { background: var(--bg); color: var(--ink); }
.aps-header-cta { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.aps-link { color: var(--ink-2) !important; text-decoration: none; font-weight: 700; font-size: 14.5px; }
.aps-burger { display: none; margin-left: auto; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; padding: 0; position: relative; }
.aps-burger span { position: absolute; left: 11px; right: 11px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s; }
.aps-burger span:first-child { top: 15px; } .aps-burger span:last-child { top: 24px; }
.aps-header.is-open .aps-burger span:first-child { transform: translateY(4.5px) rotate(45deg); }
.aps-header.is-open .aps-burger span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
@media (max-width: 900px) {
    .aps-burger { display: block; }
    .aps-header-in { flex-wrap: wrap; gap: 0 12px; height: auto; min-height: 64px; padding-top: 12px; padding-bottom: 12px; }
    .aps-nav, .aps-header-cta { display: none; width: 100%; }
    .aps-header.is-open .aps-nav { display: grid; margin: 12px 0 0; }
    .aps-header.is-open .aps-header-cta { display: flex; margin: 10px 0 4px; }
    .aps-header.is-open .aps-header-cta .aps-btn { flex: 1; }
}

/* ── Sections ── */
.aps-section { padding: 72px 0; }
.aps-section--tight { padding: 0 0 56px; }
.aps-section--alt { background: var(--bg); }
.aps-section-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.aps-section-head h2 { font-size: 32px; }
.aps-section-head p { color: var(--ink-2); margin-top: 12px; font-size: 16px; }
.aps-section-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; text-align: left; max-width: none; flex-wrap: wrap; }
@media (min-width: 900px) { .aps-section { padding: 96px 0; } .aps-section-head h2 { font-size: 40px; } }

/* ── Hero ── */
.aps-hero { position: relative; overflow: hidden; padding: 64px 0 48px; background: radial-gradient(900px 420px at 85% -10%, rgba(124,58,237,.13), transparent 60%), radial-gradient(700px 360px at 0% 10%, rgba(7,48,135,.08), transparent 60%), #fff; }
.aps-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(7,48,135,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(7,48,135,.05) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(ellipse at 50% 0%, #000 30%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 30%, transparent 70%); pointer-events: none; }
.aps-hero > * { position: relative; }
.aps-hero h1 { font-size: 40px; letter-spacing: -.02em; }
.aps-hero .aps-lead { margin-top: 18px; }
.aps-hero--center { text-align: center; }
.aps-hero--center .aps-lead { margin: 18px auto 0; }
@media (min-width: 900px) { .aps-hero { padding: 96px 0 64px; } .aps-hero h1 { font-size: 60px; } .aps-hero--home h1 { font-size: 62px; } }
.aps-hero-grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 1060px) { .aps-hero-grid { grid-template-columns: 1fr 1.08fr; } }
.aps-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px 6px 14px; border-radius: 999px; background: #fff; border: 1px solid #e4dcff; color: var(--purple) !important; font-size: 13px; font-weight: 700; text-decoration: none !important; margin-bottom: 22px; box-shadow: 0 4px 14px rgba(124,58,237,.12); }
.aps-badge svg { width: 16px; height: 16px; }
.aps-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.aps-hero-points { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--muted); font-size: 13.5px; }
.aps-hero-points li { display: flex; align-items: center; gap: 6px; }
.aps-hero-points svg { width: 16px; height: 16px; color: var(--mint-ink); }

/* Product mockup (CSS only) */
.aps-mock { position: relative; padding: 18px 10px 40px; }
.aps-mock-win { border-radius: 18px; background: #fff; box-shadow: 0 40px 90px rgba(7,30,90,.22), 0 0 0 1px rgba(15,23,42,.06); overflow: hidden; transform: perspective(1600px) rotateY(-6deg) rotateX(3deg); transform-origin: left center; }
@media (max-width: 1059px) { .aps-mock-win { transform: none; } }
.aps-mock-bar { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; background: #f3f5fa; border-bottom: 1px solid var(--line); }
.aps-mock-bar span { width: 10px; height: 10px; border-radius: 50%; background: #e2e8f0; }
.aps-mock-bar span:nth-child(1) { background: #fca5a5; } .aps-mock-bar span:nth-child(2) { background: #fcd34d; } .aps-mock-bar span:nth-child(3) { background: #86efac; }
.aps-mock-bar em { margin-left: 10px; font-style: normal; font-size: 11px; font-weight: 700; color: var(--muted); }
.aps-mock-body { display: grid; grid-template-columns: 54px 1fr 1.15fr; min-height: 330px; background: #f6f8fc; }
.aps-mock-side { background: #fff; border-right: 1px solid var(--line); padding: 12px 10px; display: grid; gap: 10px; align-content: start; }
.aps-mock-side b { height: 28px; border-radius: 9px; background: linear-gradient(135deg, var(--navy), var(--purple)); }
.aps-mock-side i { height: 10px; border-radius: 4px; background: #e5eaf3; }
.aps-mock-side i:nth-child(3) { background: #c7d4f5; }
.aps-mock-edit { padding: 14px; display: grid; gap: 10px; align-content: start; }
.aps-mock-pills { display: flex; gap: 5px; }
.aps-mock-pills i { height: 14px; flex: 1; border-radius: 6px; background: #e5eaf3; }
.aps-mock-pills i.on { background: var(--navy); }
.aps-mock-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px; display: grid; gap: 6px; }
.aps-mock-card strong { height: 9px; width: 55%; border-radius: 4px; background: #1e293b; opacity: .8; }
.aps-mock-card i, .aps-mock-paper i { display: block; height: 6px; border-radius: 3px; background: #e5eaf3; }
.aps-mock-card--ai { grid-template-columns: auto 1fr; align-items: center; background: linear-gradient(135deg, #f5f1ff, #eef3ff); border-color: #e4dcff; }
.aps-mock-card--ai span { color: var(--purple); font-size: 13px; }
.aps-mock-card--ai i { background: #d9cdfc; }
.aps-mock-paper { margin: 14px 14px 14px 0; background: #fff; border-radius: 6px; box-shadow: 0 8px 24px rgba(15,23,42,.1); padding: 18px 16px; display: grid; gap: 6px; align-content: start; }
.aps-mock-paper h5 { margin: 0 auto 2px; height: 11px; width: 52%; border-radius: 4px; background: #0f172a; }
.aps-mock-paper h6 { margin: 0 auto 6px; height: 6px; width: 34%; border-radius: 3px; background: #94a3b8; }
.aps-mock-paper i.rule { height: 2px; background: var(--navy); opacity: .7; margin-top: 4px; }
.aps-mock-paper i.b { background: #334155; height: 7px; }
.aps-float { position: absolute; display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border-radius: 16px; box-shadow: 0 18px 44px rgba(7,30,90,.18), 0 0 0 1px rgba(15,23,42,.05); animation: aps-float 6s ease-in-out infinite; }
.aps-float strong { display: block; font-size: 13px; color: var(--ink); }
.aps-float small { display: block; font-size: 11.5px; color: var(--muted); }
.aps-float--score { left: -4px; bottom: 6px; }
.aps-float--tailor { right: -4px; top: 0; animation-delay: -2s; }
.aps-float--ats { right: 18px; bottom: -6px; animation-delay: -4s; }
.aps-float--ats b { font-family: var(--head); font-size: 22px; color: var(--mint-ink); }
.aps-float-ring { --p: 0; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#10b981 calc(var(--p) * 1%), #e5eaf3 0); position: relative; }
.aps-float-ring::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #fff; }
.aps-float-ring b { position: relative; font-family: var(--head); font-size: 15px; }
.aps-float-ic { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--navy), var(--purple)); }
@keyframes aps-float { 50% { transform: translateY(-8px); } }
@media (max-width: 640px) { .aps-mock-body { grid-template-columns: 1fr 1fr; } .aps-mock-side { display: none; } .aps-float--tailor { top: -10px; } .aps-float { transform: scale(.88); } }
@media (prefers-reduced-motion: reduce) { .aps-float { animation: none; } }

/* Modules + features */
.aps-modules { display: grid; gap: 20px; }
@media (min-width: 900px) { .aps-modules { grid-template-columns: 1fr 1fr; } }
.aps-module { position: relative; overflow: hidden; padding: 30px; border-radius: 24px; background: linear-gradient(160deg, #f5f8ff, #fff 55%); border: 1px solid var(--line); }
.aps-module--alt { background: linear-gradient(160deg, #f7f3ff, #fff 55%); }
.aps-module h3 { font-size: 26px; margin: 16px 0 8px; }
.aps-module p { color: var(--ink-2); }
.aps-module ul, .aps-ticks { list-style: none; padding: 0; margin: 18px 0 22px; display: grid; gap: 10px; }
.aps-module li, .aps-ticks li { display: flex; gap: 10px; align-items: flex-start; color: var(--ink-2); font-size: 15px; }
.aps-module li svg, .aps-ticks li svg { width: 20px; height: 20px; color: var(--mint-ink); background: var(--mint); border-radius: 50%; padding: 4px; margin-top: 1px; }
.aps-module-ic, .aps-feature-ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--navy), var(--purple)); box-shadow: 0 8px 20px rgba(124,58,237,.28); }
.aps-module-ic svg, .aps-feature-ic svg { width: 22px; height: 22px; }
.aps-features { display: grid; gap: 16px; }
@media (min-width: 640px) { .aps-features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .aps-features { grid-template-columns: repeat(3, 1fr); } }
.aps-feature { padding: 24px; border-radius: 20px; background: #fff; border: 1px solid var(--line); transition: transform .2s, box-shadow .2s; }
.aps-feature:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(15,23,42,.08); }
.aps-feature-ic { width: 42px; height: 42px; border-radius: 12px; background: var(--navy-50); color: var(--navy); box-shadow: none; }
.aps-feature:nth-child(3n+2) .aps-feature-ic { background: var(--purple-50); color: var(--purple); }
.aps-feature:nth-child(3n) .aps-feature-ic { background: var(--mint); color: var(--mint-ink); }
.aps-feature h3 { font-size: 19px; margin: 16px 0 6px; }
.aps-feature p { color: var(--muted); font-size: 14.5px; }

/* Steps */
.aps-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; counter-reset: s; }
@media (min-width: 900px) { .aps-steps { grid-template-columns: repeat(3, 1fr); } }
.aps-steps li { position: relative; padding: 28px 24px; border-radius: 20px; border: 1px solid var(--line); background: #fff; }
.aps-steps li > span { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-family: var(--head); font-weight: 700; font-size: 18px; color: #fff; background: linear-gradient(135deg, var(--navy), var(--purple)); }
.aps-steps h3 { font-size: 20px; margin: 16px 0 6px; }
.aps-steps p { color: var(--muted); }

/* Jobs */
.aps-jobs { display: grid; gap: 12px; }
@media (min-width: 760px) { .aps-jobs { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .aps-jobs { grid-template-columns: repeat(3, 1fr); } }
.aps-job { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 16px; background: #fff; border: 1px solid var(--line); text-decoration: none !important; color: inherit !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
.aps-job:hover { border-color: #cbd5ea; box-shadow: 0 12px 30px rgba(15,23,42,.08); transform: translateY(-2px); }
.aps-job > div { flex: 1; min-width: 0; display: grid; }
.aps-job strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aps-job small { color: var(--muted); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.aps-job-logo { width: 46px; height: 46px; flex: none; border-radius: 12px; display: grid; place-items: center; background: var(--navy-50); color: var(--navy); font-family: var(--head); font-weight: 700; font-size: 19px; overflow: hidden; }
.aps-job-logo img { width: 100%; height: 100%; object-fit: cover; }
.aps-job-time { font-size: 12px; color: var(--faint); white-space: nowrap; }

/* Employers split */
.aps-split { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) { .aps-split { grid-template-columns: 1.1fr 1fr; } }
.aps-split h2 { font-size: 34px; margin-bottom: 14px; }
.aps-emp-card { padding: 24px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 30px 70px rgba(7,30,90,.12); display: grid; gap: 14px; }
.aps-emp-row { display: flex; gap: 12px; align-items: center; }
.aps-emp-row > span { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--navy-50); color: var(--navy); }
.aps-emp-row b { display: block; font-family: var(--head); font-size: 18px; }
.aps-emp-row small { color: var(--muted); }
.aps-emp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.aps-emp-steps i { height: 6px; border-radius: 3px; background: #e5eaf3; }
.aps-emp-steps i.on { background: linear-gradient(90deg, var(--navy), var(--purple)); }
.aps-emp-q { display: flex; justify-content: space-between; font-weight: 700; font-size: 14px; }
.aps-emp-q b { color: var(--mint-ink); }
.aps-emp-meter { height: 8px; border-radius: 4px; background: #e5eaf3; overflow: hidden; }
.aps-emp-meter i { display: block; height: 100%; background: #10b981; border-radius: inherit; }
.aps-emp-ai { padding: 12px 14px; border-radius: 12px; background: linear-gradient(135deg, #f5f1ff, #eef3ff); color: #4c1d95; font-size: 13.5px; }

/* ── Pricing ── */
.aps-toggle { display: inline-flex; gap: 4px; padding: 5px; margin-top: 30px; border-radius: 999px; background: #fff; border: 1px solid var(--line); box-shadow: 0 6px 20px rgba(15,23,42,.06); }
.aps-toggle button { display: inline-flex; align-items: center; gap: 8px; padding: 9px 20px; border: 0; border-radius: 999px; background: transparent; font-family: var(--body); font-size: 14px; font-weight: 700; color: var(--muted); cursor: pointer; }
.aps-toggle button.is-active { background: var(--ink); color: #fff; }
.aps-toggle button span { font-size: 11.5px; padding: 2px 8px; border-radius: 999px; background: var(--mint); color: var(--mint-ink); }
.aps-section-head .aps-toggle { margin-top: 22px; }
.aps-plans { display: grid; gap: 20px; align-items: stretch; }
@media (min-width: 760px) { .aps-plans--2, .aps-plans--3, .aps-plans--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1060px) { .aps-plans--3 { grid-template-columns: repeat(3, 1fr); } .aps-plans--4 { grid-template-columns: repeat(4, 1fr); } }
.aps-plan { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px 26px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(15,23,42,.05); }
.aps-plan.is-popular { border: 0; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(140deg, var(--navy), var(--purple)) border-box; border: 2px solid transparent; box-shadow: 0 30px 70px rgba(76,29,149,.18); }
@media (min-width: 1060px) { .aps-plan.is-popular { transform: translateY(-10px); } }
.aps-plan-tag { align-self: flex-start; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--bg); color: var(--muted); }
.aps-plan.is-popular .aps-plan-tag { background: linear-gradient(135deg, var(--navy), var(--purple)); color: #fff; }
.aps-plan h3 { font-size: 26px; }
.aps-plan-tagline { color: var(--muted); font-size: 14.5px; min-height: 3em; }
.aps-price { display: flex; align-items: baseline; gap: 6px; margin-top: 6px; }
.aps-price b { font-family: var(--head); font-size: 46px; line-height: 1; letter-spacing: -.02em; }
.aps-price em { font-style: normal; color: var(--muted); font-weight: 600; font-size: 15px; margin-left: 4px; }
.aps-price-note { font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.aps-plan-feats { list-style: none; padding: 18px 0 0; margin: 10px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; }
.aps-plan-feats li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: var(--ink-2); }
.aps-plan-feats svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--mint-ink); }
.aps-plan.is-popular .aps-plan-feats svg { color: var(--purple); }
.aps-trust { list-style: none; padding: 0; margin: 30px 0 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; color: var(--muted); font-size: 14px; font-weight: 600; }
.aps-trust li::before { content: "✓"; color: var(--mint-ink); margin-right: 7px; font-weight: 700; }
.aps-compare-wrap { overflow-x: auto; border-radius: 20px; border: 1px solid var(--line); background: #fff; -webkit-overflow-scrolling: touch; }
.aps-compare { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 14.5px; }
.aps-compare th, .aps-compare td { padding: 14px 18px; text-align: center; border-bottom: 1px solid #eef1f7; }
.aps-compare th[scope="row"] { text-align: left; font-weight: 600; color: var(--ink-2); }
.aps-compare thead th { position: sticky; top: 0; background: #fff; font-family: var(--head); font-size: 18px; color: var(--ink); padding-top: 20px; padding-bottom: 16px; }
.aps-compare thead th:nth-child(3) { color: var(--purple); }
.aps-compare tbody td:nth-child(3) { background: rgba(124,58,237,.035); }
.aps-compare-group th { text-align: left !important; background: var(--bg); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 10px 18px; }
.aps-compare td { color: var(--ink-2); }
.aps-yes { width: 20px !important; height: 20px !important; color: var(--mint-ink); vertical-align: middle; }
.aps-no { color: #cbd5e1; font-weight: 700; }
.aps-faq { display: grid; gap: 10px; }
.aps-faq details { border-radius: 16px; background: #fff; border: 1px solid var(--line); padding: 0 20px; transition: box-shadow .15s; }
.aps-faq details[open] { box-shadow: 0 12px 30px rgba(15,23,42,.06); }
.aps-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; font-weight: 700; font-size: 16px; color: var(--ink); }
.aps-faq summary::-webkit-details-marker { display: none; }
.aps-faq summary svg { color: var(--muted); transition: transform .2s; }
.aps-faq details[open] summary svg { transform: rotate(45deg); }
.aps-faq details p { padding: 0 0 18px; color: var(--ink-2); }
.aps-fine { font-size: 12.5px; color: var(--faint); text-align: center; padding-top: 24px; padding-bottom: 40px; }
.aps-fine a { color: var(--muted); }

/* CTA band */
.aps-cta { padding: 24px 0 72px; }
.aps-cta-in { position: relative; overflow: hidden; display: grid; gap: 24px; align-items: center; padding: 40px 30px; border-radius: 28px; color: #fff; background: radial-gradient(700px 300px at 100% 0%, rgba(167,139,250,.55), transparent 60%), linear-gradient(135deg, #051e5c, var(--navy) 55%, #3b1d9a); box-shadow: 0 30px 70px rgba(7,48,135,.25); }
.aps-cta-in h2 { color: #fff; font-size: 30px; }
.aps-cta-in p { color: rgba(255,255,255,.85); margin-top: 8px; font-size: 16px; }
.aps-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (min-width: 900px) { .aps-cta-in { grid-template-columns: 1fr auto; padding: 52px 56px; } .aps-cta-in h2 { font-size: 38px; } }

/* ── Footer ── */
.aps-footer { background: #0a1430; color: #cbd5e1; padding: 64px 0 28px; }
.aps-footer .aps-logo { color: #fff !important; }
.aps-footer-grid { display: grid; gap: 32px; grid-template-columns: 1fr 1fr; }
@media (min-width: 900px) { .aps-footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.aps-footer-brand { grid-column: 1 / -1; }
@media (min-width: 900px) { .aps-footer-brand { grid-column: auto; } }
.aps-footer-brand p { margin: 14px 0 0; max-width: 340px; font-size: 14px; color: #94a3b8; }
.aps-footer h4 { color: #fff; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 14px; }
.aps-footer a { display: block; color: #94a3b8; text-decoration: none; font-size: 14.5px; padding: 4px 0; }
.aps-footer a:hover { color: #fff; }
.aps-footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; color: #64748b; }

/* Inside a normal theme page (shell switched off) */
.aps:not(.aps-home) { overflow-x: clip; }
.aps [hidden], .aps-header [hidden] { display: none !important; }

/* ════════ Job board pages in the site shell (v6.6) ════════ */
body.aps-jobpage { background: #f6f8fc; }
body.aps-jobpage .aps-main { font-family: var(--body); color: var(--ink); padding: 34px 0 72px; background: radial-gradient(900px 300px at 80% -80px, rgba(124,58,237,.08), transparent 60%); }
body.aps-jobpage .aps-main, body.aps-jobpage .aps-main * { box-sizing: border-box; }
body.aps-jobpage .aps-main h1, body.aps-jobpage .aps-main h2, body.aps-jobpage .aps-main h3 { font-family: var(--head) !important; color: var(--ink); letter-spacing: -.01em; }
body.aps-jobpage .aps-main a { color: var(--navy); }
body.aps-jobpage .aps-main > p, body.aps-jobpage .apjb-internal-links { max-width: 1000px; margin: 18px auto 0; padding: 0 20px; font-size: 14px; color: var(--muted); }
body.aps-jobpage .apjb-job-page, body.aps-jobpage .apjb-archive, body.aps-jobpage .apjb-cat-main > * { max-width: 1000px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; font-family: var(--body) !important; }
body.aps-jobpage .apjb-job-page { display: grid; gap: 18px; }
body.aps-jobpage .apjb-job-page > * { margin: 0 !important; }
/* Single job: header card */
body.aps-jobpage .apjb-job-header { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 26px; background: #fff; border: 1px solid var(--line) !important; border-radius: 22px; box-shadow: 0 14px 40px rgba(15,23,42,.06); }
body.aps-jobpage .apjb-company-logo { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; border: 1px solid var(--line); }
body.aps-jobpage .apjb-header-text { flex: 1; min-width: 220px; }
body.aps-jobpage .apjb-job-title { font-size: 32px !important; line-height: 1.12; margin: 0 0 6px !important; }
body.aps-jobpage .apjb-company-line { margin: 0; color: var(--muted); font-size: 15px; }
body.aps-jobpage .apjb-company-line strong, body.aps-jobpage .apjb-company-line a { color: var(--ink-2); font-weight: 700; }
body.aps-jobpage .apjb-apply-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 14px; background: linear-gradient(135deg, var(--navy), #3b1d9a) !important; color: #fff !important; font-weight: 700; text-decoration: none !important; box-shadow: 0 10px 26px rgba(7,48,135,.28); }
body.aps-jobpage .apct-jobbar { margin: 0 !important; border-radius: 18px !important; padding: 16px 18px !important; font-family: var(--body); }
body.aps-jobpage .apct-jobbar-btn { font-family: var(--body); }
body.aps-jobpage .apjb-meta-strip { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.aps-jobpage .apjb-meta-strip li { margin: 0; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13.5px; color: var(--ink-2); }
body.aps-jobpage .apjb-meta-strip li strong { color: var(--muted); font-weight: 600; margin-right: 4px; }
body.aps-jobpage .apjb-share-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0 !important; background: none !important; border: 0 !important; }
body.aps-jobpage .apjb-share-label { font-size: 13px; font-weight: 700; color: var(--muted); margin-right: 4px; }
body.aps-jobpage .apjb-share-link { font-family: var(--body) !important; font-size: 12.5px !important; padding: 6px 12px !important; border-radius: 999px !important; background: #fff !important; border: 1px solid var(--line) !important; color: var(--ink-2) !important; text-decoration: none !important; cursor: pointer; }
body.aps-jobpage .apjb-section { padding: 26px !important; background: #fff !important; border: 1px solid var(--line) !important; border-radius: 22px !important; box-shadow: none; }
body.aps-jobpage .apjb-section > h2 { font-size: 22px !important; margin: 0 0 14px !important; padding: 0 0 12px !important; border-bottom: 1px solid #eef1f7 !important; }
body.aps-jobpage .apjb-description { font-size: 15.5px; line-height: 1.75; color: var(--ink-2); }
body.aps-jobpage .apjb-description h3 { font-size: 18px; margin: 20px 0 8px; }
body.aps-jobpage .apjb-description ul, body.aps-jobpage .apjb-description ol { padding-left: 22px; }
body.aps-jobpage .apjb-description li { margin-bottom: 6px; }
/* Launchpad cross-sell */
body.aps-jobpage .apjb-cross-sell--lp { padding: 0 !important; background: none !important; border: 0 !important; display: grid; gap: 12px; }
.apjb-lp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 28px !important; border-radius: 22px !important; color: #fff; background: radial-gradient(600px 240px at 100% 0%, rgba(167,139,250,.55), transparent 60%), linear-gradient(135deg, #051e5c, #073087 55%, #3b1d9a) !important; border: 0 !important; }
.apjb-lp > div { flex: 1; min-width: 240px; }
.apjb-lp h2 { color: #fff !important; font-size: 24px !important; margin: 4px 0 6px !important; padding: 0 !important; border: 0 !important; }
.apjb-lp p { color: rgba(255,255,255,.85) !important; margin: 0 !important; font-size: 15px; }
.apjb-lp-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #c4b5fd; }
.apjb-lp-btn { display: inline-flex; padding: 13px 20px; border-radius: 14px; background: #fff; color: #073087 !important; font-weight: 700; text-decoration: none !important; white-space: nowrap; box-shadow: 0 10px 24px rgba(3,10,40,.25); }
body.aps-jobpage .apjb-tile { display: block; padding: 16px 18px !important; border-radius: 16px !important; background: #fff !important; border: 1px solid var(--line) !important; text-decoration: none !important; }
body.aps-jobpage .apjb-tile strong { display: block; color: var(--ink) !important; font-size: 15px; }
body.aps-jobpage .apjb-tile span { color: var(--muted) !important; font-size: 13.5px; }
body.aps-jobpage .apjb-related-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
body.aps-jobpage .apjb-related-list a { border-radius: 14px !important; }
/* Archive / category listing */
body.aps-jobpage .apjb-archive-header h1 { font-size: 38px !important; margin: 0 0 10px !important; }
body.aps-jobpage .apjb-archive-intro { font-size: 16px !important; color: var(--ink-2) !important; max-width: 680px; }
body.aps-jobpage .apjb-search-form { background: #fff !important; border: 1px solid var(--line) !important; border-radius: 18px !important; box-shadow: 0 14px 36px rgba(15,23,42,.06); padding: 12px !important; }
body.aps-jobpage .apjb-search-form input, body.aps-jobpage .apjb-search-form select { border-radius: 12px !important; border-color: var(--line) !important; font-family: var(--body) !important; min-height: 46px; }
body.aps-jobpage .apjb-search-form button { border-radius: 12px !important; background: linear-gradient(135deg, var(--navy), #3b1d9a) !important; font-family: var(--body) !important; min-height: 46px; padding: 0 22px !important; }
body.aps-jobpage .apjb-browse-links a, body.aps-jobpage .apjb-browse-links .apjb-pill { font-family: var(--body) !important; }
body.aps-jobpage .apjb-job-list { gap: 12px !important; }
body.aps-jobpage .apjb-job-card { border-radius: 18px !important; border: 1px solid var(--line) !important; background: #fff !important; box-shadow: none; transition: transform .15s, box-shadow .15s, border-color .15s; }
body.aps-jobpage .apjb-job-card:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(15,23,42,.08) !important; border-color: #cbd5ea !important; }
body.aps-jobpage .apjb-job-card-title { font-family: var(--head) !important; font-size: 19px !important; color: var(--ink) !important; }
body.aps-jobpage .apjb-job-card-logo { border-radius: 12px !important; }
body.aps-jobpage .apjb-job-card-logo--placeholder { background: var(--navy-50) !important; color: var(--navy) !important; font-family: var(--head) !important; }
body.aps-jobpage .apjb-archive-cross-sell.apjb-lp { margin-top: 28px; }
body.aps-jobpage .apjb-empty { border-radius: 18px !important; background: #fff !important; }
@media (max-width: 640px) { body.aps-jobpage .apjb-job-title { font-size: 26px !important; } body.aps-jobpage .apjb-section, body.aps-jobpage .apjb-job-header { padding: 18px !important; } body.aps-jobpage .apjb-archive-header h1 { font-size: 30px !important; } }

/* Charter / Career OS / Job Alerts pages in the shell */
body.aps-docpage { background: #f6f8fc; }
.aps-hero--doc { padding: 56px 0 34px !important; }
.aps-hero--doc h1 { font-size: 40px !important; }
@media (min-width: 900px) { .aps-hero--doc h1 { font-size: 52px !important; } }
.aps-doc { padding: 0 0 72px; font-family: var(--body); color: var(--ink-2); line-height: 1.7; }
.aps-doc h1, .aps-doc h2, .aps-doc h3, .aps-doc h4 { font-family: var(--head) !important; color: var(--ink) !important; letter-spacing: -.01em; }
.aps-doc > .aps-container > * { max-width: 100% !important; }
.aps-doc > .aps-container > div, .aps-doc > .aps-container > section, .aps-doc > .aps-container > form { background: #fff; border: 1px solid var(--line) !important; border-radius: 22px !important; box-shadow: 0 14px 40px rgba(15,23,42,.06) !important; padding: 28px !important; margin-left: 0 !important; margin-right: 0 !important; }
.aps-doc input[type="text"], .aps-doc input[type="email"], .aps-doc select, .aps-doc textarea { border: 1px solid var(--line) !important; border-radius: 12px !important; min-height: 44px; padding: 10px 12px; font-family: var(--body); font-size: 15px; }
.aps-doc button, .aps-doc input[type="submit"], .aps-doc .button { border-radius: 12px !important; background: linear-gradient(135deg, var(--navy), #3b1d9a) !important; color: #fff !important; border: 0 !important; font-weight: 700 !important; padding: 12px 20px !important; cursor: pointer; font-family: var(--body) !important; }
.aps-doc a { color: var(--navy); }
@media (max-width: 640px) { .aps-doc > .aps-container > div, .aps-doc > .aps-container > section { padding: 18px !important; } }
.aps-alert { margin: 0 auto 26px; max-width: 760px; padding: 14px 18px; border-radius: 14px; background: #fef2f2; color: #7f1d1d; box-shadow: inset 0 0 0 1px #fecaca; font-weight: 600; text-align: center; }
/* v6.6.1 — stylesheet applied: show the page (see the critical CSS in launchpad.php) */
body.aps-body, body.apct-gshell .aps-header, body.apct-gshell .aps-footer { opacity: 1 !important; animation: none !important; }

/* ════════ v6.6.1 — global header/footer on theme pages ════════ */
body.apct-gshell #masthead, body.apct-gshell header.site-header:not(.aps-header), body.apct-gshell #site-header, body.apct-gshell #main-header, body.apct-gshell #top-header,
body.apct-gshell header#header, body.apct-gshell .site-header-wrap, body.apct-gshell #ast-desktop-header, body.apct-gshell #ast-mobile-header, body.apct-gshell .elementor-location-header,
body.apct-gshell .wp-site-blocks > header.wp-block-template-part, body.apct-gshell .wp-site-blocks > .wp-block-template-part:first-child:has(> header, .wp-block-navigation, .wp-block-site-title),
body.apct-gshell #colophon, body.apct-gshell footer.site-footer:not(.aps-footer), body.apct-gshell #site-footer, body.apct-gshell #main-footer, body.apct-gshell footer#footer, body.apct-gshell #footer-widgets,
body.apct-gshell .elementor-location-footer, body.apct-gshell .wp-site-blocks > footer.wp-block-template-part, body.apct-gshell .wp-site-blocks > .wp-block-template-part:last-child:has(> footer) { display: none !important; }
body.apct-gshell .aps-header, body.apct-gshell .aps-footer { font-size: 16px; line-height: 1.6; text-align: left; }
body.apct-gshell .aps-header a, body.apct-gshell .aps-footer a { text-decoration: none !important; box-shadow: none !important; border: 0; }
body.apct-gshell .aps-header .aps-btn--primary { color: #fff !important; }
body.apct-gshell .aps-header .aps-nav a { color: var(--ink-2) !important; }
body.apct-gshell .aps-header .aps-logo { color: var(--ink) !important; }
body.apct-gshell .aps-footer a { color: #94a3b8 !important; }
body.apct-gshell .aps-footer .aps-logo, body.apct-gshell .aps-footer a:hover { color: #fff !important; }
body.apct-gshell .aps-footer h4 { color: #fff !important; font-family: var(--head) !important; }
body.apct-gshell .aps-header nav, body.apct-gshell .aps-footer nav { background: none; border: 0; margin: 0; padding: 0; }
body.apct-gshell .aps-footer { margin-top: 0; clear: both; }
body.apct-gshell .aps-burger { box-shadow: none; }

/* Full-screen pages: hide theme search pop-ups / drawers if a theme still prints them */
body.aps-body > form[role="search"], body.aps-body > .search-form, body.aps-body > [class*="search-modal"], body.aps-body > [id*="search-modal"], body.aps-body > .ast-search-box, body.aps-body > #search-drawer, body.aps-body > #mobile-drawer, body.aps-body > .popup-drawer, body.aps-body > #ast-mobile-popup-wrapper, body.aps-body > .gp-modal, body.aps-body > #searchform-overlay, body.aps-body > #ct-search-modal,
body.apct-fullscreen > form[role="search"], body.apct-fullscreen > .search-form, body.apct-fullscreen > [class*="search-modal"], body.apct-fullscreen > [id*="search-modal"], body.apct-fullscreen > .ast-search-box, body.apct-fullscreen > #search-drawer, body.apct-fullscreen > #mobile-drawer, body.apct-fullscreen > .popup-drawer, body.apct-fullscreen > #ast-mobile-popup-wrapper, body.apct-fullscreen > .gp-modal, body.apct-fullscreen > #searchform-overlay, body.apct-fullscreen > #ct-search-modal { display: none !important; }

/* ════════ v6.6.1 — Career Guides ════════ */
.aps-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.aps-chip { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--ink-2) !important; font-size: 13.5px; font-weight: 600; text-decoration: none !important; transition: border-color .15s, background .15s; }
.aps-chip:hover { border-color: #c8d1e3; }
.aps-chip.is-active { background: var(--ink); border-color: var(--ink); color: #fff !important; }
.aps-gsearch { display: flex; align-items: center; gap: 10px; max-width: 620px; margin: 28px auto 0; padding: 6px 6px 6px 16px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 14px 36px rgba(15,23,42,.07); }
.aps-gsearch svg { color: var(--faint); }
.aps-gsearch input { flex: 1; min-width: 0; border: 0 !important; outline: 0; font-size: 15.5px; font-family: var(--body); background: transparent; box-shadow: none !important; padding: 8px 0; }
.aps-gsearch button { border: 0; border-radius: 12px; padding: 11px 18px; font-weight: 700; font-family: var(--body); color: #fff; background: linear-gradient(135deg, var(--navy), #3b1d9a); cursor: pointer; }
.aps-hero--guides { padding-bottom: 40px !important; }
.aps-guides-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .aps-guides-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .aps-guides-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aps-guide { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--line); text-decoration: none !important; color: inherit !important; transition: transform .2s, box-shadow .2s, border-color .2s; min-width: 0; }
.aps-guide:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(15,23,42,.1); border-color: #cfd8ea; }
.aps-guide-img { display: block; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #eef3ff, #f4efff); overflow: hidden; }
.aps-guide-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.aps-guide:hover .aps-guide-img img { transform: scale(1.03); }
.aps-guide-ph { display: grid; place-items: center; height: 100%; font-family: var(--head); font-size: 54px; font-weight: 700; color: rgba(7,48,135,.25); }
.aps-guide-body { display: grid; gap: 8px; padding: 18px 20px 20px; }
.aps-guide-topic { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--purple); }
.aps-guide strong { font-family: var(--head); font-size: 20px; line-height: 1.25; color: var(--ink); }
.aps-guide-ex { color: var(--muted); font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.aps-guide-meta { font-size: 12.5px; color: var(--faint); font-weight: 600; }
.aps-guide--featured { margin-bottom: 20px; }
@media (min-width: 860px) { .aps-guide--featured { flex-direction: row; } .aps-guide--featured .aps-guide-img { flex: 1.15; aspect-ratio: auto; min-height: 340px; } .aps-guide--featured .aps-guide-body { flex: 1; align-content: center; padding: 34px; } .aps-guide--featured strong { font-size: 30px; } .aps-guide--featured .aps-guide-ex { -webkit-line-clamp: 4; font-size: 15.5px; } }
.aps-guides-grid--3 { margin-top: 0; }
.aps-pager { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 34px; color: var(--muted); font-size: 14px; }
.aps-empty { text-align: center; padding: 60px 20px; border-radius: 22px; background: #fff; border: 1px dashed #cdd6e8; }
.aps-empty h3 { font-size: 24px; margin-bottom: 8px; }
.aps-empty p { color: var(--muted); margin-bottom: 18px; }

/* Article */
body.aps-guidepage { background: #fff; }
.aps-article-hero { padding: 54px 0 28px; background: radial-gradient(800px 300px at 80% -40%, rgba(124,58,237,.1), transparent 60%); }
.aps-crumbs { font-size: 13.5px; font-weight: 600; color: var(--muted); margin-bottom: 14px; }
.aps-crumbs a { color: var(--purple) !important; text-decoration: none !important; }
.aps-crumbs span { color: var(--faint); margin: 0 4px; }
.aps-article-hero h1 { font-size: 36px; letter-spacing: -.02em; }
@media (min-width: 900px) { .aps-article-hero h1 { font-size: 50px; } }
.aps-article-hero .aps-lead { margin-top: 14px; }
.aps-article-meta { display: flex; align-items: center; gap: 10px; margin-top: 22px; color: var(--muted); font-size: 14px; }
.aps-article-meta b { color: var(--ink-2); }
.aps-avatar-sm { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--navy), var(--purple)); color: #fff; font-weight: 700; font-size: 14px; }
.aps-article-cover { max-width: 1100px; margin-bottom: 10px; }
.aps-article-cover img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 24px; display: block; }
.aps-article-grid { display: grid; gap: 40px; padding-top: 30px; padding-bottom: 56px; grid-template-columns: minmax(0, 1fr); max-width: 1100px; }
@media (min-width: 1040px) { .aps-article-grid { grid-template-columns: 260px minmax(0, 720px); justify-content: center; } .aps-article-side { order: 0; } }
.aps-article-side { display: grid; gap: 16px; align-content: start; }
@media (min-width: 1040px) { .aps-article-side { position: sticky; top: 96px; } }
@media (max-width: 1039px) { .aps-article-side { order: 2; } .aps-toc { display: none !important; } }
.aps-toc { padding: 18px; border-radius: 18px; background: var(--bg); }
.aps-toc strong { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.aps-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; max-height: 50vh; overflow: auto; }
.aps-toc li a { display: block; padding: 6px 10px; border-radius: 8px; font-size: 13.5px; line-height: 1.35; color: var(--ink-2) !important; text-decoration: none !important; border-left: 2px solid transparent; }
.aps-toc li.is-sub a { padding-left: 22px; font-size: 13px; color: var(--muted) !important; }
.aps-toc li a.is-on { background: #fff; color: var(--navy) !important; border-left-color: var(--purple); font-weight: 700; }
.aps-side-cta { padding: 20px; border-radius: 18px; color: #fff; background: radial-gradient(400px 200px at 100% 0%, rgba(167,139,250,.5), transparent 60%), linear-gradient(135deg, #051e5c, var(--navy) 55%, #3b1d9a); display: grid; gap: 8px; }
.aps-side-cta strong { font-family: var(--head); font-size: 19px; }
.aps-side-cta p { color: rgba(255,255,255,.85); font-size: 13.5px; margin-bottom: 6px; }
.aps-side-cta .aps-btn--primary { background: #fff; color: var(--navy) !important; box-shadow: none; }
.aps-prose { font-family: var(--body); font-size: 17px; line-height: 1.8; color: #1e293b; min-width: 0; }
.aps-prose > * { margin-top: 0; margin-bottom: 1.15em; max-width: 100%; }
.aps-prose h2 { font-family: var(--head); font-size: 30px; line-height: 1.2; margin: 1.8em 0 .6em; color: var(--ink); scroll-margin-top: 96px; }
.aps-prose h3 { font-family: var(--head); font-size: 23px; line-height: 1.25; margin: 1.5em 0 .5em; color: var(--ink); scroll-margin-top: 96px; }
.aps-prose h4 { font-family: var(--head); font-size: 19px; margin: 1.3em 0 .4em; }
.aps-prose a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(7,48,135,.35); text-underline-offset: 3px; }
.aps-prose ul, .aps-prose ol { padding-left: 1.4em; }
.aps-prose li { margin-bottom: .45em; }
.aps-prose li::marker { color: var(--purple); }
.aps-prose blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 4px solid var(--purple); background: #faf7ff; border-radius: 0 14px 14px 0; font-size: 18px; color: var(--ink-2); }
.aps-prose img, .aps-prose figure img { max-width: 100%; height: auto; border-radius: 14px; }
.aps-prose figure { margin: 1.6em 0; }
.aps-prose figcaption { font-size: 13.5px; color: var(--muted); text-align: center; margin-top: 8px; }
.aps-prose table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.aps-prose th, .aps-prose td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }
.aps-prose th { background: var(--bg); }
.aps-prose code { background: #f1f5f9; padding: 2px 6px; border-radius: 6px; font-size: .9em; }
.aps-prose pre { background: #0b1220; color: #e2e8f0; padding: 16px; border-radius: 14px; overflow-x: auto; }
.aps-prose hr { border: 0; height: 1px; background: var(--line); margin: 2.2em 0; }
.aps-prose .wp-block-button__link { border-radius: 12px; background: linear-gradient(135deg, var(--navy), #3b1d9a); color: #fff; text-decoration: none; padding: 12px 20px; font-weight: 700; }
.aps-article-tags { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 40px; }
.aps-comments { padding: 10px 0 60px; font-family: var(--body); }
.aps-comments h2, .aps-comments h3, .aps-comments .wp-block-comments-title { font-family: var(--head); font-size: 24px; }
.aps-comments textarea, .aps-comments input[type="text"], .aps-comments input[type="email"], .aps-comments input[type="url"] { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font: inherit; }
.aps-comments input[type="submit"], .aps-comments .wp-block-button__link { border: 0; border-radius: 12px; padding: 12px 20px; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--navy), #3b1d9a); cursor: pointer; }
.aps-comments { padding-top: 48px; }
.aps-comments .comment-respond, .aps-comments .wp-block-post-comments-form { margin-top: 20px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.aps-comments label { display: block; font-size: 13px; font-weight: 700; color: var(--ink-2); margin: 12px 0 6px; }

/* ════════ v6.6.2 — one layout for every page ════════ */
body.aps-body { margin: 0 !important; padding: 0 !important; width: 100%; max-width: 100%; overflow-x: clip; }
body.aps-body { position: static !important; display: block !important; float: none !important; }
.aps-main { display: block; width: 100%; margin: 0 auto; }
.aps-container { padding-left: 16px; padding-right: 16px; }
@media (min-width: 768px) { .aps-container { padding-left: 24px; padding-right: 24px; } }
.aps-container--wide { max-width: 1240px; }
.aps-hero--page { padding: 46px 0 26px !important; }
.aps-hero--page h1 { font-size: 34px !important; }
@media (min-width: 900px) { .aps-hero--page { padding: 64px 0 34px !important; } .aps-hero--page h1 { font-size: 48px !important; } }
.aps-page-body { padding: 8px 0 72px; }
.aps-page-body .aps-prose > *:first-child { margin-top: 0; }
.aps-page-body .aps-prose .alignwide { max-width: min(1100px, 100vw - 32px); margin-left: 50%; transform: translateX(-50%); width: min(1100px, 100vw - 32px); }
.aps-page-body .aps-prose .alignfull { width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.aps-page-body .aps-prose input:not([type=checkbox]):not([type=radio]):not([type=submit]), .aps-page-body .aps-prose textarea, .aps-page-body .aps-prose select { width: 100%; max-width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font: inherit; font-size: 15px; }
.aps-page-body .aps-prose button, .aps-page-body .aps-prose input[type=submit] { border: 0; border-radius: 12px; padding: 12px 20px; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--navy), #3b1d9a); cursor: pointer; font-family: var(--body); }
.aps-builder { width: 100%; }
.aps-store-head { padding: 34px 0 6px; background: radial-gradient(800px 260px at 85% -60px, rgba(124,58,237,.08), transparent 60%); }
.aps-store-head h1 { font-family: var(--head); font-size: 32px; margin: 0; color: var(--ink); letter-spacing: -.01em; }
@media (min-width: 900px) { .aps-store-head h1 { font-size: 40px; } }
.aps-store { padding: 18px 0 72px; font-family: var(--body); color: var(--ink-2); }
body.aps-body.apct-woo .aps-store .woocommerce, body.aps-body.apct-woo .aps-store .apct-wsteps { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
.aps-store h2, .aps-store h3 { font-family: var(--head); color: var(--ink); }
.aps-404 { padding: 0 0 80px; text-align: center; }
.aps-404 .aps-gsearch { margin-top: 0; }
.aps-404-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.aps-pager--links { gap: 6px; flex-wrap: wrap; }
.aps-pager--links a, .aps-pager--links span { padding: 8px 14px; border-radius: 10px; border: 1px solid var(--line); background: #fff; text-decoration: none; color: var(--ink-2); font-weight: 600; }
.aps-pager--links .current { background: var(--ink); color: #fff; border-color: var(--ink); }
/* Phones: use the full width */
@media (max-width: 560px) {
    .aps-jf-card, .aps-doc > .aps-container > div, .aps-doc > .aps-container > section, body.aps-jobpage .apjb-section, body.aps-jobpage .apjb-job-header { padding: 16px !important; border-radius: 16px !important; }
    body.aps-jobpage .apjb-job-page, body.aps-jobpage .apjb-archive, body.aps-jobpage .apjb-cat-main > * { padding-left: 12px !important; padding-right: 12px !important; }
    .aps-plan { padding: 24px 18px; }
    .aps-cta-in { padding: 28px 20px; border-radius: 22px; }
    .aps-section { padding: 52px 0; }
}
.aps-main, .aps-main *, .aps-main *::before, .aps-main *::after, .aps-container { box-sizing: border-box; }

/* v6.7.1 — billing toggle: the selected option is always unmistakable (immune to theme / page-builder button styles) */
.aps-toggle button, .aps-toggle button:hover, .aps-toggle button:focus { background: transparent !important; color: var(--muted) !important; box-shadow: none !important; border: 0 !important; text-transform: none !important; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.aps-toggle button:hover { color: var(--ink) !important; background: rgba(15,23,42,.05) !important; }
.aps-toggle button.is-active, .aps-toggle button[aria-pressed="true"] { background: var(--ink) !important; color: #fff !important; box-shadow: 0 4px 14px rgba(11,18,32,.28) !important; }
.aps-toggle button.is-active span { background: #fff; color: var(--mint-ink); }
.aps-toggle button:focus-visible { outline: 2px solid var(--ink) !important; outline-offset: 2px; }
