/* Shared translucent sage controls across every page. */
:root{--glass-ink:#233d32;--glass-tint:rgba(126,164,127,.12);--glass-hover:rgba(132,174,133,.24);--glass-edge:rgba(69,108,75,.42);--glass-glint:rgba(246,255,233,.52)}
.forest-hero,.menu-dialog,footer,.chat-heading,.privacy-notice{--glass-ink:#f5ffef;--glass-tint:rgba(121,159,127,.15);--glass-hover:rgba(144,185,146,.26);--glass-edge:rgba(215,241,204,.5);--glass-glint:rgba(220,250,201,.22)}
body :is(button,.btn,.text-link){
 color:var(--glass-ink)!important;
 background-color:var(--glass-tint)!important;
 background-image:linear-gradient(110deg,transparent 38%,var(--glass-glint) 49%,transparent 60%)!important;
 background-size:300% 100%!important;
 background-position:150% 0;
 border:1px solid var(--glass-edge)!important;
 border-radius:8px;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 4px 18px rgba(25,52,34,.06)!important;
 animation:glass-control-sheen 9s ease-in-out infinite;
 transition:background-color .25s,border-color .25s,box-shadow .25s;
 cursor:pointer;
}
body :is(button,.btn,.text-link):hover{background-color:var(--glass-hover)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 20px rgba(147,187,126,.13)!important}
body :is(button,.btn,.text-link):focus-visible{outline:2px solid var(--glass-ink);outline-offset:4px}
body :is(button,.btn,.text-link):disabled,body :is(button,.btn,.text-link)[aria-disabled="true"]{opacity:.48;cursor:not-allowed;animation:none}
body button[aria-pressed="true"]{background-color:var(--glass-hover)!important;border-color:var(--glass-ink)!important;box-shadow:inset 0 -3px 0 var(--glass-edge)!important}
body .text-link{padding:12px 18px;display:inline-flex;align-items:center;text-decoration:none}
body .chat-launch{background-color:rgba(215,239,164,.91)!important;border-radius:50px;--glass-ink:#19392b;--glass-glint:rgba(255,255,233,.85);padding:18px 27px;font-size:16px;gap:14px;border-color:rgba(133,171,74,.65)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 30px rgba(121,163,68,.25)!important;animation-duration:3.2s}
body .chat-launch:hover{background-color:rgba(222,246,174,.96)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 34px rgba(121,163,68,.35)!important}
body .chat-launch{isolation:isolate;overflow:hidden;transform-origin:bottom right;background-image:linear-gradient(110deg,transparent 38%,rgba(255,255,236,.85) 49%,transparent 60%),linear-gradient(180deg,rgba(255,255,255,.32),transparent 48%,rgba(77,119,40,.1))!important;background-size:300% 100%,100% 100%!important;box-shadow:inset 0 2px 1px rgba(255,255,255,.8),inset 0 -4px 7px rgba(77,118,43,.15),0 5px 0 rgba(93,132,55,.22),0 12px 30px rgba(76,119,43,.22)!important;animation:glass-control-sheen 3.2s ease-in-out infinite,helper-float 4.8s ease-in-out infinite}
body .chat-launch:hover{animation-play-state:paused;transform:translateY(-4px) scale(1.025);box-shadow:inset 0 2px 1px rgba(255,255,255,.9),inset 0 -3px 6px rgba(77,118,43,.12),0 7px 0 rgba(93,132,55,.2),0 16px 35px rgba(76,119,43,.3)!important}
body .chat-launch:active{transform:translateY(2px) scale(.99);box-shadow:inset 0 1px 4px rgba(77,118,43,.2),0 2px 0 rgba(93,132,55,.2)!important}
body .chat-launch[aria-expanded="true"]{animation:none;transform:none}
@keyframes helper-float{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-5px) scale(1.025)}65%{transform:translateY(-3px) scale(1.015)}}
/* Organic pool of crystal glass: light edge, refracted tint, liquid contour. */
body .chat-launch{width:210px;min-height:132px;box-sizing:border-box;padding:28px 30px;justify-content:center;text-align:center;white-space:normal;line-height:1.35;border-radius:63% 37% 58% 42% / 42% 62% 38% 58%;background-color:rgba(183,224,246,.46)!important;background-image:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.85) 49%,transparent 59%),radial-gradient(ellipse at 25% 12%,rgba(255,255,255,.9),transparent 44%),linear-gradient(150deg,rgba(232,250,255,.4),rgba(105,189,235,.16) 55%,rgba(151,207,244,.32))!important;background-size:300% 100%,100% 100%,100% 100%!important;border-color:rgba(236,252,255,.9)!important;backdrop-filter:blur(12px) saturate(1.35);-webkit-backdrop-filter:blur(12px) saturate(1.35);text-shadow:0 1px 3px rgba(255,255,255,.85);box-shadow:inset 2px 3px 3px rgba(255,255,255,.95),inset -3px -5px 8px rgba(47,121,168,.24),inset 0 0 18px rgba(255,255,255,.44),0 10px 24px rgba(26,87,128,.2),0 1px 2px rgba(44,117,160,.36)!important;animation:glass-control-sheen 3.2s ease-in-out infinite,helper-liquid 6s ease-in-out infinite}
body .chat-launch:before{content:'';position:absolute;pointer-events:none;inset:8px 14px 12px 10px;border-radius:inherit;border-top:2px solid rgba(255,255,255,.85);border-left:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);opacity:.8}
body .chat-launch:after{content:'';position:absolute;pointer-events:none;top:17px;left:35px;width:45px;height:10px;border-radius:50%;background:rgba(255,255,255,.7);filter:blur(2px);transform:rotate(-22deg)}
body .chat-launch>span{font-size:23px;flex-shrink:0}
body .chat-launch:hover{background-color:rgba(202,235,252,.67)!important;box-shadow:inset 2px 3px 3px white,inset -3px -5px 8px rgba(47,121,168,.22),0 14px 32px rgba(26,87,128,.26)!important}
body .water-chat{bottom:180px;max-height:calc(100dvh - 210px)}
@keyframes helper-liquid{0%,100%{transform:translateY(0);border-radius:63% 37% 58% 42% / 42% 62% 38% 58%}50%{transform:translateY(-5px);border-radius:56% 44% 63% 37% / 50% 55% 45% 50%}}
@media(prefers-reduced-motion:reduce){body .chat-launch,body .chat-launch:hover,body .chat-launch:active{animation:none!important;transform:none!important}}
@media(max-width:480px){body .chat-launch{width:180px;min-height:112px;padding:23px 24px;font-size:14px;max-width:calc(100vw - 32px);right:16px;bottom:18px;gap:9px}body .water-chat{bottom:150px;max-height:calc(100dvh - 175px)}}
body .chat-choices button{border-radius:20px}
body .hero-motion-toggle{border-radius:30px}
body .privacy-footer button,body .privacy-forget{padding:9px 13px;text-decoration:none}
body .chat-close,body .privacy-dialog-head button{min-width:40px;min-height:40px;border-radius:50%;line-height:1}
body .menu-toggle{border-radius:8px;margin-top:8px}
body .forest-hero .forest-hero-copy>.btn:before,body .forest-contact .btn:before{content:none}
.forest-hero.motion-suspended :is(button,.btn){animation-play-state:paused!important}
@keyframes glass-control-sheen{0%,25%{background-position:150% 0}65%,100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){body :is(button,.btn,.text-link){animation:none!important;background-image:none!important;transition:none!important}}
@media(forced-colors:active){body :is(button,.btn,.text-link){background-image:none!important;border-color:ButtonText!important;color:ButtonText!important;box-shadow:none!important}}

