:root{--sage-deep:#4a5d4a;--sage-medium:#6b8e6b;--sage-light:#8fb58f;--sage-pale:#c5d9c5;--sage-mist:#e8f0e8;--cream:#faf9f6;--cream-warm:#f5f0e8;--coral-soft:#e8a598;--gold-soft:#d4b896;--text-dark:#2d3b2d;--text-medium:#5c6b5c;--text-light:#8a9a8a;--duration-breath:5s;--duration-float:6s;--duration-glow:4s;--duration-fade:1.2s;--duration-slide:0.8s;--duration-typing:0.05s;--ease-smooth:cubic-bezier(0.34,1.56,0.64,1);--ease-gentle:cubic-bezier(0.4,0,0.2,1)}.typewriter-cursor{display:inline-block;width:2px;height:1.1em;background:var(--sage-deep);margin-left:2px;animation:cursor-blink .8s ease-in-out infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.tap-pulse{animation:tap-pulse 2s ease-in-out infinite}@keyframes tap-pulse{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}.tap-arrow-bounce{animation:arrow-bounce 1.5s ease-in-out infinite}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.avatar-breathe{animation:avatar-breathe 4s ease-in-out infinite}@keyframes avatar-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.circle-pulse{animation:circle-pulse 3s ease-in-out infinite}@keyframes circle-pulse{0%,to{opacity:.7}50%{opacity:1}}.connection-line{stroke-dasharray:100;stroke-dashoffset:100;animation:draw-line 1.5s ease-out forwards}@keyframes draw-line{to{stroke-dashoffset:0}}.cause-effect-arrow{animation:arrow-slide .8s ease-out forwards}@keyframes arrow-slide{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.network-node{animation:node-appear .5s ease-out forwards;opacity:0}@keyframes node-appear{to{opacity:1;transform:scale(1)}}.checkmark-celebrate{animation:checkmark-pop .6s var(--ease-smooth) forwards}@keyframes checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.confetti-particle{animation:confetti-fall 1.5s ease-out forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(30px) rotate(1turn);opacity:0}}.progress-dot{transition:all .3s ease-out}.progress-dot.active{background:var(--sage-deep);transform:scale(1.2)}.progress-dot.completed{background:var(--sage-medium)}.iphone-frame{background:#000;border-radius:55px;padding:12px;box-shadow:0 0 0 2px #3a3a3a,0 0 0 4px #1a1a1a,0 25px 50px rgba(0,0,0,.3),inset 0 0 30px hsla(0,0%,100%,.03);position:relative}.iphone-screen{background:linear-gradient(180deg,#f7f5f0,#fafaf8);border-radius:44px;overflow:hidden;position:relative}.dynamic-island{top:0;width:126px;height:37px;background:#000;border-radius:20px}.dynamic-island,.home-indicator{position:absolute;left:50%;transform:translateX(-50%);z-index:20}.home-indicator{bottom:8px;width:134px;height:5px;background:var(--text-dark);border-radius:3px;opacity:.2}.step-content-enter{animation:step-enter .4s var(--ease-smooth) forwards}@keyframes step-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-content-exit{animation:step-exit .3s ease-in forwards}@keyframes step-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.visual-pop-in{animation:visual-pop .5s var(--ease-smooth) forwards;animation-delay:.3s;opacity:0}@keyframes visual-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.floating-shape{position:absolute;border-radius:50%;filter:blur(80px);animation:blob-move 15s ease-in-out infinite}@keyframes blob-move{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-15px) scale(1.05)}50%{transform:translate(-10px,20px) scale(.98)}75%{transform:translate(-15px,-10px) scale(1.02)}}.phone-hover{transition:transform .3s ease;cursor:pointer}.phone-hover:hover{transform:scale(1.02)}.phone-hover:active{transform:scale(.98)}.name-input-glow{animation:input-glow 2s ease-in-out infinite}@keyframes input-glow{0%,to{box-shadow:0 0 0 0 rgba(107,142,107,0)}50%{box-shadow:0 0 0 4px rgba(107,142,107,.15)}}.name-input-focus{animation:input-focus .3s ease-out forwards}@keyframes input-focus{0%{transform:scale(1);box-shadow:0 2px 8px rgba(45,59,45,.06)}to{transform:scale(1.02);box-shadow:0 4px 16px rgba(74,93,74,.15)}}.welcome-fade-in{animation:welcome-appear .8s var(--ease-smooth) forwards}@keyframes welcome-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.email-form-appear{animation:email-slide-in .6s var(--ease-smooth) forwards}@keyframes email-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.typewriter-cursor{animation:none;opacity:1}.avatar-breathe,.circle-pulse,.name-input-glow,.tap-arrow-bounce,.tap-pulse{animation:none}}.font-serif{font-family:Playfair Display,Georgia,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(107,142,107,.4)}input:focus{outline:none;border-color:var(--sage-medium);box-shadow:0 0 0 4px rgba(107,142,107,.2)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}