1import{o as e}from"./chunk-CMxvf4Kt.js";import{t}from"./react-cS1o3OVs.js";import{t as n}from"./jsx-runtime-sLPvdpSW.js";import{t as r}from"./share-2-j3U8uUme.js";import{t as i}from"./sparkles-BTDoYNRp.js";import{r as a}from"./site-url-Bgwqksm-.js";import{Gi as o,Ki as s,ir as c}from"./index-BzeQRyPn.js";import{t as l}from"./page-copy-n152bkjw.js";import{r as u,t as d}from"./WaitlistProgressTracker-Ctu60c1s.js";import{n as f,r as p,t as m}from"./waitlists-CyNnENAC.js";var h=e(t()),g=n(),_={full_name:``,email:``,country:``,skin_concern:``};function v(){let e=c.useLoaderData(),t=p,[n,r]=(0,h.useState)(_),[a,s]=(0,h.useState)(!1),[v,S]=(0,h.useState)(!1),[C,w]=(0,h.useState)(null);function T(e,t){r(n=>({...n,[e]:t}))}async function E(e){if(e.preventDefault(),w(null),!n.full_name.trim()||!n.email.trim()||!n.country||!n.skin_concern){w(`Please complete every field.`);return}s(!0);try{let e=await t({data:{full_name:n.full_name.trim(),email:n.email.trim().toLowerCase(),country:n.country,skin_concern:n.skin_concern}});e.ok||e.error===`already_signed_up`?S(!0):w(`Something went wrong. Please try again.`)}catch{w(`Network error. Please try again.`)}finally{s(!1)}}return(0,g.jsxs)(`main`,{className:`min-h-screen overflow-x-hidden bg-black`,children:[(0,g.jsxs)(`section`,{className:`relative overflow-hidden px-5 pt-24 pb-16 md:px-10 md:pt-32 md:pb-20`,children:[(0,g.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute left-1/2 top-0 h-[480px] w-[900px] -translate-x-1/2 rounded-full`,style:{background:`radial-gradient(circle, rgba(201,168,76,0.16) 0%, transparent 70%)`}}),(0,g.jsxs)(`div`,{className:`relative mx-auto max-w-3xl text-center`,children:[(0,g.jsx)(`p`,{className:`text-[11px] uppercase tracking-[0.3em] text-gold`,children:`Individual Early Access`}),(0,g.jsx)(`h1`,{className:`mt-5 break-words font-display text-4xl leading-[1.05] text-white md:text-6xl`,children:l(e,`Your skin. Your plan. Your Beauty Score.`)}),(0,g.jsxs)(`p`,{className:`mx-auto mt-6 max-w-2xl text-lg text-text-muted md:text-xl`,children:[`Join the individual waitlist and be first in line for your personalised Beauty Score and treatment roadmap when `,o.name,` launches.`]})]})]}),(0,g.jsx)(`section`,{className:`px-5 pb-24 md:px-10 md:pb-32`,children:(0,g.jsxs)(`div`,{className:`mx-auto grid max-w-5xl gap-10 md:grid-cols-[1fr_1.1fr]`,children:[(0,g.jsxs)(`aside`,{className:`space-y-6`,children:[(0,g.jsxs)(`div`,{className:`rounded-lg border border-border bg-[#0F0F0F] p-6 md:p-8`,children:[(0,g.jsx)(`span`,{className:`flex h-9 w-9 items-center justify-center rounded-full border border-gold/40 bg-gold/10 text-gold`,children:(0,g.jsx)(i,{className:`h-4 w-4`})}),(0,g.jsx)(`h2`,{className:`mt-4 font-display text-2xl text-white`,children:`What you'll get`}),(0,g.jsxs)(`ul`,{className:`mt-4 space-y-3 text-sm text-text-muted`,children:[(0,g.jsx)(`li`,{children:`⢠A personalised Beauty Score across hydration, texture, pigmentation & barrier.`}),(0,g.jsx)(`li`,{children:`⢠A recommended treatment plan matched to your skin concern.`}),(0,g.jsx)(`li`,{children:`⢠Priority access when private beta opens (invitations sent by cohort).`}),(0,g.jsx)(`li`,{children:`⢠Founding-user pricing on your first consultation.`})]})]}),(0,g.jsxs)(`p`,{className:`text-xs text-text-muted`,children:[`We built `,o.name,` to give clients the clarity we wish we'd had before our first treatment. No spam. No sharing your details.`]})]}),(0,g.jsx)(`div`,{children:v?(0,g.jsx)(x,{}):(0,g.jsxs)(`form`,{onSubmit:E,className:`space-y-4 rounded-lg border border-border bg-[#0F0F0F] p-6 md:p-8`,children:[(0,g.jsx)(b,{label:`Full name`,required:!0,children:(0,g.jsx)(`input`,{type:`text`,required:!0,maxLength:120,value:n.full_name,onChange:e=>T(`full_name`,e.target.value),className:y})}),(0,g.jsx)(b,{label:`Email address`,required:!0,children:(0,g.jsx)(`input`,{type:`email`,required:!0,maxLength:255,value:n.email,onChange:e=>T(`email`,e.target.value),className:y})}),(0,g.jsx)(b,{label:`Country / Region`,required:!0,children:(0,g.jsxs)(`select`,{required:!0,value:n.country,onChange:e=>T(`country`,e.target.value),className:y,children:[(0,g.jsx)(`option`,{value:``,children:`Select one`}),m.map(e=>(0,g.jsx)(`option`,{value:e,children:e},e))]})}),(0,g.jsx)(b,{label:`Primary skin concern`,required:!0,children:(0,g.jsxs)(`select`,{required:!0,value:n.skin_concern,onChange:e=>T(`skin_concern`,e.target.value),className:y,children:[(0,g.jsx)(`option`,{value:``,children:`Select one`}),f.map(e=>(0,g.jsx)(`option`,{value:e,children:e},e))]})}),C&&(0,g.jsx)(`p`,{className:`text-sm text-destructive`,children:C}),(0,g.jsx)(`button`,{type:`submit`,disabled:a,style:{borderRadius:50},className:`mt-2 w-full bg-gold px-6 py-4 text-sm font-bold uppercase tracking-[0.18em] text-black transition-colors hover:bg-gold-hover disabled:opacity-60`,children:a?`Joiningâ¦`:`Join the Waitlist â`}),(0,g.jsx)(`p`,{className:`text-center text-[11px] text-text-muted`,children:`No spam. We only email about launch and your early access details.`})]})})]})}),(0,g.jsx)(`section`,{className:`border-t border-border px-5 py-20 md:px-10 md:py-28`,children:(0,g.jsx)(`div`,{className:`mx-auto max-w-[1320px]`,children:(0,g.jsx)(u,{items:d})})})]})}var y=`mt-2 w-full rounded border border-control-border bg-control text-foreground hover:border-control-border-hover focus-visible:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background aria-invalid:border-destructive px-4 py-3`;function b({label:e,required:t,children:n}){return(0,g.jsxs)(`label`,{className:`block`,children:[(0,g.jsxs)(`span`,{className:`text-[11px] uppercase tracking-[0.2em] text-text-muted`,children:[e,t&&(0,g.jsx)(`span`,{className:`ml-1 text-gold`,children:`*`})]}),n]})}function x(){let e=`https://wa.me/?text=${encodeURIComponent(`I just joined the ${o.name} waitlist to get my personalised Beauty Score. Launching ${s}: ${a(`/join/client`)}`)}`;return(0,g.jsxs)(`div`,{className:`rounded-lg border border-gold bg-[#0F0F0F] p-8 text-center md:p-10`,children:[(0,g.jsx)(`p`,{className:`font-display text-3xl text-white md:text-4xl`,children:`⦠You're in.`}),(0,g.jsx)(`p`,{className:`mx-auto mt-4 max-w-md text-text-muted`,children:`We'll email you when your Beauty Score is ready. Invitations go out by cohort, so keep an eye on your inbox.`}),(0,g.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,style:{borderRadius:50},className:`mt-6 inline-flex items-center gap-2 bg-gold px-6 py-3 text-xs font-bold uppercase tracking-[0.18em] text-black transition-colors hover:bg-gold-hover`,children:[(0,g.jsx)(r,{className:`h-4 w-4`}),`Share on WhatsApp`]})]})}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.