:root{--teal: #3dbcc8;--teal-soft: #a8dde3;--purple: #7b4fbf;--purple-soft: #c9b8e5;--ink: #1a1230;--ink-soft: #4a3f66;--paper: #ffffff;--pastel-teal: #eaf7f8;--pastel-purple: #f1ecf8;--pastel-blush: #fcf4f9;--shadow-lg: 0 30px 80px -20px rgba(123, 79, 191, .18), 0 10px 30px -10px rgba(61, 188, 200, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--pastel-purple);background-image:radial-gradient(ellipse 80% 60% at 10% 0%,var(--pastel-teal) 0%,transparent 50%),radial-gradient(ellipse 70% 50% at 100% 100%,var(--pastel-purple) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 50% 50%,var(--pastel-blush) 0%,transparent 60%),linear-gradient(135deg,var(--pastel-teal) 0%,#ffffff 50%,var(--pastel-purple) 100%);background-attachment:fixed;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.4 0 0 0 0 0.7 0 0 0 0.04 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");z-index:0}#root{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 20px 60px;position:relative}.logo-wrap{display:flex;justify-content:center;margin-bottom:24px;z-index:2;position:relative;animation:fade-down .7s ease-out both}.logo-wrap img{height:64px;width:auto;filter:drop-shadow(0 8px 20px rgba(123,79,191,.25))}.notice{position:fixed;top:18px;left:50%;z-index:5;width:min(420px,calc(100% - 32px));transform:translate(-50%);padding:14px 18px;border-radius:12px;color:var(--ink);background:var(--paper);box-shadow:var(--shadow-lg);text-align:center;font-weight:600}.card{background:var(--paper);width:100%;max-width:540px;border-radius:28px;padding:48px 40px 40px;box-shadow:var(--shadow-lg);position:relative;z-index:2;animation:fade-up .8s .1s ease-out both;border:1px solid rgba(255,255,255,.8)}.card:before{content:"";position:absolute;inset:-2px;border-radius:30px;padding:2px;background:linear-gradient(135deg,var(--teal) 0%,transparent 40%,transparent 60%,var(--purple) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);font-weight:600;margin:0 0 12px;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #3dbcc833;animation:pulse 2s ease-in-out infinite}h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(36px,6vw,48px);line-height:1.05;margin:0 0 16px;color:var(--ink)}h1 .name{font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--teal) 0%,var(--purple) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.subhead{font-size:16px;line-height:1.6;color:var(--ink-soft);margin:0 0 32px;max-width:440px}.form-group{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.input-wrap{position:relative}.input-wrap label{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--ink-soft);pointer-events:none;transition:all .2s ease;background:var(--paper);padding:0 6px}.input-wrap input:focus+label,.input-wrap input:not(:placeholder-shown)+label{top:0;font-size:11px;color:var(--purple);font-weight:600;letter-spacing:.06em;text-transform:uppercase}input[type=text],input[type=email],input[type=tel]{width:100%;padding:18px;font-family:Manrope,sans-serif;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px solid #e8e2f2;border-radius:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input::placeholder{color:transparent}input:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7b4fbf14}.talk-btn{width:100%;padding:20px 24px;font-family:Manrope,sans-serif;font-size:17px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--teal) 0%,var(--purple) 100%);border:none;border-radius:14px;cursor:pointer;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .2s ease;box-shadow:0 10px 30px -8px #7b4fbf66;display:inline-flex;align-items:center;justify-content:center;gap:10px}.talk-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 40px -8px #7b4fbf80}.talk-btn:disabled{opacity:.7;cursor:not-allowed}.phone-btn{width:100%;margin-top:12px;padding:16px 20px;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;color:var(--purple);background:var(--paper);border:1.5px solid #e8e2f2;border-radius:14px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.phone-btn:hover:not(:disabled){border-color:var(--purple-soft);background:var(--pastel-blush);transform:translateY(-1px)}.phone-btn:disabled{opacity:.7;cursor:not-allowed}.line-status{margin:-8px 0 12px;padding:12px 14px;color:var(--ink-soft);background:var(--pastel-teal);border:1px solid rgba(61,188,200,.28);border-radius:12px;font-size:13px;line-height:1.5;text-align:center}.text-btn{width:100%;margin-top:14px;padding:10px 12px;font-family:Manrope,sans-serif;font-size:14px;font-weight:700;color:var(--ink-soft);background:transparent;border:none;cursor:pointer}.text-btn:hover{color:var(--purple)}.mic-icon{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}.footnote{margin-top:18px;font-size:13px;line-height:1.5;color:var(--ink-soft);text-align:center;opacity:.75}.call-state{display:none;flex-direction:column;align-items:center;gap:24px;padding:20px 0}.fallback-state{display:flex;flex-direction:column}.call-state.active{display:flex}.orb{width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,var(--teal) 0%,var(--purple) 100%);position:relative;box-shadow:0 20px 60px -10px #7b4fbf66;display:flex;align-items:center;justify-content:center}.orb:before,.orb:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--purple);opacity:0;animation:ripple 2.4s ease-out infinite}.orb:after{animation-delay:1.2s}.orb.speaking{animation:orb-pulse .8s ease-in-out infinite}.orb-inner{width:70%;height:70%;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 60%)}.call-status{font-family:Fraunces,serif;font-size:22px;font-weight:500;color:var(--ink);text-align:center;font-style:italic;margin:0}.call-substatus{font-size:14px;color:var(--ink-soft);text-align:center;margin:-16px 0 0}.end-btn{padding:14px 28px;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;color:var(--ink);background:transparent;border:1.5px solid #e8e2f2;border-radius:12px;cursor:pointer;transition:all .2s ease}.end-btn:hover{background:var(--pastel-blush);border-color:var(--purple-soft)}.post-call{display:none;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:20px 0}.post-call.active{display:flex}.post-call h2{font-family:Fraunces,serif;font-size:26px;font-weight:500;margin:0;color:var(--ink)}.post-call p{color:var(--ink-soft);margin:0;max-width:380px}.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.page-footer{margin-top:32px;font-size:13px;color:var(--ink-soft);opacity:.7;text-align:center;z-index:2;position:relative}.page-footer .built-by{font-family:Fraunces,serif;font-style:italic}@keyframes fade-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #3dbcc866}50%{box-shadow:0 0 0 6px #3dbcc800}}@keyframes ripple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}@keyframes orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(max-width:500px){.card{padding:36px 24px 28px;border-radius:22px}.logo-wrap img{height:52px}h1{font-size:34px}.orb{width:140px;height:140px}}
