1import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{W as t}from"./useStore-CzV104MW.js";import{t as n}from"./link-CemwZfB6.js";import{t as r}from"./jsx-runtime-DiK4U9sA.js";import{t as i}from"./useServerFn-DpcU9do0.js";import{t as a}from"./createLucideIcon-CPr0Cu2H.js";import{t as o}from"./arrow-right-C5xRGCdF.js";import{l as s,n as c,o as l}from"./portal-data-BYALAB41.js";import{t as u}from"./chart-column-D5eMlKA0.js";import{t as d}from"./check-BWAJtC6T.js";import{t as f}from"./palette-ACRmoyeZ.js";import{t as p}from"./file-spreadsheet-CQteyjHb.js";import{i as m,n as h,r as g,t as _}from"./PortalPreview-B8L04-PQ.js";import{t as v}from"./lock-BtP3QaFG.js";import{t as y}from"./mouse-pointer-click-CUkzv9-h.js";import{t as b}from"./shield-check-gMhmRmlZ.js";import{t as x}from"./sparkles-HWelY6cd.js";import{t as S}from"./users-Dl6X6M4h.js";import{t as C}from"./zap-DvsarGyO.js";import{f as w,o as T}from"./index-DvEvuUoW.js";import{t as E}from"./react-6QTV2Hyb.js";import{t as D}from"./AuroraBackground-Ct4S278l.js";import{t as O}from"./jomportal-logo.png.asset-B1DlNN2u.js";var k=a(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),A=a(`school`,[[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M18 5v16`,key:`1ethyx`}],[`path`,{d:`m4 6 7.106-3.79a2 2 0 0 1 1.788 0L20 6`,key:`zywc2d`}],[`path`,{d:`m6 11-3.52 2.147a1 1 0 0 0-.48.854V19a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a1 1 0 0 0-.48-.853L18 11`,key:`1d4ql0`}],[`path`,{d:`M6 5v16`,key:`1sn0nx`}],[`circle`,{cx:`12`,cy:`9`,r:`2`,key:`1092wv`}]]),j=a(`table-2`,[[`path`,{d:`M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18`,key:`gugj83`}]]),M=r(),N=[{label:`Product`,href:`#product`},{label:`How it works`,href:`#how`},{label:`Pricing`,href:`#pricing`}];function P(){let{user:e}=h();return(0,M.jsx)(E.header,{initial:{y:-28,opacity:0}
1,animate:{y:0,opacity:1},transition:{duration:.6,ease:[.32,.72,0,1]},className:`fixed inset-x-0 top-4 z-50 px-4 sm:top-6 sm:px-6`,children:(0,M.jsxs)(`div`,{className:`glass mx-auto flex h-16 w-full max-w-5xl items-center justify-between rounded-full pr-2 pl-4 sm:pl-6`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-8`,children:[(0,M.jsxs)(n,{to:`/`,className:`group flex items-center gap-2.5`,children:[(0,M.jsx)(`span`,{className:`flex size-9 items-center justify-center transition-transform duration-300 group-hover:scale-105`,children:(0,M.jsx)(`img`,{src:O.url,alt:`Logo JomPortal`,className:`size-9 object-contain`})}),(0,M.jsx)(`span`,{className:`text-base font-semibold tracking-tight`,children:`JomPortal`})]}),(0,M.jsx)(`nav`,{className:`hidden items-center gap-1 md:flex`,children:N.map(e=>(0,M.jsx)(`a`,{href:e.href,className:`rounded-full px-4 py-2 text-sm font-medium text-muted-foreground transition-all duration-300 hover:bg-secondary hover:text-foreground`,children:e.label},e.label))})]}),(0,M.jsx)(`div`,{className:`flex items-center gap-1.5 sm:gap-2`,children:e?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(n,{to:`/dashboard`,className:`inline-flex items-center gap-1.5 rounded-full px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground sm:px-4`,children:[(0,M.jsx)(g,{className:`size-3.5`}),(0,M.jsx)(`span`,{className:`hidden sm:inline`,children:`Panel Admin`}),(0,M.jsx)(`span`,{className:`sm:hidden`,children:`Panel`})]}),(0,M.jsxs)(n,{to:`/onboarding`,className:`brand-gradient btn-glow group inline-flex h-10 items-center gap-1.5 rounded-full px-4 text-sm font-semibold text-primary-foreground sm:h-11 sm:px-5`,children:[(0,M.jsx)(`span`,{className:`hidden sm:inline`,children:`Portal baharu`}),(0,M.jsx)(`span`,{className:`sm:hidden`,children:`Baharu`}),(0,M.jsx)(o,{className:`size-3.5 transition-transform duration-300 group-hover:translate-x-0.5`})]})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(n,{to:`/auth`,className:`inline-flex items-center gap-1.5 rounded-full border border-border/60 px-3 py-2 text-sm font-medium text-foreground transition-colors hover:bg-secondary sm:border-0 sm:px-4 sm:text-muted-foreground sm:hover:text-foreground`,children:[(0,M.jsx)(k,{className:`size-3.5 sm:hidden`}),`Log masuk`]}),(0,M.jsxs)(n,{to:`/auth`,search:{mode:`signup`,next:`/onboarding`},className:`brand-gradient btn-glow group inline-flex h-10 items-center gap-1.5 rounded-full px-4 text-sm font-semibold text-primary-foreground sm:h-11 sm:px-5`,children:[(0,M.jsx)(`span`,{className:`hidden sm:inline`,children:`Start Setup`}),(0,M.jsx)(`span`,{className:`sm:hidden`,children:`Mula`}),(0,M.jsx)(o,{className:`size-3.5 transition-transform duration-300 group-hover:translate-x-0.5`})]})]})})]})})}var F=e(t(),1);function I(){let[e,t]=(0,F.useState)([]),n=i(w);if((0,F.useEffect)(()=>{n().then(e=>t(e??[])).catch(()=>t([]))},[]),e.length===0)return null;let r=Math.max(2,Math.ceil(12/e.length)),a=Array.from({length:r},()=>e).flat();return(0,M.jsxs)(`section`,{"aria-label":`Sekolah yang menggunakan JomPortal`,className:`relative py-14`,children:[(0,M.jsx)(`p`,{className:`text-center text-[11px] font-semibold tracking-[0.22em] text-muted-foreground uppercase`,children:`Sekolah yang sudah guna JomPortal`}),(0,M.jsx)(`div`,{className:`marquee-mask relative mt-8 overflow-hidden`,children:(0,M.jsx)(`div`,{className:`marquee-track flex w-max items-center gap-4`,children:a.map((e,t)=>(0,M.jsx)(`a`,{href:`/s/${e.slug}`,title:e.name,className:`flex h-20 w-44 shrink-0 items-center justify-center gap-3 rounded-3xl border border-border bg-background/70 px-5 backdrop-blur-xl transition-colors hover:border-primary/40`,children:e.logoUrl?(0,M.jsx)(`img`,{src:e.logoUrl,alt:`Logo ${e.name}`,loading:`lazy`,className:`max-h-12 max-w-[104px] object-contain`}):(0,M.jsxs)(`span`,{className:`flex items-center gap-2 text-xs font-semibold text-muted-foreground`,children:[(0,M.jsx)(A,{className:`size-4`}),(0,M.jsx)(`span`,{className:`line-clamp-2 text-left`,children:e.name})]})},`${e.slug}-${t}`))})})]})}var L=[{icon:p,title:`Sheets as your database`,body:`Paste a spreadsheet URL. Students, classes and DELIMa emails sync automatically â no migrations, no imports.`},{icon:f,title:`White-label branding`,body:`Logo, favicon, portal name, colours, gradients and footer. Every school workspace looks like its own product.`},{icon:m,title:`Drag-and-drop app builder`,body:`Order Gmail, Classroom, DELIMa, Canva and custom links. Upload SVG icons or pick from a curated set.`}
1,{icon:v,title:`Security you control`,body:`Access codes, portal passwords, hidden emails, device and IP restrictions, session timeouts.`},{icon:u,title:`Login analytics`,body:`Daily, weekly and monthly logins, most-used apps, most active classes, browser and device breakdowns.`},{icon:y,title:`Zero-password sign-in`,body:`Students pick their class and name. The portal hands them to Google auth â credentials never touch us.`}],R=[{n:`01`,t:`Add your school`,d:`Name, code, logo, colours and portal titles â branded in under a minute.`},{n:`02`,t:`Connect a sheet`,d:`Paste the spreadsheet link and verify the connection in one click.`},{n:`03`,t:`Map the columns`,d:`Auto-detected mapping that survives any reordering of your sheet.`},{n:`04`,t:`Publish the portal`,d:`Live on your own portal link for every student, instantly.`}],z=[.32,.72,0,1],B={...s,schoolName:`SK Taman Melawati`,portalName:`SK Taman Melawati`,websiteTitle:`Student Digital Learning Hub`,logoText:`TM`,background:`mesh`};function V(){let e=T.useLoaderData();return(0,M.jsxs)(`div`,{className:`relative min-h-screen`,children:[(0,M.jsx)(D,{}),(0,M.jsx)(P,{}),(0,M.jsxs)(`section`,{className:`relative px-6 pt-40 pb-24 sm:pt-48`,children:[(0,M.jsxs)(`div`,{className:`mx-auto max-w-3xl text-center`,children:[(0,M.jsxs)(E.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.6,ease:z},className:`glass mx-auto inline-flex items-center gap-2 rounded-full px-4 py-1.5`,children:[(0,M.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),(0,M.jsx)(`span`,{className:`text-[11px] font-semibold tracking-[0.14em] text-muted-foreground uppercase`,children:`Multi-tenant · now in public beta`})]}),(0,M.jsxs)(E.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.06,ease:z},className:`mt-8 text-[2.75rem] leading-[1.02] font-bold tracking-[-0.04em] text-balance sm:text-6xl lg:text-[4.75rem]`,children:[`Build Your School Digital `,(0,M.jsx)(`span`,{className:`brand-text`,children:`Portal`}),` in Minutes.`]}),(0,M.jsx)(E.p,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.14,ease:z},className:`mx-auto mt-8 max-w-xl text-lg leading-relaxed text-pretty text-muted-foreground sm:text-xl`,children:`Every school gets its own workspace, branding and student gateway. Connect a Google Sheet, pick your apps, publish. No code, no server, no passwords stored.`}),(0,M.jsxs)(E.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.22,ease:z},className:`mt-12 flex flex-col items-center justify-center gap-3 sm:flex-row`,children:[(0,M.jsxs)(n,{to:`/auth`,search:{mode:`signup`,next:`/onboarding`},className:`brand-gradient btn-glow group inline-flex h-14 items-center justify-center gap-2 rounded-full px-8 text-[15px] font-semibold text-primary-foreground`,children:[`Start building free`,(0,M.jsx)(o,{className:`size-4 transition-transform duration-300 group-hover:translate-x-1`})]}),(0,M.jsx)(`a`,{href:`#product`,className:`glass inline-flex h-14 items-center justify-center rounded-full px-8 text-[15px] font-semibold text-foreground transition-transform duration-300 hover:scale-[1.03]`,children:`See how it works`})]}),(0,M.jsx)(E.p,{initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.7,delay:.32},className:`mt-6 text-xs text-muted-foreground`,children:e.heroNote})]}),(0,M.jsxs)(E.div,{initial:{opacity:0,y:40,scale:.97},animate:{opacity:1,y:0,scale:1},transition:{duration:.9,delay:.3,ease:z},className:`relative mx-auto mt-24 max-w-5xl`,children:[(0,M.jsx)(`div`,{className:`brand-gradient absolute -inset-x-10 -top-10 bottom-10 rounded-[3rem] opacity-25 blur-3xl`}),(0,M.jsxs)(`div`,{className:`glass panel-shadow relative overflow-hidden rounded-[2rem]`,children:[(0,M.jsxs)(`div`,{className:`flex h-11 items-center gap-1.5 border-b border-border px-5`,children:[(0,M.jsx)(`span`,{className:`size-2.5 rounded-full bg-destructive/50`}),(0,M.jsx)(`span`,{className:`size-2.5 rounded-full bg-warning/50`}),(0,M.jsx)(`span`,{className:`size-2.5 rounded-full bg-success/50`}),(0,M.jsx)(`span`,{className:`mx-auto rounded-full border border-border bg-background/70 px-4 py-1 text-[11px] text-muted-foreground`,children:`digitalportal.lovable.app/s/sekolah-anda`})]}),(0,M.jsx)(`div`,{className:`h-[780px] bg-background`,children:(0,M.jsx)(_,{config:B,device:`desktop`})})]}),(0,M.jsxs)(E.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.7,delay:.7,ease:z},className:`glass animate-float-slow absolute -top-6 -left-4 hidden items-center gap-3 rounded-2xl px-4 py-3 sm:flex lg:-left-16`,children:[(0,M.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-xl bg-success/12 text-success`,children:(0,M.jsx)(S,{className:`size-4`})}),(0,M.jsxs)(`div`,{className:`text-left`,children:[(0,M.jsx)(`p`,{className:`text-sm font-semibold tracking-tight`,children:`1,248 students`}),(0,M.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`synced from one sheet`})]})]}),(0,M.jsxs)(E.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},transition:{duration:.7,delay:.82,ease:z},className:`glass animate-float-slower absolute top-24 -right-4 hidden items-center gap-3 rounded-2xl px-4 py-3 sm:flex lg:-right-14`,children:[(0,M.jsx)(`span`,{className:`flex size-9 items-center justify-center rounded-xl bg-primary/12 text-primary`,children:(0,M.jsx)(C,{className:`size-4`})}),(0,M.jsxs)(`div`,{className:`text-left`,children:[(0,M.jsx)(`p`,{className:`text-sm font-semibold tracking-tight`,children:`Published in 4 min`}),(0,M.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`average setup time`})]})]}),(0,M.jsxs)(E.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.94,ease:z},className:`glass animate-float-slow absolute -bottom-7 left-1/2 flex -translate-x-1/2 items-center gap-3 rounded-full px-5 py-3`,children:[(0,M.jsx)(b,{className:`size-4 text-accent`}),(0,M.jsx)(`p`,{className:`text-xs font-semibold tracking-tight`,children:`Zero passwords stored`})]})]}),(0,M.jsxs)(`div`,{className:`mx-auto mt-32 max-w-4xl text-center`,children:[(0,M.jsx)(`p`,{className:`text-[11px] font-semibold tracking-[0.2em] text-muted-foreground uppercase`,children:`Every app your students already use`}),(0,M.jsx)(`div`,{className:`mt-8 flex flex-wrap items-center justify-center gap-3`,children:l.slice(0,12).map((e,t)=>{let n=c[e.id]??`#4f7cff`;return(0,M.jsxs)(E.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.4,delay:t*.035},className:`glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3`,children:[(0,M.jsx)(`span`,{className:`flex size-8 items-center justify-center rounded-full`,style:{backgroundColor:`${n}1f`},children:(0,M.jsx)(e.icon,{className:`size-4`,style:{color:n}})}),(0,M.jsx)(`span`,{className:`text-[13px] font-medium`,children:e.name})]},e.id)})})]})]}),(0,M.jsx)(`div`,{className:`relative px-6`,children:(0,M.jsx)(`div`,{className:`mx-auto max-w-6xl`,children:(0,M.jsx)(I,{})})}),(0,M.jsx)(`section`,{id:`product`,className:`relative px-6 py-32`,children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-6xl`,children:[(0,M.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,M.jsx)(`p`,{className:`text-[11px] font-semibold tracking-[0.2em] text-primary uppercase`,children:`The platform`}),(0,M.jsxs)(`h2`,{className:`mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl`,children:[`Everything a school needs, `,(0,M.jsx)(`span`,{className:`brand-text`,children:`nothing it doesn't.`})]}),(0,M.jsx)(`p`,{className:`mt-6 text-lg text-pretty text-muted-foreground`,children:`A commercial-grade portal builder that your teachers can run without IT support.`})]}),(0,M.jsx)(`div`,{className:`mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3`,children:L.map((e,t)=>(0,M.jsxs)(E.article,{initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:`-80px`},transition:{duration:.5,delay:t*.06,ease:z},className:`glass hover-lift rounded-3xl p-8`,children:[(0,M.jsx)(`span`,{className:`brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary`,children:(0,M.jsx)(e.icon,{className:`size-5`})}),(0,M.jsx)(`h3`,{className:`mt-6 text-lg font-semibold tracking-tight`,children:e.title}),(0,M.jsx)(`p`,{className:`mt-3 text-[15px] leading-relaxed text-muted-foreground`,children:e.body})]},e.title))})]})}),(0,M.jsx)(`section`,{id:`how`,className:`relative px-6 py-32`,children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-6xl`,children:[(0,M.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,M.jsx)(`p`,{className:`text-[11px] font-semibold tracking-[0.2em] text-primary uppercase`,children:`How it works`}),(0,M.jsxs)(`h2`,{className:`mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl`,children:[`From spreadsheet to live portal in `,(0,M.jsx)(`span`,{className:`brand-text`,children:`four moves.`})]})]}),(0,M.jsx)(`div`,{className:`mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-4`,children:R.map((e,t)=>(0,M.jsxs)(E.div,{initial:{opacity:0,y:18},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:`-80px`},transition:{duration:.5,delay:t*.07,ease:z},className:`glass hover-lift rounded-3xl p-8`,children:[(0,M.jsx)(`span`,{className:`brand-text text-3xl font-bold tracking-tight`,children:e.n}),(0,M.jsx)(`h3`,{className:`mt-5 text-base font-semibold tracking-tight`,children:e.t}),(0,M.jsx)(`p`,{className:`mt-2.5 text-sm leading-relaxed text-muted-foreground`,children:e.d})]},e.n))}),(0,M.jsxs)(`div`,{className:`glass mt-8 flex flex-wrap items-center gap-5 rounded-3xl p-7`,children:[(0,M.jsx)(`span`,{className:`flex size-11 items-center justify-center rounded-2xl bg-success/12 text-success`,children:(0,M.jsx)(j,{className:`size-5`})}),(0,M.jsxs)(`p`,{className:`max-w-3xl text-[15px] leading-relaxed text-muted-foreground`,children:[`Column order never matters â mapping auto-detects`,` `,(0,M.jsx)(`span`,{className:`font-medium text-foreground`,children:`N
1ama Murid`}),`,`,` `,(0,M.jsx)(`span`,{className:`font-medium text-foreground`,children:`Kelas`}),` and`,` `,(0,M.jsx)(`span`,{className:`font-medium text-foreground`,children:`Emel DELIMa`}),`, and you can remap anything by hand.`]})]}),(0,M.jsx)(`div`,{className:`mt-8 grid gap-6 sm:grid-cols-3`,children:[[`4 min`,`Average time to publish`],[`100%`,`Google-native sign-in`],[`0`,`Passwords ever stored`]].map(([e,t],n)=>(0,M.jsxs)(E.div,{initial:{opacity:0,y:14},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:n*.08},className:`glass rounded-3xl p-8 text-center`,children:[(0,M.jsx)(`p`,{className:`brand-text text-4xl font-bold tracking-[-0.03em]`,children:e}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:t})]},t))})]})}),(0,M.jsx)(`section`,{id:`pricing`,className:`relative px-6 py-32`,children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-5xl`,children:[(0,M.jsxs)(`div`,{className:`mx-auto max-w-2xl text-center`,children:[(0,M.jsx)(`p`,{className:`text-[11px] font-semibold tracking-[0.2em] text-primary uppercase`,children:`Pricing`}),(0,M.jsx)(`h2`,{className:`mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl`,children:e.headline}),(0,M.jsx)(`p`,{className:`mt-6 text-lg text-muted-foreground`,children:e.subheadline})]}),(0,M.jsxs)(`div`,{className:`mt-20 grid gap-6 md:grid-cols-2`,children:[(0,M.jsxs)(`div`,{className:`glass hover-lift rounded-[2rem] p-10`,children:[(0,M.jsx)(`h3`,{className:`text-xs font-semibold tracking-[0.18em] text-muted-foreground uppercase`,children:e.freeLabel}),(0,M.jsx)(`p`,{className:`mt-5 text-5xl font-bold tracking-[-0.04em]`,children:e.freePriceLabel}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.freeNote}),(0,M.jsx)(`ul`,{className:`mt-10 space-y-4`,children:e.freeFeatures.map(e=>(0,M.jsxs)(`li`,{className:`flex items-center gap-3 text-[15px] text-muted-foreground`,children:[(0,M.jsx)(d,{className:`size-4 shrink-0 text-muted-foreground`}),` `,e]},e))}),(0,M.jsx)(n,{to:`/auth`,search:{mode:`signup`,next:`/onboarding`},className:`mt-12 flex h-13 items-center justify-center rounded-full border border-border bg-background/70 py-4 text-sm font-semibold transition-transform duration-300 hover:scale-[1.02]`,children:`Mula free`})]}),(0,M.jsxs)(`div`,{className:`relative`,children:[(0,M.jsx)(`div`,{className:`brand-gradient absolute -inset-2 rounded-[2.4rem] opacity-25 blur-2xl`}),(0,M.jsxs)(`div`,{className:`glass panel-shadow relative rounded-[2rem] border-primary/25 p-10`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`h3`,{className:`text-xs font-semibold tracking-[0.18em] text-primary uppercase`,children:e.proLabel}),(0,M.jsxs)(`span`,{className:`brand-gradient inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold text-primary-foreground`,children:[(0,M.jsx)(x,{className:`size-3`}),` `,e.proBadge]})]}),(0,M.jsxs)(`p`,{className:`mt-5 text-5xl font-bold tracking-[-0.04em]`,children:[e.proPriceLabel,(0,M.jsxs)(`span`,{className:`text-base font-medium text-muted-foreground`,children:[` `,e.proPeriodLabel]})]}),(0,M.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.proNote}),(0,M.jsx)(`ul`,{className:`mt-10 space-y-4`,children:e.proFeatures.map(e=>(0,M.jsxs)(`li`,{className:`flex items-center gap-3 text-[15px]`,children:[(0,M.jsx)(d,{className:`size-4 shrink-0 text-primary`}),` `,e]},e))}),(0,M.jsx)(n,{to:`/auth`,search:{mode:`signup`,next:`/onboarding`},className:`brand-gradient btn-glow mt-12 flex items-center justify-center rounded-full py-4 text-sm font-semibold text-primary-foreground`,children:`Bina portal saya`})]})]})]})]})}),(0,M.jsx)(`section`,{className:`relative px-6 pt-12 pb-32`,children:(0,M.jsxs)(`div`,{className:`glass panel-shadow relative mx-auto max-w-5xl overflow-hidden rounded-[2.5rem] px-8 py-20 text-center`,children:[(0,M.jsx)(`div`,{className:`brand-gradient pointer-events-none absolute -inset-x-20 -top-32 h-64 opacity-25 blur-3xl`}),(0,M.jsxs)(`h2`,{className:`relative text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl`,children:[`Your school portal is `,(0,M.jsx)(`span`,{className:`brand-text`,children:`four minutes away.`})]}),(0,M.jsx)(`p`,{className:`relative mx-auto mt-6 max-w-lg text-lg text-pretty text-muted-foreground`,children:`Bring a Google Sheet. We'll handle branding, apps, security and publishing.`}),(0,M.jsxs)(n,{to:`/auth`,search:{mode:`signup`,next:`/onboarding`},className:`brand-gradient btn-glow group relative mt-12 inline-flex h-14 items-center gap-2 rounded-full px-9 text-[15px] font-semibold text-primary-foreground`,children:[`Start Setup`,(0,M.jsx)(o,{className:`size-4 transition-transform duration-300 group-hover:translate-x-1`})]})]})}),(0,M.jsx)(`footer`,{className:`relative border-t border-border px-6 py-14`,children:(0,M.jsxs)(`div`,{className:`mx-auto flex max-w-6xl flex-col items-center justify-between gap-6 md:flex-row`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,M.jsx)(`span`,{className:`brand-gradient float-shadow size-7 rounded-xl`}),(0,M.jsx)(`span`,{className:`text-sm font-semibold tracking-tight`,children:`JomPortal`})]}),(0,M.jsxs)(`nav`,{className:`flex flex-wrap items-center justify-center gap-5 text-xs text-muted-foreground`,children:[(0,M.jsx)(n,{to:`/support`,className:`transition-colors hover:text-foreground`,children:`Sokongan`}),(0,M.jsx)(n,{to:`/privasi`,className:`transition-colors hover:text-foreground`,children:`Polisi Privasi`}),(0,M.jsx)(n,{to:`/terma`,className:`transition-colors hover:text-foreground`,children:`Terma Penggunaan`})]}),(0,M.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`© `,new Date().getFullYear(),` JomPortal · Built for Malaysian schools`]})]})})]})}export{V as component};
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.