/* A living, botanical palette: water, leaves and a slow breathing rhythm. */
body{background:#edf5ef;--text:#355d5b}
main{overflow:clip;background:linear-gradient(155deg,#d8f2e9 0%,#f0e8fc 24%,#e3f5ec 52%,#ede6fb 78%,#d8f1e9 100%)}
.header{background:linear-gradient(110deg,#e5f5edeb,#e4f7f4eb 55%,#e6dff9eb);backdrop-filter:blur(18px);border-bottom:1px solid #0c96962b;box-shadow:0 6px 24px #04606009;transition:box-shadow .4s}
.header.is-scrolled{box-shadow:0 7px 30px #0460601c}
.header::after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#0c9696,#17ccc2,#a99df4);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.brand img{mix-blend-mode:multiply}
.header nav>a:not(.button){position:relative;padding:9px 12px;border-radius:25px;transition:background .3s,color .3s,transform .3s}
.header nav{gap:8px}
.header nav>a:not(.button):hover,.header nav>a.is-active{background:#046060;color:#fff;transform:translateY(-2px)}
.header .nav-cta{background:linear-gradient(110deg,#046060,#0b817e);box-shadow:0 5px 15px #04606020;border-radius:30px}
.button{border-radius:30px;box-shadow:0 8px 20px #04606016;transition:background .3s,transform .3s,box-shadow .3s}
.button:hover{box-shadow:0 12px 25px #04606030;transform:translateY(-4px)}
.button span{transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}
.text-link span{transition:transform .3s}.text-link:hover span{transform:translate(3px,-2px)}
.hero{isolation:isolate;position:relative}
.hero::before{content:"";position:absolute;z-index:-2;inset:0 calc((100% - 100vw)/2);background:radial-gradient(ellipse at 7% 20%,#8de2e270 0%,transparent 46%),radial-gradient(ellipse at 85% 74%,#a99df46b 0%,transparent 49%),linear-gradient(120deg,#e0f4e9,#e9eaf9);pointer-events:none}
.hero::after{content:"";width:380px;height:380px;position:absolute;left:-220px;bottom:-180px;border:1px solid #0c96962b;border-radius:50%;box-shadow:0 0 0 35px #17ccc20b,0 0 0 70px #17ccc208;z-index:-1;animation:breathe 9s ease-in-out infinite;pointer-events:none}
.hero-copy .eyebrow{display:inline-block;border:1px solid #0c969640;background:#f7fffbb3;border-radius:30px;padding:6px 13px}
.tiny-flower{display:inline-block;animation:slow-turn 24s linear infinite}
.hero h1 em{color:#386c68;position:relative;white-space:nowrap}
.hero h1 em::after{content:"";height:10px;background:#a99df455;position:absolute;bottom:0;left:0;right:0;z-index:-1;border-radius:50%;transform:rotate(-3deg)}
.hero-visual::before{content:"";position:absolute;inset:0 5px 0 -5px;border-radius:48% 52% 48% 52%;background:linear-gradient(130deg,#17ccc25e,#a99df48c);transform:rotate(9deg);animation:organic-drift 10s ease-in-out infinite;pointer-events:none}
.portrait{border:6px solid #f6fff5cc;box-shadow:0 20px 45px #0460601c;border-radius:230px 230px 85px 28px}
.orbit{border:1px solid #0c96967a;animation:orbit-breathe 10s ease-in-out infinite}
.hero-flower{color:#9683e6;animation:slow-turn 36s linear infinite}
.portrait-note{border:1px solid #ffffffb3;background:linear-gradient(120deg,#ffffffed,#e8ddffed);border-radius:20px 20px 20px 3px;animation:gentle-float 7s ease-in-out infinite;box-shadow:0 12px 30px #456f6620}
.note-icon{background:#c7b8f3;color:#046060}
.hero-caption{color:#386763}.hero-caption .dot{box-shadow:0 0 0 4px #0c969619}
.values-strip{position:relative;background:linear-gradient(90deg,#0b7775,#046060 55%,#396e76);color:#effffa;border-top:1px solid #8de2e2;border-bottom:1px solid #8de2e2;gap:38px;z-index:1}
.values-strip i{color:#b8a9f5;animation:slow-turn 18s linear infinite}
.about{position:relative;isolation:isolate}
.about::before{content:"";position:absolute;right:-80px;top:35px;width:300px;height:300px;background:#b8a9f52b;border-radius:48% 52% 66% 34%;z-index:-1;animation:organic-drift 13s ease-in-out infinite}
.signature{color:#087d7b}.credentials{padding-left:15px;border-left:3px solid #a99df4}
.about-content{background:#ffffff65;padding:34px;border:1px solid #ffffffa6;border-radius:32px 5px 32px 32px;box-shadow:0 18px 40px #23493a06}
.approach{position:relative;isolation:isolate;background:radial-gradient(ellipse at 0% 100%,#0c9696a3,transparent 60%),radial-gradient(ellipse at 100% 0%,#7163aa6b,transparent 55%),#034e51}
.approach::after{content:"";position:absolute;right:-95px;bottom:-100px;width:340px;height:340px;border:1px solid #8de2e227;border-radius:50%;box-shadow:0 0 0 28px #8de2e20a,0 0 0 56px #8de2e207;z-index:-1;pointer-events:none;animation:breathe 12s ease-in-out infinite}
.principles{border:0;gap:20px;padding-top:10px}
.principles article{padding:30px 27px;background:#ffffff09;border:1px solid #bce7db36;border-radius:30px 30px 5px 30px;transition:background .4s,transform .4s,border-color .4s}
.principles article:nth-child(2){background:#a99df41c;border-color:#c8bafa48}
.principles article:hover{transform:translateY(-7px);background:#ffffff12;border-color:#b7e5dc9e}
.principle-icon{animation:gentle-float 8s ease-in-out infinite}.principles article:nth-child(2) .principle-icon{animation-delay:-3s}.principles article:nth-child(3) .principle-icon{animation-delay:-5s}
.sessions{position:relative}.session-intro h2 em{color:#70609a}
.steps{background:linear-gradient(135deg,#d7eee1,#d8f1ee 55%,#e1d9fa);border:1px solid #ffffffc9;border-radius:45px 6px 45px 45px;box-shadow:0 20px 45px #0460600d;position:relative;overflow:hidden}
.steps li>span{background:#ffffff8a;border-color:#0c969640;box-shadow:0 3px 10px #04606009;transition:background .3s,transform .3s}
.steps li:hover>span{background:#bce8de;transform:scale(1.1)}
.steps>h3,.steps ol,.gentle-note{position:relative;z-index:1}
.steps::after{content:"";width:200px;height:200px;border:1px solid #a99df480;border-radius:50%;position:absolute;bottom:-130px;right:-20px;box-shadow:0 0 0 23px #a99df41a;animation:breathe 9s ease-in-out infinite;pointer-events:none}
.events{padding-top:35px}.event-panel{border-radius:40px 8px 40px 8px;box-shadow:0 16px 40px #0460600c;border-color:#b8cbd8;background:#ffffff9c;transition:box-shadow .4s,transform .4s}
.event-panel:hover{transform:translateY(-4px);box-shadow:0 22px 45px #04606019}
.event-art{background:linear-gradient(140deg,#bcb0ee,#ded3fa 60%,#bcebe0)}
.event-art span{animation:petal-sway 12s ease-in-out infinite}.event-art span:nth-child(2){animation-delay:-4s}.event-art span:nth-child(3){animation-delay:-8s}
.tag{background:#d6f2e9;border-color:#a2d5c4;color:#045a58}
.stories{background:radial-gradient(ellipse at 85% 15%,#8de2e25e,transparent 53%),linear-gradient(120deg,#e5ddf8,#d6ebee);position:relative}
.story-placeholder{background:#ffffff65;border:1px solid #ffffffb5;border-radius:35px 6px 35px 35px;box-shadow:0 14px 35px #5f4a8a08}
.story-mark{color:#9d88cf;animation:gentle-float 8s ease-in-out infinite}
.story-lines span{background:#7baba5;transform-origin:left;animation:line-breathe 7s ease-in-out infinite}.story-lines span:nth-child(2){animation-delay:-1s}.story-lines span:nth-child(3){animation-delay:-2s}
.faq-list{border-top:0}.faq details{padding:20px 22px;margin-bottom:10px;border:1px solid #ffffffb5;border-radius:16px;background:#ffffff65;transition:background .3s,box-shadow .3s}
.faq details[open]{background:#eee7fc;box-shadow:0 8px 25px #71589a0b}.faq details:hover{background:#f8f4ff}
.contact{background:radial-gradient(ellipse at 15% 15%,#0c9696b0,transparent 65%),radial-gradient(ellipse at 95% 95%,#a99df470,transparent 60%),#045b60}
.contact::before{content:"";position:absolute;left:-80px;bottom:-170px;width:400px;height:400px;border:1px solid #8de2e245;border-radius:50%;box-shadow:0 0 0 45px #8de2e20b,0 0 0 90px #8de2e208;animation:breathe 12s ease-in-out infinite;pointer-events:none}
.contact-flower{color:#b2a0f477;animation:slow-turn 40s linear infinite}.contact .button-light{background:#d9ecdf;border-color:#e6f6eb;box-shadow:0 8px 24px #003e3e40}
.footer{background:radial-gradient(ellipse at 5% 100%,#8de2e252,transparent 55%),linear-gradient(115deg,#dfefe3,#ddd5f4 75%,#c6dce7);position:relative;isolation:isolate;padding-top:48px;padding-bottom:27px;overflow:hidden}
.footer::before{content:"";width:210px;height:210px;position:absolute;right:-95px;top:25px;border:1px solid #7868a432;border-radius:70% 20% 70% 20%;transform:rotate(-35deg);animation:leaf-sway 9s ease-in-out infinite;z-index:-1}
.footer-invitation{max-width:1132px;margin:0 auto 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #0460602b;padding-bottom:28px}
.footer-invitation .eyebrow{font-size:8px;margin-bottom:10px;color:#5a5278}.footer-invitation h2{font-size:34px;margin:0}.footer-invitation .footer-bloom{font-size:90px;color:#0c9696;line-height:1;animation:petal-sway 12s ease-in-out infinite}
.footer-top{margin-bottom:30px}.footer-top>p{font-size:12px;color:#295d5c}.footer-top>div{gap:8px}.footer-top>div>a{background:#ffffff5e;border:1px solid #ffffffa0;padding:4px 12px;border-radius:30px;transition:background .3s,transform .3s}.footer-top>div>a:hover{background:#f5fffa;transform:translateX(-4px)}
.footer-bottom{border-color:#0460602b;color:#355d5b;padding-right:205px}.footer-bottom p{color:#355d5b;max-width:430px}.footer-bottom>span{flex-shrink:0}.privacy-link{text-decoration:underline;text-underline-offset:3px}
.whatsapp-float{position:fixed;right:25px;bottom:max(22px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:12px;padding:10px 17px 10px 11px;background:#046060;color:#fff;border:1px solid #b0eee0;border-radius:40px;box-shadow:0 8px 28px #003b3b38;transition:transform .3s,background .3s,box-shadow .3s;isolation:isolate}
.whatsapp-float svg{width:30px;height:30px;flex-shrink:0}.whatsapp-float span{font-size:11px;font-weight:600;line-height:1.4}.whatsapp-float small{display:block;font-size:8px;font-weight:400;color:#c6eee5;letter-spacing:.015em}.whatsapp-float::before{content:"";position:absolute;inset:-5px;border:1px solid #0c969650;border-radius:40px;z-index:-1;animation:whatsapp-ring 5s ease-out infinite}.whatsapp-float:hover{background:#087c77;transform:translateY(-4px);box-shadow:0 12px 35px #003b3b4a}
.motion-toggle{position:fixed;left:16px;bottom:max(18px,env(safe-area-inset-bottom));z-index:25;display:flex;align-items:center;gap:6px;border:1px solid #04606030;border-radius:30px;background:#f1faf5ed;padding:6px 10px;font-size:8px;cursor:pointer;box-shadow:0 3px 12px #0460600b}.motion-toggle svg{width:12px;height:12px}.motion-toggle:hover{background:#fff}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal-ready{opacity:1;transform:none;transition:none}
.motion-paused .hero-copy>*,.motion-paused .hero-visual>.portrait{animation:none!important;opacity:1;transform:none}
@keyframes breathe{0%,100%{transform:scale(.95);opacity:.65}50%{transform:scale(1.06);opacity:1}}
@keyframes organic-drift{0%,100%{transform:rotate(9deg) scale(.98);border-radius:48% 52% 48% 52%}50%{transform:rotate(3deg) scale(1.03);border-radius:43% 57% 56% 44%}}
@keyframes gentle-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes slow-turn{to{transform:rotate(360deg)}}
@keyframes orbit-breathe{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(-3deg) scale(1.035)}}
@keyframes petal-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}
@keyframes leaf-sway{0%,100%{transform:rotate(-35deg) translateY(0)}50%{transform:rotate(-25deg) translateY(-8px)}}
@keyframes line-breathe{0%,100%{transform:scaleX(.85);opacity:.6}50%{transform:scaleX(1);opacity:1}}
@keyframes whatsapp-ring{0%,30%{transform:scale(1);opacity:0}45%{opacity:.7}80%,100%{transform:scale(1.12);opacity:0}}
@media(min-width:761px){.hero-copy>*{animation:entrance .9s both}.hero-copy>h1{animation-delay:.1s}.hero-copy>.hero-description{animation-delay:.2s}.hero-copy>.hero-actions{animation-delay:.3s}.hero-copy>.hero-caption{animation-delay:.4s}.hero-visual>.portrait{animation:entrance 1.2s .15s both}}
@keyframes entrance{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.header nav{gap:0}.header nav>a:not(.button){padding:8px}.header .nav-cta{margin-left:8px}.about{gap:45px}.about-content{padding:28px}.values-strip{gap:20px}.principles{gap:14px}.principles article{padding:25px 20px}.footer-bottom{padding-right:150px;gap:22px;flex-wrap:wrap}.whatsapp-float{right:18px}.whatsapp-float span{font-size:10px}}
@media(max-width:760px){.header nav{background:linear-gradient(125deg,#e0f2e8,#e7def8);gap:8px;padding:20px 24px 25px;border-bottom:1px solid #0c969632}.header nav>a:not(.button){padding:10px 16px}.header nav>a.is-active{transform:none}.menu-toggle{background:#ffffff80;border-color:#0c969632;border-radius:30px}.hero-copy .eyebrow{padding:5px 10px;font-size:7px}.hero::after{width:260px;height:260px;left:-190px;bottom:-70px}.hero-visual::before{inset:12px 15px 12px 0}.portrait{border-width:4px}.hero-description{color:#355d5b}.values-strip{gap:12px 14px;font-size:9px}.about{gap:26px}.about-content{padding:27px 23px}.about::before{right:-100px}.principles article{padding:24px 20px;border-radius:25px 25px 5px 25px}.principle-icon{grid-row:span 2}.steps{border-radius:35px 6px 35px 35px}.events{padding-top:0}.event-panel{border-radius:32px 6px 32px 6px}.story-placeholder{padding:30px 20px;gap:10px}.story-mark{font-size:65px}.story-placeholder .eyebrow{line-height:1.7}.faq details{padding:17px}.footer{padding-top:35px;padding-bottom:95px}.footer-invitation{margin-bottom:28px;padding-bottom:24px}.footer-invitation h2{font-size:28px}.footer-invitation .footer-bloom{font-size:65px}.footer-invitation .eyebrow{font-size:7px;max-width:240px}.footer-top{gap:24px}.footer-top>p{font-size:11px}.footer-top>div{gap:10px 15px;align-items:center}.footer-bottom{padding-right:0;gap:12px}.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:57px;height:57px;padding:12px;border-radius:50%;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float svg{width:30px;height:30px}.whatsapp-float::before{border-radius:50%}.motion-toggle{left:14px;bottom:max(23px,env(safe-area-inset-bottom));font-size:8px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.motion-toggle{display:none}}