/* Clear-water tint for the floating crystal helper. */
body .chat-launch{--glass-ink:#173e54;text-shadow:0 1px 3px rgba(242,253,255,.95)}
body .chat-launch:after{background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(199,239,255,.7),rgba(255,255,255,.85))}
/* A soft rolling crest travels through the water-glass surface. */
body .chat-launch:after{top:-55%;left:-60%;width:210%;height:180%;border-radius:46%;background:radial-gradient(ellipse at 48% 48%,transparent 0 32%,rgba(150,221,255,.12) 35%,rgba(229,251,255,.55) 39%,rgba(255,255,255,.8) 40%,rgba(160,225,253,.24) 43%,transparent 49%);filter:blur(3px);opacity:.7;z-index:-1;animation:helper-sea-wave 4s ease-in-out infinite;transform:translate(-18%,22%) rotate(-16deg)}
body .chat-launch{animation:helper-liquid 6s ease-in-out infinite;background-position:50% 0}
body .chat-launch:hover:after,body .chat-launch[aria-expanded="true"]:after{animation-play-state:paused}
@keyframes helper-sea-wave{0%{transform:translate(-18%,22%) rotate(-16deg);opacity:.15}35%{opacity:.8}70%{opacity:.65}100%{transform:translate(18%,-22%) rotate(9deg);opacity:.15}}
@media(prefers-reduced-motion:reduce){body .chat-launch:after{animation:none!important;transform:none;opacity:.2}}
