/* Import Inter font */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");

/* Typewriter Effect Animations */
@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes blink-cursor {
  from,
  to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes show-element {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes hide-caret {
  to {
    opacity: 0;
  }
}

/* Left-to-right sweep animation */
@keyframes sweep-reveal {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Letter fade-in animation */
@keyframes letter-fade-in {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 
 * Note: The letter-by-letter animation requires JavaScript to:
 * 1. Wrap each letter in a <span> element
 * 2. Set animation-delay incrementally for each span
 * Example JS implementation:
 * 
 * document.addEventListener('DOMContentLoaded', () => {
 *   const h1 = document.querySelector('.hero-block h1');
 *   const subheadline = document.querySelector('.hero-block__subheadline');
 *   
 *   if (h1 && subheadline) {
 *     // Animate H1 letters
 *     const h1Text = h1.textContent.trim();
 *     h1.textContent = '';
 *     [...h1Text].forEach((letter, index) => {
 *       const span = document.createElement('span');
 *       span.textContent = letter;
 *       span.style.animationDelay = `${index * 0.05}s`;
 *       h1.appendChild(span);
 *     });
 *     
 *     // Animate subheadline letters after H1 completes
 *     const subText = subheadline.textContent.trim();
 *     const h1Duration = h1Text.length * 0.05;
 *     subheadline.textContent = '';
 *     [...subText].forEach((letter, index) => {
 *       const span = document.createElement('span');
 *       span.textContent = letter;
 *       span.style.animationDelay = `${h1Duration + index * 0.05}s`;
 *       subheadline.appendChild(span);
 *     });
 *   }
 * });
 */

/* Global Typography */
body,
p,
ul,
ol,
li {
  font-family: "Inter", sans-serif;
}

/* Hero Block */
.hero-block {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Mobile background image will be applied via inline style with higher specificity */
.hero-block[data-mobile-bg] {
  background-image: var(--mobile-bg-image) !important;
}

@media (min-width: 769px) {
  .hero-block[data-mobile-bg] {
    background-image: var(--desktop-bg-image) !important;
  }
}

/* Large screen scaling */
@media (min-width: 1440px) {
  .hero-block .container.is-visible {
    transform: scale(1.1) !important;
  }
  .hero-block__rich-text {
    max-width: 100% !important;
  }
}

/* X-Large screen scaling */
@media (min-width: 1920px) {
  .hero-block .container.is-visible {
    transform: scale(1.2) !important;
  }
  .hero-block__rich-text {
    max-width: 100% !important;
  }
}

.hero-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgb(13 26 45) -60%,
    rgba(13, 26, 45, 0.5) 80%
  );
}

.hero-block .container {
  position: relative;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  max-width: 1280px;
  width: 100%;
}

.hero-block__logo {
  margin-bottom: 2rem;
}

.hero-block__logo img {
  width: 100%;
  max-width: 520px;
  height: auto;
}

.hero-block__content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .hero-block__content {
    grid-template-columns: 7fr 5fr;
  }
}

.hero-block__text {
  color: white;
  max-width: 700px;
  margin: 0 auto;
}

.hero-block__headlines {
  width: 100%;
  max-width: 700px;
  display: flex;
  flex-direction: column;
}

/* Yellow bar separator */
.hero-block__yellow-bar {
  height: 10px;
  background-color: #f9de56;
  margin: 0 0 16px 0;
  transform: scaleX(0);
  transform-origin: left;
  animation: sweep-reveal 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
  animation-delay: 0.6s; /* This will be overridden by JS */
  width: 100%;
  max-width: 560px;
}

@media (max-width: 768px) {
  .hero-block__yellow-bar {
    height: 8px;
    margin: 0 auto 14px auto;
    width: 100%;
    max-width: 315px;
  }
}

.hero-block__headline {
  font-family: "Inter", sans-serif;
  font-size: min(40vw, 5rem);
  line-height: 0.9;
  font-weight: 800;
  color: white;
  margin-bottom: 0rem;
  letter-spacing: -5px;
  width: 100%;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
}

.hero-block__headline span {
  display: inline-block;
  opacity: 0;
  animation: letter-fade-in 0.35s ease-out forwards;
  animation-play-state: running;
  will-change: opacity, transform;
}

@media (min-width: 768px) {
  .hero-block__headline {
    font-size: min(32vw, 5.6rem);
  }
}

.hero-block__rich-text {
  color: white;
  font-size: 1.125rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  max-width: 600px;
  width: 100%;
  /* overflow-wrap: break-word; */
  /* word-wrap: break-word; */
  /* hyphens: auto; */
}

@media (max-width: 768px) {
  .hero-block__content {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}

.hero-block__rich-text p {
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
  font-weight: 300;
}

.hero-block__rich-text p:last-child {
  margin-bottom: 0;
}

.hero-block__form {
  width: 100%;
}

/* Form grid layout - Three columns */
.hero-block__form-grid {
  display: grid;
  grid-template-columns: 50px 1fr 50px;
  width: 100%;
  position: relative;
  max-width: 450px;
  margin: 0 auto;
  padding: 0;
  align-items: center;
}

/* Border columns styling */
.hero-block__form-border-left,
.hero-block__form-border-right {
  position: relative;
  height: 85%;
}

/* Left bracket element */
.hero-block__form-border-left::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  border-top: 5px solid rgba(255, 255, 255, 0.4);
  border-bottom: 5px solid rgba(255, 255, 255, 0.4);
  border-left: 5px solid rgba(255, 255, 255, 0.4);
}

/* Right bracket element */
.hero-block__form-border-right::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  border-top: 5px solid rgba(255, 255, 255, 0.4);
  border-bottom: 5px solid rgba(255, 255, 255, 0.4);
  border-right: 5px solid rgba(255, 255, 255, 0.4);
}

.hero-block__form-container {
  background-color: transparent;
  padding: 0 0.5rem;
  border-radius: 0;
  position: relative;
}

.hero-block__form-title {
  font-family: "Inter", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: white;
  margin-bottom: 0.5rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: -1px;
  line-height: 1.1;
}

.hero-block__form-description {
  font-size: 1.25rem;
  color: #f9de56;
  margin-bottom: 1rem;
  text-align: center;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .hero-block__form-grid {
    grid-template-columns: 30px 1fr 30px;
    max-width: 100%;
  }

  .hero-block__form-border-left::before,
  .hero-block__form-border-right::before {
    width: 100%;
    /* border-width: 1px; */
  }

  .hero-block__form-container {
    padding: 1.5rem 0.75rem;
  }

  .hero-block__form-title {
    font-size: 2rem;
    letter-spacing: -0.5px;
  }

  .hero-block__form-description {
    font-size: 1.25rem;
    max-width: 95%;
    font-weight: 500;
    line-height: 1.7rem;
  }

  .hero-block .wpcf7-submit,
  .hero-block .wpcf7-form .wpcf7-submit {
    font-size: 1.1rem !important;
    padding: 0.75rem 1rem !important;
  }
}

/* Form Fields */
.hero-block .wpcf7-form label,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > label {
  color: white !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
  font-weight: 500 !important;
}

.hero-block .wpcf7-form input[type="text"],
.hero-block .wpcf7-form input[type="email"],
.hero-block .wpcf7-form input[type="tel"],
.hero-block .wpcf7-form textarea,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > input[type="text"],
.hero-block .wpcf7-form .wpcf7-form-control-wrap > input[type="email"],
.hero-block .wpcf7-form .wpcf7-form-control-wrap > input[type="tel"],
.hero-block .wpcf7-form .wpcf7-form-control-wrap > textarea {
  width: 100% !important;
  background-color: white !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.75rem 1rem !important;
  color: #454545 !important;
  margin-bottom: 0.5rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  height: 46px !important;
}

.hero-block .wpcf7-form textarea,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > textarea {
  height: 130px !important;
  resize: none !important;
}

.hero-block .wpcf7-form input::placeholder,
.hero-block .wpcf7-form textarea::placeholder,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > input::placeholder,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > textarea::placeholder {
  color: #767676 !important;
}

.hero-block .wpcf7-form input:focus,
.hero-block .wpcf7-form textarea:focus,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > input:focus,
.hero-block .wpcf7-form .wpcf7-form-control-wrap > textarea:focus {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.hero-block .wpcf7-submit,
.hero-block .wpcf7-form .wpcf7-submit {
  width: 100% !important;
  min-width: 200px !important;
  background-color: #c41e22 !important;
  color: white !important;
  font-weight: 700 !important;
  padding: 0.8rem 2rem !important;
  border-radius: 0 !important;
  transition: background-color 0.3s !important;
  text-transform: uppercase !important;
  display: block !important;
  margin: 0.5rem auto 0 !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 1.25rem !important;
  height: 50px !important;
}

.hero-block .wpcf7-submit:hover,
.hero-block .wpcf7-form .wpcf7-submit:hover {
  background-color: #a01a1d !important;
}

/* Editor Specific Styles */
.wp-admin .hero-block {
  min-height: 800px !important;
}

/* Gravity Form Hero Section Styles */
.gform_heading,
.gform_required_legend {
  display: none !important;
}
.form-hero-section .gfield_label {
  color: white !important;
  font-weight: 500 !important;
  margin-bottom: 5px !important;
}

.form-hero-section .gfield_required {
  display: none;
}

/* .form-hero-section .gfield_label::after {
  content: "*";
  color: white;
  margin-left: 4px;
} */

textarea#input_1_3::placeholder {
  color: #464646 !important;
}

.form-hero-section textarea::placeholder {
  opacity: 1 !important;
  content: "Tell Us What Happened" !important;
}

.form-hero-section textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.form-hero-section input[type="text"]::placeholder,
.form-hero-section input[type="email"]::placeholder,
.form-hero-section input[type="tel"]::placeholder,
.form-hero-section textarea::placeholder {
  color: #464646 !important;
}

.form-hero-section input[type="text"],
.form-hero-section input[type="email"],
.form-hero-section input[type="tel"],
.form-hero-section textarea {
  width: 100% !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  padding: 0.75rem 1rem !important;
  color: #454545 !important;
  margin-bottom: 5px !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

.gform-theme--foundation .ginput_counter {
  /* color: #f9de56 !important; */
  display: none !important;
}

.gform-theme--foundation .gform_fields {
  gap: 1rem !important;
}

.form-hero-section input::placeholder,
.form-hero-section textarea::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

.form-hero-section input:focus,
.form-hero-section textarea:focus {
  outline: none !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1) !important;
}

.form-hero-section .gform_footer {
  margin-top: 1.5rem !important;
}

.form-hero-section .gform_button {
  background-color: #c41230 !important;
  color: white !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  padding: 0.75rem 2rem !important;
  border-radius: 50px !important;
  background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  width: 80% !important;
  text-transform: uppercase !important;
  margin: 0 auto !important;
}

.form-hero-section .gform_button:hover {
  background-color: #a30f28 !important;
}

/* Stats Grid Block */
.stats-grid {
  background-color: #0d1a2d;
  padding: 4rem 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  overflow: hidden;
}

.stats-grid .container {
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
  z-index: 1;
}

.stats-grid .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  position: relative;
  z-index: 2;
}

