.territories-section {
  position: relative; background-color: var(--color-brand-orange); padding: clamp(3rem, 10svh, 8rem) var(--header-padding-x); overflow: hidden;
}
.territories-decoration { position: absolute; top: 50%; transform: translateY(-50%); height: 80%; pointer-events: none; z-index: 1; opacity: 0.8; }
.territories-decoration--left { left: 0; }
.territories-decoration--right { right: 0; }

.territories-container { max-width: 1400px; margin: 0 auto; position: relative; z-index: 2; }
.territories-title { font-size: var(--font-size-h2); color: var(--color-bg-hero); font-weight: 500; margin-bottom: clamp(2rem, 5svh, 4rem); }

.territories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(1.5rem, 3svw, 2.5rem); }

.territory-card {
  background-color: var(--color-bg-white); border-radius: 1.5rem; padding: clamp(2rem, 4svw, 3.5rem) clamp(1.5rem, 3svw, 2.5rem);
  display: flex; flex-direction: column; transition: background-color 0.4s ease, color 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); cursor: default;
}
.territory-card:hover { background-color: var(--color-bg-dark-card); color: var(--color-bg-white); transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); }

.territory-card__icon-wrapper { margin-bottom: 2rem; height: 120px; display: flex; align-items: center; justify-content: flex-start; }
.territory-card__icon { height: 100%; width: auto; max-width: 140px; transition: transform 0.4s ease, filter 0.4s ease; filter: brightness(0); }
.territory-card:hover .territory-card__icon { filter: brightness(0) invert(1); }

.territory-card__title { font-size: var(--font-size-h3); font-weight: 800; margin-bottom: 1rem; transition: color 0.4s ease; }
.territory-card__desc { font-size: clamp(0.9rem, 1svw, 1.05rem); line-height: 1.6; color: var(--color-text-light); margin-bottom: 2.5rem; flex-grow: 1; transition: color 0.4s ease; }
.territory-card:hover .territory-card__desc { color: rgba(255, 255, 255, 0.85); }

.territory-card__link {
  font-size: 0.9rem; font-weight: 800; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px;
  letter-spacing: 0.05em; align-self: flex-start; transition: opacity 0.3s ease;
}
.territory-card__link:hover { opacity: 0.7; }
.territory-card--panama .territory-card__link { color: var(--color-brand-orange); }
.territory-card--guatemala .territory-card__link { color: var(--color-accent-purple-bright); }
.territory-card--costa-rica .territory-card__link { color: var(--color-accent-green-bright); }

@media (max-width: 768px) {
  .territories-decoration { height: 40%; opacity: 0.3; }
}
