@charset "UTF-8";
body,
html {
  overflow-x: hidden
}
@media (max-width:768px) {
  body,
  html {
    width: 100%;
    max-width: 100%
  }
}
* {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  -webkit-font-smoothing: antialiased!important;
  -moz-osx-font-smoothing: grayscale!important
}
.site-header .nav a,
.site-header .nav-close,
.site-header .nav-toggle,
.site-header .navbar-nav a,
.site-header .site-nav a,
.site-header a{
  font-family: inherit !important
}

footer h3, #newsletterSubscribeModal h4{
  color: inherit !important;
}

.fa,
.fa-award,
.fa-brain,
.fa-brands,
.fa-calendar-alt,
.fa-chart-line,
.fa-clipboard-list,
.fa-clock,
.fa-comments,
.fa-compass,
.fa-exclamation-triangle,
.fa-file-alt,
.fa-fire,
.fa-globe,
.fa-handshake,
.fa-key,
.fa-lightbulb,
.fa-lock,
.fa-piggy-bank,
.fa-play-circle,
.fa-regular,
.fa-solid,
.fa-spinner,
.fa-star,
.fa-users,
.fab,
.far,
.fas,
[class*=fa-] {
  font-family: "Font Awesome 6 Free","Font Awesome 6 Brands","Font Awesome 6 Pro"!important
}
.dashicons,
.dashicons:before {
  font-family: Dashicons!important;
  speak: none;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
:root {
  --es-thrive-primary: #0F7C82;
  --es-thrive-primary-dark: #0c6368;
  --es-thrive-accent: #00A8C6
}
body,
p {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  font-size: 16px!important;
  line-height: 1.6!important
}
h1 {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  font-weight: 700!important;
  font-size: 42px!important;
  line-height: 1.1!important;
  color: #0f7c82
}
h2 {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  font-weight: 600!important;
  font-size: 32px!important;
  line-height: 1.2!important;
  color: #0f7c82
}
h3 {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  font-weight: 600!important;
  font-size: 24px!important;
  line-height: 1.3!important;
  color: #0f7c82
}
h4 {
  font-family: Aptos,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif!important;
  font-weight: 600!important;
  font-size: 18px!important;
  line-height: 1.4!important;
  text-transform: uppercase;
  color: #0f7c82
}
@media (max-width:768px) {
  h1 {
    font-size: 28px!important
  }
  h2 {
    font-size: 24px!important
  }
  h3 {
    font-size: 20px!important
  }
  h4 {
    font-size: 16px!important
  }
}
.btn-primary,
.button,
button,
input[type=button],
input[type=submit] {
  font-weight: 600!important;
  font-size: 16px!important;
  letter-spacing: .04em!important;
  padding: 14px 28px!important;
  border-radius: 6px!important;
  border: none!important;
  cursor: pointer!important;
  transition: all .3s ease!important;
  text-decoration: none!important;
  display: inline-block!important;
  text-align: center!important;
  background-color: var(--es-thrive-primary)!important;
  color: #fff!important
}
.btn-primary:hover,
.button:hover,
button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  background-color: var(--es-thrive-primary-dark)!important;
  transform: translateY(-2px)!important;
  box-shadow: 0 4px 12px rgba(15,124,130,.3)!important
}
section {
  padding: 20px 20px!important
}
.site-header {
  padding: 0!important
}
p {
  margin: 0 0 20px 0!important
}

.es-thrive-hero {
  margin: 0 auto;
  height: 1500px;
  width: 2000px;
  color: #fff;
  padding: 100px 20px 0 0;
  display: flex;
  justify-content: flex-start;
  box-sizing: border-box
}
.es-thrive-hero .hero-container {
  width: 33%;
  padding: 180px 30px;
  text-align: left;
  z-index: 1;
  background-position: center center;
  justify-content: center;
  text-align: center
}
.es-thrive-hero h1.es-thrive-title {
  text-align: center;
  margin-bottom: 20px;
  color: #0f7c82;
  font-weight: 400!important;
  animation: fadeIn 2s ease-out
}
.es-thrive-hero .es-thrive-tagline h2 {
  font-size: 4.1em!important;
  text-align: center;
  margin-bottom: 40px;
  color: #0f7c82;
  font-weight: 500;
  text-shadow: 0 0 20px rgba(255,255,255,.8);
  animation: fadeIn 2s ease-out .5s both
}
.es-thrive-hero .es-thrive-hero-text {
  font-size: 1.6rem!important;
  display: block;
  width: 450px;
  max-width: 90%;
  margin: 0 auto 40px!important;
  color: #0f7c82;
  text-align: center;
  text-shadow: 2px 2px 5px #fff;
  animation: fadeIn 2s ease-out 1s both;
  box-sizing: border-box
}
@media (max-width:768px) {
  .es-thrive-hero {
    height: auto;
    width: 100%!important;
    background-position: 72% 31%!important;
    background-repeat: no-repeat!important;
    background-attachment: scroll!important
  }
  .es-thrive-hero .hero-container {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 15px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center
  }
  .es-thrive-hero .es-thrive-hero-button,
  .es-thrive-hero .es-thrive-hero-text,
  .es-thrive-hero .es-thrive-tagline,
  .es-thrive-hero .es-thrive-title {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0
  }
  .es-thrive-hero .es-thrive-hero-button {
    display: flex;
    justify-content: center
  }
  .es-thrive-hero .es-thrive-hero-text {
    text-shadow: 3px 3px 10px #fff!important
  }
}
.es-thrive-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px
}
.es-thrive-content section {
  margin-bottom: 80px;
  padding: 60px 40px;
  animation: slideInUp .8s ease-out
}
span.transition-line {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  margin: 30px 0
}
span.transition-line p {
  animation: slideInLeft 1s ease-out;
  font-size: 18px!important;
  margin: 0
}
.es-thrive-content .outcome {
  padding: 10px
}
.es-thrive-content .outcome:first-of-type,
.es-thrive-content .outcome:last-of-type {
  background-color: #fafafa
}
.es-thrive-content .es-thrive-intro ul {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto
}
.es-thrive-content .es-thrive-intro ul li {
  margin-bottom: .5rem;
  margin: 0;
  padding: 10px 0;
  color: #333
}
.es-thrive-accessible {
  margin-bottom: 3rem;
  border-bottom: 1px solid #ddd
}
.es-thrive-accessible p:first-of-type {
  margin-bottom: 3rem!important
}
.es-thrive-accessible p:last-of-type {
  margin-top: 3rem!important
}
.es-thrive-experience {
  margin-bottom: 3rem;
  border-bottom: 1px solid #ddd
}
.experience-columns ul {
  margin: 20px 0;
  padding: 0
}
.experience-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem
}
.experience-item {
  display: flex;
  padding: 5px 0;
  gap: 1rem;
  align-items: flex-start;
  box-sizing: border-box;
  flex: 0 0 calc(33.333% - 1rem)
}
.experience-title {
  font-weight: 600;
  white-space: nowrap
}
.experience-copy {
  color: #666
}

.es-thrive-accessible-section ul{
  list-style-type: none;
  padding: 1.5rem .5rem;
  margin:0;
}

.es-thrive-accessible-section ul li::before{
  content: "• ";
  color: var(--es-thrive-primary);
}

.es-thrive-accessible-section ul li{
  margin-bottom: .5rem;
  color: #333;
}
@media (max-width:767px) {
  .experience-item {
    flex: 0 0 100%;
    flex-direction: column
  }
  .experience-title {
    white-space: normal;
    margin-bottom: .25rem
  }
}
.transformation-comparison ul{
  list-style-type: none;
  padding: 1.5rem .5rem;
  margin:0;
}

.comparison-container {
  max-width: 900px;
  margin: 0 auto;
}

.transformation-comparison ul li{
  padding: 10px;
}

.before-column h3{
  color: #d17529
}
.after-column h3 {
  color: var(--es-thrive-primary)
}
.before-column li:before {
  content: "• ";
  color: #d17529
}
.after-column li:before {
  content: "• ";
  color: var(--es-thrive-primary)
}

