:root{--bg-top:#F6F1FC;--bg-bot:#EFE7F8;--ink:#241038;--ink-soft:#3A2456;--muted:#6E6385;--line:rgba(107,63,160,0.14);--surface:#FFFFFF;--surface-2:#F5F0FA;--purple:#6B3FA0;--purple-btn:#7A4FB5;--purple-deep:#4C3AA0;--lav:#A87DD4;--lav-soft:#EDE7F9;--lav-deep:#4C3AA0;--blush:#E0546A;--jade:#12876C;--c-purple-bg:#E9E1F7;--c-purple:#7A4FB5;--c-blue-bg:#DBE9FB;--c-blue:#4A90D9;--c-peach-bg:#FBE6D4;--c-peach:#E8823C;--c-gold-bg:#F8EDC9;--c-gold:#C98A0E;--c-pink-bg:#F4DFF6;--c-pink:#C24FD0;--c-rose-bg:#FBDCE2;--c-rose:#E0546A;--c-jade-bg:#D7F1E9;--c-jade:#12876C;--shadow-sm:0 1px 2px rgba(36,16,56,.05),0 8px 22px rgba(76,58,160,.07);--shadow:0 2px 6px rgba(36,16,56,.06),0 18px 44px rgba(76,58,160,.12);--shadow-lg:0 4px 10px rgba(36,16,56,.08),0 34px 70px rgba(76,58,160,.18);--radius:22px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:#F2ECFA;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.serif{font-family:Fraunces,Iowan Old Style,Georgia,serif}h1,h2,h3,h4,h5{text-wrap:balance}.hero-sub,.lead,p{text-wrap:pretty}a{color:inherit;text-decoration:none}.wrap{max-width:680px}.wide,.wrap{margin:0 auto;padding:0 22px}.wide{max-width:1060px}section{position:relative}.topbar{padding:28px 0 4px;text-align:center}.logo{height:27px;width:auto;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-weight:600;font-size:16px;padding:15px 28px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn-primary{background:var(--purple-btn);color:#fff;box-shadow:0 10px 24px rgba(122,79,181,.34)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(122,79,181,.44)}.btn-primary:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:var(--surface-2);transform:translateY(-1px)}.btn-full{width:100%}:focus-visible{outline:3px solid var(--purple-btn);outline-offset:3px;border-radius:8px}.hero{padding:22px 0 8px;text-align:center}.hero-glow{position:absolute;left:50%;top:-220px;transform:translateX(-50%);width:1100px;height:720px;z-index:0;pointer-events:none;background:radial-gradient(46% 52% at 50% 40%,rgba(168,125,212,.4) 0,rgba(168,125,212,0) 70%),radial-gradient(40% 44% at 26% 46%,rgba(233,130,200,.26) 0,rgba(233,130,200,0) 72%),radial-gradient(42% 46% at 76% 42%,rgba(120,150,240,.24) 0,rgba(120,150,240,0) 72%);filter:blur(20px)}.hero .wrap{position:relative;z-index:1}.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);font-weight:700;margin:0 0 14px}h1.hero-h{font-weight:600;font-size:clamp(33px,6.2vw,56px);line-height:1.04;letter-spacing:-.02em;margin:0 auto 16px;max-width:15ch;color:var(--ink);text-wrap:balance}.hero-sub{font-size:clamp(16px,2.2vw,19px);color:var(--muted);max-width:50ch;margin:0 auto;line-height:1.5}.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}.trust{margin-top:18px;font-size:13.5px;color:var(--muted)}.trust b{color:var(--ink);font-weight:600}.phones{display:flex;gap:20px;justify-content:center;align-items:flex-end;margin:52px 0 56px;flex-wrap:wrap}.phone{position:relative;width:232px;border-radius:40px;padding:9px;background:linear-gradient(160deg,#2a2036,#140c1f);box-shadow:var(--shadow-lg)}.phone img{width:100%;display:block;border-radius:31px}.phone.tall{margin-bottom:26px}.phone .cap{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-size:13px;font-weight:600;color:var(--muted)}@media (max-width:900px){.phone{width:210px}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.cat,.formsec .card,.mcard,.ph{animation:rise-in linear both;animation-timeline:view();animation-range:entry 2% entry 30%}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}}}@media (max-width:680px){.phones{gap:14px}.phone{width:calc(50% - 10px);max-width:220px;padding:7px;border-radius:32px}.phone img{border-radius:25px}.phone.tall{margin-bottom:0}.phone:nth-child(3){display:none}}.sechead{text-align:center;margin-bottom:34px}.sechead h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(26px,4.2vw,40px);line-height:1.08;letter-spacing:-.015em;margin:0 0 12px;color:var(--ink);text-wrap:balance}.sechead .lead{font-size:16.5px;color:var(--muted);max-width:52ch;margin:0 auto}.cats{padding:40px 0 12px}.catgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:840px){.catgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.catgrid{grid-template-columns:1fr}}.cat{position:relative;border-radius:var(--radius);padding:24px 22px;border:1px solid rgba(36,16,56,.07);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.55);overflow:hidden;min-height:128px;transition:transform .15s ease,box-shadow .15s ease}.cat h3{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;margin:0 0 7px;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}.cat p{margin:0;font-size:14.5px;color:var(--ink-soft);opacity:.86;line-height:1.5;text-wrap:pretty}.cat--purple{background:linear-gradient(150deg,#E4D8F5,#D2BFEF);border-color:rgba(122,79,181,.22)}.cat--blue{background:linear-gradient(150deg,#D9E8FB,#BAD6F5);border-color:rgba(74,144,217,.22)}.cat--peach{background:linear-gradient(150deg,#FBE2CD,#F6CBA8);border-color:rgba(232,130,60,.22)}.cat--gold{background:linear-gradient(150deg,#F7E8BD,#F0D68F);border-color:rgba(201,138,14,.24)}.cat--pink{background:linear-gradient(150deg,#F1D8F6,#E7BEEE);border-color:rgba(194,79,208,.22)}.cat--rose{background:linear-gradient(150deg,#FBD6DE,#F6BAC6);border-color:rgba(224,84,106,.22)}.moments{padding:72px 0;margin-top:12px}.mrow{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@media (max-width:760px){.mrow{grid-template-columns:1fr;max-width:440px;margin:0 auto}}.mcard{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 22px;box-shadow:var(--shadow-sm);text-align:left}.mcard .tag{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:0 0 12px}.mcard h3{font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:600;line-height:1.25;margin:0 0 9px;letter-spacing:-.01em;color:var(--ink);min-height:2.5em;text-wrap:balance}.mcard p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.58;text-wrap:pretty}@media (max-width:760px){.mcard h3{min-height:0}}.phases{padding:72px 0 12px}.phgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}@media (max-width:820px){.phgrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:440px){.phgrid{grid-template-columns:1fr}}.ph{border:1px solid var(--line);border-radius:18px;padding:20px 18px;background:var(--surface);box-shadow:var(--shadow-sm)}.ph .k{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);font-weight:700}.ph h4{font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:600;margin:9px 0 7px;color:var(--ink)}.ph p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5}.formsec{padding:76px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:clamp(22px,4vw,34px);box-shadow:var(--shadow-lg);margin:26px 0 20px}.field{margin-bottom:18px}.field>label{display:block;font-weight:600;font-size:14.5px;margin-bottom:8px;color:var(--ink)}.field .hint{font-size:13px;color:var(--muted);margin:-2px 0 8px}input[type=email],input[type=text],select,textarea{width:100%;padding:13px 15px;border-radius:13px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-size:15.5px;font-family:inherit;line-height:1.4}textarea{resize:vertical;min-height:76px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--purple-btn);box-shadow:0 0 0 3px rgba(122,79,181,.2)}.req{color:var(--c-rose)}.modes{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.mode{display:flex;gap:13px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);background:var(--surface-2);border-radius:16px;padding:15px 16px;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.mode:hover{border-color:color-mix(in srgb,var(--purple) 40%,var(--line))}.mode:active{transform:scale(.995)}.mode.sel{border-color:var(--purple-btn);background:var(--c-purple-bg)}.mode .emoji{font-size:22px;line-height:1;flex:0 0 auto;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow-sm)}.mode .mt{font-weight:600;font-size:15px;margin:0 0 3px;color:var(--ink)}.mode .md{font-size:13.5px;color:var(--muted);margin:0;line-height:1.45}.mode input{position:absolute;opacity:0;pointer-events:none}.conditional{border-left:3px solid var(--c-purple-bg);padding-left:16px;margin:4px 0 18px}.check{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--muted)}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--purple-btn);flex:0 0 auto}.check a{color:var(--purple);font-weight:600}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:480px){.row2{grid-template-columns:1fr}}.submit-row{text-align:center;margin-top:8px}.submit-row .btn{min-width:260px}.formnote{font-size:13px;color:var(--muted);text-align:center;margin:12px 0 0}.err{background:var(--c-rose-bg);color:var(--c-rose);border-radius:12px;padding:12px 15px;font-size:14px;margin-bottom:16px;font-weight:500}footer{border-top:1px solid var(--line);padding:30px 0 50px;margin-top:30px}.frow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footlogo{height:22px;width:auto}.flinks{display:flex;gap:20px;font-size:14px;color:var(--muted);flex-wrap:wrap}.flinks a:hover{color:var(--ink)}.thanks{text-align:center;padding:20px 0}.thanks .big{font-size:54px;margin:6px 0 8px}.thanks h1{font-weight:600;font-size:clamp(28px,5vw,42px);margin:0 0 14px;letter-spacing:-.02em;color:var(--ink)}.thanks p{color:var(--muted);font-size:16.5px;max-width:46ch;margin:0 auto 12px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}