/*
 * Aprendiz Pro — Software de gestão de aprendizes
 * Escopo: todas as regras são prefixadas por .ap-page para não colidir com o tema atual.
 */


.ap-landing-template-main {
    display: block;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ap-page {
    --ap-ink: #07172f;
    --ap-ink-2: #102543;
    --ap-text: #40536d;
    --ap-muted: #6f8097;
    --ap-line: #dbe6f0;
    --ap-line-soft: #eaf0f6;
    --ap-surface: #ffffff;
    --ap-surface-soft: #f5f9fc;
    --ap-surface-blue: #edf7ff;
    --ap-blue: #2468f2;
    --ap-blue-dark: #0f4fd6;
    --ap-cyan: #16c9df;
    --ap-teal: #00a98f;
    --ap-violet: #7668f7;
    --ap-pink: #dc6ef0;
    --ap-green: #0d9f7b;
    --ap-warning: #d38a20;
    --ap-danger: #c94b5e;
    --ap-shadow-sm: 0 10px 30px rgba(15, 43, 76, .08);
    --ap-shadow-md: 0 24px 60px rgba(14, 45, 83, .12);
    --ap-shadow-lg: 0 34px 90px rgba(4, 25, 55, .18);
    --ap-radius-sm: 14px;
    --ap-radius-md: 22px;
    --ap-radius-lg: 32px;
    --ap-radius-xl: 42px;
    --ap-container: 1200px;
    --ap-font: Inter, "DM Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ap-display-font: "Bricolage Grotesque", Inter, "DM Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ap-title-gradient: linear-gradient(90deg, #3156f5 0%, #2f7ef0 44%, #1eb8ec 100%);

    position: relative;
    width: 100%;
    overflow: clip;
    color: var(--ap-text);
    background: var(--ap-surface);
    font-family: var(--ap-font);
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.ap-page,
.ap-page *,
.ap-page *::before,
.ap-page *::after {
    box-sizing: border-box;
}

.ap-page img,
.ap-page svg {
    display: block;
}

.ap-page img {
    max-width: 100%;
    height: auto;
}

.ap-page a {
    text-decoration: none;
}

.ap-page h1,
.ap-page h2,
.ap-page h3,
.ap-page p,
.ap-page ul,
.ap-page ol,
.ap-page figure {
    margin-top: 0;
}

.ap-page h1,
.ap-page h2,
.ap-page h3 {
    color: var(--ap-ink);
    font-family: var(--ap-display-font);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.08;
    background: var(--ap-title-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.ap-page h1 {
    max-width: 780px;
    margin-bottom: 24px;
    font-size: clamp(2.65rem, 5vw, 4.35rem);
    letter-spacing: -.058em;
}

.ap-page h2 {
    margin-bottom: 22px;
    font-size: clamp(2.05rem, 3.9vw, 3.45rem);
}

.ap-page h3 {
    margin-bottom: 12px;
    font-size: 1.18rem;
    letter-spacing: -.025em;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
    .ap-page h1,
    .ap-page h2,
    .ap-page h3 {
        color: #3156f5;
    }
}

.ap-page p {
    margin-bottom: 20px;
}

.ap-page :focus-visible {
    outline: 3px solid rgba(36, 104, 242, .42);
    outline-offset: 4px;
    border-radius: 8px;
}

.ap-page [id] {
    scroll-margin-top: 96px;
}

.ap-svg-sprite {
    position: absolute;
    overflow: hidden;
    pointer-events: none;
}

.ap-page svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ap-container {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 40px), var(--ap-container));
    margin-inline: auto;
}

.ap-section {
    position: relative;
    padding: clamp(78px, 9vw, 132px) 0;
}

.ap-kicker,
.ap-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--ap-blue);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ap-kicker {
    margin-bottom: 18px;
}

.ap-eyebrow {
    margin-bottom: 22px;
    padding: 10px 14px;
    border: 1px solid rgba(36, 104, 242, .15);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 8px 22px rgba(41, 81, 129, .06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.ap-eyebrow svg {
    width: 17px;
    height: 17px;
    color: var(--ap-violet);
}

.ap-eyebrow--light {
    color: #d9f8ff;
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .09);
    box-shadow: none;
}

.ap-eyebrow--light svg {
    color: #77eafa;
}

.ap-section-heading {
    max-width: 800px;
    margin-bottom: 50px;
}

.ap-section-heading > p {
    max-width: 720px;
    margin-bottom: 0;
    color: var(--ap-text);
    font-size: 1.08rem;
}

.ap-section-heading--center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.ap-section-heading--center > p {
    margin-right: auto;
    margin-left: auto;
}

.ap-section-heading--light h2,
.ap-section-heading--light p {
    color: #fff;
}

.ap-section-heading--light p {
    color: #b9c9dd;
}

/* Hero */
.ap-hero {
    position: relative;
    min-height: 760px;
    padding: clamp(72px, 8vw, 118px) 0 clamp(80px, 9vw, 130px);
    isolation: isolate;
    background:
        radial-gradient(circle at 78% 12%, rgba(199, 181, 255, .42), transparent 31%),
        radial-gradient(circle at 92% 60%, rgba(73, 203, 243, .28), transparent 34%),
        linear-gradient(148deg, #f9fcff 3%, #f4f9ff 46%, #f9f5ff 100%);
}

.ap-hero::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: "";
    opacity: .42;
    background-image:
        linear-gradient(rgba(31, 79, 132, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31, 79, 132, .035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, #000 0, transparent 88%);
}

.ap-hero::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: -1;
    height: 105px;
    content: "";
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, .93) 82%, #fff);
}

.ap-hero__glow {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(4px);
    pointer-events: none;
}

.ap-hero__glow--one {
    top: 11%;
    right: 8%;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(116, 104, 247, .15);
    box-shadow:
        0 0 0 70px rgba(116, 104, 247, .035),
        0 0 0 140px rgba(22, 201, 223, .025);
}

.ap-hero__glow--two {
    bottom: 9%;
    left: -7%;
    width: 200px;
    height: 200px;
    background: rgba(22, 201, 223, .08);
}

.ap-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(480px, 1.06fr);
    gap: clamp(48px, 6vw, 86px);
    align-items: center;
}

.ap-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 32px;
    color: var(--ap-muted);
    font-size: .82rem;
    font-weight: 600;
}

.ap-breadcrumb a {
    color: inherit;
    transition: color .2s ease;
}

.ap-breadcrumb a:hover {
    color: var(--ap-blue);
}

.ap-hero__lead {
    max-width: 700px;
    margin-bottom: 30px;
    color: #3c506a;
    font-size: clamp(1.06rem, 1.6vw, 1.25rem);
    line-height: 1.7;
}

.ap-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-bottom: 30px;
}

.ap-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 21px;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: .94rem;
    font-weight: 750;
    line-height: 1.2;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}

.ap-button svg {
    width: 18px;
    height: 18px;
    transition: transform .22s ease;
}

.ap-button:hover {
    transform: translateY(-2px);
}

.ap-button:hover svg {
    transform: translateX(3px);
}

.ap-button--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--ap-blue), #655cf3);
    box-shadow: 0 15px 32px rgba(36, 104, 242, .26);
}

.ap-button--primary:hover {
    color: #fff;
    box-shadow: 0 18px 38px rgba(36, 104, 242, .34);
}

.ap-button--ghost {
    color: var(--ap-ink-2);
    border-color: rgba(19, 47, 81, .12);
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 10px 24px rgba(16, 50, 88, .06);
}

.ap-button--ghost:hover {
    color: var(--ap-blue-dark);
    border-color: rgba(36, 104, 242, .26);
    background: #fff;
}

.ap-button--ghost:hover svg {
    transform: translateY(3px);
}

.ap-button--secondary {
    color: var(--ap-blue-dark);
    border-color: rgba(36, 104, 242, .18);
    background: #fff;
    box-shadow: 0 10px 25px rgba(16, 63, 124, .08);
}

.ap-button--secondary:hover {
    border-color: rgba(36, 104, 242, .35);
    box-shadow: 0 14px 30px rgba(16, 63, 124, .13);
}

.ap-button--white {
    color: var(--ap-blue-dark);
    background: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}

.ap-button--white:hover {
    color: var(--ap-blue-dark);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .24);
}

.ap-button--outline-light {
    color: #fff;
    border-color: rgba(255, 255, 255, .36);
    background: rgba(255, 255, 255, .06);
}

.ap-button--outline-light:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .12);
}

.ap-hero__checks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 19px;
    margin: 0;
    padding: 0;
    color: #475b73;
    font-size: .84rem;
    font-weight: 650;
    list-style: none;
}

.ap-hero__checks li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ap-hero__checks svg {
    width: 16px;
    height: 16px;
    padding: 3px;
    color: #fff;
    border-radius: 50%;
    background: var(--ap-green);
    stroke-width: 2.6;
}

.ap-hero__visual {
    position: relative;
    padding: 36px 0 42px;
}

