.texas-story {
  --texas-story-map-x: 62%;
  position: relative;
  overflow: hidden;
  padding: 118px 0;
  background:
    radial-gradient(circle at 84% 18%, rgba(30, 90, 220, 0.18), transparent 34%),
    linear-gradient(180deg, var(--color-white) 0%, var(--color-faragalla-surface) 100%);
  color: var(--color-faragalla-navy-deep);
  font-family: var(--font-body);
  isolation: isolate;
  min-height: 100vh;
  height: fit-content;
}

.texas-story::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.78), transparent 30%),
    linear-gradient(90deg, rgba(244, 247, 255, 0.74) 0%, rgba(244, 247, 255, 0.3) 42%, rgba(244, 247, 255, 0.08) 100%);
  content: "";
  pointer-events: none;
}

.texas-story::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.88) 34%, rgba(244, 247, 255, 0.68) 60%, rgba(244, 247, 255, 0.42) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.62) 0%, rgba(255, 255, 255, 0.24) 48%, rgba(244, 247, 255, 0.86) 100%);
  content: "";
  pointer-events: none;
}

.texas-story__background {
  position: absolute;
  inset: -18% -18%;
  z-index: 1;
  opacity: 0;
  transform: translateY(22px) scale(0.985);
  transition:
    opacity 900ms var(--ease-out),
    transform 900ms var(--ease-out);
}

