/* Bloggersurf Rebound motion system — progressive, responsive and accessibility-aware. */

:root {
	--bsr-scroll-progress: 0;
	--bsr-scroll-shift: 0px;
}

.bsr-scroll-progress {
	position: fixed;
	z-index: 100001;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	pointer-events: none;
	background: linear-gradient(90deg, #48e89b, #b9ffd8 52%, #ff866f);
	box-shadow: 0 0 18px rgba(72, 232, 155, .48);
	transform: scaleX(var(--bsr-scroll-progress));
	transform-origin: left center;
}

body.admin-bar .bsr-scroll-progress {
	top: 32px;
}

.bsr-motion-ready .bsr-reveal {
	opacity: 0;
	filter: blur(5px);
	translate: 0 34px;
	scale: .985;
	transition:
		opacity .72s ease var(--bsr-delay, 0ms),
		filter .78s ease var(--bsr-delay, 0ms),
		translate .88s cubic-bezier(.16, 1, .3, 1) var(--bsr-delay, 0ms),
		scale .88s cubic-bezier(.16, 1, .3, 1) var(--bsr-delay, 0ms);
	will-change: opacity, filter, translate, scale;
}

.bsr-motion-ready .bsr-reveal-left {
	translate: -38px 16px;
}

.bsr-motion-ready .bsr-reveal-right {
	translate: 38px 16px;
}

.bsr-motion-ready .bsr-reveal-down {
	translate: 0 -20px;
}

.bsr-motion-ready .bsr-reveal-scale {
	translate: 0 14px;
	scale: .94;
}

.bsr-motion-ready .bsr-reveal.is-visible {
	opacity: 1;
	filter: blur(0);
	translate: 0 0;
	scale: 1;
	will-change: auto;
}

.hero-shell,
.bsj-shell {
	--bsr-pointer-x: 72%;
	--bsr-pointer-y: 40%;
	isolation: isolate;
}

.bsr-ambient-glow {
	position: absolute;
	z-index: 1;
	inset: -18%;
	pointer-events: none;
	background:
		radial-gradient(circle at var(--bsr-pointer-x) var(--bsr-pointer-y), rgba(72, 232, 155, .22), transparent 19%),
		radial-gradient(circle at 18% 85%, rgba(255, 134, 111, .085), transparent 19%);
	filter: blur(10px);
	opacity: .72;
	transform: translate3d(0, var(--bsr-scroll-shift), 0) scale(1.04);
	animation: bsr-ambient-breathe 8s ease-in-out infinite alternate;
}

.hero-shell.is-pointer-active .bsr-ambient-glow,
.bsj-shell.is-pointer-active .bsr-ambient-glow {
	opacity: 1;
}

.logo-mark {
	animation: bsr-logo-float 4.6s ease-in-out infinite;
}

.logo-mark span {
	transform-origin: center;
	animation: bsr-logo-bar 3.4s ease-in-out infinite;
}

.logo-mark span:nth-child(2) {
	animation-delay: .16s;
}

.logo-mark span:nth-child(3) {
	animation-delay: .32s;
}

.eyebrow span,
.bsj-kicker i,
.pilot-label span {
	animation: bsr-signal-pulse 2.4s ease-out infinite;
}

.orbit::after {
	position: absolute;
	top: 50%;
	left: -4px;
	width: 8px;
	height: 8px;
	content: "";
	background: #48e89b;
	border-radius: 50%;
	box-shadow: 0 0 18px rgba(72, 232, 155, .8);
}

.orbit-one {
	animation: bsr-orbit-spin 20s linear infinite;
}

.orbit-two {
	animation: bsr-orbit-spin 15s linear infinite reverse;
}

.chart-line {
	stroke-dasharray: 420;
	stroke-dashoffset: 420;
}

.bsr-motion-ready .product-stage.is-visible .chart-line {
	animation: bsr-chart-draw 1.65s cubic-bezier(.22, 1, .36, 1) .62s forwards;
}

.bsr-motion-ready .product-stage.is-visible .chart-area {
	opacity: 0;
	animation: bsr-chart-area .9s ease 1.18s forwards;
}

.bsr-motion-ready .product-stage.is-visible .opportunity-row {
	opacity: 0;
	transform: translateX(18px);
	animation: bsr-row-in .55s cubic-bezier(.16, 1, .3, 1) forwards;
}

.bsr-motion-ready .product-stage.is-visible .opportunity-row:nth-child(1) { animation-delay: .82s; }
.bsr-motion-ready .product-stage.is-visible .opportunity-row:nth-child(2) { animation-delay: .98s; }
.bsr-motion-ready .product-stage.is-visible .opportunity-row:nth-child(3) { animation-delay: 1.14s; }

.signal-card {
	animation: bsr-card-float 4.4s ease-in-out infinite;
}

.signal-icon span {
	display: inline-block;
	animation: bsr-arrow-nudge 2s ease-in-out infinite;
}

.problem-grid article.is-visible .drift-visual i {
	transform-origin: bottom;
	animation: bsr-bar-grow .72s cubic-bezier(.16, 1, .3, 1) both;
}

.problem-grid article.is-visible .drift-visual i:nth-child(2) { animation-delay: .06s; }
.problem-grid article.is-visible .drift-visual i:nth-child(3) { animation-delay: .12s; }
.problem-grid article.is-visible .drift-visual i:nth-child(4) { animation-delay: .18s; }
.problem-grid article.is-visible .drift-visual i:nth-child(5) { animation-delay: .24s; }
.problem-grid article.is-visible .drift-visual i:nth-child(6) { animation-delay: .30s; }
.problem-grid article.is-visible .drift-visual i:nth-child(7) { animation-delay: .36s; }

.problem-grid article.is-visible .value-visual span {
	animation: bsr-value-pop .75s cubic-bezier(.16, 1, .3, 1) .18s both;
}

.problem-grid article.is-visible .queue-visual span {
	animation: bsr-queue-in .55s cubic-bezier(.16, 1, .3, 1) both;
}

.problem-grid article.is-visible .queue-visual span:nth-child(2) { animation-delay: .1s; }
.problem-grid article.is-visible .queue-visual span:nth-child(3) { animation-delay: .2s; }

.score-ring {
	animation: bsr-ring-turn 9s linear infinite;
}

.score-ring strong,
.score-ring small {
	animation: bsr-ring-counterturn 9s linear infinite;
}

.workflow-grid article.is-visible .export-icon i {
	animation: bsr-export-stack 3.5s ease-in-out infinite;
}

.workflow-grid article.is-visible .export-icon i:nth-child(2) { animation-delay: .18s; }
.workflow-grid article.is-visible .export-icon i:nth-child(3) { animation-delay: .36s; }

.workflow-grid article.is-visible .prioritise-icon i {
	transform-origin: bottom;
	animation: bsr-priority-bars 2.8s ease-in-out infinite alternate;
}

.workflow-grid article.is-visible .prioritise-icon i:nth-child(2) { animation-delay: .18s; }
.workflow-grid article.is-visible .prioritise-icon i:nth-child(3) { animation-delay: .36s; }

.workflow-grid article.is-visible .recover-icon i {
	animation: bsr-recovery-ring 3s ease-out infinite;
}

.workflow-grid article.is-visible .recover-icon i:nth-child(2) { animation-delay: .55s; }
.workflow-grid article.is-visible .recover-icon i:nth-child(3) { animation-delay: 1.1s; }

.workflow-grid article.is-visible .recover-icon b {
	animation: bsr-arrow-nudge 2s ease-in-out infinite;
}

[data-bsr-tilt="true"] {
	--bsr-tilt-x: 0deg;
	--bsr-tilt-y: 0deg;
	--bsr-lift: 0px;
	position: relative;
	transform: perspective(1100px) rotateX(var(--bsr-tilt-x)) rotateY(var(--bsr-tilt-y)) translate3d(0, var(--bsr-lift), 0);
	transform-style: preserve-3d;
	transition: transform .18s ease-out, border-color .25s ease, box-shadow .25s ease;
	will-change: transform;
}

[data-bsr-tilt="true"]::after {
	position: absolute;
	z-index: 4;
	inset: 0;
	pointer-events: none;
	content: "";
	background: radial-gradient(circle at var(--bsr-card-x, 50%) var(--bsr-card-y, 50%), rgba(255,255,255,.18), transparent 28%);
	border-radius: inherit;
	opacity: 0;
	transition: opacity .25s ease;
}

[data-bsr-tilt="true"].is-tilting::after {
	opacity: 1;
}

.dashboard-card[data-bsr-tilt="true"] {
	--bsr-tilt-y: -2deg;
}

.journal-card[data-bsr-tilt="true"]:hover,
.bsj-card[data-bsr-tilt="true"]:hover {
	--bsr-lift: -7px;
}

.pilot-card[data-bsr-tilt="true"]:hover,
.sample-report[data-bsr-tilt="true"]:hover,
.bsj-feature[data-bsr-tilt="true"]:hover {
	--bsr-lift: -4px;
}

.button svg,
.nav-cta svg,
.text-link svg,
.bsj-read-link svg,
.bsj-search button svg,
.bsj-card-foot a {
	transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}

.button:hover svg,
.nav-cta:hover svg,
.text-link:hover svg,
.bsj-read-link:hover svg,
.bsj-search button:hover svg {
	transform: translate3d(3px, -3px, 0);
}

.bsj-card:hover .bsj-card-foot a {
	transform: translate3d(3px, -3px, 0) rotate(5deg);
}

.journal-art,
.bsj-card-media,
.bsj-feature-media {
	isolation: isolate;
}

.journal-art::after,
.bsj-card-media::after,
.bsj-feature-media::after {
	position: absolute;
	z-index: 3;
	top: -40%;
	left: -90%;
	width: 46%;
	height: 180%;
	pointer-events: none;
	content: "";
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
	transform: rotate(18deg);
	transition: left .8s cubic-bezier(.16, 1, .3, 1);
}

.journal-card:hover .journal-art::after,
.bsj-card:hover .bsj-card-media::after,
.bsj-feature:hover .bsj-feature-media::after {
	left: 145%;
}

.bsj-card-media img,
.bsj-feature-media img {
	transition: transform .8s cubic-bezier(.16, 1, .3, 1), filter .5s ease;
}

.bsj-card:hover .bsj-card-media img,
.bsj-feature:hover .bsj-feature-media img {
	transform: scale(1.045);
	filter: saturate(1.08) contrast(1.02);
}

.bsj-art-feature b,
.bsj-art b {
	animation: bsr-art-float 4s ease-in-out infinite;
}

.bsj-shell::before {
	animation: bsr-shell-ring 18s linear infinite;
}

.bsj-shell::after {
	animation: bsr-shell-ring 14s linear infinite reverse;
}

.bsj-topic-bar a {
	position: relative;
	overflow: hidden;
}

.bsj-topic-bar a::after {
	position: absolute;
	right: 18px;
	bottom: 5px;
	left: 18px;
	height: 1px;
	content: "";
	background: currentColor;
	transform: scaleX(0);
	transition: transform .28s ease;
}

.bsj-topic-bar a:hover::after,
.bsj-topic-bar a.is-active::after {
	transform: scaleX(1);
}

.mobile-menu[open] > div {
	transform-origin: top right;
	animation: bsr-menu-in .26s cubic-bezier(.16, 1, .3, 1) both;
}

.mobile-menu[open] summary span:first-child {
	transform: translateY(3.5px) rotate(45deg);
}

.mobile-menu[open] summary span:nth-child(2) {
	transform: translateY(-3.5px) rotate(-45deg);
}

.mobile-menu summary span {
	transition: transform .24s ease;
}

.bsr-motion-paused *,
.bsr-motion-paused *::before,
.bsr-motion-paused *::after {
	animation-play-state: paused !important;
}

@keyframes bsr-ambient-breathe {
	0% { opacity: .58; scale: 1; }
	100% { opacity: .95; scale: 1.08; }
}

@keyframes bsr-logo-float {
	0%, 100% { transform: rotate(-22deg) translateY(0); }
	50% { transform: rotate(-18deg) translateY(-2px); }
}

@keyframes bsr-logo-bar {
	0%, 100% { scale: 1 1; }
	50% { scale: .82 1; }
}

@keyframes bsr-signal-pulse {
	0% { box-shadow: 0 0 0 0 rgba(72, 232, 155, .42); }
	70%, 100% { box-shadow: 0 0 0 10px rgba(72, 232, 155, 0); }
}

@keyframes bsr-orbit-spin {
	to { transform: rotate(360deg); }
}

@keyframes bsr-chart-draw {
	to { stroke-dashoffset: 0; }
}

@keyframes bsr-chart-area {
	to { opacity: 1; }
}

@keyframes bsr-row-in {
	to { opacity: 1; transform: translateX(0); }
}

@keyframes bsr-card-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -8px; }
}

