/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.1.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* === STRUCTURAL RESETS === */
body { overflow: hidden; }
:root { overflow-x: hidden; }

/* === HEADER STRUCTURE === */
.site-header .site-navigation { flex: 1; }
header#site-header {
	position: relative;
	z-index: 999999;
}
.site-header {
	margin-top: 30px !important;
	margin-bottom: 0px !important;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}
.container,
.site-header {
	max-width: 90% !important;
	margin: 0 auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
}
.site-navigation ul.menu {
	align-items: center;
	justify-content: center;
	gap: 60px;
	width: 100%;
}

/* === MAIN CONTENT STRUCTURE === */
main#content {
	z-index: 1;
	position: relative;
}
#content ul:not(.elementor-icon-list-items), #content li, #content ol { margin: 0; padding: 0; }
#content ul:not(.elementor-icon-list-items) { padding-left: 15px; list-style: outside; }
#content ol { padding-left: 10px; }

/* === FOOTER STRUCTURE === */
.site-footer { font-size: 0.95rem; padding-top: 4rem; overflow: hidden; }
.site-footer .footer-inner { max-width: 90% !important; padding-left: 15px; padding-right: 15px; }
.site-footer .footer-inner { flex-wrap: unset !important; gap: 30px; }
.site-footer li { list-style: none !important; }
.site-footer ul { padding: 0; }
.site-footer a { color: #fff; }
.site-footer h2 { font-size: 1rem !important; font-weight: 400 !important; }
.footer-sec1 { width: 35%; }
.footer-sec3 { width: 22%; }
.footer-sec2 { width: 18%; }

/* === RESPONSIVE — STRUCTURAL ONLY === */
@media screen and (max-width: 1199px) {
	.site-header .header-inner { max-width: 95%; }
	.site-footer .footer-inner { max-width: 95%; }
}
@media screen and (max-width: 1025px) {
	.container, .site-header,
	.site-footer .footer-inner,
	.site-main:has(.case-studies-banner) {
		max-width: 100% !important;
	}
}
@media screen and (max-width: 991px) {
	.site-footer .footer-inner { flex-direction: column; justify-content: center; }
	.footer-sec1, .footer-sec2, .footer-sec3, .footer-sec4 { width: 100%; }
}

/* ================================================================
 * MIGRATED FROM wsr-custom PLUGIN — 20260421-234621
 * Source: wp-content/plugins/wsr-custom/assets/css/overrides.css
 * ================================================================ */
/**
 * WSR Custom — Global Overrides
 * Loaded on every page at priority 999 so these always win.
 *
 * LOCAL MASTER: /mnt/aidev/dtm02-Website-Rescue/css-master/
 * DEPLOY: ./deploy.sh (pushes to Poseidon + clears caches)
 *
 * ┌─────────────────────────────────────────────────────────┐
 * │  CHILD THEME (hello-theme-child-master/style.css)       │
 * │  These rules stay in the child theme — structural only  │
 * │  Commented here for reference so we see EVERYTHING      │
 * └─────────────────────────────────────────────────────────┘
 *
 * body { overflow: hidden; }
 * :root { overflow-x: hidden; }
 * .site-header .site-navigation { flex: 1; }
 * header#site-header { position: relative; z-index: 999999; }
 * .site-header { margin-top: 30px !important; margin-bottom: 0; padding: 0; }
 * .container, .site-header { max-width: 90% !important; margin: 0 auto; padding: 0 15px; }
 * .site-navigation ul.menu { align-items: center; justify-content: center; gap: 60px; width: 100%; }
 * main#content { z-index: 1; position: relative; }
 * #content ul:not(.elementor-icon-list-items), #content li, #content ol { margin: 0; padding: 0; }
 * .site-footer { font-size: 0.95rem; padding-top: 4rem; overflow: hidden; }
 * .site-footer .footer-inner { max-width: 90% !important; padding: 0 15px; flex-wrap: unset; gap: 30px; }
 * .site-footer li { list-style: none; } .site-footer ul { padding: 0; }
 * .site-footer a { color: #fff; } .site-footer h2 { font-size: 1rem; font-weight: 400; }
 * .footer-sec1 { width: 35%; } .footer-sec3 { width: 22%; } .footer-sec2 { width: 18%; }
 * @media (max-width: 1199px) { .site-header .header-inner, .site-footer .footer-inner { max-width: 95%; } }
 * @media (max-width: 1025px) { .container, .site-header, .site-footer .footer-inner { max-width: 100%; } }
 * @media (max-width: 991px) { .site-footer .footer-inner { flex-direction: column; } .footer-sec1,.footer-sec2,.footer-sec3,.footer-sec4 { width: 100%; } }
 *
 * ┌─────────────────────────────────────────────────────────┐
 * │  PLUGIN OVERRIDES (below)                               │
 * └─────────────────────────────────────────────────────────┘
 *
 * Sections:
 *   1. Site-wide (body, SVG banner, typography, utilities)
 *   2. Header & Navigation
 *   3. Hero Section (homepage banner, buttons)
 *   4. Trust Strip Overrides (main styles in trust-strip.css)
 *   5. Attack Section (red glows, tabs, vulnerability boxes)
 *   6. Content Sections (step boxes, case studies, blog filters)
 *   7. Ghost Animation
 *   8. Badges & Certificates
 *   9. Footer
 *  10. Responsive (largest breakpoint first)
 */


/* =============================================
   1. SITE-WIDE (body, SVG banner, typography, utilities)
   ============================================= */

body { position: relative; }

/* Hide SVG glow circle widgets on ALL pages — replaced by CSS pseudo-element glows */
.elementor-widget-image:has(img[src*="Circle_Left"]),
.elementor-widget-image:has(img[src*="Circle_Right"]),
.elementor-widget-image:has(img[src*="Full_Circle"]),
.elementor-widget-image:has(img[src*="circle_left"]),
.elementor-widget-image:has(img[src*="circle_right"]),
.elementor-widget-image:has(img[src*="full_circle"]) {
	display: none !important;
}

body::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(img/Inner-Page-Banner.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	height: 595px;
	width: 100%;
}

/* Homepage: full-width vivid orange-red wash — #db3c1a per Figma */
body.home::before {
	background-image: none !important;
	background: linear-gradient(180deg,
		rgba(219, 60, 26, 0.75) 0%,
		rgba(219, 60, 26, 0.50) 30%,
		rgba(219, 60, 26, 0.25) 55%,
		rgba(28, 28, 28, 0) 85%) !important;
	height: 900px !important;
	width: 100% !important;
}

/* Green wash pages: About, Pricing, Certificate */
body.page-id-2558::before,
body.page-id-2910::before,
body.page-id-1389::before {
	background-image: none !important;
	background: linear-gradient(180deg,
		rgba(2, 208, 90, 0.55) 0%,
		rgba(2, 208, 90, 0.35) 30%,
		rgba(2, 208, 90, 0.15) 55%,
		rgba(28, 28, 28, 0) 85%) !important;
	height: 700px !important;
	top: 0;
}

/* Red/orange wash pages: Case Studies (Proof), Threats */
body.page-id-760::before,
body.page-id-1234::before {
	background-image: none !important;
	background: linear-gradient(180deg,
		rgba(219, 60, 26, 0.55) 0%,
		rgba(219, 60, 26, 0.35) 30%,
		rgba(219, 60, 26, 0.15) 55%,
		rgba(28, 28, 28, 0) 85%) !important;
	height: 700px !important;
	top: 0;
}

/* E-Book — exact same intensity as homepage */
body.page-id-2832::before {
	background-image: none !important;
	background: linear-gradient(180deg,
		rgba(219, 60, 26, 0.75) 0%,
		rgba(219, 60, 26, 0.50) 30%,
		rgba(219, 60, 26, 0.25) 55%,
		rgba(28, 28, 28, 0) 85%) !important;
	height: 900px !important;
	top: 0;
}

/* Homepage: kill permanent green borders on cert comparison parent sections */
.elementor-element-85aa7c8,
.elementor-element-10d65e6 {
	border: none !important;
}

/* Homepage: "Without Certification" — green inline text → red */
.wsr-legal-nocert span[style*="02D05A"],
.wsr-legal-nocert span[style*="02d05a"] {
	color: rgba(255, 59, 29, 1) !important;
}
/* Legal sections: borders handled by JS-injected divs + mouseenter/leave */
.wsr-legal-nocert,
.wsr-legal-withcert {
	border: none !important;
	position: relative !important;
	overflow: visible !important;
}

/* Color utilities */
.red-text { color: rgba(255, 59, 29, 1); }
.grn-text { color: rgba(153, 252, 46, 1); }
.green-gradient-box {
	background: linear-gradient(144.16deg, rgba(28, 28, 28, 0.1) 6.82%, rgba(2, 208, 90, 0.45) 85.86%) !important;
}
.border-red-gradient {
	border: 1.5px solid !important;
	border-image-source: linear-gradient(90deg, #FF3B1D 0%, #DA181B 100%) !important;
}

/* Spacing utilities */
.ptb-90 { padding-top: 90px !important; padding-bottom: 90px !important; }
.pb-90 { padding-bottom: 90px !important; }
.pt-90 { padding-top: 90px !important; }
.mb-0 p { margin-block-end: 0 !important; }
p.mb-12 { margin-bottom: 12px !important; }
.reverse-col { display: flex; flex-direction: column-reverse; }

/* Typography / Fonts */
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-Medium.otf") format("opentype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-SemiBold.otf") format("opentype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-ExtraBold.otf") format("opentype"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Alfabet"; src: url("fonts/Alfabet-Black.otf") format("opentype"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "alfabet-light"; src: url("fonts/Alfabet-Regular.otf") format("opentype"); font-weight: 300 700; font-style: normal; font-display: swap; }
.text-style2,
.text-style2 p {
	font-family: 'alfabet-light' !important;
}
.text-style2 p:last-child { margin-bottom: 0px !important; }
.text-style2 p .red-text,
.text-style2 .grn-text {
	font-weight: 600 !important;
}
.change-text { font-family: "Alfabet", Sans-serif; }
.footer-sec3 .textwidget,
.footer-sec1 {
	font-family: "Inter Tight", Sans-serif;
}

/* Fade-in animation */
@keyframes fadeinup {
	0%   { opacity: 0; transform: translate3d(0, 30px, 0); }
	100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
.fade-in-up {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	will-change: transform, opacity;
}
.fade-in-up.animate {
	animation: fadeinup 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.image-hover-effect { overflow: hidden; }
.red-text-box p:has(.red-text) { margin-bottom: 5px; line-height: 1.1em; }
.red-text-box p:last-child { margin-bottom: 0px; }


/* =============================================
   2. HEADER & NAVIGATION
   ============================================= */

.site-header .header-inner {
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 0 20px;
	border-radius: 20px;
	height: 95px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(60px);
}

/* Nav: items evenly spread across full width per Figma */
.site-navigation ul.menu {
	justify-content: space-between !important;
	gap: 0 !important;
	width: 100% !important;
	align-items: center !important;
	padding-left: 200px !important;
}
.site-header .site-navigation ul.menu li:last-child a {
	padding: 12px 30px !important;
	background: transparent !important;
}
.site-header .site-navigation ul.menu li a {
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	border-bottom: none !important;
}
.gradient-text .elementor-heading-title,
.site-header .site-navigation ul.menu li a:hover {
	background: linear-gradient(293.37deg, #02D05A 10.77%, #99FC2E 79.79%) !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent;
}
.site-header .site-navigation ul.menu li.current-menu-item a {
	color: #99FC2E !important;
	font-weight: 700;
	-webkit-text-fill-color: #99FC2E !important;
	text-decoration: none !important;
	border-bottom: none !important;
}


/* =============================================
   3. HERO SECTION (homepage banner, buttons)
   ============================================= */

.banner-text p { display: inline-block; }
.banner-text img { display: inline-block; margin: 0 0px -20px 0; }
.banner-text h1 { display: inline; font-size: 3.3rem !important; }
.home-banner-h1 > .elementor-image-box-wrapper { display: block !important; }
.home-banner-h1 > .elementor-image-box-wrapper > .elementor-image-box-img { float: left !important; }
.home-banner-h1 h1 {
	margin: 0 !important;
	font-size: 4.4vw !important;
}

/* Button system */
.btn-style,
.ebtn-style a,
.ebtn-style2 a {
	border-radius: 12px !important;
	padding: 18px 32px !important;
	font-size: 1.1rem !important;
	text-align: center;
	border: none !important;
	text-transform: capitalize;
	color: #fff !important;
	display: inline-block;
	font-weight: 500 !important;
	transition: all 200ms ease-out;
	line-height: 1.2em !important;
}
.btn-style,
.ebtn-style a {
	background: linear-gradient(272.73deg, #02D05A 0%, #99FC2E 110.62%) !important;
}
.ebtn-style2 a {
	background: rgba(0, 0, 0, 0.21) !important;
	filter: brightness(1.1);
}
.ebtn-style2 a::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1.5px;
	border-radius: inherit;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	background: linear-gradient(90deg, #99FC2E 0%, #02D05A 100%) !important;
	z-index: -1 !important;
	box-sizing: border-box !important;
}
.btn-style:hover,
.ebtn-style a:hover,
.ebtn-style2 a:hover,
.plan-box-wrap:hover,
.icon-text-box .elementor-icon-list-item:hover,
.plan-name:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px #02d05a57 !important;
	text-decoration: none !important;
}

.banner-svg-image {
	height: 100%;
	background: linear-gradient(134.64deg, rgba(28, 28, 28, 0.1) -0.64%, rgba(2, 208, 90, 0.45) 100%);
	padding: 20px 30px;
	border-radius: 24px;
	border: 2px solid rgba(153, 252, 46, 0.3);
	backdrop-filter: blur(150px);
}
.banner-svg-image svg { overflow: visible !important; }


/* =============================================
   4. TRUST STRIP OVERRIDES
   (main styles live in trust-strip.css — only overrides here)
   ============================================= */

.wsr-trust-strip {
	max-width: 82%;
	margin: 0 0 0 calc(5% - 45px);
	padding: 0px 15px 120px;
	margin-top: -100px;
	position: relative;
	z-index: 2;
}

.wsr-trust-label {
	text-align: left;
	margin-bottom: 14px;
	font-family: "Inter Tight", Sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(153, 252, 46, 0.5);
}
.wsr-trust-label span {
	display: inline-block;
	padding: 0 20px;
	position: relative;
}
.wsr-trust-label span::before,
.wsr-trust-label span::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 40px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(153, 252, 46, 0.3));
}
.wsr-trust-label span::before { right: 100%; }
.wsr-trust-label span::after {
	left: 100%;
	background: linear-gradient(90deg, rgba(153, 252, 46, 0.3), transparent);
}

.wsr-trust-badges {
	display: flex;
	justify-content: flex-start;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 10px;
	max-width: 58%;
}

.wsr-trust-badge {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(153, 252, 46, 0.15);
	padding: 12px 22px;
	border-radius: 50px;
	font-family: "Inter Tight", Sans-serif;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(20px);
	transition: all 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
	opacity: 0;
	transform: translateY(15px);
	animation: wsrBadgeIn 0.5s ease forwards;
}
.wsr-trust-badge:nth-child(1) { animation-delay: 0.1s; }
.wsr-trust-badge:nth-child(2) { animation-delay: 0.2s; }
.wsr-trust-badge:nth-child(3) { animation-delay: 0.3s; }
.wsr-trust-badge:nth-child(4) { animation-delay: 0.4s; }
.wsr-trust-badge:nth-child(5) { animation-delay: 0.5s; }
.wsr-trust-badge:nth-child(6) { animation-delay: 0.6s; }

@keyframes wsrBadgeIn {
	to { opacity: 1; transform: translateY(0); }
}

.wsr-trust-badge:hover {
	border-color: rgba(153, 252, 46, 0.5);
	box-shadow: 0 0 20px rgba(2, 208, 90, 0.12), inset 0 0 20px rgba(2, 208, 90, 0.05);
	transform: translateY(-3px);
	background: rgba(2, 208, 90, 0.08);
}

.wsr-trust-badge-icon {
	font-size: 1.1rem;
	flex-shrink: 0;
	filter: grayscale(0.3);
	transition: filter 0.3s ease;
}
.wsr-trust-badge:hover .wsr-trust-badge-icon { filter: grayscale(0); }
.wsr-trust-badge-text { white-space: nowrap; }
.wsr-trust-badge-text strong {
	color: rgba(153, 252, 46, 1);
	font-weight: 600;
}

/* Testimonial section */
.wsr-testimonials-wrap {
	max-width: 50%;
	margin: 0;
	position: relative;
}
.wsr-testimonials {
	position: relative;
	min-height: 100px;
}
.wsr-testimonials-inner { padding: 0; position: relative; }
.wsr-corner-br { display: none; }
.wsr-testimonial-status { display: none; }
.wsr-status-dot { display: none; }

.wsr-testimonial {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	opacity: 0;
	filter: blur(8px);
	transform: translateY(8px);
	transition: opacity 0.7s ease, filter 0.7s ease, transform 0.7s ease;
	text-align: left;
	pointer-events: none;
}
.wsr-testimonial.active {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
	position: relative;
	pointer-events: auto;
}
.wsr-testimonial-bigquote { display: none; }
.wsr-testimonial-quote {
	font-family: "Inter Tight", Sans-serif;
	font-size: 1.2rem;
	line-height: 1.6;
	color: #fff;
	font-style: italic;
	margin-bottom: 12px;
	position: relative;
	z-index: 1;
	text-align: left;
	text-shadow: 0 0 30px rgba(153, 252, 46, 0.12);
}
.wsr-testimonial-meta {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
}
.wsr-testimonial-author {
	font-family: "Inter Tight", Sans-serif;
	font-size: 0.9rem;
	color: rgba(153, 252, 46, 1);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-shadow: 0 0 15px rgba(153, 252, 46, 0.3);
}
.wsr-testimonial-stars {
	font-size: 1rem;
	letter-spacing: 2px;
	filter: drop-shadow(0 0 4px rgba(255, 215, 0, 0.5));
}
.wsr-star {
	color: rgba(255, 215, 0, 0.3);
	transition: color 0.3s ease;
}
.wsr-testimonial.active .wsr-star { color: #FFD700; }
.wsr-testimonial.active .wsr-star:nth-child(1) { transition-delay: 0.3s; }
.wsr-testimonial.active .wsr-star:nth-child(2) { transition-delay: 0.4s; }
.wsr-testimonial.active .wsr-star:nth-child(3) { transition-delay: 0.5s; }
.wsr-testimonial.active .wsr-star:nth-child(4) { transition-delay: 0.6s; }
.wsr-testimonial.active .wsr-star:nth-child(5) { transition-delay: 0.7s; }

.wsr-linkedin-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.7rem;
	color: rgba(255, 255, 255, 0.4);
	margin-left: 8px;
	padding: 2px 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
}
.wsr-linkedin-badge svg { width: 12px; height: 12px; fill: #0A66C2; }

/* Progress bar (replaces dots) */
.wsr-testimonial-progress { display: none; }
.wsr-progress-bar {
	width: 32px;
	height: 3px;
	border-radius: 2px;
	background: rgba(153, 252, 46, 0.1);
	overflow: hidden;
	cursor: pointer;
	transition: background 0.3s ease;
	border: none;
	padding: 0;
}
.wsr-progress-bar:hover { background: rgba(153, 252, 46, 0.2); }
.wsr-progress-fill {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #99FC2E, #02D05A);
	border-radius: 2px;
	transition: width 0.1s linear;
}
.wsr-progress-bar.active .wsr-progress-fill {
	animation: wsrProgressFill 6s linear forwards;
}
.wsr-progress-bar.done .wsr-progress-fill { width: 100%; }

@keyframes wsrProgressFill {
	from { width: 0%; }
	to   { width: 100%; }
}

/* Divider */
.wsr-trust-divider {
	width: 80px;
	height: 1px;
	background: linear-gradient(90deg, rgba(153, 252, 46, 0.3), transparent);
	margin: 6px 0;
}

/* Counter — hidden */
.wsr-testimonial-counter { display: none; }

/* Entry animations — triggered by IntersectionObserver */
.wsr-trust-strip .wsr-trust-label {
	opacity: 0;
	transform: translateX(-20px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}
.wsr-trust-strip.in-view .wsr-trust-label {
	opacity: 1;
	transform: translateX(0);
}
.wsr-trust-strip .wsr-trust-badge {
	opacity: 0;
	transform: translateY(15px) scale(0.95);
}
.wsr-trust-strip.in-view .wsr-trust-badge {
	animation: wsrBadgePop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(1) { animation-delay: 0.15s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(2) { animation-delay: 0.25s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(3) { animation-delay: 0.35s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(4) { animation-delay: 0.45s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(5) { animation-delay: 0.55s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(6) { animation-delay: 0.65s; }

@keyframes wsrBadgePop {
	0%   { opacity: 0; transform: translateY(15px) scale(0.95); }
	70%  { transform: translateY(-3px) scale(1.02); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}

.wsr-trust-strip .wsr-trust-badge-icon {
	transition: transform 0.3s ease;
}
.wsr-trust-strip.in-view .wsr-trust-badge-icon {
	animation: wsrIconBounce 0.5s ease forwards;
}

@keyframes wsrIconBounce {
	0%   { transform: scale(0); }
	60%  { transform: scale(1.3); }
	100% { transform: scale(1); }
}

.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(1) .wsr-trust-badge-icon { animation-delay: 0.25s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(2) .wsr-trust-badge-icon { animation-delay: 0.35s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(3) .wsr-trust-badge-icon { animation-delay: 0.45s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(4) .wsr-trust-badge-icon { animation-delay: 0.55s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(5) .wsr-trust-badge-icon { animation-delay: 0.65s; }
.wsr-trust-strip.in-view .wsr-trust-badge:nth-child(6) .wsr-trust-badge-icon { animation-delay: 0.75s; }

.wsr-trust-strip .wsr-testimonials-wrap {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease 0.8s, transform 0.6s ease 0.8s;
}
.wsr-trust-strip.in-view .wsr-testimonials-wrap {
	opacity: 1;
	transform: translateY(0);
}


/* =============================================
   5. ATTACK SECTION (red glows, tabs, vulnerability boxes)
   ============================================= */

/* Red glow — attack section ambient lighting */
.wsr-attack-section {
	position: relative !important;
	overflow: visible !important;
}
.wsr-attack-section::before {
	content: "" !important;
	position: absolute !important;
	left: -900px !important;
	top: 200px !important;
	width: 900px !important;
	height: 900px !important;
	border-radius: 50% !important;
	pointer-events: none !important;
	z-index: -1 !important;
	background: transparent !important;
	box-shadow:
		0 0 600px 400px rgba(218, 24, 27, 0.25),
		0 0 300px 200px rgba(255, 59, 29, 0.18) !important;
}
.wsr-attack-section::after {
	content: "" !important;
	position: absolute !important;
	right: calc(15% + 350px) !important;
	top: calc(50% - 100px) !important;
	width: 700px !important;
	height: 700px !important;
	transform: translate(50%, -50%) !important;
	border-radius: 50% !important;
	pointer-events: none !important;
	z-index: -1 !important;
	background: transparent !important;
	box-shadow:
		0 0 400px 300px rgba(218, 24, 27, 0.2),
		0 0 200px 150px rgba(255, 59, 29, 0.15) !important;
}

/* DRAGNET OFF /* 9 vulnerability boxes — red gradient + border */ */
/* DRAGNET OFF .al-box-wrap > .elementor-element { */
/* DRAGNET OFF 	background: linear-gradient(103.84deg, rgba(0, 0, 0, 0.15) 6.18%, rgba(218, 24, 27, 0.2) 97.68%) !important; */
/* DRAGNET OFF 	backdrop-filter: blur(50px); */
/* DRAGNET OFF 	border: 2px solid rgba(200, 16, 19, 0.5) !important; */
/* DRAGNET OFF 	transition: background 0.3s ease-out !important; */
/* DRAGNET OFF 	overflow: hidden; */
/* DRAGNET OFF 	position: relative; */
/* DRAGNET OFF } */
.al-box-wrap > .elementor-element::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: linear-gradient(103.84deg, rgba(0, 0, 0, 0.15) 6.18%, rgba(218, 24, 27, 0.67) 97.68%);
	opacity: 0;
	z-index: 0;
	transition: opacity 0.3s ease-out !important;
	border: none !important;
	backdrop-filter: unset !important;
}
.al-box-wrap > .elementor-element:hover::before { opacity: 1; }

/* Red numbered headings in attack boxes */
.al-box-wrap h3 {
	color: rgba(255, 59, 29, 1) !important;
	-webkit-text-fill-color: rgba(255, 59, 29, 1) !important;
}

/* "Attack" text in headings — force red (homepage attack sections only) */
.ai-attacks-section .grn-text,
body.home h2 .grn-text:only-child {
	color: rgba(255, 59, 29, 1) !important;
	-webkit-text-fill-color: rgba(255, 59, 29, 1) !important;
}

.ai-attacks-section .al-text-div {
	max-width: 670px;
	position: absolute;
	top: 43%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Red tabs — threat content */
.red-tabs .e-n-tab-title[aria-selected="false"] .e-n-tab-title-text::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url('https://www.webappdesigns.com/projects/website-rescue/wp-content/uploads/2025/12/tab-icon.png') no-repeat center center;
	background-size: 30px;
	margin-right: 10px;
}
.red-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text::before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: url('https://www.webappdesigns.com/projects/website-rescue/wp-content/uploads/2025/12/tab-act-icon.png') no-repeat center center;
	background-size: 30px;
	margin-right: 10px;
}
.red-tabs .e-n-tabs-heading { justify-content: space-evenly !important; gap: 20px; }
.red-tabs .e-n-tabs-heading > .e-n-tab-title {
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	border-bottom: none !important;
	min-width: calc((100% - 80px)/5) !important;
}
.red-tabs .e-n-tabs-content > div {
	padding-left: 0px !important;
	padding-right: 0px !important;
}
.red-tabs .e-n-tab-title[aria-selected="true"] {
	background: rgb(200, 30, 20) !important;
	border-color: rgba(255, 59, 29, 0.8) !important;
	color: #fff !important;
}
.red-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text {
	color: #fff !important;
}
.red-tabs .e-n-tab-title[aria-selected="false"] {
	background: rgba(28, 28, 28, 0.8) !important;
	border-color: rgba(80, 80, 80, 0.3) !important;
	color: rgba(255, 59, 29, 0.7) !important;
	transition: all 0.3s ease !important;
}
.red-tabs .e-n-tab-title[aria-selected="false"] .e-n-tab-title-text {
	color: rgba(255, 59, 29, 0.7) !important;
}
.red-tabs .e-n-tab-title[aria-selected="false"]:hover {
	background: rgba(255, 80, 20, 0.6) !important;
	border-color: rgba(255, 100, 20, 0.8) !important;
	color: #fff !important;
}
.red-tabs .e-n-tab-title[aria-selected="false"]:hover .e-n-tab-title-text {
	color: #fff !important;
}
.red-tabs .e-n-tabs-content > .e-n-tab-content {
	border-color: rgba(200, 16, 19, 0.5) !important;
	background: linear-gradient(144.16deg, rgba(28, 28, 28, 0.1) 6.82%, rgba(218, 24, 27, 0.3) 85.86%) !important;
}
/* Match reference: tab content — outer container gets border, inner containers transparent */
.red-tabs .e-n-tabs-content .e-con {
	border: 1px solid rgba(255, 40, 20, 0.8) !important;
	border-radius: 12px !important;
	background: linear-gradient(rgba(0, 0, 0, 0.15) 0%, rgba(218, 24, 27, 0.2) 100%) !important;
	transition: all 0.3s ease !important;
}
/* Kill borders/backgrounds on ALL nested inner containers — no hard lines */
.red-tabs .e-n-tabs-content .e-con .e-con {
	border: none !important;
	background: none !important;
	box-shadow: none !important;
}
/* Hover on outer content panel — bright blood red */
.red-tabs .e-n-tabs-content > .e-n-tab-content > .e-con:hover {
	border-color: rgba(180, 0, 0, 0.9) !important;
	background: linear-gradient(rgba(0, 0, 0, 0.05) 0%, rgba(180, 0, 0, 0.45) 100%) !important;
	box-shadow: 0 0 80px rgba(180, 0, 0, 0.35), inset 0 0 100px rgba(180, 0, 0, 0.15) !important;
}
.red-tabs .e-n-tabs-content > .e-n-tab-content {
	border: none !important;
	box-shadow: 0 0 40px rgba(218, 24, 27, 0.15), inset 0 0 60px rgba(218, 24, 27, 0.08) !important;
}
.red-tabs .e-n-tabs-content {
	border-color: rgba(200, 16, 19, 0.4) !important;
}
.red-tabs .e-n-tabs-content h3 {
	margin-top: 0px !important;
	font-size: 2.5rem !important;
}

.border-red-arrow { margin-top: auto !important; }
.border-red-arrow a {
	border-radius: 0px !important;
	border-bottom-width: 2px !important;
	font-weight: 500 !important;
}

/* Push "The Attack Nobody's Warning You About" heading down */
.elementor-element-b280d0f {
	margin-top: 200px !important;
}


/* =============================================
   6. CONTENT SECTIONS (step boxes, case studies, blog filters, forms)
   ============================================= */

/* Green step boxes */
.green-num-box {
	background: rgba(2, 208, 90, 0.1) !important;
	backdrop-filter: blur(150px);
	width: 90px !important;
	height: 93px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border: none !important;
}
.green-num-box::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1.5px;
	border-radius: inherit;
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	background: linear-gradient(141.82deg, #99FC2E 5.85%, #02D05A 99.46%) !important;
	z-index: -1 !important;
	box-sizing: border-box !important;
}
.green-num-box h3 { font-size: 40px !important; }

/* Green bar animation */
.website { position: relative; padding: 70px 0; }
.cloude-move {
	position: absolute;
	top: 0;
	background: url('https://www.webappdesigns.com/projects/website-rescue/wp-content/uploads/2025/12/grn-bar-lft.png') no-repeat center center;
	background-size: 100% 100%;
	height: 100%;
	width: 120px;
	left: 0;
	animation: moving 20s infinite alternate;
}
@keyframes moving {
	0%   { left: -3%; top: 0px; }
	100% { left: 92%; top: 0px; }
}

/* Circle / spin animation */
.circle { position: relative; }
.circle-rotate {
	position: absolute;
	z-index: 99;
	animation: spin 2s linear infinite;
}
.main-circle { z-index: 9; }
@keyframes spin {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Blog / case studies filters */
div#filter-results, .related-posts-grid { display: flex; flex-wrap: wrap; }
.post-card { width: 50%; padding: 15px; position: relative; }
div#filter-results .add-text { font-size: 1rem; }
div#filter-results a.more-btn, .related-posts-grid a.more-btn {
	color: #fff;
	display: inline-block;
	padding-right: 20px;
	background: url('https://www.webappdesigns.com/projects/website-rescue/wp-content/uploads/2026/01/arrow-btn.png') no-repeat center right;
	background-size: 12px;
}
div#filter-results a.more-btn:hover, .related-posts-grid a.more-btn:hover {
	color: rgba(255, 59, 29, 1);
}
.filter-buttons button {
	border: 1px solid rgba(255, 59, 29, 0.4);
	background: rgba(49, 49, 49, 0.49);
	color: rgba(218, 24, 27, 1);
	font-size: 1.2rem;
	font-weight: 400;
	padding: 10px 40px;
	text-align: center;
	border-radius: 10px;
}
.filter-buttons button:hover, .filter-buttons button.active {
	background: var(--e-global-color-secondary);
	background-color: transparent;
	color: #fff;
	background-image: linear-gradient(180deg, var(--e-global-color-secondary) 0%, var(--e-global-color-fc0c325) 100%);
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: var(--e-global-color-fc0c325);
}
.filter-bar {
	display: flex;
	margin-bottom: 30px;
	gap: 30px;
	justify-content: space-between;
	padding: 0 15px;
}
.filter-buttons { display: flex; gap: 15px; }
.filter-search #post-search {
	border: 1px solid rgba(255, 59, 29, 0.4);
	color: rgba(218, 24, 27, 1);
	width: 250px;
	max-width: 100%;
	background: rgba(49, 49, 49, 0.49) url('https://www.webappdesigns.com/projects/website-rescue/wp-content/uploads/2026/01/search-icon.png') no-repeat calc(100% - 15px) 13px;
	background-size: 20px;
	font-size: 1.2rem;
	font-weight: 400;
	padding: 10px 60px 10px 20px;
	text-align: left;
	border-radius: 25px;
}

/* Case studies page */
.post-card h3 { font-size: 42px !important; }
.post-card .add-text { font-size: 22px !important; }
.post-card .post-excerpt { font-size: 17px !important; }
.post-card::after,
.post-card::before {
	content: '';
	position: absolute;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	transition: all 0.5s;
	border-radius: 15px;
	z-index: -1;
}
.post-card::after {
	border-right: 2px solid #99fc2e;
	border-left: 2px solid #99fc2e;
	transform: scale(1, 0);
}
.post-card::before {
	border-top: 2px solid #99fc2e;
	border-bottom: 2px solid #99fc2e;
	transform: scale(0, 1);
}
.post-card:hover::after,
.post-card:hover::before {
	transform: scale(1, 1);
}
.post-img {
	border-radius: 15px;
	overflow: hidden;
	height: 398px;
	margin-bottom: 20px;
}
.post-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.4s ease;
}
.post-card:hover .post-img img { transform: scale(1.1); }
.red-circle,
.green-circle {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform 250ms ease-out, filter 100ms ease-out;
	z-index: 9;
}
.red-circle:hover { filter: drop-shadow(0 0 10px rgba(255, 59, 29, 0.8)); }
.green-circle:hover { filter: drop-shadow(0 0 10px rgba(2, 208, 90, 0.8)); }
.red-circle:hover,
.green-circle:hover { transform: scale(1.12); }

/* Post detail page */
.add-text { font-size: 1.4rem; }
.case-studies-content,
.post-excerpt {
	font-family: "Helvetica", Sans-serif !important;
}
.site-main:has(.case-studies-banner) {
	max-width: 90% !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
}
.case-studies-banner h1 {
	line-height: 1em;
	margin-bottom: 0px;
}
.settlement-text,
.case-studies-content h2 { font-size: 2.2rem; }
.case-studies-content h3 {
	margin: 35px 0 20px;
	font-size: 1.9rem;
}
.related-posts-section,
.case-studies-banner,
.certified-section { position: relative; }
.related-posts-section::before,
.case-studies-banner:before,
.certified-section:before,
.certified-section:after {
	content: '';
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	width: 1000px;
	height: 650px;
	z-index: -1;
	background-image: url(https://www.webappdesigns.com/projects/website-rescue/wp-content/themes/hello-theme-child-master/img/red_circle_svg.svg);
}
.related-posts-section::before { left: 0; top: -25%; }
.case-studies-banner:before,
.certified-section:before { right: -650px; bottom: -45%; }
.certified-section:after {
	background-image: url(https://www.webappdesigns.com/projects/website-rescue/wp-content/themes/hello-theme-child-master/img/green_circle_svg.svg);
	left: -400px;
	bottom: 20%;
}
.related-posts-wrapper { z-index: 9; position: relative; }
.related-title {
	text-align: center;
	margin: 100px 0 30px;
	line-height: 1em;
}
.certified-content {
	text-align: center;
	margin-top: 100px;
	padding: 100px 15px;
	background: linear-gradient(144.16deg, rgba(28, 28, 28, 0.1) 6.82%, rgba(2, 208, 90, 0.45) 85.86%);
	border: 2px solid rgba(153, 252, 46, 0.5);
	backdrop-filter: blur(150px);
	border-radius: 40px;
	overflow: hidden;
}
.certified-content p {
	margin: 22px 0 35px;
	font-family: "Helvetica", Sans-serif !important;
}
.certified-content h2 { margin: 0px; }
.post-featured-image {
	overflow: hidden;
	border-radius: 40px;
	margin-top: 65px;
	display: flex;
}
.settlement-text { margin-top: 65px; }
.post-featured-image img { transition: all 0.3s ease-out !important; }
.post-featured-image:hover img { transform: scale(1.1); }

/* Credentials box */
.cradentials-box-wrap > .elementor-element {
	background: linear-gradient(128.98deg, rgba(28, 28, 28, 0.1) 1.54%, rgba(2, 208, 90, 0.45) 104.46%) !important;
}

/* Contact form + plan boxes */
.contact-form { display: flex; flex-wrap: wrap; gap: 20px; }
.form-row-6 { flex-basis: calc((100% - 20px)/2); }
.form-row-12 { flex-basis: 100%; }
.contact-form input:not(input[type="submit"]) {
	background: linear-gradient(127.67deg, rgba(255, 255, 255, 0.06) 1.71%, rgba(2, 208, 90, 0.2) 98.19%);
	border: 2px solid rgba(153, 252, 46, 0.2);
	outline: none;
	padding: 15px 20px;
	border-radius: 10px;
	color: #fff;
}
.contact-form input::placeholder {
	color: rgba(255, 255, 255, 0.6) !important;
	font-family: "Inter Tight", Sans-serif !important;
}
.contact-form label { margin-bottom: 10px; font-size: 18px; }
.form-gradient-section > div {
	background: linear-gradient(144.16deg, rgba(28, 28, 28, 0.1) 6.82%, rgba(2, 208, 90, 0.45) 85.86%);
	padding: 30px !important;
	align-items: center !important;
	border: 2px solid rgba(153, 252, 46, 0.5);
	border-radius: 40px;
}
.form-text p {
	font-family: "Helvetica" !important;
	margin-bottom: 10px !important;
	font-size: 18px;
}
.icon-text-box .elementor-icon-list-items { gap: 25px; }
.icon-text-box .elementor-icon-list-item,
.plan-name {
	background: rgba(2, 208, 90, 0.1);
	border: 1px solid #99fc2e4d;
	padding: 12px 30px !important;
	border-radius: 12px;
	font-size: 18px !important;
}
.plan-name {
	padding: 8px 24px !important;
	border-radius: 8px;
	font-size: 16px !important;
	display: inline-block;
}
.year-text {
	font-family: "Helvetica" !important;
	color: rgba(255, 255, 255, 0.6);
	font-size: 28px;
	font-weight: 400 !important;
}
.plan-list-content .elementor-icon-list-icon { padding-top: 5px; }
.plan-list-content .elementor-icon-list-item { margin-bottom: 12px !important; }
.plan-list-content .elementor-icon-list-item:last-child { margin-bottom: 0px !important; }
.form-text-wrap .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 10px;
}
.form-text {
	font-family: "Inter Tight", Sans-serif !important;
	font-size: 16px !important;
}
.plan-box-wrap {
	height: 100% !important;
	transition: all 0.3s ease-out !important;
}
.plan-box-wrap:hover { border-color: #99fc2e !important; }


/* =============================================
   7. GHOST ANIMATION (red pulsing glow)
   ============================================= */

.elementor-element-800741f { position: relative; }
.elementor-element-800741f .elementor-widget-container {
	transition: transform 0.4s ease;
	display: inline-block;
}
.elementor-element-800741f:hover .elementor-widget-container {
	transform: scale(1.15);
}
.elementor-element-800741f img {
	filter: drop-shadow(0 0 20px rgba(255, 0, 0, 0.8))
	        drop-shadow(0 0 50px rgba(255, 0, 0, 0.5))
	        drop-shadow(0 0 80px rgba(255, 0, 0, 0.3));
	animation: ghost-pulse 2.5s ease-in-out infinite;
	cursor: pointer;
	position: relative;
	z-index: 2;
}

@keyframes ghost-pulse {
	0%, 100% {
		filter: drop-shadow(0 0 20px rgba(255,0,0,0.8))
		        drop-shadow(0 0 50px rgba(255,0,0,0.5))
		        drop-shadow(0 0 80px rgba(255,0,0,0.3));
	}
	50% {
		filter: drop-shadow(0 0 30px rgba(255,0,0,1))
		        drop-shadow(0 0 65px rgba(255,0,0,0.7))
		        drop-shadow(0 0 100px rgba(255,0,0,0.4));
	}
}


/* =============================================
   8. BADGES & CERTIFICATES
   ============================================= */

/* Homepage badges */
.elementor-element-2e0cd21 .elementor-widget-image img {
	max-height: 180px;
	width: auto;
	height: auto;
	transition: transform 0.4s ease, filter 0.4s ease;
	cursor: pointer;
}
.elementor-element-2e0cd21 .elementor-widget-image:hover img {
	transform: scale(1.15);
	filter: drop-shadow(0 0 15px rgba(2, 208, 90, 0.8))
	        drop-shadow(0 0 40px rgba(2, 208, 90, 0.5))
	        drop-shadow(0 0 70px rgba(2, 208, 90, 0.3));
}

/* Footer badges */
ul.footer-logos img {
	max-height: 100px;
	width: auto;
	height: auto;
	transition: transform 0.4s ease, filter 0.4s ease;
	cursor: pointer;
}
ul.footer-logos li:hover img {
	transform: scale(1.15);
	filter: drop-shadow(0 0 15px rgba(2, 208, 90, 0.8))
	        drop-shadow(0 0 40px rgba(2, 208, 90, 0.5))
	        drop-shadow(0 0 70px rgba(2, 208, 90, 0.3));
}

/* Attack Database badge (Sitting Duck section) */
.elementor-element-a1cab36 img {
	transition: transform 0.4s ease, filter 0.4s ease;
	cursor: pointer;
}
.elementor-element-a1cab36:hover img {
	transform: scale(1.15);
	filter: drop-shadow(0 0 15px rgba(2, 208, 90, 0.8))
	        drop-shadow(0 0 40px rgba(2, 208, 90, 0.5))
	        drop-shadow(0 0 70px rgba(2, 208, 90, 0.3));
}

/* Certificate comparison boxes */
.elementor-element-6885ae5,
.elementor-element-08ebf24 {
	border: 3px solid rgba(2, 208, 90, 0.6) !important;
	border-radius: 12px;
	padding: 20px !important;
}
.elementor-element-6885ae5 img,
.elementor-element-08ebf24 img {
	width: 100% !important;
	max-height: 540px !important;
	object-fit: cover;
	border-radius: 8px;
}


/* =============================================
   9. FOOTER
   ============================================= */

.site-footer::before {
	content: '';
	width: 100%;
	height: 100%;
	background: radial-gradient(67.75% 90.94% at 50% 9.06%, #5CAA08 0%, #116D38 50.97%, rgba(27, 27, 27, 0) 100%);
	transform: rotate(180deg);
	position: absolute;
	bottom: -120px;
	left: 0px;
}
.site-footer > div {
	z-index: 9;
	position: relative;
}

.footer-logo { margin-bottom: 20px; }
ul.footer-logos { display: flex; gap: 10px; }
ul.footer-socials {
	display: flex;
	gap: 14px;
	list-style: none;
	padding: 0;
	margin: 0;
}
ul.footer-socials li {
	display: flex;
	align-items: center;
	justify-content: center;
}
ul.footer-socials li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: rgba(10, 60, 20, 0.85);
	border: 2px solid #99fc2e;
	border-radius: 50%;
	transition: all 0.35s ease;
}
ul.footer-socials li a svg {
	width: 22px;
	height: 22px;
	fill: #ffffff;
	transition: fill 0.35s ease;
}
ul.footer-socials li a:hover {
	background: #99fc2e;
	border-color: #99fc2e;
	transform: rotate(360deg) scale(1.25);
	box-shadow: 0 0 18px rgba(153, 252, 46, 0.6), 0 0 40px rgba(153, 252, 46, 0.25);
}
ul.footer-socials li a:hover svg {
	fill: #0a1e0a;
}
/* Brand-color hovers */
ul.footer-socials li:nth-child(1) a:hover,
ul.footer-socials li:nth-child(2) a:hover { background: #0A66C2; border-color: #0A66C2; box-shadow: 0 0 18px rgba(10,102,194,0.6); }
ul.footer-socials li:nth-child(1) a:hover svg,
ul.footer-socials li:nth-child(2) a:hover svg { fill: #fff; }
ul.footer-socials li:nth-child(3) a:hover { background: #1877F2; border-color: #1877F2; box-shadow: 0 0 18px rgba(24,119,242,0.6); }
ul.footer-socials li:nth-child(3) a:hover svg { fill: #fff; }
ul.footer-socials li:nth-child(4) a:hover { background: #E4405F; border-color: #E4405F; box-shadow: 0 0 18px rgba(228,64,95,0.6); }
ul.footer-socials li:nth-child(4) a:hover svg { fill: #fff; }
ul.footer-socials li:nth-child(5) a:hover { background: #FF0000; border-color: #FF0000; box-shadow: 0 0 18px rgba(255,0,0,0.6); }
ul.footer-socials li:nth-child(5) a:hover svg { fill: #fff; }
li#custom_html-5 { margin-top: 40px; }
.footer-copyright {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 40px 0 0;
	border-top: 2px solid rgba(153, 252, 46, 0.22);
	padding: 20px 0 10px;
}
ul#menu-footer-privacy-links { display: flex; gap: 20px; }
ul#menu-footer-quick-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-family: "Inter Tight", Sans-serif;
}


/* =============================================
   INNER PAGE GLOWS (v18 pattern — CSS pseudo-elements only)
   NOT homepage. Scoped with body.page-id-X.
   Green: About(2558), Pricing(2910), Certificate(1389), E-Book(2832)
   Red: Threats(1234), Proof/Case Studies(760)
   ============================================= */

/* Global: overflow visible for glow bleed on inner pages */
body:not(.home) .e-con,
body:not(.home) .e-con-inner {
	overflow: visible !important;
}
body:not(.home) .e-con > .e-con-inner {
	position: relative !important;
	z-index: 2 !important;
}

/* ---- GREEN GLOW PAGES: Pricing, Certificate, E-Book ---- */
/* About (page 2558) migrated to wsr-green-glow utility class on 2026-04-22 — see sunburst-persistent-code.php */

/* Pricing (page 2910) migrated to wsr-green-glow utility class on 2026-04-22 */

/* Certificate (page 1389) migrated to wsr-green-glow utility class on 2026-04-22.
   Glow rules now sourced from .wsr-glow-host / .wsr-warn-glow utility classes.
   Structural padding/grid rules preserved below. */

/* Certificate "What Your Certificate Proves" + "Badge System" — matched layout per Figma */
body.page-id-1389 .elementor-element-17ff552,
body.page-id-1389 .elementor-element-cbad588 {
	padding: 90px 0 !important;
}
/* Both sections: 50/50 grid columns */
body.page-id-1389 .elementor-element-678054f {
	grid-template-columns: 1fr 1fr !important;
}

/* E-Book: shift LEFT text columns 50px to the right */
body.page-id-2832 .elementor-element-86c4c45,
body.page-id-2832 .elementor-element-bb3b028 {
	padding-left: 150px !important;
}

/* E-Book: force RED on "14-Page Guide" and "Case Study" title highlights */
body.page-id-2832 .elementor-element-3a85876 .grn-text,
body.page-id-2832 .elementor-element-240af04 .grn-text {
	color: rgba(255, 59, 29, 1) !important;
	-webkit-text-fill-color: rgba(255, 59, 29, 1) !important;
}
/* E-Book: "Learn" and "Resources" stay GREEN (grn-text default) */

/* E-Book centred glows (319ee74, 2bcbfae, 82f4112, a32a2ed) migrated to wsr-mixed
   utility class on 2026-04-22. Side-anchored hero/form glows still page-id-scoped below
   (utility infra doesn't cover side-anchored under wsr-mixed). */

/* E-Book hero — red glow */
body.page-id-2832 .elementor-element-47b5a57 {
	position: relative !important;
}
body.page-id-2832 .elementor-element-47b5a57::after {
	content: "";
	position: absolute;
	right: -200px;
	top: 30%;
	width: 200px; height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	background: rgba(220, 40, 30, 0.40);
	box-shadow: 0 0 600px 500px rgba(220, 15, 18, 0.25),
	            0 0 300px 200px rgba(220, 40, 30, 0.18);
}

/* E-Book download form — red right */
body.page-id-2832 .elementor-element-df37641 {
	position: relative !important;
}
body.page-id-2832 .elementor-element-df37641::after {
	content: "";
	position: absolute;
	right: -200px;
	top: 50%;
	transform: translateY(-50%);
	width: 200px; height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	background: rgba(220, 40, 30, 0.35);
	box-shadow: 0 0 500px 400px rgba(220, 15, 18, 0.20),
	            0 0 250px 180px rgba(220, 40, 30, 0.14);
}

/* Threats page: force sans-serif on bottom sections */
body.page-id-1234 .elementor-element-e7bf9a9,
body.page-id-1234 .elementor-element-e7bf9a9 *,
body.page-id-1234 .elementor-element-de83d17,
body.page-id-1234 .elementor-element-de83d17 * {
	font-family: "Inter Tight", Sans-serif !important;
}

/* ---- RED GLOW PAGES: Threats, Proof/Case Studies ---- */
/* Threats (page 1234) migrated to wsr-red-glow utility class on 2026-04-22.
   Glow rules now sourced from .wsr-glow-host utility (with .wsr-glow-strong / .wsr-glow-right modifiers). */

/* Case Studies / Proof (page 760) migrated to wsr-red-glow utility class on 2026-04-22 */


/* Footer widget titles — ensure proper size, beat all overrides */
footer#site-footer h2,
footer#site-footer .widgettitle,
.site-footer h2.widgettitle,
.site-footer h2 {
	font-size: 1.6rem !important;
	font-weight: 600 !important;
	font-family: "Inter Tight", Sans-serif !important;
	margin-bottom: 15px !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: none !important;
	background-clip: unset !important;
}

/* =============================================
   BACK TO TOP BUTTON
   ============================================= */
.wsr-back-to-top {
	position: fixed;
	bottom: 30px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 60, 20, 0.85);
	border: 2px solid #99fc2e;
	border-radius: 50%;
	color: #99fc2e;
	text-decoration: none;
	z-index: 9999;
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.3s ease;
	pointer-events: none;
}
.wsr-btt-left { left: 30px; }
.wsr-btt-right { right: 30px; }
.wsr-back-to-top.visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.wsr-back-to-top:hover {
	background: #99fc2e;
	color: #0a1e0a;
	box-shadow: 0 0 18px rgba(153, 252, 46, 0.6);
}


/* =============================================
   10. RESPONSIVE (largest breakpoint first)
   ============================================= */

@media screen and (min-width: 1700px) {
	.banner-text h1 { font-size: 3.8rem !important; }
	h2.elementor-heading-title { font-size: 5rem !important; }
	.ai-attacks-section .al-text-div { max-width: 756px; }
}

@media screen and (min-width: 1300px) {
	.site-header .site-navigation ul.menu li a {
		font-size: clamp(1rem, 1.2vw, 1.25rem);
	}
}

@media screen and (max-width: 1290px) {
	.ai-attacks-section .al-text-div { max-width: 420px; }
	.ai-attacks-section .al-text-div h2 { font-size: 42px !important; }
	.ai-attacks-section .al-text-div p { font-size: 15px !important; }
	.right-img-content,
	.left-img-content { gap: 10px !important; }
	.header-img-text h2 { font-size: 2.9rem; }
	.home-banner p { font-size: 1rem !important; }
	.text-style2 {
		width: 100% !important;
		margin: auto !important;
		padding: 0 15px !important;
		font-size: 20px !important;
	}
	.pr-15 { padding-right: 15px !important; }
	.mobile-gap0 > .e-con-inner { gap: 0px !important; }
	.site-header .site-navigation ul.menu li a { font-size: 15px; }
}

@media screen and (max-width: 1199px) {
	.site-navigation-dropdown ul.menu li.current-menu-item a {
		background: var(--e-global-color-secondary);
		background-color: transparent;
		background-image: linear-gradient(180deg, var(--e-global-color-secondary) 0%, var(--e-global-color-fc0c325) 100%);
		border-style: solid;
		border-width: 1px 1px 1px 1px;
		border-color: var(--e-global-color-fc0c325);
	}
	.site-header .site-navigation ul.menu li:last-child a { margin-left: 0; }
	.site-navigation ul.menu li a { display: block; padding: 8px 10px; }
	.ptb-90 { padding-top: 50px !important; padding-bottom: 50px !important; }
	.pb-90 { padding-bottom: 50px !important; }
	.pt-90 { padding-top: 50px !important; }
	.form-gradient-section > div { padding: 15px 0px !important; }
}

@media screen and (max-width: 1025px) {
	.btn-style, .ebtn-style a, .ebtn-style2 a { font-size: 16px !important; }
	body,
	.post-card .post-excerpt,
	.contact-form label { font-size: 1rem !important; }
	.elementor-kit-7 h2:not(.site-footer h2),
	h2:not(.site-footer h2),
	.post-card h3 { font-size: 36px !important; }
	.post-card .add-text { font-size: 22px !important; }
}

@media screen and (max-width: 991px) {
	.filter-bar, .filter-buttons { flex-direction: column; }
	.filter-search #post-search { width: 100%; }
	.ai-attacks-section .al-text-div {
		max-width: 276px;
		padding-bottom: 0px;
	}
	.ai-attacks-section .al-text-div h2 { font-size: 28px !important; }
	.ai-attacks-section .al-text-div p { font-size: 14px !important; margin-bottom: 0; }
	.mobile-mt0 { margin-top: 0px !important; }
	.site-footer { padding-top: 3rem; }
	.red-tabs .e-n-tabs-content h3 { font-size: 2rem !important; }
	.site-footer li { text-align: center; }
	.footer-copyright { flex-direction: column; }
	.footerinfo { text-align: center; }
	ul.footer-logos, ul.footer-socials { justify-content: center; }
	ul#menu-footer-privacy-links {
		justify-content: center;
		flex-direction: column;
		gap: 0;
		margin-top: 10px;
	}
}

@media screen and (max-width: 768px) {
	.circle { max-width: 70%; margin: 0 auto; }
	.post-card { width: 100%; }
	.ai-svg-image svg { width: 100vw; }
	.post-featured-image { border-radius: 20px; margin-top: 40px; }
	.settlement-text { margin-top: 40px; }
	.case-studies-content h3 { margin: 15px 0 10px; font-size: 22px; }
	.certified-content h2 { font-size: 30px; }
	.certified-content p { margin: 10px 0 15px; font-size: 17px; }
	.certified-content { margin-top: 60px; padding: 50px 15px; }
	.related-title { margin: 60px 0 20px; font-size: 30px; }
	.post-img { display: flex !important; height: auto !important; }
	.post-card img { max-height: 100% !important; height: auto !important; }
	.header-img-text h2 { font-size: 24px; }
	.left-img-content > .elementor-element:last-child { order: -1; }
	.home-banner-h1 > .elementor-image-box-wrapper > .elementor-image-box-img {
		float: unset !important;
		width: 62px !important;
		margin-right: 0px !important;
		margin-bottom: 10px !important;
	}
	.red-tabs .e-n-tabs-heading > .e-n-tab-title { min-width: 100% !important; }
	.red-tabs .e-n-tabs-heading { display: flex !important; gap: 0 !important; }
	.red-tabs .tab-content > .elementor-element .elementor-element { padding: 0px !important; }
	.home-banner-h1 h1,
	.elementor-kit-7 h1 { font-size: 30px !important; text-align: center !important; }
	.elementor-kit-7 h2:not(.site-footer h2),
	h2:not(.site-footer h2),
	.post-card h3 { font-size: 30px !important; }
	.post-card .add-text { font-size: 20px !important; }
	.red-tabs .e-n-tabs-content h3,
	.settlement-text, .case-studies-content h2 { font-size: 25px !important; }
	.form-row-6 { flex-basis: 100%; }
	.main-menu-contact.ebtn-style2 a {
		margin: 15px;
		background: linear-gradient(272.73deg, #02D05A 0%, #99FC2E 110.62%) !important;
	}

	/* Trust strip responsive */
	.wsr-trust-badges { gap: 8px; }
	.wsr-trust-badge { padding: 8px 14px; font-size: 0.78rem; }
	.wsr-testimonials-inner { padding: 25px 20px; }
	.wsr-testimonial-quote { font-size: 0.95rem; }
	.wsr-testimonials { min-height: 190px; }
	.wsr-testimonial-bigquote { font-size: 3rem; }
}

@media screen and (max-width: 580px) {
	.ai-attacks-section .al-text-div {
		position: relative !important;
		max-width: 100%;
		order: -1;
		padding-bottom: 30px;
		top: unset;
		left: unset;
		transform: unset;
		z-index: 9;
	}
	.year-broch {
		transform: translateX(-50%);
		right: unset !important;
		left: 50% !important;
	}
}

@media screen and (max-width: 480px) {
	.site-header .header-inner .site-branding .site-logo img { max-width: 130px; }
	.elementor-kit-7 h2:not(.site-footer h2),
	h2:not(.site-footer h2),
	.post-card h3 { font-size: 26px !important; }
	.red-tabs .e-n-tabs-content h3,
	.settlement-text, .case-studies-content h2 { font-size: 22px !important; }

	/* Trust strip responsive */
	.wsr-trust-badges { flex-direction: column; align-items: center; }
	.wsr-trust-badge { width: 100%; max-width: 300px; justify-content: center; }
	.wsr-testimonials { min-height: 240px; }
	.wsr-testimonials-inner::after,
	.wsr-corner-br { display: none; }
}
/* =================================================================
 * SCROLL REVEAL ANIMATIONS
 * Elements animate in as they enter the viewport. Auto-tagged via JS.
 * Respects prefers-reduced-motion.
 * ================================================================= */
.wsr-reveal,
.wsr-reveal-left,
.wsr-reveal-right,
.wsr-reveal-up,
.wsr-reveal-swing,
.wsr-reveal-scale {
	opacity: 0;
	transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
	            transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
	            filter 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: opacity, transform;
}

.wsr-reveal { transform: translateY(40px); }
.wsr-reveal-left { transform: translateX(-80px); }
.wsr-reveal-right { transform: translateX(80px); }
.wsr-reveal-up { transform: translateY(60px); }
.wsr-reveal-swing {
	transform: rotate(-6deg) translateY(30px);
	transform-origin: top center;
}
.wsr-reveal-scale { transform: scale(0.9); }

.wsr-reveal.in-view,
.wsr-reveal-left.in-view,
.wsr-reveal-right.in-view,
.wsr-reveal-up.in-view,
.wsr-reveal-scale.in-view {
	opacity: 1;
	transform: translate(0, 0) scale(1) rotate(0);
}

.wsr-reveal-swing.in-view {
	opacity: 1;
	animation: wsr-swing-in 1s cubic-bezier(0.68, -0.3, 0.27, 1.45) forwards;
}

@keyframes wsr-swing-in {
	0%   { transform: rotate(-6deg) translateY(30px); opacity: 0; }
	40%  { opacity: 1; }
	60%  { transform: rotate(2deg) translateY(-2px); opacity: 1; }
	100% { transform: rotate(0) translateY(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.wsr-reveal,
	.wsr-reveal-left,
	.wsr-reveal-right,
	.wsr-reveal-up,
	.wsr-reveal-swing,
	.wsr-reveal-scale {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* =================================================================
 * HOVER GLOWS — images, CTA buttons, section boxes
 * Subtle on idle, bright on hover. Green brand glow.
 * ================================================================= */
.wsr-section-image,
.elementor-widget-image img {
	transition: filter 0.45s ease, transform 0.45s ease, box-shadow 0.45s ease;
	filter: drop-shadow(0 0 0 rgba(153, 252, 46, 0));
}

.wsr-section-image:hover {
	filter: drop-shadow(0 0 25px rgba(153, 252, 46, 0.4))
	        drop-shadow(0 0 50px rgba(153, 252, 46, 0.25));
	transform: translateY(-4px) scale(1.015);
}

/* Green-gradient-box hover = intensify */
.green-gradient-box {
	transition: box-shadow 0.5s ease, transform 0.4s ease;
}
.green-gradient-box:hover {
	box-shadow: 0 0 40px rgba(2, 208, 90, 0.35),
	            0 0 80px rgba(2, 208, 90, 0.2);
	transform: translateY(-2px);
}
/* =================================================================
 * OVERWATCH — Patching Heartbeat text column (id 44f41602)
 * Left-align right-hand column text + kill any column divider
 * ================================================================= */
.elementor-element-44f41602 {
	border-left: none !important;
	border-right: none !important;
	box-shadow: none !important;
}
.elementor-element-44f41602 .elementor-widget-text-editor p {
	text-align: left !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
}
.elementor-element-44f41602 .elementor-widget-heading .elementor-heading-title {
	text-align: left !important;
}
/* Kill any Elementor ::before/::after red divider between 2-col sections */
.wsr-2col-row::before,
.wsr-2col-row::after,
.wsr-text-col::before,
.wsr-text-col::after {
	display: none !important;
}

/* =================================================================
 * HONEST POSITIONING footer — follow brand, no aggressive line
 * Appears in 8 inline divs across Overwatch sections. The inline
 * style uses border-top:1px solid rgba(153,252,46,0.2). We keep the
 * subtle separator but align the block to brand spacing + typography.
 * ================================================================= */
.honest-positioning,
div[style*="HONEST POSITIONING"],
p:has(+ div[style*="HONEST POSITIONING"]) + div[style*="HONEST POSITIONING"] {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	color: #aaa !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: clamp(13px, 1.1vw, 15px) !important;
	line-height: 1.6 !important;
	letter-spacing: 0.02em !important;
	border-top: 1px solid rgba(153, 252, 46, 0.12) !important;
	padding-top: clamp(24px, 2.5vw, 36px) !important;
	margin-top: clamp(40px, 4vw, 64px) !important;
}
.honest-positioning strong,
.honest-positioning .label {
	color: #99FC2E !important;
	text-transform: uppercase !important;
	letter-spacing: 0.15em !important;
	font-weight: 600 !important;
	font-size: 0.82em !important;
	display: block !important;
	margin-bottom: 8px !important;
}


/* ================================================================
 * MIGRATED FROM wsr-custom/trust-strip.css — 20260421-234621
 * ================================================================ */
/**
 * WSR Custom — Trust Strip Styles
 * Homepage only. Injected after the hero via JS.
 */

/* =============================================
   TRUST STRIP CONTAINER
   ============================================= */

.wsr-trust-strip {
	max-width: 92%;
	margin-left: calc(3% - 20px);
	padding: 0 0 40px;
	margin-top: -90px;
	position: relative;
	z-index: 10;
	overflow: visible;
}

/* Green glow from left */
.wsr-trust-strip::before {
	content: "";
	position: absolute;
	left: -400px;
	top: -150px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	background: transparent;
	box-shadow:
		0 0 600px 500px rgba(15, 150, 30, 0.25),
		0 0 300px 250px rgba(20, 200, 40, 0.18);
}

.wsr-trust-strip h2 {
	font-size: 0.85rem !important;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6) !important;
	font-weight: 400 !important;
	color: rgba(153, 252, 46, 0.4) !important;
	margin: 0 0 16px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3em !important;
	font-family: "Inter Tight", Sans-serif !important;
	line-height: 1.2 !important;
	-webkit-text-fill-color: rgba(153, 252, 46, 0.4) !important;
	background: none !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.wsr-trust-strip h2::before {
	content: "" !important;
	width: 40px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(153, 252, 46, 0.3)) !important;
	flex-shrink: 0 !important;
}
.wsr-trust-strip h2::after {
	content: "" !important;
	width: 40px !important;
	height: 1px !important;
	background: linear-gradient(90deg, rgba(153, 252, 46, 0.3), transparent) !important;
	flex-shrink: 0 !important;
}


/* =============================================
   TRUST BADGES
   ============================================= */

.wsr-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 100%;
	justify-content: flex-start;
	margin-bottom: 32px;
}

.wsr-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border-radius: 50px;
	background: #000;
	border: 1px solid rgba(153, 252, 46, 0.25);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 500;
	white-space: nowrap;
}

.wsr-badge em {
	color: #99FC2E;
	font-style: normal;
	font-weight: 700;
}

.wsr-badge.wsr-visible {
	animation: wsrBadgePop 0.5s ease forwards;
}

.wsr-badge .wsr-badge-icon {
	font-size: 1.1rem;
	line-height: 1;
}

.wsr-badge.wsr-visible .wsr-badge-icon {
	animation: wsrIconBounce 0.6s ease 0.3s both;
}


/* =============================================
   TESTIMONIAL CAROUSEL
   ============================================= */

.wsr-testimonials {
	width: 50%;
	position: relative;
	min-height: 160px;
	overflow: hidden;
}

.wsr-testimonial {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	filter: blur(8px);
	transform: translateY(12px);
	transition: opacity 0.8s ease, filter 0.8s ease, transform 0.8s ease;
	pointer-events: none;
}

.wsr-testimonial.wsr-active {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
	pointer-events: auto;
}

.wsr-quote {
	color: #fff;
	font-size: 1.2rem;
	font-style: italic;
	line-height: 1.6;
	margin: 0 0 12px;
	text-shadow: 0 0 20px rgba(2, 208, 90, 0.15);
}

.wsr-quote::before {
	content: "\201C";
	font-size: 2rem;
	color: #99FC2E;
	margin-right: 4px;
	vertical-align: -0.15em;
}

.wsr-author {
	color: #99FC2E;
	font-weight: 700;
	font-size: 0.95rem;
}

.wsr-author .wsr-star {
	text-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}


/* =============================================
   ENTRY ANIMATIONS (keyframes)
   ============================================= */

@keyframes wsrBadgePop {
	0%   { transform: translateY(16px) scale(0.92); opacity: 0; }
	60%  { transform: translateY(-4px) scale(1.04); opacity: 1; }
	100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes wsrIconBounce {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35); }
	70%  { transform: scale(0.9); }
	100% { transform: scale(1); }
}

@keyframes wsrFadeUp {
	0%   { opacity: 0; transform: translateY(20px); }
	100% { opacity: 1; transform: translateY(0); }
}


/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 768px) {
	.wsr-trust-strip {
		max-width: 92%;
		margin-left: 4%;
		padding: 40px 0 30px;
	}
	.wsr-trust-badges {
		max-width: 100%;
	}
	.wsr-testimonials {
		width: 100%;
	}
	.wsr-badge {
		font-size: 0.78rem;
		padding: 6px 14px;
	}
	.wsr-quote {
		font-size: 1.05rem;
	}
}

@media (max-width: 480px) {
	.wsr-trust-strip {
		max-width: 95%;
		margin-left: 2.5%;
		padding: 30px 0 20px;
	}
	.wsr-trust-strip h2 {
		font-size: 1.3rem;
	}
	.wsr-badge {
		font-size: 0.72rem;
		padding: 5px 12px;
		gap: 6px;
	}
	.wsr-testimonials {
		min-height: 180px;
	}
	.wsr-quote {
		font-size: 0.95rem;
	}
}


/* ==========================================================================
   Ported from mu-plugin sunburst-persistent-code on 2026-04-22
   Source: MERGE-PLAN-2026-04-22.md  (live-snapshot-1776835914)
   Includes: 78 unique global selectors from overrides.css + 1 page-1234
   selector (Threats) + 2 @keyframes (wsrBadgePop, wsrIconBounce) ported
   from mu-plugin (CONFLICT — mu-plugin wins on every page where it loads).
   trust-strip.css contributes 0 unique rules (29 dups already in child theme).
   wsr-id-targeted.css and wsr-anim-v2.css are DEAD — not ported.
   2026-04-22: All body.page-id-3973 selectors stripped from this file at
   Dave's request — Overwatch (3973) now uses Elementor Page Settings →
   Custom CSS for any page-specific styling, not global overrides.
   ========================================================================== */

/* --- Keyframes (CONFLICT-resolved: mu-plugin wins) --- */
/* ==========================================================================
   Ported from mu-plugin sunburst-persistent-code on 2026-04-22
   Source: MERGE-PLAN-2026-04-22.md  (live-snapshot-1776835914)
   Includes: 78 unique global selectors from overrides.css + 1 page-1234
   selector (Threats) + 2 @keyframes (wsrBadgePop {
	0%   { opacity: 0; transform: translateY(15px) scale(0.95); }
	70%  { transform: translateY(-3px) scale(1.02); }
	100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes wsrIconBounce {
	0%   { transform: scale(0); }
	60%  { transform: scale(1.3); }
	100% { transform: scale(1); }
}

@keyframes wsr-sticky-cta-pulse {
	0%, 100% { box-shadow: 0 0 0 1px rgba(153, 252, 46, 0.4), 0 0 30px rgba(153, 252, 46, 0.5), 0 0 60px rgba(153, 252, 46, 0.25), 0 8px 24px rgba(0, 0, 0, 0.35); }
	50%      { box-shadow: 0 0 0 1px rgba(153, 252, 46, 0.7), 0 0 45px rgba(153, 252, 46, 0.7), 0 0 90px rgba(153, 252, 46, 0.4),  0 8px 24px rgba(0, 0, 0, 0.4);  }
}

@keyframes wsr-sticky-cta-dot {
	0%, 100% { transform: scale(1); opacity: 0.6; }
	50%      { transform: scale(1.2); opacity: 1; }
}

@keyframes wsr-dispatches-pulse {
	0%, 100% { opacity: 0.85; }
	50%      { opacity: 1; filter: brightness(1.3); }
}

@keyframes wsr-pipeline-flow {
	0%   { left: 4%;  opacity: 0; }
	8%   { opacity: 1; }
	92%  { opacity: 1; }
	100% { left: calc(96% - 40px); opacity: 0; }
}

@keyframes wsr-trace-rotate {
	to { transform: rotate(1turn); }
}

@keyframes wsr-diode-pulse {
	0%, 100% { opacity: 0.4; transform: scale(0.85); }
	50%      { opacity: 1;   transform: scale(1.1); }
}

@keyframes wsr-anim-swing-in {
	0%   { transform: rotate(-4deg) translateY(40px); opacity: 0; }
	40%  { opacity: 1; }
	60%  { transform: rotate(1.5deg) translateY(-2px); opacity: 1; }
	100% { transform: rotate(0) translateY(0); opacity: 1; }
}

@keyframes wsr-anim-fallback {
	to { opacity: 1; transform: none; }
}


/* --- CTA components (.wsr-section-cta*, .wsr-sticky-cta*) --- */
.wsr-section-cta-wrap {
	display: flex !important;
	justify-content: center !important;
	margin-top: clamp(32px, 3.5vw, 56px) !important;
	margin-bottom: clamp(16px, 2vw, 32px) !important;
	position: relative !important;
	z-index: 3 !important;
}

.wsr-section-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 15px 30px !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: 0.01em !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, color 0.3s ease !important;
	white-space: nowrap !important;
}

.wsr-section-cta svg { flex-shrink: 0; transition: transform 0.3s ease; }

.wsr-section-cta:hover svg { transform: translateX(4px); }

.wsr-section-cta--scan {
	background: linear-gradient(135deg, rgba(153, 252, 46, 1) 0%, rgba(2, 208, 90, 1) 100%) !important;
	color: #0a0a0a !important;
	box-shadow:
		0 0 0 1px rgba(153, 252, 46, 0.4),
		0 0 24px rgba(153, 252, 46, 0.35),
		0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

.wsr-section-cta--scan:hover {
	transform: translateY(-2px) scale(1.03) !important;
	box-shadow:
		0 0 0 1px rgba(153, 252, 46, 0.7),
		0 0 40px rgba(153, 252, 46, 0.6),
		0 0 80px rgba(153, 252, 46, 0.3),
		0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.wsr-section-cta--signup {
	background: rgba(153, 252, 46, 0.08) !important;
	color: #99FC2E !important;
	border: 1.5px solid rgba(153, 252, 46, 0.6) !important;
	box-shadow: 0 0 20px rgba(153, 252, 46, 0.15) !important;
}

.wsr-section-cta--signup:hover {
	background: rgba(153, 252, 46, 0.18) !important;
	color: #ccff6a !important;
	border-color: rgba(153, 252, 46, 1) !important;
	transform: translateY(-2px) !important;
	box-shadow:
		0 0 30px rgba(153, 252, 46, 0.35),
		0 6px 20px rgba(0, 0, 0, 0.3) !important;
}

.wsr-section-cta--learn {
	background: transparent !important;
	color: rgba(255, 255, 255, 0.85) !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.wsr-section-cta--learn:hover {
	background: rgba(255, 255, 255, 0.05) !important;
	color: #ffffff !important;
	border-color: rgba(153, 252, 46, 0.5) !important;
	transform: translateY(-2px) !important;
}

.wsr-sticky-cta {
	position: fixed !important;
	bottom: clamp(20px, 3vw, 36px) !important;
	right: clamp(20px, 3vw, 36px) !important;
	z-index: 9999 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 16px 28px !important;
	background: linear-gradient(135deg, rgba(153, 252, 46, 1) 0%, rgba(2, 208, 90, 1) 100%) !important;
	color: #0a0a0a !important;
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: 0.01em !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	box-shadow:
		0 0 0 1px rgba(153, 252, 46, 0.4),
		0 0 30px rgba(153, 252, 46, 0.5),
		0 0 60px rgba(153, 252, 46, 0.25),
		0 8px 24px rgba(0, 0, 0, 0.35) !important;
	cursor: pointer !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
	animation: wsr-sticky-cta-pulse 2.4s ease-in-out infinite !important;
}

.wsr-sticky-cta:hover {
	transform: translateY(-3px) scale(1.04) !important;
	box-shadow:
		0 0 0 2px rgba(153, 252, 46, 0.7),
		0 0 50px rgba(153, 252, 46, 0.8),
		0 0 100px rgba(153, 252, 46, 0.45),
		0 12px 30px rgba(0, 0, 0, 0.4) !important;
	animation-play-state: paused !important;
}

.wsr-sticky-cta::before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #0a0a0a;
	box-shadow: 0 0 0 3px rgba(10, 10, 10, 0.3);
	animation: wsr-sticky-cta-dot 1.4s ease-in-out infinite;
}

@media (max-width: 480px) {
	.wsr-sticky-cta {
		padding: 12px 18px !important;
		font-size: 13px !important;
		bottom: 12px !important;
		right: 12px !important;
	}
	.wsr-sticky-cta::before {
		width: 8px;
		height: 8px;
	}
}


/* --- Animation utilities (.wsr-anim*, body.wsr-anim-ready *) --- */
body.wsr-anim-ready .wsr-anim {
	transition:
		opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
		filter 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: var(--wsr-delay, 0ms);
	will-change: opacity, transform;
}

body.wsr-anim-ready .wsr-anim-up:not(.wsr-in)    { opacity: 0; transform: translateY(60px); }

body.wsr-anim-ready .wsr-anim-down:not(.wsr-in)  { opacity: 0; transform: translateY(-60px); }

body.wsr-anim-ready .wsr-anim-left:not(.wsr-in)  { opacity: 0; transform: translateX(-80px); }

body.wsr-anim-ready .wsr-anim-right:not(.wsr-in) { opacity: 0; transform: translateX(80px); }

body.wsr-anim-ready .wsr-anim-scale:not(.wsr-in) { opacity: 0; transform: scale(0.9); }

body.wsr-anim-ready .wsr-anim-swing:not(.wsr-in) {
	opacity: 0;
	transform: rotate(-4deg) translateY(40px);
	transform-origin: top center;
}

body.wsr-anim-ready .wsr-anim-scale.wsr-in {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

body.wsr-anim-ready .wsr-anim-swing.wsr-in {
	opacity: 1;
	animation: wsr-anim-swing-in 0.95s cubic-bezier(0.68, -0.3, 0.27, 1.45) forwards;
}

body:not(.wsr-anim-ready) .wsr-anim-swing {
	animation: wsr-anim-fallback 0.01s linear 4s forwards;
}

@media (prefers-reduced-motion: reduce) {
	body.wsr-anim-ready .wsr-anim,
	body.wsr-anim-ready .wsr-anim-up,
	body.wsr-anim-ready .wsr-anim-left,
	body.wsr-anim-ready .wsr-anim-right,
	body.wsr-anim-ready .wsr-anim-scale,
	body.wsr-anim-ready .wsr-anim-swing {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}
}


/* --- Elementor heading overrides --- */
h2.elementor-heading-title {
	font-family: 'alfabet-light', 'Alfabet', sans-serif !important;
	font-weight: 400 !important;
	font-size: 3.8rem !important;
	line-height: 1.15 !important;
	letter-spacing: -0.005em !important;
}

@media (max-width: 768px) {
	h2,
	.elementor-heading-title,
	h2.elementor-heading-title {
		font-size: 2.2rem !important;
	}
}


/* --- Page-1234 (Threats) overrides --- */
body.page-id-1234 .e-con.e-child:has(img):hover {
	transform: translateY(-6px) scale(1.025) !important;
	box-shadow:
		0 0 0 1px rgba(255, 59, 29, 0.45),
		0 0 60px rgba(255, 59, 29, 0.5),
		0 0 120px rgba(218, 24, 27, 0.3),
		0 20px 60px rgba(0, 0, 0, 0.5) !important;
	z-index: 2 !important;
}
.green-gradient-box:has(img):hover {
	transform: translateY(-6px) scale(1.025) !important;
	box-shadow:
		0 0 0 1px rgba(153, 252, 46, 0.4),
		0 0 60px rgba(153, 252, 46, 0.45),
		0 0 120px rgba(153, 252, 46, 0.28),
		0 20px 60px rgba(0, 0, 0, 0.4) !important;
	z-index: 2 !important;
}
@supports not selector(:has(*)) {
	.elementor-widget-image,
	.wsr-section-box {
		transition: transform 0.4s, box-shadow 0.4s;
	}
	.elementor-widget-image:hover,
	.wsr-section-box:hover {
		transform: scale(1.02);
		box-shadow: 0 0 40px rgba(153, 252, 46, 0.3);
	}
}

/* ==========================================================================
   WSR UTILITY BODY CLASSES — added 2026-04-22
   Source spec: REPEAT-REPORT-2026-04-22.md sections 1–2
   These classes are DEFINED here but not yet ASSIGNED to any page.
   Phase 2 Step 3b+ assigns them via Elementor → Page Settings → Body Class
   (one page at a time with visual-diff verification).
   ========================================================================== */

/* --------------------------------------------------------------------------
   .wsr-glow-host — universal positioning marker
   Add this Elementor class to any section that should host a glow ::before.
   Replaces 24 separate `body.page-id-X .elementor-element-Y { position:relative }`
   declarations (REPEAT-REPORT Group G, ~70 line saving).
   -------------------------------------------------------------------------- */
.wsr-glow-host {
	position: relative !important;
}

/* --------------------------------------------------------------------------
   GREEN GLOW — body.wsr-green-glow
   Future assignment: About (2558), Pricing (2910), Certificate (1389 base),
   Overwatch (3973). Hero sections get green-strong (Group A: 0.45 alpha,
   600px spread); CTA sections get green-medium (Group B: 0.35 alpha, 500px).
   Differentiator is the section wrapper class .wsr-hero-section vs
   .wsr-cta-section. Default = medium (safest if neither wrapper is present).
   -------------------------------------------------------------------------- */
body.wsr-green-glow .wsr-glow-host::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	/* Default = green-medium (CTA-grade) — Group B */
	background: rgba(20, 200, 40, 0.35);
	box-shadow:
		0 0 500px 400px rgba(15, 150, 30, 0.22),
		0 0 250px 180px rgba(20, 200, 40, 0.16);
	/* Default position = left side */
	left: -200px;
	top: 30%;
}

/* Hero-grade green (Group A) — stronger 600px spread, 0.45 alpha */
body.wsr-green-glow .wsr-hero-section .wsr-glow-host::before,
body.wsr-green-glow .wsr-glow-host.wsr-glow-strong::before {
	background: rgba(20, 200, 40, 0.45);
	box-shadow:
		0 0 600px 500px rgba(15, 150, 30, 0.30),
		0 0 300px 200px rgba(20, 200, 40, 0.22);
}

/* CTA-grade green (Group B) — explicit medium when wrapper alone isn't enough */
body.wsr-green-glow .wsr-cta-section .wsr-glow-host::before,
body.wsr-green-glow .wsr-glow-host.wsr-glow-medium::before {
	background: rgba(20, 200, 40, 0.35);
	box-shadow:
		0 0 500px 400px rgba(15, 150, 30, 0.22),
		0 0 250px 180px rgba(20, 200, 40, 0.16);
}

/* Side modifiers — left (default) and right */
body.wsr-green-glow .wsr-glow-host.wsr-glow-right::before {
	left: auto;
	right: -200px;
	top: 50%;
	transform: translateY(-50%);
}
body.wsr-green-glow .wsr-glow-host.wsr-glow-left::before {
	right: auto;
	left: -200px;
	top: 30%;
	transform: none;
}

/* --------------------------------------------------------------------------
   RED GLOW — body.wsr-red-glow
   Future assignment: Threats (1234), Case Studies (760).
   Hero sections = red-strong (Group C: 0.40 alpha, 600px); CTA = red-medium
   (Group D: 0.35 alpha, 500px). Same structural pattern as green.
   -------------------------------------------------------------------------- */
body.wsr-red-glow .wsr-glow-host::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	/* Default = red-medium (CTA-grade) — Group D */
	background: rgba(220, 40, 30, 0.35);
	box-shadow:
		0 0 500px 400px rgba(220, 15, 18, 0.20),
		0 0 250px 180px rgba(220, 40, 30, 0.14);
	left: -200px;
	top: 30%;
}

/* Hero-grade red (Group C) — 0.40 alpha, 600px spread */
body.wsr-red-glow .wsr-hero-section .wsr-glow-host::before,
body.wsr-red-glow .wsr-glow-host.wsr-glow-strong::before {
	background: rgba(220, 40, 30, 0.40);
	box-shadow:
		0 0 600px 500px rgba(220, 15, 18, 0.25),
		0 0 300px 200px rgba(220, 40, 30, 0.18);
}

/* CTA-grade red (Group D) — explicit medium */
body.wsr-red-glow .wsr-cta-section .wsr-glow-host::before,
body.wsr-red-glow .wsr-glow-host.wsr-glow-medium::before {
	background: rgba(220, 40, 30, 0.35);
	box-shadow:
		0 0 500px 400px rgba(220, 15, 18, 0.20),
		0 0 250px 180px rgba(220, 40, 30, 0.14);
}

/* Side modifiers for red */
body.wsr-red-glow .wsr-glow-host.wsr-glow-right::before {
	left: auto;
	right: -200px;
	top: 50%;
	transform: translateY(-50%);
}
body.wsr-red-glow .wsr-glow-host.wsr-glow-left::before {
	right: auto;
	left: -200px;
	top: 30%;
	transform: none;
}

/* --------------------------------------------------------------------------
   WARN GLOW — body.wsr-green-glow .wsr-warn-glow
   Per REPEAT-REPORT Section 2: Certificate (1389) needs hybrid — green base
   with 3 sections opting in to a red warning glow via an Elementor section
   class. Self-contained so it works WITHOUT body.wsr-red-glow.
   -------------------------------------------------------------------------- */
.wsr-warn-glow.wsr-glow-host::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	background: rgba(220, 40, 30, 0.35);
	box-shadow:
		0 0 500px 400px rgba(220, 15, 18, 0.20),
		0 0 250px 180px rgba(220, 40, 30, 0.14);
	left: -200px;
	top: 30%;
}
.wsr-warn-glow.wsr-glow-host.wsr-glow-right::before {
	left: auto;
	right: -200px;
	top: 50%;
	transform: translateY(-50%);
}

/* --------------------------------------------------------------------------
   MIXED / E-BOOK GLOWS — body.wsr-mixed
   Per REPEAT-REPORT Group F: E-Book (2832) uses CENTRED glows
   (left:50%; top:50%; transform:translate(-50%,-50%)) — distinct from the
   side-anchored A–D recipes. Pick green or red via section class.
   -------------------------------------------------------------------------- */
body.wsr-mixed .wsr-glow-host.wsr-glow-centered-green::before,
body.wsr-mixed .wsr-glow-host.wsr-glow-centered-red::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

body.wsr-mixed .wsr-glow-host.wsr-glow-centered-green::before {
	background: rgba(20, 200, 40, 0.40);
	box-shadow:
		0 0 600px 500px rgba(15, 150, 30, 0.28),
		0 0 300px 200px rgba(20, 200, 40, 0.20);
}

body.wsr-mixed .wsr-glow-host.wsr-glow-centered-red::before {
	background: rgba(220, 40, 30, 0.40);
	box-shadow:
		0 0 600px 500px rgba(220, 15, 18, 0.25),
		0 0 300px 200px rgba(220, 40, 30, 0.18);
}

/* End WSR utility body classes — 2026-04-22 */

/* ==========================================================================
   WSR Component — title-centered (added 2026-04-22)
   Reusable centered hero title with green-accent keyword.
   Apply class .wsr-comp-title-centered to the section/container holding the H1.
   Source: Overwatch (3973) widget 91d35a8b. Component post ID: 4222.
   ========================================================================== */
.wsr-comp-title-centered {
	text-align: center;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(48px, 5vw, 80px) 24px clamp(24px, 3vw, 40px);
}
.wsr-comp-title-centered .elementor-heading-title {
	font-family: 'Alfabet', sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 700;
	line-height: 1.15;
	color: #ffffff;
	letter-spacing: -0.01em;
}
.wsr-comp-title-centered .elementor-heading-title span {
	color: #99FC2E;
}
/* End WSR Component — title-centered */

/* ==========================================================================
   WSR Component — honest-positioning-centered (added 2026-04-22)
   Bottom green-line tagline + body. Self-contained, no body-class deps.
   The existing .honest-positioning block (line ~2245) stays untouched.
   ========================================================================== */
.wsr-comp-honest-pos {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding: clamp(40px, 4vw, 64px) 24px;
	border-top: 1px solid rgba(153, 252, 46, 0.15);
}
.wsr-comp-honest-pos-label {
	color: #99FC2E;
	font-family: 'Alfabet', sans-serif;
	font-size: clamp(13px, 1vw, 15px);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 16px;
}
.wsr-comp-honest-pos-body {
	color: rgba(255, 255, 255, 0.72);
	font-family: 'Inter Tight', sans-serif;
	font-size: clamp(18px, 1.6vw, 24px);
	line-height: 1.55;
	text-align: center;
}
/* End WSR Component — honest-positioning-centered */


/* ==========================================================================
   WSR Component — title-paragraph-centered (added 2026-04-22)
   ========================================================================== */
.wsr-comp-title-para-centered {
  text-align: center;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(48px, 5vw, 80px) 24px clamp(32px, 3vw, 48px);
}
.wsr-comp-title-para-centered .elementor-heading-title {
  font-family: 'Alfabet', sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
  letter-spacing: -0.01em;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.wsr-comp-title-para-centered .elementor-heading-title span {
  color: #99FC2E;
}
.wsr-comp-title-para-centered .ow-intro-block,
.wsr-comp-title-para-centered .elementor-widget-text-editor {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.wsr-comp-title-para-centered p.ow-intro,
.wsr-comp-title-para-centered .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.75);
  font-family: 'Inter Tight', sans-serif;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.7;
  text-align: center;
  margin-bottom: 1.2em;
}
/* End WSR Component — title-paragraph-centered */


/* ==========================================================================
   WSR Component — right-side-green-section-text (added 2026-04-22)
   RIGHT column of a 2-col layout. Image side flex-fits content height.
   Apply .wsr-comp-pipeline-col to the right column container.
   Apply .wsr-comp-pipeline-image-col to the LEFT column when using.
   ========================================================================== */
.wsr-comp-pipeline-col {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: clamp(24px, 3vw, 48px) clamp(16px, 2vw, 32px);
}
.wsr-comp-pipeline-title {
	color: #99FC2E;
	font-family: 'Alfabet', sans-serif;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 700;
	text-align: left;
	margin-bottom: 20px;
	line-height: 1.2;
}
.wsr-comp-pipeline-label {
	color: #99FC2E;
	font-family: 'Inter Tight', sans-serif;
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 700;
	text-align: left;
	margin-top: 14px;
	margin-bottom: 2px;
}
.wsr-comp-pipeline-body {
	color: #cccccc;
	font-family: 'Inter Tight', sans-serif;
	font-size: clamp(14px, 1vw, 16px);
	text-align: left;
	margin-bottom: 8px;
	line-height: 1.55;
}
.wsr-comp-pipeline-cta-row {
	margin-top: 28px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
/* Image col side — flex to content height, not fixed */
.wsr-comp-pipeline-image-col {
	display: flex;
	align-items: stretch;
}
.wsr-comp-pipeline-image-col img,
.wsr-comp-pipeline-image-col .elementor-widget-image,
.wsr-comp-pipeline-image-col .elementor-widget-container {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* End WSR Component — right-side-green-section-text */

/* ==========================================================================
   WSR Feature Grid + Card — separately animatable Elementor containers
   added 2026-04-22 — Overwatch flex-rebuild
   ========================================================================== */
.wsr-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(14px, 1.5vw, 24px);
    max-width: 100%;
    margin: clamp(40px, 4vw, 70px) auto 0;
}
@media (max-width: 1024px) { .wsr-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .wsr-feature-grid { grid-template-columns: 1fr; } }

.wsr-feature-card {
    padding: clamp(22px, 2vw, 32px) !important;
    background: linear-gradient(145deg, rgba(18,18,18,0.6), rgba(10,10,10,0.8)) !important;
    border: 1px solid rgba(153, 252, 46, 0.22) !important;
    border-radius: 14px !important;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.wsr-feature-card:hover {
    transform: translateY(-2px);
    border-color: rgba(153, 252, 46, 0.55) !important;
    box-shadow: 0 8px 28px rgba(153, 252, 46, 0.10);
}
.wsr-feature-card .elementor-heading-title {
    color: #ffffff !important;
    font-size: clamp(17px, 1.4vw, 20px) !important;
    font-weight: 700 !important;
    font-family: Poppins, sans-serif !important;
    margin: 0 !important;
    line-height: 1.3;
}
.wsr-feature-card .elementor-heading-title::before {
    content: "✓ ";
    color: #99FC2E;
    font-weight: 700;
}
.wsr-feature-card .elementor-widget-text-editor p {
    color: #cccccc !important;
    font-size: clamp(14px, 1.15vw, 16px) !important;
    line-height: 1.55;
    margin: 0 !important;
    font-family: Poppins, sans-serif !important;
}

/* ================================================================
 * HOME PAGE COMPONENTS — 2026-04-22
 * Component library page additions (draft /wsr-component-library/)
 * green-cta, button-pair, hero-wash, attack-boxes, attack-card,
 * stat-card, pricing-tier, testimonial-card, numbered-step, icon-card
 * ================================================================ */

/* --- green-cta --- */
.wsr-comp-green-cta {
    text-align: center;
    padding: 80px 40px;
    background: linear-gradient(144.16deg, rgba(28,28,28,0.1) 6.82%, rgba(2,208,90,0.45) 85.86%);
    border: 2px solid rgba(153,252,46,0.5);
    backdrop-filter: blur(150px);
    border-radius: 40px;
    overflow: hidden;
    transition: box-shadow 0.5s ease, transform 0.4s ease;
}
.wsr-comp-green-cta:hover {
    box-shadow: 0 0 40px rgba(2,208,90,0.35), 0 0 80px rgba(2,208,90,0.2);
    transform: translateY(-2px);
}
.wsr-comp-green-cta p { margin: 22px 0 35px; font-family: "Helvetica", Sans-serif !important; }
.wsr-comp-green-cta h2 { margin: 0; }
@media (max-width: 768px) {
    .wsr-comp-green-cta { padding: 50px 24px; border-radius: 24px; }
}

/* --- button-pair --- */
.wsr-comp-button-pair {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: center;
}
@media (max-width: 480px) {
    .wsr-comp-button-pair { flex-direction: column; align-items: stretch; }
    .wsr-comp-button-pair .ebtn-style a,
    .wsr-comp-button-pair .ebtn-style2 a { width: 100%; text-align: center; }
}

/* --- hero-wash (orange-red glow self-contained) --- */
.wsr-comp-hero-wash {
    position: relative;
    overflow: hidden;
    min-height: 85vh;
}
.wsr-comp-hero-wash::before {
    content: "";
    position: absolute;
    top: -200px;
    right: -300px;
    width: 900px;
    height: 900px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    background: transparent;
    box-shadow:
        0 0 600px 400px rgba(219,60,26,0.35),
        0 0 300px 200px rgba(255,80,30,0.25);
}
.wsr-comp-hero-wash > .e-con-inner { position: relative; z-index: 1; }
@media (max-width: 768px) {
    .wsr-comp-hero-wash { min-height: 70vh; }
    .wsr-comp-hero-wash::before { width: 500px; height: 500px; right: -150px; top: -100px; }
}

/* --- attack-boxes + attack-card (replaces .al-box-wrap > .elementor-element) --- */
.wsr-comp-attack-boxes {
    position: relative;
    overflow: visible;
}
.wsr-comp-attack-boxes::before {
    content: "";
    position: absolute;
    left: -900px; top: 200px;
    width: 900px; height: 900px;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
    background: transparent;
    box-shadow:
        0 0 600px 400px rgba(218,24,27,0.25),
        0 0 300px 200px rgba(255,59,29,0.18);
}
.wsr-comp-attack-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}
.wsr-attack-card {
    background: linear-gradient(103.84deg, rgba(0,0,0,0.15) 6.18%, rgba(218,24,27,0.2) 97.68%);
    backdrop-filter: blur(50px);
    border: 2px solid rgba(200,16,19,0.5);
    border-radius: 12px;
    padding: 24px;
    transition: background 0.3s ease-out;
    overflow: hidden;
    position: relative;
}
.wsr-attack-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(103.84deg, rgba(0,0,0,0.15) 6.18%, rgba(218,24,27,0.67) 97.68%);
    opacity: 0;
    z-index: 0;
    transition: opacity 0.3s ease-out;
}
.wsr-attack-card:hover::before { opacity: 1; }
.wsr-attack-card h3 {
    color: rgba(255,59,29,1) !important;
    -webkit-text-fill-color: rgba(255,59,29,1) !important;
    position: relative; z-index: 1;
}
.wsr-attack-card > * { position: relative; z-index: 1; }
@media (max-width: 1024px) { .wsr-comp-attack-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px)  { .wsr-comp-attack-grid { grid-template-columns: 1fr; } }

/* --- stat-card (large number + label + description) --- */
.wsr-comp-stat-card {
    text-align: center;
    padding: 40px 28px;
    background: linear-gradient(145deg, rgba(18,18,18,0.6), rgba(10,10,10,0.8));
    border: 1px solid rgba(153,252,46,0.25);
    border-radius: 18px;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.wsr-comp-stat-card:hover {
    transform: translateY(-3px);
    border-color: rgba(153,252,46,0.6);
    box-shadow: 0 10px 30px rgba(153,252,46,0.15);
}
.wsr-comp-stat-card .wsr-stat-number {
    font-family: Poppins, sans-serif !important;
    font-size: clamp(42px, 5vw, 72px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    background: linear-gradient(135deg, #99FC2E 0%, #02D05A 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 0 8px !important;
}
.wsr-comp-stat-card .wsr-stat-label {
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #99FC2E !important;
    margin: 0 0 14px !important;
}
.wsr-comp-stat-card .wsr-stat-desc {
    color: #cccccc;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

/* --- pricing-tier --- */
.wsr-comp-pricing-tier {
    padding: 40px 32px;
    background: linear-gradient(145deg, rgba(18,18,18,0.7), rgba(8,8,8,0.9));
    border: 2px solid rgba(153,252,46,0.3);
    border-radius: 20px;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}
.wsr-comp-pricing-tier:hover {
    transform: translateY(-4px);
    border-color: rgba(153,252,46,0.7);
    box-shadow: 0 14px 40px rgba(2,208,90,0.18);
}
.wsr-comp-pricing-tier.featured {
    border-color: #99FC2E;
    box-shadow: 0 0 0 1px #99FC2E, 0 14px 40px rgba(2,208,90,0.25);
}
.wsr-comp-pricing-tier .wsr-tier-name {
    font-family: Poppins, sans-serif !important;
    font-size: 18px !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #99FC2E !important;
    margin: 0 0 10px !important;
}
.wsr-comp-pricing-tier .wsr-tier-price {
    font-family: Poppins, sans-serif !important;
    font-size: clamp(38px, 4.5vw, 56px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 4px !important;
    line-height: 1;
}
.wsr-comp-pricing-tier .wsr-tier-period {
    color: #888;
    font-size: 14px;
    margin: 0 0 24px;
}
.wsr-comp-pricing-tier .wsr-tier-features {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    text-align: left;
}
.wsr-comp-pricing-tier .wsr-tier-features li {
    color: #cccccc;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-size: 15px;
}
.wsr-comp-pricing-tier .wsr-tier-features li::before {
    content: "✓ ";
    color: #99FC2E;
    font-weight: 700;
}

/* --- testimonial-card --- */
.wsr-comp-testimonial-card {
    padding: 32px;
    background: linear-gradient(145deg, rgba(20,20,20,0.7), rgba(10,10,10,0.85));
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.wsr-comp-testimonial-card:hover {
    border-color: rgba(153,252,46,0.35);
    transform: translateY(-2px);
}
.wsr-comp-testimonial-card .wsr-quote {
    font-family: Poppins, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #e8e8e8;
    margin: 0 0 22px;
    font-style: italic;
    position: relative;
    padding-left: 28px;
}
.wsr-comp-testimonial-card .wsr-quote::before {
    content: """;
    position: absolute;
    left: 0; top: -10px;
    font-size: 48px;
    color: #99FC2E;
    line-height: 1;
    font-family: Georgia, serif;
}
.wsr-comp-testimonial-card .wsr-stars {
    color: #99FC2E;
    font-size: 16px;
    letter-spacing: 2px;
    margin: 0 0 14px;
}
.wsr-comp-testimonial-card .wsr-author {
    display: flex;
    align-items: center;
    gap: 14px;
}
.wsr-comp-testimonial-card .wsr-author-photo {
    width: 48px; height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(153,252,46,0.4);
}
.wsr-comp-testimonial-card .wsr-author-meta {
    display: flex;
    flex-direction: column;
}
.wsr-comp-testimonial-card .wsr-author-name {
    color: #ffffff;
    font-weight: 600;
    font-size: 15px;
}
.wsr-comp-testimonial-card .wsr-author-role {
    color: #888;
    font-size: 13px;
}

/* --- numbered-step --- */
.wsr-comp-numbered-step {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    padding: 24px;
    background: linear-gradient(145deg, rgba(18,18,18,0.5), rgba(10,10,10,0.7));
    border: 1px solid rgba(153,252,46,0.18);
    border-radius: 14px;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.wsr-comp-numbered-step:hover {
    border-color: rgba(153,252,46,0.5);
    transform: translateX(4px);
}
.wsr-comp-numbered-step .wsr-step-num {
    flex: 0 0 auto;
    width: 52px; height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #99FC2E 0%, #02D05A 100%);
    color: #000;
    font-family: Poppins, sans-serif;
    font-weight: 800;
    font-size: 22px;
    box-shadow: 0 0 20px rgba(153,252,46,0.4);
}
.wsr-comp-numbered-step .wsr-step-body { flex: 1 1 auto; }
.wsr-comp-numbered-step .wsr-step-title {
    color: #ffffff;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px;
}
.wsr-comp-numbered-step .wsr-step-desc {
    color: #cccccc;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

/* --- icon-card (vertical icon-top card) --- */
.wsr-comp-icon-card {
    text-align: center;
    padding: 32px 24px;
    background: linear-gradient(145deg, rgba(18,18,18,0.6), rgba(10,10,10,0.8));
    border: 1px solid rgba(153,252,46,0.22);
    border-radius: 14px;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.wsr-comp-icon-card:hover {
    transform: translateY(-3px);
    border-color: rgba(153,252,46,0.55);
    box-shadow: 0 10px 28px rgba(153,252,46,0.12);
}
.wsr-comp-icon-card .wsr-icon-wrap {
    width: 64px; height: 64px;
    margin: 0 auto 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(153,252,46,0.18), rgba(2,208,90,0.12));
    border: 1px solid rgba(153,252,46,0.35);
    color: #99FC2E;
    font-size: 28px;
}
.wsr-comp-icon-card .wsr-icon-title {
    color: #ffffff;
    font-family: Poppins, sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}
.wsr-comp-icon-card .wsr-icon-desc {
    color: #cccccc;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

/* --- library-page section heading --- */
.wsr-lib-divider {
    margin: 60px 0 18px !important;
    padding: 14px 18px !important;
    background: rgba(153,252,46,0.06);
    border-left: 4px solid #99FC2E;
    border-radius: 4px;
}
.wsr-lib-divider .elementor-heading-title,
.wsr-lib-divider h2 {
    color: #99FC2E !important;
    font-family: Poppins, sans-serif !important;
    font-size: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
}
.wsr-lib-label .elementor-heading-title,
.wsr-lib-label h3 {
    color: #888 !important;
    font-family: monospace !important;
    font-size: 13px !important;
    margin: 24px 0 10px !important;
    text-transform: lowercase !important;
}
/* End Component Library additions 2026-04-22 */
/* Dave 2026-04-24 — kill sticky Start Free Scan button */
.wsr-sticky-cta, .wsr-sticky-scan-btn, a[href*="free-scan"].sticky-cta, #wsr-sticky-cta { display: none !important; }

/* Dave 2026-04-24 — decorative blob pseudo-elements behind images/text */
body.page-id-2832 .elementor-element::before,
body.page-id-2832 .elementor-element::after,
body.page-id-2832 .e-con::before,
body.page-id-2832 .e-con::after {
  z-index: -1 !important;
}
body.page-id-2832 .elementor-element {
  isolation: isolate;
}

/* Dave 2026-04-24 — lift images above decorative blobs */
body.page-id-2832 .elementor-widget-image,
body.page-id-2832 img {
  position: relative;
  z-index: 2;
}

/* Dave 2026-04-24 — threats page: no glow on the images themselves, only the container glows */
body.page-id-1234 .elementor-widget-image img,
body.page-id-1234 .elementor-widget-image:hover img,
body.page-id-1234 .e-con.e-child:hover img {
  filter: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Dave 2026-04-24 — kill container hover glow when the container is just an image widget */
body.page-id-1234 .elementor-widget-image.image-hover-effect:hover,
body.page-id-1234 .e-con.e-child:has(> .elementor-widget-image):hover,
body.page-id-1234 .elementor-element-c169d54:hover,
body.page-id-1234 .elementor-element-439e8cd:hover,
body.page-id-1234 .elementor-element-9be0646:hover,
body.page-id-1234 .elementor-element-32852b0:hover {
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
  filter: none !important;
}

/* Dave 2026-04-24 — threats page: no container hover glow on ANY image container, top or bottom */
body.page-id-1234 .e-con.e-child:has(.elementor-widget-image):hover,
body.page-id-1234 .e-con:has(.elementor-widget-image):hover,
body.page-id-1234 .elementor-widget-image:hover {
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
  filter: none !important;
}
