600;700;800&display=swap");
.ap-landing-template-main { display: block; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
html body.aprendizpro-relatorios-cnap-page main#primary.ap-landing-template-main { 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-blue: #2468f2;
    --ap-blue-dark: #0f4fd6;
    --ap-cyan: #29cdff;
    --ap-violet: #9729ff;
    --ap-teal: #00a98f;
    --ap-green: #0d9f7b;
    --ap-amber: #d38a20;
    --ap-red: #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-container: 1140px;
    --ap-display-font: "Bricolage Grotesque", Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ap-body-font: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    position: relative;
    width: 100%;
    overflow: clip;
    color: var(--ap-text);
    background: var(--ap-surface);
    font-family: var(--ap-body-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 {
    font-family: var(--ap-display-font);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.07;
    background: linear-gradient(90deg, #3156f5 0%, #2f7ef0 44%, #1eb8ec 100%);
    -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.7rem, 5.2vw, 4.55rem); }
.ap-page h2 { margin-bottom: 22px; font-size: clamp(2.05rem, 3.9vw, 3.45rem); }
.ap-page h3 { margin-bottom: 12px; font-size: 1.15rem; letter-spacing: -.025em; }
.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-page svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ap-svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.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-section-heading { max-width: 820px; margin-bottom: 50px; }
.ap-section-heading--center { margin-inline: auto; text-align: center; }
.ap-section-heading > p { max-width: 730px; margin-bottom: 0; font-size: 1.06rem; }
.ap-section-heading--center > p { margin-inline: auto; }
.ap-kicker, .ap-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--ap-blue); font-size: .75rem; 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, .78); 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-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 .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.ap-button svg { width: 18px; height: 18px; }
.ap-button--primary { color: #fff; background: linear-gradient(100deg, #2f63f5, #6958ef); box-shadow: 0 14px 28px rgba(54, 83, 220, .22); }
.ap-button--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(54, 83, 220, .28); }
.ap-button--ghost { color: var(--ap-blue-dark); border-color: rgba(36, 104, 242, .18); background: rgba(255, 255, 255, .78); }
.ap-button--ghost:hover { border-color: rgba(36, 104, 242, .34); background: #fff; transform: translateY(-2px); }
.ap-button--white { color: var(--ap-blue-dark); background: #fff; }
.ap-button--outline-light { color: #fff; border-color: rgba(255, 255, 255, .36); background: rgba(255, 255, 255, .08); }
.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); }

/* Hero */
.ap-hero { position: relative; min-height: 750px; padding: clamp(68px, 8vw, 114px) 0 clamp(84px, 9vw, 128px); isolation: isolate; background: radial-gradient(circle at 78% 9%, rgba(151, 41, 255, .17), transparent 31%), radial-gradient(circle at 92% 58%, rgba(41, 205, 255, .20), transparent 35%), linear-gradient(148deg, #fbfdff 3%, #f4f9ff 48%, #faf5ff 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, 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, .94) 82%, #fff); }
.ap-hero__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr); gap: clamp(48px, 6vw, 84px); 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; }
.ap-breadcrumb a:hover { color: var(--ap-blue); }
.ap-hero__lead { max-width: 700px; margin-bottom: 28px; color: #3c506a; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.7; }
.ap-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 26px; }
.ap-hero__notice { display: flex; gap: 11px; max-width: 670px; align-items: flex-start; color: #5f7289; font-size: .81rem; line-height: 1.55; }
.ap-hero__notice svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; color: var(--ap-teal); }
.ap-report-window { position: relative; padding: 17px; border: 1px solid rgba(164, 182, 207, .48); border-radius: 30px; background: rgba(255, 255, 255, .88); box-shadow: 0 35px 90px rgba(15, 45, 83, .18); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); transform: perspective(1300px) rotateY(-2.5deg) rotateX(1deg); }
.ap-report-window::before { position: absolute; right: -70px; bottom: -80px; z-index: -1; width: 280px; height: 280px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(41, 205, 255, .24), transparent 68%); }
.ap-report-bar { display: flex; height: 38px; align-items: center; gap: 6px; padding: 0 8px 10px; }
.ap-report-bar i { width: 9px; height: 9px; border-radius: 50%; background: #d4dfea; }
.ap-report-bar i:first-child { background: #ff8187; }
.ap-report-bar i:nth-child(2) { background: #ffc865; }
.ap-report-bar i:nth-child(3) { background: #55d6a5; }
.ap-report-address { margin-left: 9px; padding: 5px 13px; border: 1px solid #edf1f5; border-radius: 999px; background: #f5f8fb; color: #8b9aab; font-size: .61rem; }
.ap-report-ui { padding: 22px; border: 1px solid #e5edf4; border-radius: 22px; background: linear-gradient(145deg, #fbfdff, #f5f7ff); }
.ap-report-ui__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 20px; }
.ap-report-ui__head small { display: block; margin-bottom: 4px; color: var(--ap-blue); font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ap-report-ui__head strong { display: block; color: var(--ap-ink); font-family: var(--ap-display-font); font-size: 1.15rem; }
.ap-status-pill { padding: 7px 10px; border: 1px solid #cdeee5; border-radius: 999px; background: #eaf9f5; color: #08795d; font-size: .61rem; font-weight: 800; white-space: nowrap; }
.ap-report-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.ap-metric { padding: 13px; border: 1px solid #e2eaf2; border-radius: 14px; background: #fff; }
.ap-metric span { display: block; margin-bottom: 3px; color: #8291a4; font-size: .56rem; font-weight: 750; text-transform: uppercase; }
.ap-metric strong { display: block; color: var(--ap-ink-2); font-size: .85rem; }
.ap-report-table { overflow: hidden; border: 1px solid #e0e9f1; border-radius: 15px; background: #fff; }
.ap-report-row { display: grid; grid-template-columns: 1.1fr .9fr .72fr .6fr; gap: 8px; align-items: center; padding: 10px 12px; border-bottom: 1px solid #edf2f6; color: #66788e; font-size: .62rem; }
.ap-report-row:last-child { border-bottom: 0; }
.ap-report-row--head { background: #f7faff; color: #718297; font-size: .55rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.ap-report-row strong { color: var(--ap-ink-2); font-weight: 700; }
.ap-check-chip { display: inline-flex; justify-self: start; padding: 4px 7px; border-radius: 999px; background: #eaf9f5; color: #08795d; font-size: .53rem; font-weight: 800; }
.ap-pending-chip { background: #fff5e8; color: #aa6b13; }
.ap-page .ap-visual-note { margin-top: 13px; color: #75869a; font-size: .73rem; text-align: center; }

/* Deadlines immersive */
.ap-deadline { min-height: 690px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(90deg, #edf8ff 0%, #f8fbff 40%, #fff 70%); }
.ap-deadline__visual { position: absolute; inset: 0 auto 0 0; width: min(56vw, 900px); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 52%, rgba(0,0,0,.74) 68%, transparent 95%); mask-image: linear-gradient(90deg, #000 0%, #000 52%, rgba(0,0,0,.74) 68%, transparent 95%); }
.ap-deadline__visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.18) 58%, #fff 98%), linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.22)); }
.ap-deadline__visual img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.ap-deadline__layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr); align-items: center; }
.ap-deadline__copy { grid-column: 2; padding-left: clamp(28px, 4vw, 64px); }
.ap-deadline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.ap-deadline-card { padding: 22px; border: 1px solid #dce7f1; border-radius: 20px; background: rgba(255,255,255,.92); box-shadow: 0 14px 34px rgba(24, 61, 103, .07); }
.ap-deadline-card span { display: block; margin-bottom: 9px; color: var(--ap-blue); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ap-deadline-card strong { display: block; margin-bottom: 8px; color: var(--ap-ink-2); font-family: var(--ap-display-font); font-size: 1.15rem; line-height: 1.2; }
.ap-deadline-card p { margin: 0; color: #667991; font-size: .82rem; }
.ap-source-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: var(--ap-blue-dark); font-size: .78rem; font-weight: 750; }
.ap-source-link svg { width: 16px; height: 16px; }

/* Workflow */
.ap-section--tinted { background: radial-gradient(circle at 10% 10%, rgba(41,205,255,.08), transparent 24%), radial-gradient(circle at 88% 8%, rgba(151,41,255,.08), transparent 27%), #f5f9fc; }
.ap-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.ap-workflow-card { position: relative; min-height: 260px; padding: 27px 23px 22px; border: 1px solid #e0eaf3; border-radius: 21px; background: rgba(255,255,255,.94); box-shadow: 0 13px 35px rgba(29,59,94,.055); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ap-workflow-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(29,59,94,.10); border-color: rgba(36,104,242,.2); }
.ap-step-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: 22px; 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-workflow-card p { margin-bottom: 15px; color: #61748c; font-size: .86rem; line-height: 1.58; }
.ap-workflow-card em { color: #6d7f95; font-size: .65rem; font-style: normal; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.ap-workflow-card--highlight { 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-workflow-card--highlight h3, .ap-workflow-card--highlight p { background: none; color: #fff; -webkit-text-fill-color: initial; }
.ap-workflow-card--highlight p { color: rgba(255,255,255,.92); }
.ap-workflow-card--highlight em, .ap-workflow-card--highlight .ap-step-number { color: rgba(255,255,255,.74); }
.ap-workflow-card--highlight .ap-icon-box { color: #fff; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.13); }

/* Official fields */
.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 74%); }
.ap-dark-visual { position: absolute; inset: 0 -5% 0 auto; width: min(66vw, 1050px); opacity: .22; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.30) 14%, rgba(0,0,0,.76) 27%, #000 42%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.30) 14%, rgba(0,0,0,.76) 27%, #000 42%, #000 100%); }
.ap-dark-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, #071a46 0%, rgba(7,26,70,.94) 16%, rgba(11,43,101,.45) 48%, rgba(60,35,139,.12) 100%), linear-gradient(180deg, rgba(7,26,70,.22), rgba(37,29,115,.58)); }
.ap-dark-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center left; }
.ap-section--dark .ap-section-heading { position: relative; z-index: 2; }
.ap-section--dark .ap-kicker { color: #71e7f6; }
.ap-section--dark .ap-section-heading h2 { background: linear-gradient(90deg,#fff 0%,#dff9ff 54%,#c6b8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.ap-section--dark .ap-section-heading p { color: #c1d2e5; }
.ap-field-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 17px; }
.ap-field-card { position: relative; min-height: 230px; overflow: hidden; padding: 25px 23px; border: 1px solid rgba(255,255,255,.13); 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); }
.ap-field-card::after { position: absolute; top: -75px; right: -75px; 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%); }
.ap-field-card__icon { display: grid; width: 46px; height: 46px; margin-bottom: 21px; place-items: center; color: #effdff; 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-field-card h3 { position: relative; z-index: 1; background: none; color: #fff; -webkit-text-fill-color: #fff; font-size: 1.04rem; }
.ap-field-card p { position: relative; z-index: 1; margin-bottom: 16px; color: rgba(235,245,255,.9); font-size: .82rem; }
.ap-field-card ul { position: relative; z-index: 1; display: grid; gap: 7px; margin: 0; padding: 0; color: rgba(245,250,255,.95); font-size: .71rem; list-style: none; }
.ap-field-card li { position: relative; padding-left: 15px; }
.ap-field-card li::before { position: absolute; top: .68em; left: 0; width: 5px; height: 5px; content: ""; border-radius: 50%; background: #7ce4ff; }
.ap-field-card--highlight { background: linear-gradient(135deg,#355cf5 0%,#3976ec 44%,#25bde8 100%); }
.ap-field-card--highlight strong { display: block; margin-bottom: 6px; color: #fff; font-family: var(--ap-display-font); font-size: 2rem; line-height: 1; }

/* Demonstration */
.ap-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(52px,7vw,90px); align-items: center; }
.ap-copy > p { font-size: 1.02rem; }
.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-demo-card { margin: 0; padding: 15px; border: 1px solid #dce5ef; border-radius: 29px; background: #fff; box-shadow: var(--ap-shadow-lg); }
.ap-demo-card__screen { padding: 20px; border-radius: 20px; background: linear-gradient(145deg,#f8fbff,#f6f4ff); }
.ap-demo-filter { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.ap-demo-filter span { padding: 7px 10px; border: 1px solid #e1e8f1; border-radius: 999px; background: #fff; color: #657991; font-size: .62rem; font-weight: 700; }
.ap-demo-progress { display: flex; align-items: center; gap: 16px; margin-bottom: 19px; padding: 16px; border: 1px solid #e0e9f2; border-radius: 16px; background: #fff; }
.ap-progress-ring { display: grid; flex: 0 0 58px; width: 58px; height: 58px; place-items: center; border-radius: 50%; background: conic-gradient(var(--ap-teal) 0 86%,#e9eff5 86% 100%); }
.ap-progress-ring::before { grid-area: 1/1; width: 43px; height: 43px; content: ""; border-radius: 50%; background: #fff; }
.ap-progress-ring strong { position: relative; z-index: 1; grid-area: 1/1; color: var(--ap-ink); font-size: .72rem; }
.ap-demo-progress > div strong, .ap-demo-progress > div small { display: block; }
.ap-demo-progress > div strong { color: var(--ap-ink-2); font-size: .88rem; }
.ap-demo-progress > div small { color: var(--ap-muted); font-size: .66rem; }
.ap-demo-lines { overflow: hidden; border: 1px solid #e0e9f2; border-radius: 16px; background: #fff; }
.ap-demo-line { display: grid; grid-template-columns: 1.05fr .92fr .8fr .65fr; gap: 8px; align-items: center; padding: 12px 13px; border-bottom: 1px solid #edf2f6; color: #6c7f94; font-size: .61rem; }
.ap-demo-line:last-child { border-bottom: 0; }
.ap-demo-line b { color: var(--ap-ink-2); }
.ap-demo-line i { justify-self: start; padding: 4px 7px; border-radius: 999px; background: #eaf9f5; color: #08795d; font-size: .52rem; font-style: normal; font-weight: 800; }
.ap-demo-line i.is-pending { background: #fff5e8; color: #aa6b13; }
.ap-demo-card figcaption { padding: 11px 7px 2px; color: var(--ap-muted); font-size: .72rem; line-height: 1.45; }

/* Scope */
.ap-section--soft { background: linear-gradient(180deg,#f8fbfd,#f2f7fb); }
.ap-scope-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.ap-scope-card { padding: 28px; border: 1px solid #dfe8f0; border-radius: 23px; background: #fff; box-shadow: var(--ap-shadow-sm); }
.ap-scope-card__head { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.ap-scope-card__head span { display: grid; flex: 0 0 44px; height: 44px; place-items: center; color: #fff; border-radius: 13px; background: linear-gradient(145deg,var(--ap-teal),#20c8bb); }
.ap-scope-card__head h3 { margin: 0; font-size: 1.25rem; }
.ap-scope-card ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.ap-scope-card li { display: flex; align-items: flex-start; gap: 10px; color: #566b83; font-size: .9rem; }
.ap-scope-card li svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 4px; color: var(--ap-teal); }
.ap-scope-card--no .ap-scope-card__head span { background: linear-gradient(145deg,#cc5b73,#a84d68); }
.ap-scope-card--no li svg { color: #be526b; }

/* Operational calendar */
.ap-calendar-wrap { display: grid; grid-template-columns: minmax(0,.85fr) minmax(520px,1.15fr); gap: clamp(52px,7vw,90px); align-items: center; }
.ap-source-note { margin-top: 28px; padding: 18px 20px; border: 1px solid #dbe7f2; border-radius: 16px; background: linear-gradient(135deg,#f8fcff,#f7f5ff); color: #63768d; font-size: .8rem; }
.ap-source-note strong { color: var(--ap-ink-2); }
.ap-calendar-board { position: relative; display: grid; gap: 15px; padding: 27px; border: 1px solid #dfe8f0; border-radius: 26px; background: #fff; box-shadow: var(--ap-shadow-md); }
.ap-calendar-item { position: relative; z-index: 1; display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: center; padding: 16px 17px; border: 1px solid #e5ecf3; border-radius: 17px; background: #fbfdff; }
.ap-calendar-dot { display: grid; width: 44px; height: 44px; place-items: center; color: #fff; border: 4px solid #f4f8fc; border-radius: 50%; background: linear-gradient(145deg,var(--ap-blue),var(--ap-violet)); box-shadow: 0 0 0 1px rgba(36,104,242,.16); font-size: .56rem; font-weight: 800; }
.ap-calendar-item:nth-child(4) .ap-calendar-dot, .ap-calendar-item:nth-child(6) .ap-calendar-dot { background: linear-gradient(145deg,var(--ap-teal),var(--ap-cyan)); }
.ap-calendar-item strong { display: block; margin-bottom: 2px; color: var(--ap-ink-2); font-size: .87rem; }
.ap-calendar-item p { margin: 0; color: var(--ap-muted); font-size: .73rem; }

/* Review immersive */
.ap-review { min-height: 690px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(90deg,#fff 0%,#fff 42%,#f5faff 75%,#edf8ff 100%); }
.ap-review__visual { position: absolute; inset: 0 0 0 auto; width: min(58vw,930px); overflow: hidden; -webkit-mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.85) 36%,#000 52%,#000 100%); mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,rgba(0,0,0,.85) 36%,#000 52%,#000 100%); }
.ap-review__visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.84) 20%,rgba(255,255,255,.18) 58%,rgba(238,248,255,.08) 100%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.20)); }
.ap-review__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ap-review__layout { display: grid; grid-template-columns: minmax(0,590px) 1fr; }
.ap-review__copy { grid-column: 1; }
.ap-role-list { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; }
.ap-role-list li { display: grid; grid-template-columns: 44px 1fr; gap: 13px; padding: 15px 16px; border: 1px solid #dfe8f0; border-radius: 16px; background: rgba(255,255,255,.91); box-shadow: 0 10px 28px rgba(21,52,88,.05); }
.ap-role-list li > span { display: grid; width: 40px; height: 40px; place-items: center; color: var(--ap-blue); border-radius: 12px; background: #edf5ff; }
.ap-role-list strong { display: block; margin-bottom: 2px; color: var(--ap-ink-2); font-size: .84rem; }
.ap-role-list p { margin: 0; color: var(--ap-muted); font-size: .72rem; }

/* Sources */
.ap-sources-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.ap-source-card { display: flex; min-height: 230px; flex-direction: column; padding: 24px; border: 1px solid #dfe8f0; border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(21,50,84,.05); }
.ap-source-card span { align-self: flex-start; margin-bottom: 18px; 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-source-card h3 { font-size: 1.08rem; }
.ap-source-card p { margin-bottom: 20px; color: #687b91; font-size: .82rem; line-height: 1.6; }
.ap-source-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-source-card em svg { width: 16px; height: 16px; }

/* FAQ */
.ap-faq-layout { display: grid; grid-template-columns: minmax(0,.72fr) minmax(520px,1.28fr); gap: clamp(50px,7vw,90px); align-items: start; }
.ap-faq-intro { position: sticky; top: 40px; }
.ap-faq-intro p { max-width: 470px; }
.ap-faq-list { display: grid; gap: 12px; }
.ap-faq-item { overflow: hidden; border: 1px solid #dfe8f0; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(21,52,88,.045); }
.ap-faq-item summary { position: relative; display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; color: var(--ap-ink-2); cursor: pointer; font-size: .9rem; font-weight: 750; list-style: none; }
.ap-faq-item summary::-webkit-details-marker { display: none; }
.ap-faq-item summary span { position: relative; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: #edf5ff; }
.ap-faq-item summary span::before, .ap-faq-item summary span::after { position: absolute; top: 50%; left: 50%; width: 10px; height: 2px; content: ""; 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 > div { padding: 0 22px 22px; }
.ap-faq-item > div p { margin: 0; color: #60738a; font-size: .85rem; line-height: 1.7; }

/* Related */
.ap-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.ap-related-card { display: flex; min-height: 380px; flex-direction: column; padding: 14px 14px 25px; 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: 0 0 18px; overflow: hidden; border-radius: 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: 0 11px 18px; 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: 0 11px 13px; font-size: 1.1rem; line-height: 1.3; }
.ap-related-card p { margin: 0 11px 24px; color: #687b91; font-size: .82rem; line-height: 1.6; }
.ap-related-card em { display: inline-flex; align-items: center; gap: 7px; margin: auto 11px 0; color: var(--ap-blue-dark); font-size: .76rem; font-style: normal; font-weight: 750; }
.ap-related-card em svg { width: 16px; height: 16px; }

/* Final CTA */
.ap-final { position: relative; overflow: hidden; padding: clamp(78px,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::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__media { position: absolute; inset: 0 -2% 0 auto; width: min(58vw,900px); height: 100%; margin: 0; opacity: .42; overflow: hidden; pointer-events: none; -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__media::after { position: absolute; inset: 0; content: ""; 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__media img { width: 100%; height: 100%; object-fit: cover; object-position: center right; }
.ap-final__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,680px) minmax(240px,1fr); grid-template-rows: auto auto; gap: 28px 60px; align-items: center; }
.ap-final__copy { grid-column: 1; grid-row: 1; }
.ap-final__actions { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; gap: 11px; }
.ap-final h2 { max-width: 760px; margin-bottom: 18px; background: linear-gradient(90deg,#fff 0%,#dff9ff 54%,#c6b8ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.ap-final p { max-width: 720px; margin-bottom: 0; color: rgba(235,246,255,.9); font-size: 1.01rem; }
.ap-eyebrow--light { color: #d9f8ff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); box-shadow: none; }
.ap-eyebrow--light svg { color: #77eafa; }

/* 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); }

@media (max-width: 1120px) {
    .ap-hero__grid { grid-template-columns: minmax(0,.9fr) minmax(440px,1.1fr); gap: 42px; }
    .ap-field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ap-deadline__visual { width: 61%; }
    .ap-review__visual { width: 64%; }
}
@media (max-width: 960px) {
    .ap-page .ap-visual-note { margin-top: 10px; }
    .ap-hero { min-height: auto; }
    .ap-hero__grid, .ap-split, .ap-calendar-wrap, .ap-faq-layout { grid-template-columns: 1fr; }
    .ap-hero__copy { max-width: 760px; }
    .ap-report-window { width: min(100%,760px); margin-inline: auto; transform: none; }
    .ap-workflow { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ap-deadline { display: block; min-height: 0; padding-top: 0; }
    .ap-deadline__visual { position: relative; width: 100%; height: 430px; -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.75) 72%,transparent 100%); mask-image: linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.75) 72%,transparent 100%); }
    .ap-deadline__visual::after { background: linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.05) 60%,#fff 100%); }
    .ap-deadline__layout { display: block; margin-top: -52px; }
    .ap-deadline__copy { grid-column: auto; padding-left: 0; }
    .ap-review { display: block; min-height: 0; padding-top: 0; }
    .ap-review__visual { position: relative; width: 100%; height: 410px; -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.75) 74%,transparent 100%); mask-image: linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.75) 74%,transparent 100%); }
    .ap-review__visual::after { background: linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.08) 60%,#fff 100%); }
    .ap-review__layout { display: block; margin-top: -46px; }
    .ap-faq-intro { position: static; }
    .ap-sources-grid, .ap-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ap-final__inner { grid-template-columns: 1fr; }
    .ap-final__copy, .ap-final__actions { grid-column: 1; }
    .ap-final__media { inset: 0 -8% 0 auto; width: 74%; opacity: .28; }
}
@media (max-width: 720px) {
    .ap-container { width: min(calc(100% - 40px),var(--ap-container)); }
    .ap-section { padding: 66px 0; }
    .ap-page h1 { font-size: clamp(2.08rem,10vw,2.75rem); line-height: 1.04; letter-spacing: -.048em; }
    .ap-page h2 { font-size: clamp(1.78rem,8.4vw,2.25rem); line-height: 1.07; }
    .ap-page h3 { font-size: 1.02rem; }
    .ap-hero { padding: 42px 0 86px; }
    .ap-breadcrumb { margin-bottom: 24px; font-size: .73rem; }
    .ap-eyebrow { max-width: 100%; margin-bottom: 18px; padding: 9px 12px; font-size: .63rem; letter-spacing: .11em; }
    .ap-hero__lead { font-size: .98rem; line-height: 1.62; }
    .ap-actions { display: grid; width: 100%; gap: 10px; }
    .ap-button { width: 100%; min-height: 50px; }
    .ap-report-window { padding: 11px; border-radius: 23px; }
    .ap-report-ui { padding: 14px; border-radius: 17px; }
    .ap-report-ui__head { gap: 12px; }
    .ap-report-metrics { grid-template-columns: 1fr; }
    .ap-report-row { grid-template-columns: 1.2fr .8fr; }
    .ap-report-row > :nth-child(3) { display: none; }
    .ap-report-row > :nth-child(4) { justify-self: end; }
    .ap-deadline__visual { height: 300px; }
    .ap-deadline__layout { margin-top: -32px; }
    .ap-deadline-grid, .ap-workflow, .ap-field-grid, .ap-scope-grid, .ap-sources-grid, .ap-related-grid { grid-template-columns: 1fr; }
    .ap-workflow-card { min-height: 0; padding: 23px 20px; }
    .ap-field-card { min-height: 0; padding: 23px 20px; }
    .ap-dark-visual { inset: 0 -35% 0 auto; width: 135%; opacity: .12; -webkit-mask-image: none; mask-image: none; }
    .ap-split { gap: 34px; }
    .ap-demo-card { padding: 10px; border-radius: 23px; }
    .ap-demo-card__screen { padding: 14px; border-radius: 16px; }
    .ap-demo-line { grid-template-columns: 1.2fr .8fr; }
    .ap-demo-line > :nth-child(2), .ap-demo-line > :nth-child(3) { display: none; }
    .ap-demo-line i { justify-self: end; }
    .ap-scope-card { padding: 23px 20px; }
    .ap-calendar-board { padding: 20px 16px; }
    .ap-calendar-item { grid-template-columns: 48px 1fr; gap: 12px; padding: 14px; }
    .ap-calendar-dot { width: 38px; height: 38px; }
    .ap-review__visual { height: 290px; }
    .ap-review__layout { margin-top: -30px; }
    .ap-role-list li { grid-template-columns: 40px 1fr; padding: 14px; }
    .ap-faq-item summary { min-height: 64px; padding: 17px 18px; font-size: .84rem; }
    .ap-faq-item > div { padding: 0 18px 18px; }
    .ap-related-card { min-height: 0; padding: 14px 14px 20px; }
    .ap-source-card { min-height: 0; padding: 22px 20px; }
    .ap-final { padding: 66px 0; }
    .ap-final__media { inset: 0; width: 100%; height: 100%; opacity: .19; -webkit-mask-image: none; mask-image: none; }
    .ap-final__media::after { background: linear-gradient(180deg,rgba(8,33,74,.58),rgba(8,33,74,.84)),linear-gradient(90deg,rgba(8,33,74,.75),rgba(75,47,180,.35)); }
    .ap-final__actions { display: grid; width: 100%; }
}
@media (max-width: 430px) {
    .ap-page { font-size: 15px; }
    .ap-deadline__visual { height: 255px; }
    .ap-review__visual { height: 245px; }
}
@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; }
}

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