.texas-story.is-visible .texas-story__background {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.texas-story__shape {
  position: absolute;
  top: 50%;
  left: var(--texas-story-map-x);
  width: min(1420px, 138vw);
  height: min(1120px, 112vw);
  min-height: 760px;
  transform: translate(-50%, -50%);
}

.texas-story__video-shape {
  position: absolute;
  top: 50%;
  left: var(--texas-story-map-x);
  width: min(1420px, 138vw);
  height: min(1120px, 112vw);
  min-height: 760px;
  overflow: hidden;
  transform: translate(-50%, -50%);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M31.39%2C11h19V25.66s1.57.79%2C1.68%2C1.57.44.56%2C2.34%2C0%2C1.34%2C1.45%2C1.9%2C1.56%2C2.57%2C1%2C3.24.78%2C2-.37%2C2.23%2C0-.23%2C2.53%2C2.23%2C1.52%2C3%2C.45%2C3.57.79%2C3.57-.9%2C4.8%2C0%2C2.57%2C1%2C3.24%2C0%2C4.35-2.18%2C5.58-1.06%2C1.45%2C1.56%2C2.79%2C1.73%2C1.9.84%2C2.57%2C1S88%2C33.37%2C88%2C35s-.23%2C9.26%2C0%2C10.05%2C1.56%2C1.78%2C1.56%2C2.79.11%2C2.34.78%2C2.9%2C1%2C2.9.45%2C3.46-.67%2C2.12-.9%2C3%2C0%2C2.23-.33%2C3%2C.56%2C1.34-1.12%2C1.78-3.57%2C1.68-4.35.78-1.78-.78-2.12-.22.56%2C1.56.45%2C2.23-2.79%2C2.46-4%2C3.24S75%2C70.2%2C74%2C69.42s-2.68-1.45-2.57-.34%2C1.67%2C2.46-.34%2C2.57-3%2C1-3.12%2C2.23-.89%2C1.57-1.34%2C2.68a12.52%2C12.52%2C0%2C0%2C0-1%2C3.46%2C5.34%2C5.34%2C0%2C0%2C0%2C.56%2C3.35c.56.78-.22%2C2.79.67%2C3.91s.45%2C2-.78%2C1.56A24.74%2C24.74%2C0%2C0%2C0%2C61.75%2C88c-.9-.11-4.24-2.79-5.25-3.13s-1.23-1.23-2.12-4.35-1.45-3.68-2.57-4.58-3.12-4.35-3.9-5.91A43.8%2C43.8%2C0%2C0%2C0%2C45%2C64.4c-1-1.34-3-3.58-4.36-3.13s-7.59-.56-8.15%2C2-1.89%2C3.57-3%2C3-6.81-3.68-7.37-4.91S21%2C59.71%2C20.78%2C57.81a8.38%2C8.38%2C0%2C0%2C0-3.68-5C16%2C52.34%2C13.86%2C51.68%2C13.31%2C50a4.17%2C4.17%2C0%2C0%2C0-3.24-2.9C8.84%2C47%2C9%2C45.31%2C9%2C45.31l22.33-.11Z%22%2F%3E%3C%2Fsvg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M31.39%2C11h19V25.66s1.57.79%2C1.68%2C1.57.44.56%2C2.34%2C0%2C1.34%2C1.45%2C1.9%2C1.56%2C2.57%2C1%2C3.24.78%2C2-.37%2C2.23%2C0-.23%2C2.53%2C2.23%2C1.52%2C3%2C.45%2C3.57.79%2C3.57-.9%2C4.8%2C0%2C2.57%2C1%2C3.24%2C0%2C4.35-2.18%2C5.58-1.06%2C1.45%2C1.56%2C2.79%2C1.73%2C1.9.84%2C2.57%2C1S88%2C33.37%2C88%2C35s-.23%2C9.26%2C0%2C10.05%2C1.56%2C1.78%2C1.56%2C2.79.11%2C2.34.78%2C2.9%2C1%2C2.9.45%2C3.46-.67%2C2.12-.9%2C3%2C0%2C2.23-.33%2C3%2C.56%2C1.34-1.12%2C1.78-3.57%2C1.68-4.35.78-1.78-.78-2.12-.22.56%2C1.56.45%2C2.23-2.79%2C2.46-4%2C3.24S75%2C70.2%2C74%2C69.42s-2.68-1.45-2.57-.34%2C1.67%2C2.46-.34%2C2.57-3%2C1-3.12%2C2.23-.89%2C1.57-1.34%2C2.68a12.52%2C12.52%2C0%2C0%2C0-1%2C3.46%2C5.34%2C5.34%2C0%2C0%2C0%2C.56%2C3.35c.56.78-.22%2C2.79.67%2C3.91s.45%2C2-.78%2C1.56A24.74%2C24.74%2C0%2C0%2C0%2C61.75%2C88c-.9-.11-4.24-2.79-5.25-3.13s-1.23-1.23-2.12-4.35-1.45-3.68-2.57-4.58-3.12-4.35-3.9-5.91A43.8%2C43.8%2C0%2C0%2C0%2C45%2C64.4c-1-1.34-3-3.58-4.36-3.13s-7.59-.56-8.15%2C2-1.89%2C3.57-3%2C3-6.81-3.68-7.37-4.91S21%2C59.71%2C20.78%2C57.81a8.38%2C8.38%2C0%2C0%2C0-3.68-5C16%2C52.34%2C13.86%2C51.68%2C13.31%2C50a4.17%2C4.17%2C0%2C0%2C0-3.24-2.9C8.84%2C47%2C9%2C45.31%2C9%2C45.31l22.33-.11Z%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
}

.texas-story__video-shape video,
.texas-story__video,
.texas-story__video-shape .wp-video,
.texas-story__video-shape .mejs-container,
.texas-story__video-shape .mejs-inner,
.texas-story__video-shape .mejs-mediaelement,
.texas-story__video-fallback {
  display: block;
  width: 100%;
  height: 100% !important;
}

.texas-story__video-shape video,
.texas-story__video {
  object-fit: fill;
  filter: saturate(1.08) contrast(1.04);
  pointer-events: none;
}

.texas-story__video-shape .mejs-controls,
.texas-story__video-shape .mejs-overlay,
.texas-story__video-shape .mejs-layers,
.texas-story__video-shape .mejs-button {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.texas-story__video-shape video::-webkit-media-controls,
.texas-story__video-shape video::-webkit-media-controls-panel,
.texas-story__video-shape video::-webkit-media-controls-start-playback-button {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none;
}

.texas-story__video-fallback {
  background:
    radial-gradient(circle at 38% 28%, rgba(255, 255, 255, 0.5), transparent 22%),
    linear-gradient(135deg, rgba(30, 90, 220, 0.28), rgba(147, 197, 253, 0.18));
}

.texas-story__shape-line {
  fill: none;
  stroke: transparent;
  stroke-width: 0.58;
  stroke-linejoin: round;
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
  filter: none;
  transition: stroke-dashoffset 1600ms var(--ease-out);
}

.texas-story.is-visible .texas-story__shape-line {
  stroke-dashoffset: 0;
}

.texas-story__inner {
  position: relative;
  z-index: 2;
  width: var(--site-container);
  margin: 0 auto;
}

.texas-story__content {
  max-width: 850px;
}

.texas-story__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--color-faragalla-blue);
}

.texas-story__eyebrow span {
  display: block;
  width: 40px;
  height: 1px;
  background: var(--color-faragalla-blue);
}