.es-thrive-audience {
  margin-bottom: 3rem
}
es-thrive-logos {
  text-align: center;
  padding: 3rem 0;
  background: #f8f9fa
}
.es-thrive-logos .logos-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  grid-template-rows: repeat(3,1fr);
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto;
  align-items: center
}
@media (max-width:768px) {
  .es-thrive-logos .logos-grid {
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: repeat(5,1fr);
    gap: 1.5rem
  }
}
.es-thrive-logos .logos-grid .logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem
}
.es-thrive-logos .logos-grid .logo-item img {
  max-width: 100%;
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .7;
  transition: all .3s ease
}
.es-thrive-logos .logos-grid .logo-item img:hover {
  filter: grayscale(0%);
  opacity: 1
}
.pricing-comparison-container.theme-thrive {
  --pricing-primary: #0F7C82;
  --pricing-primary-dark: #0c6368;
  --pricing-primary-darker: #094a4e;
  --pricing-primary-rgb: 15,124,130;
  --pricing-accent: #e67e22;
  --pricing-accent-dark: #bf6516
}
.pricing-comparison-container .quantity-section .quantity-selector label {
  color: #333
}
.pricing-comparison-container .quantity-section .quantity-selector select {
  border: 2px solid rgba(0,0,0,.2);
  background: rgba(255,255,255,.9);
  color: #333
}
.pricing-comparison-container .quantity-section .quantity-selector select:focus {
  border-color: rgba(0,0,0,.4);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0,0,0,.1)
}
.pricing-comparison-container .quantity-section .quantity-selector select:hover {
  border-color: rgba(0,0,0,.3);
  background: #fff
}
.pricing-comparison-container .quantity-price-display {
  color: #333!important;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.1)
}
.pricing-comparison-container .quantity-price-display strong {
  color: #333
}
.pricing-comparison-container .quantity-price-display small {
  color: rgba(0,0,0,.6)
}
.pricing-container-compact {
  position: relative;
  margin-bottom: 20px;
  background: 0 0;
  max-width: 100%;
  display: flex;
  gap: 20px;
  align-items: flex-start
}
.price-display-compact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 15px;
  align-items: center;
  width: 100%
}
.price-tier {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  min-width: 200px;
  justify-content: center;
  width: 100%
}
.price-amount {
  font-weight: 700;
  color: #fff;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.5)
}
.savings-pill {
  background: linear-gradient(135deg,var(--pricing-accent) 0,var(--pricing-accent-dark) 100%);
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 2px 6px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.quantity-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%
}
.quantity-selector {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.2);
  width: 100%;
  justify-content: center
}
.quantity-selector label {
  color: #333;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.quantity-selector select {
  padding: 8px 12px;
  border: 2px solid rgba(0,0,0,.2);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: #333;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  min-width: 80px
}
.quantity-price-display {
  color: #333!important;
  font-weight: 700;
  font-size: .95rem;
  margin-left: 15px;
  padding: 6px 12px;
  background: rgba(0,0,0,.05);
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.1);
  white-space: nowrap
}
.register-btn {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(52,152,219,.3);
  width: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  overflow: hidden;
  animation: buttonGlow 2s ease-in-out infinite
}
.pricing-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 15px;
  align-items: center
}
.sale-indicator-compact,
.savings-indicator,
.urgency-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  width: 100%;
  justify-content: center
}
.currency-converter-background {
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.2);
  display: inline-block;
  min-width: 200px
}
.business-case-scroll-btn {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  border: none;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 4px 15px rgba(243,156,18,.3)
}
.business-case-scroll-note {
  color: #fff;
  font-size: .85rem;
  margin-top: .5rem
}
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(231,76,60,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
}
@keyframes buttonGlow {
  0%,
  100% {
    box-shadow: 0 4px 14px rgba(39,174,96,.3)
  }
  50% {
    box-shadow: 0 6px 20px rgba(39,174,96,.5)
  }
}
@keyframes urgentPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 12px 35px rgba(255,71,87,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
}
@keyframes shine {
  0% {
    left: -100%
  }
  100% {
    left: 100%
  }
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0)
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px)
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px)
  }
}
@keyframes gentlePulse {
  0%,
  100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.02)
  }
}
ul.pricing-event-meta {
  list-style-type: none;
  padding: 0
}
ul.pricing-event-meta li {
  display: inline-block;
  margin-right: 15px
}
.group-booking-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  max-width: 900px!important;
  width: calc(100% - 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  transform: scale(.9);
  opacity: 0;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.1);
  padding: 2rem
}
.group-booking-body {
  padding: 0 2rem 2rem
}
.group-booking-form input[type=email],
.group-booking-form input[type=tel],
.group-booking-form input[type=text],
.group-booking-form textarea {
  width: 100%;
  padding: .75rem;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 1rem;
  transition: all .2s;
  background: #fff
}
.group-booking-form input[type=email]:focus,
.group-booking-form input[type=tel]:focus,
.group-booking-form input[type=text]:focus,
.group-booking-form textarea:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  background: #fff
}
.group-booking-footer {
  padding: 1rem 2rem 2rem;
  text-align: center;
  border-top: 1px solid #e5e7eb
}
.group-booking-modal .group-booking-header {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  color: #fff;
  border-radius: 16px 16px 0 0;
  margin: 0 0 1rem 0;
  padding: 2.5rem 2rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0
}
.group-booking-modal .group-booking-header::before {
  content: '👥';
  font-size: 3rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  opacity: .3
}
.group-booking-modal .group-booking-header h3 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .5rem 0;
  color: #fff !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
  position: relative;
  z-index: 1
}
.group-booking-modal .group-booking-info {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #2c9f9f
}
.group-booking-modal .group-booking-info p {
  margin: 0 0 .5rem 0;
  font-size: 1rem;
  color: #495057;
  line-height: 1.6
}
.group-booking-modal .group-booking-info ul {
  margin: 0;
  padding-left: 1.5rem
}
.group-booking-modal .group-booking-info li {
  font-size: .95rem;
  color: #495057;
  margin-bottom: .5rem;
  position: relative
}
.group-booking-modal .group-booking-info li::before {
  content: '✓';
  color: #28a745;
  font-weight: 700;
  position: absolute;
  left: -1.5rem;
  top: 0
}
.group-booking-modal .group-booking-form .form-group label {
  display: block;
  font-weight: 700;
  color: #0b1a1f;
  margin-bottom: .75rem;
  font-size: 1rem
}
.group-booking-modal .group-booking-form input[type=email],
.group-booking-modal .group-booking-form input[type=tel],
.group-booking-modal .group-booking-form input[type=text],
.group-booking-modal .group-booking-form textarea {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 1rem;
  transition: all .3s ease;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.05)
}
.group-booking-modal .group-booking-form input:focus,
.group-booking-modal .group-booking-form textarea:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  transform: translateY(-1px)
}
.group-booking-modal .group-booking-submit {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  border: 0;
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  border-radius: 12px;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 4px 14px rgba(44,159,159,.25);
  position: relative;
  overflow: hidden
}
.group-booking-modal .group-booking-submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition: left .5s
}
.group-booking-modal .group-booking-submit:hover:not(:disabled)::before {
  left: 100%
}
.group-booking-modal .group-booking-submit:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(44,159,159,.35)
}
.group-booking-modal .group-booking-submit:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none
}
.group-booking-modal .group-booking-footer {
  padding: 1.5rem 2rem 2rem;
  text-align: center;
  border-top: 2px solid #e5e7eb;
  background: #f8f9fa;
  border-radius: 0 0 16px 16px;
  flex-shrink: 0
}
.group-booking-modal .group-booking-cancel {
  background: #6c757d;
  color: #fff;
  border: 2px solid #6c757d;
  padding: .875rem 2rem;
  border-radius: 10px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all .3s ease
}
.group-booking-modal .group-booking-cancel:hover {
  background: #5a6268;
  border-color: #5a6268;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108,117,125,.3)
}
@media (max-width:768px) {
  .group-booking-modal .group-booking-header {
    margin: 0;
    padding: 1.5rem 1.5rem 1rem;
    width: 100%;
    box-sizing: border-box
  }
  .group-booking-modal .group-booking-header h3 {
    font-size: 1.8rem
  }
  .group-booking-modal .group-booking-header::before {
    font-size: 2rem;
    top: .75rem
  }
  .group-booking-modal .group-booking-info {
    padding: 1.25rem
  }
  .group-booking-modal .group-booking-form .form-row {
    flex-direction: column;
    gap: 1rem
  }
}
.group-booking-modal {
  box-sizing: border-box;
  overflow: hidden;
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  align-items: center;
  justify-content: center
}
.group-booking-modal.active {
  display: flex
}
.group-booking-modal .group-booking-content {
  box-sizing: border-box;
  max-width: min(900px,calc(100vw - 2rem));
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 4rem);
  overflow-y: auto
}
.group-booking-modal .group-booking-form .form-row {
  box-sizing: border-box;
  flex-wrap: wrap;
  gap: 1rem
}
.group-booking-modal .group-booking-form .form-group {
  box-sizing: border-box;
  min-width: 0;
  flex: 1 1 250px
}
.group-booking-modal * {
  box-sizing: border-box
}
.group-booking-modal .group-booking-info {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  color: #495057!important;
  background: #f8f9fa!important;
  border-left: 4px solid #2c9f9f!important;
  padding: 1.5rem!important;
  margin-bottom: 1.5rem!important;
  border-radius: 12px!important
}
.group-booking-modal .group-booking-info h4 {
  color: #2c9f9f!important;
  font-weight: 700!important;
  margin-bottom: 1rem!important;
  font-size: 1.2rem!important
}
.group-booking-modal .group-booking-info ul {
  padding-left: 1.2rem!important;
  margin: 0!important
}
.group-booking-modal .group-booking-info li {
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #495057!important;
  margin-bottom: .5rem!important;
  font-size: .95rem!important;
  line-height: 1.4!important
}
.group-booking-modal .group-booking-info li::before {
  content: '✓';
  color: var(--pricing-primary);
  font-weight: 700;
  position: absolute;
  left: -1.5rem;
  top: 0
}
.group-booking-submit-btn {
  width: 100%;
  padding: 1.25rem 2rem;
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  border: 3px solid #fff;
  color: #fff;
  font-weight: 800;
  font-size: 1.2rem;
  border-radius: 12px;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 6px 20px rgba(44,159,159,.4),0 0 0 2px rgba(44,159,159,.2);
  margin-top: 2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  overflow: hidden
}
.group-booking-submit-btn:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(44,159,159,.5),0 0 0 3px rgba(44,159,159,.3);
  background: linear-gradient(135deg,#25888a 0,#1e6b6b 100%);
  border-color: rgba(255,255,255,.9)
}
.group-booking-submit-btn:active:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(44,159,159,.4),0 0 0 2px rgba(44,159,159,.25)
}
.group-booking-submit-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 2px 8px rgba(44,159,159,.15);
  border-color: rgba(255,255,255,.5)
}
.group-booking-submit-btn i {
  font-size: 1rem;
  color: #fff
}
#groupSize {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 500;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,.05);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
  padding-right: 3rem
}
#groupSize:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  background-color: #f8f9fa
}
#groupSize:hover {
  border-color: #2c9f9f;
  background-color: #f8f9fa
}
#groupSize option {
  padding: .5rem;
  background: #fff;
  color: #333;
  font-weight: 500
}
.group-booking-modal .group-booking-form .form-group label i {
  margin-right: .5rem;
  color: #2c9f9f;
  font-size: .9rem
}
.group-booking-modal .group-booking-form .form-group label {
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #0b1a1f;
  margin-bottom: .75rem;
  font-size: 1rem
}
.group-booking-submit-btn .fa-spinner {
  animation: spin 1s linear infinite
}
@keyframes spin {
  0% {
    transform: rotate(0)
  }
  100% {
    transform: rotate(360deg)
  }
}
@media (max-width:1024px) {
  .pricing-container-compact {
    flex-direction: column;
    gap: 15px;
    align-items: stretch
  }
  .pricing-left-column,
  .pricing-right-column {
    flex: none;
    width: 100%
  }
  .price-tier {
    min-width: auto;
    padding: 12px 16px
  }
  .quantity-selector {
    flex-direction: column;
    gap: 8px;
    padding: 16px
  }
  .quantity-selector label {
    font-size: .9rem
  }
  .quantity-price-display {
    margin-left: 0;
    margin-top: 8px;
    width: 100%;
    text-align: center
  }
  .register-btn {
    max-width: 100%
  }
  .currency-converter-background {
    min-width: auto;
    width: 100%
  }
  .pricing-banner {
    flex-direction: column;
    gap: 8px
  }
  .sale-indicator-compact,
  .savings-indicator,
  .urgency-indicator {
    white-space: normal!important;
    word-break: break-word!important;
    font-size: .9rem!important;
    line-height: 1.4!important;
    padding: 8px 12px!important;
    display: block!important;
    text-align: center!important
  }
}
@media (max-width:768px) {
  .pricing-container-compact {
    gap: 15px
  }
  .price-display-compact {
    gap: 12px
  }
  .price-tier {
    flex-direction: column;
    text-align: center;
    gap: 4px;
    padding: 16px
  }
  .savings-pill {
    align-self: center;
    font-size: .7rem;
    padding: 3px 8px
  }
  .quantity-section {
    gap: 15px
  }
  .quantity-selector {
    padding: 20px;
    gap: 12px
  }
  .quantity-selector select {
    min-width: 100px
  }
  .register-btn {
    padding: 16px 24px;
    font-size: 1.2rem
  }
  .business-case-scroll-btn {
    padding: 1rem 2rem;
    font-size: 1rem
  }
  .business-case-scroll-note {
    font-size: .9rem
  }
  .group-booking-content {
    width: calc(100% - 1rem);
    padding: 1.5rem;
    overflow-y: auto
  }
  .group-booking-body {
    padding: 0 1.5rem 1.5rem
  }
  .group-booking-footer {
    padding: 1rem 1.5rem 1.5rem
  }
}
.business-case-cta {
  text-align: center;
  margin-top: 2rem
}
.business-case-btn {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 1rem 2rem;
  border-radius: 12px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  letter-spacing: .5px;
  box-shadow: 0 6px 20px rgba(44,159,159,.3);
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  position: relative;
  overflow: hidden
}
.business-case-btn:hover {
  background: linear-gradient(135deg,#25888a 0,#1e6b6b 100%);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(44,159,159,.4)
}
.business-case-btn:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(44,159,159,.3)
}
.business-case-btn i {
  font-size: 1.2rem;
  color: #fff
}
.business-case-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition: left .5s
}
.business-case-btn:hover::before {
  left: 100%
}
.business-case-modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.7);
  backdrop-filter: blur(5px)
}
.business-case-modal.active {
  display: flex;
  align-items: center;
  justify-content: center
}
.business-case-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(2px);
  opacity: 1
}
.business-case-content {
  position: relative;
  background-color: #fff;
  margin: 5% auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  width: 90%;
  max-width: 700px;
  animation: modalFadeIn .3s ease-out;
  max-height: 80vh;
  overflow-y: auto
}
.business-case-close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  font-weight: 700;
  color: #666;
  cursor: pointer;
  transition: color .3s ease
}
.business-case-close:hover {
  color: #2c9f9f
}
.business-case-modal h2 {
  color: #2c9f9f;
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  text-align: center
}
.business-case-modal .business-case-description {
  text-align: left;
  margin-bottom: 1.5rem;
  line-height: 1.7
}
.business-case-benefits {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid #2c9f9f
}
.business-case-benefits h3 {
  color: #2c3e50;
  margin-bottom: 1rem;
  font-size: 1.2rem
}
.business-case-benefits ul {
  list-style: none;
  padding: 0
}
.business-case-benefits ul li {
  padding: .5rem 0;
  border-bottom: 1px solid #e9ecef;
  color: #495057
}
.business-case-benefits ul li:last-child {
  border-bottom: none
}
.business-case-benefits ul li::before {
  content: '✓';
  color: var(--pricing-primary);
  font-weight: 700;
  margin-right: .5rem
}
.business-case-header {
  text-align: center;
  margin-bottom: 2rem
}
.business-case-header h3 {
  color: #2c9f9f;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem
}
.business-case-header p {
  color: #666;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6
}
.business-case-body {
  display: flex;
  gap: 2rem
}
@media (max-width:768px) {
  .business-case-body {
    flex-direction: column;
    gap: 1.5rem
  }
}
.business-case-info {
  flex: 1
}
.business-case-info p {
  margin-bottom: 1rem;
  color: #555;
  line-height: 1.6
}
.business-case-info p strong {
  color: #2c3e50
}
.business-case-info ul {
  margin: 0 0 1rem 0;
  padding-left: 1.5rem
}
.business-case-info ul li {
  margin-bottom: .5rem;
  color: #555;
  line-height: 1.5
}
.business-case-form {
  flex: 1
}
.business-case-form h4 {
  color: #2c3e50;
  margin-bottom: 1rem;
  font-size: 1.2rem
}
.business-case-form p {
  color: #666;
  margin-bottom: 1.5rem;
  line-height: 1.5
}
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-50px) scale(.9)
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}
@media (max-width:768px) {
  .business-case-content {
    width: 95%;
    margin: 10% auto;
    padding: 1.5rem
  }
  .business-case-benefits {
    padding: 1rem
  }
  .business-case-body {
    gap: 1rem
  }
}
.full-width-pricing {
  width: 100%;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 4rem 2rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.1)
}
.full-width-pricing .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0
}
.full-width-pricing .pricing-section-content {
  max-width: 1200px;
  margin: 0 auto
}
.pricing-subtitle {
  color: rgba(255,255,255,.9);
  font-size: 1.2rem;
  font-weight: 400;
  margin: 0;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6
}
.pricing-section-content {
  backdrop-filter: blur(10px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas: "header pricing pricing" "header currency purchase";
  gap: 2rem;
  align-items: start;
  position: relative;
  z-index: 1
}
.pricing-header {
  grid-area: header
}
.price-display {
  grid-area: pricing
}
.currency-selector {
  grid-area: currency
}
.purchase-section {
  grid-area: purchase
}
.pricing-header {
  text-align: left
}
.business-case-cta {
  margin-top: 0
}
.business-case-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(243,156,18,.4)
}
.business-case-btn i {
  font-size: 1.1rem
}
.business-case-note {
  color: rgba(255,255,255,.8);
  font-size: .9rem;
  margin-top: 1rem;
  margin-bottom: 0
}
.price-display {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}
.price-card {
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
  border: 1px solid rgba(255,255,255,.2);
  transition: all .3s ease;
  position: relative;
  overflow: hidden
}
.price-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
  transition: left .6s ease;
  pointer-events: none
}
.price-card:hover::before {
  left: 100%
}
.price-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0,0,0,.2)
}
.price-badge {
  display: inline-block;
  background: rgba(255,255,255,.2);
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 20px;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: .5px
}
.subscriber-price .price-badge {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  color: #fff
}
.price-amount {
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .5rem;
  text-shadow: 0 2px 4px rgba(0,0,0,.3)
}
.price-label {
  color: rgba(255,255,255,.9);
  font-size: 1rem;
  font-weight: 500
}
.savings-badge {
  position: absolute;
  top: -10px;
  right: -10px;
  background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 20px;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 12px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.currency-selector {
  display: flex;
  flex-direction: column;
  gap: 1rem
}
.currency-selector label {
  color: rgba(255,255,255,.9);
  font-weight: 600;
  font-size: 1rem
}
.currency-dropdown {
  width: 100%;
  position: relative
}
.currency-dropdown select {
  width: 100%;
  padding: .75rem 1rem;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  backdrop-filter: blur(10px)
}
.currency-dropdown select:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.15);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1)
}
.currency-dropdown select:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.2)
}
.currency-dropdown select option {
  background: #fff;
  color: #333;
  padding: 8px
}
.purchase-section {
  display: flex;
  flex-direction: column;
  gap: 2rem
}
.quantity-controls {
  display: flex;
  flex-direction: column;
  gap: 1rem
}
.quantity-controls label {
  color: rgba(255,255,255,.9);
  font-weight: 600;
  font-size: 1rem
}
.quantity-controls select {
  width: 100%;
  padding: .75rem 1rem;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  backdrop-filter: blur(10px)
}
.quantity-controls select option {
  background: #fff;
  color: #333;
  padding: .5rem
}
.quantity-controls select:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.15);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1)
}
.quantity-controls select:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.2)
}
.quantity-total {
  color: rgba(255,255,255,.9);
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  padding: .5rem 1rem;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(10px)
}
.quantity-total strong {
  color: #fff;
  font-size: 1.1rem
}
.purchase-btn {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 6px 20px rgba(52,152,219,.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  width: 100%
}
.purchase-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition: left .5s ease;
  pointer-events: none
}
.purchase-btn:hover:not(:disabled)::before {
  left: 100%
}
.purchase-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(52,152,219,.4)
}
.purchase-btn i {
  font-size: 1.1rem
}
.purchase-btn.contact-btn {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  box-shadow: 0 6px 20px rgba(var(--pricing-primary-rgb),.3)
}
.purchase-btn.contact-btn:hover:not(:disabled) {
  box-shadow: 0 10px 30px rgba(var(--pricing-primary-rgb),.4)
}
.pricing-closed {
  text-align: center;
  padding: 3rem
}
.closed-notice {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 3rem;
  border: 1px solid rgba(255,255,255,.2);
  max-width: 500px;
  margin: 0 auto
}
.closed-notice i {
  font-size: 3rem;
  color: rgba(255,255,255,.8);
  margin-bottom: 1.5rem
}
.closed-notice h3 {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem
}
.closed-notice p {
  color: rgba(255,255,255,.9);
  font-size: 1.1rem;
  margin-bottom: 2rem
}
@media (max-width:1024px) {
  .pricing-section-content {
    grid-template-columns: 1fr;
    grid-template-areas: "header" "pricing" "currency" "purchase";
    gap: 2rem
  }
  .price-card {
    padding: 1.5rem
  }
  .price-amount {
    font-size: 2rem
  }
}
@media (max-width:768px) {
  .es-tech-pricing {
    padding: 2rem 1rem
  }
  .pricing-section-content {
    padding: 1.5rem;
    border-radius: 12px;
    grid-template-columns: 1fr;
    grid-template-areas: "header" "pricing" "currency" "purchase";
    gap: 1.5rem
  }
  .pricing-header {
    text-align: center
  }
  .business-case-btn {
    padding: .75rem 1.5rem;
    font-size: .9rem
  }
  .price-display {
    gap: 1rem
  }
  .price-card {
    padding: 1.25rem
  }
  .price-amount {
    font-size: 1.8rem
  }
  .currency-selector {
    text-align: center
  }
  .currency-dropdown {
    width: auto;
    max-width: 300px;
    margin: 0 auto
  }
  .cta-currency-selector {
    text-align: center
  }
  .cta-currency-selector .wcml-dropdown {
    display: inline-block;
    margin: 0 auto
  }
  .purchase-section {
    gap: 1.5rem
  }
  .quantity-controls select {
    padding: .6rem .8rem;
    font-size: .95rem
  }
  .purchase-btn {
    padding: .875rem 1.5rem;
    font-size: 1rem
  }
  .closed-notice {
    padding: 2rem
  }
  .closed-notice h3 {
    font-size: 1.5rem
  }
}
@media (max-width:480px) {
  .pricing-section-content {
    padding: 1rem;
    gap: 1rem
  }
  .price-card {
    padding: 1rem
  }
  .price-amount {
    font-size: 1.5rem
  }
  .business-case-btn {
    flex-direction: column;
    gap: .5rem;
    padding: .6rem 1rem
  }
  .purchase-btn {
    padding: .75rem 1.25rem;
    font-size: .95rem
  }
  .closed-notice {
    padding: 1.5rem
  }
  .full-width-pricing {
    padding: 1rem .5rem
  }
}
@media (max-width:768px) {
  .full-width-pricing {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    transform: none;
    left: auto;
    right: auto;
    padding: 2rem 1rem
  }
  .es-tech-pricing {
    padding: 2rem 1rem
  }
  .pricing-header {
    text-align: center
  }
  .business-case-btn {
    padding: .75rem 1.5rem;
    font-size: .9rem
  }
  .price-display {
    gap: 1rem
  }
  .price-card {
    padding: 1.25rem
  }
  .price-amount {
    font-size: 1.8rem
  }
}
.es-tech-testimonials {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  padding: 3rem 0;
  margin: 2rem 0;
  box-shadow: 0 4px 14px rgba(var(--pricing-primary-rgb),.25);
  border-radius: 8px;
  color: #fff
}
.testimonials-container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem
}
.testimonial-item {
  display: none;
  text-align: center;
  padding: 2rem;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 4px 14px rgba(0,0,0,.1)
}
.testimonial-item.active {
  display: block;
  animation: testimonialFadeIn .5s ease-in-out
}
@keyframes testimonialFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.testimonial-quote {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-style: italic;
  position: relative
}
.testimonial-quote::after,
.testimonial-quote::before {
  content: '"';
  font-size: 3rem;
  color: rgba(255,255,255,.6);
  position: absolute;
  top: -10px
}
.testimonial-quote::before {
  left: -20px
}
.testimonial-quote::after {
  right: -20px
}
.testimonial-author {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: .5rem
}
.testimonial-role {
  font-size: .95rem;
  opacity: .9;
  font-weight: 500
}
.testimonial-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-top: 2rem
}
.testimonial-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  transition: all .3s ease;
  border: 2px solid transparent
}
.testimonial-indicator.active {
  background: #fff;
  transform: scale(1.2);
  box-shadow: 0 2px 8px rgba(0,0,0,.2)
}
.testimonial-indicator:hover {
  background: rgba(255,255,255,.7);
  transform: scale(1.1)
}
.testimonial-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.2);
  color: #fff;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.2rem;
  transition: all .3s ease;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.3);
  display: flex;
  align-items: center;
  justify-content: center
}
.testimonial-nav:hover {
  background: rgba(255,255,255,.3);
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 4px 14px rgba(0,0,0,.2)
}
.testimonial-nav.prev {
  left: 10px
}
.testimonial-nav.next {
  right: 10px
}
.testimonial-nav:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: translateY(-50%)
}
.testimonial-nav:disabled:hover {
  background: rgba(255,255,255,.2);
  transform: translateY(-50%)
}
.testimonial-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem
}
.testimonial-play-pause {
  background: rgba(255,255,255,.2);
  color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  padding: .5rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: .9rem;
  transition: all .3s ease;
  backdrop-filter: blur(10px)
}
.testimonial-play-pause:hover {
  background: rgba(255,255,255,.3);
  transform: translateY(-2px)
}
.testimonial-play-pause.playing {
  background: rgba(255,255,255,.4)
}
@media (max-width:768px) {
  .testimonials-container {
    padding: 0 1rem
  }
  .testimonial-item {
    padding: 1.5rem
  }
  .testimonial-quote {
    font-size: 1.1rem
  }
  .testimonial-quote::after,
  .testimonial-quote::before {
    font-size: 2rem;
    top: -5px
  }
  .testimonial-quote::before {
    left: -15px
  }
  .testimonial-quote::after {
    right: -15px
  }
  .testimonial-author {
    font-size: 1rem
  }
  .testimonial-role {
    font-size: .9rem
  }
  .testimonial-nav {
    width: 40px;
    height: 40px;
    font-size: 1rem
  }
  .testimonial-nav.prev {
    left: 5px
  }
  .testimonial-nav.next {
    right: 5px
  }
  .testimonial-indicators {
    margin-top: 1.5rem
  }
  .testimonial-indicator {
    width: 10px;
    height: 10px
  }
}
.es-tech-faq {
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  padding: 2rem 0 1rem 0;
  margin: 1rem 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  border-radius: 6px
}
.faq-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
  gap: 1rem
}
.faq-controls {
  text-align: center;
  margin-bottom: 1.5rem
}
.faq-toggle-all {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  color: #fff;
  border: 2px solid var(--pricing-primary);
  padding: .75rem 1.5rem;
  border-radius: 6px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 2px 8px rgba(15,124,130,.3)
}
.faq-toggle-all:hover {
  background: linear-gradient(135deg,var(--pricing-primary-dark) 0,var(--pricing-primary) 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(52,152,219,.4)
}
.faq-toggle-all:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(52,152,219,.3)
}
.faq-item {
  background: #fff;
  border-radius: 6px;
  margin-bottom: .5rem;

  border-bottom: 1px solid #e9ecef;
  overflow: hidden;
  transition: all .2s ease;
  display: flex;
  flex-direction: column
}

.faq-question {
  width: 100%;
  background: 0 0;
  border: 0 !important;
  padding: 30px;
  text-align: left !important;
  font-size: 1rem !important;
  font-weight: 600;
  color: #2c3e50 !important;
  cursor: pointer;
  transition: all .2s ease;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: transparent !important;
}

