.elementor-kit-32{--e-global-color-primary:#000000;--e-global-color-secondary:#000000;--e-global-color-text:#F0F0F0;--e-global-color-accent:#F0F0F0;--e-global-color-8a6eaf5:#00000085;--e-global-color-b72ff5e:#000000;--e-global-color-25fe8e3:#02010100;--e-global-color-e118c1c:#000000CC;--e-global-color-b8ffb71:#0B0B0B;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:95px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:105px;--e-global-typography-primary-letter-spacing:-0.28px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:50px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:60px;--e-global-typography-secondary-letter-spacing:-0.28px;--e-global-typography-secondary-word-spacing:0px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:25px;--e-global-typography-text-letter-spacing:1px;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:60px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:underline;--e-global-typography-accent-line-height:74px;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0px;--e-global-typography-e1ae241-font-family:"Montserrat";--e-global-typography-e1ae241-font-size:22px;--e-global-typography-e1ae241-font-weight:700;--e-global-typography-e1ae241-text-transform:none;--e-global-typography-e1ae241-font-style:normal;--e-global-typography-e1ae241-text-decoration:underline;--e-global-typography-e1ae241-line-height:30px;--e-global-typography-e1ae241-letter-spacing:0px;--e-global-typography-e1ae241-word-spacing:0px;--e-global-typography-b6196b7-font-family:"Montserrat";--e-global-typography-b6196b7-font-size:30px;--e-global-typography-b6196b7-font-weight:700;--e-global-typography-b6196b7-line-height:38px;--e-global-typography-b6196b7-letter-spacing:-0.13px;--e-global-typography-b84f1b3-font-family:"Montserrat";--e-global-typography-b84f1b3-font-size:25px;--e-global-typography-b84f1b3-font-weight:500;--e-global-typography-b84f1b3-text-transform:none;--e-global-typography-b84f1b3-font-style:normal;--e-global-typography-b84f1b3-text-decoration:none;--e-global-typography-b84f1b3-line-height:35px;--e-global-typography-b84f1b3-letter-spacing:0px;--e-global-typography-b84f1b3-word-spacing:0px;--e-global-typography-22e62d7-font-family:"Montserrat";--e-global-typography-22e62d7-font-size:156px;--e-global-typography-22e62d7-font-weight:700;--e-global-typography-22e62d7-text-transform:none;--e-global-typography-22e62d7-font-style:normal;--e-global-typography-22e62d7-text-decoration:none;--e-global-typography-22e62d7-line-height:198px;--e-global-typography-22e62d7-letter-spacing:-1.22px;--e-global-typography-22e62d7-word-spacing:0px;--e-global-typography-785de07-font-family:"Montserrat";--e-global-typography-785de07-font-size:14px;--e-global-typography-785de07-font-weight:400;--e-global-typography-785de07-text-transform:none;--e-global-typography-785de07-font-style:normal;--e-global-typography-785de07-text-decoration:none;--e-global-typography-785de07-line-height:17px;--e-global-typography-785de07-letter-spacing:0px;--e-global-typography-785de07-word-spacing:0px;--e-global-typography-d7a06da-font-family:"Montserrat";--e-global-typography-d7a06da-font-size:20px;--e-global-typography-d7a06da-font-weight:700;--e-global-typography-d7a06da-text-transform:uppercase;--e-global-typography-d7a06da-font-style:normal;--e-global-typography-d7a06da-text-decoration:none;--e-global-typography-d7a06da-line-height:24px;--e-global-typography-d7a06da-letter-spacing:0px;--e-global-typography-d7a06da-word-spacing:0px;background-color:#0E0000;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:1500ms;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;}.elementor-kit-32 e-page-transition{background-color:#00CC1100;}.site-footer{background-color:#FFFFFF;}.elementor-kit-32 a{color:var( --e-global-color-accent );}.elementor-kit-32 input:not([type="button"]):not([type="submit"]),.elementor-kit-32 textarea,.elementor-kit-32 .elementor-field-textual{color:#FFFFFF;background-color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:54px;}.elementor-element{--widgets-spacing:54px 54px;--widgets-spacing-row:54px;--widgets-spacing-column:54px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-header .site-branding .site-logo img{width:0px;max-width:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}.site-footer .footer-inner{width:0px;max-width:100%;}footer .footer-inner .site-navigation a{color:#FFFFFF;}@media(max-width:1024px){.elementor-kit-32{--e-global-typography-primary-font-size:59px;--e-global-typography-primary-line-height:60px;--e-global-typography-primary-letter-spacing:-0.28px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-size:50px;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:17px;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-line-height:30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-32{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:40px;--e-global-typography-primary-letter-spacing:-0.28px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-line-height:50px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:20px;--e-global-typography-accent-letter-spacing:2px;--e-global-typography-e1ae241-font-size:20px;--e-global-typography-b84f1b3-font-size:18px;--e-global-typography-b84f1b3-line-height:20px;--e-global-typography-22e62d7-font-size:100px;--e-global-typography-22e62d7-line-height:110px;background-image:url("https://guardandrevive.com/wp-content/uploads/2025/10/transparant-background-pat.svg");--e-page-transition-entrance-animation:e-page-transition-fade-out;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;gap:16px;}}/* Start custom CSS */.guardian-xmas-title {
    position: relative;
    display: inline-block;
    color: white; /* Adjust if your header text is a different color */
    font-weight: 700;
}