.texas-story__eyebrow p {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.texas-story h2 {
  max-width: 760px;
  margin: 18px 0 0;
  color: var(--color-faragalla-navy-deep);
  font-family: var(--font-body);
  font-size: clamp(40px, 4.3vw, 58px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
}

.texas-story__text {
  max-width: 650px;
  margin-top: 24px;
  color: var(--color-faragalla-muted);
  font-size: 17px;
  line-height: 1.82;
}

.texas-story__text p {
  margin: 0 0 18px;
}

.texas-story__text p:last-child {
  margin-bottom: 0;
}

.texas-story__text.is-collapsed {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.texas-story__show-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 0;
  border: 0;
  color: var(--color-faragalla-blue);
  background: transparent;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.texas-story__show-more[hidden] {
  display: none;
}

.texas-story__show-more svg {
  transition: transform var(--duration-normal) var(--ease-out);
}

.texas-story__show-more[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.texas-story__show-more:focus-visible {
  outline: 2px solid var(--color-faragalla-blue);
  outline-offset: 4px;
}

.texas-story__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 58px;
}

.texas-story__card {
  border: 1px solid rgba(184, 204, 255, 0.78);
  border-radius: 16px;
  background: var(--color-white);
  box-shadow: 0 18px 44px rgba(12, 36, 97, 0.08);
  transition:
    transform var(--duration-normal) var(--ease-out),
    box-shadow var(--duration-normal) var(--ease-out),
    border-color var(--duration-normal) var(--ease-out);
}

.texas-story__card:hover,
.texas-story__card:focus-within {
  border-color: rgba(30, 90, 220, 0.45);
  box-shadow: 0 26px 58px rgba(12, 36, 97, 0.14);
  transform: translateY(-6px);
}

.texas-story__card-button {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 360px;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: left;
}

.texas-story__media {
  position: relative;
  display: block;
  flex-shrink: 0;
  height: 230px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 16%, rgba(255, 255, 255, 0.44), transparent 25%),
    linear-gradient(135deg, var(--color-faragalla-blue-pale), var(--color-faragalla-surface));
}

.texas-story__media picture,
.texas-story__image {
  display: block;
  width: 100%;
  height: 100%;
}

.texas-story__image {
  object-fit: cover;
  transition:
    filter var(--duration-normal) var(--ease-out),
    transform var(--duration-slow) var(--ease-out);
}

.texas-story__card:hover .texas-story__image,
.texas-story__card:focus-within .texas-story__image {
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.045);
}

.texas-story__image--fallback {
  background:
    radial-gradient(circle at 70% 20%, rgba(30, 90, 220, 0.18), transparent 34%),
    linear-gradient(135deg, var(--color-faragalla-blue-pale) 0%, var(--color-faragalla-blue-wash) 100%);
}

.texas-story__media-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(12, 31, 63, 0) 42%, rgba(12, 31, 63, 0.68) 100%),
    linear-gradient(90deg, rgba(12, 31, 63, 0.18), rgba(12, 31, 63, 0));
}

.texas-story__card-title {
  display: block;
  flex-shrink: 0;
  margin: 0;
  padding: 24px 24px 0;
  color: var(--color-faragalla-navy-deep);
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: 0;
}

.texas-story__card-cta {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding: 22px 24px 24px;
  color: var(--color-faragalla-blue);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.texas-story__card-cta svg {
  transition: transform var(--duration-normal) var(--ease-out);
}

.texas-story__card:hover .texas-story__card-cta svg,
.texas-story__card:focus-within .texas-story__card-cta svg {
  transform: translateX(3px);
}

.texas-story__card-button:focus-visible {
  outline: 2px solid var(--color-faragalla-blue);
  outline-offset: 4px;
}

.texas-story__modal {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;
  padding: 64px;
}

.texas-story__modal.is-open {
  display: block;
}

.texas-story__modal.is-opening .texas-story__modal-shell {
  animation: texas-story-pop-in var(--duration-slow) var(--ease-out);
}

.texas-story__modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 31, 63, 0.58);
  backdrop-filter: blur(18px);
}

.texas-story__modal-viewport {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.texas-story__modal-shell,
.texas-story__modal-panel {
  width: 100%;
  height: 100%;
}

.texas-story__modal-shell {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  box-shadow: 0 34px 90px rgba(12, 36, 97, 0.28);
}

.texas-story__modal-panel {
  position: absolute;
  inset: 0;
  display: none;
  overflow-y: auto;
  background: var(--color-faragalla-surface);
  color: var(--color-faragalla-navy-deep);
  isolation: isolate;
  scroll-behavior: smooth;
}

.texas-story__modal-panel.is-active {
  display: block;
}

.texas-story__modal-media,
.texas-story__modal-image {
  display: block;
  width: 100%;
  height: 100%;
}

.texas-story__modal-media {
  position: sticky;
  top: 0;
  z-index: 0;
  overflow: hidden;
  height: var(--texas-story-panel-height, 400px);
  margin-bottom: calc(400px - var(--texas-story-panel-height, 400px));
  background: var(--color-faragalla-blue-pale);
  clip-path: inset(0 0 calc(var(--texas-story-panel-height, 400px) - var(--texas-story-hero-height, 400px)) 0);
}

.texas-story__modal-media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(12, 31, 63, 0.08), rgba(244, 247, 255, 0.88)),
    rgba(244, 247, 255, var(--texas-story-whitewash, 0));
  content: "";
  pointer-events: none;
  transition: background var(--duration-fast) linear;
}