.faq-question:hover {
  background: #f1f3f5 !important;
  color: #2c3e50 !important;
}

.faq-toggle {
  font-size: 1.1rem;
  color: #6c757d;
  transition: all .2s ease;
  font-weight: 700;
  margin-left: .75rem;
  flex-shrink: 0
}
.faq-item.active .faq-toggle {
  transform: rotate(45deg);
  color: var(--pricing-primary)
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease,padding .4s ease;
  background: #f8f9fa;
  border-top: 1px solid #e9ecef;
  flex: 1
}
.faq-item.active .faq-answer {
  max-height: none;
  padding: 1rem 1.25rem;
  height: auto
}
.faq-answer-content {
  color: #495057;
  line-height: 1.5;
  font-size: .95rem
}
.faq-answer-content p {
  margin-bottom: .75rem
}
.faq-answer-content p:last-child {
  margin-bottom: 0
}
.faq-answer-content ol,
.faq-answer-content ul {
  margin: 1rem 0;
  padding-left: 1.5rem
}
.faq-answer-content li {
  margin-bottom: .5rem;
  line-height: 1.5
}
.faq-answer-content strong {
  color: #2c3e50;
  font-weight: 600
}
.faq-categories {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 2rem;
  flex-wrap: wrap
}
.faq-category-btn {
  background: #e9ecef;
  color: #6c757d;
  border: 2px solid #e9ecef;
  padding: .5rem 1rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 500;
  transition: all .3s ease
}
.faq-category-btn.active,
.faq-category-btn:hover {
  background: var(--pricing-primary);
  color: #fff;
  border-color: var(--pricing-primary);
  transform: translateY(-2px)
}
@media (max-width:768px) {
  .es-tech-faq {
    padding: 1.5rem 0 .5rem 0;
    margin: .5rem 0
  }
  .faq-container {
    padding: 0 .125rem;
    grid-template-columns: 1fr;
    gap: .75rem
  }
  .faq-controls {
    margin-bottom: 1rem
  }
  .faq-toggle-all {
    padding: .6rem 1.2rem;
    font-size: .9rem
  }
  .faq-question {
    padding: 1.5rem 1.25rem;
    font-size: .95rem
  }
  .faq-toggle {
    font-size: 1rem;
    margin-left: .5rem
  }
  .faq-item.active .faq-answer {
    padding: .875rem .75rem;
    max-height: 1500px
  }
  .faq-answer-content {
    font-size: .9rem
  }
}
.es-thrive-content .es-thrive-topics .topics-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 15px;
  padding: 0;
  list-style-type: none
}
@media (max-width:768px) {
  .es-thrive-content .es-thrive-topics .topics-grid {
    grid-template-columns: 1fr
  }
}
.es-thrive-content .es-thrive-topics .topic-cell {
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  margin: 0;
  padding: 25px;
  border-left: 5px solid #0f7c82;
  color: #333;
  font-weight: 500;
  transition: box-shadow .3s ease,transform .3s ease;
  border-radius: 8px
}
.es-thrive-content .es-thrive-topics .topic-cell:hover {
  box-shadow: 0 0 20px rgba(52,152,219,.6);
  transform: translateX(10px)
}
.es-thrive-content .es-thrive-schedule {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  max-width: 1200px;
  margin-bottom: 80px
}
.es-thrive-content .es-thrive-pricing {
  max-width: 1200px;
  margin-bottom: 80px
}
.es-thrive-content .es-thrive-features {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  max-width: 1200px;
  margin-bottom: 80px
}
.es-thrive-content .es-thrive-features .features-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 15px;
  padding: 0;
  list-style: none
}
@media (max-width:768px) {
  .es-thrive-content .es-thrive-features .features-grid {
    grid-template-columns: 1fr
  }
}
.es-thrive-content .es-thrive-features .feature-cell {
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  padding: 25px;
  border-left: 5px solid #0f7c82;
  color: #333;
  font-weight: 500;
  transition: box-shadow .3s ease,transform .3s ease;
  border-radius: 8px
}
.es-thrive-content .es-thrive-features .feature-cell:hover {
  box-shadow: 0 0 20px rgba(52,152,219,.6);
  transform: translateX(10px)
}
.es-thrive-content .es-thrive-benefits {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  max-width: 1200px;
  margin-bottom: 80px;
  text-align: center
}
.es-thrive-content .es-thrive-benefits h2 {
  font-size: 3rem;
  color: #0f7c82;
  margin-bottom: 60px;
  font-weight: 700
}
.es-thrive-content .es-thrive-benefits .benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px
}
.es-thrive-content .es-thrive-benefits .benefits-grid .benefit-item {
  background: #fff;
  padding: 40px 30px;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0,0,0,.1);
  transition: transform .3s ease,box-shadow .3s ease;
  border: 1px solid #e9ecef
}
.es-thrive-content .es-thrive-benefits .benefits-grid .benefit-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0,0,0,.15)
}
.es-thrive-content .es-thrive-benefits .benefits-grid .benefit-item h3 {
  font-size: 1.5rem;
  color: #0f7c82;
  margin-bottom: 20px;
  font-weight: 600
}
.es-thrive-content .es-thrive-benefits .benefits-grid .benefit-item p {
  color: #7f8c8d;
  line-height: 1.6;
  font-size: 1rem;
  margin: 0
}
.es-thrive-content .es-thrive-sponsors {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  max-width: 1200px;
  margin-bottom: 80px;
  text-align: center
}
.es-thrive-content .es-thrive-sponsors h2 {
  color: #0f7c82;
  margin-bottom: 2rem;
  font-size: 2.5rem;
  text-align: left
}
.es-thrive-content .es-thrive-sponsors h3 {
  color: #34495e;
  margin: 2rem 0 1.5rem 0;
  font-size: 1.8rem;
  font-weight: 600
}
.es-thrive-content .es-thrive-sponsors .sponsors-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 3rem
}
.es-thrive-content .es-thrive-sponsors .sponsors-grid.featured-grid {
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
  max-width: 1200px;
  margin: 0 auto
}
.es-thrive-content .es-thrive-sponsors .sponsors-grid.normal-grid {
  grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
  max-width: 1000px;
  margin: 0 auto
}
.es-thrive-content .es-thrive-sponsors .sponsor-item {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 4px 15px rgba(0,0,0,.1);
  transition: transform .3s ease,box-shadow .3s ease;
  text-align: center;
  border: 2px solid transparent
}
.es-thrive-content .es-thrive-sponsors .sponsor-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,.15)
}
.es-thrive-content .es-thrive-sponsors .sponsor-item.featured-sponsor {
  border-color: #f39c12;
  background: linear-gradient(135deg,#fff 0,#fefefe 100%)
}
.es-thrive-content .es-thrive-sponsors .sponsor-item.featured-sponsor:hover {
  border-color: #e67e22
}
.es-thrive-content .es-thrive-sponsors .sponsor-item.normal-sponsor {
  border-color: #bdc3c7
}
.es-thrive-content .es-thrive-sponsors .sponsor-item img {
  max-width: 150px;
  max-height: 80px;
  object-fit: contain;
  margin-bottom: 1rem
}
.es-thrive-content .es-thrive-sponsors .sponsor-item h4 {
  color: #2c3e50;
  margin: 1rem 0 .5rem 0;
  font-size: 1.2rem;
  font-weight: 600
}
.es-thrive-content .es-thrive-sponsors .sponsor-item p {
  color: #7f8c8d;
  font-size: .95rem;
  line-height: 1.5;
  margin: 0
}
.es-thrive-content .es-thrive-sponsors .sponsor-item a {
  text-decoration: none;
  color: inherit;
  display: block
}
.es-thrive-content .es-thrive-sponsors .sponsor-item a:hover h4 {
  color: #0f7c82
}
.es-section-heading {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: 0 0 1rem 0;
  font-weight: 600
}
.es-section-heading .es-section-icon {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: 4px;
  flex: 0 0 28px
}
@media (max-width:768px) {
  .es-section-heading .es-section-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px
  }
}
.es-thrive-hero-cta-button,
.es-thrive-final-cta-button,
.theme-thrive .btn.btn-primary,
.theme-thrive .button-row .btn.btn-primary,
.theme-thrive .comparison-cta .btn,
.theme-thrive .purchase-btn:not(.contact-btn),
.theme-thrive .register-btn {
  background: linear-gradient(135deg,#0f7c82 0,#0c6368 100%);
  box-shadow: 0 4px 14px rgba(15,124,130,.3)
}
.es-thrive-hero-cta-button:hover,
.es-thrive-final-cta-button:hover,
.theme-thrive .btn.btn-primary:hover,
.theme-thrive .button-row .btn.btn-primary:hover,
.theme-thrive .comparison-cta .btn:hover,
.theme-thrive .purchase-btn:not(.contact-btn):hover:not(:disabled),
.theme-thrive .register-btn:hover:not(:disabled) {
  background: linear-gradient(135deg,#0c6368 0,#0f7c82 100%);
  box-shadow: 0 6px 20px rgba(15,124,130,.4);
  color: #fff
}
.es-thrive-hero-button {
  text-align: center;
  margin-top: 40px
}
.es-thrive-hero-cta-button,.es-thrive-final-cta-button {
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-decoration: none;
  letter-spacing: .5px;
  width: 100%
}
.theme-thrive .faq-toggle-all {
  background: linear-gradient(135deg,#0f7c82 0,#0c6368 100%);
  border-color: #0f7c82;
  box-shadow: 0 2px 8px rgba(15,124,130,.3)
}
.theme-thrive .faq-toggle-all:hover {
  background: linear-gradient(135deg,#0c6368 0,#0f7c82 100%);
  box-shadow: 0 4px 12px rgba(15,124,130,.4)
}
.theme-thrive .faq-question:hover {
  color: #0f7c82
}
.theme-thrive .faq-item.active .faq-toggle {
  color: #0f7c82
}
.theme-thrive .faq-category-btn.active,
.theme-thrive .faq-category-btn:hover {
  background: #0f7c82;
  border-color: #0f7c82
}
.theme-thrive .hero-savings-indicator-inline {
  background: linear-gradient(135deg,#0f7c82 0,#0c6368 100%);
  box-shadow: 0 2px 12px rgba(15,124,130,.3)
}
.speaker-item {
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  border: 1px solid #e5e7eb;
  padding: 30px;
  text-align: center;
  transition: box-shadow .3s ease,transform .3s ease;
  border-radius: 12px
}
.speaker-item:hover {
  box-shadow: 0 0 25px rgba(52,152,219,.5);
  transform: translateY(-5px)
}
.speaker-item .speaker-time {
  font-weight: 700;
  color: #0f7c82;
  margin-bottom: 15px;
  font-size: 1.1em
}
.speaker-item h3 {
  margin: 0 0 10px 0;
  color: #333;
  font-size: 1.4em
}
.speaker-item p {
  margin: 0;
  color: #666;
  font-size: 1.1em
}
.es-thrive-speaker-list {
  display: flex;
  flex-direction: column;
  gap: 2rem
}
.schedule-item {
  display: flex;
  gap: 1.5rem;
  padding: 1.5rem;
  background: rgba(255,255,255,.95);
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.1);
  backdrop-filter: blur(10px)
}
.schedule-item .schedule-time {
  flex-shrink: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #2c3e50;
  min-width: 80px;
  text-align: center;
  background: rgba(44,159,159,.1);
  padding: .5rem 1rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center
}
.schedule-item .schedule-content {
  flex: 1
}
.schedule-item .schedule-content h3 {
  color: #2c3e50;
  margin: 0 0 .5rem 0;
  font-size: 1.2rem;
  font-weight: 600
}
.schedule-item .schedule-content .session-description {
  color: #34495e;
  margin: 0 0 1rem 0;
  line-height: 1.5;
  font-size: .95rem
}
.schedule-item .schedule-content .speaker-info {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0,0,0,.1)
}
.schedule-item .schedule-content .speaker-info .speaker-photo {
  flex-shrink: 0
}
.schedule-item .schedule-content .speaker-info .speaker-photo img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(44,159,159,.3)
}
.schedule-item .schedule-content .speaker-info .speaker-details {
  flex: 1
}
.schedule-item .schedule-content .speaker-info .speaker-details h4 {
  color: #2c3e50;
  margin: 0 0 .5rem 0;
  font-size: 1rem;
  font-weight: 600
}
.schedule-item .schedule-content .speaker-info .speaker-details h4 a {
  color: inherit;
  text-decoration: none
}
.schedule-item .schedule-content .speaker-info .speaker-details h4 a:hover {
  color: #0f7c82
}
.schedule-item .schedule-content .speaker-info .speaker-details .speaker-bio {
  color: #34495e;
  margin: 0;
  font-size: .9rem;
  line-height: 1.4
}
.es-thrive-testimonials {
  background: linear-gradient(135deg,#f5f7fa 0,#e9ecef 100%);
  padding: 60px 0
}
.es-thrive-testimonials .testimonial {
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: left;
  padding: 35px;
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  border-left: 5px solid #0f7c82;
  transition: box-shadow .3s ease,transform .3s ease;
  border-radius: 12px
}
.es-thrive-testimonials .testimonial:hover {
  box-shadow: 0 0 25px rgba(52,152,219,.5);
  transform: translateY(-5px)
}
.es-thrive-testimonials .testimonial p {
  font-size: 1.3em;
  margin-bottom: 15px;
  color: #333;
  font-style: italic;
  line-height: 1.6
}
.es-thrive-testimonials .testimonial cite {
  color: #0f7c82;
  font-weight: 700;
  font-size: 1.2em;
  text-align: right;
  display: block
}
.es-thrive-faq .faq-item {

  margin-bottom: 20px;

}
.es-thrive-faq .faq-item:hover {

  transform: translateY(-5px)
}
.es-thrive-faq .faq-item h3 {
  color: #333;
  margin-bottom: 10px;
  font-size: 1.3em;
  border-bottom: 2px solid #0f7c82;
  padding-bottom: 5px;
  display: inline-block
}
.es-thrive-faq .faq-item p {
  color: #666;
  line-height: 1.6;
  font-size: 1.1em
}
.pricing-container {
  position: relative;
  margin-bottom: 30px;
  background: 0 0
}
.pricing-container .savings-badge {
  position: absolute;
  top: -12px;
  right: -12px;
  background: linear-gradient(135deg,#e67e22 0,#c0392b 100%);
  color: #fff;
  padding: 6px 14px;
  border-radius: 18px;
  font-weight: 700;
  font-size: .85em;
  z-index: 10;
  box-shadow: 0 3px 10px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.sale-indicator {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  text-align: center;
  padding: 12px;
  margin: 20px 0;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1em;
  animation: shake 4s ease-in-out infinite
}
.sale-indicator .sale-ends {
  font-weight: 400;
  font-size: .9em;
  opacity: .9;
  margin-left: 10px
}
.urgency-message {
  text-align: center;
  margin: 25px 0;
  position: relative
}
.urgency-message .urgent-message {
  background: linear-gradient(135deg,#ff4757 0,#ff3838 100%);
  color: #fff;
  padding: 20px 25px;
  border-radius: 15px;
  font-weight: 700;
  font-size: 1.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  box-shadow: 0 10px 30px rgba(255,71,87,.4);
  border: 2px solid rgba(255,255,255,.3);
  animation: urgentPulse 2.5s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.urgency-message .urgent-message::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
  animation: shine 4s ease-in-out infinite
}
.urgency-message .urgent-message i {
  font-size: 1.8em;
  color: #fff;
  z-index: 1;
  position: relative
}
.urgency-message .urgent-message .urgent-content {
  text-align: left;
  z-index: 1;
  position: relative
}
.urgency-message .warning-message {
  background: linear-gradient(135deg,#ffa726 0,#fb8c00 100%);
  color: #fff;
  padding: 18px 22px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: 0 8px 25px rgba(255,167,38,.3);
  border: 1px solid rgba(255,255,255,.4);
  position: relative
}
.urgency-message .warning-message i {
  font-size: 1.5em;
  color: #fff
}
.urgency-message .warning-message .warning-content {
  text-align: left
}
.urgency-message .info-message {
  background: linear-gradient(135deg,#4fc3f7 0,#29b6f6 100%);
  color: #fff;
  padding: 16px 20px;
  border-radius: 10px;
  font-weight: 500;
  font-size: .95em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(79,195,247,.25);
  border: 1px solid rgba(255,255,255,.3)
}
.urgency-message .info-message i {
  font-size: 1.3em;
  color: #fff
}
.urgency-message .info-message .info-content {
  text-align: left
}
.price-display {
  text-align: center
}
.price-display.subscriber-price {
  background: rgba(212,237,218,.2);
  border-color: rgba(195,230,203,.5);
  color: #fff;
  position: relative
}
.price-display del {
  text-decoration: line-through;
  color: #ccc;
  font-size: .9em;
  margin-right: 8px
}
.price-display ins {
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  font-size: 1.1em
}
.price-display .savings-amount-label {
  position: absolute;
  top: 5px;
  right: 10px;
  background: #0f7c82;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: .85em;
  font-weight: 700;
  z-index: 10
}
.savings-amount {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  text-align: center;
  padding: 10px;
  margin: 15px 0;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1em;
  border: 3px solid red!important
}
.savings-percentage-label {
  position: absolute;
  top: 5px;
  right: 10px;
  background: #0f7c82;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: .85em;
  font-weight: 700;
  z-index: 10
}
.pricing-container-compact {
  position: relative;
  margin-bottom: 20px;
  background: 0 0;
  max-width: 100%;
  display: flex;
  gap: 20px;
  align-items: flex-start
}
.pricing-container-compact .pricing-left-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px
}
.pricing-container-compact .pricing-right-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 15px
}
@media (max-width:768px) {
  .pricing-container-compact {
    flex-direction: column;
    gap: 15px;
    width: 100%;
    overflow-x: hidden
  }
  .pricing-container-compact .pricing-left-column,
  .pricing-container-compact .pricing-right-column {
    flex: none;
    width: 100%;
    box-sizing: border-box
  }
  .pricing-container-compact .price-tier {
    min-width: auto;
    padding: 6px 12px;
    font-size: .9rem
  }
  .pricing-container-compact .quantity-price-display {
    white-space: normal;
    word-break: break-word;
    font-size: .85rem;
    padding: 4px 8px
  }
  .pricing-container-compact .currency-background-container {
    flex-direction: column;
    gap: .5rem;
    align-items: flex-start
  }
  .pricing-container-compact .currency-heading {
    font-size: .85rem
  }
}
.pricing-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 15px;
  align-items: center
}
.pricing-banner .sale-indicator-compact,
.pricing-banner .savings-indicator,
.pricing-banner .urgency-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  width: 100%;
  justify-content: center
}
.pricing-banner .urgency-indicator {
  background: linear-gradient(135deg,#ff4757 0,#ff3838 100%);
  color: #fff;
  animation: urgentPulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.pricing-banner .urgency-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 4s ease-in-out infinite
}
.pricing-banner .sale-indicator-compact {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  animation: shake 4s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.pricing-banner .sale-indicator-compact::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 12s ease-in-out infinite
}
.pricing-banner .savings-indicator {
  background: linear-gradient(135deg,#0f7c82 0,#2ecc71 100%);
  color: #fff;
  animation: gentlePulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.pricing-banner .savings-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 8s ease-in-out infinite;
  pointer-events: none
}
.pricing-banner .sale-timer {
  font-weight: 500;
  font-size: .8rem;
  opacity: .9
}
.price-display-compact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 15px;
  align-items: center;
  width: 100%
}
.price-display-compact .price-tier {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  min-width: 200px;
  justify-content: center;
  width: 100%
}
.price-display-compact .price-tier.subscriber-tier {
  background: rgba(212,237,218,.15);
  border-color: rgba(195,230,203,.3)
}
.price-display-compact .price-tier.regular-tier {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15)
}
.price-display-compact .price-tier .price-label {
  font-weight: 600;
  color: rgba(255,255,255,.9);
  font-size: .95rem
}
.price-display-compact .price-tier .price-amount {
  font-weight: 700;
  color: #fff;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.5)
}
.price-display-compact .price-tier .price-amount del {
  text-decoration: line-through;
  color: rgba(255,255,255,.6);
  font-size: .9rem;
  margin-right: 6px
}
.price-display-compact .price-tier .price-amount ins {
  text-decoration: none;
  color: #fff;
  font-weight: 700
}
.price-display-compact .price-tier .savings-pill {
  background: linear-gradient(135deg,#e67e22 0,#c0392b 100%);
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 2px 6px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.quantity-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%
}
.quantity-section .quantity-selector {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(5px);
  width: 100%;
  justify-content: center
}
.quantity-section .quantity-selector label {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.quantity-section .quantity-selector select {
  padding: 8px 12px;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  min-width: 80px
}
.quantity-section .quantity-selector select:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.15);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1)
}
.quantity-section .quantity-selector select:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.2)
}
.quantity-section .quantity-selector select option {
  background: #fff;
  color: #333;
  padding: 8px
}
.quantity-section .quantity-price-display {
  color: #fff!important;
  font-weight: 700;
  font-size: .95rem;
  margin-left: 15px;
  padding: 6px 12px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  white-space: nowrap
}
.quantity-section .quantity-price-display strong {
  color: #fff
}
.quantity-section .quantity-price-display small {
  color: rgba(255,255,255,.8);
  font-weight: 400
}
.register-btn {
  background: linear-gradient(135deg,#0f7c82 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(39,174,96,.3);
  width: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  overflow: hidden;
  animation: buttonGlow 2s ease-in-out infinite
}
.register-btn:hover {
  background: linear-gradient(135deg,#229954 0,#0f7c82 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(39,174,96,.4)
}
.savings-summary {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  text-align: center;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: .9rem;
  margin-top: 10px;
  box-shadow: 0 2px 8px rgba(243,156,18,.3);
  width: 100%;
  margin-left: auto;
  margin-right: auto
}
.savings-summary .login-link {
  background: 0 0;
  border: none;
  color: #fff;
  text-decoration: underline;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  margin: 0;
  font-size: inherit
}
.savings-summary .login-link:hover {
  text-decoration: none
}
@keyframes fadeInGlow {
  0% {
    opacity: 0;
    text-shadow: 0 0 0 rgba(52,152,219,0)
  }
  50% {
    opacity: 1;
    text-shadow: 0 0 20px rgba(52,152,219,.8)
  }
  100% {
    opacity: 1;
    text-shadow: 0 0 20px rgba(52,152,219,.8)
  }
}
@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(50px)
  }
  100% {
    opacity: 1;
    transform: translateY(0)
  }
}
@keyframes gradientShift {
  0% {
    background: linear-gradient(135deg,#0f0f23 0,#1a1a2e 100%)
  }
  100% {
    background: linear-gradient(135deg,#1a1a2e 0,#0f3461 100%)
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(52,152,219,.7)
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 0 20px 5px rgba(52,152,219,0)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(52,152,219,0)
  }
}
@keyframes float {
  0%,
  100% {
    transform: translateY(0)
  }
  50% {
    transform: translateY(-10px)
  }
}
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(50px)
  }
  100% {
    opacity: 1;
    transform: translateY(0)
  }
}
@keyframes growthSprout {
  0% {
    transform: scale(0) rotate(-180deg);
    opacity: 0
  }
  50% {
    transform: scale(1.2) rotate(-90deg);
    opacity: .7
  }
  100% {
    transform: scale(1) rotate(0);
    opacity: 1
  }
}
@keyframes urgentPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 12px 35px rgba(255,71,87,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
}
@keyframes shine {
  0% {
    left: -100%
  }
  100% {
    left: 100%
  }
}
@keyframes gentlePulse {
  0%,
  100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.02)
  }
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0)
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px)
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px)
  }
}
@keyframes buttonGlow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(255,255,255,.6)
  }
  50% {
    box-shadow: 0 0 0 15px rgba(255,255,255,0)
  }
}
.sc-adding-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px)
}
.sc-adding-card {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  max-width: 300px;
  width: 90%;
  text-align: center;
  box-shadow: 0 20px 40px rgba(0,0,0,.3);
  animation: scCardBounce .3s ease-out
}
.sc-adding-card img {
  max-width: 120px;
  height: auto;
  border-radius: 8px;
  margin-bottom: 1rem
}
.sc-adding-card .sc-adding-text-wrap {
  margin-top: 1rem
}
.sc-adding-card .sc-adding-text {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0b1a1f
}
.sc-adding-card-animate {
  transition: transform 2s cubic-bezier(.25, .46, .45, .94),opacity 2s ease-out
}
@keyframes scCardBounce {
  0% {
    transform: scale(.8);
    opacity: 0
  }
  100% {
    transform: scale(1);
    opacity: 1
  }
}
.sc-fly-item {
  position: fixed;
  z-index: 10000;
  pointer-events: none;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 2s cubic-bezier(.25, .46, .45, .94),opacity 2s ease-out
}
.sc-fly-item img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
@keyframes cartPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,.7)
  }
  8.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  16.67% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  25% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  33.33% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  41.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  50% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  58.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  66.67% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  75% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  83.33% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  91.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
}
@keyframes cartGlow {
  0% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
  50% {
    filter: drop-shadow(0 0 20px rgba(44, 159, 159, .8))
  }
  100% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
}
.cart-pulse {
  animation: cartPulse 2.4s ease-out,cartGlow 2.4s ease-out
}
@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0
  }
  to {
    transform: translateX(0);
    opacity: 1
  }
}
@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1
  }
  to {
    transform: translateX(100%);
    opacity: 0
  }
}
.hero-urgency-inline-fullwidth {
  padding: 1rem 1rem 2rem 1rem;
  text-align: center;
  display: block;
  width: 100%;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.2);
  margin-bottom: 0
}
.hero-urgency-inline-fullwidth .hero-closed-message-inline,
.hero-urgency-inline-fullwidth .hero-info-message-inline,
.hero-urgency-inline-fullwidth .hero-urgent-message-inline,
.hero-urgency-inline-fullwidth .hero-warning-message-inline {
  display: inline-block;
  align-items: center;
  gap: .25rem;
  padding: .5rem 1rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: .9rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  animation: gentlePulse 2s ease-in-out infinite;
  flex-shrink: 0;
  white-space: nowrap;
  margin: 0 .5rem .5rem 0;
  vertical-align: top
}
.hero-urgency-inline-fullwidth .hero-urgent-message-inline {
  background: linear-gradient(135deg,#ff4757 0,#ff3838 100%);
  color: #fff;
  box-shadow: 0 2px 12px rgba(255,71,87,.3)
}
.hero-urgency-inline-fullwidth .hero-warning-message-inline {
  background: linear-gradient(135deg,#ffa726 0,#fb8c00 100%);
  color: #fff;
  box-shadow: 0 2px 12px rgba(255,167,38,.3)
}
.hero-urgency-inline-fullwidth .hero-info-message-inline {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  color: #fff;
  box-shadow: 0 2px 12px rgba(44,159,159,.3)
}
.hero-urgency-inline-fullwidth .hero-closed-message-inline {
  background: linear-gradient(135deg,#95a5a6 0,#7f8c8d 100%);
  color: #fff;
  box-shadow: 0 2px 12px rgba(149,165,166,.3)
}
.hero-urgency-inline-fullwidth .hero-sale-indicator-inline {
  display: inline-block;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  background: linear-gradient(135deg,#ff6b35 0,#f7931e 100%);
  color: #fff;
  border-radius: 6px;
  font-weight: 600;
  font-size: .9rem;
  box-shadow: 0 2px 8px rgba(255,107,53,.3);
  animation: gentlePulse 2s ease-in-out infinite;
  flex-shrink: 0;
  margin: 0 .5rem .5rem 0;
  vertical-align: top
}
.hero-urgency-inline-fullwidth .hero-savings-indicator-inline {
  display: inline-block;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  background: linear-gradient(135deg,#0f7c82 0,#2ecc71 100%);
  color: #fff;
  border-radius: 6px;
  font-weight: 600;
  font-size: .9rem;
  box-shadow: 0 2px 8px rgba(39,174,96,.3);
  animation: gentlePulse 2s ease-in-out infinite;
  flex-shrink: 0;
  margin: 0 .5rem .5rem 0;
  vertical-align: top
}
.hero-urgency-inline-fullwidth .hero-sale-ends-inline {
  display: inline;
  font-size: .8rem;
  font-weight: 500;
  margin-top: .15rem;
  opacity: .95
}
.read-more-container {
  position: relative
}
.read-more-container .read-more-toggle {
  color: #007cba;
  cursor: pointer;
  font-weight: 500;
  margin-left: 5px
}
.read-more-container .read-more-toggle:hover {
  text-decoration: underline
}
.speaker-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(8px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all .4s cubic-bezier(.25, .46, .45, .94)
}
.speaker-modal-overlay.active {
  opacity: 1;
  visibility: visible
}
.speaker-modal-overlay .speaker-modal-content {
  background: linear-gradient(135deg,#fff 0,#f8f9fa 100%);
  border-radius: 20px;
  max-width: 900px;
  width: 95%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  padding: 0;
  box-shadow: 0 25px 60px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.1);
  transform: scale(.9) translateY(20px);
  transition: all .4s cubic-bezier(.25, .46, .45, .94);
  border: 1px solid rgba(255,255,255,.2)
}
.speaker-modal-overlay.active .speaker-modal-overlay .speaker-modal-content {
  transform: scale(1) translateY(0)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0,0,0,.1);
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #666;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease;
  z-index: 10
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-close:hover {
  background: rgba(0,0,0,.2);
  color: #333;
  transform: rotate(90deg)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header {
  background: linear-gradient(135deg,#0f7c82 0,#2c3e50 100%);
  color: #fff;
  padding: 40px 40px 30px;
  border-radius: 20px 20px 0 0;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.15)"/><circle cx="10" cy="50" r="0.5" fill="rgba(255,255,255,0.15)"/><circle cx="90" cy="50" r="0.5" fill="rgba(255,255,255,0.15)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: .3
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-photo {
  flex-shrink: 0;
  margin-right: 30px;
  position: relative
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-photo img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid rgba(255,255,255,.3);
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  transition: transform .3s ease
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-photo:hover img {
  transform: scale(1.05)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-photo .no-photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: linear-gradient(135deg,#e9ecef 0,#dee2e6 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6c757d;
  font-size: 16px;
  text-align: center;
  border: 4px solid rgba(255,255,255,.3);
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  font-weight: 600
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info {
  flex: 1
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info .speaker-modal-name {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px 0;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
  line-height: 1.2
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info .speaker-modal-title {
  font-size: 18px;
  color: rgba(255,255,255,.9);
  margin: 0 0 15px 0;
  font-weight: 500
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info .speaker-modal-meta {
  display: flex;
  gap: 20px;
  font-size: 14px;
  color: rgba(255,255,255,.8)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info .speaker-modal-meta .meta-item {
  display: flex;
  align-items: center;
  gap: 5px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-header .speaker-modal-info .speaker-modal-meta .meta-item i {
  font-size: 16px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body {
  padding: 40px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio {
  color: #495057;
  line-height: 1.7;
  margin-bottom: 40px;
  font-size: 16px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h1,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h2,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h3,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h4,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h5,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h6 {
  color: #343a40;
  margin-top: 30px;
  margin-bottom: 15px;
  font-weight: 600;
  line-height: 1.3
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h1 {
  font-size: 28px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h2 {
  font-size: 24px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h3 {
  font-size: 20px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio h4 {
  font-size: 18px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio p {
  margin-bottom: 20px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio p:last-child {
  margin-bottom: 0
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio a {
  color: #0f7c82;
  text-decoration: none;
  font-weight: 500;
  transition: color .3s ease
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio a:hover {
  color: #2c3e50;
  text-decoration: underline
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio blockquote {
  border-left: 4px solid #0f7c82;
  padding-left: 20px;
  margin: 20px 0;
  font-style: italic;
  color: #6c757d;
  background: rgba(52,152,219,.05);
  padding: 15px 20px;
  border-radius: 0 8px 8px 0
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio ol,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio ul {
  margin-bottom: 20px;
  padding-left: 25px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio ol li,
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-bio ul li {
  margin-bottom: 8px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions {
  background: #f8f9fa;
  border-radius: 15px;
  padding: 30px;
  border: 1px solid #e9ecef
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions h4 {
  font-size: 24px;
  color: #343a40;
  margin: 0 0 25px 0;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 15px;
  border: 1px solid #e9ecef;
  transition: all .3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,.05)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,.1);
  border-color: #1e3c72
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item:last-child {
  margin-bottom: 0
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg,#0f7c82 0,#2c3e50 100%);
  color: #fff;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 15px;
  box-shadow: 0 3px 10px rgba(52,152,219,.3)
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-time i {
  font-size: 16px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-title {
  font-size: 18px;
  font-weight: 600;
  color: #343a40;
  margin-bottom: 10px;
  line-height: 1.4
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-description {
  color: #6c757d;
  line-height: 1.6;
  margin: 0;
  font-size: 15px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-details {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #e9ecef;
  display: flex;
  gap: 20px;
  font-size: 14px;
  color: #6c757d
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-details .detail-item {
  display: flex;
  align-items: center;
  gap: 5px
}
.speaker-modal-overlay .speaker-modal-content .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-details .detail-item i {
  color: #1e3c72;
  font-size: 16px
}
@media (max-width:768px) {
  .speaker-modal-content {
    width: 95%;
    margin: 10px;
    max-height: 95vh
  }
  .speaker-modal-header {
    padding: 30px 20px 20px;
    flex-direction: column;
    text-align: center
  }
  .speaker-modal-header .speaker-modal-photo {
    margin-right: 0;
    margin-bottom: 20px
  }
  .speaker-modal-header .speaker-modal-photo .no-photo,
  .speaker-modal-header .speaker-modal-photo img {
    width: 120px;
    height: 120px
  }
  .speaker-modal-header .speaker-modal-info .speaker-modal-name {
    font-size: 28px
  }
  .speaker-modal-header .speaker-modal-info .speaker-modal-title {
    font-size: 16px
  }
  .speaker-modal-header .speaker-modal-info .speaker-modal-meta {
    justify-content: center;
    gap: 15px
  }
  .speaker-modal-body {
    padding: 20px
  }
  .speaker-modal-body .speaker-modal-bio {
    font-size: 15px;
    margin-bottom: 30px
  }
  .speaker-modal-body .speaker-modal-sessions {
    padding: 20px
  }
  .speaker-modal-body .speaker-modal-sessions h4 {
    font-size: 20px;
    margin-bottom: 20px
  }
  .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item {
    padding: 15px
  }
  .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-title {
    font-size: 16px
  }
  .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-description {
    font-size: 14px
  }
  .speaker-modal-body .speaker-modal-sessions .speaker-sessions-timetable .session-item .session-details {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start
  }
  .speaker-modal-close {
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    font-size: 18px
  }
  .hero-info-message,
  .hero-urgent-message,
  .hero-warning-message {
    flex-direction: column;
    text-align: center;
    gap: .5rem;
    padding: .6rem 1rem;
    font-size: 1rem
  }
  .hero-sale-indicator {
    font-size: 1rem;
    padding: .6rem 1rem
  }
  .hero-urgency-inline-fullwidth {
    padding: .75rem .75rem 1.5rem .75rem
  }
  .hero-urgency-inline-fullwidth .hero-closed-message-inline,
  .hero-urgency-inline-fullwidth .hero-info-message-inline,
  .hero-urgency-inline-fullwidth .hero-urgent-message-inline,
  .hero-urgency-inline-fullwidth .hero-warning-message-inline {
    font-size: .85rem;
    padding: .5rem .8rem
  }
  .schedule-item {
    flex-direction: column;
    gap: 1rem;
    padding: 1rem
  }
  .schedule-item .schedule-time {
    align-self: flex-start;
    min-width: auto;
    width: 100%;
    text-align: left;
    justify-content: flex-start
  }
  .schedule-item .speaker-info {
    flex-direction: column;
    gap: .75rem;
    text-align: center
  }
  .schedule-item .speaker-info .speaker-photo img {
    width: 50px;
    height: 50px
  }
  .es-thrive-sponsors .sponsors-grid.featured-grid {
    grid-template-columns: 1fr!important;
    gap: 1rem
  }
  .es-thrive-sponsors .sponsors-grid.normal-grid {
    grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
    gap: 1rem
  }
  .es-thrive-sponsors .sponsor-item {
    padding: 1rem;
    overflow: hidden;
    box-sizing: border-box;
    max-width: 100%;
    width: 100%
  }
  .es-thrive-sponsors .sponsor-item img {
    max-width: 100%!important;
    max-height: 60px!important;
    width: auto!important;
    height: auto!important;
    object-fit: contain;
    margin-bottom: .75rem;
    display: block;
    margin-left: auto;
    margin-right: auto
  }
  .es-thrive-sponsors .sponsor-item h4 {
    font-size: 1rem;
    margin: .25rem 0;
    word-wrap: break-word;
    overflow-wrap: break-word
  }
  .es-thrive-sponsors .sponsor-item p {
    font-size: .85rem;
    margin: .25rem 0
  }
  .es-thrive-sponsors .sponsor-item a {
    display: block;
    text-decoration: none;
    color: inherit
  }
}
.es-thrive-sponsors {
  margin: 3rem 0
}
.es-thrive-sponsors h2 {
  color: #2c3e50;
  margin-bottom: 2rem;
  text-align: left
}
.es-thrive-sponsors h3 {
  color: #34495e;
  margin-bottom: 1.5rem;
  text-align: center
}
.es-thrive-sponsors .sponsors-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 3rem
}
.es-thrive-sponsors .sponsors-grid.featured-grid {
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr))
}
.es-thrive-sponsors .sponsors-grid.normal-grid {
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr))
}
.es-thrive-sponsors .sponsor-item {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  transition: transform .3s ease,box-shadow .3s ease
}
.es-thrive-sponsors .sponsor-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0,0,0,.15)
}
.es-thrive-sponsors .sponsor-item.featured-sponsor {
  border: 2px solid #0f7c82
}
.es-thrive-sponsors .sponsor-item img {
  max-width: 100%;
  height: auto;
  max-height: 120px;
  object-fit: contain;
  margin-bottom: 1rem;
  display: block;
  margin-left: auto;
  margin-right: auto
}
.es-thrive-sponsors .sponsor-item h4 {
  color: #2c3e50;
  margin: .5rem 0;
  font-size: 1.1rem
}
.es-thrive-sponsors .sponsor-item p {
  color: #7f8c8d;
  font-size: .9rem;
  margin: .5rem 0
}
.es-thrive-testimonials {
  margin: 3rem 0;
  background: #f8f9fa;
  padding: 3rem 0
}
.es-thrive-testimonials h2 {
  color: #2c3e50;
  margin-bottom: 2rem;
  text-align: left
}
.es-thrive-testimonials .testimonials-container {
  position: relative;
  max-width: 800px;
  margin: 0 auto 2rem;
  overflow: hidden
}
.es-thrive-testimonials .testimonials-container .testimonial {
  display: none;
  text-align: center;
  padding: 2rem;
  opacity: 0;
  transition: opacity .5s ease
}
.es-thrive-testimonials .testimonials-container .testimonial.active {
  display: block;
  opacity: 1
}
.es-thrive-testimonials .testimonials-container .testimonial .testimonial-content {
  margin-bottom: 1rem
}
.es-thrive-testimonials .testimonials-container .testimonial .testimonial-text {
  font-size: 1.2rem;
  color: #2c3e50;
  font-style: italic;
  margin-bottom: 1rem;
  line-height: 1.6;
  transition: all .3s ease
}
.es-thrive-testimonials .testimonials-container .testimonial .testimonial-text.truncated {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical
}
.es-thrive-testimonials .testimonials-container .testimonial .testimonial-text.expanded {
  display: block
}
.es-thrive-testimonials .testimonials-container .testimonial .read-more-toggle {
  color: #0f7c82;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: underline;
  transition: color .3s ease
}
.es-thrive-testimonials .testimonials-container .testimonial .read-more-toggle:hover {
  color: var(--pricing-primary-dark)
}
.es-thrive-testimonials .testimonials-container .testimonial cite {
  color: #0f7c82;
  font-weight: 700;
  font-size: 1rem
}
.es-thrive-testimonials .testimonial-indicators {
  display: flex;
  justify-content: center;
  gap: .5rem
}
.es-thrive-testimonials .testimonial-indicators .indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #bdc3c7;
  cursor: pointer;
  transition: background .3s ease
}
.es-thrive-testimonials .testimonial-indicators .indicator.active {
  background: #0f7c82
}
.es-thrive-testimonials .testimonial-indicators .indicator:hover {
  background: var(--pricing-primary-dark)
}
.quantity-selector {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: .75rem;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2)
}
.quantity-selector label {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.quantity-selector select {
  padding: .5rem .75rem;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 6px;
  background: rgba(52,152,219,.2);
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  min-width: 80px
}
.quantity-selector select:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  background: rgba(52,152,219,.3);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1)
}
.quantity-selector select:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(52,152,219,.4)
}
.quantity-selector select option {
  background: #fff;
  color: #333;
  padding: 8px
}
.quantity-price-display {
  color: #fff!important;
  font-weight: 700;
  font-size: .95rem;
  margin-left: 1rem;
  padding: .5rem .75rem;
  background: rgba(255,255,255,.1);
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.2);
  white-space: nowrap
}
.quantity-price-display strong {
  color: #fff
}
.quantity-price-display small {
  color: rgba(255,255,255,.8);
  font-weight: 400
}
.currency-background-container {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  padding: .75rem;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2)
}
.currency-background-container .currency-heading {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.currency-background-container .currency-converter-background {
  flex: 1;
  min-width: 0
}
.currency-background-container .currency-converter-background select {
  width: 100%;
  padding: .5rem .75rem;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 6px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease
}
.currency-background-container .currency-converter-background select:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.15);
  box-shadow: 0 0 0 3px rgba(255,255,255,.1)
}
.currency-background-container .currency-converter-background select:hover {
  border-color: rgba(255,255,255,.5);
  background: rgba(255,255,255,.2)
}
.currency-background-container .currency-converter-background select option {
  background: #fff;
  color: #333;
  padding: 8px
}
.business-case-modal .gform_wrapper {
  margin: 0
}
.business-case-modal .gform_wrapper .gform_body {
  padding: 0
}
.business-case-modal .gform_wrapper .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0
}
.business-case-modal .gform_wrapper .gfield {
  margin: 0
}
.business-case-modal .gform_wrapper .gfield .gfield_label {
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 8px;
  display: block
}
.business-case-modal .gform_wrapper .gfield .ginput_container input,
.business-case-modal .gform_wrapper .gfield .ginput_container textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid rgba(52,152,219,.2);
  border-radius: 8px;
  font-size: 16px;
  font-family: inherit;
  background: #fff;
  color: #2c3e50;
  transition: all .3s ease;
  box-sizing: border-box
}
.business-case-modal .gform_wrapper .gfield .ginput_container input:focus,
.business-case-modal .gform_wrapper .gfield .ginput_container textarea:focus {
  outline: 0;
  border-color: #0f7c82;
  box-shadow: 0 0 0 3px rgba(52,152,219,.1)
}
.business-case-modal .gform_wrapper .gfield .ginput_container input::placeholder,
.business-case-modal .gform_wrapper .gfield .ginput_container textarea::placeholder {
  color: #95a5a6;
  opacity: 1
}
.business-case-modal .gform_wrapper .gfield .ginput_container textarea {
  resize: vertical;
  min-height: 120px
}
.business-case-modal .gform_wrapper .gfield .ginput_complex {
  display: flex;
  gap: 15px
}
.business-case-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col {
  flex: 1
}
.business-case-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col input {
  width: 100%
}
.business-case-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col .gform-field-label--type-sub {
  font-size: 14px;
  font-weight: 500;
  color: #7f8c8d;
  margin-top: 5px;
  display: block
}
.business-case-modal .gform_wrapper .gfield .gfield_required {
  color: #e67e22;
  font-weight: 700
}
.business-case-modal .gform_wrapper .gfield.gfield_error .gfield_label {
  color: #e67e22
}
.business-case-modal .gform_wrapper .gfield.gfield_error .ginput_container input,
.business-case-modal .gform_wrapper .gfield.gfield_error .ginput_container textarea {
  border-color: #e67e22;
  background: rgba(231,76,60,.05)
}
.business-case-modal .gform_wrapper .gfield .validation_message {
  color: #e67e22;
  font-size: 14px;
  margin-top: 5px;
  font-weight: 500
}
.business-case-modal .gform_wrapper .gform_footer {
  padding: 0;
  margin-top: 30px;
  text-align: center
}
.business-case-modal .gform_wrapper .gform_footer .gform_button {
  background: linear-gradient(135deg,#0f7c82 0,#2c3e50 100%);
  color: #fff;
  border: 2px solid transparent;
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(52,152,219,.3)
}
.business-case-modal .gform_wrapper .gform_footer .gform_button:hover {
  background: linear-gradient(135deg,#2c3e50 0,#0f7c82 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(52,152,219,.4)
}
.business-case-modal .gform_wrapper .gform_footer .gform_button:active {
  transform: translateY(0)
}
.business-case-modal .gform_wrapper .gform_footer .gform_button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(52,152,219,.3)
}
.business-case-modal .gform_wrapper .gform_hidden {
  display: none!important
}
.business-case-modal .gform_wrapper .ginput_recaptchav3 {
  display: none
}
@media (max-width:768px) {
  .business-case-modal .gform_wrapper .gfield .ginput_complex {
    flex-direction: column;
    gap: 10px
  }
  .business-case-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col {
    flex: none;
    width: 100%
  }
  .business-case-modal .gform_wrapper .gform_footer .gform_button {
    width: 100%;
    padding: 16px 24px
  }
}
.group-booking-modal {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  align-items: center;
  justify-content: center
}
.group-booking-modal.active {
  display: flex
}
.group-booking-modal .group-booking-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}
.group-booking-modal.active .group-booking-overlay {
  opacity: 1
}
.group-booking-modal .group-booking-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  max-width: 900px!important;
  width: calc(100% - 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  transform: scale(.9);
  opacity: 0;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.1);
  padding: 2rem
}
.group-booking-modal.active .group-booking-content {
  transform: scale(1);
  opacity: 1
}
.group-booking-modal .group-booking-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: 0 0;
  border: 0;
  font-size: 2rem;
  line-height: 1;
  color: #999;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .2s
}
.group-booking-modal .group-booking-close:hover {
  background: #f5f5f5;
  color: #333
}
.group-booking-modal .group-booking-header {
  background: linear-gradient(135deg,#0f7c82 0,#0c6368 100%);
  color: #fff;
  border-radius: 16px 16px 0 0;
  margin: 0 0 1rem 0;
  padding: 2.5rem 2rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0
}
.group-booking-modal .group-booking-header::before {
  content: '👥';
  font-size: 3rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  opacity: .3
}
.group-booking-modal .group-booking-header h3 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .5rem 0;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
  position: relative;
  z-index: 1
}
.group-booking-modal .group-booking-header p {
  color: rgba(255,255,255,.9);
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
  position: relative;
  z-index: 1
}
.group-booking-modal .group-booking-body {
  padding: 0 1.5rem 1.5rem
}
.group-booking-modal .group-booking-info {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #0f7c82
}

.group-booking-modal .group-booking-info ul {
  margin: 0;
  padding-left: 1.5rem
}
.group-booking-modal .group-booking-info li {
  font-size: .95rem;
  color: #495057;
  margin-bottom: .5rem;
  position: relative
}
.group-booking-modal .group-booking-info li::before {
  content: '✓';
  color: #28a745;
  font-weight: 700;
  position: absolute;
  left: -1.5rem;
  top: 0
}
.group-booking-modal .group-booking-form .form-group label {
  display: block;
  font-weight: 700;
  color: #0b1a1f;
  margin-bottom: .75rem;
  font-size: 1rem
}
.group-booking-modal .group-booking-form input[type=email],
.group-booking-modal .group-booking-form input[type=tel],
.group-booking-modal .group-booking-form input[type=text],
.group-booking-modal .group-booking-form textarea {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 1rem;
  transition: all .3s ease;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.05)
}
.group-booking-modal .group-booking-form input[type=email]:focus,
.group-booking-modal .group-booking-form input[type=tel]:focus,
.group-booking-modal .group-booking-form input[type=text]:focus,
.group-booking-modal .group-booking-form textarea:focus {
  outline: 0;
  border-color: #0f7c82;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  transform: translateY(-1px)
}
.group-booking-modal .group-booking-form textarea {
  resize: vertical;
  min-height: 100px
}
.pricing-comparison-card.disabled {
  opacity: .6;
  pointer-events: none;
  filter: grayscale(50%)
}
.pricing-comparison-card.disabled .comparison-card-header,
.pricing-comparison-card.disabled .comparison-features {
  opacity: .7
}
.pricing-comparison-card.disabled .comparison-price {
  color: #7f8c8d
}
.pricing-comparison-card.disabled .comparison-tier-name {
  color: #95a5a6
}
.pricing-comparison-card .comparison-end-date {
  font-size: .875rem;
  color: #7f8c8d;
  font-weight: 500;
  margin: .25rem 0;
  text-align: center
}
.pricing-comparison-card.disabled .comparison-end-date {
  color: #95a5a6
}
.quantity-selector {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-bottom: 1rem
}
.quantity-selector label {
  font-size: .875rem;
  font-weight: 600;
  color: #2c3e50;
  margin: 0
}
.quantity-selector .quantity-controls {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden
}
.quantity-selector .quantity-controls .qty-btn {
  background: #f8f9fa;
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 700;
  color: #2c3e50;
  transition: all .2s
}
.quantity-selector .quantity-controls .qty-btn:hover {
  background: #e9ecef;
  color: #2c9f9f
}
.quantity-selector .quantity-controls .qty-btn:active {
  background: #dee2e6
}
.quantity-selector .quantity-controls .qty-input {
  width: 60px;
  height: 32px;
  border: none;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  color: #2c3e50;
  background: #fff
}
.quantity-selector .quantity-controls .qty-input::-webkit-inner-spin-button,
.quantity-selector .quantity-controls .qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0
}
.quantity-selector .quantity-controls .qty-input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield
}
.quantity-selector .quantity-controls .qty-input:focus {
  outline: 2px solid #2c9f9f;
  outline-offset: -2px
}
.quantity-selector .qty-select {
  padding: .5rem .75rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #2c3e50;
  background: #fff;
  cursor: pointer;
  min-width: 80px
}
.quantity-selector .qty-select:focus {
  outline: 2px solid #2c9f9f;
  outline-offset: -2px;
  border-color: #2c9f9f
}
.quantity-selector .qty-select:hover {
  border-color: #2c9f9f
}
.quantity-selector .qty-select option {
  padding: .5rem;
  background: #fff;
  color: #2c3e50
}
.group-booking-modal .gform_wrapper {
  margin: 0
}
.group-booking-modal .gform_wrapper .gform_body {
  padding: 0
}
.group-booking-modal .gform_wrapper .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0
}
.group-booking-modal .gform_wrapper .gfield {
  margin: 0
}
.group-booking-modal .gform_wrapper .gfield .gfield_label {
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 8px;
  display: block
}
.group-booking-modal .gform_wrapper .gfield .ginput_container input,
.group-booking-modal .gform_wrapper .gfield .ginput_container select,
.group-booking-modal .gform_wrapper .gfield .ginput_container textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid rgba(52,152,219,.2);
  border-radius: 8px;
  font-size: 16px;
  font-family: inherit;
  background: #fff;
  color: #2c3e50;
  transition: all .3s ease;
  box-sizing: border-box
}
.group-booking-modal .gform_wrapper .gfield .ginput_container input:focus,
.group-booking-modal .gform_wrapper .gfield .ginput_container select:focus,
.group-booking-modal .gform_wrapper .gfield .ginput_container textarea:focus {
  outline: 0;
  border-color: #0f7c82;
  box-shadow: 0 0 0 3px rgba(52,152,219,.1)
}
.group-booking-modal .gform_wrapper .gfield .ginput_container input::placeholder,
.group-booking-modal .gform_wrapper .gfield .ginput_container select::placeholder,
.group-booking-modal .gform_wrapper .gfield .ginput_container textarea::placeholder {
  color: #95a5a6;
  opacity: 1
}
.group-booking-modal .gform_wrapper .gfield .ginput_container textarea {
  resize: vertical;
  min-height: 100px
}
.group-booking-modal .gform_wrapper .gfield .ginput_container select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right .5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  appearance: none
}
.group-booking-modal .gform_wrapper .gfield .ginput_complex {
  display: flex;
  gap: 15px
}
.group-booking-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col {
  flex: 1
}
.group-booking-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col input {
  width: 100%
}
.group-booking-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col .gform-field-label--type-sub {
  font-size: 14px;
  font-weight: 500;
  color: #7f8c8d;
  margin-top: 5px;
  display: block
}
.group-booking-modal .gform_wrapper .gfield .gfield_required {
  color: #e67e22;
  font-weight: 700
}
.group-booking-modal .gform_wrapper .gfield.gfield_error .gfield_label {
  color: #e67e22
}
.group-booking-modal .gform_wrapper .gfield.gfield_error .ginput_container input,
.group-booking-modal .gform_wrapper .gfield.gfield_error .ginput_container select,
.group-booking-modal .gform_wrapper .gfield.gfield_error .ginput_container textarea {
  border-color: #e67e22;
  background: rgba(231,76,60,.05)
}
.group-booking-modal .gform_wrapper .gfield .validation_message {
  color: #e67e22;
  font-size: 14px;
  margin-top: 5px;
  font-weight: 500
}
.group-booking-modal .gform_wrapper .gform_footer {
  padding: 0;
  margin-top: 30px;
  text-align: center
}
.group-booking-modal .gform_wrapper .gform_footer .gform_button {
  background: linear-gradient(135deg,#0f7c82 0,#2c3e50 100%);
  color: #fff;
  border: 2px solid transparent;
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(52,152,219,.3)
}
.group-booking-modal .gform_wrapper .gform_footer .gform_button:hover {
  background: linear-gradient(135deg,#2c3e50 0,#0f7c82 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(52,152,219,.4)
}
.group-booking-modal .gform_wrapper .gform_footer .gform_button:active {
  transform: translateY(0)
}
.group-booking-modal .gform_wrapper .gform_footer .gform_button:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(52,152,219,.3)
}
.group-booking-modal .gform_wrapper .gform_hidden {
  display: none!important
}
.group-booking-modal .gform_wrapper .ginput_recaptchav3 {
  display: none
}
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_checkbox,
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_radio,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_checkbox,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_radio {
  display: flex;
  flex-direction: column;
  gap: 10px
}
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_checkbox li,
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_radio li,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_checkbox li,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_radio li {
  display: flex;
  align-items: center;
  gap: 8px
}
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_checkbox li input[type=checkbox],
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_checkbox li input[type=radio],
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_radio li input[type=checkbox],
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_radio li input[type=radio],
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_checkbox li input[type=checkbox],
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_checkbox li input[type=radio],
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_radio li input[type=checkbox],
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_radio li input[type=radio] {
  width: auto;
  margin: 0;
  accent-color: #0F7C82
}
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_checkbox li label,
.group-booking-modal .gform_wrapper .ginput_container_checkbox .gfield_radio li label,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_checkbox li label,
.group-booking-modal .gform_wrapper .ginput_container_radio .gfield_radio li label {
  margin: 0;
  font-weight: 400;
  color: #2c3e50;
  cursor: pointer
}
@media (max-width:768px) {
  .group-booking-modal .gform_wrapper .gfield .ginput_complex {
    flex-direction: column;
    gap: 10px
  }
  .group-booking-modal .gform_wrapper .gfield .ginput_complex .gform-grid-col {
    flex: none;
    width: 100%
  }
  .group-booking-modal .gform_wrapper .gform_footer .gform_button {
    width: 100%;
    padding: 16px 24px
  }
}
@keyframes growthSprout {
  0% {
    opacity: 0;
    transform: scale(0) rotate(0) translateY(0)
  }
  40% {
    opacity: 1;
    transform: scale(1.1) rotate(360deg) translateY(0)
  }
  90% {
    opacity: 1;
    transform: scale(1) rotate(360deg) translateY(0)
  }
  100% {
    opacity: 0;
    transform: scale(.8) rotate(360deg) translateY(-200px)
  }
}
@keyframes fadeInGlow {
  0% {
    opacity: 0;
    text-shadow: 0 0 0 rgba(39,174,96,0)
  }
  100% {
    opacity: 1;
    text-shadow: 0 0 20px rgba(39,174,96,.8)
  }
}
@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }
  100% {
    opacity: 1;
    transform: translateY(0)
  }
}
body .ticket-comparison {
  width: 100%!important;
  max-width: none!important;
  margin: 0!important
}
body .ticket-comparison .ticket-cards {
  display: flex!important;
  flex-wrap: wrap!important;
  gap: 20px!important;
  justify-content: center!important;
  margin-bottom: 50px!important;
  box-sizing: border-box!important
}
@media (max-width:768px) {
  body .ticket-comparison .ticket-cards {
    justify-content: center!important
  }
}
@media (max-width:480px) {
  body .ticket-comparison .ticket-cards {
    flex-direction: column!important;
    align-items: center!important
  }
}
body .ticket-comparison .ticket-card {
  background: #fff!important;
  border-radius: 12px!important;
  box-shadow: 0 8px 25px rgba(0,0,0,.1)!important;
  overflow: hidden!important;
  transition: all .3s ease!important;
  border: 2px solid transparent!important;
  box-sizing: border-box!important
}
body .ticket-comparison .ticket-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0,0,0,.15)
}
body .ticket-comparison .ticket-card.featured {
  border-color: #0f7c82;
  position: relative
}
body .ticket-comparison .ticket-card.featured::before {
  content: 'POPULAR';
  position: absolute;
  top: 15px;
  right: -25px;
  background: #0f7c82;
  color: #fff;
  padding: 5px 25px;
  font-size: 12px;
  font-weight: 700;
  transform: rotate(45deg);
  z-index: 1
}
body .ticket-comparison .ticket-header {
  background: linear-gradient(135deg,#0f0f23 0,#2d5a3d 100%);
  color: #fff;
  padding: 20px 25px 20px;
  text-align: center
}
body .ticket-comparison .ticket-header h3 {
  margin: 0 0 15px 0;
  font-size: 24px;
  font-weight: 600
}
body .ticket-comparison .ticket-header .ticket-price .currency {
  font-size: 18px;
  opacity: .8
}
body .ticket-comparison .ticket-header .ticket-price .amount {
  font-size: 48px;
  font-weight: 700;
  margin-left: 5px
}
body .ticket-comparison .ticket-details {
  padding: 20px
}
body .ticket-comparison .ticket-details .availability-info {
  margin-bottom: 20px
}
body .ticket-comparison .ticket-details .availability-info .availability-note {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 10px 15px;
  font-size: 14px;
  color: #6c757d;
  margin: 0
}
body .ticket-comparison .ticket-details .availability-info .availability-note i {
  margin-right: 8px;
  color: #0f7c82
}
body .ticket-comparison .ticket-details .ticket-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left
}
body .ticket-comparison .ticket-details .ticket-features ul li {
  padding: 8px 0;
  font-size: 15px;
  color: #495057;
  text-align: left
}
body .ticket-comparison .ticket-details .ticket-features ul li i {
  margin-right: 10px;
  color: #0f7c82;
  width: 16px
}
body .ticket-comparison .ticket-details .ticket-features ul li.early-bird i {
  color: #ffc107
}
body .ticket-comparison .ticket-actions {
  padding: 0 20px 20px
}
body .ticket-comparison .ticket-actions .quantity-controls {
  margin-bottom: 15px
}
body .ticket-comparison .ticket-actions .quantity-controls label {
  display: block;
  font-weight: 600;
  color: #495057;
  margin-bottom: 5px;
  font-size: 14px
}
body .ticket-comparison .ticket-actions .quantity-controls .ticket-quantity {
  width: 100%;
  padding: 8px 12px;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  background: #fff;
  color: #495057;
  font-size: 14px;
  cursor: pointer;
  transition: all .3s ease
}
body .ticket-comparison .ticket-actions .quantity-controls .ticket-quantity:focus {
  outline: 0;
  border-color: #0f7c82;
  box-shadow: 0 0 0 3px rgba(39,174,96,.1)
}
body .ticket-comparison .ticket-actions .quantity-controls .ticket-quantity:hover {
  border-color: #ced4da
}
body .ticket-comparison .ticket-actions .quantity-controls .ticket-quantity option {
  background: #fff;
  color: #495057;
  padding: 8px
}
body .ticket-comparison .ticket-actions .select-ticket-btn {
  width: 100%;
  background: #0f7c82;
  color: #fff;
  border: none;
  padding: 15px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease
}
body .ticket-comparison .ticket-actions .select-ticket-btn:hover {
  background: #0c6368;
  transform: translateY(-2px)
}
body .ticket-comparison .ticket-actions .select-ticket-btn:focus {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(39,174,96,.3)
}
#ticket-selection-form {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,.1);
  padding: 30px;
  margin-top: 30px
}
#ticket-selection-form .selected-ticket-info {
  text-align: center;
  margin-bottom: 30px
}
#ticket-selection-form .selected-ticket-info h3 {
  color: #0f7c82;
  margin: 0 0 10px 0;
  font-size: 24px
}
#ticket-selection-form .selected-ticket-info p {
  color: #6c757d;
  margin: 0
}
#ticket-selection-form .purchase-section .quantity-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 30px
}
#ticket-selection-form .purchase-section .quantity-controls label {
  font-weight: 600;
  color: #495057
}
#ticket-selection-form .purchase-section .quantity-controls select {
  padding: 10px 15px;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  font-size: 16px;
  min-width: 80px
}
#ticket-selection-form .purchase-section .quantity-controls #quantity-price-display {
  font-size: 18px;
  font-weight: 700;
  color: #0f7c82
}
#ticket-selection-form .purchase-section .quantity-controls #quantity-price-display .total-label {
  color: #6c757d;
  font-weight: 400;
  margin-right: 5px
}
#ticket-selection-form .purchase-section .contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #2c3e50;
  color: #fff;
  padding: 15px 30px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all .3s ease
}
#ticket-selection-form .purchase-section .contact-btn:hover {
  background: #1a252f;
  transform: translateY(-2px)
}
#ticket-selection-form .purchase-section .contact-btn i {
  font-size: 18px
}
.ticket-comparison .ticket-card.disabled {
  opacity: .6;
  pointer-events: none
}
.ticket-comparison .ticket-card.disabled .ticket-actions,
.ticket-comparison .ticket-card.disabled .ticket-details,
.ticket-comparison .ticket-card.disabled .ticket-header {
  opacity: .7
}
.ticket-comparison .ticket-card.disabled .availability-note.unavailable {
  color: #e74c3c;
  font-weight: 600
}
.ticket-comparison .ticket-card.disabled .register-btn.disabled,
.ticket-comparison .ticket-card.disabled .ticket-quantity {
  background: #bdc3c7;
  color: #7f8c8d;
  cursor: not-allowed;
  border-color: #bdc3c7
}
.ticket-comparison .ticket-card.disabled .ticket-total .total-amount {
  color: #7f8c8d
}
.pricing-section-content {
  display: block!important
}
.ticket-cards {
  display: flex!important;
  flex-wrap: wrap!important
}
.ticket-card {
  flex: 0 0 280px!important
}
.es-thrive-accessibility {
  margin-bottom: 3rem
}
.es-thrive-accessibility h2 {
  text-align: left;
  color: #0f7c82;
  margin-bottom: 2rem
}
.es-thrive-accessibility ul {
  max-width: 600px;
  margin: 0 auto;
  list-style: none;
  padding: 0
}
.es-thrive-accessibility ul li {
  padding: .75rem 0;
  border-bottom: 1px solid rgba(39,174,96,.1);
  font-size: 1.1rem;
  color: #2c3e50
}
.es-thrive-accessibility ul li:last-child {
  border-bottom: none
}
.es-thrive-accessibility ul li:before {
  content: "✓";
  color: #0f7c82;
  font-weight: 700;
  margin-right: 1rem
}
.pricing-container-compact {
  position: relative;
  margin-bottom: 20px;
  background: 0 0;
  max-width: 100%;
  display: flex;
  gap: 20px;
  align-items: flex-start
}
.pricing-left-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px
}
.pricing-right-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 15px
}
.price-display-compact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 15px;
  align-items: center;
  width: 100%
}
.price-tier {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  min-width: 200px;
  justify-content: center;
  width: 100%
}
.subscriber-tier {
  background: rgba(212,237,218,.15);
  border-color: rgba(195,230,203,.3)
}
.regular-tier {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15)
}
.price-amount {
  font-weight: 700;
  color: #fff;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.5)
}
.price-amount del {
  text-decoration: line-through;
  color: rgba(255,255,255,.6);
  font-size: .9rem;
  margin-right: 6px
}
.price-amount ins {
  text-decoration: none;
  color: #fff;
  font-weight: 700
}
.price-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  width: 100%;
  margin-bottom: 15px
}
.savings-pill {
  background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 2px 6px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.quantity-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%
}
.quantity-row {
  width: 100%;
  margin-bottom: 15px
}
.button-row {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 10px
}
.button-row .btn {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  width: 100%;
  max-width: 200px
}
.button-row .btn:hover {
  background: linear-gradient(135deg,#2ecc71 0,#27ae60 100%);
  border-color: rgba(255,255,255,.5);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(39,174,96,.3)
}
.button-row .btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px rgba(39,174,96,.2)
}
.button-row .btn:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  box-shadow: 0 0 0 3px rgba(255,255,255,.2)
}
.button-row .btn.btn-primary {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%)
}
.button-row .btn.btn-primary:hover {
  background: linear-gradient(135deg,var(--pricing-primary-dark) 0,var(--pricing-primary) 100%)
}
.quantity-selector {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.2);
  width: 100%;
  justify-content: center
}
.quantity-selector label {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.quantity-selector select {
  padding: 8px 12px;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  min-width: 80px
}
.quantity-price-display {
  color: #fff!important;
  font-weight: 700;
  font-size: .95rem;
  margin-left: 15px;
  padding: 6px 12px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  white-space: nowrap
}
.register-btn {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(39,174,96,.3);
  width: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  overflow: hidden;
  animation: buttonGlow 2s ease-in-out infinite
}
.register-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(39,174,96,.4)
}
.squiggle-crossout {
  text-decoration: none!important;
  position: relative
}
.squiggle-crossout::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 8px;
  background: repeating-linear-gradient(45deg,#dc3545,#dc3545 4px,transparent 4px,transparent 8px);
  transform: translateY(-50%)
}
.pricing-comparison-container {
  display: flex;
  gap: 20px;
  margin: 20px 0;
  flex-wrap: wrap;
  justify-content: center
}
.comparison-card-header {
  text-align: center;
  margin-bottom: 15px
}
.comparison-tier-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 10px;
  text-transform: capitalize
}
.comparison-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: #27ae60;
  margin-bottom: 5px
}
.comparison-price del {
  color: #e74c3c;
  font-size: 1.2rem;
  margin-right: 8px
}
.comparison-savings {
  background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: .875rem;
  font-weight: 600;
  text-align: center;
  margin-top: 8px;
  display: inline-block
}
.comparison-features {
  margin-bottom: 15px;
  flex: 1
}
.comparison-features h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #34495e;
  margin-bottom: 10px;
  text-align: center
}
.comparison-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left
}
.comparison-features li {
  font-size: 1rem;
  color: #555;
  margin-bottom: 6px;
  padding-left: 20px;
  position: relative
}
.comparison-features li:before {
  content: '✓';
  color: #27ae60;
  font-weight: 700;
  position: absolute;
  left: 0
}
.comparison-cta {
  margin-top: auto;
  text-align: center
}
.pricing-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 15px;
  align-items: center
}
.sale-indicator-compact,
.savings-indicator,
.urgency-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  width: 100%;
  justify-content: center
}
.urgency-indicator {
  background: linear-gradient(135deg,#ff4757 0,#ff3838 100%);
  color: #fff;
  animation: urgentPulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.urgency-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 4s ease-in-out infinite
}
.sale-indicator-compact {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  animation: shake 4s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.sale-indicator-compact::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 12s ease-in-out infinite
}
.savings-indicator {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  animation: gentlePulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.savings-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 8s ease-in-out infinite;
  pointer-events: none
}
.sale-timer {
  font-weight: 500;
  font-size: .8rem;
  opacity: .9
}
.currency-heading {
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  margin-bottom: 8px
}
.currency-converter-background {
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.2);
  display: inline-block;
  min-width: 200px
}
.business-case-scroll-section {
  margin-top: 1.5rem;
  text-align: center
}
.business-case-scroll-btn {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  border: none;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 4px 15px rgba(243,156,18,.3)
}
.business-case-scroll-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(243,156,18,.4)
}
.business-case-scroll-note {
  color: #fff;
  font-size: .85rem;
  margin-top: .5rem
}
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(231,76,60,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
}
@keyframes buttonGlow {
  0%,
  100% {
    box-shadow: 0 4px 14px rgba(39,174,96,.3)
  }
  50% {
    box-shadow: 0 6px 20px rgba(39,174,96,.5)
  }
}
@keyframes urgentPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 12px 35px rgba(255,71,87,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
}
@keyframes shine {
  0% {
    left: -100%
  }
  100% {
    left: 100%
  }
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0)
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px)
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px)
  }
}
@keyframes gentlePulse {
  0%,
  100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.02)
  }
}
@keyframes cartPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,.7)
  }
  8.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  16.67% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  25% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  33.33% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  41.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  50% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  58.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  66.67% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  75% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  83.33% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  91.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
}
@keyframes cartGlow {
  0% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
  50% {
    filter: drop-shadow(0 0 20px rgba(44, 159, 159, .8))
  }
  100% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
}
.group-booking-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}
.group-booking-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  max-width: 900px!important;
  width: calc(100% - 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  transform: scale(.9);
  opacity: 0;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.1);
  padding: 2rem
}
.group-booking-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: 0 0;
  border: 0;
  font-size: 2rem;
  line-height: 1;
  color: #999;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .2s;
  z-index: 1
}
.group-booking-close:hover {
  background: #f5f5f5;
  color: #333
}
.group-booking-header {
  padding: 2rem 2rem 1rem;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
  background: linear-gradient(135deg,#f8f9fa 0,#fff 100%)
}
.group-booking-header h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #0b1a1f;
  margin: 0 0 .5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem
}
.group-booking-header h3::before {
  content: '👥';
  font-size: 1.5rem
}
.group-booking-header p {
  color: #666;
  margin: 0;
  font-size: .95rem;
  line-height: 1.5
}
.group-booking-body {
  padding: 0 2rem 2rem
}
.group-booking-info {
  margin-bottom: 1.5rem;
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 4px solid #2c9f9f
}
.group-booking-info h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0b1a1f;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: .5rem
}
.group-booking-info h4::before {
  content: '💡';
  font-size: 1.2rem
}
.group-booking-info ul {
  margin: 0;
  padding-left: 1.5rem
}
.group-booking-info li {
  font-size: .9rem;
  color: #555;
  margin-bottom: .25rem;
  padding-left: .5rem;
  position: relative
}
.group-booking-info li::before {
  content: '✓';
  color: #27ae60;
  font-weight: 700;
  position: absolute;
  left: -1rem;
  top: 0
}
.group-booking-form {
  margin-top: 1rem
}
.group-booking-form h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0b1a1f;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: .5rem
}
.group-booking-form h4::before {
  content: '📝';
  font-size: 1.2rem
}
.group-booking-form .form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem
}
.group-booking-form .form-group {
  flex: 1;
  margin-bottom: 0
}
.group-booking-form .form-group.full-width {
  flex: none;
  width: 100%
}
.group-booking-form label {
  display: block;
  font-weight: 600;
  color: #0b1a1f;
  margin-bottom: .5rem;
  font-size: .9rem
}
.group-booking-form input:focus,
.group-booking-form textarea:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1)
}
.group-booking-form textarea {
  resize: vertical;
  min-height: 80px
}
.group-booking-submit {
  width: 100%;
  padding: .875rem;
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  border: 0;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 4px 14px rgba(44,159,159,.25);
  position: relative;
  overflow: hidden
}
.group-booking-submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition: left .5s
}
.group-booking-submit:hover::before {
  left: 100%
}
.group-booking-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(44,159,159,.35)
}
.group-booking-submit:disabled {
  opacity: .6;
  cursor: not-allowed
}
.group-booking-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(44,159,159,.35)
}
.group-booking-submit:disabled {
  opacity: .6;
  cursor: not-allowed
}
.group-booking-footer {
  padding: 1rem 2rem 2rem;
  text-align: center;
  border-top: 1px solid #e5e7eb
}
.group-booking-cancel {
  background: #f5f5f5;
  color: #555;
  border: 1px solid #ddd;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all .2s
}
.group-booking-cancel:hover {
  background: #e5e5e5
}
.group-booking-modal .group-booking-header {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  color: #fff;
  border-radius: 16px 16px 0 0;
  margin: 0 0 1rem 0;
  padding: 2.5rem 2rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0
}
.group-booking-modal .group-booking-header::before {
  content: '👥';
  font-size: 3rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  opacity: .3
}
.group-booking-modal .group-booking-header h3 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .5rem 0;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
  position: relative;
  z-index: 1
}
.group-booking-modal .group-booking-info {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #2c9f9f
}
@media (max-width:768px) {
  .group-booking-modal .group-booking-header {
    margin: 0;
    padding: 1.5rem 1.5rem 1rem;
    width: 100%;
    box-sizing: border-box
  }
  .group-booking-modal .group-booking-header h3 {
    font-size: 1.8rem
  }
  .group-booking-modal .group-booking-header::before {
    font-size: 2rem;
    top: .75rem
  }
  .group-booking-modal .group-booking-info {
    padding: 1.25rem
  }
  .group-booking-modal .group-booking-form .form-row {
    flex-direction: column;
    gap: 1rem
  }
}
.group-booking-modal .group-booking-form .form-row {
  box-sizing: border-box;
  flex-wrap: wrap;
  gap: 1rem
}
.group-booking-modal .group-booking-info {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  color: #495057!important;
  background: #f8f9fa!important;
  border-left: 4px solid #2c9f9f!important;
  padding: 1.5rem!important;
  margin-bottom: 1.5rem!important;
  border-radius: 12px!important
}
#groupSize {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 500;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,.05);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
  padding-right: 3rem
}
#groupSize:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  background-color: #f8f9fa
}
#groupSize:hover {
  border-color: #2c9f9f;
  background-color: #f8f9fa
}
#groupSize option {
  padding: .5rem;
  background: #fff;
  color: #333;
  font-weight: 500
}
@keyframes spin {
  0% {
    transform: rotate(0)
  }
  100% {
    transform: rotate(360deg)
  }
}
@media (max-width:1024px) {
  .pricing-container-compact {
    flex-direction: column;
    gap: 15px;
    align-items: stretch
  }
  .pricing-left-column,
  .pricing-right-column {
    flex: none;
    width: 100%
  }
  .price-tier {
    min-width: auto;
    padding: 12px 16px
  }
  .quantity-selector {
    flex-direction: column;
    gap: 8px;
    padding: 16px
  }
  .quantity-selector label {
    font-size: .9rem
  }
  .quantity-price-display {
    margin-left: 0;
    margin-top: 8px;
    width: 100%;
    text-align: center
  }
  .register-btn {
    max-width: 100%
  }
  .currency-converter-background {
    min-width: auto;
    width: 100%
  }
  .pricing-banner {
    flex-direction: column;
    gap: 8px
  }
  .sale-indicator-compact,
  .savings-indicator,
  .urgency-indicator {
    white-space: normal!important;
    word-break: break-word!important;
    font-size: .9rem!important;
    line-height: 1.4!important;
    padding: 8px 12px!important;
    display: block!important;
    text-align: center!important
  }
}
@media (max-width:768px) {
  .pricing-container-compact {
    gap: 15px
  }
  .price-display-compact {
    gap: 12px
  }
  .price-tier {
    flex-direction: column;
    text-align: center;
    gap: 4px;
    padding: 16px
  }
  .savings-pill {
    align-self: center;
    font-size: .7rem;
    padding: 3px 8px
  }
  .quantity-section {
    gap: 15px
  }
  .quantity-selector {
    padding: 20px;
    gap: 12px
  }
  .quantity-selector select {
    min-width: 100px
  }
  .register-btn {
    padding: 16px 24px;
    font-size: 1.2rem
  }
  .business-case-scroll-btn {
    padding: 1rem 2rem;
    font-size: 1rem
  }
  .business-case-scroll-note {
    font-size: .9rem
  }
  .group-booking-content {
    width: calc(100% - 1rem);
    padding: 1.5rem;
    overflow-y: auto
  }
  .group-booking-body {
    padding: 0 1.5rem 1.5rem
  }
  .group-booking-footer {
    padding: 1rem 1.5rem 1.5rem
  }
}
.business-case-content {
  position: relative;
  background-color: #fff;
  margin: 5% auto;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  width: 90%;
  max-width: 700px;
  animation: modalFadeIn .3s ease-out;
  max-height: 80vh;
  overflow-y: auto
}
.business-case-benefits {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid #2c9f9f
}
.business-case-body {
  display: flex;
  gap: 2rem
}
@media (max-width:768px) {
  .business-case-body {
    flex-direction: column;
    gap: 1.5rem
  }
}
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-50px) scale(.9)
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}
@media (max-width:768px) {
  .business-case-content {
    width: 95%;
    margin: 10% auto;
    padding: 1.5rem
  }
  .business-case-benefits {
    padding: 1rem
  }
  .business-case-body {
    gap: 1rem
  }
}
.full-width-pricing {
  padding: 4rem 2rem
}
.pricing-header {
  grid-area: header
}
.price-display {
  grid-area: pricing
}
.currency-selector {
  grid-area: currency
}
.purchase-section {
  grid-area: purchase
}
.pricing-header {
  text-align: left
}
.price-display {
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}
.price-card {
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 2rem;
  text-align: center;
  border: 1px solid rgba(255,255,255,.2);
  transition: all .3s ease;
  position: relative;
  overflow: hidden
}
.price-amount {
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .5rem;
  text-shadow: 0 2px 4px rgba(0,0,0,.3)
}
.currency-selector {
  display: flex;
  flex-direction: column;
  gap: 1rem
}
.currency-dropdown {
  width: 100%;
  position: relative
}
.quantity-controls select {
  width: 100%;
  padding: .75rem 1rem;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  backdrop-filter: blur(10px)
}
.purchase-btn {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 1rem 2rem;
  border-radius: 12px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 6px 20px rgba(39,174,96,.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  width: 100%
}
.closed-notice {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 3rem;
  border: 1px solid rgba(255,255,255,.2);
  max-width: 500px;
  margin: 0 auto
}
.closed-notice h3 {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem
}
@media (max-width:1024px) {
  .pricing-section-content {
    grid-template-columns: 1fr;
    grid-template-areas: "header" "pricing" "currency" "purchase";
    gap: 2rem
  }
  .price-card {
    padding: 1.5rem
  }
  .price-amount {
    font-size: 2rem
  }
}
@media (max-width:768px) {
  .es-tech-pricing {
    padding: 2rem 1rem
  }
  .pricing-section-content {
    padding: 1.5rem;
    border-radius: 12px;
    grid-template-columns: 1fr;
    grid-template-areas: "header" "pricing" "currency" "purchase";
    gap: 1.5rem
  }
  .pricing-header {
    text-align: center
  }
  .business-case-btn {
    padding: .75rem 1.5rem;
    font-size: .9rem
  }
  .price-display {
    gap: 1rem
  }
  .price-card {
    padding: 1.25rem
  }
  .price-amount {
    font-size: 1.8rem
  }
  .currency-selector {
    text-align: center
  }
  .currency-dropdown {
    width: auto;
    max-width: 300px;
    margin: 0 auto
  }
  .cta-currency-selector {
    text-align: center
  }
  .cta-currency-selector .wcml-dropdown {
    display: inline-block;
    margin: 0 auto
  }
  .purchase-section {
    gap: 1.5rem
  }
  .quantity-controls select {
    padding: .6rem .8rem;
    font-size: .95rem
  }
  .purchase-btn {
    padding: .875rem 1.5rem;
    font-size: 1rem
  }
  .closed-notice {
    padding: 2rem
  }
  .closed-notice h3 {
    font-size: 1.5rem
  }
}
@media (max-width:480px) {
  .pricing-section-content {
    padding: 1rem;
    gap: 1rem
  }
  .price-card {
    padding: 1rem
  }
  .price-amount {
    font-size: 1.5rem
  }
  .business-case-btn {
    flex-direction: column;
    gap: .5rem;
    padding: .6rem 1rem
  }
  .purchase-btn {
    padding: .75rem 1.25rem;
    font-size: .95rem
  }
  .closed-notice {
    padding: 1.5rem
  }
  .full-width-pricing {
    padding: 1rem .5rem
  }
}
@media (max-width:768px) {
  .full-width-pricing {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    transform: none;
    left: auto;
    right: auto;
    padding: 2rem 1rem
  }
  .es-tech-pricing {
    padding: 2rem 1rem
  }
  .pricing-section-content {
    grid-template-columns: 1fr;
    grid-template-areas: "header" "pricing" "currency" "purchase";
    gap: 1.5rem
  }
  .pricing-header {
    text-align: center
  }
  .business-case-btn {
    padding: .75rem 1.5rem;
    font-size: .9rem
  }
  .price-display {
    gap: 1rem
  }
  .price-card {
    padding: 1.25rem
  }
  .price-amount {
    font-size: 1.8rem
  }
}
.testimonials-container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem
}
.testimonial-item {
  display: none;
  text-align: center;
  padding: 2rem;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 4px 14px rgba(0,0,0,.1)
}
@keyframes testimonialFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}
.testimonial-quote {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-style: italic;
  position: relative
}
.testimonial-quote::after,
.testimonial-quote::before {
  content: '"';
  font-size: 3rem;
  color: rgba(255,255,255,.6);
  position: absolute;
  top: -10px
}
.testimonial-quote::before {
  left: -20px
}
.testimonial-quote::after {
  right: -20px
}
.testimonial-author {
  font-weight: 700;
  font-size: 1.1rem;
  margin-bottom: .5rem
}
.testimonial-role {
  font-size: .95rem;
  opacity: .9;
  font-weight: 500
}
.testimonial-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-top: 2rem
}
.testimonial-indicator {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  cursor: pointer;
  transition: all .3s ease;
  border: 2px solid transparent
}
.testimonial-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,.2);
  color: #fff;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.2rem;
  transition: all .3s ease;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.3);
  display: flex;
  align-items: center;
  justify-content: center
}
.testimonial-nav.prev {
  left: 10px
}
.testimonial-nav.next {
  right: 10px
}
@media (max-width:768px) {
  .testimonials-container {
    padding: 0 1rem
  }
  .testimonial-item {
    padding: 1.5rem
  }
  .testimonial-quote {
    font-size: 1.1rem
  }
  .testimonial-quote::after,
  .testimonial-quote::before {
    font-size: 2rem;
    top: -5px
  }
  .testimonial-quote::before {
    left: -15px
  }
  .testimonial-quote::after {
    right: -15px
  }
  .testimonial-author {
    font-size: 1rem
  }
  .testimonial-role {
    font-size: .9rem
  }
  .testimonial-nav {
    width: 40px;
    height: 40px;
    font-size: 1rem
  }
  .testimonial-nav.prev {
    left: 5px
  }
  .testimonial-nav.next {
    right: 5px
  }
  .testimonial-indicators {
    margin-top: 1.5rem
  }
  .testimonial-indicator {
    width: 10px;
    height: 10px
  }
}
.es-tech-faq {
  
  padding: 2rem 0 1rem 0;
  margin: 1rem 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  border-radius: 6px
}
.faq-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
  gap: 1rem
}
.faq-controls {
  text-align: center;
  margin-bottom: 1.5rem
}
.faq-toggle-all {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
  color: #fff;
  border: 2px solid var(--pricing-primary);
  padding: .75rem 1.5rem;
  border-radius: 6px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 2px 8px rgba(52,152,219,.3)
}

