:root{--serenity-sage:#8b9d83;--serenity-sage-light:#a8b8a0;--serenity-sage-dark:#6f7f68;--serenity-terra:#d4876f;--serenity-terra-light:#e4a08a;--serenity-terra-dark:#b86e56;--serenity-cream:#f5f1e8;--serenity-cream-dark:#ede8dc;--serenity-charcoal:#2c2c2c;--serenity-charcoal-light:#4a4a4a;--serenity-coral:#ff8f7a;--serenity-coral-glow:#ff8f7a4d;--serenity-rose:#c9a19c;--serenity-rose-light:#dbc5c2;--serenity-gold:#d4af8e;--serenity-gold-light:#e5c9ac;--s-bg-primary:var(--serenity-cream);--s-bg-secondary:#faf8f5;--s-bg-card:#fff;--s-bg-dark:var(--serenity-charcoal);--s-text-primary:var(--serenity-charcoal);--s-text-secondary:#6b6b6b;--s-text-muted:#9a9a9a;--s-text-light:#fff;--s-accent-primary:var(--serenity-coral);--s-accent-secondary:var(--serenity-sage);--s-border-light:#2c2c2c14;--s-border-medium:#2c2c2c26;--s-gradient-sunset:linear-gradient(135deg, #d4876f 0%, #c9a19c 50%, #f5f1e8 100%);--s-gradient-growth:linear-gradient(135deg, #8b9d83 0%, #b5c4b0 50%, #f5f1e8 100%);--s-gradient-coral-glow:radial-gradient(circle, #ff8f7a26 0%, transparent 70%);--s-gradient-warm-overlay:linear-gradient(180deg, transparent 0%, #d4876f0d 100%);--s-bubble-user:linear-gradient(135deg, #d4876f, #c9a19c);--s-bubble-coach:#fff;--s-font-display:"Instrument Serif", Georgia, serif;--s-font-sans:"Inter", system-ui, sans-serif;--s-radius-sm:12px;--s-radius-md:20px;--s-radius-lg:28px;--s-radius-xl:40px;--s-radius-organic:60% 40% 30% 70% / 60% 30% 70% 40%;--s-shadow-sm:0 2px 8px #2c2c2c0f;--s-shadow-md:0 4px 20px #2c2c2c14;--s-shadow-lg:0 8px 40px #2c2c2c1f;--s-shadow-coral:0 8px 30px #ff8f7a40;--s-transition-fast:.2s cubic-bezier(.25, .1, .25, 1);--s-transition-smooth:.4s cubic-bezier(.25, .1, .25, 1);--s-transition-spring:.6s cubic-bezier(.34, 1.56, .64, 1)}@keyframes serenity-float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-8px)rotate(1deg)}75%{transform:translateY(8px)rotate(-1deg)}}@keyframes serenity-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes serenity-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes serenity-blob{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}@keyframes serenity-reveal{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes serenity-stagger{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.s-bg-primary{background-color:var(--s-bg-primary)}.s-bg-secondary{background-color:var(--s-bg-secondary)}.s-bg-card{background-color:var(--s-bg-card)}.s-bg-dark{background-color:var(--s-bg-dark)}.s-bg-gradient-sunset{background:var(--s-gradient-sunset)}.s-bg-gradient-growth{background:var(--s-gradient-growth)}.s-text-primary{color:var(--s-text-primary)}.s-text-secondary{color:var(--s-text-secondary)}.s-text-muted{color:var(--s-text-muted)}.s-text-light{color:var(--s-text-light)}.s-text-coral{color:var(--serenity-coral)}.s-text-sage{color:var(--serenity-sage)}.s-text-terra{color:var(--serenity-terra)}.s-font-display{font-family:var(--s-font-display)}.s-font-sans{font-family:var(--s-font-sans)}.s-shadow-sm{box-shadow:var(--s-shadow-sm)}.s-shadow-md{box-shadow:var(--s-shadow-md)}.s-shadow-lg{box-shadow:var(--s-shadow-lg)}.s-shadow-coral{box-shadow:var(--s-shadow-coral)}.s-organic-blob{border-radius:var(--s-radius-organic);animation:8s ease-in-out infinite serenity-blob}.s-organic-circle{border-radius:50%;animation:6s ease-in-out infinite serenity-float}.s-glass{-webkit-backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3}.s-glass-dark{-webkit-backdrop-filter:blur(20px);background:#2c2c2ccc;border:1px solid #ffffff1a}.s-grain:before{content:"";opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.s-btn-primary{background:var(--serenity-coral);color:#fff;border-radius:var(--s-radius-xl);font-family:var(--s-font-sans);letter-spacing:.02em;cursor:pointer;transition:var(--s-transition-smooth);box-shadow:var(--s-shadow-coral);border:none;padding:16px 32px;font-size:15px;font-weight:600;position:relative;overflow:hidden}.s-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px #ff8f7a59}.s-btn-primary:active{transform:translateY(0)}.s-btn-primary:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;inset:0;transform:translate(-100%)}.s-btn-primary:hover:after{animation:.6s ease-out serenity-shimmer}.s-btn-secondary{color:var(--s-text-primary);border-radius:var(--s-radius-xl);font-family:var(--s-font-sans);border:2px solid var(--s-border-medium);cursor:pointer;transition:var(--s-transition-smooth);background:0 0;padding:16px 32px;font-size:15px;font-weight:600}.s-btn-secondary:hover{border-color:var(--serenity-coral);color:var(--serenity-coral)}.s-card{background:var(--s-bg-card);border-radius:var(--s-radius-lg);box-shadow:var(--s-shadow-md);border:1px solid var(--s-border-light);transition:var(--s-transition-smooth);padding:32px}.s-card:hover{box-shadow:var(--s-shadow-lg);transform:translateY(-4px)}.s-card-glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--s-radius-lg);transition:var(--s-transition-smooth);background:#fff9;border:1px solid #ffffff4d;padding:32px}.s-perspective-container{perspective:1200px;transform-style:preserve-3d}.s-3d-element{transform-style:preserve-3d;will-change:transform;transition:transform .3s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.s-organic-blob,.s-organic-circle{animation:none}.s-3d-element{transform:none!important}}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