@keyframes bsr-arrow-nudge {
	0%, 100% { transform: translate3d(0, 0, 0); }
	50% { transform: translate3d(3px, -3px, 0); }
}

@keyframes bsr-bar-grow {
	from { transform: scaleY(.08); opacity: .25; }
	to { transform: scaleY(1); opacity: 1; }
}

@keyframes bsr-value-pop {
	0% { transform: scale(.72) rotate(-8deg); opacity: 0; }
	70% { transform: scale(1.06) rotate(2deg); opacity: 1; }
	100% { transform: scale(1) rotate(0); opacity: 1; }
}

@keyframes bsr-queue-in {
	from { transform: translateX(28px); opacity: 0; }
	to { opacity: 1; }
}

@keyframes bsr-ring-turn {
	to { transform: rotate(369deg); }
}

@keyframes bsr-ring-counterturn {
	to { transform: rotate(-369deg); }
}

@keyframes bsr-export-stack {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -5px; }
}

@keyframes bsr-priority-bars {
	to { scale: 1 1.12; filter: brightness(1.2); }
}

@keyframes bsr-recovery-ring {
	0% { scale: .78; opacity: .25; }
	55% { opacity: .8; }
	100% { scale: 1.12; opacity: .08; }
}

@keyframes bsr-art-float {
	0%, 100% { translate: 0 0; rotate: 0deg; }
	50% { translate: 0 -7px; rotate: 3deg; }
}

