PageSourceSearch

https://secplusmastery.com/assets/Home-CV1hhE4Y.js

js secplusmastery.com collected 2026-10-02 01:43:13 UTC 34,470 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProductShotLightbox-C8tzg5gV.js","assets/jsx-runtime-fBfwind-.js","assets/react-B8IZ02wI.js","assets/index-D5PQ5DJI.js","assets/preload-helper-CZgWQFsJ.js","assets/supabase-BLnLq1Qr.js","assets/AuthContext-BJAvu9KB.js","assets/fetchWithRetry-DDDJA_sj.js","assets/user-GFy25H1C.js","assets/safeStorage-C7WjHKJ3.js","assets/accountEpoch-Cyh1Q6NE.js","assets/accountSync-C9b3yH_m.js","assets/examDate-CKu-_Z70.js","assets/examResult-xU7DkHxR.js","assets/localDate-PBHhXJtV.js","assets/dayZone-CEwGlIhT.js","assets/localStudyData-CdExekqY.js","assets/reviewBudget-DFyiCxw1.js","assets/ToastContext-CZEqf5mt.js","assets/domains-DgIjIvni.js","assets/scoring-PtmjBY-3.js","assets/index-DnJAa4Lt.css","assets/Modal-DgeoJ8BY.js","assets/Testimonials-Cz3stxpE.js","assets/analytics-D1gtyW2m.js","assets/Card-BAxZ9mmE.js","assets/SectionLabel-D30uVP3F.js","assets/useReviews-5lUA2X7Y.js","assets/FreePbq-COKGqjqI.js"])))=>i.map(i=>d[i]);
2import{i as e,t}from"./react-B8IZ02wI.js";import{t as n}from"./preload-helper-CZgWQFsJ.js";import{t as r}from"./jsx-runtime-fBfwind-.js";import{t as i}from"./domains-DgIjIvni.js";import{C as a,Dt as o,J as s,Ot as c,Q as l,St as u,Z as d,bt as f,l as p,o as m,tt as h,w as g,wt as _,xt as v}from"./index-D5PQ5DJI.js";import{n as y}from"./analytics-D1gtyW2m.js";import{t as b}from"./welcomeOffer-frjHTJ2i.js";import{i as x,o as S,s as C,t as w}from"./planOffer-DdWvdMjq.js";import{t as T}from"./SectionLabel-D30uVP3F.js";import{hasStoredSession as E}from"./sessionPersistence-DFLHN63Y.js";import{t as D}from"./FirstWeekOffer-DsX5tJc4.js";import{t as O}from"./BlueprintDivider-BhK6YSO_.js";import{r as ee,t as k}from"./aplusSale-geSoMFT5.js";import{t as A}from"./aplusAnnouncementState-RRXqKHLi.js";import{t as j}from"./freeOffer-BqTZ8qQj.js";import{t as M}from"./FreeOfferCta-DeggG4mb.js";import{t as N}from"./Field-csgsWt5E.js";import{t as P}from"./StickyFreeCta-DLR7lhtn.js";import{t as F}from"./SocialAuthButtons-DZWKG4dr.js";import{t as I}from"./commerceLd-DE7Y8SBJ.js";var L=e(t(),1),R=r();function z({className:e=``}){let[t,n]=A();return t?(0,R.jsxs)(`aside`,{"aria-label":`APlus Mastery`,className:`flex items-center gap-3 rounded-xl border border-brand-500/30 bg-white px-4 py-2.5 text-sm shadow-sm ${e}`,children:[(0,R.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] font-semibold uppercase tracking-[0.14em] text-brand-600 dark:text-brand-300`,children:`New`}),(0,R.jsxs)(`p`,{className:`min-w-0 flex-1 leading-6 text-gray-700`,children:[ee()?`APlus Mastery, our course for the CompTIA A+ exams, is open in beta, with both plans half off through ${k.endsAtLabel}.`:`APlus Mastery, our course for the CompTIA A+ exams, is open in beta.`,` `,(0,R.jsxs)(`a`,{href:`/register?next=%2Faplus%2Fapp`,onClick:n,className:`whitespace-nowrap rounded font-medium text-brand-600 underline-offset-2 hover:underline focus-ring dark:text-brand-300`,children:[`Sign up for APlus Mastery `,(0,R.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]})]}),(0,R.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Dismiss the APlus Mastery note`,className:`shrink-0 rounded-lg p-1.5 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-700 focus-ring`,children:(0,R.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 20 20`,className:`h-4 w-4`,fill:`none`,stroke:`currentColor`,strokeWidth:2,children:(0,R.jsx)(`path`,{strokeLinecap:`round`,d:`M5 5l10 10M15 5L5 15`})})})]}):null}var B=(0,L.lazy)(()=>n(()=>import(`./ProductShotLightbox-C8tzg5gV.js`).then(e=>({default:e.ProductShotLightbox})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]))),V=`inline-flex items-center rounded-full border border-gray-200 px-3 py-1 font-mono text-[11px] font-semibold uppercase tracking-[0.1em] text-gray-500 transition-colors hover:border-gray-300 hover:text-gray-700 focus-ring`;function H(){return(0,R.jsxs)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute right-2 top-2 inline-flex items-center gap-1 rounded-md bg-white/85 px-2 py-1 text-[11px] font-medium text-gray-600 opacity-0 shadow-sm ring-1 ring-gray-200 transition group-hover:opacity-100 group-focus-visible:opacity-100`,children:[(0,R.jsxs)(`svg`,{viewB
2ox:`0 0 20 20`,className:`h-3.5 w-3.5`,fill:`none`,"aria-hidden":`true`,children:[(0,R.jsx)(`circle`,{cx:`9`,cy:`9`,r:`5.5`,className:`stroke-current`,strokeWidth:1.5}),(0,R.jsx)(`line`,{x1:`13`,y1:`13`,x2:`17`,y2:`17`,className:`stroke-current`,strokeWidth:1.5,strokeLinecap:`round`}),(0,R.jsx)(`line`,{x1:`9`,y1:`6.8`,x2:`9`,y2:`11.2`,className:`stroke-current`,strokeWidth:1.5,strokeLinecap:`round`}),(0,R.jsx)(`line`,{x1:`6.8`,y1:`9`,x2:`11.2`,y2:`9`,className:`stroke-current`,strokeWidth:1.5,strokeLinecap:`round`})]}),`Expand`]})}function U({src:e,width:t,height:n,alt:r,title:i,caption:a,className:o=``}){let[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(!1);function d(){u(!0),c(!0)}return(0,R.jsxs)(`figure`,{className:`mx-auto ${o}`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:d,"aria-haspopup":`dialog`,"aria-label":`Enlarge screenshot: ${i}`,className:`group relative block w-full cursor-zoom-in overflow-hidden rounded-2xl outline-none ring-brand-500 transition focus-visible:ring-2`,children:[(0,R.jsx)(`img`,{src:e,width:t,height:n,loading:`lazy`,decoding:`async`,alt:r,className:`w-full rounded-2xl shadow-sm`}),(0,R.jsx)(H,{})]}),(0,R.jsx)(`figcaption`,{className:`mt-3 text-center text-sm text-gray-500`,children:a}),(0,R.jsx)(`div`,{className:`mt-3 flex justify-center sm:hidden`,children:(0,R.jsx)(`button`,{type:`button`,onClick:d,"aria-haspopup":`dialog`,className:V,children:`Expand`})}),l&&(0,R.jsx)(L.Suspense,{fallback:null,children:(0,R.jsx)(B,{isOpen:s,onClose:()=>c(!1),src:e,width:t,height:n,alt:r,title:i,description:a})})]})}var W=[{q:`What is SecPlus Mastery?`,a:`SecPlus Mastery is a mastery-based study platform for the CompTIA Security+ SY0-701 exam. You work one objective at a time, prove retention with quizzes and spaced-repetition review, and simulate the full 90-question exam. It is an independent study tool, not affiliated with or endorsed by CompTIA.`},{q:`Is SecPlus Mastery free?`,a:`Domain 1 is free, along with practice questions, cheat sheets, a 30-day study plan, and a 300+ acronym glossary. A one-time 90-Day Pass or Lifetime purchase unlocks all five domains, full mock exams, and adaptive review. There is no subscription.`},{q:`What is on the CompTIA Security+ SY0-701 exam?`,a:`SY0-701 covers five domains: General Security Concepts (12%), Threats, Vulnerabilities, and Mitigations (22%), Security Architecture (18%), Security Operations (28%), and Security Program Management and Oversight (20%). The exam has up to 90 questions, including performance-based questions, and the passing score is 750 on a scale of 100 to 900.`},{q:`How long does it take to study for Security+?`,a:`With some IT background, a focused 30 days is enough for many people; if you are newer to IT, give yourself six to eight weeks. Consistency matters more than marathon sessions: about one to two hours on study days works well.`},{q:`Does CompTIA Security+ expire?`,a:`Yes. The certification is valid for three years from the date you pass, and you renew it through CompTIA's continuing-education program or by earning a higher-level certification.`},{q:`Who makes SecPlus Mastery?`,a:`Jude Hilgendorf, a cybersecurity student at Macomb Community College. He built the platform while preparing for SY0-701, studied on it, and passed the exam in August 2026. He writes the lessons, questions, labs, and mock exams himself, and checks them against the published CompTIA objectives. SecPlus Mastery is an independent study tool, not affiliated with or endorsed by CompTIA.`},{q:`How is "mastery-based" different from a normal question bank?`,a:`Instead of grinding random questions, you prove 80% mastery on each objective, then spaced repetition brings topics back right before you would forget them. A readiness score and mock exams tell you when you are actually ready to sit the exam.`}],te=(0,L.lazy)(()=>n(()=>import(`./Testimonials-Cz3stxpE.js`),__vite__mapDeps([23,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,24,25,26,27]))),G=(0,L.lazy)(()=>n(()=>import(`./FreePbq-COKGqjqI.js`).then(e=>({default:e.FreePbq})),__vite__mapDeps([28,2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,24])));function K({children:e}){return(0,R.jsx)(`svg`,{className:`h-5 w-5 text-brand-600 dark:text-brand-300`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:e})}var q=(0,R.jsxs)(K,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`5`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.5`,fill:`currentColor`})]}),J=(0,R.jsxs)(K,{children:[(0,R.jsx)(`path`,{d:`m12 3 9 5-9 5-9-5 9-5Z`}),(0,R.jsx)(`path`,{d:`m3 13 9 5 9-5`})]}),Y=(0,R.jsxs)(K,{children:[(0,R.jsx)(`path`,{d:`M4 7h12a4 4 0 0 1 4 4v1`}),(0,R.jsx)(`path`,{d:`m7 4-3 3 3 3`}),(0,R.jsx)(`path`,{d:`M20 17H8a4 4 0 0 1-4-4v-1`}),(0,R.jsx)(`path`,{d:`m17 20 3-3-3-3`})]}),X=(0,R.jsxs)(K,{children:[(0,R.jsx)(`path`,{d:`M9 5h6a1 1 0 0 1 1 1v1H8V6a1 1 0 0 1 1-1Z`}),(0,R.jsx)(`path`,{d:`M8 7H6a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-2`}),(0,R.jsx)(`path`,{d:`m9 14 2 2 4-4`})]}),Z=(0,R.jsxs)(K,{children:[(0,R.jsx)(`path`,{d:`M12 14 16 9`}),(0,R.jsx)(`path`,{d:`M3.5 18a9 9 0 1 1 17 0`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`14`,r:`1.5`,fill:`currentColor`})]}),Q=(0,R.jsxs)(K,{children:[(0,R.jsx)(`path`,{d:`M11 5 6 9H2v6h4l5 4z`}),(0,R.jsx)(`path`,{d:`M15.5 8.5a5 5 0 0 1 0 7`}),(0,R.jsx)(`path`,{d:`M18.5 5.5a9 9 0 0 1 0 13`})]}),ne=(0,R.jsx)(`svg`,{className:`mt-0.5 h-4 w-4 shrink-0 text-mastery-mastered`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.25,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,R.jsx)(`path`,{d:`m5 13 4 4L19 7`})}),re=[{value:`2,154`,label:`Exam-style questions`},{value:`28`,label:`Official objectives`},{value:`90`,label:`Questions per mock exam`}],ie=[{step:`01`,icon:J,title:`Learn`,body:`One objective at a time, in a focused lesson you can read or hear.`},{step:`02`,icon:q,title:`Quiz to 80%`,body:`Clear the mastery gate before the next objective unlocks.`},{step:`03`,icon:Y,title:`Spaced review`,body:`What you miss comes back on schedule, timed so it sticks.`},{step:`04`,icon:X,title:`Mock exam`,body:`A timed 90-question sim on the real scale, scored by domain.`}],$=[{icon:J,title:`Real performance-based questions`,body:`Drag-to-match, categorize, order-the-steps, configure, and hotspot. The interactive PBQs that trip people up on test day.`},{icon:q,title:`Mastery-based progression`,body:`80% on each section before the next unlocks. No skipping ahead, so every objective is solid before you move on.`},{icon:Y,title:`Spaced review that adapts`,body:`Miss something and it comes back at the right interval, timed to the moment you would forget it, not a fixed calendar.`},{icon:X,title:`Full mock exams`,body:`Timed 90-question simulations scored on the real 100 to 900 scale, with a domain-by-domain breakdown of every answer.`},{icon:Z,title:`Exam-readiness score`,body:`One number, 0 to 100, from your mastery, coverage, retention, and consistency, so you know 
2when you are actually ready.`},{icon:Q,title:`Read or listen`,body:`Every lesson reads itself aloud with in-line practice checks, so you can study on the screen or on the move.`}],ae=[{name:`Free`,price:`$0`,period:`forever`,blurb:`All ${j.objectives} Domain 1 objectives, at no cost.`,points:[`${j.questions} questions across ${j.objectives} objectives`,`Placement check and a dated daily plan`,`One timed sitting from a locked domain, ${j.sampleQuestions} questions`],to:`/register`,cta:`Start free`,event:`pricing_card_free`,variant:`outline`,intent:void 0,listPrice:void 0},{name:`90-Day Pass`,price:`$39`,listPrice:39,period:`one-time`,blurb:`Full access for your whole study window.`,points:[`All 5 domains unlocked`,`Every PBQ and mock exam`,`Full spaced-review queue`],to:`/pricing`,cta:`Get the 90-Day Pass`,event:`pricing_card_pass`,variant:`primary`,featured:!0,intent:`pro`},{name:`Lifetime`,price:`$99`,listPrice:99,period:`one-time`,blurb:`Pay once, keep access forever.`,points:[`Everything in the Pass`,`Access that never expires`,`Free update when the next exam launches`],to:`/pricing`,cta:`Get Lifetime`,event:`pricing_card_lifetime`,variant:`outline`,intent:`lifetime`}];function oe(){return(0,R.jsxs)(`svg`,{className:`mt-0.5 h-[18px] w-[18px] shrink-0 text-emerald-600 dark:text-emerald-400`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,R.jsx)(`path`,{d:`M12 3 5 6v5c0 4.2 2.9 7.7 7 9 4.1-1.3 7-4.8 7-9V6l-7-3Z`}),(0,R.jsx)(`path`,{d:`m9 12 2 2 4-4.5`})]})}function se(){let e=c(),[t,n]=(0,L.useState)(``);function r(n){n.preventDefault(),y({name:`home_cta_clicked`,props:{cta:`hero_start_free`}});let r=t.trim();e(`/register`,r?{state:{email:r}}:void 0)}return(0,R.jsxs)(`div`,{className:`relative rounded-2xl border border-gray-200 bg-white p-6 shadow-sm sm:p-7 dark:shadow-[var(--ring-signal)]`,children:[(0,R.jsx)(T,{tone:`signal`,dot:!0,children:`Start free · no card`}),(0,R.jsxs)(`h2`,{className:`mt-3 text-lg font-semibold text-gray-900`,children:[j.questions,` questions, free, in under a minute`]}),(0,R.jsxs)(`div`,{className:`mt-4`,children:[(0,R.jsx)(F,{mode:`signup`}),(0,R.jsxs)(`form`,{onSubmit:r,className:`space-y-3`,noValidate:!0,children:[(0,R.jsx)(N,{id:`hero-email`,label:`Email`,type:`email`,autoComplete:`email`,placeholder:`[email protected]`,value:t,onChange:e=>n(e.target.value)}),(0,R.jsx)(l,{type:`submit`,size:`lg`,fullWidth:!0,className:`shadow-[var(--glow-signal)] transition-transform motion-safe:hover:-translate-y-0.5`,children:`Start free with Domain 1`})]})]}),(0,R.jsxs)(`p`,{className:`mt-4 text-sm leading-relaxed text-gray-600`,children:[`All `,j.objectives,` Domain 1 objectives, each with a lesson, a hands-on lab and`,` `,j.minPerObjective,` to `,j.maxPerObjective,` exam-style questions. Plus a placement check, a dated day-by-day plan, and one timed`,` `,j.sampleQuestions,`-question sitting from a domain you have not paid for. Free forever, no credit card.`]}),(0,R.jsxs)(`p`,{className:`mt-3 text-center text-sm text-gray-500`,children:[`Already have an account?`,` `,(0,R.jsx)(u,{to:`/login`,className:`rounded font-medium text-brand-600 hover:underline focus-ring dark:text-brand-300`,children:`Sign in`})]})]})}function ce(){let[e,t]=(0,L.useState)(!1);return(0,R.jsx)(`section`,{className:`reveal mt-16`,"aria-labelledby":`try-pbq-heading`,children:(0,R.jsxs)(`div`,{className:`rounded-3xl border border-gray-200 bg-white px-5 py-7 shadow-sm sm:px-8 sm:py-9`,children:[(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,R.jsx)(T,{tone:`signal`,dot:!0,className:`justify-center`,children:`Try one now`}),(0,R.jsx)(`h2`,{id:`try-pbq-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`Try a real PBQ. Sixty seconds, no account.`}),(0,R.jsx)(`p`,{className:`mx-auto mt-3 max-w-md text-sm leading-relaxed text-gray-600`,children:`A firewall configuration task in the exam's own format, graded field by field with partial credit. This is the part of Security+ that catches people out.`})]}),(0,R.jsx)(`div`,{className:`mx-auto mt-6 max-w-2xl`,children:e?(0,R.jsx)(L.Suspense,{fallback:(0,R.jsx)(`div`,{className:`flex justify-center rounded-xl border border-gray-200 bg-white p-10`,children:(0,R.jsx)(v,{label:`Loading the PBQ`})}),children:(0,R.jsx)(G,{page:`home`,gradedCta:(0,R.jsx)(M,{heading:`Keep the score, and get a plan around it`,headingLevel:3,lead:`That was one task. A free account turns it into a study path: it measures where you actually stand, then hands you one dated session a day.`,onNavigate:e=>y({name:`seo_cta_clicked`,props:{page:`home`,target:e}}),cta:`Create a free account`,secondary:(0,R.jsx)(d,{to:`/pricing`,variant:`outline`,onClick:()=>y({name:`seo_cta_clicked`,props:{page:`home`,target:`pricing`}}
2),children:`See plans`})})})}):(0,R.jsxs)(`div`,{className:`text-center`,children:[(0,R.jsx)(l,{size:`lg`,onClick:()=>{t(!0),y({name:`drill_started`,props:{page:`home`}})},children:`Start the PBQ`}),(0,R.jsx)(`p`,{className:`mt-3 text-xs text-gray-500`,children:`Four firewall rules. Nothing to install, nothing to sign up for.`})]})})]})})}function le(){return(0,L.useEffect)(()=>{window.location.replace(`/aplus/app`)},[]),(0,R.jsx)(f,{label:`Opening APlus Mastery`})}function ue(){let{user:e,loading:t}=h(),n=o(),r=a(),i=x(),s=w(i).kind===`welcome`;return/[?#&]error_(description|code)=/.test(`${n.search}${n.hash}`)?(0,R.jsx)(_,{to:{pathname:`/login`,search:n.search,hash:n.hash},replace:!0}):!t&&e?e.defaultCourse===`aplus`?(0,R.jsx)(le,{}):(0,R.jsx)(_,{to:`/today`,replace:!0}):t&&E()?(0,R.jsx)(f,{label:`Loading your dashboard`}):(0,R.jsxs)(`div`,{className:`mx-auto max-w-7xl px-4 py-6 sm:py-14`,children:[(0,R.jsx)(m,{seo:p(W,[I()])}),(0,R.jsx)(z,{className:`mb-6`}),(0,R.jsxs)(`section`,{className:`relative overflow-hidden rounded-3xl border border-gray-200 bg-white px-5 py-7 shadow-sm sm:px-10 sm:py-16 dark:shadow-[var(--ring-signal)]`,children:[(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`bp-grid pointer-events-none absolute inset-0 opacity-70`}),(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute -right-32 -top-32 h-80 w-80 rounded-full bg-signal-500/10 blur-3xl`}),(0,R.jsxs)(`div`,{className:`relative grid gap-6 lg:grid-cols-[1.05fr_0.95fr] lg:grid-rows-[auto_auto] lg:items-center lg:gap-x-8 lg:gap-y-6`,children:[(0,R.jsxs)(`div`,{className:`motion-safe:animate-[slide-up-fade_500ms_ease-out] lg:col-start-1 lg:row-start-1 lg:self-end`,children:[(0,R.jsx)(T,{tone:`signal`,dot:!0,children:`CompTIA Security+ SY0-701`}),(0,R.jsx)(`h1`,{className:`mt-3 max-w-xl text-3xl font-semibold tracking-tight text-gray-900 sm:mt-4 sm:text-4xl lg:text-5xl`,children:`Security+ isn't a flashcard test. Stop studying like it is.`}),(0,R.jsxs)(`p`,{className:`mt-3 max-w-md text-base leading-relaxed text-gray-600 sm:mt-5 sm:text-lg`,children:[`It tests judgment under pressure, not memorized definitions.`,` `,(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:`Practice the real format: PBQs, full mock exams, and spaced review that sticks.`})]})]}),(0,R.jsx)(`div`,{className:`motion-safe:animate-[slide-up-fade_600ms_ease-out] lg:col-start-2 lg:row-span-2 lg:row-start-1 lg:self-center`,children:(0,R.jsx)(se,{})}),(0,R.jsxs)(`div`,{className:`lg:col-start-1 lg:row-start-2 lg:self-start`,children:[(0,R.jsx)(`dl`,{className:`flex flex-wrap gap-x-8 gap-y-4`,children:re.map(e=>(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`dt`,{className:`font-mono text-2xl font-semibold tabular-nums tracking-tight text-gray-900 sm:text-3xl`,children:e.value}),(0,R.jsx)(`dd`,{className:`mt-0.5 text-[13px] leading-snug text-gray-500`,children:e.label})]},e.label))}),(0,R.jsxs)(`p`,{className:`mt-5 flex items-start gap-2 text-sm leading-relaxed text-gray-600`,children:[(0,R.jsx)(oe,{}),(0,R.jsxs)(`span`,{children:[`Built by `,(0,R.jsx)(`span`,{className:`font-medium text-gray-900`,children:`Jude Hilgendorf`}),`, CompTIA Security+ (SY0-701), certified August 2026. Covered by the pass guarantee, and no card to start.`]})]}),(0,R.jsx)(`p`,{className:`mt-3 text-xs leading-relaxed text-gray-500`,children:r||s?`Domain 1 free. One-time 90-Day Pass (${C(`pro`,i,r)}, was ${S(`pro`)}) or Lifetime (${C(`lifetime`,i,r)}, was ${S(`lifetime`)})${r?``:`, for a new account's first ${b.windowDays} days`}. No subscription.`:`Domain 1 free. One-time 90-Day Pass (${S(`pro`)}) or Lifetime (${S(`lifetime`)}). No subscription.`})]})]})]}),(0,R.jsxs)(`section`,{className:`reveal mt-8 sm:mt-10`,"aria-labelledby":`product-heading`,children:[(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,R.jsx)(T,{tone:`brand`,children:`Inside the app`}),(0,R.jsx)(`h2`,{id:`product-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-balance text-gray-900 sm:text-3xl`,children:`One day, in order, with the next thing to do at the top`}),(0,R.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-gray-600`,children:`Nothing to plan and no dashboard to read. The app hands you today's session: the objective to refresh, the lesson to study, and the quiz that has to clear 80% before the objective after it opens.`})]}),(0,R.jsx)(U,{className:`mt-10 max-w-4xl`,src:`/product/day-plan.webp`,width:2112,height:1416,title:`Today's session`,alt:`Today's session in the app: a checklist of the day's work, with one objective to refresh, the next lesson to study, and the quiz that has to be passed at 80 percent before the objective after it opens.`,caption:`A real screen in a seeded study state, not a mockup.`})]}),(0,R.jsx)(ce,{}),(0,R.jsxs)(`section`,{className:`reveal mt-16`,"aria-labelledby":`loop-heading`,children:[(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,R.jsx)(T,{tone:`brand`,children:`The mastery loop`}),(0,R.jsx)(`h2`,{id:`loop-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`One objective at a time, until it sticks`}),(0,R.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-gray-600`,children:`Every objective runs the same loop. Nothing unlocks until the one before it is solid, so progress is real, not just pages turned.`})]}),(0,R.jsx)(`ol`,{className:`mt-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-4`,children:ie.map(e=>(0,R.jsxs)(`li`,{className:`relative rounded-2xl border border-gray-200 bg-white p-5 shadow-sm`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,R.jsx)(`span`,{className:`flex h-10 w-10 items-center justify-center rounded-xl bg-brand-500/10`,children:e.icon}),(0,R.jsx)(`span`,{className:`font-mono text-sm font-semibold tabular-nums text-gray-400`,children:e.step})]}),(0,R.jsx)(`h3`,{className:`mt-4 font-semibold text-gray-900`,children:e.title}),(0,R.jsx)(`p`,{className:`mt-1.5 text-sm leading-relaxed text-gray-600`,children:e.body})]},e.step))})]}),(0,R.jsxs)(`section`,{className:`reveal mt-16`,"aria-labelledby":`features-heading`,children:[(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,R.jsx)(T,{tone:`brand`,children:`Built for the exam`}),(0,R.jsx)(`h2`,{id:`features-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`Everything SY0-701 throws at you`})]}),(0,R.jsx)(`div`,{className:`mt-10 grid gap-4 md:grid-cols-2 lg:grid-cols-3`,children:$.map(e=>(0,R.jsxs)(`div`,{className:`group rounded-2xl border border-gray-200 bg-white p-6 text-left shadow-sm transition duration-200 motion-safe:hover:-translate-y-0.5 hover:border-gray-300 hover:shadow-md`,children:[(0,R.jsx)(`div`,{className:`flex h-11 w-11 items-center justify-center rounded-xl bg-brand-500/10 transition-colors group-hover:bg-brand-500/20`,children:e.icon}),(0,R.jsx)(`h3`,{className:`mt-4 font-semibold text-gray-900`,children:e.title}),(0,R.jsx)(`p`,{className:`mt-2 text-sm leading-relaxed text-gray-600`,children:e.body})]},e.title))})]}),(0,R.jsxs)(`section`,{className:`reveal mt-16`,"aria-labelledby":`blueprint-heading`,children:[(0,R.jsxs)(`div`,{className:`grid items-center gap-8 lg:grid-cols-2`,children:[(0,R.jsxs)(`div`,{className:`max-w-md`,children:[(0,R.jsx)(T,{tone:`brand`,children:`Weighted to the real exam`}),(0,R.jsx)(`h2`,{id:`blueprint-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`Your time goes where the exam puts its points`}),(0,R.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-gray-600`,children:`Every section is built on the official SY0-701 objectives and weighted like the real test, so the heaviest domain, Security Operations, gets the practice it deserves instead of an even split that wastes your time.`})]}),(0,R.jsx)(de,{})]}),(0,R.jsx)(U,{className:`mt-12 max-w-4xl`,src:`/product/blueprint.webp`,width:2400,height:1833,title:`The blueprint map`,alt:`The blueprint map in the app: all 28 SY0-701 objectives laid out in five domain columns sized by exam weight, each objective a square that fills in as it is mastered, above a list of the objectives worth the most points still unearned.`,caption:`Every objective on one map, sized by what the exam pays for it. Squares fill in as you master them, and the rows underneath are what is worth the most points next.`})]}),(0,R.jsxs)(`section`,{className:`reveal mt-16`,"aria-labelledby":`pricing-heading`,children:[(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,R.jsx)(T,{tone:`brand`,children:`Simple pricing`}),(0,R.jsx)(`h2`,{id:`pricing-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`One payment. Pass the exam. Done.`}),(0,R.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-gray-600`,children:`Domain 1 is free. Unlock all five domains with a single payment. No monthly fees, no auto-renewals, nothing to cancel.`}),r&&(0,R.jsx)(`p`,{className:`mt-3 text-sm leading-relaxed text-gray-600`,children:g.reason})]}),(0,R.jsx)(`div`,{className:`mt-10 grid gap-4 md:grid-cols-3`,children:ae.map(e=>(0,R.jsxs)(`div`,{className:`relative flex flex-col rounded-xl border bg-white p-6 shadow-sm ${e.featured?`border-signal-600 ring-1 ring-signal-600/15 dark:border-signal-500/40 dark:ring-0 dark:shadow-[var(--ring-signal)]`:`border-gray-200`}`,children:[e.featured&&(0,R.jsx)(`div`,{className:`absolute -top-3 left-6`,children:(0,R.jsx)(T,{tone:`signal`,className:`rounded-full bg-white px-2.5 py-1 ring-1 ring-inset ring-signal-500/30`,children:`Recommended`})}),(0,R.jsx)(`h3`,{className:`font-semibold text-gray-900`,children:e.name}),(0,R.jsx)(`p`,{className:`mt-1 text-sm text-gray-500`,children:e.blurb}),(0,R.jsxs)(`p`,{className:`mt-4 flex items-baseline gap-1.5`,children:[(0,R.jsx)(`span`,{className:`font-mono text-4xl font-semibold tabular-nums tracking-tight text-gray-900`,children:e.intent?C(e.intent,i,r):e.price}),e.listPrice&&(r||s)&&(0,R.jsxs)(`s`,{className:`font-mono text-lg tabular-nums text-gray-400`,children:[(0,R.jsx)(`span`,{className:`sr-only`,children:`was `}),e.price]}),(0,R.jsx)(`span`,{className:`font-mono text-xs text-gray-500`,children:e.period})]}),r&&e.listPrice&&(0,R.jsxs)(`p`,{className:`mt-1 font-mono text-xs font-semibold tabular-nums text-signal-600 dar
2k:text-signal-400`,children:[g.label,`: `,g.percentOff,`% off through `,g.endsAtLabel]}),!r&&s&&e.listPrice&&(0,R.jsxs)(`p`,{className:`mt-1 font-mono text-xs font-semibold tabular-nums text-signal-600 dark:text-signal-400`,children:[`New accounts: `,b.percentOff,`% off for `,b.windowDays,` days`]}),(0,R.jsx)(`ul`,{className:`mt-5 flex-1 space-y-2.5`,children:e.points.map(e=>(0,R.jsxs)(`li`,{className:`flex items-start gap-2 text-sm text-gray-700`,children:[ne,e]},e))}),(0,R.jsx)(`div`,{className:`mt-6`,children:(0,R.jsx)(d,{to:e.to,state:e.intent?{intent:e.intent}:void 0,variant:e.variant,fullWidth:!0,onClick:()=>y({name:`home_cta_clicked`,props:{cta:e.event}}),children:e.cta})})]},e.name))}),(0,R.jsxs)(`div`,{className:`mx-auto mt-6 flex max-w-2xl items-start gap-3 rounded-2xl border border-emerald-500/25 bg-emerald-500/[0.06] px-5 py-4`,children:[(0,R.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`,children:(0,R.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,strokeLinecap:`round`,strokeLinejoin:`round`,className:`h-5 w-5`,children:[(0,R.jsx)(`path`,{d:`M12 3 5 6v5c0 4.2 2.9 7.7 7 9 4.1-1.3 7-4.8 7-9V6l-7-3Z`}),(0,R.jsx)(`path`,{d:`m9 12 2 2 4-4.5`})]})}),(0,R.jsxs)(`p`,{className:`text-sm leading-relaxed text-gray-600`,children:[(0,R.jsx)(`span`,{className:`font-semibold text-gray-900`,children:`Covered by the pass guarantee.`}),` `,`Study the material and still don't pass? Send your official score report and we add more study time at no charge. It extends your access, not a cash refund.`,` `,(0,R.jsx)(u,{to:`/terms`,className:`font-medium text-emerald-700 hover:underline dark:text-emerald-300`,children:`Conditions apply`}),`.`]})]})]}),(0,R.jsx)(`section`,{className:`reveal mt-16`,children:(0,R.jsx)(L.Suspense,{fallback:null,children:(0,R.jsx)(te,{})})}),(0,R.jsx)(`section`,{className:`reveal mt-16`,"aria-labelledby":`founder-heading`,children:(0,R.jsxs)(`div`,{className:`mx-auto max-w-2xl rounded-3xl border border-gray-200 bg-white px-6 py-10 shadow-sm sm:px-10`,children:[(0,R.jsx)(T,{tone:`brand`,children:`Why I built this`}),(0,R.jsx)(`h2`,{id:`founder-heading`,className:`mt-3 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`Practice that feels like the exam, not flashcards in disguise`}),(0,R.jsx)(`p`,{className:`mt-4 text-sm leading-relaxed text-gray-600`,children:`Free videos are great for the concepts, but the exam makes you apply them under pressure, and almost nothing lets you rehearse that. So I built the prep I wanted: real-format questions, scenarios that make you decide, and a readiness score that tells you when you are ready. Then I studied on it myself and passed SY0-701. Start with all of Domain 1, free, and see if it clicks.`}),(0,R.jsxs)(`p`,{className:`mt-4 font-mono text-xs tabular-nums text-gray-500`,children:[`Jude Hilgendorf, founder of SecPlus Mastery`,(0,R.jsx)(`br`,{}),`CompTIA Security+ (SY0-701), certified August 2026`]})]})}),(0,R.jsx)(`section`,{className:`reveal mt-16`,"aria-labelledby":`aplus-heading`,children:(0,R.jsxs)(`div`,{className:`mx-auto flex max-w-3xl flex-col gap-4 roun
2ded-2xl border border-gray-200 bg-white px-6 py-6 shadow-sm sm:flex-row sm:items-center sm:justify-between sm:px-8`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(T,{tone:`brand`,children:`Starting with A+?`}),(0,R.jsx)(`h2`,{id:`aplus-heading`,className:`mt-1.5 text-lg font-semibold text-gray-900`,children:`APlus Mastery covers A+ Core 1 and Core 2 the same way`}),(0,R.jsx)(`p`,{className:`mt-1 text-sm text-gray-600`,children:`Its own course and plans, on the same account. Domain 1 of each core is free.`})]}),(0,R.jsx)(d,{to:`/aplus`,variant:`outline`,className:`shrink-0`,children:`See APlus Mastery`})]})}),(0,R.jsx)(`section`,{className:`reveal mt-16`,children:(0,R.jsxs)(`div`,{className:`relative overflow-hidden rounded-3xl border border-gray-200 bg-white px-6 py-12 text-center shadow-sm sm:px-12 dark:shadow-[var(--ring-signal)]`,children:[(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`bp-grid pointer-events-none absolute inset-0 opacity-70`}),(0,R.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute -bottom-24 left-1/2 h-64 w-64 -translate-x-1/2 rounded-full bg-signal-500/10 blur-3xl`}),(0,R.jsxs)(`div`,{className:`relative mx-auto max-w-xl`,children:[(0,R.jsx)(O,{label:`Ready when you are`,className:`justify-center`}),(0,R.jsx)(`h2`,{className:`mt-5 text-2xl font-semibold tracking-tight text-gray-900 sm:text-3xl`,children:`Walk in ready, not hoping`}),(0,R.jsxs)(`p`,{className:`mx-auto mt-3 max-w-md text-sm leading-relaxed text-gray-600`,children:[`A free account opens all `,j.objectives,` Domain 1 objectives,`,` `,j.questions,` questions, the placement check and a dated plan. Add the 90-Day Pass when you set a test date, or go Lifetime once and keep every future update.`]}),(0,R.jsxs)(`div`,{className:`mt-7 flex flex-col justify-center gap-3 sm:flex-row`,children:[(0,R.jsx)(d,{to:`/register`,size:`lg`,onClick:()=>y({name:`home_cta_clicked`,props:{cta:`final_create_account`}}),className:`shadow-[var(--glow-signal)] transition-transform motion-safe:hover:-translate-y-0.5`,children:`Create a free account`}),(0,R.jsx)(d,{to:`/pricing`,size:`lg`,variant:`outline`,onClick:()=>y({name:`home_cta_clicked`,props:{cta:`final_compare_plans`}}),children:`Compare plans`})]}),(0,R.jsx)(`div`,{className:`mt-4`,children:(0,R.jsx)(D,{})})]})]})}),(0,R.jsx)(P,{})]})}function de(){let e=Math.max(...i.map(e=>e.percentageOfExam));return(0,R.jsxs)(`div`,{className:`relative rounded-2xl border border-gray-200 bg-gray-50 p-5 shadow-sm motion-safe:animate-[fade-in_700ms_ease-out] sm:p-6`,"aria-hidden":`true`,children:[(0,R.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-3`,children:[(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-2 font-mono text-[11px] font-semibold uppercase tracking-[0.16em] text-gray-500`,children:[(0,R.jsx)(s,{className:`h-3.5 w-3.5`}),`Exam blueprint`]}),(0,R.jsx)(`span`,{className:`font-mono text-[11px] tabular-nums text-gray-400`,children:`% of exam`})]}),(0,R.jsx)(`div`,{className:`flex items-end gap-2.5 sm:gap-3`,style:{height:`12rem`},children:i.map(t=>{let n=t.percentageOfExam===e;return(0,R.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col items-center justify-end`,children:[(0,R.jsx)(`span`,{className:`mb-1.5 font-mono text-xs font-semibold tabular-nums ${n?`text-signal-600 dark:text-signal-400`:`text-gray-500`}`,children:t.percentageOfExam}),(0,R.jsx)(`div`,{className:`w-full shrink-0 rounded-t-md ${n?`bg-gradient-to-t from-signal-500 to-signal-500/55 ring-1 ring-inset ring-signal-400/60`:`bg-gradient-to-t from-brand-500/70 to-brand-500/25 ring-1 ring-inset ring-brand-500/40`}`,style:{height:`${t.percentageOfExam/e*88}%`}})]},t.id)})}),(0,R.jsx)(`div`,{className:`mt-2 flex gap-2.5 sm:gap-3`,children:i.map(e=>(0,R.jsxs)(`span`,{className:`min-w-0 flex-1 text-center font-mono text-[11px] font-semibold tabular-nums text-gray-500`,children:[`D`,e.id.split(`-`)[0]]},e.id))}),(0,R.jsxs)(`div`,{className:`mt-4 flex items-center justify-between gap-2 border-t border-gray-200 pt-3`,children:[(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-[3px] bg-brand-500/60 ring-1 ring-inset ring-brand-500/40`}),(0,R.jsx)(`span`,{className:`font-mono text-[11px] text-gray-500`,children:`Domain weight`})]}),(0,R.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-[3px] bg-signal-500`}),(0,R.jsx)(`span`,{className:`font-mono text-[11px] text-gray-500`,children:`Heaviest: D4 Operations`})]})]})]})}export{ue as Home};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.