.texas-story__modal-image {
  background:
    radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.75), transparent 24%),
    linear-gradient(135deg, rgba(30, 90, 220, 0.42), rgba(147, 197, 253, 0.26)),
    var(--color-faragalla-blue-pale);
  filter: blur(var(--texas-story-blur, 0px));
  transform: scale(var(--texas-story-scale, 1));
  transform-origin: center center;
  transition:
    filter var(--duration-fast) linear,
    transform var(--duration-fast) linear;
}

.texas-story__modal-gradient {
  display: none;
}

.texas-story__modal-content {
  position: relative;
  z-index: 3;
  width: min(780px, calc(100% - 64px));
  margin: -96px auto 0;
  padding: 42px 0 72px;
  text-align: center;
  text-shadow: 0 1px 18px rgba(244, 247, 255, 0.78);
  transform: translateZ(0);
}

.texas-story__modal-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 12px;
  border-radius: var(--radius-full);
  color: var(--color-faragalla-blue);
  background: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.texas-story__modal-panel h2 {
  margin: 0;
  color: var(--color-faragalla-navy-deep);
  font-family: var(--font-body);
  font-size: clamp(36px, 4.8vw, 64px);
  font-weight: 800;
  line-height: 1.02;
}

.texas-story__modal-panel p {
  margin: 20px 0 0;
  color: var(--color-faragalla-muted);
  font-size: 17px;
  line-height: 1.65;
}

.texas-story__modal-close,
.texas-story__modal-arrow {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-full);
  color: var(--color-white);
  background: rgba(12, 31, 63, 0.52);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition:
    transform var(--duration-normal) var(--ease-out),
    background-color var(--duration-normal) var(--ease-out);
}

.texas-story__modal-close {
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  font-size: 30px;
  line-height: 1;
}

.texas-story__modal-arrow {
  top: 50%;
  width: 56px;
  height: 56px;
  transform: translateY(-50%);
}

.texas-story__modal-arrow--prev {
  left: 18px;
}

.texas-story__modal-arrow--next {
  right: 18px;
}

.texas-story__modal-close:hover,
.texas-story__modal-close:focus-visible,
.texas-story__modal-arrow:hover,
.texas-story__modal-arrow:focus-visible {
  background: rgba(12, 31, 63, 0.72);
}

.texas-story__modal-arrow:hover,
.texas-story__modal-arrow:focus-visible {
  transform: translateY(-50%) scale(1.05);
}

.texas-story__modal-close:focus-visible,
.texas-story__modal-arrow:focus-visible {
  outline: 2px solid var(--color-white);
  outline-offset: 4px;
}

body.texas-story-modal-open {
  overflow: hidden;
}

@keyframes texas-story-pop-in {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(24px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@media (max-width: 980px) {
  .texas-story__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .texas-story__card-button {
    min-height: 350px;
  }

  .texas-story__shape {
    width: 1280px;
    height: 980px;
  }

  .texas-story__video-shape {
    width: 1280px;
    height: 980px;
  }
}

@media (max-width: 700px) {
  .texas-story {
    padding: 78px 0;
  }

  .texas-story__inner {
    width: var(--site-container-mobile);
  }

  .texas-story__background {
    inset: 6% -92% auto -48%;
    height: 640px;
  }

  .texas-story__shape {
    width: 980px;
    height: 750px;
    min-height: 0;
  }

  .texas-story__video-shape {
    width: 980px;
    height: 750px;
    min-height: 0;
  }

  .texas-story__cards {
    grid-template-columns: 1fr;
    margin-top: 42px;
  }

  .texas-story__card:hover,
  .texas-story__card:focus-within {
    transform: none;
  }

  .texas-story__card-button {
    min-height: 0;
  }

  .texas-story__media {
    height: 190px;
  }

  .texas-story__modal {
    padding: 24px;
  }
}

@media (max-width: 560px) {
  .texas-story__modal {
    padding: 16px;
  }

  .texas-story__modal-shell {
    border-radius: 22px;
  }

  .texas-story__modal-content {
    width: calc(100% - 32px);
    margin-top: -72px;
    padding: 30px 0 124px;
  }

  .texas-story__modal-arrow {
    top: auto;
    bottom: 18px;
    width: 46px;
    height: 46px;
    transform: none;
  }

  .texas-story__modal-arrow:hover,
  .texas-story__modal-arrow:focus-visible {
    transform: scale(1.05);
  }

  .texas-story__modal-arrow--prev {
    left: 18px;
  }

  .texas-story__modal-arrow--next {
    right: 18px;
  }
}