.stats-grid .grid > div {
  background: rgb(35 54 77);
  border: 1px solid rgb(24 124 254);
  padding: 2.5rem;
  text-align: center;
  backdrop-filter: blur(4px);
  transform: perspective(1000px) rotateY(25deg);
  transition: all 0.5s ease;
  animation: statsRotate 0.5s ease forwards;
  opacity: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.stats-grid .grid > div:hover {
  transform: perspective(1000px) rotateY(0deg);
  background: rgb(44, 68, 98);
  border: 1px solid rgb(44, 135, 255);
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

.stats-grid .text-4xl {
  font-family: "Times New Roman", Times, serif;
  font-size: 3rem;
  color: #ffffff;
  margin-bottom: 0.5rem;
  line-height: 1;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  font-weight: 600;
}

.stats-grid .text-xl {
  font-size: 1.25rem;
  color: #b7b7b7;
  margin-bottom: 0.75rem;
  line-height: 1.4;
  font-weight: 500;
}

.stats-grid .text-sm {
  font-size: 0.9rem;
  color: #167eff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
}

@keyframes statsRotate {
  from {
    opacity: 0;
    transform: perspective(1000px) rotateY(25deg);
  }
  to {
    opacity: 1;
    transform: perspective(1000px) rotateY(0deg);
  }
}

/* Add animation delay for each item */
.stats-grid .grid > div:nth-child(1) {
  animation-delay: 0.1s;
}
.stats-grid .grid > div:nth-child(2) {
  animation-delay: 0.2s;
}
.stats-grid .grid > div:nth-child(3) {
  animation-delay: 0.3s;
}
.stats-grid .grid > div:nth-child(4) {
  animation-delay: 0.4s;
}
.stats-grid .grid > div:nth-child(5) {
  animation-delay: 0.5s;
}
.stats-grid .grid > div:nth-child(6) {
  animation-delay: 0.6s;
}
.stats-grid .grid > div:nth-child(7) {
  animation-delay: 0.7s;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .stats-grid .grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .stats-grid .grid > div {
    padding: 2rem;
  }

  .stats-grid .text-4xl {
    font-size: 3rem;
  }
}

/* Billions Won Block */
.billions-won {
  background-color: white;
  padding: 5rem 0;
}

.billions-won__headline {
  font-family: "Inter", sans-serif;
  color: #0d1a2d;
  text-transform: none;
  letter-spacing: -0.03em;
  font-size: 3.3rem;
  line-height: 1.1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 800;
}

.billions-won__content-wrapper {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}

@media (max-width: 1024px) {
  .billions-won__content-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.billions-won__text {
  color: #0d1a2d;
  font-size: 1.45rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
  max-width: 100%;
}

.billions-won__text p {
  margin-bottom: 1.5rem;
  color: #4a5568;
}

.billions-won__text p:last-child {
  margin-bottom: 0;
}

.billions-won__button {
  display: inline-block;
  background-color: #c41e22;
  color: white;
  padding: 1rem 2rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.3s ease;
  border: none;
  border-radius: 50px !important;
  background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer;
  margin-top: 4rem;
  width: 80%;
}
/* 
.billions-won__button-container {
  text-align: center;
} */

.billions-won__button:hover {
  background-color: #a01a1d;
}

.billions-won__video-wrapper {
  position: relative;
  overflow: hidden;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  /* aspect-ratio: 3/4; */
  width: 100%;
}

.billions-won__video-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: background-color 0.3s ease;
}

.billions-won__video-wrapper:hover::before {
  background: rgba(0, 0, 0, 0.4);
}

.billions-won__play-button {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  z-index: 2;
  transition: transform 0.3s ease;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
}

.billions-won__play-button:hover {
  transform: scale(1.1);
}

.billions-won__play-button svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  width: 80px;
  height: 80px;
}

/* Video Modal */
.billions-won__modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.billions-won__modal.active {
  opacity: 1;
  visibility: visible;
}

.billions-won__modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(4px);
}

.billions-won__modal-container {
  position: relative;
  width: 100%;
  max-width: min(90vw, 1200px);
  margin: auto;
  z-index: 10000;
  transform: scale(0.95);
  transition: transform 0.3s ease;
}

.billions-won__modal.active .billions-won__modal-container {
  transform: scale(1);
}

.billions-won__modal-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  background: black;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.billions-won__modal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.billions-won__modal-close {
  position: absolute;
  top: -3rem;
  right: 0;
  background: transparent;
  border: none;
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: transform 0.2s ease;
  padding: 0.5rem;
  z-index: 10001;
}

.billions-won__modal-close:hover {
  transform: scale(1.1);
}