@keyframes bsr-shell-ring {
	to { transform: rotate(360deg) scale(1.04); }
}

@keyframes bsr-menu-in {
	from { opacity: 0; transform: translateY(-8px) scale(.94); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 782px) {
	body.admin-bar .bsr-scroll-progress {
		top: 46px;
	}
}

@media (max-width: 760px) {
	.bsr-scroll-progress {
		height: 2px;
	}

	.bsr-motion-ready .bsr-reveal,
	.bsr-motion-ready .bsr-reveal-left,
	.bsr-motion-ready .bsr-reveal-right,
	.bsr-motion-ready .bsr-reveal-down,
	.bsr-motion-ready .bsr-reveal-scale {
		translate: 0 24px;
		scale: .985;
		filter: blur(3px);
		transition-duration: .56s, .56s, .68s, .68s;
	}

	.bsr-motion-ready .bsr-reveal.is-visible {
		translate: 0 0;
		scale: 1;
		filter: blur(0);
	}

	.bsr-ambient-glow {
		inset: -10%;
		opacity: .65;
		filter: blur(7px);
		animation-duration: 11s;
	}

	.orbit-one {
		animation-duration: 28s;
	}

	.orbit-two {
		display: none;
	}

	.signal-card {
		animation-duration: 5.5s;
	}

	.journal-card:active,
	.bsj-card:active,
	.button:active,
	.nav-cta:active,
	.bsj-topic-bar a:active {
		scale: .975;
	}

	.journal-card,
	.bsj-card,
	.bsj-feature {
		transform: none !important;
	}

	.journal-art::after,
	.bsj-card-media::after,
	.bsj-feature-media::after {
		display: none;
	}
}

@media (hover: none), (pointer: coarse) {
	[data-bsr-tilt="true"] {
		transform: none !important;
		will-change: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bsr-scroll-progress,
	.bsr-ambient-glow {
		display: none !important;
	}

	.bsr-reveal,
	.bsr-reveal.is-visible {
		opacity: 1 !important;
		filter: none !important;
		translate: none !important;
		scale: 1 !important;
	}

	.bsr-rebound-page *,
	.bsr-rebound-page *::before,
	.bsr-rebound-page *::after,
	.bsr-journal-page *,
	.bsr-journal-page *::before,
	.bsr-journal-page *::after {
		animation: none !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		transition-delay: 0ms !important;
	}

	[data-bsr-tilt="true"] {
		transform: none !important;
	}
}
