/* Satsang Space v3.5 — living motion and playful calm tools.
   Decorative motion stops with prefers-reduced-motion or the site's own "Pause animations" switch (html[data-motion=off]). */

/* ---------- Scroll progress ---------- */
.ss-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 300; pointer-events: none; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--ss-sun), var(--ss-saffron), var(--ss-rose)); }
.ss-progress.is-css { animation: ss-progress linear both; animation-timeline: scroll(root block); }
@keyframes ss-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.admin-bar .ss-progress { top: 32px; }

/* ---------- Word-by-word heading reveal ---------- */
.ss-split .ss-w { display: inline-block; }
.ss-split .ss-w__i { display: inline-block; opacity: 0; transform: translateY(.5em) rotateX(-35deg); filter: blur(6px); transform-origin: 50% 100%;
	transition: opacity .9s var(--ss-ease), transform 1.1s var(--ss-ease), filter .9s var(--ss-ease); transition-delay: calc(var(--i, 0) * 55ms); }
.ss-split.is-in .ss-w__i { opacity: 1; transform: none; filter: none; }

/* ---------- Band parallax, magnetic buttons ---------- */
.ss-band, .ss-page-hero { background-position: center calc(50% + var(--ss-par, 0) * 14%) !important; }
.ss-magnet { translate: var(--ss-mx, 0) var(--ss-my, 0); transition: translate .45s var(--ss-ease), transform .4s var(--ss-ease), box-shadow .4s var(--ss-ease) !important; }

/* ---------- Cards: images settle as they scroll in ---------- */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		:root:not([data-motion=off]) .ss-card__img, :root:not([data-motion=off]) .ss-tile img { animation: ss-settle linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
		:root:not([data-motion=off]) .ss-stats__item { animation: ss-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 90%; }
	}
}
@keyframes ss-settle { from { scale: 1.16; } to { scale: 1; } }
@keyframes ss-rise { from { opacity: 0; translate: 0 40px; } to { opacity: 1; translate: 0 0; } }

/* ---------- Page-to-page transitions (supporting browsers) ---------- */
@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
	::view-transition-old(root) { animation: ss-vt-out .3s ease both; }
	::view-transition-new(root) { animation: ss-vt-in .6s cubic-bezier(.2, .7, .2, 1) both; }
}
:root[data-motion=off]::view-transition-old(root), :root[data-motion=off]::view-transition-new(root) { animation: none; }
.elementor-location-header { view-transition-name: ss-header; }
@keyframes ss-vt-out { to { opacity: 0; transform: scale(.985); } }
@keyframes ss-vt-in { from { opacity: 0; transform: translateY(18px); } }