/* Hide modal by default */
.billions-won__modal.hidden {
  display: none;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 768px) {
  .billions-won {
    padding: 2rem 0;
  }

  .billions-won__headline {
    font-size: 32px;
    margin-bottom: 2rem;
  }

  /* .billions-won__text {
    font-size: 1rem;
  } */

  .billions-won__play-button svg {
    width: 48px;
    height: 48px;
  }

  .billions-won__modal {
    padding: 1rem;
  }

  .billions-won__modal-container {
    max-width: 95vw;
  }

  .billions-won__modal-close {
    top: -2.5rem;
    width: 2rem;
    height: 2rem;
  }
}

/* Record Setting Block */
.record-setting {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 4rem 0;
  overflow: hidden;
}

.record-setting::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--overlay-color, rgba(0, 0, 0, 0.5));
}

.record-setting video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.record-setting .container {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
  overflow: visible;
  width: 100%;
  box-sizing: border-box;
}

.wp-block-heading {
  font-family: "Inter", sans-serif;
  color: #0d1a2d;
  text-transform: none;
  letter-spacing: -0.03em;
  font-size: 3.5rem;
  line-height: 1.1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 800;
}

.record-setting__heading {
  font-family: "Inter", sans-serif;
  text-transform: none;
  letter-spacing: -0.03em;
  color: white;
  margin-bottom: 3rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  line-height: 1.1;
  text-align: center;
  font-size: 3.5rem;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  font-weight: 800;
}

.record-setting .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  justify-content: center;
  box-sizing: border-box;
}

/* Specific layouts for different item counts */
.record-setting .grid:has(> div:nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1200px;
  margin: 0 auto;
}

.record-setting .grid:has(> div:nth-child(4):last-child) {
  grid-template-columns: repeat(4, 1fr);
  max-width: 100%;
  gap: 1.5rem;
}

.record-setting .grid:has(> div:nth-child(4):last-child) > div {
  max-width: 100%;
  width: 100%;
}

.record-setting .grid:has(> div:nth-child(5):last-child) {
  grid-template-columns: repeat(5, 1fr);
  max-width: 100%;
}

.record-setting .grid > div {
  --card-side-pad: 1rem;
  background-color: #ffffff;
  border: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 2rem var(--card-side-pad) 0;
  text-align: center;
  position: relative;
  max-width: 400px;
  min-width: 0;
  min-height: 280px;
  box-sizing: border-box;
}

.record-setting .grid > div img {
  width: 175px;
  height: auto;
  /* margin-bottom: 1.5rem; */
  position: relative;
  top: -70px;
  max-width: 100%;
}

.record-setting .grid > div h3 {
  font-family: "Inter", sans-serif;
  color: #23354d;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0;
  font-weight: 600;
  margin-top: -40px;
  position: relative;
  z-index: 5;
  padding-bottom: 0.75rem;
  /* text-transform: uppercase; */
}

/* Amount Recovered styling */
.record-setting .grid > div .amount-recovered {
  /* Rendered after the ::after spacer (order 1), which pushes this to the card bottom */
  order: 2;
  /* stretch full card width, compensating for card side padding */
  margin-left: calc(-1 * var(--card-side-pad));
  margin-right: calc(-1 * var(--card-side-pad));
  width: calc(100% + 2 * var(--card-side-pad));
  background-color: #0d1a2d;
  color: #fee0ad;
  font-family: "Inter", sans-serif;
  font-size: 2.5rem;
  font-weight: 800;
  padding: 1rem;
  text-align: center;
}

/*
 * Flex spacer that absorbs free space between h3 and amount-recovered.
 * Using flex-grow on a pseudo-element is more reliable than margin-top:auto
 * in Safari when the flex container is also a CSS Grid item.
 * order:1 places this AFTER img/h3 (order 0) but BEFORE .amount-recovered (order 2).
 */
.record-setting .grid > div::after {
  content: "";
  display: block;
  flex-grow: 1;
  order: 1;
  min-height: 1rem;
}