.ap-browser {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(31, 65, 104, .11);
    border-radius: 25px;
    background: #fff;
    box-shadow: var(--ap-shadow-lg);
    transform: perspective(1400px) rotateY(-3deg) rotateX(1deg) scale(1.065);
    transform-origin: center center;
}

.ap-browser::after {
    position: absolute;
    inset: 41px 0 auto;
    height: 1px;
    content: "";
    background: rgba(27, 55, 89, .08);
}

.ap-browser__bar {
    display: flex;
    height: 42px;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    background: #fbfdff;
}

.ap-browser__bar > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #d7e1eb;
}

.ap-browser__bar > span:first-child { background: #ff7f85; }
.ap-browser__bar > span:nth-child(2) { background: #ffc967; }
.ap-browser__bar > span:nth-child(3) { background: #55d5a4; }

.ap-browser__address {
    width: 48%;
    margin-left: 9px;
    padding: 5px 13px;
    overflow: hidden;
    color: #8b9aab;
    border: 1px solid #edf1f5;
    border-radius: 999px;
    background: #f5f8fb;
    font-size: .64rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ap-browser img {
    width: 100%;
    aspect-ratio: 1706 / 1078;
    object-fit: cover;
    object-position: top left;
}

.ap-floating-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 11px;
    max-width: 245px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, .88);
    border-radius: 15px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 18px 42px rgba(28, 62, 101, .16);
    backdrop-filter: blur(13px);
    -webkit-backdrop-filter: blur(13px);
}

.ap-floating-card small,
.ap-floating-card strong {
    display: block;
}

.ap-floating-card small {
    margin-bottom: 2px;
    color: var(--ap-muted);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ap-floating-card strong {
    color: var(--ap-ink-2);
    font-size: .77rem;
    line-height: 1.32;
}

.ap-floating-card__icon {
    display: grid;
    flex: 0 0 35px;
    height: 35px;
    place-items: center;
    color: var(--ap-blue);
    border-radius: 11px;
    background: #eaf2ff;
}

.ap-floating-card__icon svg {
    width: 18px;
    height: 18px;
}

.ap-floating-card--status {
    right: -37px;
    bottom: -2px;
}

.ap-floating-card--areas {
    top: -2px;
    left: -28px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    width: 310px;
    max-width: 310px;
    align-items: center;
    column-gap: 16px;
}

.ap-floating-card--areas > span:last-child {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.ap-floating-card__dots {
    position: relative;
    display: block;
    width: 68px;
    min-width: 68px;
    height: 30px;
}

.ap-floating-card__dots i {
    position: absolute;
    top: 2px;
    display: block;
    width: 26px;
    height: 26px;
    aspect-ratio: 1 / 1;
    margin: 0;
    border: 3px solid #fff;
    border-radius: 999px;
    background: linear-gradient(145deg, var(--ap-blue), var(--ap-cyan));
}

.ap-floating-card__dots i:nth-child(1) {
    left: 0;
}

.ap-floating-card__dots i:nth-child(2) {
    left: 18px;
    background: linear-gradient(145deg, var(--ap-violet), var(--ap-pink));
}

.ap-floating-card__dots i:nth-child(3) {
    left: 36px;
    background: linear-gradient(145deg, var(--ap-teal), var(--ap-cyan));
}

/* Local navigation */
.ap-section-nav {
    position: relative;
    z-index: 10;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #e6edf4;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 25px rgba(10, 35, 67, .04);
}

.ap-section-nav__inner {
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: 25px;
    overflow-x: auto;
    scrollbar-width: none;
}

.ap-section-nav__inner::-webkit-scrollbar { display: none; }

.ap-section-nav__inner > span {
    flex: 0 0 auto;
    color: var(--ap-ink);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ap-section-nav__inner a {
    position: relative;
    flex: 0 0 auto;
    padding: 21px 0 19px;
    color: #667890;
    font-size: .84rem;
    font-weight: 650;
    transition: color .2s ease;
}

.ap-section-nav__inner a::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, var(--ap-blue), var(--ap-cyan));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

.ap-section-nav__inner a:hover,
.ap-section-nav__inner a.is-active {
    color: var(--ap-blue-dark);
}

.ap-section-nav__inner a:hover::after,
.ap-section-nav__inner a.is-active::after {
    transform: scaleX(1);
}

/* Intro */
.ap-section--intro {
    padding-top: clamp(92px, 10vw, 145px);
}

.ap-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(52px, 7vw, 90px);
    align-items: center;
}

.ap-split--photo {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
}

.ap-photo-card {
    position: relative;
    margin-bottom: 0;
    padding: 12px;
    border: 1px solid var(--ap-line-soft);
    border-radius: var(--ap-radius-lg);
    background: #fff;
    box-shadow: var(--ap-shadow-md);
}

.ap-photo-card::before {
    position: absolute;
    right: -42px;
    bottom: -38px;
    z-index: -1;
    width: 210px;
    height: 210px;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(22, 201, 223, .22), rgba(22, 201, 223, 0) 68%);
}

.ap-photo-card img {
    width: 100%;
    border-radius: 23px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.ap-photo-card--inline {
    max-width: 520px;
    margin-top: 26px;
}

.ap-photo-card--inline::before {
    right: auto;
    left: -36px;
    bottom: -32px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(151, 41, 255, .14), rgba(41, 205, 255, 0) 70%);
}

.ap-photo-card--inline img {
    aspect-ratio: 4 / 3;
}

.ap-photo-card figcaption,
.ap-product-shot figcaption,
.ap-profile-demo figcaption {
    padding: 11px 7px 2px;
    color: var(--ap-muted);
    font-size: .73rem;
    line-height: 1.45;
}

.ap-copy > p {
    font-size: 1.02rem;
}

.ap-insight {
    display: flex;
    gap: 15px;
    margin: 30px 0 25px;
    padding: 20px;
    border: 1px solid #dce9f5;
    border-radius: var(--ap-radius-sm);
    background: linear-gradient(135deg, #f8fcff, #f6f5ff);
}

.ap-insight__icon {
    display: grid;
    flex: 0 0 40px;
    height: 40px;
    place-items: center;
    color: var(--ap-blue);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(37, 84, 139, .1);
}

.ap-insight__icon svg {
    width: 20px;
    height: 20px;
}

.ap-insight strong {
    display: block;
    margin-bottom: 4px;
    color: var(--ap-ink-2);
    line-height: 1.4;
}

.ap-insight p {
    margin-bottom: 0;
    color: var(--ap-muted);
    font-size: .9rem;
}

.ap-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ap-blue-dark);
    font-size: .9rem;
    font-weight: 750;
}

.ap-text-link svg {
    width: 17px;
    height: 17px;
    transition: transform .2s ease;
}

.ap-text-link:hover svg {
    transform: translateX(4px);
}

/* Journey */
.ap-section--tinted {
    background:
        radial-gradient(circle at 10% 10%, rgba(22, 201, 223, .08), transparent 24%),
        radial-gradient(circle at 88% 8%, rgba(118, 104, 247, .08), transparent 27%),
        #f5f9fc;
}

.ap-journey {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ap-journey__item {
    position: relative;
    min-height: 280px;
    padding: 28px 23px 22px;
    border: 1px solid #e0eaf3;
    border-radius: 21px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 13px 35px rgba(29, 59, 94, .055);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ap-journey__item:hover {
    z-index: 2;
    border-color: rgba(36, 104, 242, .24);
    box-shadow: 0 20px 45px rgba(29, 59, 94, .1);
    transform: translateY(-5px);
}

.ap-journey__number {
    position: absolute;
    top: 18px;
    right: 19px;
    color: #9aacc1;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ap-icon-box {
    display: grid;
    width: 47px;
    height: 47px;
    margin-bottom: 24px;
    place-items: center;
    color: var(--ap-blue);
    border: 1px solid rgba(36, 104, 242, .08);
    border-radius: 14px;
    background: linear-gradient(145deg, #edf5ff, #f0edff);
    box-shadow: 0 8px 20px rgba(36, 104, 242, .1);
}

.ap-icon-box svg {
    width: 23px;
    height: 23px;
}

.ap-journey__item:nth-child(2n) .ap-icon-box {
    color: #6a5de7;
    background: linear-gradient(145deg, #f2efff, #f2fbff);
}

.ap-journey__item:nth-child(3n) .ap-icon-box {
    color: var(--ap-teal);
    background: linear-gradient(145deg, #eafbf8, #eef8ff);
}

.ap-journey__item h3 {
    font-size: 1.06rem;
}

.ap-journey__item p {
    margin-bottom: 19px;
    color: #61748c;
    font-size: .86rem;
    line-height: 1.58;
}

.ap-journey__data {
    display: inline-block;
    color: #6d7f95;
    font-size: .66rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ap-journey__item--highlight {
    color: #fff;
    border-color: rgba(42, 105, 246, .08);
    background: linear-gradient(135deg, #355cf5 0%, #2979f1 42%, #18b4ea 100%);
    box-shadow: 0 24px 50px rgba(39, 97, 222, .24);
}

.ap-journey__item--highlight:hover {
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 28px 58px rgba(39, 97, 222, .3);
}

.ap-journey__item--highlight .ap-journey__number,
.ap-journey__item--highlight .ap-journey__data {
    color: rgba(255, 255, 255, .72);
}

.ap-journey__item--highlight .ap-icon-box {
    color: #fff;
    border-color: rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 10px 26px rgba(9, 35, 96, .18);
}

.ap-journey__item--highlight h3,
.ap-journey__item--highlight p,
.ap-journey__item--highlight strong {
    background: none;
    color: #fff;
    -webkit-text-fill-color: initial;
}

.ap-journey__item--highlight p {
    color: rgba(255, 255, 255, .92);
}

.ap-journey__item--highlight strong {
    font-weight: 800;
}

.ap-journey__footer {
    display: flex;
    max-width: 850px;
    align-items: center;
    gap: 15px;
    margin: 30px auto 0;
    padding: 20px 24px;
    border: 1px solid rgba(36, 104, 242, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 10px 30px rgba(24, 61, 103, .05);
}

.ap-journey__footer > svg {
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    color: var(--ap-blue);
}

.ap-journey__footer p {
    margin: 0;
    color: #53677f;
    font-size: .92rem;
}

.ap-journey__footer strong {
    color: var(--ap-ink-2);
}

/* Complete profile */
.ap-split--dashboard {
    grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
}

.ap-feature-list {
    display: grid;
    gap: 18px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

.ap-feature-list li {
    display: flex;
    gap: 14px;
}

.ap-feature-list li > span {
    display: grid;
    flex: 0 0 40px;
    height: 40px;
    place-items: center;
    color: var(--ap-blue);
    border-radius: 12px;
    background: #edf5ff;
}

.ap-feature-list li > span svg {
    width: 20px;
    height: 20px;
}

.ap-feature-list strong {
    display: block;
    margin-bottom: 3px;
    color: var(--ap-ink-2);
    font-size: .94rem;
}

.ap-feature-list p {
    margin: 0;
    color: var(--ap-muted);
    font-size: .85rem;
    line-height: 1.55;
}

.ap-profile-demo {
    position: relative;
    margin: 0;
    padding: 18px;
    border: 1px solid #dce6ef;
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--ap-shadow-lg);
}

.ap-profile-demo::before {
    position: absolute;
    top: -80px;
    right: -70px;
    z-index: -1;
    width: 270px;
    height: 270px;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(118, 104, 247, .17), rgba(118, 104, 247, 0) 68%);
}

.ap-profile-demo__topbar,
.ap-profile-demo__person {
    display: flex;
    align-items: center;
}

.ap-profile-demo__topbar {
    justify-content: space-between;
    margin-bottom: 17px;
    padding: 1px 4px;
}

.ap-profile-demo__crumb {
    color: #6f8095;
    font-size: .72rem;
    font-weight: 650;
}

.ap-profile-demo__crumb span {
    padding: 0 4px;
    color: #b2bfcb;
}

.ap-demo-label {
    padding: 5px 9px;
    color: #6c5ee6;
    border: 1px solid #e0dafc;
    border-radius: 999px;
    background: #f5f2ff;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ap-profile-demo__person {
    position: relative;
    gap: 12px;
    padding: 17px;
    border: 1px solid #e7edf3;
    border-radius: 17px;
    background: linear-gradient(130deg, #f8fbff, #f8f6ff);
}

.ap-avatar {
    display: grid;
    flex: 0 0 46px;
    height: 46px;
    place-items: center;
    color: #fff;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--ap-blue), var(--ap-violet));
    box-shadow: 0 9px 18px rgba(54, 89, 217, .22);
    font-size: .82rem;
    font-weight: 800;
}

.ap-profile-demo__person strong,
.ap-profile-demo__person > div > span {
    display: block;
}

.ap-profile-demo__person strong {
    margin-bottom: 2px;
    color: var(--ap-ink);
    font-size: .94rem;
}

.ap-profile-demo__person > div > span {
    color: var(--ap-muted);
    font-size: .68rem;
}

.ap-status {
    margin-left: auto;
    padding: 6px 10px;
    color: #08795d;
    border: 1px solid #cdeee5;
    border-radius: 999px;
    background: #eaf9f5;
    font-size: .59rem;
    font-weight: 800;
}

.ap-profile-demo__tabs {
    display: flex;
    gap: 20px;
    margin: 17px 0 12px;
    padding: 0 7px 10px;
    overflow-x: auto;
    border-bottom: 1px solid #e9eff4;
    color: #8290a1;
    font-size: .65rem;
    font-weight: 700;
    white-space: nowrap;
}

.ap-profile-demo__tabs span {
    position: relative;
}

.ap-profile-demo__tabs .is-active {
    color: var(--ap-blue-dark);
}

.ap-profile-demo__tabs .is-active::after {
    position: absolute;
    right: 0;
    bottom: -11px;
    left: 0;
    height: 2px;
    content: "";
    background: var(--ap-blue);
}

.ap-profile-demo__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}

.ap-demo-card {
    min-height: 141px;
    padding: 14px;
    border: 1px solid #e7edf3;
    border-radius: 15px;
    background: #fbfdff;
}

.ap-demo-card--wide {
    grid-column: 1 / -1;
    min-height: auto;
}

.ap-demo-card__label {
    display: block;
    margin-bottom: 11px;
    color: #8796a8;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ap-demo-relations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.ap-demo-relations > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 9px;
    border-radius: 10px;
    background: #f3f7fb;
}

.ap-demo-relations svg {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    color: var(--ap-blue);
}

.ap-demo-relations small,
.ap-demo-relations strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ap-demo-relations small {
    color: #8795a5;
    font-size: .51rem;
}

.ap-demo-relations strong {
    color: var(--ap-ink-2);
    font-size: .62rem;
}

.ap-donut {
    display: grid;
    width: 73px;
    height: 73px;
    margin: 3px auto 0;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--ap-blue) calc(var(--ap-value) * 1%), #e7eef6 0);
}

.ap-donut::before {
    grid-area: 1 / 1;
    width: 55px;
    height: 55px;
    content: "";
    border-radius: 50%;
    background: #fbfdff;
}

.ap-donut span {
    grid-area: 1 / 1;
    z-index: 1;
    color: var(--ap-ink);
    font-size: 1rem;
    font-weight: 800;
}

.ap-donut small {
    font-size: .56rem;
}

.ap-demo-card__metric {
    display: block;
    margin: 21px 0 2px;
    color: var(--ap-ink);
    font-size: 1.55rem;
    line-height: 1;
}

.ap-demo-card__hint {
    color: #a06a14;
    font-size: .6rem;
    font-weight: 700;
}

.ap-demo-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ap-demo-timeline li {
    display: flex;
    gap: 7px;
    min-width: 0;
}

.ap-demo-timeline i {
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin-top: 4px;
    border-radius: 50%;
    background: var(--ap-cyan);
    box-shadow: 0 0 0 4px rgba(22, 201, 223, .11);
}

.ap-demo-timeline li:nth-child(2) i { background: var(--ap-violet); box-shadow: 0 0 0 4px rgba(118, 104, 247, .11); }
.ap-demo-timeline li:nth-child(3) i { background: var(--ap-teal); box-shadow: 0 0 0 4px rgba(0, 169, 143, .11); }

.ap-demo-timeline strong,
.ap-demo-timeline small {
    display: block;
}

.ap-demo-timeline strong {
    margin-bottom: 2px;
    color: var(--ap-ink-2);
    font-size: .58rem;
    line-height: 1.35;
}

.ap-demo-timeline small {
    color: #8795a6;
    font-size: .51rem;
    line-height: 1.4;
}

/* Dark resource section */
.ap-section--dark {
    overflow: hidden;
    color: #d7e7f6;
    background:
        radial-gradient(circle at 12% 0, rgba(41, 205, 255, .18), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(151, 41, 255, .22), transparent 32%),
        linear-gradient(135deg, #071a46 0%, #0b2b65 42%, #251d73 72%, #3c238b 100%);
}

.ap-section--dark::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .16;
    background-image:
        linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(120deg, #000, transparent 70%);
}

.ap-section--dark .ap-kicker {
    color: #6de4f3;
}

.ap-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.ap-resource-card {
    position: relative;
    overflow: hidden;
    padding: 27px 25px 25px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 21px;
    background: linear-gradient(145deg, rgba(151, 41, 255, .18), rgba(41, 205, 255, .13));
    box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 18px 36px rgba(6, 16, 53, .16);
    transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.ap-resource-card::after {
    position: absolute;
    top: -70px;
    right: -70px;
    width: 170px;
    height: 170px;
    content: "";
    border-radius: 50%;
    background: radial-gradient(circle, rgba(41, 205, 255, .20), rgba(151, 41, 255, .06) 62%, transparent 72%);
    transition: transform .35s ease;
}

.ap-resource-card:hover {
    border-color: rgba(41, 205, 255, .34);
    background: linear-gradient(145deg, rgba(151, 41, 255, .24), rgba(41, 205, 255, .18));
    box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 22px 46px rgba(6, 16, 53, .22);
    transform: translateY(-5px);
}

.ap-resource-card:hover::after {
    transform: scale(1.35);
}

.ap-resource-card__icon {
    display: grid;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    place-items: center;
    color: #eafcff;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(41, 205, 255, .18), rgba(151, 41, 255, .18));
}

.ap-resource-card:nth-child(2n) .ap-resource-card__icon {
    background: linear-gradient(145deg, rgba(151, 41, 255, .24), rgba(41, 205, 255, .12));
}

.ap-resource-card:nth-child(3n) .ap-resource-card__icon {
    background: linear-gradient(145deg, rgba(41, 205, 255, .22), rgba(151, 41, 255, .14));
}

.ap-resource-card__icon svg {
    width: 23px;
    height: 23px;
}

.ap-resource-card h3 {
    color: #fff;
    font-size: 1.07rem;
}

.ap-resource-card p {
    min-height: 75px;
    margin-bottom: 19px;
    color: rgba(235, 245, 255, .9);
    font-size: .84rem;
    line-height: 1.58;
}

.ap-resource-card ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    color: rgba(245, 250, 255, .95);
    font-size: .72rem;
    list-style: none;
}

.ap-resource-card li {
    position: relative;
    padding-left: 16px;
}

.ap-resource-card li::before {
    position: absolute;
    top: .68em;
    left: 0;
    width: 5px;
    height: 5px;
    content: "";
    border-radius: 50%;
    background: #7ce4ff;
}

/* Product showcase */
.ap-section--showcase {
    padding-bottom: clamp(60px, 7vw, 95px);
}

.ap-showcase-row {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
    gap: clamp(50px, 7vw, 94px);
    align-items: center;
    padding: clamp(40px, 5vw, 70px) 0;
}

.ap-showcase-row + .ap-showcase-row {
    margin-top: 35px;
    border-top: 1px solid var(--ap-line-soft);
}

.ap-showcase-row--reverse {
    grid-template-columns: minmax(480px, 1.12fr) minmax(0, .88fr);
}

.ap-showcase-row--reverse .ap-showcase-copy {
    order: 2;
}

.ap-showcase-row--reverse .ap-product-shot {
    order: 1;
}

.ap-showcase-copy > p {
    font-size: 1.01rem;
}

.ap-check-list {
    display: grid;
    gap: 12px;
    margin: 26px 0 0;
    padding: 0;
    color: #435972;
    font-size: .9rem;
    font-weight: 650;
    list-style: none;
}

.ap-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.ap-check-list svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 4px;
    padding: 3px;
    color: #fff;
    border-radius: 50%;
    background: var(--ap-teal);
    stroke-width: 2.6;
}

.ap-product-shot {
    position: relative;
    width: min(100%, 495px);
    margin: 0;
    padding: 13px;
    justify-self: end;
    border: 1px solid #dce5ef;
    border-radius: 29px;
    background: #fff;
    box-shadow: var(--ap-shadow-md);
}

.ap-showcase-row--reverse .ap-product-shot {
    justify-self: start;
}

.ap-product-shot img {
    width: 100%;
    aspect-ratio: 704 / 544;
    object-fit: cover;
    border-radius: 20px;
}

.ap-product-shot__halo {
    position: absolute;
    top: -60px;
    right: -60px;
    z-index: -1;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(214, 129, 245, .22), rgba(118, 104, 247, 0) 70%);
}

.ap-product-shot__halo--blue {
    right: auto;
    left: -65px;
    background: radial-gradient(circle, rgba(67, 178, 246, .22), rgba(22, 201, 223, 0) 70%);
}

/* Signals */
.ap-section--signals {
    background: linear-gradient(180deg, #f7fafc, #f2f7fb);
}

.ap-signal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

.ap-signal-card {
    min-height: 250px;
    padding: 24px;
    border: 1px solid #dfe8f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 31px rgba(21, 52, 88, .055);
    transition: transform .22s ease, box-shadow .22s ease;
}

.ap-signal-card:hover {
    box-shadow: 0 20px 42px rgba(21, 52, 88, .09);
    transform: translateY(-4px);
}

.ap-signal-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 26px;
}

.ap-signal-card__top > span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: var(--ap-blue);
    border-radius: 13px;
    background: #edf5ff;
}

.ap-signal-card:nth-child(2) .ap-signal-card__top > span { color: var(--ap-violet); background: #f2efff; }
.ap-signal-card:nth-child(3) .ap-signal-card__top > span { color: var(--ap-teal); background: #ebfaf6; }
.ap-signal-card:nth-child(4) .ap-signal-card__top > span { color: #c46bd7; background: #fbf0fd; }

.ap-signal-card__top svg {
    width: 21px;
    height: 21px;
}

.ap-signal-card__top em {
    color: #91a0b1;
    font-size: .61rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ap-signal-card h3 {
    font-size: 1.02rem;
}

.ap-signal-card p {
    margin-bottom: 0;
    color: #667991;
    font-size: .83rem;
    line-height: 1.6;
}

/* Comparison */
.ap-table-wrap {
    overflow-x: auto;
    border: 1px solid #dfe8f0;
    border-radius: 23px;
    background: #fff;
    box-shadow: var(--ap-shadow-sm);
}

.ap-comparison-table {
    width: 100%;
    min-width: 830px;
    border-collapse: collapse;
    color: var(--ap-text);
    font-size: .84rem;
}

.ap-comparison-table th,
.ap-comparison-table td {
    padding: 20px 18px;
    border-bottom: 1px solid #e8eef4;
    text-align: left;
    vertical-align: middle;
}

.ap-comparison-table thead th {
    color: #687b91;
    background: #f8fafc;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ap-comparison-table thead th:first-child {
    width: 31%;
    border-radius: 22px 0 0;
}

.ap-comparison-table thead th:last-child {
    border-radius: 0 22px 0 0;
}

.ap-comparison-table tbody th {
    color: var(--ap-ink-2);
    font-weight: 700;
}

.ap-comparison-table tbody tr:last-child th,
.ap-comparison-table tbody tr:last-child td {
    border-bottom: 0;
}

.ap-comparison-table .is-highlighted {
    background: #f0f6ff;
}

.ap-comparison-table thead .is-highlighted {
    color: #fff;
    background: linear-gradient(135deg, var(--ap-blue), #6158eb);
}

.ap-cell-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .76rem;
    font-weight: 700;
}

.ap-cell-status svg {
    width: 18px;
    height: 18px;
    padding: 3px;
    border-radius: 50%;
    stroke-width: 2.4;
}

.ap-cell-status--yes { color: #087b5d; }
.ap-cell-status--yes svg { color: #fff; background: #0cae82; }
.ap-cell-status--partial { color: #8c641c; }
.ap-cell-status--partial svg { color: #aa7618; background: #fff0cd; }
.ap-cell-status--no { color: #a34b5a; }
.ap-cell-status--no svg { color: #c14d60; background: #ffe8ec; }

.ap-table-note {
    margin: 12px 5px 0;
    color: var(--ap-muted);
    font-size: .71rem;
}

.ap-comparison-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 33px;
    padding: 23px 25px;
    border: 1px solid #dce8f3;
    border-radius: 19px;
    background: linear-gradient(120deg, #f6fbff, #f7f5ff);
}

.ap-comparison-cta strong {
    display: block;
    margin-bottom: 2px;
    color: var(--ap-ink);
}

.ap-comparison-cta p {
    margin: 0;
    color: var(--ap-muted);
    font-size: .82rem;
}

/* Roles */
.ap-section--roles {
    background:
        radial-gradient(circle at 15% 100%, rgba(22, 201, 223, .07), transparent 26%),
        radial-gradient(circle at 88% 0, rgba(118, 104, 247, .07), transparent 28%),
        #f7fafc;
}

.ap-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.ap-role-card {
    display: grid;
    grid-template-columns: 45px 1fr;
    grid-template-rows: auto auto;
    column-gap: 15px;
    padding: 24px;
    border: 1px solid #dfe8f1;
    border-radius: 19px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 29px rgba(24, 53, 87, .045);
}

.ap-role-card > span {
    display: grid;
    grid-row: 1 / 3;
    width: 45px;
    height: 45px;
    place-items: center;
    color: var(--ap-blue);
    border-radius: 14px;
    background: linear-gradient(145deg, #edf5ff, #f1efff);
}

.ap-role-card:nth-child(2n) > span { color: var(--ap-teal); background: linear-gradient(145deg, #eafaf6, #eef8ff); }
.ap-role-card:nth-child(3n) > span { color: var(--ap-violet); background: linear-gradient(145deg, #f2efff, #f8f2ff); }

.ap-role-card svg {
    width: 21px;
    height: 21px;
}

.ap-role-card h3 {
    align-self: end;
    margin-bottom: 5px;
    font-size: .98rem;
}

.ap-role-card p {
    margin: 0;
    color: #6c7e92;
    font-size: .78rem;
    line-height: 1.52;
}

/* Implementation */
.ap-implementation {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
    gap: clamp(55px, 8vw, 100px);
    align-items: center;
}

.ap-implementation__copy p {
    max-width: 570px;
    margin-bottom: 28px;
    font-size: 1.02rem;
}

.ap-implementation__steps {
    position: relative;
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ap-implementation__steps li {
    position: relative;
    display: flex;
    gap: 18px;
    min-height: 105px;
    padding: 18px 20px;
    border: 1px solid #dfe8f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 11px 28px rgba(18, 48, 83, .05);
}

.ap-implementation__steps li > span {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 0 0 40px;
    height: 40px;
    place-items: center;
    color: #fff;
    border: 5px solid #fff;
    border-radius: 50%;
    background: var(--ap-blue);
    box-shadow: 0 0 0 1px rgba(36, 104, 242, .16);
    font-size: .61rem;
    font-weight: 800;
}

.ap-implementation__steps li:nth-child(2) > span { background: #3d8eea; }
.ap-implementation__steps li:nth-child(3) > span { background: var(--ap-teal); }
.ap-implementation__steps li:nth-child(4) > span { background: var(--ap-violet); }

.ap-implementation__steps h3 {
    margin: 4px 0 4px;
    font-size: .96rem;
}

.ap-implementation__steps p {
    margin: 0;
    color: #6c7f94;
    font-size: .78rem;
    line-height: 1.52;
}

/* FAQ */
.ap-section--faq {
    background: #f4f8fb;
}

.ap-faq-layout {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(550px, 1.28fr);
    gap: clamp(50px, 7vw, 92px);
    align-items: start;
}

.ap-faq-intro {
    position: sticky;
    top: 30px;
}

.ap-faq-intro p {
    color: #63768d;
}

.ap-faq-list {
    display: grid;
    gap: 11px;
}

.ap-faq-item {
    overflow: hidden;
    border: 1px solid #dce6ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(20, 50, 84, .035);
}

.ap-faq-item summary {
    position: relative;
    display: flex;
    min-height: 70px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 19px 22px;
    color: var(--ap-ink-2);
    cursor: pointer;
    font-size: .91rem;
    font-weight: 750;
    line-height: 1.4;
    list-style: none;
}

.ap-faq-item summary::-webkit-details-marker { display: none; }

.ap-faq-item summary > span {
    position: relative;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #edf4fb;
}

.ap-faq-item summary > span::before,
.ap-faq-item summary > span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1.5px;
    content: "";
    border-radius: 2px;
    background: var(--ap-blue);
    transform: translate(-50%, -50%);
    transition: transform .2s ease;
}

.ap-faq-item summary > span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.ap-faq-item[open] summary > span::after {
    transform: translate(-50%, -50%) rotate(0);
}

.ap-faq-item[open] summary {
    color: var(--ap-blue-dark);
}

.ap-faq-item > div {
    padding: 0 22px 20px;
}

.ap-faq-item > div p {
    margin: 0;
    color: #60738a;
    font-size: .85rem;
    line-height: 1.7;
}

/* Related content */
.ap-section--related {
    padding-top: clamp(75px, 8vw, 105px);
    padding-bottom: clamp(76px, 8vw, 110px);
}

.ap-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.ap-related-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    padding: 14px 14px 20px;
    overflow: hidden;
    border: 1px solid #dfe8f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(21, 50, 84, .05);
    transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}

.ap-related-card:hover {
    border-color: rgba(36, 104, 242, .22);
    box-shadow: 0 20px 43px rgba(21, 50, 84, .1);
    transform: translateY(-5px);
}

.ap-related-card__media {
    margin: -14px -14px 16px;
    overflow: hidden;
    border-radius: 18px 18px 14px 14px;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #eef6ff, #f5f3ff);
}

.ap-related-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ap-related-card > span {
    align-self: flex-start;
    margin-bottom: 15px;
    padding: 5px 9px;
    color: var(--ap-blue-dark);
    border-radius: 999px;
    background: #edf5ff;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ap-related-card:nth-child(2) > span { color: #6659dd; background: #f1efff; }
.ap-related-card:nth-child(3) > span { color: #087b60; background: #eaf9f5; }

.ap-related-card h3 {
    margin-bottom: 13px;
    font-size: 1.06rem;
    line-height: 1.3;
}

.ap-related-card p {
    margin-bottom: 20px;
    color: #687b91;
    font-size: .82rem;
    line-height: 1.6;
}

.ap-related-card em {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    color: var(--ap-blue-dark);
    font-size: .76rem;
    font-style: normal;
    font-weight: 750;
}

.ap-related-card em svg {
    width: 16px;
    height: 16px;
    transition: transform .2s ease;
}

.ap-related-card:hover em svg {
    transform: translateX(4px);
}

/* Final CTA */
.ap-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(75px, 8vw, 112px) 0;
    color: #e6f5ff;
    background:
        radial-gradient(circle at 15% 15%, rgba(41, 205, 255, .26), transparent 28%),
        radial-gradient(circle at 82% 38%, rgba(151, 41, 255, .32), transparent 32%),
        linear-gradient(135deg, #08214a 0%, #143679 38%, #4b2fb4 76%, #6a37d4 100%);
}

.ap-final-cta::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .2;
    background-image:
        linear-gradient(rgba(255, 255, 255, .13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .13) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.ap-final-cta__glow {
    position: absolute;
    top: -170px;
    right: 6%;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    box-shadow:
        0 0 0 75px rgba(151, 41, 255, .11),
        0 0 0 150px rgba(41, 205, 255, .07);
}

.ap-final-cta__media {
    position: absolute;
    right: clamp(16px, 4vw, 54px);
    bottom: 0;
    width: min(38vw, 510px);
    margin: 0;
    opacity: .28;
    pointer-events: none;
    z-index: 0;
}

.ap-final-cta__media::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 28px 28px 0 0;
    background: linear-gradient(180deg, rgba(8, 33, 74, .08) 0%, rgba(8, 33, 74, .46) 100%);
}

.ap-final-cta__media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 28px 28px 0 0;
    box-shadow: 0 30px 80px rgba(5, 20, 54, .22);
}

.ap-final-cta__inner {
    position: relative;
    z-index: 1;
}

.ap-final-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 50px;
    align-items: center;
}

.ap-final-cta h2 {
    max-width: 780px;
    margin-bottom: 18px;
    color: #fff;
}

.ap-final-cta p {
    max-width: 720px;
    margin-bottom: 0;
    color: rgba(235, 246, 255, .9);
    font-size: 1.01rem;
}

.ap-final-cta__actions {
    display: grid;
    min-width: 245px;
    gap: 11px;
}

/* Progressive reveal */
.ap-page.ap-js .ap-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s cubic-bezier(.2, .7, .2, 1), transform .65s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--ap-delay, 0ms);
}

.ap-page.ap-js .ap-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 1120px) {
    .ap-hero__grid {
        grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
        gap: 45px;
    }

    .ap-floating-card--areas { left: -8px; }
    .ap-floating-card--status { right: -7px; }

    .ap-journey {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ap-signal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .ap-hero {
        min-height: auto;
        padding-top: 65px;
    }

    .ap-hero__grid,
    .ap-split,
    .ap-split--photo,
    .ap-split--dashboard,
    .ap-showcase-row,
    .ap-implementation,
    .ap-faq-layout,
    .ap-final-cta__inner {
        grid-template-columns: 1fr;
    }

    .ap-hero__copy {
        max-width: 760px;
    }

    .ap-hero__visual {
        width: min(100%, 760px);
        margin-inline: auto;
    }

    .ap-browser {
        transform: none;
    }

    .ap-split--photo .ap-photo-card {
        width: min(100%, 720px);
        margin-inline: auto;
    }

    .ap-resource-grid,
    .ap-role-grid,
    .ap-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ap-showcase-row--reverse .ap-showcase-copy,
    .ap-showcase-row--reverse .ap-product-shot {
        order: initial;
    }

    .ap-product-shot {
        width: min(100%, 720px);
        margin-inline: auto;
    }

    .ap-implementation__copy {
        max-width: 760px;
    }

    .ap-faq-intro {
        position: static;
        max-width: 760px;
    }

    .ap-final-cta__actions {
        display: flex;
        min-width: 0;
        flex-wrap: wrap;
    }
}

@media (max-width: 720px) {
    .ap-container {
        width: min(calc(100% - 28px), var(--ap-container));
    }

    .ap-section {
        padding: 72px 0;
    }

    .ap-page h1 {
        font-size: clamp(2.42rem, 12vw, 3.7rem);
    }

    .ap-page h2 {
        font-size: clamp(1.95rem, 9vw, 2.8rem);
    }

    .ap-hero {
        padding-top: 45px;
        padding-bottom: 88px;
    }

    .ap-breadcrumb {
        margin-bottom: 25px;
        font-size: .74rem;
    }

    .ap-eyebrow {
        font-size: .67rem;
    }

    .ap-actions,
    .ap-final-cta__actions {
        display: grid;
        width: 100%;
    }

    .ap-button {
        width: 100%;
    }

    .ap-hero__checks {
        display: grid;
    }

    .ap-hero__visual {
        padding-bottom: 73px;
    }

    .ap-floating-card {
        max-width: 220px;
    }

    .ap-floating-card--areas {
        top: auto;
        bottom: 2px;
        left: 0;
        grid-template-columns: 68px minmax(0, 1fr);
        width: 270px;
        max-width: 270px;
        column-gap: 13px;
    }

    .ap-floating-card--status {
        right: 0;
        bottom: -53px;
    }

    .ap-browser__address {
        width: 65%;
    }

    .ap-section-nav__inner {
        gap: 20px;
    }

    .ap-section-nav__inner > span {
        display: none;
    }

    .ap-journey,
    .ap-resource-grid,
    .ap-signal-grid,
    .ap-role-grid,
    .ap-related-grid {
        grid-template-columns: 1fr;
    }

    .ap-journey__item {
        min-height: 0;
    }

    .ap-journey__footer {
        align-items: flex-start;
    }

    .ap-profile-demo {
        padding: 13px;
        border-radius: 22px;
    }

    .ap-status {
        display: none;
    }

    .ap-profile-demo__grid {
        grid-template-columns: 1fr;
    }

    .ap-demo-card--wide {
        grid-column: auto;
    }

    .ap-demo-relations,
    .ap-demo-timeline {
        grid-template-columns: 1fr;
    }

    .ap-resource-card p {
        min-height: 0;
    }

    .ap-showcase-row {
        padding: 34px 0;
    }

    .ap-comparison-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .ap-role-card {
        grid-template-columns: 42px 1fr;
        padding: 21px;
    }

    .ap-implementation__steps li {
        min-height: 0;
    }

    .ap-faq-item summary {
        min-height: 66px;
        padding: 17px 18px;
        font-size: .86rem;
    }

    .ap-faq-item > div {
        padding: 0 18px 18px;
    }

    .ap-final-cta {
        padding: 78px 0;
    }
}

@media (max-width: 430px) {
    .ap-page {
        font-size: 15px;
    }

    .ap-hero__visual {
        margin-top: -8px;
    }

    .ap-floating-card {
        padding: 10px 12px;
    }

    .ap-floating-card--status {
        display: none;
    }

    .ap-floating-card--areas {
        right: 8px;
        bottom: -33px;
        left: 8px;
        grid-template-columns: 68px minmax(0, 1fr);
        width: auto;
        max-width: none;
        column-gap: 12px;
    }

    .ap-demo-label {
        display: none;
    }

    .ap-comparison-cta {
        padding: 20px;
    }
}


/* Contrast refinements for branded dark sections */
.ap-section--dark .ap-section-heading h2,
.ap-final-cta h2 {
    background: linear-gradient(90deg, #ffffff 0%, #dff9ff 54%, #c6b8ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.ap-resource-card h3 {
    background: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.ap-table-scroll-hint {
    display: none;
}

.ap-table-wrap {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
}

/* Mobile QA pass */
@media (max-width: 720px) {
    .ap-container {
        width: min(calc(100% - 32px), var(--ap-container));
    }

    .ap-section {
        padding: 64px 0;
    }

    .ap-section--intro,
    .ap-section--related {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .ap-page h1 {
        font-size: clamp(2.15rem, 10vw, 2.75rem);
        line-height: 1.05;
        letter-spacing: -.052em;
    }

    .ap-page h2 {
        font-size: clamp(1.72rem, 7.6vw, 2.1rem);
        line-height: 1.08;
        letter-spacing: -.042em;
    }

    .ap-page h3 {
        line-height: 1.22;
    }

    .ap-section-heading {
        margin-bottom: 36px;
    }

    .ap-section-heading > p {
        line-height: 1.62;
    }

    .ap-kicker {
        margin-bottom: 14px;
    }

    .ap-hero {
        padding-top: 36px;
        padding-bottom: 76px;
    }

    .ap-breadcrumb {
        margin-bottom: 22px;
        gap: 7px;
    }

    .ap-eyebrow {
        max-width: 100%;
        margin-bottom: 18px;
        padding: 9px 12px;
        font-size: .64rem;
        letter-spacing: .12em;
    }

    .ap-hero__lead {
        margin-bottom: 24px;
        font-size: 1rem;
        line-height: 1.62;
    }

    .ap-actions {
        gap: 10px;
        margin-bottom: 24px;
    }

    .ap-button {
        min-height: 50px;
        padding: 13px 17px;
    }

    .ap-hero__checks {
        gap: 10px;
        font-size: .82rem;
        line-height: 1.45;
    }

    .ap-hero__checks li {
        align-items: flex-start;
    }

    .ap-hero__checks svg {
        margin-top: 2px;
    }

    .ap-hero__visual {
        margin-top: 8px;
        padding-top: 20px;
        padding-bottom: 58px;
    }

    .ap-browser {
        border-radius: 21px;
    }

    .ap-floating-card--areas {
        grid-template-columns: 64px minmax(0, 1fr);
        column-gap: 12px;
    }

    .ap-floating-card__dots {
        width: 64px;
        min-width: 64px;
    }

    .ap-floating-card strong {
        font-size: .74rem;
    }

    .ap-section-nav__inner {
        min-height: 56px;
        gap: 18px;
    }

    .ap-section-nav__inner a {
        padding: 18px 0 16px;
        font-size: .8rem;
    }

    .ap-split,
    .ap-implementation,
    .ap-faq-layout {
        gap: 38px;
    }

    .ap-photo-card,
    .ap-profile-demo {
        border-radius: 24px;
    }

    .ap-insight {
        gap: 12px;
        margin-top: 25px;
        padding: 17px;
    }

    .ap-journey,
    .ap-resource-grid,
    .ap-signal-grid,
    .ap-role-grid,
    .ap-related-grid {
        gap: 14px;
    }

    .ap-journey__item {
        padding: 23px 20px 21px;
    }

    .ap-journey__item .ap-icon-box {
        margin-bottom: 19px;
    }

    .ap-resource-card {
        padding: 23px 20px;
    }

    .ap-showcase-row {
        gap: 28px;
        padding: 30px 0;
    }

    .ap-showcase-row + .ap-showcase-row {
        margin-top: 20px;
    }

    .ap-product-shot {
        width: 100%;
        padding: 10px;
        border-radius: 24px;
    }

    .ap-product-shot img {
        border-radius: 16px;
    }

    .ap-signal-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .ap-signal-card__top {
        margin-bottom: 18px;
    }

    .ap-table-scroll-hint {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 7px;
        margin: -4px 3px 10px;
        color: var(--ap-blue-dark);
        font-size: .72rem;
        font-weight: 750;
    }

    .ap-table-scroll-hint svg {
        width: 16px;
        height: 16px;
    }

    .ap-table-wrap {
        border-radius: 18px;
    }

    .ap-comparison-table {
        min-width: 760px;
        font-size: .79rem;
    }

    .ap-comparison-table th,
    .ap-comparison-table td {
        padding: 16px 14px;
    }

    .ap-comparison-table thead th:first-child {
        width: 230px;
    }

    .ap-comparison-cta {
        margin-top: 24px;
    }

    .ap-role-card {
        grid-template-columns: 42px 1fr;
        column-gap: 13px;
        padding: 19px;
    }

    .ap-implementation__copy p {
        margin-bottom: 24px;
    }

    .ap-implementation__steps li {
        gap: 14px;
        padding: 17px 18px;
    }

    .ap-faq-layout {
        gap: 34px;
    }

    .ap-faq-list {
        gap: 10px;
    }

    .ap-related-card {
        min-height: 0;
        padding: 14px 14px 18px;
    }

    .ap-related-card__media {
        margin: -14px -14px 14px;
    }

    .ap-related-card > span {
        margin-bottom: 16px;
    }

    .ap-related-card p {
        margin-bottom: 18px;
    }

    .ap-final-cta {
        padding: 64px 0;
    }

    .ap-final-cta__inner {
        gap: 32px;
    }

    .ap-final-cta p {
        font-size: .98rem;
        line-height: 1.62;
    }

    .ap-final-cta__glow {
        top: -135px;
        right: -105px;
        width: 310px;
        height: 310px;
    }
}

@media (max-width: 430px) {
    .ap-page h1 {
        max-width: 100%;
    }

    .ap-page h2 {
        max-width: 100%;
    }

    .ap-section {
        padding: 58px 0;
    }

    .ap-section--intro,
    .ap-section--related {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .ap-section-heading {
        margin-bottom: 32px;
    }

    .ap-hero {
        padding-top: 32px;
        padding-bottom: 70px;
    }

    .ap-floating-card--areas {
        right: 6px;
        left: 6px;
        grid-template-columns: 62px minmax(0, 1fr);
        column-gap: 10px;
        padding: 10px 12px;
    }

    .ap-floating-card__dots {
        width: 62px;
        min-width: 62px;
    }

    .ap-floating-card small {
        font-size: .57rem;
    }

    .ap-floating-card strong {
        font-size: .72rem;
    }

    .ap-journey__item,
    .ap-resource-card,
    .ap-signal-card,
    .ap-related-card {
        border-radius: 18px;
    }

    .ap-final-cta {
        padding: 58px 0;
    }
}

/* Final mobile QA refinement */
.ap-hero__grid > *,
.ap-split > *,
.ap-showcase-row > *,
.ap-implementation > *,
.ap-faq-layout > *,
.ap-final-cta__inner > * {
    min-width: 0;
}

.ap-section--dark .ap-section-heading h2,
.ap-final-cta h2 {
    background: linear-gradient(90deg, #ffffff 0%, #c7f5ff 55%, #79e7ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.ap-resource-card h3 {
    background: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

@media (max-width: 720px) {
    .ap-page {
        font-size: 16px;
        line-height: 1.62;
    }

    .ap-page h1,
    .ap-page h2 {
        max-width: 100%;
        text-wrap: balance;
    }

    .ap-page h1 {
        margin-bottom: 20px;
        font-size: clamp(2.1rem, 6vw, 2.7rem);
        line-height: 1.04;
        letter-spacing: -.05em;
    }

    .ap-page h2 {
        margin-bottom: 18px;
        font-size: clamp(1.76rem, 4.7vw, 2.1rem);
        line-height: 1.08;
        letter-spacing: -.038em;
    }

    .ap-section {
        padding: 62px 0;
    }

    .ap-section-heading {
        max-width: none;
        margin-bottom: 34px;
    }

    .ap-section-heading--center,
    .ap-section-heading--center > p {
        margin-right: 0;
        margin-left: 0;
        text-align: left;
    }

    .ap-section-heading > p,
    .ap-copy > p,
    .ap-showcase-copy > p,
    .ap-implementation__copy p,
    .ap-final-cta p {
        font-size: .98rem;
        line-height: 1.62;
    }

    .ap-kicker {
        margin-bottom: 13px;
        font-size: .68rem;
    }

    .ap-eyebrow {
        max-width: 100%;
        margin-bottom: 18px;
        padding: 9px 12px;
        font-size: .66rem;
        letter-spacing: .11em;
    }

    .ap-hero {
        padding-top: 36px;
        padding-bottom: 74px;
    }

    .ap-hero__grid,
    .ap-split,
    .ap-split--photo,
    .ap-split--dashboard,
    .ap-showcase-row,
    .ap-implementation,
    .ap-faq-layout,
    .ap-final-cta__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .ap-hero__lead {
        font-size: 1rem;
        line-height: 1.64;
    }

    .ap-button {
        min-height: 50px;
        padding: 13px 18px;
        font-size: .88rem;
        line-height: 1.25;
    }

    .ap-hero__checks {
        gap: 10px;
        margin-top: 27px;
        font-size: .84rem;
    }

    .ap-browser,
    .ap-photo-card,
    .ap-profile-demo,
    .ap-product-shot {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .ap-profile-demo {
        overflow: hidden;
    }

    .ap-profile-demo__topbar,
    .ap-profile-demo__person,
    .ap-profile-demo__tabs,
    .ap-profile-demo__grid,
    .ap-demo-card,
    .ap-demo-relations,
    .ap-demo-timeline {
        min-width: 0;
        max-width: 100%;
    }

    .ap-split--photo .ap-copy {
        order: 1;
    }

    .ap-split--photo .ap-photo-card {
        order: 2;
    }

    .ap-section-nav__inner {
        min-height: 57px;
        gap: 18px;
    }

    .ap-section-nav__inner a {
        min-height: 52px;
        padding: 17px 0 15px;
        font-size: .8rem;
    }

    .ap-photo-card,
    .ap-product-shot {
        padding: 10px;
        border-radius: 23px;
    }

    .ap-photo-card img,
    .ap-product-shot img {
        border-radius: 16px;
    }

    .ap-insight {
        gap: 12px;
        margin: 25px 0 22px;
        padding: 17px;
    }

    .ap-journey,
    .ap-resource-grid,
    .ap-signal-grid,
    .ap-role-grid,
    .ap-related-grid {
        gap: 14px;
    }

    .ap-journey__item,
    .ap-resource-card,
    .ap-signal-card,
    .ap-related-card {
        min-height: 0;
        padding: 22px 20px;
    }

    .ap-journey__item p,
    .ap-resource-card p,
    .ap-signal-card p,
    .ap-related-card p {
        font-size: .88rem;
        line-height: 1.6;
    }

    .ap-resource-card ul {
        font-size: .78rem;
    }

    .ap-resource-card__icon,
    .ap-signal-card__top > span {
        width: 43px;
        height: 43px;
    }

    .ap-signal-card__top {
        margin-bottom: 19px;
    }

    .ap-showcase-row {
        gap: 28px;
        padding: 30px 0;
    }

    .ap-showcase-row + .ap-showcase-row {
        margin-top: 22px;
    }

    .ap-check-list {
        gap: 10px;
        margin-top: 22px;
        font-size: .88rem;
    }

    /* Mobile comparison cards: no clipped or horizontally hidden columns. */
    .ap-table-scroll-hint {
        display: none;
    }

    .ap-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .ap-comparison-table {
        display: block;
        min-width: 0;
        border-collapse: separate;
        font-size: .86rem;
    }

    .ap-comparison-table thead {
        position: absolute;
        display: block;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
        contain: strict;
    }

    .ap-comparison-table thead tr,
    .ap-comparison-table thead th {
        display: block;
        overflow: hidden;
        width: 1px !important;
        min-width: 0 !important;
        max-width: 1px !important;
        height: 1px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .ap-comparison-table tbody {
        display: grid;
        gap: 14px;
    }

    .ap-comparison-table tbody tr {
        display: block;
        overflow: hidden;
        border: 1px solid #dfe8f0;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(21, 52, 88, .055);
    }

    .ap-comparison-table tbody th {
        display: block;
        padding: 16px;
        border-bottom: 1px solid #e8eef4;
        background: #f8fbff;
        font-size: .92rem;
        line-height: 1.45;
    }

    .ap-comparison-table tbody td {
        display: grid;
        grid-template-columns: minmax(84px, .42fr) minmax(0, 1fr);
        gap: 11px;
        align-items: center;
        padding: 11px 16px;
        border-bottom: 1px solid #e8eef4;
    }

    .ap-comparison-table tbody td:last-child {
        border-bottom: 0;
    }

    .ap-comparison-table tbody td::before {
        color: #6b7d92;
        font-size: .66rem;
        font-weight: 800;
        letter-spacing: .055em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .ap-comparison-table tbody td:nth-of-type(1)::before {
        content: "Aprendiz Pro";
        color: var(--ap-blue-dark);
    }

    .ap-comparison-table tbody td:nth-of-type(2)::before {
        content: "Planilhas";
    }

    .ap-comparison-table tbody td:nth-of-type(3)::before {
        content: "LMS / ERP";
    }

    .ap-comparison-table .is-highlighted {
        background: #f0f6ff;
    }

    .ap-cell-status {
        min-width: 0;
        font-size: .78rem;
        line-height: 1.4;
    }

    .ap-table-note {
        margin: 14px 2px 0;
        font-size: .72rem;
        line-height: 1.55;
    }

    .ap-comparison-cta {
        gap: 18px;
        margin-top: 26px;
        padding: 20px;
    }

    .ap-comparison-cta p {
        font-size: .87rem;
    }

    .ap-role-card {
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 13px;
        padding: 20px;
    }

    .ap-role-card p,
    .ap-implementation__steps p,
    .ap-faq-item > div p {
        font-size: .86rem;
    }

    .ap-implementation__steps li {
        gap: 14px;
        padding: 17px;
    }

    .ap-faq-layout {
        gap: 30px;
    }

    .ap-faq-item summary {
        min-height: 62px;
        gap: 12px;
        padding: 16px;
        font-size: .88rem;
        line-height: 1.45;
    }

    .ap-faq-item > div {
        padding: 0 16px 17px;
    }

    .ap-related-card {
        min-height: 0;
    }

    .ap-final-cta {
        padding: 64px 0;
    }

    .ap-final-cta__inner {
        gap: 28px;
    }

    .ap-final-cta__glow {
        top: -95px;
        right: -70px;
        width: 250px;
        height: 250px;
        box-shadow: 0 0 0 48px rgba(151, 41, 255, .10), 0 0 0 96px rgba(41, 205, 255, .06);
    }
}

@media (max-width: 430px) {
    .ap-page {
        font-size: 16px;
    }

    .ap-container {
        width: min(calc(100% - 28px), var(--ap-container));
    }

    .ap-page h1 {
        font-size: 2.08rem;
        line-height: 1.035;
    }

    .ap-page h2 {
        font-size: 1.78rem;
        line-height: 1.075;
    }

    .ap-section {
        padding: 56px 0;
    }

    .ap-hero {
        padding-top: 34px;
        padding-bottom: 70px;
    }

    .ap-floating-card--areas {
        right: 6px;
        left: 6px;
        grid-template-columns: 62px minmax(0, 1fr);
        column-gap: 10px;
    }

    .ap-floating-card__dots {
        width: 62px;
        min-width: 62px;
    }

    .ap-floating-card__dots i {
        flex-basis: 24px;
        width: 24px;
        height: 24px;
        margin-right: -8px;
    }

    .ap-floating-card strong {
        font-size: .72rem;
        line-height: 1.28;
    }

    .ap-journey__item,
    .ap-resource-card,
    .ap-signal-card,
    .ap-related-card {
        padding: 20px 18px;
    }

    .ap-comparison-table tbody th {
        padding: 15px 14px;
    }

    .ap-comparison-table tbody td {
        grid-template-columns: 78px minmax(0, 1fr);
        padding: 11px 14px;
    }

    .ap-final-cta h2 {
        font-size: 1.9rem;
    }
}

@media (max-width: 360px) {
    .ap-page h1 {
        font-size: 2rem;
    }

    .ap-page h2 {
        font-size: 1.68rem;
    }

    .ap-button {
        font-size: .84rem;
    }
}


/* Mobile touch-target refinement */
@media (max-width: 720px) {
    .ap-text-link {
        min-height: 44px;
        padding: 9px 0;
        line-height: 1.35;
    }

    .ap-breadcrumb a {
        display: inline-flex;
        min-height: 26px;
        align-items: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ap-page *,
    .ap-page *::before,
    .ap-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

    .ap-page.ap-js .ap-reveal {
        opacity: 1;
        transform: none;
    }
}

@media print {
    .ap-page {
        color: #000;
    }

    .ap-hero,
    .ap-section--dark,
    .ap-final-cta {
        color: #000;
        background: #fff;
    }

    .ap-actions,
    .ap-section-nav,
    .ap-final-cta__actions {
        display: none !important;
    }

    .ap-page .ap-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* Image integration revision */
.ap-intro-immersive{position:relative;display:flex;min-height:690px;align-items:center;overflow:hidden;padding:clamp(94px,9vw,132px) 0;background:radial-gradient(circle at 18% 18%,rgba(41,205,255,.11),transparent 30%),linear-gradient(90deg,#edf8ff 0%,#f8fbff 38%,#fff 66%)}
.ap-intro-immersive__visual{position:absolute;inset:0 auto 0 0;z-index:0;width:min(59vw,930px);overflow:hidden}
.ap-intro-immersive__visual:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.05) 52%,rgba(255,255,255,.82) 78%,#fff 97%),linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 60%,rgba(255,255,255,.32) 100%)}
.ap-intro-immersive__visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.02)}
.ap-intro-immersive__layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.93fr) minmax(520px,1.07fr);align-items:center}
.ap-intro-immersive__copy{grid-column:2;padding-left:clamp(28px,4vw,62px)}
.ap-section--dark>.ap-container,.ap-section--implementation-immersive>.ap-container,.ap-final-cta>.ap-container{position:relative;z-index:2}
.ap-section-visual--system{position:absolute;inset:0 -7% 0 auto;z-index:0;width:min(70vw,1080px);overflow:hidden;opacity:.25;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.62) 20%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.62) 20%,#000 34%,#000 100%)}
.ap-section-visual--system:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#071a46 0%,rgba(7,26,70,.96) 14%,rgba(7,26,70,.70) 27%,rgba(11,43,101,.32) 58%,rgba(37,29,115,.12) 100%),linear-gradient(180deg,rgba(7,26,70,.22),rgba(37,29,115,.78))}
.ap-section-visual--system img{width:100%;height:100%;object-fit:cover;object-position:center right;filter:saturate(.95) contrast(1.05)}
.ap-section--implementation-immersive{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 10%,rgba(151,41,255,.08),transparent 30%),linear-gradient(90deg,#fff 0%,#fff 45%,#f4f9ff 100%)}
.ap-implementation-immersive__visual{position:absolute;inset:0 0 0 auto;z-index:0;width:min(58vw,900px);overflow:hidden;opacity:.32;pointer-events:none}
.ap-implementation-immersive__visual:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 20%,rgba(255,255,255,.36) 58%,rgba(255,255,255,.10) 100%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.52))}
.ap-implementation-immersive__visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9)}
.ap-section--implementation-immersive .ap-implementation__steps li{background:rgba(255,255,255,.90);box-shadow:0 16px 36px rgba(26,62,105,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ap-final-cta__media{inset:0 -2% 0 auto;width:min(58vw,900px);height:100%;opacity:.42;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 10%,rgba(0,0,0,.75) 22%,#000 34%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 10%,rgba(0,0,0,.75) 22%,#000 34%,#000 100%)}
.ap-final-cta__media:after{inset:0;border-radius:0;background:linear-gradient(90deg,#08214a 0%,rgba(8,33,74,.96) 14%,rgba(8,33,74,.72) 26%,rgba(20,54,121,.30) 56%,rgba(75,47,180,.08) 100%),linear-gradient(180deg,rgba(8,33,74,.16),rgba(8,33,74,.55))}
.ap-final-cta__media img{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center right;box-shadow:none}
.ap-final-cta__inner{grid-template-columns:minmax(0,680px) minmax(240px,1fr);grid-template-rows:auto auto;gap:28px 60px}.ap-final-cta__copy{grid-column:1;grid-row:1}.ap-final-cta__actions{grid-column:1;grid-row:2;display:flex;min-width:0;flex-wrap:wrap}
@media(max-width:960px){.ap-intro-immersive{min-height:620px}.ap-intro-immersive__visual{width:62%}.ap-intro-immersive__layout{grid-template-columns:minmax(0,.7fr) minmax(430px,1.3fr)}.ap-section-visual--system{width:78%;opacity:.18}.ap-implementation-immersive__visual{width:68%;opacity:.24}.ap-final-cta__inner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.ap-final-cta__copy,.ap-final-cta__actions{grid-column:1}.ap-final-cta__media{inset:0 -8% 0 auto;width:74%;opacity:.28}}
@media(max-width:720px){.ap-intro-immersive{display:block;min-height:0;padding:0 0 62px;background:#fff}.ap-intro-immersive__visual{position:relative;width:100%;height:320px}.ap-intro-immersive__visual:after{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.05) 60%,#fff 100%),linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,0))}.ap-intro-immersive__layout{display:block;margin-top:-32px}.ap-intro-immersive__copy{grid-column:auto;padding-left:0}.ap-section-visual--system{inset:0 -30% 0 auto;width:120%;opacity:.13;-webkit-mask-image:none;mask-image:none}.ap-section--implementation-immersive{padding-top:0;background:#fff}.ap-implementation-immersive__visual{position:relative;width:100%;height:290px;opacity:1}.ap-implementation-immersive__visual:after{background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.10) 58%,#fff 100%),linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0))}.ap-section--implementation-immersive .ap-implementation{margin-top:-34px}.ap-related-card{padding:14px 14px 20px}.ap-final-cta__media{inset:0;width:100%;height:100%;opacity:.19}.ap-final-cta__media:after{background:linear-gradient(180deg,rgba(8,33,74,.52),rgba(8,33,74,.82)),linear-gradient(90deg,rgba(8,33,74,.72),rgba(75,47,180,.35))}}
@media(max-width:430px){.ap-intro-immersive__visual{height:260px}.ap-implementation-immersive__visual{height:245px}}

/* Desktop display titles */
@media (min-width: 1025px) {
    .ap-page h1,
    .ap-page h2 { font-size: min(3.2vw, 5.2vw); }
}

/* Desktop comparison grid: neutral, low-contrast separators. */
@media (min-width: 721px) {
    .ap-page .ap-table-wrap {
        overflow: hidden;
    }

    .ap-page .ap-comparison-table {
        min-width: 0;
    }

    .ap-page .ap-comparison-table th,
    .ap-page .ap-comparison-table td {
        border: 1px solid hsl(0deg 0% 50% / 16%) !important;
        border-block-start: 0 !important;
    }
}

.ap-page .ap-table-note {
    margin-top: 10px !important;
}

.ap-page .ap-comparison-table {
    margin-bottom: 0 !important;
}