/* =================== 3D breathing sphere =================== */
.ss-orb3d { --ss-breath: .5; position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(20px, 4vw, 56px);
	padding: clamp(28px, 5vw, 72px); border-radius: 36px; overflow: hidden; isolation: isolate; color: #F5ECE3;
	background: radial-gradient(circle at var(--ss-sx, 70%) var(--ss-sy, 45%), rgba(232, 137, 58, .22), transparent 42%), radial-gradient(120% 90% at 85% 10%, #4A3550 0%, #2B1E2F 55%, #1D1520 100%);
	box-shadow: 0 40px 90px -50px rgba(29, 21, 32, .9); }
.ss-orb3d::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 70% 52%, rgba(246, 178, 122, calc(.10 + var(--ss-breath) * .16)), transparent 46%); }
.ss-orb3d__eyebrow { color: var(--ss-peach) !important; margin: 0 0 .6rem; }
.ss-orb3d__title { color: #fff !important; font: 400 var(--ss-step-3, clamp(2rem, 1.5rem + 2vw, 3.2rem))/1.1 var(--ss-font-display); margin: 0 0 1rem; }
.ss-orb3d__title em { color: var(--ss-peach) !important; }
.ss-orb3d__text { color: #E9DCDF; font-size: var(--ss-step-0); line-height: 1.6; margin: 0 0 1.4rem; max-width: 42ch; }
.ss-orb3d__ctrl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.ss-orb3d__ctrl label { flex-basis: 100%; font: 500 .85rem var(--ss-font-display); letter-spacing: .04em; color: #E9DCDF; }
.ss-orb3d__ctrl select { min-height: 46px; padding: .5rem 2.2rem .5rem 1rem; border-radius: 999px; border: 1px solid rgba(255, 236, 222, .35); background-color: rgba(255, 255, 255, .08); color: #fff; font: 400 1rem var(--ss-font-body); }
.ss-orb3d__ctrl select option { color: #2B2130; background: #fff; }
.ss-orb3d__btn { min-height: 46px; padding: .55rem 1.3rem; border-radius: 999px; border: 0; cursor: pointer; background: rgba(255, 255, 255, .12) !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 236, 222, .4); font: 500 1rem var(--ss-font-display); }
.ss-orb3d__btn:hover { background: rgba(255, 255, 255, .22) !important; }
.ss-orb3d select:focus-visible, .ss-orb3d__btn:focus-visible { outline: 3px solid var(--ss-sun); outline-offset: 3px; }
.ss-orb3d__hint { margin: 1rem 0 0; font-size: .88rem; color: #CBBEC4; }
.ss-orb3d__stage { position: relative; aspect-ratio: 1 / 1; width: 100%; max-width: 640px; margin-inline: auto; cursor: grab; touch-action: pan-y; }
.ss-orb3d__stage:active { cursor: grabbing; }
.ss-orb3d__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ss-orb3d__fallback { position: absolute; inset: 0; display: none; place-items: center; }
.ss-orb3d__fallback span { width: 46%; aspect-ratio: 1; border-radius: 50%; transform: scale(calc(.75 + var(--ss-breath) * .35));
	background: radial-gradient(circle at 38% 32%, #FFE9D2, #F6B27A 40%, #E79A8F 70%, rgba(231, 154, 143, 0) 72%); box-shadow: 0 0 120px 30px rgba(246, 178, 122, .35); }
.ss-orb3d:not(.is-gl) .ss-orb3d__fallback { display: grid; }
.ss-orb3d__cue { position: absolute; left: 0; right: 0; bottom: 4%; margin: 0; text-align: center; pointer-events: none; font: 400 clamp(1.3rem, 1rem + 1vw, 1.8rem)/1.2 var(--ss-font-display); color: #fff; letter-spacing: .02em; text-shadow: 0 2px 18px rgba(0, 0, 0, .4); }
.ss-orb3d__count { display: block; margin-top: .25rem; font-size: .9rem; color: var(--ss-peach); min-height: 1.2em; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) { .ss-orb3d { grid-template-columns: minmax(0, 1fr); border-radius: 28px; } .ss-orb3d__stage { max-width: 460px; } }

/* =================== A day of calm =================== */
.ss-journey { position: relative; --ss-j-sky: #FFD7AE; --ss-j-p: 0; }
.ss-journey__sticky { position: relative; overflow: hidden; padding: clamp(70px, 9vw, 120px) 0 clamp(50px, 6vw, 80px); background: var(--ss-cream); }
.ss-journey__sky { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, var(--ss-j-sky) 0%, var(--ss-j-sky) 30%, transparent 92%); }
.ss-journey__sun { position: absolute; width: clamp(90px, 10vw, 150px); aspect-ratio: 1; border-radius: 50%;
	left: calc(8% + var(--ss-j-p) * 76%); top: calc(10% + (var(--ss-j-p) - .5) * (var(--ss-j-p) - .5) * 150%);
	background: radial-gradient(circle at 40% 38%, #FFF4E2, #FFC98A 45%, rgba(255, 180, 110, 0) 70%); filter: blur(1px); opacity: .9; transition: background 1s; }
.ss-journey.is-night .ss-journey__sun { background: radial-gradient(circle at 40% 38%, #FFFDF8, #EDE3F0 40%, rgba(237, 227, 240, 0) 70%); }
.ss-journey__head, .ss-journey__track, .ss-journey__dots { position: relative; z-index: 1; }
.ss-journey__head { max-width: 1280px; margin: 0 auto clamp(26px, 4vw, 44px); padding: 0 32px; }
.ss-journey__head h2 { margin: .4rem 0 0; font: 400 var(--ss-step-3, clamp(2rem, 1.5rem + 2vw, 3.2rem))/1.1 var(--ss-font-display); color: var(--ss-ink); transition: color .6s; }
.ss-journey.is-night .ss-journey__head h2, .ss-journey.is-night .ss-journey__head .ss-eyebrow { color: #fff !important; }
.ss-journey.is-night .ss-journey__head h2 em { color: var(--ss-peach) !important; }
.ss-journey__track { list-style: none; margin: 0; display: flex; gap: 24px; padding: 6px max(20px, calc((100vw - 1280px) / 2 + 32px)) 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ss-journey__track::-webkit-scrollbar { display: none; }
.ss-journey__panel { flex: 0 0 min(82vw, 400px); scroll-snap-align: center; }
.ss-journey__card { height: 100%; display: flex; flex-direction: column; background: var(--ss-white); border-radius: 28px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(43, 33, 48, .55); }
.ss-journey__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--ss-sand); }
.ss-journey__img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.16) translateX(calc(var(--ss-jd, 0) * -7%)); }
.ss-journey__body { padding: 22px 24px 26px; display: grid; gap: .5rem; }
.ss-journey__time { margin: 0; font: 500 .82rem var(--ss-font-display); letter-spacing: .12em; text-transform: uppercase; color: var(--ss-saffron-deep); }
.ss-journey__time span { color: var(--ss-ink-mute); margin-right: .35em; }
.ss-journey__body h3 { margin: 0; font: 400 1.5rem/1.2 var(--ss-font-display); color: var(--ss-ink); }
.ss-journey__body p:not(.ss-journey__time) { margin: 0; color: var(--ss-ink-soft); line-height: 1.6; }
.ss-journey__link { margin-top: .4rem; display: inline-flex; align-items: center; gap: .4rem; font: 500 1rem var(--ss-font-display); color: var(--ss-saffron-deep); text-decoration: none; }
.ss-journey__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.ss-journey__link .ss-icon { width: 18px; height: 18px; transition: transform .4s var(--ss-ease); }
.ss-journey__link:hover .ss-icon { transform: translateX(4px); }
.ss-journey__dots { display: flex; justify-content: center; gap: clamp(10px, 3vw, 40px); max-width: 760px; margin: 18px auto 0; padding: 10px 18px 14px; border-radius: 999px; background: var(--ss-frost); position: relative; }
.ss-journey__dots span { font: 500 .78rem var(--ss-font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ss-ink-soft); }
.ss-journey__bar { position: absolute; left: 18px; right: 18px; bottom: 6px; height: 2px; border-radius: 2px; background: var(--ss-line); overflow: hidden; }
.ss-journey__bar::after { content: ""; position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--ss-j-p)); background: linear-gradient(90deg, var(--ss-sun), var(--ss-saffron), var(--ss-plum)); }
/* Pinned version (large screens, motion allowed) */
.ss-journey.is-pinned .ss-journey__sticky { position: sticky; top: 0; height: 100vh; min-height: 620px; display: flex; flex-direction: column; justify-content: center; padding: 90px 0 40px; }
.ss-journey.is-pinned .ss-journey__track { overflow: visible; scroll-snap-type: none; will-change: transform; perspective: 1400px; }
.ss-journey.is-pinned .ss-journey__panel { flex-basis: min(36vw, 470px); transform: perspective(1400px) rotateY(calc(var(--ss-jd, 0) * -14deg)) translateZ(calc(var(--ss-ja, 0) * -90px)); opacity: calc(1 - var(--ss-ja, 0) * .35); }
.ss-journey.is-pinned .ss-journey__media { aspect-ratio: 16 / 11; }
@media (max-height: 760px) { .ss-journey.is-pinned .ss-journey__media { aspect-ratio: 16 / 9; } .ss-journey.is-pinned .ss-journey__body { padding: 16px 20px 20px; } }
[data-theme=dark] .ss-journey__sky { opacity: .32; }
[data-theme=dark] .ss-journey__card { box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .9); }
@media (max-width: 640px) { .ss-journey__dots span { font-size: .66rem; letter-spacing: .06em; } .ss-journey__head { padding: 0 20px; } }

/* =================== Marquee =================== */
.ss-marquee { position: relative; padding: clamp(18px, 3vw, 34px) 0; overflow: hidden; --ss-skew: 0deg; }
.ss-marquee__row { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ss-marquee__inner { display: flex; align-items: center; width: max-content; animation: ss-mq 70s linear infinite; transform: skewX(var(--ss-skew)); }
.ss-marquee__row--links .ss-marquee__inner { animation-duration: 80s; animation-direction: reverse; padding: 12px 0 4px; }
.ss-marquee__word { font: 500 clamp(2.4rem, 1.6rem + 4vw, 5.6rem)/1.15 var(--ss-font-display); letter-spacing: -.01em; white-space: nowrap; color: transparent; -webkit-text-stroke: 1.2px rgba(154, 72, 22, .45); }
.ss-marquee__word:nth-of-type(2n) { -webkit-text-stroke: 0; background: linear-gradient(100deg, var(--ss-saffron), var(--ss-rose) 60%, var(--ss-plum)); -webkit-background-clip: text; background-clip: text; }
.ss-marquee__dot { width: clamp(16px, 2vw, 28px); height: auto; margin: 0 clamp(14px, 2vw, 30px); fill: var(--ss-sun); flex: none; }
.ss-marquee__row--links ul { display: flex; gap: 12px; list-style: none; margin: 0; padding: 0 6px; }
.ss-marquee__chip { white-space: nowrap; }
.ss-marquee:hover .ss-marquee__inner, .ss-marquee.is-hold .ss-marquee__inner, .ss-marquee.is-paused .ss-marquee__inner { animation-play-state: paused; }
.ss-marquee__pause { position: absolute; right: max(12px, calc((100vw - 1280px) / 2)); bottom: 4px; min-height: 36px; padding: .3rem .9rem; border: 0; border-radius: 999px; cursor: pointer; font: 500 .8rem var(--ss-font-display); color: var(--ss-ink-soft); background: var(--ss-frost); box-shadow: inset 0 0 0 1px var(--ss-line); }
.ss-marquee__pause:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: 2px; }
@keyframes ss-mq { from { translate: 0 0; } to { translate: -50% 0; } }
[data-theme=dark] .ss-marquee__word { -webkit-text-stroke-color: rgba(246, 178, 122, .5); }
[data-theme=dark] .ss-marquee__word:nth-of-type(2n) { background: linear-gradient(100deg, var(--ss-sun), var(--ss-rose)); -webkit-background-clip: text; background-clip: text; }
/* Still version: words hidden, links wrap and centre */
@media (prefers-reduced-motion: reduce) { .ss-marquee__row--words { display: none; } .ss-marquee__inner { animation: none; transform: none; width: auto; justify-content: center; } .ss-marquee__row--links ul { flex-wrap: wrap; justify-content: center; } .ss-marquee__row--links ul[aria-hidden] { display: none; } .ss-marquee__row { -webkit-mask-image: none; mask-image: none; } }
:root[data-motion=off] .ss-marquee__row--words { display: none; }
:root[data-motion=off] .ss-marquee__inner { animation: none; transform: none; width: auto; justify-content: center; }
:root[data-motion=off] .ss-marquee__row--links ul { flex-wrap: wrap; justify-content: center; }
:root[data-motion=off] .ss-marquee__row--links ul[aria-hidden] { display: none; }
:root[data-motion=off] .ss-marquee__row { -webkit-mask-image: none; mask-image: none; }

/* =================== Stats =================== */
.ss-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 18px; }
.ss-stats__item { padding: 24px 22px; border-radius: 24px; background: var(--ss-frost); box-shadow: var(--ss-shadow-s), inset 0 0 0 1px var(--ss-frost-line); display: grid; gap: .3rem; }
.ss-stats__num { font: 400 clamp(2.6rem, 2rem + 2.4vw, 4rem)/1 var(--ss-font-display); font-variant-numeric: tabular-nums; color: var(--ss-saffron-deep); }
.ss-stats__label { color: var(--ss-ink-soft); line-height: 1.45; }

/* =================== Collections =================== */
.ss-colls { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 22px; align-items: start; }
.ss-coll { --c1: #FFD7AE; --c2: #F6B27A; position: relative; border-radius: 28px; background: var(--ss-white); box-shadow: var(--ss-shadow-s); overflow: hidden; transition: box-shadow .5s var(--ss-ease), transform .5s var(--ss-ease); }
.ss-coll--sleep { --c1: #D9CBE6; --c2: #9C86B4; } .ss-coll--anxious { --c1: #CFE3DA; --c2: #8DB8A6; } .ss-coll--work { --c1: #FFE4C2; --c2: #F2B36B; }
.ss-coll--yoga { --c1: #FFD9CC; --c2: #E79A8F; } .ss-coll--family { --c1: #FFEBB8; --c2: #F2C25E; } .ss-coll--study { --c1: #D3E1F0; --c2: #8EAED3; }
.ss-coll--outdoors { --c1: #DCEBCB; --c2: #A3C27E; } .ss-coll--hinduism { --c1: #FFD2A8; --c2: #E8893A; }
.ss-coll:hover { transform: translateY(-4px); box-shadow: var(--ss-shadow); }
.ss-coll__sum { list-style: none; cursor: pointer; display: grid; gap: 16px; padding: 0 0 22px; }
.ss-coll__sum::-webkit-details-marker { display: none; }
.ss-coll__sum:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: -3px; border-radius: 28px; }
.ss-coll__fan { position: relative; height: 190px; perspective: 900px; background: linear-gradient(160deg, var(--c1), var(--c2)); overflow: hidden; }
.ss-coll__fan::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(transparent, rgba(255, 255, 255, .18)); }
.ss-coll__sheet { position: absolute; top: 26px; left: 50%; width: 54%; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; border: 3px solid #fff; box-shadow: 0 18px 30px -14px rgba(43, 33, 48, .55); transform-origin: 50% 140%; transition: transform .7s var(--ss-ease); background: var(--ss-sand); }
.ss-coll__sheet img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ss-coll__sheet--1 { transform: translateX(-50%) rotate(-11deg) translateX(-22%); }
.ss-coll__sheet--2 { transform: translateX(-50%) translateY(-6px); z-index: 2; }
.ss-coll__sheet--3 { transform: translateX(-50%) rotate(11deg) translateX(22%); }
.ss-coll:hover .ss-coll__sheet--1, .ss-coll[open] .ss-coll__sheet--1 { transform: translateX(-50%) rotate(-17deg) translateX(-34%) rotateY(14deg); }
.ss-coll:hover .ss-coll__sheet--2, .ss-coll[open] .ss-coll__sheet--2 { transform: translateX(-50%) translateY(-14px) scale(1.04); }
.ss-coll:hover .ss-coll__sheet--3, .ss-coll[open] .ss-coll__sheet--3 { transform: translateX(-50%) rotate(17deg) translateX(34%) rotateY(-14deg); }
.ss-coll__text { display: grid; gap: .35rem; padding: 0 22px; }
.ss-coll__count { font: 500 .78rem var(--ss-font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ss-saffron-deep); }
.ss-coll__title { font: 400 1.45rem/1.2 var(--ss-font-display); color: var(--ss-ink); }
.ss-coll__blurb { color: var(--ss-ink-soft); line-height: 1.5; }
.ss-coll__open { justify-self: start; margin-top: .5rem; display: inline-flex; align-items: center; gap: .5rem; min-height: 40px; padding: .4rem 1.05rem; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--ss-line-strong); font: 500 .92rem var(--ss-font-display); color: var(--ss-ink); }
.ss-coll__open::after { content: ""; width: 8px; height: 8px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .4s var(--ss-ease); }
.ss-coll[open] .ss-coll__open::after { transform: rotate(-135deg) translate(-2px, 0); }
.ss-coll__close-label { display: none; }
.ss-coll[open] .ss-coll__open-label { display: none; }
.ss-coll[open] .ss-coll__close-label { display: inline; }
.ss-coll__list { list-style: none; margin: 0; padding: 0 14px 18px; display: grid; gap: 4px; animation: ss-rise-in .5s var(--ss-ease) both; }
.ss-coll__list a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 16px; text-decoration: none; color: var(--ss-ink); transition: background-color .3s; }
.ss-coll__list a:hover, .ss-coll__list a:focus-visible { background: var(--ss-cream); }
.ss-coll__thumb { width: 58px; height: 58px; border-radius: 12px; object-fit: cover; flex: none; }
.ss-coll__item { display: grid; gap: 2px; }
.ss-coll__name { font: 500 1rem/1.3 var(--ss-font-display); }
.ss-coll__meta { font-size: .85rem; color: var(--ss-ink-mute); }
@keyframes ss-rise-in { from { opacity: 0; transform: translateY(-6px); } }
[data-theme=dark] .ss-coll__fan { filter: saturate(.8) brightness(.78); }
[data-theme=dark] .ss-coll__sheet { border-color: #3a3044; }

/* =================== Zen sand garden =================== */
.ss-zen__frame { padding: 12px; border-radius: 26px; background: linear-gradient(145deg, #9b7752, #6d5036); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .25), 0 20px 40px -26px rgba(60, 40, 25, .8); }
.ss-zen__canvas { display: block; width: 100%; aspect-ratio: 16 / 10; max-height: min(62vh, 560px); border-radius: 16px; cursor: crosshair; touch-action: none; box-shadow: inset 0 0 30px rgba(80, 55, 30, .35); }
.ss-zen__canvas.is-stone { cursor: copy; }
.ss-zen__canvas:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: 4px; }
.ss-tool__ghost.is-on { background: var(--ss-ink) !important; color: var(--ss-cream) !important; box-shadow: none; }
@media (max-width: 640px) { .ss-zen__canvas { aspect-ratio: 4 / 3.4; } .ss-zen__frame { padding: 8px; } }

/* =================== Gratitude jar =================== */
.ss-jar { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) !important; align-items: center; gap: clamp(20px, 4vw, 48px) !important; }
.ss-jar__scene { position: relative; display: grid; place-items: center; padding: 30px 0 10px; }
.ss-jar__glass { position: relative; width: min(260px, 78%); aspect-ratio: 3 / 4; border-radius: 46px 46px 64px 64px; margin-top: 18px;
	background: linear-gradient(100deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .18) 40%, rgba(255, 255, 255, .32)); border: 2px solid rgba(154, 120, 90, .32);
	box-shadow: inset 0 -20px 40px rgba(246, 178, 122, .18), 0 30px 50px -30px rgba(43, 33, 48, .45); transition: box-shadow .8s var(--ss-ease); }
.ss-jar__lid { position: absolute; left: 14%; right: 14%; top: -20px; height: 24px; border-radius: 10px 10px 4px 4px; background: linear-gradient(180deg, #d9a85e, #9c6c2d); box-shadow: 0 4px 0 rgba(0, 0, 0, .08); }
.ss-jar__stars { position: absolute; inset: 10% 7% 5%; overflow: hidden; border-radius: 0 0 50px 50px; }
.ss-jar__star { position: absolute; width: 13%; aspect-ratio: 1; transform: rotate(var(--r, 0deg)); filter: drop-shadow(0 0 6px rgba(246, 178, 122, .6)); }
.ss-jar__star svg { width: 100%; height: 100%; fill: var(--c, #F6B27A); stroke: rgba(154, 72, 22, .35); stroke-width: .8; }
.ss-jar__star.is-new { animation: ss-star-drop 1.1s cubic-bezier(.3, 1.4, .5, 1) both; }
@keyframes ss-star-drop { 0% { transform: translateY(-420%) rotate(0deg) scale(.6); opacity: 0; } 30% { opacity: 1; } 100% { transform: rotate(var(--r, 0deg)); } }
.ss-jar__shine { position: absolute; top: 12%; left: 12%; width: 12%; height: 56%; border-radius: 20px; background: linear-gradient(180deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0)); pointer-events: none; }
.ss-jar.is-glow .ss-jar__glass { box-shadow: inset 0 -20px 60px rgba(246, 178, 122, .55), 0 0 80px 10px rgba(246, 178, 122, .45); }
.ss-jar__note { position: absolute; z-index: 3; left: 50%; top: 50%; width: min(300px, 92%); padding: 22px 22px 20px; border-radius: 6px 18px 18px 18px; transform: translate(-50%, -50%);
	background: #FFF8EC; color: #2B2130; box-shadow: 0 24px 50px -20px rgba(43, 33, 48, .6); outline: none; }
.ss-jar__note.is-open { animation: ss-unfold .7s var(--ss-ease) both; }
.ss-jar__note:focus-visible { box-shadow: 0 0 0 3px var(--ss-focus), 0 24px 50px -20px rgba(43, 33, 48, .6); }
@keyframes ss-unfold { from { opacity: 0; transform: translate(-50%, -30%) rotateX(70deg) scale(.7); } to { opacity: 1; transform: translate(-50%, -50%); } }
.ss-jar__note-date { margin: 0 0 .4rem; font: 500 .78rem var(--ss-font-display); letter-spacing: .1em; text-transform: uppercase; color: #9A4816; }
.ss-jar__note-text { margin: 0; font: 400 1.25rem/1.45 var(--ss-font-display); color: #2B2130; }
.ss-jar__side { display: grid; gap: 14px; }
.ss-jar__count { margin: 0; font: 400 1.35rem/1.3 var(--ss-font-display); color: var(--ss-ink); }
.ss-jar__form { display: grid; gap: 10px; }
.ss-jar__form label { font: 500 .85rem var(--ss-font-display); letter-spacing: .04em; color: var(--ss-ink-soft); }
.ss-jar__form textarea { width: 100%; padding: 14px 16px; border-radius: 18px; border: 1px solid var(--ss-line-strong); background: var(--ss-cream); color: var(--ss-ink); font: 400 1rem/1.5 var(--ss-font-body); resize: vertical; }
[data-theme=dark] .ss-jar__glass { background: linear-gradient(100deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04) 40%, rgba(255, 255, 255, .09)); border-color: rgba(255, 236, 222, .2); }
@media (max-width: 760px) { .ss-jar { grid-template-columns: minmax(0, 1fr) !important; } }

/* =================== Singing bowl =================== */
.ss-bowl__stage { position: relative; height: clamp(260px, 34vw, 360px); border-radius: 24px; overflow: hidden; touch-action: none;
	background: radial-gradient(70% 60% at 50% 62%, rgba(246, 178, 122, calc(.14 + var(--ss-bowl-level, 0) * .35)), transparent 70%), linear-gradient(180deg, var(--ss-cream), var(--ss-sand)); }
.ss-bowl__waves { position: absolute; inset: 0; width: 100%; height: 100%; }
.ss-bowl__bowl { position: absolute; left: 50%; top: 56%; width: min(300px, 64%); aspect-ratio: 2 / 1.05; transform: translate(-50%, -38%); border: 0; padding: 0; background: none !important; cursor: pointer; border-radius: 50% 50% 46% 46%; }
.ss-bowl__bowl:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: 10px; }
.ss-bowl__rim { position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 36%; border-radius: 50%;
	background: radial-gradient(ellipse at 50% 62%, #3c2a1b 0 54%, #b98543 57%, #f6d79a 64%, #c08a40 74%, #7a5226 100%); box-shadow: inset 0 2px 3px rgba(255, 240, 210, .6); }
.ss-bowl__body { position: absolute; z-index: 1; left: 1.5%; right: 1.5%; top: 18%; bottom: 0; border-radius: 0 0 50% 50% / 0 0 100% 100%;
	background: linear-gradient(90deg, #5e3e1c, #b07a35 18%, #e9bf74 38%, #fbe2ab 46%, #c99449 62%, #7a5226 86%, #4f3417); box-shadow: 0 26px 30px -18px rgba(60, 35, 15, .7); }
.ss-bowl__glow { position: absolute; z-index: 3; left: 4%; right: 4%; top: 2%; height: 32%; border-radius: 50%; pointer-events: none; opacity: var(--ss-bowl-level, 0); box-shadow: 0 0 34px 6px rgba(255, 214, 150, .9), inset 0 0 18px rgba(255, 230, 180, .9); transition: opacity .3s; }
.ss-bowl__bowl.is-ring { animation: ss-bowl-ring 1.6s ease-out; }
@keyframes ss-bowl-ring { 0% { transform: translate(-50%, -38%) rotate(0); } 10% { transform: translate(-50%, -38%) rotate(-1.6deg); } 22% { transform: translate(-50%, -38%) rotate(1.2deg); } 36% { transform: translate(-50%, -38%) rotate(-.7deg); } 52% { transform: translate(-50%, -38%) rotate(.35deg); } 100% { transform: translate(-50%, -38%) rotate(0); } }
.ss-bowl__state { margin: 0; text-align: center; font: 400 1.1rem/1.4 var(--ss-font-display); color: var(--ss-ink); min-height: 1.4em; }
.ss-bowl .ss-tool__row--btns { justify-content: center; }
[data-theme=dark] .ss-bowl__stage { background: radial-gradient(70% 60% at 50% 62%, rgba(246, 178, 122, calc(.10 + var(--ss-bowl-level, 0) * .3)), transparent 70%), linear-gradient(180deg, #2a2131, #1e1824); }

/* =================== Pause switch (footer) =================== */
.ss-motion-switch { margin: 0; padding: 4px 20px 26px; text-align: center; }
.ss-motion-switch__btn { min-height: 40px; padding: .4rem 1rem; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; font: 500 .88rem var(--ss-font-display); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
.ss-motion-switch__btn:hover { background: rgba(255, 255, 255, .16); }
.ss-motion-switch__btn:focus-visible { outline: 3px solid var(--ss-sun); outline-offset: 3px; }
.ss-motion-switch__btn:disabled { cursor: default; opacity: .85; }

/* =================== Motion off (site switch) or reduced =================== */
:root[data-motion=off] .ss-split .ss-w__i { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
:root[data-motion=off].ss-reveals .ss-reveal { opacity: 1 !important; transform: none !important; }
:root[data-motion=off] .ss-depth .ss-3d > * { transform: none !important; }
:root[data-motion=off] .ss-jar__star.is-new, :root[data-motion=off] .ss-jar__note.is-open, :root[data-motion=off] .ss-bowl__bowl.is-ring, :root[data-motion=off] .ss-coll__list { animation: none !important; }
:root[data-motion=off] .ss-band, :root[data-motion=off] .ss-page-hero { background-position: center !important; }
@media (prefers-reduced-motion: reduce) {
	.ss-split .ss-w__i { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
	.ss-jar__star.is-new, .ss-jar__note.is-open, .ss-bowl__bowl.is-ring, .ss-coll__list { animation: none !important; }
	.ss-coll__sheet, .ss-coll { transition: none; }
	.ss-progress { display: none; }
}
@media print { .ss-progress, .ss-marquee__pause, .ss-motion-switch { display: none !important; } .ss-split .ss-w__i { opacity: 1 !important; transform: none !important; filter: none !important; } }
@media (max-width: 900px) { .ss-marquee { display: flex; flex-direction: column; } .ss-marquee__pause { position: static; align-self: center; margin-top: 10px; } }

/* =================== Tools hub =================== */
.ss-hub { display: grid; gap: clamp(34px, 5vw, 56px); }
.ss-hub__filters { display: flex; flex-wrap: wrap; gap: 10px; }
.ss-hub__filters .ss-chip { cursor: pointer; border: 0; font: 500 .95rem var(--ss-font-display); }
.ss-hub__filters .ss-chip.is-on { background: var(--ss-ink) !important; color: var(--ss-cream) !important; }
.ss-hub__group[hidden] { display: none; }
.ss-hub__title { margin: 0 0 18px; font: 400 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1.2 var(--ss-font-display); color: var(--ss-ink); }
.ss-hub__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 18px; }
.ss-toolcard { --g1: #FFD7AE; --g2: #F6B27A; position: relative; height: 100%; display: grid; grid-template-rows: auto auto 1fr auto; gap: 10px; padding: 24px; border-radius: 26px; background: var(--ss-white); box-shadow: var(--ss-shadow-s); text-decoration: none !important; color: var(--ss-ink); overflow: hidden; isolation: isolate; transition: transform .5s var(--ss-ease), box-shadow .5s var(--ss-ease); }
.ss-toolcard::before { content: ""; position: absolute; z-index: -1; right: -60px; top: -60px; width: 170px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--g1), transparent 70%); opacity: .55; transition: transform .8s var(--ss-ease), opacity .5s; }
.ss-toolcard:hover, .ss-toolcard:focus-visible { transform: translateY(-5px); box-shadow: var(--ss-shadow); }
.ss-toolcard:hover::before { transform: scale(1.5); opacity: .8; }
.ss-toolcard:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: 3px; }
.ss-toolcard__icon { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; color: #3a2210; background: linear-gradient(140deg, var(--g1), var(--g2)); box-shadow: 0 10px 22px -12px rgba(154, 72, 22, .7); }
.ss-toolcard__name { font: 500 1.2rem/1.25 var(--ss-font-display); }
.ss-toolcard__text { color: var(--ss-ink-soft); line-height: 1.5; font-size: .98rem; }
.ss-toolcard__go { display: inline-flex; align-items: center; gap: .35rem; font: 500 .95rem var(--ss-font-display); color: var(--ss-saffron-deep); }
.ss-toolcard__go .ss-icon { width: 18px; height: 18px; transition: transform .4s var(--ss-ease); }
.ss-toolcard:hover .ss-toolcard__go .ss-icon { transform: translateX(4px); }
.ss-hub__group--meditate .ss-toolcard { --g1: #E5DAF0; --g2: #B9A5D3; }
.ss-hub__group--sleep .ss-toolcard { --g1: #D9D3F2; --g2: #9C8FCF; }
.ss-hub__group--move .ss-toolcard { --g1: #FFD9CC; --g2: #E79A8F; }
.ss-hub__group--habits .ss-toolcard { --g1: #FFE8B8; --g2: #F2C25E; }
.ss-hub__group--reflect .ss-toolcard { --g1: #D5EBDD; --g2: #93C4A6; }
.ss-hub__group--family .ss-toolcard { --g1: #D3E4F5; --g2: #8EB3DA; }
[data-theme=dark] .ss-toolcard::before { opacity: .22; }
@media (prefers-reduced-motion: reduce) { .ss-toolcard, .ss-toolcard::before { transition: none; } }

/* =================== Resource reading aids =================== */
.ss-toc { margin: 0 0 2.2em; padding: 20px 24px 18px; border-radius: 22px; background: var(--ss-sand); box-shadow: inset 0 0 0 1px var(--ss-line); }
.ss-toc__head { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 .6em !important; font: 500 .8rem var(--ss-font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--ss-saffron-deep); }
.ss-toc__time { color: var(--ss-ink-mute); letter-spacing: .04em; }
.ss-toc ol { margin: 0 !important; padding-left: 1.3em !important; columns: 2 220px; column-gap: 32px; }
.ss-toc li { margin: 0 0 .35em; break-inside: avoid; }
.ss-toc a { color: var(--ss-ink) !important; text-decoration: none; }
.ss-toc a:hover { color: var(--ss-saffron-deep) !important; text-decoration: underline; }
.elementor-widget-theme-post-content h2[id], .elementor-widget-theme-post-content h3 { scroll-margin-top: 110px; }
.elementor-widget-theme-post-content table { width: 100%; border-collapse: collapse; margin: 1.2em 0 1.8em; font-size: .98rem; border-radius: 16px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--ss-line); }
.elementor-widget-theme-post-content th, .elementor-widget-theme-post-content td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--ss-line); vertical-align: top; }
.elementor-widget-theme-post-content th { background: var(--ss-sand); font: 500 .9rem var(--ss-font-display); color: var(--ss-ink); }
.elementor-widget-theme-post-content tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) { .elementor-widget-theme-post-content table { display: block; overflow-x: auto; } }
[data-theme=dark] .ss-ai-fab { background: #F6B27A !important; color: #2B1A10 !important; }
[data-theme=dark] .ss-ai-fab .ss-icon { color: #9A4816; }
/* Header icon row: equal sizes, centred on one line */
.ss-header .elementor-widget-shortcode + .elementor-widget-shortcode { margin-top: 0 !important; }
.ss-header .elementor-widget-shortcode, .ss-header .elementor-widget-button { align-self: center; margin-block: 0 !important; }
.ss-header .elementor-widget-shortcode > .elementor-widget-container { display: flex; align-items: center; }
.ss-header .ss-theme-toggle, .ss-header .ss-hsearch__toggle { width: 48px !important; height: 48px !important; }

/* =================== Insights =================== */
.ss-ins__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.ss-ins__range { display: flex; gap: 8px; }
.ss-ins__legend { margin: 0; display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--ss-ink-soft); }
.ss-ins__key { display: inline-block; width: 14px; height: 14px; border-radius: 4px; background: linear-gradient(#F6B27A, #E8893A); margin-left: 8px; }
.ss-ins__key--line { height: 3px; border-radius: 2px; background: #7B5BA6; }
.ss-ins__svg { width: 100%; height: auto; display: block; }
.ss-ins__grid { stroke: var(--ss-line); stroke-width: 1; }
.ss-ins__lbl { font: 500 12px var(--ss-font-display); fill: var(--ss-ink-mute); }
.ss-ins__line { fill: none; stroke: #7B5BA6; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.ss-ins__dot { fill: var(--ss-white); stroke: #7B5BA6; stroke-width: 3; }
.ss-ins__bar { transform-box: fill-box; transform-origin: 50% 100%; animation: ss-grow .8s var(--ss-ease) both; animation-delay: var(--d, 0ms); }
@keyframes ss-grow { from { transform: scaleY(0); } }
.ss-ins__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; }
.ss-ins__stat { padding: 14px 16px; border-radius: 18px; background: var(--ss-cream); display: grid; gap: 2px; }
.ss-ins__num { font: 400 1.6rem/1.1 var(--ss-font-display); color: var(--ss-saffron-deep); }
.ss-ins__lab { font-size: .88rem; color: var(--ss-ink-soft); }
.ss-ins__summary { margin: 0; font: 400 1.1rem/1.5 var(--ss-font-display); color: var(--ss-ink); }
[data-theme=dark] .ss-ins__line, [data-theme=dark] .ss-ins__dot { stroke: #C7B2E6; }
[data-theme=dark] .ss-ins__key--line { background: #C7B2E6; }

/* =================== Breathe together =================== */
.ss-bt { --ss-bt: .3; justify-items: center; text-align: center; }
.ss-bt__stage { position: relative; width: min(280px, 70vw); aspect-ratio: 1; display: grid; place-items: center; }
.ss-bt__ring { position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--ss-line-strong); }
.ss-bt__orb { position: absolute; width: 46%; aspect-ratio: 1; border-radius: 50%; transform: translateX(calc(var(--ss-bt) * -14%)) scale(calc(.75 + var(--ss-bt) * .9)); background: radial-gradient(circle at 38% 34%, #FFE9D2, #F6B27A 55%, #E8893A); box-shadow: 0 0 60px rgba(246, 178, 122, .5); mix-blend-mode: multiply; opacity: .9; }
.ss-bt__orb--2 { transform: translateX(calc(var(--ss-bt) * 14%)) scale(calc(.75 + var(--ss-bt) * .9)); background: radial-gradient(circle at 38% 34%, #F8E6F2, #E79A8F 55%, #C46C8A); }
.ss-bt:not(.is-live) .ss-bt__orb { opacity: .45; }
[data-theme=dark] .ss-bt__orb { mix-blend-mode: screen; }
.ss-bt__cue { margin: 0; font: 400 1.5rem/1.2 var(--ss-font-display); color: var(--ss-ink); }
.ss-bt__count { display: inline-block; min-width: 1.2em; color: var(--ss-saffron-deep); font-variant-numeric: tabular-nums; }
.ss-bt__setup, .ss-bt__share { width: 100%; display: grid; gap: 12px; justify-items: center; }
.ss-bt__share label { font: 500 .85rem var(--ss-font-display); color: var(--ss-ink-soft); }
.ss-bt__linkrow { width: 100%; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ss-bt__linkrow input { flex: 1 1 260px; min-height: 46px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--ss-line-strong); background: var(--ss-cream); color: var(--ss-ink); font: 400 .95rem var(--ss-font-body); }

/* =================== Rangoli =================== */
.ss-rg__frame { padding: 10px; border-radius: 26px; background: linear-gradient(145deg, #8a4a32, #5a2f22); width: min(100%, 620px); justify-self: center; }
.ss-rg__canvas { display: block; width: 100%; aspect-ratio: 1; border-radius: 18px; cursor: crosshair; touch-action: none; }
.ss-rg__canvas:focus-visible { outline: 3px solid var(--ss-focus); outline-offset: 4px; }
.ss-rg__colours { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ss-rg__swatch { position: relative; width: 40px; height: 40px; border-radius: 50%; background: var(--c); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.ss-rg__swatch input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ss-rg__swatch:has(input:checked) { box-shadow: 0 0 0 3px var(--ss-cream), 0 0 0 6px var(--ss-ink); }
.ss-rg__swatch:has(input:focus-visible) { outline: 3px solid var(--ss-focus); outline-offset: 6px; }
.ss-rg .ss-tool__row--btns { justify-content: center; }