/* LIGHT STRING OVERLAY */
.guardian-xmas-title::before {
    content: "";
    position: absolute;
    top: -20px; 
    left: 50%;
    transform: translateX(-50%);
    width: 120%;
    height: 60px;
    background: url('https://i.imgur.com/lqzjZ1l.png') no-repeat center;
    background-size: contain;
    z-index: 10;
    animation: glowBlink 2s ease-in-out infinite;
    pointer-events: none;
}

/* LIGHTS GLOW ANIMATION */
@keyframes glowBlink {
    0% { filter: brightness(0.8); }
    50% { filter: brightness(1.4); }
    100% { filter: brightness(0.8); }
}

#guardian-popup {
  display: block !important;
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 9999999 !important;
  width: 350px !important;
  padding: 28px !important;
  background: rgba(10, 15, 25, 0.92) !important;
  color: white !important;
  border: 1px solid #0a3dff !important;
  border-radius: 18px !important;
  box-shadow: 0 0 30px rgba(0,0,0,0.9), 0 0 20px #0a3dff !important;
}

.popup-close {
  font-size: 26px !important;
  color: white !important;
  background: rgba(0,0,0,0.4) !important;
  border: none !important;
  position: absolute !important;
  top: 10px !important;
  right: 14px !important;
  cursor: pointer !important;
  z-index: 999999999 !important;
}

.guardian-popup p,
.popup-title {
  color: white !important;
}

.floating-card-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  padding: 60px 20px;
  background: #000;
}

.floating-card {
  background: rgba(10, 10, 10, 0.8);
  border: 2px solid #0cf;
  box-shadow: 0 0 25px rgba(0, 204, 255, 0.4);
  border-radius: 15px;
  color: #fff;
  width: 280px;
  padding: 25px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  backdrop-filter: blur(8px);
}

.floating-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 0 35px rgba(0, 204, 255, 0.8);
}

.floating-card h3 {
  color: #0cf;
  font-weight: 700;
  margin-bottom: 12px;
  letter-spacing: 0.5px;
}

.floating-card p {
  font-size: 15px;
  color: #ddd;
  margin-bottom: 20px;
}