@media (max-width: 1600px) {
  .record-setting .grid:has(> div:nth-child(4):last-child) {
    gap: 1.25rem;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div {
    --card-side-pad: 1.5rem;
    padding: 1.75rem var(--card-side-pad) 0;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div img {
    width: 160px;
    top: -65px;
  }
}

@media (max-width: 1300px) {
  .record-setting .container {
    padding: 0 0.75rem;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) {
    gap: 1rem;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div {
    --card-side-pad: 1rem;
    padding: 1.5rem var(--card-side-pad) 0;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div img {
    width: 145px;
    top: -58px;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div h3 {
    font-size: 1.35rem;
    margin-top: -35px;
  }

  .record-setting
    .grid:has(> div:nth-child(4):last-child)
    > div
    .amount-recovered {
    font-size: 2.1rem;
    padding: 0.8rem;
  }
}

@media (max-width: 1400px) {
  .record-setting .grid:has(> div:nth-child(5):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) {
    gap: 1rem;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div {
    --card-side-pad: 1.25rem;
    padding: 1.5rem var(--card-side-pad) 0;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div img {
    width: 150px;
    top: -60px;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div h3 {
    font-size: 1.4rem;
  }

  .record-setting
    .grid:has(> div:nth-child(4):last-child)
    > div
    .amount-recovered {
    font-size: 2.25rem;
    padding: 0.875rem;
  }
}

@media (max-width: 1200px) {
  .record-setting .grid {
    gap: 1.5rem;
  }

  .record-setting .grid:has(> div:nth-child(3):last-child) {
    grid-template-columns: repeat(3, 1fr);
  }

  .record-setting .grid:has(> div:nth-child(4):last-child),
  .record-setting .grid:has(> div:nth-child(5):last-child) {
    grid-template-columns: repeat(2, 1fr);
  }

  .record-setting .grid > div {
    --card-side-pad: 1.5rem;
    padding: 2rem var(--card-side-pad) 0;
    max-width: 350px;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div {
    max-width: 100%;
  }

  .record-setting .grid > div img {
    width: 160px;
    top: -60px;
  }

  .record-setting .grid:has(> div:nth-child(4):last-child) > div img {
    width: 140px;
    top: -55px;
  }
}

@media (max-width: 768px) {
  .record-setting .grid,
  .record-setting .grid:has(> div:nth-child(3):last-child),
  .record-setting .grid:has(> div:nth-child(4):last-child),
  .record-setting .grid:has(> div:nth-child(5):last-child) {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 90%;
    margin: 0 auto;
  }

  .record-setting .grid > div {
    --card-side-pad: 2rem;
    padding: 2rem var(--card-side-pad) 0;
    height: auto;
    min-height: 260px;
    max-width: 100%;
  }

  .record-setting .grid > div img {
    width: 150px;
    top: -50px;
  }

  .record-setting .grid > div .amount-recovered {
    font-size: 2rem;
    padding: 0.75rem;
  }

  .record-setting__heading {
    font-size: 32px;
    margin-bottom: 2rem;
  }
}

/* Lawyer Quote Block */
.lawyer-quote {
  background-color: #0d1a2d;
  padding: 2rem 0 0 0;
  width: 100vw !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
  position: relative;
  overflow: hidden;
}

.lawyer-quote .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.lawyer-quote .max-w-4xl {
  /* max-width: 56rem; */
  margin-left: auto;
  margin-right: auto;
}

.lawyer-quote .flex {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.lawyer-quote .flex-col {
  flex-direction: column;
}

.lawyer-quote .md\:flex-row {
  flex-direction: row;
}

.lawyer-quote .w-full {
  width: 100%;
}

.lawyer-quote .md\:w-1\/3 {
  width: 33.333333%;
}

.lawyer-quote .md\:w-2\/3 {
  width: 66.666667%;
}

.lawyer-quote-image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
}

.lawyer-quote-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.lawyer-quote blockquote {
  color: white;
  /* font-size: 2rem;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  font-weight: 300;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; */

  font-size: 1.75rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
}

.lawyer-quote .font-bold {
  font-weight: 400;
}

.lawyer-quote .text-lg {
  color: white;
  font-size: 1.75rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
}

.lawyer-quote .text-gray-300 {
  color: rgba(255, 255, 255, 0.7);
}

.lawyer-quote .justify-end {
  justify-content: flex-end;
}

.lawyer-quote .text-right {
  text-align: right;
}

@media (max-width: 768px) {
  .lawyer-quote {
    padding: 4rem 0 0 0;
  }

  .lawyer-quote .flex {
    flex-direction: column-reverse;
    gap: 2rem;
  }

  .lawyer-quote .md\:w-1\/3,
  .lawyer-quote .md\:w-2\/3 {
    width: 100%;
  }

  .lawyer-quote .w-full.md\:w-1\/3 {
    max-width: 300px;
    margin: 0 auto;
  }

  .lawyer-quote blockquote {
    font-size: 2rem;
    text-align: center;
  }

  .lawyer-quote .justify-end {
    justify-content: center;
  }

  .lawyer-quote .text-right {
    text-align: center;
  }

  .lawyer-quote .text-lg {
    font-size: 1.45rem;
    line-height: 3;
    font-weight: 300;
  }
}

/* Our Family Block */
.our-family {
  background-color: #0d1a2d;
  padding: 0 0 5rem 0;
}

/* Full width alignment support */
.our-family.alignfull {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  position: relative;
}

.our-family .container {
  background-color: white;
  border: 10px solid #e2e8f0;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem;
}

.our-family__headline {
  font-family: "Inter", sans-serif;
  color: #0d1a2d;
  text-transform: none;
  letter-spacing: -0.03em;
  font-size: 3.5rem;
  line-height: 1.1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 800;
}

.our-family__content-wrapper {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}

@media (max-width: 1024px) {
  .our-family__content-wrapper {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.our-family__text {
  color: #0d1a2d;
  font-size: 1.45rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
}

.our-family__text p {
  margin-bottom: 1.5rem;
  color: #4a5568;
}

.our-family__text p:last-child {
  margin-bottom: 0;
}

/* Unordered lists in our-family block */
.our-family__text ul {
  list-style-type: disc;
  color: #4a5568;
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}

.our-family__text ul li {
  color: #4a5568;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 0.75rem;
  padding-left: 0.5rem;
  margin-left: 0.6rem;
}

.our-family__text ul li:last-child {
  margin-bottom: 0;
}

/* Nested lists */
.our-family__text ul ul {
  margin: 0.75rem 0 0.75rem 1.5rem;
}

@media (max-width: 768px) {
  .our-family__text ul {
    padding-left: 1.25rem;
  }

  .our-family__text ul li {
    font-size: 1.25rem;
  }

  .billions-won__text {
    padding: 0 1.5rem;
  }
}

.our-family__video-wrapper {
  position: relative;
  overflow: hidden;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  aspect-ratio: 3/4;
  width: 100%;
}

.our-family__video-wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: top left;
  transform: scale(1.1); /* Slight zoom to ensure full width coverage */
}

.our-family__video-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: background-color 0.3s ease;
}

.our-family__video-wrapper:hover::before {
  background: rgba(0, 0, 0, 0.4);
}

.our-family__play-button {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  z-index: 2;
  transition: transform 0.3s ease;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
}

.our-family__play-button:hover {
  transform: scale(1.1);
}

.our-family__play-button svg {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  width: 80px;
  height: 80px;
}

/* Video Modal */
.our-family__modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.our-family__modal.active {
  opacity: 1;
  visibility: visible;
}

.our-family__modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(4px);
}

.our-family__modal-container {
  position: relative;
  width: 100%;
  max-width: min(90vw, 1200px);
  margin: auto;
  z-index: 10000;
  transform: scale(0.95);
  transition: transform 0.3s ease;
}

.our-family__modal.active .our-family__modal-container {
  transform: scale(1);
}

.our-family__modal-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  background: black;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.our-family__modal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.our-family__modal-close {
  position: absolute;
  top: -3rem;
  right: 0;
  background: transparent;
  border: none;
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: transform 0.2s ease;
  padding: 0.5rem;
  z-index: 10001;
}

.our-family__modal-close:hover {
  transform: scale(1.1);
}

/* Hide modal by default */
.our-family__modal.hidden {
  display: none;
}

@media (max-width: 768px) {
  .our-family {
    padding: 0 0 2rem 0;
  }

  .our-family .container {
    padding: 2rem;
  }

  .our-family__headline {
    font-size: 32px;
    margin-bottom: 2rem;
  }

  .our-family__text {
    font-size: 1.25rem;
    text-align: left !important;
  }
  .our-family__text.wp-block-group p {
    text-align: left !important;
  }

  .our-family__play-button svg {
    width: 48px;
    height: 48px;
  }

  .our-family__modal {
    padding: 1rem;
  }

  .our-family__modal-container {
    max-width: 95vw;
  }

  .our-family__modal-close {
    top: -2.5rem;
    width: 2rem;
    height: 2rem;
  }
}

/* Shared highlight animation styles */
@keyframes highlightText {
  from {
    background-size: 0 100%;
  }
  to {
    background-size: 100% 100%;
  }
}

/* Billions Won Block highlight effect */
.billions-won__text u {
  text-decoration: none;
  background-image: linear-gradient(#f9de56, #f9de56);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 100%;
  display: inline;
  padding: 0.1em 0;
  animation: highlightText 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
  animation-play-state: paused;
}

.billions-won__text u.animate {
  animation-play-state: running;
}

/* Our Family Block highlight effect */
.our-family__text u {
  text-decoration: none;
  background-image: linear-gradient(#f9de56, #f9de56);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 100%;
  display: inline;
  padding: 0.1em 0;
  animation: highlightText 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
  animation-play-state: paused;
}

.our-family__text u.animate {
  animation-play-state: running;
}

/* Text Highlight Animation Styles */
.highlight-text {
  position: relative;
  display: inline;
  text-decoration: none !important;
}

.highlight-text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.4em;
  background-color: #f9de56;
  opacity: 0.4;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.47, 0, 0.745, 0.715);
  z-index: -1;
  display: block;
}

.highlight-text.active::after {
  transform: scaleX(1);
}

/* Ensure the highlight appears behind the text */
.our-family__text .highlight-text,
.billions-won__text .highlight-text {
  position: relative;
  z-index: 1;
}

.our-family__text .highlight-text::after,
.billions-won__text .highlight-text::after {
  bottom: 0;
  z-index: -1;
}

/* Text Highlight Animation */
span[style="text-decoration: underline"] {
  background: linear-gradient(120deg, #f9de56 0%, #f9de56 100%);
  background-repeat: no-repeat;
  background-size: 0% 110%;
  background-position: 0 60%;
  animation: highlightText 1s ease-out 0.5s forwards;
  text-decoration: none !important;
  padding: 0 4px;
  margin: 0 -4px;
}

@keyframes highlightText {
  to {
    background-size: 100% 110%;
  }
}

/* Video Testimonials Block */
.video-testimonials {
  background-color: #0d1a2d;
  padding: 4rem 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
}

.video-testimonials .container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.video-testimonials h2 {
  font-family: "Inter", sans-serif;
  color: white;
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 1.5rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  text-transform: none;
  letter-spacing: -0.03em;
  line-height: 1.1;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 800;
}

.video-testimonials .video-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .video-testimonials .video-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .video-testimonials .video-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.video-testimonial-item {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.video-testimonial-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: background-color 0.3s ease;
}

.video-testimonial-item:hover::before {
  background-color: transparent;
}

.video-testimonial-play {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
}

.video-testimonial-play svg {
  width: 4rem;
  height: 4rem;
  color: white;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transition: transform 0.3s ease;
}

.video-testimonial-play:hover svg {
  transform: scale(1.1);
}

.video-testimonial-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.45); /* Zoom in to crop letterboxing */
}

.load-more-videos {
  background-color: #c41e22;
  color: white;
  padding: 0.75rem 2rem;
  font-weight: 700;
  transition: background-color 0.3s ease;
  border: none;
  cursor: pointer;
  margin: 3rem auto 0;
  display: block;
}

.load-more-videos:hover {
  background-color: #a01a1d;
}

/* Video Modal */
.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
  display: none;
}

.video-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(4px);
}

.video-modal-container {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  z-index: 10000;
}

.video-modal-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
  background: black;
  overflow: hidden;
}

.video-modal-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.video-modal-close {
  position: absolute;
  top: -3rem;
  right: 0;
  background: transparent;
  border: none;
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  transition: transform 0.2s ease;
  padding: 0.5rem;
  z-index: 10001;
}

.video-modal-close:hover {
  transform: scale(1.1);
}

/* Ensure modal is above everything else */
.video-modal,
.video-modal-overlay,
.video-modal-container,
.video-modal-content,
.video-modal-close {
  z-index: 999999;
}

.video-testimonials__content {
  color: white;
  font-size: 1.75rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
  margin-bottom: 3rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.video-testimonials__content p {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.video-testimonials__content p:last-child {
  margin-bottom: 0;
}

.video-testimonials__content a {
  color: #cd2024;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.video-testimonials__content a:hover {
  opacity: 0.8;
}

/* Google Reviews Block */
.google-reviews {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: #f0f0f0;
  padding: 4rem 0;
}

.google-reviews .container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.google-reviews iframe {
  width: 100%;
  border: none;
}

/* Call to Action Block */
.call-to-action {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: #0d1a2d;
  padding: 4rem 0;
  color: white;
}

/* Mini variant for call-to-action */
.call-to-action.mini {
  width: 80%;
  margin: 3rem auto;
  padding: 3rem 0;
  position: relative;
  z-index: 10;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.call-to-action .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
}

.call-to-action__content {
  margin-bottom: 2rem;
}

.call-to-action__content p {
  font-size: 1.75rem;
  line-height: 1.5;
  max-width: 100%;
  font-weight: 400;
  letter-spacing: -0.75px;
  margin-bottom: 1.5rem;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.call-to-action__content p:last-child {
  margin-bottom: 0;
}

.call-to-action__button .button {
  display: inline-block;
  background-color: #c41e22;
  color: white;
  padding: 1rem 2rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.3s ease;
  border: none;
  border-radius: 50px !important;
  background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer;
}

.call-to-action__button .button:hover {
  background-color: #a01a1d;
}

@media (max-width: 768px) {
  .call-to-action.mini {
    width: 90%;
    margin: 0 auto 3rem auto;
    padding: 2rem 0;
  }
  .video-testimonials h2 {
    font-size: 32px;
  }
}

/* Gravity Forms Modal */
.gf-modal {
  display: none;
  position: fixed;
  inset: 0;
  min-height: 100vh;
  min-width: 100vw;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 999999;
  padding: 20px;
  overflow-y: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Adjust for WordPress admin bar */
.admin-bar .gf-modal {
  top: 32px; /* Height of WP admin bar */
}

@media screen and (max-width: 782px) {
  .admin-bar .gf-modal {
    top: 46px; /* Height of WP admin bar on mobile */
  }
}

.gf-modal-content {
  background-color: #fff;
  position: relative;
  width: 100%;
  max-width: 600px;
  margin: auto;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.gf-modal-close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  font-size: 2rem;
  font-weight: bold;
  color: #333;
  cursor: pointer;
  line-height: 1;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.gf-modal-close:hover {
  color: #000;
  transform: scale(1.1);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .gf-modal {
    padding: 15px;
  }

  .gf-modal-content {
    padding: 1.5rem;
    margin: auto 15px;
  }
}

/* Ensure the form inside the modal is properly styled */
.gf-modal .gform_wrapper {
  margin: 0;
  width: 100%;
}

.gf-modal .gform_wrapper form {
  margin: 0;
}

/* Hide modal by default but ensure proper display when shown */
.gf-modal[style*="display: block"] {
  display: flex !important;
}

/* Prevent body scroll when modal is open */
body.modal-open {
  overflow: hidden;
}

/* End of file */

/* Your Rights List Block */
.your-rights-list {
  background-color: #0d1a2d;
  padding: 4rem 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  color: white;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.your-rights-list .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.your-rights-list__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .your-rights-list__content {
    gap: 4rem;
  }
}

.your-rights-list__center {
  max-width: 800px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.your-rights-list__heading {
  font-family: "Inter", sans-serif;
  font-size: 2.7rem;
  line-height: 1.1;
  margin-bottom: 2rem;
  position: relative;
  display: inline-block;
  text-align: center;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.your-rights-list__heading-underline {
  position: relative;
  display: inline-block;
}

.your-rights-list__heading-underline::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #c41e22;
}

.your-rights-list__description {
  font-size: 1.45rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: -0.75px;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  margin-top: 1rem;
  max-width: 700px;
}

.your-rights-list__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  max-width: 1200px;
  width: 100%;
}

.your-rights-list__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}

.your-rights-list__list-item-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.your-rights-list__list-item-icon .material-icons {
  font-size: 60px;
  color: #c41e22;
  line-height: 1;
}

.your-rights-list__list-item-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.your-rights-list__list-item-title {
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  color: white;
}

.your-rights-list__list-item-description {
  font-size: 1.25rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  font-weight: 400;
  letter-spacing: -0.75px;
}

@media (max-width: 768px) {
  .your-rights-list {
    padding: 3rem 0;
  }

  .your-rights-list .container {
    padding: 0 1rem;
  }

  .your-rights-list__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .your-rights-list__list-item {
    gap: 0.75rem;
  }

  .your-rights-list__list-item-icon .material-icons {
    font-size: 48px;
  }
  .your-rights-list__heading-underline {
    display: inline;
    position: initial;
  }
  .your-rights-list__heading {
    font-size: 32px;
  }
}

/* Your Company Block */
.your-company {
  padding: 0 0 40px 0;
}

.your-company__heading {
  color: #0d1a2d;
  font-family: "Inter", sans-serif;
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 10px;
  padding: 20px;
  letter-spacing: -0.03em;
  font-weight: 800;
}

.your-company__description {
  color: #333;
  font-size: 1.75rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
  padding: 0 20px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.your-company__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  padding: 0 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.your-company__list-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.your-company__list-item-icon {
  flex-shrink: 0;
}

.your-company__list-item-icon .material-icons {
  color: #e31837;
  font-size: 60px;
}

.your-company__list-item-description {
  color: #333;
  font-size: 1.45rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: -0.75px;
}

.your-company__list-item-description p {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .your-company {
    padding: 0 0 30px 0;
  }

  .your-company__heading {
    font-size: 32px;
    margin-bottom: 20px;
    line-height: 1.1;
    letter-spacing: -0.03em;
  }

  .your-company__description {
    font-size: 1.625rem;
    margin-bottom: 30px;
    line-height: 1.8rem;
  }

  .your-company__list {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 20px;
  }

  .your-company__list-item-icon .material-icons {
    font-size: 60px;
  }

  .your-company__list-item-description {
    font-size: 1.25rem;
  }
}

/* Accolades Block */
.accolades {
  background-color: #f2f2f2;
  padding: 4rem 0;
  position: relative;
}

/* Full-width variant */
.accolades.alignfull {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  position: relative;
}

.accolades .container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}

.accolades.alignfull .container {
  max-width: none;
  padding: 0;
}

.accolades iframe {
  width: 100%;
  border: none;
  display: block;
}

@media (max-width: 768px) {
  .accolades {
    padding: 3rem 0;
  }

  .accolades .container {
    padding: 0 1rem;
  }

  .accolades.alignfull .container {
    padding: 0;
  }
}

.accolades.reduce-padding {
  padding: 10px 0 !important;
  background-color: #2a446a !important;
}

/* FAQ Block */
.faq-block {
  background-color: #f0f0f0;
  padding: 4rem 0;
}

/* Full width alignment */
.faq-block.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.faq-block .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.faq-block h2 {
  font-family: "Inter", sans-serif;
  color: #0d1a2d;
  font-size: 3.5rem;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.faq-block .max-w-3xl {
  max-width: 900px;
  margin: 0 auto;
}

.faq-block .space-y-6 > * + * {
  margin-top: 1rem;
}

/* Individual FAQ Item */
.faq-block .bg-gray-50 {
  background: white;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.faq-block .bg-gray-50:hover {
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Question styling */
.faq-block h3 {
  color: #4a5568;
  font-size: 1.25rem;
  font-weight: 800;
  padding: 1.5rem;
  margin: 0;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: color 0.3s ease;
}

/* Custom carat icon */
.faq-block h3::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #4a5568;
  border-bottom: 2px solid #4a5568;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  margin-left: 1rem;
  flex-shrink: 0;
}

/* Active state for question */
.faq-block .bg-gray-50.active h3 {
  color: #0d1a2d;
  border-bottom: 1px solid #e2e8f0;
}

.faq-block .bg-gray-50.active h3::after {
  transform: rotate(-135deg);
  margin-top: 5px;
}

/* Hover effects */
.faq-block h3:hover {
  color: #0d1a2d;
}

/* FAQ Block rich text content styling */
.faq-block .prose {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.3s ease-out,
    padding 0.3s ease;
  padding: 0 1.5rem;
  opacity: 0;
  transform: translateY(-10px);
  transition:
    max-height 0.3s ease-out,
    padding 0.3s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.faq-block .prose > * {
  margin-bottom: 1rem;
}

.faq-block .prose > *:last-child {
  margin-bottom: 0;
}

.faq-block .prose p {
  color: #4a5568;
  line-height: 1.6;
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -0.75px;
  margin-bottom: 1rem;
}

/* Lists styling */
.faq-block .prose ul,
.faq-block .prose ol {
  color: #4a5568;
  margin: 1.5rem 0;
  padding-left: 1.5rem;
}

.faq-block .prose ul {
  list-style-type: disc;
}

.faq-block .prose ol {
  list-style-type: decimal;
}

.faq-block .prose li {
  color: #4a5568;
  line-height: 1.6;
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.faq-block .prose li:last-child {
  margin-bottom: 0;
}

/* Nested lists */
.faq-block .prose ul ul,
.faq-block .prose ol ol,
.faq-block .prose ul ol,
.faq-block .prose ol ul {
  margin: 0.5rem 0 0.5rem 1.5rem;
}

/* Active state */
.faq-block .bg-gray-50.active .prose {
  max-height: 2000px; /* Increased to accommodate longer content */
  padding: 1.5rem;
  opacity: 1;
  transform: translateY(0);
}

/* Other text elements */
.faq-block .prose strong,
.faq-block .prose b {
  font-weight: 600;
}

.faq-block .prose em,
.faq-block .prose i {
  font-style: italic;
}

.faq-block .prose a {
  color: #cd2024;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.faq-block .prose a:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  .faq-block {
    padding: 3rem 1rem;
  }

  .faq-block .container {
    padding: 0 1rem;
  }

  .faq-block h3 {
    padding: 1.25rem;
    font-size: 1.125rem;
  }

  .faq-block .prose p,
  .faq-block .prose li {
    font-size: 1.25rem;
  }

  .faq-block .prose ul,
  .faq-block .prose ol {
    padding-left: 1.25rem;
  }
  .faq-block h2 {
    font-size: 32px;
  }
}

/* Logo Bar Block */
.logo-bar {
  padding: 4rem 0;
  background-color: white;
}

.logo-bar__heading {
  font-family: "Inter", sans-serif;
  color: #0d1a2d;
  font-size: 3.5rem;
  line-height: 1.1;
  text-align: center;
  margin-bottom: 3rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.logo-bar__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4vw, 1rem);
  align-items: center;
  justify-items: center;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .logo-bar__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: min(4vw, 2rem);
  }

  .logo-bar__item {
    padding: min(3vw, 2rem);
  }

  .logo-bar__image {
    max-height: clamp(100px, 15vw, 140px);
  }
}

@media (min-width: 768px) {
  .logo-bar__grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: min(3vw, 0.5rem);
  }
}

.logo-bar__item {
  width: 100%;
  padding: min(2vw, 1.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: padding 0.3s ease;
}

/* Medium screens */
@media (max-width: 1024px) {
  .logo-bar__item {
    padding: min(1.5vw, 1.25rem);
  }
}

/* Small tablets */
@media (max-width: 768px) {
  .logo-bar__item {
    padding: min(1.2vw, 1rem);
  }

  .logo-bar__grid {
    gap: min(2.5vw, 1.25rem);
  }
}

/* Mobile devices */
@media (max-width: 480px) {
  .logo-bar__item {
    padding: min(1vw, 0.75rem);
  }

  .logo-bar__grid {
    gap: min(2vw, 1rem);
  }
}

.logo-bar__image {
  width: 100%;
  height: auto;
  max-height: clamp(80px, 10vw, 100px);
  object-fit: contain;
  filter: none;
  opacity: 1;
  transition: transform 0.3s ease;
}

.logo-bar__image:hover {
  transform: scale(1.05);
}

/* Full width support */
.logo-bar.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

@media (max-width: 767px) {
  .logo-bar {
    padding: 3rem 0;
  }

  .logo-bar__heading {
    margin-bottom: 2rem;
  }

  .logo-bar__grid {
    gap: min(3vw, 1.5rem);
  }
}

/* Office Locations Block */
.office-locations {
  position: relative;
  padding: 4rem 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: white;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.office-locations::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(13, 26, 45, 0.92), rgba(13, 26, 45, 0.92));
  z-index: 1;
}

.office-locations .container {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.office-locations__logo {
  text-align: center;
  margin-bottom: 3rem;
}

.office-locations__logo-img {
  max-width: 300px;
  height: auto;
  filter: brightness(0) invert(1);
}

.office-locations__title {
  font-family: "Inter", sans-serif;
  font-size: 3.5rem;
  text-align: left;
  color: white;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  font-weight: 800;
}

.office-locations__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  align-items: start;
}

.office-locations__locations {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.office-locations__location {
  margin-bottom: 0.5rem;
}

.office-locations__location:last-child {
  margin-bottom: 0;
}

.office-locations__city {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: white;
  margin-bottom: 0;
}

.office-locations__address {
  font-size: 1.125rem;
  margin-bottom: 0;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
}

.office-locations__phone {
  font-size: 1.125rem;
  color: white;
  text-decoration: underline;
  display: inline-block;
  margin-top: 0;
  transition: opacity 0.3s ease;
}

.office-locations__phone:hover {
  opacity: 0.8;
}

.office-locations__map {
  margin-top: 1.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
}

.office-locations__map iframe {
  width: 100%;
  height: 250px;
  border: none;
  display: block;
}

.office-locations__form {
  padding: 2.5rem;
  border-radius: 0.5rem;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.office-locations__form h3 {
  font-family: "Inter", sans-serif;
  font-size: 1.75rem;
  color: #ffffff;
  margin-bottom: 1.5rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Form styling */
.office-locations__form .gform_wrapper {
  margin: 0;
}

.office-locations__form .gform_wrapper form {
  margin: 0;
}

.office-locations__form .gform_wrapper .gfield {
  margin-bottom: 1rem;
}

.office-locations__form .gform_wrapper .gfield_label {
  color: #c41e22;
  font-weight: 800;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.office-locations__form .gform_wrapper input:not([type="submit"]),
.office-locations__form .gform_wrapper textarea {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  background-color: #f8fafc;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.office-locations__form .gform_wrapper input:not([type="submit"]):focus,
.office-locations__form .gform_wrapper textarea:focus {
  outline: none;
  border-color: #c41e22;
  box-shadow: 0 0 0 3px rgba(196, 30, 34, 0.1);
}

.office-locations__form .gform_wrapper textarea {
  height: 120px;
  resize: vertical;
}

.office-locations__form .gform_footer {
  margin-top: 2rem;
  padding: 0;
  text-align: center;
}

.office-locations__form .gform_button {
  background-color: #c41e22;
  color: white;
  padding: 1rem 2rem;
  border: none;
  border-radius: 50px !important;
  background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100%;
}

.office-locations__form .gform_button:hover {
  background-color: #a01a1d;
}

@media (max-width: 1024px) {
  .office-locations__content {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .office-locations__form {
    max-width: 600px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .office-locations {
    padding: 3rem 0;
  }

  .office-locations .container {
    padding: 0 1rem;
  }

  .office-locations__logo {
    margin-bottom: 2rem;
  }

  .office-locations__logo-img {
    max-width: 240px;
  }

  .office-locations__title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }

  .office-locations__city {
    font-size: 1.25rem;
  }

  .office-locations__address,
  .office-locations__phone {
    font-size: 1rem;
  }

  .office-locations__form {
    padding: 1.5rem;
  }

  .office-locations__form h3 {
    font-size: 1.5rem;
  }

  .office-locations__locations {
    gap: 2rem;
  }
}

/* Your Rights List Block */
.your-rights-list {
  background-color: #0d1a2d;
  padding: 4rem 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  color: white;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.your-rights-list .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.your-rights-list__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .your-rights-list__content {
    gap: 4rem;
  }
}

.your-rights-list__center {
  max-width: 800px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.your-rights-list__description {
  font-size: 1.5rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  margin-top: 1rem;
  max-width: 700px;
}
.your-rights-list__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  max-width: 1200px;
  width: 100%;
}

.your-rights-list__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}

.your-rights-list__list-item-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.your-rights-list__list-item-icon .material-icons {
  font-size: 60px;
  color: #c41e22;
  line-height: 1;
}

.your-rights-list__list-item-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.your-rights-list__list-item-title {
  font-weight: 400;
  font-size: 1.35rem;
  line-height: 1.5;
  letter-spacing: -0.75px;
  margin-bottom: 0.5rem;
  color: white;
}

.your-rights-list__list-item-description {
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.75px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
}

@media (max-width: 768px) {
  .your-rights-list {
    padding: 3rem 0;
  }

  .your-rights-list .container {
    padding: 0 1rem;
  }

  .your-rights-list__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .your-rights-list__list-item {
    gap: 0.75rem;
  }

  .your-rights-list__list-item-icon .material-icons {
    font-size: 48px;
  }
}

/* Global Block Fade-In Animation */
body:not(.wp-admin) .hero-block > .container,
body:not(.wp-admin) .accolades > .container,
/* body:not(.wp-admin) .lawyer-quote > .container, */
/* body:not(.wp-admin) .our-family > .container, */
body:not(.wp-admin) .record-setting > .container,
body:not(.wp-admin) .video-testimonials > .container,
body:not(.wp-admin) .google-reviews > .container,
body:not(.wp-admin) .call-to-action > .container,
body:not(.wp-admin) .your-rights-list > .container,
body:not(.wp-admin) .your-company,
body:not(.wp-admin) .faq-block > .container,
body:not(.wp-admin) .logo-bar > .container,
body:not(.wp-admin) .office-locations > .container,
body:not(.wp-admin) .billions-won > .container,
body:not(.wp-admin) .stats-grid > .container,
body:not(.wp-admin) .wp-block > *:first-child,
body:not(.wp-admin) .acf-block-preview > *:first-child {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.3s ease-out,
    transform 0.6s ease-out;
  will-change: opacity, transform;
}

body:not(.wp-admin) .hero-block > .container.is-visible,
body:not(.wp-admin) .accolades > .container.is-visible,
/* body:not(.wp-admin) .lawyer-quote > .container.is-visible, */
/* body:not(.wp-admin) .our-family > .container.is-visible, */
body:not(.wp-admin) .record-setting > .container.is-visible,
body:not(.wp-admin) .video-testimonials > .container.is-visible,
body:not(.wp-admin) .google-reviews > .container.is-visible,
body:not(.wp-admin) .call-to-action > .container.is-visible,
body:not(.wp-admin) .your-rights-list > .container.is-visible,
body:not(.wp-admin) .your-company.is-visible,
body:not(.wp-admin) .faq-block > .container.is-visible,
body:not(.wp-admin) .logo-bar > .container.is-visible,
body:not(.wp-admin) .office-locations > .container.is-visible,
body:not(.wp-admin) .billions-won > .container.is-visible,
body:not(.wp-admin) .stats-grid > .container.is-visible,
body:not(.wp-admin) .wp-block > *:first-child.is-visible,
body:not(.wp-admin) .acf-block-preview > *:first-child.is-visible {
  opacity: 1;
  transform: translateY(0);
} /* Star rating styles */
.star {
  color: #ffd700;
  font-size: 20px;
  line-height: 1;
}

/* Google rating bar styles */
.google-rating-bar {
  background-color: #0a1f44;
  width: 100%;
}

@media (max-width: 768px) {
  .wp-block-group.alignwide {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
  }

  .google-logo {
    margin: 0 auto !important;
  }

  .wp-block-group .wp-block-group {
    justify-content: center !important;
  }

  /* .wp-block-group p {
    text-align: center !important;
    margin: 0 !important;
  } */
}

/* Adjust for mobile devices */
@media (max-width: 480px) {
  body {
    padding-bottom: 64px;
  }
}

/* Reset h1 defaults when used as subheadline */
.hero-block h1.hero-block__subheadline,
h1.hero-block__subheadline,
.hero-block__subheadline {
  font-family: "Inter", sans-serif;
  color: #ffffff;
  font-size: var(--desktop-font-size, 2rem);
  line-height: 1;
  font-weight: 600;
  margin-top: 0;
  margin-bottom: 2rem;
  text-transform: uppercase;
  letter-spacing: -1px;
  width: 100%;
  text-align: left;
  position: relative;
  display: inline-block;
}

.hero-block__subheadline span {
  display: inline-block;
  opacity: 0;
  animation: letter-fade-in 0.35s ease-out forwards;
  animation-play-state: running;
  will-change: opacity, transform;
}

/* Add class to ensure animation is applied */
.hero-block__headline.animate-letters span,
.hero-block__subheadline.animate-letters span {
  animation-play-state: running;
}

@media (max-width: 768px) {
  .hero-block {
    padding: 4rem 0;
  }

  .hero-block__headlines {
    margin: 4rem 0 2rem;
  }

  .hero-block__logo img {
    max-width: 300px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-block__headline {
    font-size: min(35vw, 4.5rem);
    line-height: 0.95;
    text-align: center;
  }

  .hero-block h1.hero-block__subheadline,
  h1.hero-block__subheadline,
  .hero-block__subheadline {
    font-size: var(--mobile-font-size, 1.3rem) !important;
    margin-bottom: 1.5rem;
    text-align: center !important;
  }

  .hero-block__content {
    width: 100%;
    max-width: 100%;
  }

  .hero-block__rich-text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

@media (max-width: 480px) {
  .hero-block__logo img {
    max-width: 80%;
  }

  .hero-block__headline {
    font-size: min(24vw, 3rem);
    letter-spacing: -0.5px;
  }

  .hero-block h1.hero-block__subheadline,
  h1.hero-block__subheadline,
  .hero-block__subheadline {
    font-size: var(--mobile-font-size, 1.3rem) !important;
    text-align: center !important;
  }
}

/* Full Width Form Block - Complete CSS */
.full-width-form {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 5rem 0;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* Critical: ensure the background doesn't interfere with clicks */
  pointer-events: none;
}

/* Re-enable pointer events for all children */
.full-width-form * {
  pointer-events: auto;
}

/* Overlay with proper z-index */
.full-width-form__overlay {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    160deg,
    rgba(13, 26, 45, 0.9) 0%,
    rgba(13, 26, 45, 0.7) 100%
  );
  pointer-events: none;
}

/* Main container with higher z-index */
.full-width-form .container {
  position: relative;
  z-index: 10;
  max-width: 1280px;
  margin: 0 auto;
  padding: 3rem 2rem;
  background-color: #ffffff;
}

/* Content layout - remove grid entirely, use flow layout */
.full-width-form__content {
  position: relative;
  z-index: 10;
  width: 100%;
  display: block; /* Remove grid layout */
}

/* Remove any text container that might be forcing a column layout */
.full-width-form__text {
  width: 100%;
  text-align: center;
}

/* Heading styles - full width with dark text and red highlight */
.full-width-form__heading {
  font-family: "Inter", sans-serif;
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: #0d1a2d;
  text-align: center;
  width: 100%;
  letter-spacing: -0.03em;
}

.full-width-form__heading span {
  color: #c41230;
}

/* Description style - full width */
.full-width-form__description {
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.75px;
  margin-bottom: 2rem;
  color: #666;
  text-align: center;
  width: 100%;
}

/* Form container - white box with shadow */
.full-width-form__form {
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  text-align: center;
  position: relative;
  margin: 0 auto;
}

/* Gravity Form styles */
.full-width-form .gform_wrapper {
  margin: 0;
  position: relative;
  z-index: 12;
  width: 100%;
}

.full-width-form .gform_wrapper form {
  margin: 0;
}

/* Form field layout - 3 column grid for top fields */
.full-width-form .gform_wrapper .gform_body .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 15px !important;
}

/* First three fields (name, email, phone) take up one column each */
.full-width-form .gform_wrapper .gform_body .gform_fields .gfield:nth-child(1),
.full-width-form .gform_wrapper .gform_body .gform_fields .gfield:nth-child(2),
.full-width-form .gform_wrapper .gform_body .gform_fields .gfield:nth-child(3) {
  grid-column: span 1 !important;
}

/* Make textarea/message field full width */
.full-width-form .gform_wrapper .gform_body .gform_fields .gfield:nth-child(4),
.full-width-form
  .gform_wrapper
  .gform_body
  .gform_fields
  .gfield.textarea-field,
.full-width-form .gform_wrapper .gform_body .gform_fields .gfield textarea {
  grid-column: 1 / -1 !important; /* Span all columns */
  width: 100% !important;
}

.full-width-form .gform_wrapper .gfield_label {
  color: #333 !important;
  font-weight: 500 !important;
  margin-bottom: 0.5rem !important;
  position: relative;
  z-index: 13;
}

.full-width-form .gform_wrapper .gfield_required {
  display: none;
}

/* Critical fix for form fields */
.full-width-form .gform_wrapper .gfield {
  position: relative;
  z-index: 13;
}

/* Form field styling */
.full-width-form .gform_wrapper input[type="text"],
.full-width-form .gform_wrapper input[type="email"],
.full-width-form .gform_wrapper input[type="tel"],
.full-width-form .gform_wrapper textarea,
.full-width-form .gform_wrapper select {
  width: 100% !important;
  background-color: #f7f9fc !important;
  border: 1px solid #e1e6ef !important;
  padding: 0.75rem 1rem !important;
  color: #333 !important;
  margin-bottom: 0.5rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  position: relative;
  z-index: 13;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  text-align: left;
}

.full-width-form .gform_wrapper textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.full-width-form .gform_wrapper input::placeholder,
.full-width-form .gform_wrapper textarea::placeholder {
  color: rgba(70, 70, 70, 0.8) !important;
}

.full-width-form .gform_wrapper input:focus,
.full-width-form .gform_wrapper textarea:focus {
  outline: none !important;
  border-color: #c41230 !important;
  box-shadow: 0 0 0 2px rgba(196, 18, 48, 0.1) !important;
}

.full-width-form .gform_wrapper .gform_footer {
  margin-top: 1.5rem !important;
  text-align: center !important;
  position: relative;
  z-index: 13;
}

/* Submit button styling */
.full-width-form .gform_wrapper .gform_button {
  background-color: #c41230 !important;
  color: white !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  padding: 0.8rem 3rem !important;
  border-radius: 50px !important;
  background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
  width: auto !important;
  min-width: 200px !important;
  text-transform: uppercase !important;
  margin: 0 auto !important;
  position: relative;
  z-index: 14;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
}

.full-width-form .gform_wrapper .gform_button:hover {
  background-color: #a30f28 !important;
}

/* Info Items Section */
.full-width-form__info-items {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
  width: 100%;
  position: relative;
  z-index: 11;
}

.full-width-form__info-item {
  width: 33.333%;
  padding: 0 1.5rem;
  background: transparent;
  border: none;
  text-align: center;
  transition: transform 0.3s ease;
}

.full-width-form__info-item:hover {
  transform: translateY(-5px);
}

.full-width-form__info-item-icon {
  margin-bottom: 1rem;
}

/* Material Icons Styling */
.full-width-form__info-item-icon .material-icons {
  font-size: 48px;
  color: #c41230;
  line-height: 1;
  transition: transform 0.3s ease;
}

.full-width-form__info-item:hover .material-icons {
  transform: scale(1.1);
}

.full-width-form__info-item-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0d1a2d;
  margin: 0.75rem 0 0.5rem;
  text-transform: uppercase;
}

.full-width-form__info-item-text {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #666;
  font-weight: 400;
}

/* Critical - Fix for form not being interactable */
.full-width-form .gform_wrapper .gfield_list,
.full-width-form .gform_wrapper .gfield_list td.gfield_list_cell input,
.full-width-form .gform_wrapper .ginput_complex.ginput_container,
.full-width-form .gform_wrapper .ginput_complex.ginput_container span {
  position: relative;
  z-index: 20 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.full-width-form .gform_wrapper .gform_body,
.full-width-form .gform_wrapper .top_label .gfield_label,
.full-width-form .gform_wrapper div.charleft {
  position: relative;
  z-index: 20 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Ensure nothing is hidden by other elements */
.full-width-form .gform_wrapper li.gfield {
  overflow: visible !important;
  z-index: 20 !important;
}

/* Animation for fade-in effect */
/* body:not(.wp-admin) .full-width-form > .container {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}

body:not(.wp-admin) .full-width-form > .container.is-visible {
  opacity: 1;
  transform: translateY(0);
} */

/* Responsive styles */
@media (max-width: 768px) {
  /* Stack form fields in mobile */
  .full-width-form .gform_wrapper .gform_body .gform_fields {
    grid-template-columns: 1fr !important;
  }

  .full-width-form
    .gform_wrapper
    .gform_body
    .gform_fields
    .gfield:nth-child(4),
  .full-width-form
    .gform_wrapper
    .gform_body
    .gform_fields
    .gfield.textarea-field {
    grid-column: span 1 !important;
  }

  /* Stack info items in mobile */
  .full-width-form__info-items {
    flex-direction: column;
    gap: 1.5rem;
  }

  .full-width-form__info-item {
    width: 100%;
    padding: 0;
  }

  .full-width-form {
    padding: 3rem 0;
  }

  .full-width-form__heading {
    font-size: 32px;
  }

  .full-width-form__description {
    font-size: 1.25rem;
  }

  .full-width-form__form {
    padding: 2rem 1.5rem;
  }

  .full-width-form .gform_wrapper .gform_button {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 1.1rem !important;
    border-radius: 50px !important;
    background-image: linear-gradient(to bottom, #b31b1f, #c41e22) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  }
}

@media (max-width: 480px) {
  .full-width-form__form {
    padding: 1.5rem 1rem;
  }
}

/* Material Icons Styling */
.full-width-form__info-item-icon .material-icons {
  font-size: 64px;
  color: #c41230;
  line-height: 1;
  transition: transform 0.3s ease;
}

.full-width-form__info-item:hover .material-icons {
  transform: scale(1.1);
}