.faq-toggle {
  font-size: 1.1rem;
  color: #6c757d;
  transition: all .2s ease;
  font-weight: 700;
  margin-left: .75rem;
  flex-shrink: 0
}
.faq-item.active .faq-answer {
  max-height: none;
  padding: 1rem 1.25rem;
  height: auto
}
.faq-answer-content {
  color: #495057;
  line-height: 1.5;
  font-size: .95rem
}
@media (max-width:768px) {
  .es-tech-faq {
    padding: 1.5rem 0 .5rem 0;
    margin: .5rem 0
  }
  .faq-container {
    padding: 0 .125rem;
    gap: .75rem
  }
  .faq-controls {
    margin-bottom: 1rem
  }
  .faq-toggle-all {
    padding: .6rem 1.2rem;
    font-size: .9rem
  }
  .faq-question {
    padding: .875rem .75rem;
    font-size: .95rem
  }
  .faq-toggle {
    font-size: 1rem;
    margin-left: .5rem
  }
  .faq-item.active .faq-answer {
    padding: .875rem .75rem;
    max-height: 1500px
  }
  .faq-answer-content {
    font-size: .9rem
  }
}
.pricing-container-compact {
  position: relative;
  margin-bottom: 20px;
  background: 0 0;
  max-width: 100%;
  display: flex;
  gap: 20px;
  align-items: flex-start
}
.pricing-left-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px
}
.pricing-right-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 15px
}
.price-display-compact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 15px;
  align-items: center;
  width: 100%
}
.price-tier {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  min-width: 200px;
  justify-content: center;
  width: 100%
}
.subscriber-tier {
  background: rgba(212,237,218,.15);
  border-color: rgba(195,230,203,.3)
}
.regular-tier {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15)
}
.price-amount {
  font-weight: 700;
  color: #fff;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.5)
}
.price-amount del {
  text-decoration: line-through;
  color: rgba(255,255,255,.6);
  font-size: .9rem;
  margin-right: 6px
}
.price-amount ins {
  text-decoration: none;
  color: #fff;
  font-weight: 700
}
.price-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  width: 100%;
  margin-bottom: 15px
}
.savings-pill {
  background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 2px 6px rgba(231,76,60,.3);
  animation: pulse 2s ease-in-out infinite
}
.quantity-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%
}
.quantity-row {
  width: 100%;
  margin-bottom: 15px
}
.button-row {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 10px
}
.button-row .btn {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  width: 100%;
  max-width: 200px
}
.button-row .btn:hover {
  background: linear-gradient(135deg,#2ecc71 0,#27ae60 100%);
  border-color: rgba(255,255,255,.5);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(39,174,96,.3)
}
.button-row .btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px rgba(39,174,96,.2)
}
.button-row .btn:focus {
  outline: 0;
  border-color: rgba(255,255,255,.8);
  box-shadow: 0 0 0 3px rgba(255,255,255,.2)
}
.button-row .btn.btn-primary {
  background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%)
}
.button-row .btn.btn-primary:hover {
  background: linear-gradient(135deg,var(--pricing-primary-dark) 0,var(--pricing-primary) 100%)
}
.quantity-selector {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(255,255,255,.1);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.2);
  width: 100%;
  justify-content: center
}
.quantity-selector label {
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  white-space: nowrap
}
.quantity-selector select {
  padding: 8px 12px;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 8px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .3s ease;
  min-width: 80px
}
.quantity-price-display {
  color: #fff!important;
  font-weight: 700;
  font-size: .95rem;
  margin-left: 15px;
  padding: 6px 12px;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.2);
  white-space: nowrap
}
.register-btn {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  border: 2px solid rgba(255,255,255,.3);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 1.1rem;
  cursor: pointer;
  transition: all .3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 4px 14px rgba(39,174,96,.3);
  width: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  overflow: hidden;
  animation: buttonGlow 2s ease-in-out infinite
}
.register-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(39,174,96,.4)
}
.squiggle-crossout {
  text-decoration: none!important;
  position: relative
}
.squiggle-crossout::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 8px;
  background: repeating-linear-gradient(45deg,#dc3545,#dc3545 4px,transparent 4px,transparent 8px);
  transform: translateY(-50%)
}
.pricing-comparison-container {
  display: flex;
  gap: 20px;
  margin: 0;
  flex-wrap: wrap;
  justify-content: center
}
.pricing-comparison-card {
  background: rgba(255,255,255,.95);
  border-radius: 12px;
  padding: 20px;
  border: 2px solid rgba(255,255,255,.2);
  box-shadow: 0 4px 20px rgba(0,0,0,.1);
  flex: 1;
  min-width: 280px;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(10px)
}
.comparison-card-header {
  text-align: center;
  margin-bottom: 15px
}
.comparison-tier-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 10px;
  text-transform: capitalize
}
.comparison-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: #27ae60;
  margin-bottom: 5px
}
.comparison-price del {
  color: #e74c3c;
  font-size: 1.2rem;
  margin-right: 8px
}
.comparison-savings {
  background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: .875rem;
  font-weight: 600;
  text-align: center;
  margin-top: 8px;
  display: inline-block
}
.comparison-features {
  margin-bottom: 15px;
  flex: 1
}
.comparison-features h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #34495e;
  margin-bottom: 10px;
  text-align: center
}
.comparison-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left
}
.comparison-features li {
  font-size: 1rem;
  color: #555;
  margin-bottom: 6px;
  padding-left: 20px;
  position: relative
}
.comparison-features li:before {
  content: '✓';
  color: #27ae60;
  font-weight: 700;
  position: absolute;
  left: 0
}
.comparison-cta {
  margin-top: auto;
  text-align: center
}
.comparison-cta .btn {
  text-transform: uppercase;
  letter-spacing: .5px;
  width: 100%
}
.pricing-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 15px;
  align-items: center
}
.sale-indicator-compact,
.savings-indicator,
.urgency-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: .9rem;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  width: 100%;
  justify-content: center
}
.urgency-indicator {
  background: linear-gradient(135deg,#ff4757 0,#ff3838 100%);
  color: #fff;
  animation: urgentPulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.urgency-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 4s ease-in-out infinite
}
.sale-indicator-compact {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  animation: shake 4s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.sale-indicator-compact::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 12s ease-in-out infinite
}
.savings-indicator {
  background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
  color: #fff;
  animation: gentlePulse 2s ease-in-out infinite;
  position: relative;
  overflow: hidden
}
.savings-indicator::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: shine 8s ease-in-out infinite;
  pointer-events: none
}
.sale-timer {
  font-weight: 500;
  font-size: .8rem;
  opacity: .9
}
.currency-heading {
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  margin-bottom: 8px
}
.currency-converter-background {
  background: rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.2);
  display: inline-block;
  min-width: 200px
}
.business-case-scroll-section {
  margin-top: 1.5rem;
  text-align: center
}
.business-case-scroll-btn {
  background: linear-gradient(135deg,#f39c12 0,#e67e22 100%);
  color: #fff;
  border: none;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  box-shadow: 0 4px 15px rgba(243,156,18,.3)
}
.business-case-scroll-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(243,156,18,.4)
}
.business-case-scroll-note {
  color: #fff;
  font-size: .85rem;
  margin-top: .5rem
}
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(231,76,60,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 2px 6px rgba(231,76,60,.3)
  }
}
@keyframes buttonGlow {
  0%,
  100% {
    box-shadow: 0 4px 14px rgba(39,174,96,.3)
  }
  50% {
    box-shadow: 0 6px 20px rgba(39,174,96,.5)
  }
}
@keyframes urgentPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 12px 35px rgba(255,71,87,.4)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 8px 25px rgba(255,71,87,.3)
  }
}
@keyframes shine {
  0% {
    left: -100%
  }
  100% {
    left: 100%
  }
}
@keyframes shake {
  0%,
  100% {
    transform: translateX(0)
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px)
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px)
  }
}
@keyframes gentlePulse {
  0%,
  100% {
    transform: scale(1)
  }
  50% {
    transform: scale(1.02)
  }
}
@keyframes cartPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,.7)
  }
  8.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  16.67% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  25% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  33.33% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  41.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  50% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  58.33% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  66.67% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
  75% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  83.33% {
    transform: scale(1.15);
    box-shadow: 0 0 0 15px rgba(44,159,159,0)
  }
  91.67% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(44,159,159,0)
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(44,159,159,0)
  }
}
@keyframes cartGlow {
  0% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
  50% {
    filter: drop-shadow(0 0 20px rgba(44, 159, 159, .8))
  }
  100% {
    filter: drop-shadow(0 0 0 rgba(44, 159, 159, 0))
  }
}
.group-booking-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity .3s ease;
  display: flex;
  align-items: center;
  justify-content: center
}
.group-booking-content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  max-width: 900px!important;
  width: calc(100% - 2rem);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  transform: scale(.9);
  opacity: 0;
  transition: all .3s cubic-bezier(.34, 1.56, .64, 1);
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,.1);
  padding: 2rem
}
.group-booking-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: 0 0;
  border: 0;
  font-size: 2rem;
  line-height: 1;
  color: #999;
  cursor: pointer;
  padding: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .2s;
  z-index: 1
}
.group-booking-close:hover {
  background: #f5f5f5;
  color: #333
}
.group-booking-header {
  padding: 2rem 2rem 1rem;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
  background: linear-gradient(135deg,#f8f9fa 0,#fff 100%)
}
.group-booking-header h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #0b1a1f;
  margin: 0 0 .5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem
}
.group-booking-header h3::before {
  content: '👥';
  font-size: 1.5rem
}
.group-booking-header p {
  color: #666;
  margin: 0;
  font-size: .95rem;
  line-height: 1.5
}
.group-booking-body {
  padding: 0 2rem 2rem
}
.group-booking-info {
  margin-bottom: 1.5rem;
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 4px solid #2c9f9f
}
.group-booking-info h4 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #0b1a1f;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: .5rem
}
.group-booking-info h4::before {
  content: '💡';
  font-size: 1.2rem
}
.group-booking-info ul {
  margin: 0;
  padding-left: 1.5rem
}
.group-booking-info li {
  font-size: .9rem;
  color: #555;
  margin-bottom: .25rem;
  padding-left: .5rem;
  position: relative
}
.group-booking-info li::before {
  content: '✓';
  color: #27ae60;
  font-weight: 700;
  position: absolute;
  left: -1rem;
  top: 0
}
.group-booking-form {
  margin-top: 1rem
}
.group-booking-form h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #0b1a1f;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: .5rem
}
.group-booking-form h4::before {
  content: '📝';
  font-size: 1.2rem
}
.group-booking-form .form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem
}
.group-booking-form .form-group {
  flex: 1;
  margin-bottom: 0
}
.group-booking-form .form-group.full-width {
  flex: none;
  width: 100%
}
.group-booking-form label {
  display: block;
  font-weight: 600;
  color: #0b1a1f;
  margin-bottom: .5rem;
  font-size: .9rem
}
.group-booking-form input:focus,
.group-booking-form textarea:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1)
}
.group-booking-form textarea {
  resize: vertical;
  min-height: 80px
}
.group-booking-submit {
  width: 100%;
  padding: .875rem;
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  border: 0;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all .3s;
  box-shadow: 0 4px 14px rgba(44,159,159,.25);
  position: relative;
  overflow: hidden
}
.group-booking-submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition: left .5s
}
.group-booking-submit:hover::before {
  left: 100%
}
.group-booking-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(44,159,159,.35)
}
.group-booking-submit:disabled {
  opacity: .6;
  cursor: not-allowed
}
.group-booking-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(44,159,159,.35)
}
.group-booking-submit:disabled {
  opacity: .6;
  cursor: not-allowed
}
.group-booking-footer {
  padding: 1rem 2rem 2rem;
  text-align: center;
  border-top: 1px solid #e5e7eb
}
.group-booking-cancel {
  background: #f5f5f5;
  color: #555;
  border: 1px solid #ddd;
  padding: .75rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all .2s
}
.group-booking-cancel:hover {
  background: #e5e5e5
}
.group-booking-modal .group-booking-header {
  background: linear-gradient(135deg,#2c9f9f 0,#25888a 100%);
  color: #fff;
  border-radius: 16px 16px 0 0;
  margin: 0 0 1rem 0;
  padding: 2.5rem 2rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0
}
.group-booking-modal .group-booking-header::before {
  content: '👥';
  font-size: 3rem;
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  opacity: .3
}
.group-booking-modal .group-booking-header h3 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .5rem 0;
  text-shadow: 0 2px 4px rgba(0,0,0,.3);
  position: relative;
  z-index: 1
}
.group-booking-modal .group-booking-info {
  background: linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid #2c9f9f
}
.group-booking-modal .group-booking-form .form-row {
  box-sizing: border-box;
  flex-wrap: wrap;
  gap: 1rem
}
.group-booking-modal .group-booking-info {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  color: #495057!important;
  background: #f8f9fa!important;
  border-left: 4px solid #2c9f9f!important;
  padding: 1.5rem!important;
  margin-bottom: 1.5rem!important;
  border-radius: 12px!important
}
#groupSize {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 500;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: all .3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,.05);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
  padding-right: 3rem
}
#groupSize:focus {
  outline: 0;
  border-color: #2c9f9f;
  box-shadow: 0 0 0 3px rgba(44,159,159,.1);
  background-color: #f8f9fa
}
#groupSize:hover {
  border-color: #2c9f9f;
  background-color: #f8f9fa
}
#groupSize option {
  padding: .5rem;
  background: #fff;
  color: #333;
  font-weight: 500
}
@keyframes spin {
  0% {
    transform: rotate(0)
  }
  100% {
    transform: rotate(360deg)
  }
}
@media (max-width:1024px) {
  .pricing-container-compact {
    flex-direction: column;
    gap: 15px;
    align-items: stretch
  }
  .price-tier {
    min-width: auto;
    padding: 12px 16px
  }
  .quantity-selector {
    flex-direction: column;
    gap: 8px;
    padding: 16px
  }
}
@media (max-width:768px) {
  .business-case-btn {
    color: #fff;
    border: 2px solid rgba(255,255,255,.3);
    padding: 1rem 2rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all .3s ease;
    letter-spacing: .5px;
    box-shadow: 0 6px 20px rgba(44,159,159,.3);
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    position: relative;
    overflow: hidden
  }
  .business-case-content {
    position: relative;
    background-color: #fff;
    margin: 5% auto;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.3);
    width: 90%;
    max-width: 700px;
    animation: modalFadeIn .3s ease-out;
    max-height: 80vh;
    overflow-y: auto
  }
  .business-case-modal .business-case-description {
    text-align: left;
    margin-bottom: 1.5rem;
    line-height: 1.7
  }
  .business-case-benefits {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 8px;
    border-left: 4px solid #2c9f9f
  }
  .business-case-benefits h3 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.2rem
  }
  .business-case-benefits ul {
    list-style: none;
    padding: 0
  }
  .business-case-benefits ul li {
    padding: .5rem 0;
    border-bottom: 1px solid #e9ecef;
    color: #495057
  }
  .business-case-benefits ul li:last-child {
    border-bottom: none
  }
  .business-case-benefits ul li::before {
    content: '✓';
    color: #28a745;
    font-weight: 700;
    margin-right: .5rem
  }
  .business-case-header {
    text-align: center;
    margin-bottom: 2rem
  }
  .business-case-header h3 {
    color: #2c9f9f;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem
  }
  .business-case-header p {
    color: #666;
    margin: 0;
    font-size: 1rem;
    line-height: 1.6
  }
  .business-case-body {
    display: flex;
    gap: 2rem
  }
  @media (max-width:768px) {
    .business-case-body {
      flex-direction: column;
      gap: 1.5rem
    }
  }
  .business-case-info {
    flex: 1
  }
  .business-case-info p {
    margin-bottom: 1rem;
    color: #555;
    line-height: 1.6
  }
  .business-case-info p strong {
    color: #2c3e50
  }
  .business-case-info ul {
    margin: 0 0 1rem 0;
    padding-left: 1.5rem
  }
  .business-case-info ul li {
    margin-bottom: .5rem;
    color: #555;
    line-height: 1.5
  }
  .business-case-form {
    flex: 1
  }
  .business-case-form h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
    font-size: 1.2rem
  }
  .business-case-form p {
    color: #666;
    margin-bottom: 1.5rem;
    line-height: 1.5
  }
  @keyframes modalFadeIn {
    from {
      opacity: 0;
      transform: translateY(-50px) scale(.9)
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1)
    }
  }
  @media (max-width:768px) {
    .business-case-benefits {
      padding: 1rem
    }
    .business-case-body {
      gap: 1rem
    }
  }
  .full-width-pricing {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
    left: 50%;
    right: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
    padding: 4rem 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.1)
  }
  .full-width-pricing .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0
  }
  .full-width-pricing .pricing-section-content {
    max-width: 1200px;
    margin: 0 auto
  }
  .pricing-subtitle {
    color: rgba(255,255,255,.9);
    font-size: 1.2rem;
    font-weight: 400;
    margin: 0;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6
  }
  .pricing-section-content {
    backdrop-filter: blur(10px);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "header pricing pricing" "header currency purchase";
    gap: 2rem;
    align-items: start;
    position: relative;
    z-index: 1
  }
  .pricing-header {
    grid-area: header
  }
  .price-display {
    grid-area: pricing
  }
  .currency-selector {
    grid-area: currency
  }
  .purchase-section {
    grid-area: purchase
  }
  .pricing-header {
    text-align: left
  }
  .business-case-note {
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    margin-top: 1rem;
    margin-bottom: 0
  }
  .price-display {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
  }
  .price-card {
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    border: 1px solid rgba(255,255,255,.2);
    transition: all .3s ease;
    position: relative;
    overflow: hidden
  }
  .price-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
    transition: left .6s ease;
    pointer-events: none
  }
  .price-card:hover::before {
    left: 100%
  }
  .price-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,.2)
  }
  .price-badge {
    display: inline-block;
    background: rgba(255,255,255,.2);
    color: #fff;
    padding: .5rem 1rem;
    border-radius: 20px;
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: .5px
  }
  .subscriber-price .price-badge {
    background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
    color: #fff
  }
  .price-amount {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,.3)
  }
  .savings-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: linear-gradient(135deg,#e74c3c 0,#c0392b 100%);
    color: #fff;
    padding: .5rem 1rem;
    border-radius: 20px;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    box-shadow: 0 4px 12px rgba(231,76,60,.3);
    animation: pulse 2s ease-in-out infinite
  }
  .currency-selector {
    display: flex;
    flex-direction: column;
    gap: 1rem
  }
  .currency-selector label {
    color: rgba(255,255,255,.9);
    font-weight: 600;
    font-size: 1rem
  }
  .currency-dropdown {
    width: 100%;
    position: relative
  }
  .currency-dropdown select {
    width: 100%;
    padding: .75rem 1rem;
    border: 2px solid rgba(255,255,255,.3);
    border-radius: 8px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .3s ease;
    backdrop-filter: blur(10px)
  }
  .currency-dropdown select:focus {
    outline: 0;
    border-color: rgba(255,255,255,.8);
    background: rgba(255,255,255,.15);
    box-shadow: 0 0 0 3px rgba(255,255,255,.1)
  }
  .currency-dropdown select:hover {
    border-color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.2)
  }
  .currency-dropdown select option {
    background: #fff;
    color: #333;
    padding: 8px
  }
  .purchase-section {
    display: flex;
    flex-direction: column;
    gap: 2rem
  }
  .quantity-controls {
    display: flex;
    flex-direction: column;
    gap: 1rem
  }
  .quantity-controls label {
    color: rgba(255,255,255,.9);
    font-weight: 600;
    font-size: 1rem
  }
  .quantity-controls select {
    width: 100%;
    padding: .75rem 1rem;
    border: 2px solid rgba(255,255,255,.3);
    border-radius: 8px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all .3s ease;
    backdrop-filter: blur(10px)
  }
  .quantity-controls select option {
    background: #fff;
    color: #333;
    padding: .5rem
  }
  .quantity-controls select:focus {
    outline: 0;
    border-color: rgba(255,255,255,.8);
    background: rgba(255,255,255,.15);
    box-shadow: 0 0 0 3px rgba(255,255,255,.1)
  }
  .quantity-controls select:hover {
    border-color: rgba(255,255,255,.5);
    background: rgba(255,255,255,.2)
  }
  .quantity-total {
    color: rgba(255,255,255,.9);
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    padding: .5rem 1rem;
    background: rgba(255,255,255,.1);
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(10px)
  }
  .quantity-total strong {
    color: #fff;
    font-size: 1.1rem
  }
  .purchase-btn {
    background: linear-gradient(135deg,#27ae60 0,#2ecc71 100%);
    color: #fff;
    border: 2px solid rgba(255,255,255,.3);
    padding: 1rem 2rem;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all .3s ease;
    text-transform: uppercase;
    letter-spacing: .5px;
    box-shadow: 0 6px 20px rgba(39,174,96,.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    width: 100%
  }
  .purchase-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
    transition: left .5s ease;
    pointer-events: none
  }
  .purchase-btn:hover:not(:disabled)::before {
    left: 100%
  }
  .purchase-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(39,174,96,.4)
  }
  .purchase-btn i {
    font-size: 1.1rem
  }
  .purchase-btn.contact-btn {
    background: linear-gradient(135deg,var(--pricing-primary) 0,var(--pricing-primary-dark) 100%);
    box-shadow: 0 6px 20px rgba(52,152,219,.3)
  }
  .purchase-btn.contact-btn:hover:not(:disabled) {
    box-shadow: 0 10px 30px rgba(52,152,219,.4)
  }
  .pricing-closed {
    text-align: center;
    padding: 3rem
  }
  .closed-notice {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(20px);
    border-radius: 16px;
    padding: 3rem;
    border: 1px solid rgba(255,255,255,.2);
    max-width: 500px;
    margin: 0 auto
  }
  .closed-notice i {
    font-size: 3rem;
    color: rgba(255,255,255,.8);
    margin-bottom: 1.5rem
  }
  .closed-notice h3 {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1rem
  }
  .closed-notice p {
    color: rgba(255,255,255,.9);
    font-size: 1.1rem;
    margin-bottom: 2rem
  }
  @media (max-width:1024px) {
    .pricing-section-content {
      grid-template-columns: 1fr;
      grid-template-areas: "header" "pricing" "currency" "purchase";
      gap: 2rem
    }
    .price-card {
      padding: 1.5rem
    }
    .price-amount {
      font-size: 2rem
    }
  }
  @media (max-width:768px) {
    .es-tech-pricing {
      padding: 2rem 1rem
    }
    .pricing-section-content {
      padding: 1.5rem;
      border-radius: 12px;
      grid-template-columns: 1fr;
      grid-template-areas: "header" "pricing" "currency" "purchase";
      gap: 1.5rem
    }
    .pricing-header {
      text-align: center
    }
    .business-case-btn {
      padding: .75rem 1.5rem;
      font-size: .9rem
    }
    .price-display {
      gap: 1rem
    }
    .price-card {
      padding: 1.25rem
    }
    .price-amount {
      font-size: 1.8rem
    }
    .currency-selector {
      text-align: center
    }
    .currency-dropdown {
      width: auto;
      max-width: 300px;
      margin: 0 auto
    }
    .cta-currency-selector {
      text-align: center
    }
    .cta-currency-selector .wcml-dropdown {
      display: inline-block;
      margin: 0 auto
    }
    .purchase-section {
      gap: 1.5rem
    }
    .quantity-controls select {
      padding: .6rem .8rem;
      font-size: .95rem
    }
    .purchase-btn {
      padding: .875rem 1.5rem;
      font-size: 1rem
    }
    .closed-notice {
      padding: 2rem
    }
    .closed-notice h3 {
      font-size: 1.5rem
    }
  }
  @media (max-width:480px) {
    .pricing-section-content {
      padding: 1rem;
      gap: 1rem
    }
    .price-card {
      padding: 1rem
    }
    .purchase-btn {
      padding: .75rem 1.25rem;
      font-size: .95rem
    }
    .closed-notice {
      padding: 1.5rem
    }
    .full-width-pricing {
      padding: 1rem .5rem
    }
  }
  @media (max-width:768px) {
    .full-width-pricing {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      transform: none;
      left: auto;
      right: auto;
      padding: 2rem 1rem
    }
    .es-tech-pricing {
      padding: 2rem 1rem
    }
    .pricing-section-content {
      padding: 1.5rem;
      border-radius: 12px;
      grid-template-columns: 1fr;
      grid-template-areas: "header" "pricing" "currency" "purchase";
      gap: 1.5rem
    }
    .pricing-header {
      text-align: center
    }
    .business-case-btn {
      padding: .75rem 1.5rem;
      font-size: .9rem
    }
    .price-display {
      gap: 1rem
    }
    .price-card {
      padding: 1.25rem
    }
    .price-amount {
      font-size: 1.8rem
    }
  }
  .theme-global .pricing-comparison-card {
    background: rgba(142,68,173,.1);
    border-color: rgba(142,68,173,.3);
    box-shadow: 0 4px 20px rgba(142,68,173,.2)
  }
  .theme-global .comparison-price {
    color: #8e44ad
  }
  .theme-global .comparison-savings {
    background: linear-gradient(135deg,#8e44ad 0,#6c3483 100%)
  }
  .theme-global .select-tier {
    background: linear-gradient(135deg,#8e44ad 0,#6c3483 100%);
    border-color: #8e44ad
  }
  .theme-global .select-tier:hover {
    background: linear-gradient(135deg,#6c3483 0,#5b2c6f 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(142,68,173,.4)
  }
}