.card-btn {
  display: inline-block;
  background: linear-gradient(90deg, #0cf, #07a);
  color: #fff;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 8px;
  transition: background 0.3s ease;
}

.card-btn:hover {
  background: linear-gradient(90deg, #07a, #0cf);
}
/* === GUARDIAN X N8N FUSION THEME === */

/* --- COLOR SYSTEM --- */
:root {
  --guardian-electric-blue: #0C10E0;
  --guardian-white: #ffffff;
  --guardian-bg: #0E0918;
  --guardian-accent: #EE4F27;
  --guardian-secondary: #1F1F2A;
  --guardian-text: #C4BBD3;
  --guardian-gradient: linear-gradient(90deg, var(--guardian-electric-blue), var(--guardian-accent));
}

/* --- BASE BODY STYLING --- */
body, html {
  background-color: var(--guardian-bg);
  color: var(--guardian-text);
  font-family: 'Poppins', 'Geomanist', sans-serif;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* --- HEADER / NAV --- */
header, .elementor-location-header {
  background: rgba(10, 10, 25, 0.85);
  backdrop-filter: blur(25px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
header a, .elementor-nav-menu a {
  color: var(--guardian-white);
  transition: all 0.3s ease;
}
header a:hover, .elementor-nav-menu a:hover {
  color: var(--guardian-electric-blue);
}

/* --- BUTTONS --- */
.elementor-button {
  background: var(--guardian-gradient);
  color: var(--guardian-white);
  border-radius: 8px;
  border: none;
  transition: all 0.3s ease;
  font-weight: 600;
}
.elementor-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 25px var(--guardian-electric-blue);
}

/* --- SECTIONS / CARDS --- */
.elementor-section {
  background: rgba(25, 20, 40, 0.85);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 20px;
  backdrop-filter: blur(30px);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.5), 0 4px 16px rgba(0,0,0,0.2);
  padding: 60px 40px;
  margin-bottom: 60px;
}

/* --- FLOATING CARDS / BOXES --- */
.floating-card {
  background: rgba(16, 19, 48, 0.9);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 15px;
  box-shadow: 0 15px 25px rgba(0,0,0,0.4);
  padding: 2rem;
  transition: all 0.4s ease;
}
.floating-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 40px rgba(0,0,0,0.6);
}

/* --- TYPOGRAPHY --- */
h1, h2, h3, h4, h5 {
  color: var(--guardian-white);
  font-weight: 700;
  letter-spacing: 0.5px;
}
p, span, li {
  color: var(--guardian-text);
}

/* --- LINKS --- */
a {
  color: var(--guardian-electric-blue);
  transition: all 0.3s ease;
}
a:hover {
  color: var(--guardian-accent);
}

/* --- BACKGROUND VIDEO / HERO --- */
.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.25;
  z-index: -1;
}

/* --- FOOTER --- */
footer, .elementor-location-footer {
  background: rgba(10, 10, 25, 0.95);
  border-top: 1px solid rgba(255,255,255,0.05);
  color: var(--guardian-text);
  font-size: 0.9rem;
  padding: 40px 0;
}
footer a {
  color: var(--guardian-electric-blue);
}
footer a:hover {
  color: var(--guardian-accent);
}
/* Force Elementor header globally */
header.elementor-location-header {
  display: block !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba(10,10,25,0.9);
  backdrop-filter: blur(20px);
}
body {
  padding-top: 90px !important; /* keeps content from hiding behind header */
}
/* === TechGuardian x n8n Fusion Core === */
:root {
  --guardian-bg: #0e0918;
  --guardian-accent: #EE4F27;
  --guardian-secondary: #1f192a;
  --guardian-text: #C4BBD3;
  --guardian-blur: blur(25px);
}

/* Global Base */
body, html {
  background: radial-gradient(circle at top right, #0e0918, #000);
  color: var(--guardian-text);
  font-family: 'Geomanist', 'Poppins', sans-serif;
  overflow-x: hidden;
}

/* Section Container (like n8n panels) */
.elementor-section {
  background: rgba(16,9,24,0.6);
  backdrop-filter: var(--guardian-blur);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 20px;
  box-shadow: 0 15px 30px rgba(0,0,0,0.6);
  transition: all 0.4s ease;
}

/* Floating Cards */
.elementor-widget-container {
  background: rgba(31,25,42,0.4);
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.elementor-widget-container:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 35px rgba(0,0,0,0.5);
}

/* Buttons */
.elementor-button {
  background: linear-gradient(90deg, #EE4F27, #6b21ef);
  border: none;
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
  padding: 12px 28px;
  transition: all 0.3s ease;
}
.elementor-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 25px rgba(238,79,39,0.6);
}

/* Typography */
h1, h2, h3, h4 {
  color: #fff;
  text-shadow: 0 0 20px rgba(107,33,239,0.4);
}
p {
  color: var(--guardian-text);
  line-height: 1.8em;
}

/* Gradient Line Divider */
.guardian-divider {
  height: 3px;
  width: 100%;
  background: linear-gradient(to right, #EE4F27, #6b21ef);
  border-radius: 2px;
}
/* HEADER BACKGROUND */
.elementor-location-header {
    background:#000 !important;
}

/* WORDPRESS MENU TEXT */
.elementor-widget-wp-widget-nav_menu .menu a {
    color:#fff !important;
    font-weight:600 !important;
}

/* HOVER COLOR */
.elementor-widget-wp-widget-nav_menu .menu a:hover {
    color:#1F8BFF !important;
}

/* ACTIVE PAGE COLOR */
.elementor-widget-wp-widget-nav_menu .current-menu-item > a {
    color:#1F8BFF !important;
}

/* BUTTON FIXES */
.elementor-button {
    background:#1F8BFF !important;
    color:#fff !important;
}

.elementor-button:hover {
    background:#0C5CB8 !important;
}

.particles-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.particle {
  position: absolute;
  bottom: -20px;
  width: 4px;
  height: 4px;
  background: #0a3dff;
  border-radius: 50%;
  animation: floatUp 12s linear infinite;
  box-shadow: 0 0 10px #0a3dff, 0 0 20px #1a5fff, 0 0 30px #0a3dff;
}

@keyframes floatUp {
  0% { transform: translateY(0) scale(1); opacity: 0; }
  5% { opacity: .8; }
  95% { opacity: .8; }
  100% { transform: translateY(-100vh) scale(.5); opacity: 0; }
}
.reviews-section {
  padding: 80px 5%;
  text-align: center;
  background: linear-gradient(180deg, rgba(5,9,15,0.92), rgba(8,12,20,0.97));
  border-top: 1px solid rgba(140,180,255,.15);
  border-bottom: 1px solid rgba(140,180,255,.15);
  position: relative;
  z-index: 10;
}

.reviews-headline {
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 900;
  margin-bottom: 25px;
  color: #ffffff;
}

.reviews-headline .highlight {
  color: #0a3dff;
  text-shadow: 0 0 35px #0a3dff;
}

/* GOOGLE REVIEW BUTTON */
.review-btn {
  display: inline-block;
  margin: 20px auto 40px;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 700;
  background: linear-gradient(180deg, #0a3dff, #0030c7);
  color: #fff;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 0 20px rgba(10,61,255,0.4);
  transition: all .3s ease;
}

.review-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 35px rgba(10,61,255,0.7);
}

/* GOOGLE MAP */
.reviews-map {
  max-width: 900px;
  margin: 0 auto 40px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 0 50px rgba(0,0,0,.5), 0 0 25px rgba(10,61,255,.25);
}

/* YELP BADGE STYLE */
.yelp-badge img {
  width: 180px;
  filter: brightness(1) drop-shadow(0 0 20px rgba(10,61,255,.4));
  transition: all .3s ease;
}

.yelp-badge img:hover {
  filter: brightness(1.3) drop-shadow(0 0 25px rgba(10,61,255,.7));
}.reviews-section {
  padding: 80px 5%;
  text-align: center;
  background: linear-gradient(180deg, rgba(5,9,15,.92), rgba(8,12,20,.97));
  border-top: 1px solid rgba(140,180,255,.15);
  border-bottom: 1px solid rgba(140,180,255,.15);
  position: relative;
  z-index: 10;
}

.reviews-headline {
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 900;
  margin-bottom: 25px;
  color: #ffffff;
}

.reviews-headline .highlight {
  color: #0a3dff;
  text-shadow: 0 0 35px #0a3dff;
}

.review-provider-logos img {
  width: 110px;
  margin: 0 15px 40px;
  filter: brightness(0) invert(1) opacity(.8);
  transition: .3s ease;
}

.review-provider-logos img:hover {
  filter: brightness(1.2) drop-shadow(0 0 20px rgba(10,61,255,.6));
}
#snow {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.snowflake {
  position: absolute;
  top: -10px;
  color: white;
  font-size: 1em;
  user-select: none;
  animation: fall linear infinite;
  opacity: 0.8;
}

@keyframes fall {
  to {
    transform: translateY(110vh);
  }
}
/* MAIN TITLE */
.guardian-xmas-title {
    position: relative;
    display: inline-block;
    font-weight: 700;
    color: #ffffff;
    text-shadow: 0 0 12px rgba(255,255,255,0.4);
}

/* TOP LIGHT STRING */
.guardian-xmas-title::before {
    content: "";
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    width: 160%;
    height: 80px;
    background: url("https://i.imgur.com/tJbVf9Y.png") no-repeat center;
    background-size: contain;
    pointer-events: none;
    animation: lightsGlow 2s infinite ease-in-out;
    z-index: 10;
}

/* OPTIONAL BOTTOM LIGHT STRING */
.guardian-xmas-title::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 140%;
    height: 70px;
    background: url("YOUR-LIGHTS-URL-HERE") no-repeat center;
    background-size: contain;
    pointer-events: none;
    animation: lightsGlow 2s infinite ease-in-out;
    opacity: 0.8;
}

/* LIGHT GLOW ANIMATION */
@keyframes lightsGlow {
    0% { filter: brightness(0.8); }
    50% { filter: brightness(1.45) saturate(1.3); }
    100% { filter: brightness(0.8); }
}

/* SNOW ON LETTERS */
.guardian-letter {
    position: relative;
    display: inline-block;
}

.guardian-letter::after {
    content: "❄️";
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 22px;
    opacity: 0.9;
}

/* SANTA HAT ON THE T */
.t-letter {
    position: relative;
}

.t-letter::before {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    top: -40px;
    left: -5px;
    background: url("https://i.imgur.com/cOZsNyG.png") no-repeat center;
    background-size: contain;
    transform: rotate(-12deg);
}/* End custom CSS */