@font-face { font-family: 'Barlow Condensed'; src: url('barlow-condensed-bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
    @font-face { font-family: 'DM Sans'; src: url('dm-sans.ttf') format('truetype'); font-weight: 100 1000; font-display: swap; }
    :root { --paper:#f9fbfd; --white:#fff; --ink:#102745; --muted:#5d6d83; --blue:#245abf; --blue-dark:#2056a4; --mist:#e7eff8; --line:#d7e1ed; --mint:#e7eff8; --green:#2e6950; --display:'Barlow Condensed','Arial Narrow',sans-serif; --body:'DM Sans',sans-serif; }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 112px; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
    button, input, select { font:inherit; }
    button, a, input, select { -webkit-tap-highlight-color:transparent; }
    button, select, summary, label.option { cursor:pointer; }
    a { color:inherit; text-decoration:none; }
    button { color:inherit; }
    button:disabled { cursor:not-allowed; }
    :focus-visible { outline:3px solid #2b63bf; outline-offset:5px; }
    ::selection { background:#cadef8; color:var(--ink); }
    h1, h2, h3, p { margin:0; }
    h1, h2, h3 { font-family:var(--display); }
    svg { display:block; }
    [hidden] { display:none !important; }
    .container { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
    .icon { width:21px; height:21px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .arrow { width:20px; height:20px; }
    .eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:750; letter-spacing:1.9px; text-transform:uppercase; }
    .eyebrow::before { content:''; width:7px; height:7px; background:var(--blue); border-radius:50%; }
    .section-label { font-size:11px; font-weight:750; letter-spacing:1.8px; text-transform:uppercase; color:var(--blue-dark); }
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; padding:14px 24px; border:1px solid transparent; border-radius:7px; font-weight:650; font-size:14px; line-height:1.3; transition:background .2s,transform .2s; }
    .btn:hover { transform:translateY(-2px); }
    .btn-primary { background:var(--blue); color:#ffffff; }
    .btn-primary:hover { background:#174797; }
    .btn-dark { background:var(--ink); color:white; }
    .btn-dark:hover { background:#1b3f6b; }
    .btn-secondary { border-color:var(--line); background:transparent; }
    .btn-secondary:hover { background:#eef3f9; }
    .text-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; }
    .text-link:hover { color:var(--blue-dark); }
    .skip-link { position:absolute; z-index:10; top:-100px; left:20px; padding:12px 20px; background:var(--white); }
    .skip-link:focus { top:12px; }
    .announcement { min-height:38px; background:var(--ink); color:#f1f6fc; text-align:center; padding:8px 24px; font-size:11px; letter-spacing:.15px; }
    .announcement span { color:#aacaf3; }
    .announcement a { margin-left:18px; border-bottom:1px solid #6380a6; font-weight:600; }
    .site-header { position:sticky; top:0; z-index:6; background:rgba(255,255,255,.98); backdrop-filter:blur(14px); border-bottom:1px solid rgba(16,39,69,.12); }
    .header-inner { height:88px; display:flex; align-items:center; justify-content:space-between; gap:30px; position:relative; }
    .brand { display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:800; font-size:24px; letter-spacing:-1.1px; white-space:nowrap; }
    .brand-mark { width:32px; height:37px; color:var(--ink); }
    .brand .brand-dot { color:var(--blue); }
    .desktop-nav { display:flex; gap:29px; align-items:center; font-size:12px; font-weight:550; }
    .desktop-nav a:hover { color:var(--blue-dark); }
    .header-actions { display:flex; align-items:center; gap:25px; }
    .header-actions .btn { min-height:43px; padding:11px 17px; font-size:12px; gap:19px; }
    .login-link { font-size:12px; font-weight:600; }
    .menu-toggle { display:none; width:42px; height:42px; align-items:center; justify-content:center; background:none; border:1px solid var(--line); border-radius:6px; }
    .hero { padding:76px 0 60px; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:1.04fr 1fr; gap:54px; align-items:center; }
    .hero h1 { margin-top:23px; font-size:clamp(49px,5.4vw,74px); font-weight:750; line-height:1.075; letter-spacing:-4px; }
    .hero h1 em { font-family:Georgia,'Times New Roman',serif; font-weight:400; color:var(--blue-dark); letter-spacing:-3.5px; }
    .hero-copy { margin-top:24px; max-width:435px; font-size:16px; color:var(--muted); line-height:1.8; }
    .hero-ctas { display:flex; gap:18px; align-items:center; margin-top:30px; flex-wrap:wrap; }
    .hero-reassurance { display:flex; gap:21px; margin-top:25px; font-size:11px; color:#c4d4e8; flex-wrap:wrap; }
    .hero-reassurance span { display:flex; align-items:center; gap:6px; }
    .hero-reassurance .icon { width:13px; height:13px; color:var(--green); }
    .quiz-card { position:relative; z-index:1; background:var(--white); border:1px solid #cdd9e9; border-radius:12px; box-shadow:0 22px 60px -30px #6d5f4a70; overflow:hidden; }
    .quiz-top { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 23px; border-bottom:1px solid #dee7f2; }
    .quiz-brand { display:flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap; font-family:var(--display); font-size:13px; font-weight:800; letter-spacing:-.4px; }
    .quiz-brand .brand-mark { width:19px; height:22px; }
    .preview-label { max-width:56%; text-align:right; font-size:8px; letter-spacing:1.2px; color:var(--muted); font-weight:650; }
    .quiz-content { padding:24px 25px 20px; }
    .quiz-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .quiz-meta span { font-size:9px; font-weight:650; text-transform:uppercase; letter-spacing:1px; }
    .quiz-meta .tag { padding:5px 9px; background:#e7eef9; color:#2a527f; border-radius:4px; }
    .quiz-meta .quiz-number { color:var(--muted); text-transform:none; letter-spacing:0; font-weight:500; }
    .quiz-content h2 { font-size:17px; line-height:1.55; letter-spacing:-.45px; margin-top:17px; min-height:54px; font-weight:700; }
    .quiz-content fieldset { padding:0; border:0; margin:18px 0 0; display:grid; gap:8px; }
    .option { position:relative; display:flex; align-items:center; gap:11px; padding:10px 13px; min-height:43px; border:1px solid #d5dfeb; border-radius:6px; font-size:12px; transition:border-color .15s,background .15s; }
    .option input { position:absolute; opacity:0; width:1px; height:1px; }
    .option:has(input:focus-visible) { outline:3px solid #2b63bf; outline-offset:2px; }
    .option:has(input:checked) { border-color:var(--ink); background:#eef3fa; }
    .option:has(input:disabled) { cursor:default; }
    .option-letter { display:grid; place-items:center; width:23px; height:23px; border:1px solid #d1ddec; border-radius:4px; font-size:10px; font-weight:600; }
    .option:has(input:checked) .option-letter { border-color:var(--ink); background:var(--ink); color:white; }
    .option.correct { border-color:#81a58b; background:#eef6ed; }
    .option.incorrect { border-color:#df8c70; background:#fdf0ea; }
    .quiz-submit { margin-top:18px; width:100%; min-height:42px; font-size:12px; justify-content:space-between; padding:11px 15px; }
    .quiz-submit:disabled { background:#e9eef5; color:#74859a; }
    .quiz-submit:hover:disabled { transform:none; }
    .quiz-feedback { padding:12px 0 0; font-size:11px; line-height:1.65; }
    .quiz-feedback strong { display:block; color:var(--green); margin-bottom:3px; }
    .quiz-feedback.wrong strong { color:var(--blue-dark); }
    .quiz-bottom { padding:10px 23px; font-size:9px; color:var(--muted); background:#f4f7fb; display:flex; justify-content:space-between; gap:10px; border-top:1px solid #dee7f2; }
    .quiz-bottom a { text-decoration:underline; text-underline-offset:3px; }
    .benefit-strip { margin-top:62px; padding:25px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); }
    .strip-item { display:flex; align-items:center; gap:17px; padding-inline:30px; border-right:1px solid var(--line); }
    .strip-item:first-child { padding-left:0; }
    .strip-item:last-child { border:0; }
    .strip-icon { width:38px; height:38px; border-radius:9px; display:grid; place-items:center; background:#e7eef8; }
    .strip-item strong { display:block; font-size:12px; font-weight:650; }
    .strip-item small { display:block; margin-top:3px; font-size:11px; color:var(--muted); }
    .exam-intro { padding:31px 0 52px; }
    .exam-intro-inner { display:flex; align-items:center; gap:48px; }
    .exam-intro-label { flex-shrink:0; font-size:10px; font-weight:650; letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); max-width:105px; }
    .exam-chips { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; flex:1; }
    .exam-chip { text-align:left; background:none; border:0; padding:5px 0; }
    .exam-chip strong { display:block; font-family:var(--display); font-weight:800; font-size:17px; letter-spacing:-.6px; }
    .exam-chip small { font-size:9px; color:var(--muted); }
    .exam-chip:hover strong { color:var(--blue-dark); }
    .section { padding:85px 0; }
    .section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:38px; }
    .section-heading h2, .steps-heading h2 { margin-top:13px; font-size:43px; font-weight:700; letter-spacing:-2px; line-height:1.2; }
    .section-heading > p { max-width:310px; font-size:14px; color:var(--muted); line-height:1.8; padding-bottom:4px; }
    .included { background:#eef3f9; }
    .feature-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:15px; }
    .feature { padding:28px; border:1px solid #cedaeb; border-radius:11px; background:#ffffff; position:relative; overflow:hidden; }
    .feature h3 { font-size:20px; letter-spacing:-.75px; font-weight:700; line-height:1.35; }
    .feature p { font-size:12px; line-height:1.8; color:var(--muted); margin-top:12px; }
    .feature-main { background:var(--ink); color:white; border-color:var(--ink); }
    .feature-main p { color:#c5d5eb; max-width:255px; }
    .feature-main .section-label { color:#b9d5f6; font-size:8px; }
    .feature-main h3 { font-size:27px; margin-top:10px; max-width:270px; line-height:1.25; letter-spacing:-1px; }
    .practice-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-top:32px; border-top:1px solid #3e5a7e; padding-top:20px; }
    .practice-stats strong { font-family:var(--display); font-size:30px; font-weight:600; letter-spacing:-1.2px; }
    .practice-stats span { display:block; font-size:9px; color:#cbdcf0; line-height:1.5; margin-top:2px; }
    .feature-icon { width:41px; height:41px; margin-bottom:31px; color:#315b8e; background:#e9f0fa; border-radius:9px; display:grid; place-items:center; }
    .feature-icon .icon { width:23px; height:23px; }
    .answer-example { margin-top:25px; border:1px solid #d3dfec; border-radius:6px; padding:11px; font-size:9px; background:#f0f5fc; }
    .answer-example > span { display:flex; align-items:center; gap:5px; color:var(--green); font-weight:650; }
    .answer-example .icon { width:13px; height:13px; }
    .answer-example p { margin-top:5px; font-size:9px; line-height:1.65; }
    .feature-wide { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:22px 28px; background:#dfeaf8; }
    .feature-wide h3 { font-size:17px; }
    .feature-wide p { margin-top:5px; font-size:11px; }
    .skill-tags { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
    .skill-tags span { font-size:9px; border:1px solid #b5cce5; padding:6px 10px; border-radius:4px; }
    .inclusions-note { margin-top:16px; font-size:10px; color:var(--muted); text-align:center; }
    .steps { padding:75px 0; }
    .steps-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; }
    .steps-heading h2 { font-size:37px; }
    .steps-list { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; margin-top:40px; }
    .step-number { font-family:Georgia,serif; font-style:italic; font-size:29px; color:var(--blue-dark); display:flex; align-items:center; gap:16px; }
    .step-number::after { content:''; height:1px; background:var(--line); flex:1; }
    .step h3 { font-size:16px; font-weight:750; letter-spacing:-.5px; margin-top:17px; }
    .step p { color:var(--muted); font-size:12px; line-height:1.8; margin-top:9px; max-width:280px; }
    .programs { background:var(--ink); color:#f5f8fc; position:relative; overflow:hidden; }
    .programs::before { content:''; position:absolute; width:450px; height:450px; border:1px solid #284e7f; border-radius:50%; left:-230px; bottom:-230px; box-shadow:0 0 0 60px #284e7f30,0 0 0 120px #284e7f18; pointer-events:none; }
    .programs-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:115px; align-items:center; }
    .programs .section-label { color:#adcaf0; }
    .programs h2 { font-size:54px; font-weight:600; letter-spacing:-2.6px; line-height:1.15; margin-top:19px; }
    .programs h2 em { font-family:Georgia,serif; font-weight:400; color:#adcaf0; }
    .programs-copy { color:#bfcee2; font-size:14px; line-height:1.9; max-width:335px; margin-top:22px; }
    .programs-assurances { margin-top:31px; display:grid; gap:12px; }
    .programs-assurances span { display:flex; align-items:center; gap:10px; font-size:11px; color:#d9e6f5; }
    .programs-assurances .icon { width:16px; height:16px; color:#a8c9f4; }
    .package-card { background:var(--paper); color:var(--ink); border-radius:11px; overflow:hidden; }
    .package-top { padding:11px 27px; background:#e5eef9; font-size:9px; font-weight:650; letter-spacing:1.4px; text-transform:uppercase; display:flex; align-items:center; justify-content:space-between; }
    .package-top .icon { width:14px; height:14px; }
    .package-body { padding:25px 27px 24px; }
    .package-body label { display:block; font-size:9px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; margin-bottom:8px; }
    .select-wrap { position:relative; }
    .select-wrap .icon { position:absolute; right:14px; top:14px; width:17px; height:17px; pointer-events:none; }
    .select-wrap select { width:100%; padding:12px 36px 12px 13px; appearance:none; -webkit-appearance:none; border:1px solid #bbcee6; border-radius:5px; background:#fff; font-size:12px; color:var(--ink); }
    .package-description { padding:21px 0 0; }
    .package-description h3 { font-size:22px; line-height:1.3; letter-spacing:-.8px; }
    .package-description > p { font-size:11px; color:var(--muted); margin-top:7px; }
    .price { display:flex; align-items:baseline; gap:9px; margin-top:16px; }
    .price strong { font-family:var(--display); font-size:47px; line-height:1.15; font-weight:650; letter-spacing:-2px; }
    .price span { font-size:10px; color:var(--muted); }
    .price-note { font-size:10px; color:var(--muted); margin-top:4px; }
    .package-includes { list-style:none; padding:18px 0 0; margin:18px 0 23px; border-top:1px solid var(--line); display:grid; gap:9px; }
    .package-includes li { display:flex; align-items:flex-start; gap:9px; font-size:11px; }
    .package-includes .icon { width:14px; height:14px; color:var(--green); margin-top:2px; }
    .package-body .btn { width:100%; justify-content:space-between; min-height:46px; font-size:12px; }
    .package-footnote { margin-top:12px; font-size:9px; color:var(--muted); text-align:center; }
    .testimonial { padding:73px 0; background:#e7eff9; }
    .testimonial-inner { display:grid; grid-template-columns:190px 1fr; gap:70px; align-items:start; }
    .testimonial-heading h2 { font-size:22px; letter-spacing:-.8px; line-height:1.4; margin-top:12px; }
    .testimonial blockquote { padding:0; margin:0; font-family:var(--display); font-size:28px; line-height:1.5; letter-spacing:-1px; font-weight:500; max-width:785px; }
    .quote-credit { display:flex; align-items:center; justify-content:space-between; margin-top:22px; gap:20px; }
    .quote-person { display:flex; gap:10px; align-items:center; }
    .avatar { width:33px; height:33px; display:grid; place-items:center; background:#cddff5; font-size:12px; font-weight:650; border-radius:50%; }
    .quote-person strong { display:block; font-size:11px; }
    .quote-person small { display:block; font-size:9px; color:var(--muted); }
    .quote-credit a { font-size:10px; text-decoration:underline; text-underline-offset:4px; color:var(--muted); }
    .faq { padding:80px 0; }
    .faq-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:90px; }
    .faq-heading h2 { margin-top:13px; font-size:38px; letter-spacing:-1.7px; line-height:1.2; }
    .faq-heading p { margin-top:18px; max-width:255px; font-size:12px; color:var(--muted); }
    .faq-heading a { display:inline-block; text-decoration:underline; text-underline-offset:4px; font-weight:600; }
    details { border-bottom:1px solid var(--line); }
    details:first-child { border-top:1px solid var(--line); }
    summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; font-size:13px; font-weight:600; list-style:none; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:'+'; font-size:22px; line-height:1; font-weight:400; flex-shrink:0; }
    details[open] summary::after { content:'−'; }
    details > p { font-size:12px; color:var(--muted); padding:0 28px 20px 0; line-height:1.85; }
    details > p a { text-decoration:underline; text-underline-offset:3px; }
    .final-cta { padding:0 0 65px; }
    .final-cta-inner { border-top:1px solid var(--line); padding-top:45px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
    .final-cta h2 { font-size:32px; line-height:1.3; letter-spacing:-1.25px; }
    .final-cta p { color:var(--muted); font-size:12px; margin-top:7px; }
    .site-footer { border-top:1px solid var(--line); padding:30px 0 27px; background:#edf3fa; }
    .footer-top { display:flex; align-items:center; justify-content:space-between; gap:25px; }
    .footer-top .brand { font-size:19px; }
    .footer-top .brand-mark { width:24px; height:29px; }
    .footer-links { display:flex; gap:25px; font-size:10px; color:var(--muted); }
    .footer-bottom { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-top:22px; }
    .disclaimer { font-size:9px; color:var(--muted); max-width:680px; line-height:1.8; }
    .copyright { font-size:9px; color:var(--muted); white-space:nowrap; }
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    @media (min-width:1500px) { .hero { padding-top:95px; padding-bottom:65px; } }
    @media (max-width:1100px) { .container { width:calc(100% - 64px); } .desktop-nav { gap:19px; } .header-actions { gap:15px; } .hero-grid { gap:32px; } .hero h1 { letter-spacing:-2.8px; } .hero h1 em { letter-spacing:-2.5px; } .hero-reassurance { gap:12px; font-size:10px; } .hero-ctas { gap:14px; } .hero-ctas .btn { padding-inline:18px; } .hero-ctas .text-link { font-size:11px; gap:7px; } .feature { padding:23px; } .programs-grid { gap:65px; } .skill-tags { flex-shrink:1; max-width:345px; justify-content:flex-end; } .faq-grid { gap:60px; } }
    @media (max-width:840px) { .header-inner { height:75px; gap:18px; } .brand { font-size:22px; } .desktop-nav { display:none; } .desktop-nav.is-open { position:absolute; display:flex; flex-direction:column; align-items:stretch; gap:0; top:75px; right:0; left:0; background:var(--paper); border:1px solid var(--line); border-radius:0 0 8px 8px; box-shadow:0 15px 25px -20px #162e35; padding:9px 18px; } .desktop-nav.is-open a { padding:13px 0; } .menu-toggle { display:flex; } .header-actions { margin-left:auto; } .login-link { display:none; } .hero { padding-top:47px; } .hero-grid { gap:30px; } .hero h1 { font-size:50px; letter-spacing:-2.6px; } .hero-copy { font-size:14px; } .hero-ctas { align-items:flex-start; flex-direction:column; } .hero-ctas .text-link { font-size:12px; } .hero-reassurance { gap:10px 13px; } .quiz-top { padding-inline:17px; } .quiz-content { padding:20px 17px 15px; } .quiz-content h2 { font-size:15px; } .strip-item { padding-inline:15px; gap:10px; } .strip-item strong { font-size:10px; } .strip-item small { font-size:9px; } .strip-icon { width:30px; height:30px; } .exam-intro-inner { gap:25px; } .exam-chips { gap:14px; } .exam-chip strong { font-size:15px; } .section-heading h2 { font-size:35px; } .section-heading > p { max-width:250px; font-size:12px; } .feature-grid { grid-template-columns:1fr 1fr; } .feature-main { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:10px 30px; } .feature-main h3 { max-width:350px; } .feature-main p { max-width:350px; } .practice-stats { margin-top:5px; align-self:center; } .feature-wide { flex-direction:column; align-items:flex-start; gap:14px; } .skill-tags { justify-content:flex-start; max-width:none; } .steps-list { gap:27px; } .programs-grid { gap:40px; } .programs h2 { font-size:43px; } .testimonial-inner { grid-template-columns:150px 1fr; gap:35px; } .testimonial blockquote { font-size:23px; } .faq-grid { grid-template-columns:1fr 1.4fr; gap:40px; } .faq-heading h2 { font-size:32px; } }
    @media (max-width:620px) { html { scroll-padding-top:92px; } .container { width:calc(100% - 40px); } .announcement { font-size:9px; padding:8px 12px; min-height:33px; } .announcement a { margin-left:8px; } .header-inner { height:70px; gap:11px; } .brand { font-size:20px; gap:6px; } .brand-mark { width:26px; height:31px; } .header-actions .btn { min-height:37px; padding:9px 11px; font-size:10px; gap:8px; } .header-actions .btn .arrow { width:14px; } .menu-toggle { width:34px; height:36px; } .desktop-nav.is-open { top:70px; } .hero { padding:39px 0 22px; } .hero-grid { grid-template-columns:1fr; gap:38px; } .eyebrow { font-size:9px; letter-spacing:1.3px; } .hero h1 { font-size:clamp(47px,11.4vw,66px); margin-top:19px; line-height:1.08; letter-spacing:-2.8px; } .hero-copy { max-width:420px; font-size:14px; margin-top:20px; } .hero-ctas { flex-direction:row; align-items:center; gap:15px; margin-top:23px; } .hero-ctas .btn { min-height:49px; padding:13px 16px; font-size:12px; gap:15px; } .hero-ctas .text-link { font-size:10px; } .hero-reassurance { margin-top:21px; gap:16px; font-size:9px; } .quiz-content { padding:21px; } .quiz-content h2 { font-size:16px; min-height:52px; } .quiz-top { padding-inline:21px; } .quiz-bottom { padding-inline:20px; } .benefit-strip { margin-top:41px; padding:24px 0; grid-template-columns:1fr; gap:20px; } .strip-item, .strip-item:first-child { border:0; padding:0; gap:14px; } .strip-icon { width:32px; height:32px; } .strip-item strong { font-size:12px; } .strip-item small { font-size:10px; } .exam-intro { padding:26px 0 40px; } .exam-intro-inner { align-items:flex-start; flex-direction:column; gap:20px; } .exam-intro-label { max-width:none; font-size:9px; } .exam-chips { width:100%; justify-content:flex-start; gap:20px 28px; } .exam-chip strong { font-size:16px; } .exam-chip small { font-size:9px; } .section { padding:52px 0; } .section-heading { flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:27px; } .section-heading h2 { font-size:34px; letter-spacing:-1.6px; } .section-heading > p { max-width:360px; font-size:12px; } .feature-grid { grid-template-columns:1fr; gap:13px; } .feature { padding:26px; } .feature-main { display:block; } .feature-main h3 { font-size:28px; } .practice-stats { margin-top:28px; } .feature h3 { font-size:21px; } .feature-icon { margin-bottom:19px; } .feature-main h3 { font-size:28px; } .feature p { font-size:12px; } .feature-grid .feature:not(.feature-main):not(.feature-wide) { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; } .feature-icon { grid-column:1 / -1; } .feature-grid .feature:not(.feature-main):not(.feature-wide) h3 { font-size:18px; } .answer-example { margin-top:0; align-self:center; } .answer-example p { font-size:9px; } .feature-wide h3 { font-size:17px; } .feature-wide p { font-size:11px; } .skill-tags { gap:6px; } .skill-tags span { font-size:8px; padding:5px 8px; } .steps { padding:53px 0; } .steps-heading { align-items:flex-start; flex-direction:column; gap:17px; } .steps-heading h2 { font-size:32px; letter-spacing:-1.5px; } .steps-list { grid-template-columns:1fr; gap:26px; margin-top:30px; } .step { display:grid; grid-template-columns:39px 1fr; gap:0 19px; } .step-number { grid-row:1 / 3; align-items:flex-start; font-size:25px; } .step-number::after { display:none; } .step h3 { margin-top:2px; } .step p { margin-top:6px; max-width:none; } .programs-grid { grid-template-columns:1fr; gap:30px; } .programs h2 { font-size:43px; } .programs-copy { max-width:360px; margin-top:17px; font-size:13px; } .programs-assurances { margin-top:23px; gap:8px; } .package-body { padding:23px; } .package-top { padding-inline:23px; } .testimonial { padding:48px 0; } .testimonial-inner { grid-template-columns:1fr; gap:24px; } .testimonial-heading h2 { font-size:23px; margin-top:8px; } .testimonial blockquote { font-size:23px; letter-spacing:-.7px; } .quote-credit { gap:10px; } .quote-credit a { max-width:95px; text-align:right; font-size:9px; } .faq { padding:53px 0; } .faq-grid { grid-template-columns:1fr; gap:29px; } .faq-heading h2 { font-size:33px; } .faq-heading p { margin-top:14px; max-width:none; } summary { font-size:12px; padding:18px 0; } .final-cta { padding-bottom:45px; } .final-cta-inner { align-items:flex-start; flex-direction:column; padding-top:31px; gap:22px; } .final-cta h2 { font-size:28px; } .final-cta .btn { min-height:49px; } .site-footer { padding:25px 0; } .footer-top, .footer-bottom { align-items:flex-start; flex-direction:column; gap:20px; } .footer-links { gap:19px; font-size:10px; } .footer-bottom { margin-top:21px; gap:16px; } .disclaimer { font-size:9px; } }
    @media (max-width:370px) { .container { width:calc(100% - 30px); } .header-actions .btn { font-size:9px; padding-inline:8px; } .brand { font-size:18px; } .hero-ctas { gap:11px; } .hero-ctas .btn { padding-inline:13px; font-size:11px; } .hero-reassurance { gap:10px; font-size:8px; } .feature-grid .feature:not(.feature-main):not(.feature-wide) { display:block; } .answer-example, .announcement a { display:none; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; } }

    /* Blue, direct, and grounded in police exam preparation. */
    body { background:#fff; }
    .btn { border-radius:3px; box-shadow:none; }
    .btn:hover { transform:none; }
    .brand { gap:11px; font-size:29px; letter-spacing:1.1px; line-height:1; }
    .brand-mark { width:38px; height:45px; }
    .brand-name small { display:block; font-family:var(--body); font-size:7px; font-weight:600; letter-spacing:1.55px; margin-top:6px; }
    .site-header { background:#fff; backdrop-filter:none; }
    .announcement { background:#0d213c; }
    .announcement span { color:#b8d2f3; }
    .hero { position:relative; isolation:isolate; background:#102745; color:#fff; padding:71px 0 78px; border-bottom:6px solid #245abf; }
    .hero-photo { position:absolute; inset:0 0 0 auto; height:100%; width:78%; object-fit:cover; object-position:70% center; z-index:-2; }
    .hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#102745 0%,#102745 28%,rgba(16,39,69,.94) 40%,rgba(16,39,69,.61) 57%,rgba(16,39,69,.1) 82%),linear-gradient(0deg,rgba(9,29,55,.55),transparent 45%); }
    .hero-grid { display:block; position:relative; }
    .hero-text { max-width:690px; }
    .hero .eyebrow { color:#c6dcf9; font-size:10px; letter-spacing:1.6px; }
    .hero .eyebrow::before { background:#9cbfea; border-radius:0; }
    .hero h1 { font-size:94px; font-weight:700; line-height:1.02; letter-spacing:.2px; text-transform:uppercase; margin-top:21px; }
    .hero h1 em { font-family:var(--display); font-style:normal; font-weight:700; letter-spacing:.2px; color:#a8ccfa; }
    .hero-copy { max-width:430px; font-size:15px; line-height:1.85; color:#d0dceb; margin-top:21px; }
    .hero-ctas { margin-top:27px; gap:27px; }
    .hero-ctas .btn { min-height:53px; background:#2d67cd; }
    .hero-ctas .btn:hover { background:#3c79df; }
    .hero .text-link { color:#f2f6ff; font-size:12px; }
    .hero .text-link:hover { color:#afcffb; }
    .hero-reassurance { margin-top:24px; color:#c4d4e8; font-size:10px; }
    .hero-reassurance .icon { color:#9dc5f8; }
    .hero-caption { position:absolute; right:0; bottom:-30px; display:flex; align-items:center; gap:13px; color:#e5efff; font-size:10px; line-height:1.7; }
    .hero-caption .brand-mark { width:28px; height:33px; color:#b2c8e6; }
    .hero-caption strong { font-size:11px; font-weight:600; }
    .hero-benefits { background:#eef4fc; }
    .hero-benefits .benefit-strip { margin-top:0; padding:28px 0; border-top:0; border-bottom:0; }
    .strip-icon { background:none; color:#315e99; border-radius:0; }
    .strip-item strong { font-size:12px; }
    .strip-item small { font-size:11px; }
    .exam-intro { padding:36px 0; border-bottom:1px solid #e3eaf4; background:#fff; }
    .exam-chip strong { font-family:var(--body); font-size:15px; font-weight:750; letter-spacing:-.4px; }
    .section-heading h2 { font-size:49px; letter-spacing:-.5px; font-weight:700; }
    .section-heading > p { font-size:14px; max-width:330px; }
    .included { background:#f0f5fb; }
    .feature { border-radius:3px; padding:29px; }
    .feature h3 { font-size:27px; letter-spacing:0; font-weight:700; }
    .feature p { font-size:13px; line-height:1.8; }
    .feature-main h3 { font-size:34px; letter-spacing:0; }
    .feature-icon { background:none; padding:0; justify-content:start; margin-bottom:21px; height:32px; border-radius:0; }
    .practice-stats strong { font-family:var(--body); font-size:30px; }
    .answer-example { border-radius:0; border:0; border-left:2px solid #95b8e7; padding:9px 13px; }
    .answer-example p { font-size:10px; }
    .study-checklist { list-style:none; padding:0; margin:25px 0 0; display:grid; gap:12px; }
    .study-checklist li { display:flex; align-items:center; gap:8px; font-size:11px; color:#486481; }
    .study-checklist .icon { width:13px; height:13px; color:#245abf; }
    .feature-wide { background:#dfeafa; border-color:#cddcf0; }
    .feature-wide h3 { font-size:24px; }
    .feature-wide p { font-size:12px; }
    .skill-tags span { border:0; padding:0; border-radius:0; font-size:10px; }
    .skill-tags span+span { border-left:1px solid #afc4e0; padding-left:13px; margin-left:5px; }
    .steps-heading h2 { font-size:45px; letter-spacing:-.4px; }
    .step-number { font-family:var(--display); font-style:normal; font-weight:700; font-size:34px; }
    .step h3 { font-size:24px; letter-spacing:0; }
    .step p { font-size:13px; }
    .sample-section { padding:71px 0; background:#e7eff9; border-top:1px solid #d6e1f0; }
    .sample-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
    .sample-intro h2 { font-size:51px; letter-spacing:-.4px; line-height:1.15; margin-top:14px; }
    .sample-intro p { font-size:14px; line-height:1.85; color:var(--muted); max-width:365px; margin-top:21px; }
    .sample-intro p+p { font-size:13px; margin-top:14px; }
    .sample-intro .text-link { margin-top:28px; font-size:12px; color:#2056a4; }
    .sample-paper { border-top:4px solid #315c92; }
    .quiz-card { border-radius:0; box-shadow:none; border:1px solid #c1cfe0; }
    .quiz-top { padding-block:16px; background:#f9fbfe; }
    .quiz-brand { letter-spacing:.75px; font-size:18px; }
    .quiz-brand .brand-mark { height:27px; width:23px; }
    .quiz-content h2 { font-family:var(--body); letter-spacing:-.3px; font-size:16px; line-height:1.6; }
    .quiz-meta .tag { background:none; padding:0; border-radius:0; color:#3d5d86; }
    .option { border-radius:1px; }
    .option-letter { border-radius:0; }
    .programs { background:#122d50; }
    .programs::before { display:none; }
    .programs h2 { font-size:67px; font-weight:700; line-height:1.1; letter-spacing:0; }
    .programs h2 em { font-family:var(--display); font-style:normal; font-weight:700; color:#a8cafa; }
    .programs-copy { font-size:14px; }
    .package-card { border-radius:3px; background:#fff; }
    .package-top { background:#e5eefb; color:#365e94; }
    .package-description h3 { font-size:30px; letter-spacing:0; }
    .package-description > p { font-size:12px; }
    .price strong { font-family:var(--body); font-size:47px; }
    .package-includes li { font-size:12px; }
    .package-includes .icon { color:#245abf; }
    .package-body label { font-size:10px; }
    .select-wrap select { border-radius:2px; font-size:13px; }
    .testimonial { background:#eef3fa; }
    .testimonial-heading h2 { font-size:30px; letter-spacing:0; }
    .testimonial blockquote { font-family:var(--body); font-size:26px; font-weight:500; letter-spacing:-.7px; }
    .avatar { border-radius:0; }
    .faq-heading h2 { font-size:46px; letter-spacing:0; }
    .faq-heading p, details>p { font-size:13px; }
    .final-cta h2 { font-size:39px; letter-spacing:0; }
    .footer-top .brand { font-size:26px; }
    .footer-top .brand-mark { width:30px; height:36px; }
    @media(max-width:1100px) { .hero h1 { font-size:86px; } .hero-caption { right:-5px; max-width:230px; } .sample-grid { gap:60px; } .skill-tags { gap:10px; } }
    @media(max-width:840px) { .brand { font-size:26px; } .brand-mark { width:32px; height:38px; } .brand-name small { font-size:6px; letter-spacing:1.2px; } .hero { padding:59px 0 61px; } .hero h1 { font-size:80px; } .hero-text { max-width:590px; } .hero-copy { max-width:390px; } .hero-ctas { flex-direction:row; align-items:center; } .hero-caption { display:none; } .hero-shade { background:linear-gradient(90deg,#102745 0%,rgba(16,39,69,.94) 40%,rgba(16,39,69,.6) 75%,rgba(16,39,69,.25)); } .section-heading h2 { font-size:44px; } .sample-grid { gap:35px; } .sample-intro h2 { font-size:43px; } .sample-intro p { font-size:13px; } .programs h2 { font-size:56px; } .quiz-brand { font-size:16px; } .preview-label { font-size:7px; letter-spacing:.7px; } }
    @media(max-width:620px) { .brand { font-size:23px; gap:8px; } .brand-mark { width:29px; height:35px; } .brand-name small { font-size:5.7px; letter-spacing:.85px; margin-top:4px; } .hero { padding:0; display:flex; flex-direction:column; } .hero-grid { order:0; padding-block:37px; width:calc(100% - 40px); } .hero-photo { order:1; position:relative; inset:auto; z-index:0; width:100%; height:265px; object-position:70% 42%; } .hero-shade { display:none; } .hero .eyebrow { font-size:8px; letter-spacing:1.1px; } .hero h1 { font-size:clamp(40px,12.1vw,62px); line-height:1.025; letter-spacing:0; margin-top:18px; } .hero h1 em { letter-spacing:0; } .hero-copy { font-size:13px; line-height:1.8; max-width:360px; margin-top:19px; } .hero-ctas { gap:19px; flex-direction:row; } .hero-ctas .btn { min-height:49px; padding-inline:16px; font-size:12px; } .hero .text-link { font-size:10px; gap:5px; } .hero .text-link .icon { width:15px; } .hero-reassurance { font-size:9px; gap:12px; margin-top:22px; } .hero-benefits .benefit-strip { padding:24px 0; gap:18px; } .strip-item strong { font-size:12px; } .strip-item small { font-size:10px; } .exam-intro { padding:28px 0; } .section-heading h2 { font-size:43px; } .section-heading>p { font-size:13px; } .feature { padding:25px; } .feature-grid .feature:not(.feature-main):not(.feature-wide) { display:block; } .feature-grid .feature:not(.feature-main):not(.feature-wide) h3 { font-size:27px; } .feature-main h3 { font-size:33px; } .feature p { font-size:13px; } .answer-example { margin-top:20px; } .answer-example p { font-size:11px; } .feature-wide { gap:16px; } .feature-wide h3 { font-size:25px; } .feature-wide p { font-size:12px; } .skill-tags { gap:8px; } .skill-tags span { font-size:9px; } .skill-tags span+span { margin-left:0; padding-left:8px; } .steps-heading h2 { font-size:40px; } .step-number { font-size:31px; } .step h3 { font-size:24px; } .step p { font-size:13px; } .sample-section { padding:49px 0; } .sample-grid { grid-template-columns:1fr; gap:30px; } .sample-intro h2 { font-size:45px; } .sample-intro p { max-width:none; font-size:13px; margin-top:16px; } .sample-intro p+p { font-size:12px; margin-top:12px; } .sample-intro .text-link { margin-top:20px; } .quiz-brand { font-size:17px; } .programs h2 { font-size:56px; } .package-description h3 { font-size:30px; } .testimonial-heading h2 { font-size:30px; } .testimonial blockquote { font-size:23px; } .faq-heading h2 { font-size:43px; } .final-cta h2 { font-size:34px; } }
    @media(max-width:370px) { .brand { font-size:21px; } .brand-name small { font-size:5px; } .hero-grid { width:calc(100% - 30px); } .hero h1 { font-size:41px; } .hero-reassurance { font-size:8px; gap:9px; } .hero-ctas { gap:12px; } .hero-ctas .btn { font-size:11px; padding-inline:13px; } .hero .text-link { font-size:9px; } .header-actions .btn { font-size:8px; } .hero-photo { height:230px; } }

/* The original maple-leaf shield, refreshed in the site palette. */
.brand .brand-name { font-family:var(--body); font-size:25px; font-weight:850; letter-spacing:-.5px; line-height:1; }
.brand .brand-name small { font-family:var(--body); font-size:7px; font-weight:600; letter-spacing:2.6px; margin-top:7px; color:var(--muted); }
@media (max-width:620px) { .brand .brand-name { font-size:20px; } .brand .brand-name small { font-size:5.7px; letter-spacing:1.95px; margin-top:6px; } }
@media (max-width:370px) { .brand .brand-name { font-size:18px; } .brand .brand-name small { font-size:5px; letter-spacing:1.8px; } }

/* Course selection and enrollment lead the homepage. */
.course-offer { padding:38px 0 42px; min-height:0; display:block; }
.course-offer .hero-photo { position:absolute; inset:0; width:100%; height:100%; opacity:.35; object-position:70% 40%; z-index:-2; }
.course-offer .hero-shade { display:block; background:linear-gradient(90deg,#102745e8,#102745bd 55%,#102745a8); }
.offer-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-areas:'intro card' 'exams card'; column-gap:64px; row-gap:22px; align-items:start; }
.offer-intro { grid-area:intro; }
.course-offer h1 { font-size:58px; line-height:1.04; text-transform:none; margin-top:14px; }
.course-offer .hero-copy { max-width:475px; font-size:15px; line-height:1.65; margin-top:18px; }
.offer-trial { margin-top:14px; }
.offer-exams { grid-area:exams; }
.offer-exams-label { font-size:11px; font-weight:700; color:#c6dcf9; margin-bottom:10px; }
.offer-course-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.offer-course-choice { display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding:10px 12px; border:1px solid #7295c066; background:#ffffff0d; color:white; border-radius:4px; min-height:60px; }
.offer-course-choice strong { font-size:13px; line-height:1.3; }
.offer-course-choice span { color:#c2d4ec; font-size:10px; margin-top:3px; }
.offer-course-choice:hover { background:#ffffff19; border-color:#b9d2f0; }
.offer-course-choice[aria-pressed=true] { background:#edf4ff; color:#102745; border-color:#edf4ff; }
.offer-course-choice[aria-pressed=true] span { color:#536781; }
.offer-catalog-link { margin-top:13px; }
.offer-grid .package-card { grid-area:card; align-self:start; box-shadow:0 18px 45px #07192d40; }
.course-offer .package-body { padding:22px 25px; }
.course-offer .package-description { padding-top:16px; }
.course-offer .package-description h3 { font-size:29px; }
.course-offer #package-link { margin-top:18px; min-height:48px; }
.course-offer .package-includes { margin:18px 0 0; padding-top:16px; gap:8px; }
.course-offer .package-footnote { font-size:10px; }
.course-catalog { background:#f6f9fd; padding:60px 0; }
.course-group-title { font-size:24px; margin:26px 0 16px; }
.course-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.course-card { display:flex; flex-direction:column; border:1px solid #d7e1ed; border-radius:6px; background:white; padding:24px; }
.course-region { text-transform:uppercase; color:#365e94; font-size:10px; font-weight:750; letter-spacing:1px; }
.course-card h3 { margin-top:10px; font-size:29px; line-height:1.15; }
.course-summary { color:#5d6d83; font-size:13px; margin-top:12px; }
.course-first { font-size:12px; margin:14px 0 24px; }
.course-card-bottom { margin-top:auto; padding-top:18px; border-top:1px solid #d7e1ed; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.course-card-price { font-size:25px; font-weight:750; line-height:1.2; }
.course-card-price small { display:block; color:#5d6d83; font-size:9px; font-weight:500; margin-top:4px; }
.course-card-bottom .text-link { font-size:11px; gap:6px; color:#245abf; }
.course-guide-link { color:#5d6d83; text-decoration:underline; font-size:11px; margin-top:14px; }
@media(max-width:1100px) { .offer-grid { column-gap:32px; } .course-offer h1 { font-size:48px; } .offer-course-choice strong { font-size:12px; } .course-card { padding:20px; } .course-card-bottom { align-items:flex-start; flex-direction:column; } }
@media(max-width:840px) { .course-offer { padding:30px 0; } .offer-grid { column-gap:24px; } .course-offer h1 { font-size:42px; } .course-offer .eyebrow { font-size:8px; letter-spacing:.9px; } .course-offer .hero-copy { font-size:13px; } .course-offer .package-body { padding:20px; } .course-offer .package-description h3 { font-size:26px; } .course-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .offer-grid { grid-template-columns:1fr; grid-template-areas:'intro' 'card' 'exams'; row-gap:24px; } .course-offer h1 { font-size:42px; margin-top:12px; } .course-offer .hero-copy { margin-top:13px; max-width:480px; } .offer-trial { margin-top:10px; } .offer-course-choices { grid-template-columns:repeat(3,minmax(0,1fr)); } .course-offer .package-description h3 { font-size:29px; } }
@media(max-width:620px) { .course-offer { padding:24px 0 30px; } .course-offer .hero-photo { position:absolute; width:100%; height:100%; } .course-offer h1 { font-size:36px; } .course-offer .hero-copy { font-size:13px; line-height:1.6; } .offer-course-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } .course-offer .package-top { padding:10px 20px; } .course-offer .package-description h3 { font-size:27px; } .course-offer .price strong { font-size:42px; } .course-offer .package-includes li { font-size:11px; } .course-catalog { padding:42px 0; } .course-catalog-grid { grid-template-columns:1fr; gap:14px; } .course-catalog .section-heading h2 { font-size:36px; } .course-card-bottom { align-items:center; flex-direction:row; } }
@media(max-width:370px) { .course-offer h1 { font-size:32px; } .course-offer .package-body { padding:18px; } .course-offer .package-description h3 { font-size:24px; } .course-card-bottom { align-items:flex-start; flex-direction:column; } }
