* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  font-family: 'Public Sans', sans-serif;
  background: #0a0a0f;
  color: #E4E9FE;
  word-break: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

::selection {
  background: #198436;
  color: #0a0a0f
}

a:focus {
  outline: 2px solid #198436;
  outline-offset: 2px
}

.HeaderWrapper {
  background: linear-gradient(135deg, #0d0d14 0%, #1a1a28 100%);
  border-bottom: 1px solid #e4e9fe14;
  box-shadow: 2px 8px 40px 0 #e4e9fe1a
}

.HeaderInner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 40px
}

.BrandRow {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px
}

.LogoContainer {
  background: #e4e9fe0d;
  backdrop-filter: blur(12px);
  border: 1px solid #e4e9fe1f;
  border-radius: 44px;
  padding: 12px;
  box-shadow: 2px 5px 28px 0 #1984361a;
  width: 75px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.LogoContainer:hover {
  transform: scale(1.05)
}

.LogoImg {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.BrandName {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  color: #E4E9FE;
  letter-spacing: 0;
  margin: 0
}

.NavRow {
  background: #e4e9fe08;
  border-radius: 44px;
  padding: 12px 24px;
  border: 1px solid #e4e9fe0f;
  box-shadow: inset 0 1px 3px #e4e9fe14
}

.MainNav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center
}

.NavItem {
  margin: 0
}

.NavLink {
  display: block;
  padding: 12px 24px;
  color: #E4E9FE;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  border-radius: 44px;
  background: #e4e9fe05;
  border: 1px solid transparent;
  transition: background .5s ease-in-out, border-color .5s ease-in-out, color .5s ease-in-out;
  min-height: 44px;
  display: flex;
  align-items: center
}

.NavLink:hover {
  background: #19843626;
  border-color: #1984364d;
  color: #E4E9FE
}

.NavLink:focus {
  background: #a58d0826;
  border-color: #a58d0866
}

@media (max-width: 768px) {
  .HeaderInner {
    padding: 24px
  }

  .BrandRow {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
  }

  .BrandName {
    font-size: 24px
  }

  .LogoContainer {
    width: 65px;
    height: 65px
  }

  .MainNav {
    flex-direction: column;
    align-items: stretch
  }

  .NavLink {
    padding: 12px 24px
  }
}

@media (max-width: 375px) {
  .HeaderInner {
    padding: 12px
  }

  .NavRow {
    padding: 12px
  }

  .BrandName {
    font-size: 24px
  }
}

.FooterWrapper {
  background: linear-gradient(180deg, #0d0d14 0%, #1a1a28 50%, #0a0a0f 100%);
  border-top: 1px solid #e4e9fe14;
  margin-top: 80px
}

.FooterInner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px 40px
}

.FooterGrid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-bottom: 80px
}

.BrandColumn {
  background: #e4e9fe08;
  backdrop-filter: blur(8px);
  padding: 40px;
  border-radius: 44px;
  border: 1px solid #e4e9fe0f;
  box-shadow: 2px 5px 28px 0 #1984361a;
  display: flex;
  flex-direction: column;
  gap: 24px
}

.FooterLogoContainer {
  background: #e4e9fe0d;
  border: 1px solid #e4e9fe1f;
  border-radius: 44px;
  padding: 12px;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 2px 1px 4px 0 #1984360d
}

.FooterLogoImg {
  width: 100%;
  height: 100%;
  object-fit: contain
}

.FooterBrandName {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  color: #E4E9FE;
  margin: 0
}

.ContactInfo {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ContactItem {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.ContactIcon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px
}

.ContactIcon svg {
  width: 100%;
  height: 100%;
  fill: #198436
}

.ContactLink {
  color: #e4e9fecc;
  text-decoration: none;
  transition: color .5s ease-in-out
}

.ContactLink:hover {
  color: #E4E9FE
}

.LinksColumn {
  background: #a58d080d;
  backdrop-filter: blur(8px);
  padding: 40px;
  border-radius: 44px;
  border: 1px solid #a58d0814;
  box-shadow: 2px 5px 28px 0 #a58d081a
}

.FooterHeading {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  color: #E4E9FE;
  margin: 0 0 24px
}

.FooterMenu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.FooterMenuItem {
  margin: 0
}

.FooterLink {
  display: inline-block;
  padding: 12px 0;
  color: #e4e9fecc;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.65;
  transition: color .5s ease-in-out, padding-left .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border-left: 2px solid transparent;
  padding-left: 12px
}

.FooterLink:hover {
  color: #E4E9FE;
  border-left-color: #A58D08;
  padding-left: 24px
}

.CopyrightBar {
  padding-top: 40px;
  border-top: 1px solid #e4e9fe0f;
  text-align: center
}

.CopyrightText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fe80;
  margin: 0
}

@media (max-width: 1366px) {
  .FooterGrid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .FooterInner {
    padding: 40px 24px 24px
  }

  .FooterGrid {
    gap: 24px;
    margin-bottom: 40px
  }

  .BrandColumn,
  .LinksColumn {
    padding: 24px
  }

  .CopyrightBar {
    padding-top: 24px
  }
}

@media (max-width: 375px) {
  .FooterInner {
    padding: 24px 12px 12px
  }

  .BrandColumn,
  .LinksColumn {
    padding: 24px 12px
  }
}

.agreement-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  background: #e4e9fe08;
  border-radius: 4px;
  box-shadow: 2px 5px 28px 0 #e4e9fe1a
}

.agreement-content h1 {
  font-size: 60px;
  line-height: 1.15;
  margin-bottom: 40px;
  color: #E4E9FE
}

.agreement-content h2 {
  font-size: 44px;
  line-height: 1.15;
  margin-top: 80px;
  margin-bottom: 24px;
  color: #E4E9FE
}

.agreement-content h3 {
  font-size: 32px;
  line-height: 1.15;
  margin-top: 40px;
  margin-bottom: 24px;
  color: #E4E9FE
}

.agreement-content h4 {
  font-size: 24px;
  line-height: 1.15;
  margin-top: 40px;
  margin-bottom: 12px;
  color: #E4E9FE
}

.agreement-content p {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 24px;
  color: #e4e9fede
}

.agreement-content ul,
.agreement-content ol {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 24px;
  padding-left: 40px;
  color: #e4e9fede
}

.agreement-content ul {
  list-style-type: disc
}

.agreement-content ol {
  list-style-type: decimal
}

.agreement-content li {
  margin-bottom: 12px
}

.agreement-content li:last-child {
  margin-bottom: 0
}

.agreement-content strong,
.agreement-content b {
  color: #E4E9FE;
  font-weight: 600
}

.agreement-content a {
  color: #198436;
  text-decoration: underline;
  transition: color .52s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.agreement-content a:hover {
  color: #A58D08
}

.agreement-content a:focus {
  outline: 2px solid #198436;
  outline-offset: 2px
}

.agreement-content hr {
  border: none;
  height: 1px;
  background: #e4e9fe26;
  margin: 80px 0
}

.agreement-content div {
  margin-bottom: 24px
}

@media (max-width: 1366px) {
  .agreement-content {
    padding: 80px 24px
  }

  .agreement-content h1 {
    font-size: 44px
  }

  .agreement-content h2 {
    font-size: 32px
  }
}

@media (max-width: 768px) {
  .agreement-content {
    padding: 40px 24px
  }

  .agreement-content h1 {
    font-size: 32px;
    margin-bottom: 24px
  }

  .agreement-content h2 {
    font-size: 24px;
    margin-top: 40px;
    margin-bottom: 12px
  }

  .agreement-content h3 {
    font-size: 24px;
    margin-top: 24px;
    margin-bottom: 12px
  }

  .agreement-content h4 {
    font-size: 16px;
    margin-top: 24px;
    margin-bottom: 12px
  }

  .agreement-content ul,
  .agreement-content ol {
    padding-left: 24px
  }

  .agreement-content hr {
    margin: 40px 0
  }
}

@media (max-width: 375px) {
  .agreement-content {
    padding: 24px 12px
  }

  .agreement-content h1 {
    font-size: 24px
  }

  .agreement-content ul,
  .agreement-content ol {
    padding-left: 24px
  }
}

.UpcomingDetail {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.UpcomingDetail::selection {
  background: #198436;
  color: #0a0a0a
}

.UpcomingDetail .HeroSplit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 85vh;
  position: relative;
  overflow: hidden
}

.UpcomingDetail .TextZone {
  padding: 120px 80px 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background: linear-gradient(135deg, #e4e9fe08 0%, transparent 100%)
}

.UpcomingDetail .QuoteMark {
  position: absolute;
  top: 80px;
  left: 40px;
  font-size: 280px;
  line-height: 1;
  color: #e4e9fe0a;
  font-weight: 700;
  pointer-events: none;
  user-select: none
}

.UpcomingDetail .CategoryLabel {
  display: inline-block;
  padding: 6px 24px;
  background: #a58d0826;
  color: #A58D08;
  border-radius: 44px;
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 24px;
  border: 1px solid #a58d084d
}

.UpcomingDetail .MainTitle {
  font-size: 60px;
  line-height: 1.15;
  margin-bottom: 24px;
  position: relative;
  z-index: 1
}

.UpcomingDetail .TitleSweep {
  display: inline-block;
  background: linear-gradient(90deg, #E4E9FE 0%, #198436 50%, #A58D08 100%);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: sweepColor 2.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

@keyframes sweepColor {
  0% {
    background-position: 100% 0
  }

  100% {
    background-position: 0 0
  }
}

.UpcomingDetail .LeadText {
  font-size: 24px;
  line-height: 1.65;
  color: #e4e9febf;
  margin-bottom: 40px
}

.UpcomingDetail .MetaRow {
  display: flex;
  gap: 40px;
  margin-bottom: 40px
}

.UpcomingDetail .MetaItem {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.UpcomingDetail .MetaLabel {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fe80;
  text-transform: uppercase;
  letter-spacing: .5px
}

.UpcomingDetail .MetaValue {
  font-size: 24px;
  line-height: 1.65;
  color: #E4E9FE;
  font-weight: 600
}

.UpcomingDetail .ImageZone {
  position: relative;
  overflow: hidden
}

.UpcomingDetail .HeroImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: sepia(0.15) saturate(1.2) brightness(0.95)
}

.UpcomingDetail .PriceOverlay {
  position: absolute;
  bottom: 40px;
  right: 40px;
  background: #0a0a0ad9;
  backdrop-filter: blur(12px);
  padding: 24px 40px;
  border-radius: 4px;
  border: 1px solid #e4e9fe1a;
  box-shadow: 2px 8px 40px 0 #1984361a
}

.UpcomingDetail .PriceAmount {
  font-size: 44px;
  line-height: 1.15;
  color: #198436;
  font-weight: 700;
  margin-bottom: 6px
}

.UpcomingDetail .PriceTerm {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fe99
}

.UpcomingDetail .ContentWrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px
}

.UpcomingDetail .SectionDivider {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #e4e9fe1a 20%, #e4e9fe1a 80%, transparent 100%);
  margin: 80px 0;
  position: relative
}

.UpcomingDetail .SectionDivider::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 3px;
  background: #A58D08
}

.UpcomingDetail .ThreeColumnGrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 80px
}

.UpcomingDetail .InfoCard {
  background: #e4e9fe05;
  border: 1px solid #e4e9fe14;
  border-radius: 4px;
  padding: 40px;
  transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.UpcomingDetail .InfoCard:hover {
  border-color: #1984364d;
  box-shadow: 2px 5px 28px 0 #1984361a
}

.UpcomingDetail .CardIcon {
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  fill: none;
  stroke: #198436;
  stroke-width: 2
}

.UpcomingDetail .CardTitle {
  font-size: 24px;
  line-height: 1.65;
  margin-bottom: 12px;
  color: #E4E9FE
}

.UpcomingDetail .CardText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9feb3
}

.UpcomingDetail .MagazineLayout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-bottom: 80px
}

.UpcomingDetail .PrimaryContent {
  background: #0a0a0a99;
  border: 1px solid #e4e9fe14;
  border-radius: 44px;
  padding: 80px;
  box-shadow: 2px 1px 4px 0 #e4e9fe0d
}

.UpcomingDetail .ContentOverline {
  width: 60px;
  height: 3px;
  background: #198436;
  margin-bottom: 24px
}

.UpcomingDetail .ContentHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 40px;
  color: #E4E9FE
}

.UpcomingDetail .ProgramContent {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.UpcomingDetail .ProgramContent h2 {
  font-size: 32px;
  line-height: 1.15;
  margin: 40px 0 24px;
  color: #E4E9FE
}

.UpcomingDetail .ProgramContent p {
  margin-bottom: 24px
}

.UpcomingDetail .ProgramContent ol,
.UpcomingDetail .ProgramContent ul {
  margin: 24px 0 24px 24px;
  padding: 0
}

.UpcomingDetail .ProgramContent li {
  margin-bottom: 12px;
  padding-left: 12px
}

.UpcomingDetail .ProgramContent dl {
  margin: 24px 0
}

.UpcomingDetail .ProgramContent dt {
  font-weight: 600;
  color: #198436;
  margin-top: 24px;
  margin-bottom: 6px
}

.UpcomingDetail .ProgramContent dd {
  margin-left: 24px;
  margin-bottom: 12px
}

.UpcomingDetail .ProgramContent blockquote {
  border-left: 3px solid #A58D08;
  padding-left: 24px;
  margin: 40px 0;
  font-style: italic;
  color: #e4e9fee6
}

.UpcomingDetail .ProgramContent cite {
  display: block;
  margin-top: 12px;
  font-size: 16px;
  color: #e4e9fe99
}

.UpcomingDetail .ProgramContent figure {
  margin: 40px 0
}

.UpcomingDetail .ProgramContent figcaption {
  margin-top: 12px;
  font-size: 16px;
  color: #e4e9fe99;
  text-align: center
}

.UpcomingDetail .ProgramContent small {
  font-size: 16px;
  color: #e4e9fe99
}

.UpcomingDetail .ProgramContent details {
  margin: 24px 0;
  border: 1px solid #e4e9fe1a;
  border-radius: 4px;
  padding: 24px
}

.UpcomingDetail .ProgramContent summary {
  cursor: pointer;
  font-weight: 600;
  color: #198436;
  margin-bottom: 12px
}

.UpcomingDetail .SidebarContent {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.UpcomingDetail .SidebarBlock {
  background: #e4e9fe08;
  border: 1px solid #e4e9fe14;
  border-radius: 4px;
  padding: 40px;
  box-shadow: inset 0 1px 3px #e4e9fe0d
}

.UpcomingDetail .SidebarTitle {
  font-size: 24px;
  line-height: 1.65;
  margin-bottom: 24px;
  color: #E4E9FE
}

.UpcomingDetail .SidebarText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf;
  margin-bottom: 12px
}

.UpcomingDetail .SidebarHighlight {
  font-size: 32px;
  line-height: 1.15;
  color: #A58D08;
  font-weight: 700;
  margin-top: 12px
}

.UpcomingDetail .FullWidthDescription {
  background: radial-gradient(ellipse at 50% 50%, #19843614 0%, transparent 70%);
  padding: 80px;
  border-radius: 4px;
  margin-bottom: 80px
}

.UpcomingDetail .DescriptionInner {
  max-width: 900px;
  margin: 0 auto
}

.UpcomingDetail .DescriptionHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 40px;
  text-align: center;
  color: #E4E9FE
}

.UpcomingDetail .DescriptionText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.UpcomingDetail .DescriptionText h2 {
  font-size: 32px;
  line-height: 1.15;
  margin: 40px 0 24px;
  color: #E4E9FE
}

.UpcomingDetail .DescriptionText p {
  margin-bottom: 24px
}

.UpcomingDetail .DescriptionText mark {
  background: #a58d0833;
  color: #A58D08;
  padding: 2px 6px;
  border-radius: 4px
}

.UpcomingDetail .DescriptionText ul,
.UpcomingDetail .DescriptionText ol {
  margin: 24px 0 24px 24px;
  padding: 0
}

.UpcomingDetail .DescriptionText li {
  margin-bottom: 12px;
  padding-left: 12px
}

.UpcomingDetail .DescriptionText dl {
  margin: 24px 0
}

.UpcomingDetail .DescriptionText dt {
  font-weight: 600;
  color: #198436;
  margin-top: 24px;
  margin-bottom: 6px
}

.UpcomingDetail .DescriptionText dd {
  margin-left: 24px;
  margin-bottom: 12px
}

.UpcomingDetail .DescriptionText small {
  font-size: 16px;
  color: #e4e9fe99
}

.UpcomingDetail .InteractiveReveal {
  position: relative;
  margin-bottom: 80px
}

.UpcomingDetail .RevealTrigger {
  display: none
}

.UpcomingDetail .RevealOverlay {
  background: #0a0a0af2;
  backdrop-filter: blur(8px);
  border: 2px solid #e4e9fe26;
  border-radius: 4px;
  padding: 80px;
  text-align: center;
  cursor: pointer;
  transition: border-color .5s ease-in-out, background .5s ease-in-out
}

.UpcomingDetail .RevealOverlay:hover {
  border-color: #19843666;
  background: #0a0a0ad9
}

.UpcomingDetail .RevealLabel {
  display: block;
  font-size: 32px;
  line-height: 1.15;
  color: #E4E9FE;
  margin-bottom: 24px
}

.UpcomingDetail .RevealIcon {
  width: 60px;
  height: 60px;
  margin: 0 auto;
  fill: none;
  stroke: #198436;
  stroke-width: 2
}

.UpcomingDetail .RevealContent {
  display: none;
  background: #e4e9fe05;
  border: 1px solid #e4e9fe14;
  border-radius: 4px;
  padding: 80px
}

.UpcomingDetail .RevealTrigger:checked~.RevealOverlay {
  display: none
}

.UpcomingDetail .RevealTrigger:checked~.RevealContent {
  display: block;
  animation: fadeInContent .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

@keyframes fadeInContent {
  0% {
    opacity: 0;
    transform: translateY(20px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

.UpcomingDetail .RevealContentHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 40px;
  color: #E4E9FE
}

.UpcomingDetail .RevealContentText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.UpcomingDetail .GlossarySection {
  background: #0a0a0a66;
  border-radius: 44px;
  padding: 80px;
  margin-bottom: 80px
}

.UpcomingDetail .GlossaryHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 40px;
  text-align: center;
  color: #E4E9FE
}

.UpcomingDetail .GlossaryGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.UpcomingDetail .GlossaryTerm {
  font-size: 24px;
  line-height: 1.65;
  color: #198436;
  font-weight: 600;
  margin-bottom: 12px
}

.UpcomingDetail .GlossaryDefinition {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf
}

.UpcomingDetail .CtaSection {
  text-align: center;
  padding: 80px 40px;
  background: linear-gradient(135deg, #1984360d 0%, #a58d080d 100%);
  border-radius: 4px
}

.UpcomingDetail .CtaHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 24px;
  color: #E4E9FE
}

.UpcomingDetail .CtaText {
  font-size: 24px;
  line-height: 1.65;
  color: #e4e9febf;
  margin-bottom: 40px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto
}

.UpcomingDetail .CtaButton {
  display: inline-block;
  padding: 24px 80px;
  background: #198436;
  color: #E4E9FE;
  font-size: 24px;
  line-height: 1.65;
  text-decoration: none;
  border-radius: 44px;
  border: none;
  cursor: pointer;
  transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 2px 5px 28px 0 #1984361a
}

.UpcomingDetail .CtaButton:hover {
  background: #1a9c3d;
  box-shadow: 2px 8px 40px 0 #1984361a;
  transform: translateY(-2px)
}

.UpcomingDetail .CtaButton:active {
  transform: translateY(0)
}

.UpcomingDetail .MetaFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 80px;
  background: #e4e9fe05;
  border-top: 1px solid #e4e9fe14;
  margin-top: 0 !important
}

.UpcomingDetail .MetaStats {
  display: flex;
  gap: 40px
}

.UpcomingDetail .StatItem {
  display: flex;
  align-items: center;
  gap: 12px
}

.UpcomingDetail .StatIcon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #e4e9fe80;
  stroke-width: 2
}

.UpcomingDetail .StatValue {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9feb3
}

@media (max-width: 1366px) {
  .UpcomingDetail .HeroSplit {
    grid-template-columns: 1fr
  }

  .UpcomingDetail .TextZone {
    padding: 80px 40px 100px
  }

  .UpcomingDetail .ImageZone {
    min-height: 60vh
  }

  .UpcomingDetail .MainTitle {
    font-size: 44px
  }

  .UpcomingDetail .MagazineLayout {
    grid-template-columns: 1fr
  }

  .UpcomingDetail .GlossaryGrid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 768px) {
  .UpcomingDetail .TextZone {
    padding: 40px 24px 60px
  }

  .UpcomingDetail .QuoteMark {
    font-size: 180px;
    top: 40px;
    left: 12px
  }

  .UpcomingDetail .MainTitle {
    font-size: 32px
  }

  .UpcomingDetail .LeadText {
    font-size: 16px
  }

  .UpcomingDetail .MetaRow {
    flex-direction: column;
    gap: 24px
  }

  .UpcomingDetail .PriceOverlay {
    bottom: 24px;
    right: 24px;
    padding: 24px
  }

  .UpcomingDetail .PriceAmount {
    font-size: 32px
  }

  .UpcomingDetail .ContentWrapper {
    padding: 40px 24px
  }

  .UpcomingDetail .ThreeColumnGrid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .UpcomingDetail .InfoCard {
    padding: 24px
  }

  .UpcomingDetail .PrimaryContent {
    padding: 40px 24px;
    border-radius: 4px
  }

  .UpcomingDetail .ContentHeading {
    font-size: 32px
  }

  .UpcomingDetail .FullWidthDescription {
    padding: 40px 24px
  }

  .UpcomingDetail .DescriptionHeading {
    font-size: 32px
  }

  .UpcomingDetail .RevealOverlay {
    padding: 40px 24px
  }

  .UpcomingDetail .RevealLabel {
    font-size: 24px
  }

  .UpcomingDetail .RevealContent {
    padding: 40px 24px
  }

  .UpcomingDetail .RevealContentHeading {
    font-size: 32px
  }

  .UpcomingDetail .GlossarySection {
    padding: 40px 24px;
    border-radius: 4px
  }

  .UpcomingDetail .GlossaryHeading {
    font-size: 32px
  }

  .UpcomingDetail .CtaSection {
    padding: 40px 24px
  }

  .UpcomingDetail .CtaHeading {
    font-size: 32px
  }

  .UpcomingDetail .CtaText {
    font-size: 16px
  }

  .UpcomingDetail .CtaButton {
    padding: 24px 40px;
    font-size: 16px
  }

  .UpcomingDetail .MetaFooter {
    flex-direction: column;
    gap: 24px;
    padding: 24px
  }

  .UpcomingDetail .MetaStats {
    flex-direction: column;
    gap: 12px
  }
}

@media (max-width: 375px) {
  .UpcomingDetail .MainTitle {
    font-size: 24px
  }

  .UpcomingDetail .ContentHeading,
  .UpcomingDetail .DescriptionHeading,
  .UpcomingDetail .RevealContentHeading,
  .UpcomingDetail .GlossaryHeading,
  .UpcomingDetail .CtaHeading {
    font-size: 24px
  }

  .UpcomingDetail .PrimaryContent {
    padding: 24px
  }
}

.PodcastMain {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh
}

.PodcastMain * {
  box-sizing: border-box
}

.PodcastMain .HeroWrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 40px;
  align-items: center;
  overflow: hidden
}

.PodcastMain .HeroContent {
  position: relative;
  z-index: 2
}

.PodcastMain .HeroContent h1 {
  font-size: 70px;
  line-height: 1.15;
  margin: 0 0 24px;
  color: #E4E9FE
}

.PodcastMain .AccentDot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #198436;
  border-radius: 44px;
  margin: 0 0 0 6px;
  vertical-align: middle
}

.PodcastMain .DirectionArrow {
  position: absolute;
  right: 320px;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #A58D08)
}

.PodcastMain .DirectionArrow::after {
  content: '';
  position: absolute;
  right: 0;
  top: -4px;
  width: 0;
  height: 0;
  border-left: 8px solid #A58D08;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent
}

.PodcastMain .HeroImageStrip {
  position: relative;
  height: 320px;
  overflow: hidden;
  border-radius: 4px
}

.PodcastMain .HeroImageStrip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.15) brightness(0.95)
}

.PodcastMain .MetricsSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  background: linear-radial(ellipse at 50% 50%, #19843614, transparent);
  clip-path: polygon(0 0, 100% 80px, 100% 100%, 0 100%);
  margin-top: -80px;
  padding-top: 160px
}

.PodcastMain .MetricsGrid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px
}

.PodcastMain .MetricCard {
  background: #e4e9fe08;
  border: 1px solid #e4e9fe14;
  border-radius: 44px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.PodcastMain .MetricCard:hover {
  transform: translateY(-6px);
  box-shadow: 2px 8px 40px 0 #1984361a
}

.PodcastMain .MetricCard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #198436, #A58D08);
  opacity: 0;
  transition: opacity .5s ease-in-out
}

.PodcastMain .MetricCard:hover::before {
  opacity: 1
}

.PodcastMain .MetricOverline {
  font-size: 16px;
  line-height: 1.65;
  color: #A58D08;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 12px
}

.PodcastMain .MetricCard h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px;
  color: #E4E9FE
}

.PodcastMain .MetricCard p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9febf
}

.PodcastMain .MetricNumber {
  font-size: 60px;
  line-height: 1.15;
  color: #198436;
  font-weight: 700;
  display: block;
  margin: 24px 0 12px
}

.PodcastMain .MetricLabel {
  font-size: 24px;
  line-height: 1.15;
  color: #E4E9FE;
  display: block;
  margin: 0 0 6px
}

.PodcastMain .MetricCaption {
  display: block;
  width: 120px;
  height: 1px;
  background: #e4e9fe33;
  margin: 12px 0 0
}

.PodcastMain .EpisodesWrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  background: #0a0a0a99;
  backdrop-filter: blur(12px)
}

.PodcastMain .EpisodesWrapper h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 40px;
  color: #E4E9FE
}

.PodcastMain .EpisodesList {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.PodcastMain .EpisodeItem {
  background: #e4e9fe05;
  border: 1px solid #a58d0826;
  border-radius: 4px;
  padding: 24px 40px;
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 24px;
  align-items: center;
  transition: background .48s ease-in-out, border-color .48s ease-in-out
}

.PodcastMain .EpisodeItem:hover {
  background: #e4e9fe0d;
  border-color: #a58d0859
}

.PodcastMain .EpisodeNumber {
  font-size: 32px;
  line-height: 1.15;
  color: #A58D08;
  font-weight: 700
}

.PodcastMain .EpisodeDetails h3 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: #E4E9FE
}

.PodcastMain .EpisodeDetails p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9fea6
}

.PodcastMain .EpisodeDuration {
  font-size: 16px;
  line-height: 1.65;
  color: #198436;
  white-space: nowrap
}

.PodcastMain .HostSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 80px));
  background: linear-gradient(135deg, #1984360f 0%, transparent 60%)
}

.PodcastMain .HostGrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px
}

.PodcastMain .HostCard {
  background: #e4e9fe0a;
  border-radius: 44px;
  padding: 40px 24px;
  text-align: center;
  position: relative;
  box-shadow: 2px 1px 4px 0 #1984360d;
  transition: box-shadow .62s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.PodcastMain .HostCard:hover {
  box-shadow: 2px 5px 28px 0 #1984361a
}

.PodcastMain .HostIcon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  border-radius: 44px;
  background: linear-gradient(135deg, #198436, #A58D08);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden
}

.PodcastMain .HostIcon::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: #e4e9fe1a;
  border-radius: 44px;
  box-shadow: inset 0 2px 12px #e4e9fe4d
}

.PodcastMain .HostIcon svg {
  width: 40px;
  height: 40px;
  fill: #E4E9FE;
  position: relative;
  z-index: 1
}

.PodcastMain .HostCard h4 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px;
  color: #E4E9FE
}

.PodcastMain .HostCard p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9feb3
}

@media (max-width: 1366px) {
  .PodcastMain .HeroWrapper {
    grid-template-columns: 1fr 240px;
    gap: 24px
  }

  .PodcastMain .HeroContent h1 {
    font-size: 60px
  }

  .PodcastMain .HeroImageStrip {
    height: 280px
  }

  .PodcastMain .DirectionArrow {
    right: 280px
  }
}

@media (max-width: 768px) {
  .PodcastMain .HeroWrapper {
    grid-template-columns: 1fr;
    padding: 24px 12px
  }

  .PodcastMain .HeroContent h1 {
    font-size: 44px
  }

  .PodcastMain .HeroImageStrip {
    height: 240px
  }

  .PodcastMain .DirectionArrow {
    display: none
  }

  .PodcastMain .MetricsSection {
    padding: 40px 12px;
    padding-top: 120px
  }

  .PodcastMain .MetricsGrid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .PodcastMain .MetricCard {
    padding: 24px
  }

  .PodcastMain .EpisodesWrapper {
    padding: 40px 12px
  }

  .PodcastMain .EpisodeItem {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 12px
  }

  .PodcastMain .EpisodeNumber {
    font-size: 24px
  }

  .PodcastMain .HostSection {
    padding: 40px 12px
  }

  .PodcastMain .HostGrid {
    grid-template-columns: 1fr;
    gap: 24px
  }
}

@media (max-width: 375px) {
  .PodcastMain .HeroContent h1 {
    font-size: 32px
  }

  .PodcastMain .MetricCard h2 {
    font-size: 32px
  }

  .PodcastMain .MetricNumber {
    font-size: 44px
  }

  .PodcastMain .EpisodesWrapper h2 {
    font-size: 32px
  }
}

.PodcastMain ::selection {
  background: #A58D08;
  color: #0a0a0a
}

.ContactHub {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.ContactHub ::selection {
  background: #198436;
  color: #0a0a0a
}

.ContactHub .TitleWrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 120px;
  text-align: center;
  position: relative;
  overflow: hidden
}

.ContactHub .HeroImage {
  width: 100%;
  max-width: 900px;
  height: 480px;
  object-fit: cover;
  border-radius: 4px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
  box-shadow: 2px 8px 40px 0 #e4e9fe1a
}

.ContactHub .HeroImage::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 30%, #0a0a0ab3 100%);
  pointer-events: none
}

.ContactHub .MainHeading {
  font-size: 70px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 700
}

.ContactHub .MainHeading .LineBreak {
  display: block
}

.ContactHub .DualPanel {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start
}

.ContactHub .FormSection {
  background: #e4e9fe08;
  backdrop-filter: blur(12px);
  border-radius: 4px;
  padding: 40px;
  border: 1px solid #e4e9fe14;
  box-shadow: 2px 5px 28px 0 #e4e9fe1a
}

.ContactHub .SectionLabel {
  font-size: 16px;
  line-height: 1.65;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #A58D08;
  margin: 0 0 12px;
  position: relative;
  padding-top: 12px
}

.ContactHub .SectionLabel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 2px;
  background: #A58D08
}

.ContactHub .FormHeading {
  font-size: 32px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 600
}

.ContactHub .FormDescription {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 40px;
  color: #e4e9fecc
}

.ContactHub .FormGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px
}

.ContactHub .FieldWrapper {
  display: flex;
  flex-direction: column;
  gap: 6px
}

.ContactHub .FieldWrapper.is-full {
  grid-column: 1 / -1
}

.ContactHub .FieldLabel {
  font-size: 16px;
  line-height: 1.65;
  color: #E4E9FE;
  font-weight: 500
}

.ContactHub .TextInput,
.ContactHub .SelectInput {
  background: #0a0a0a99;
  border: 1px solid #e4e9fe26;
  border-radius: 4px;
  padding: 12px 24px;
  font-size: 16px;
  line-height: 1.65;
  color: #E4E9FE;
  transition: border-color .55s ease-in-out, box-shadow .55s ease-in-out;
  outline: none
}

.ContactHub .TextInput::placeholder {
  color: #e4e9fe66
}

.ContactHub .TextInput:focus,
.ContactHub .SelectInput:focus {
  border-color: #198436;
  box-shadow: inset 0 0 8px #19843633
}

.ContactHub .SelectInput {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23E4E9FE' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 24px center;
  padding-right: 50px
}

.ContactHub .ConsentWrapper {
  margin: 24px 0;
  display: flex;
  align-items: start;
  gap: 12px
}

.ContactHub .ConsentCheckbox {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  cursor: pointer;
  accent-color: #198436
}

.ContactHub .ConsentText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.ContactHub .ConsentText a {
  color: #198436;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ContactHub .ConsentText a:hover {
  color: #A58D08
}

.ContactHub .SubmitButton {
  background: #198436;
  color: #E4E9FE;
  border: none;
  border-radius: 44px;
  padding: 12px 40px;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 600;
  cursor: pointer;
  transition: background .6s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 2px 5px 28px 0 #1984361a
}

.ContactHub .SubmitButton:hover {
  background: #1a9c3d;
  transform: translateY(-2px)
}

.ContactHub .SubmitButton:active {
  transform: translateY(0)
}

.ContactHub .InfoSidebar {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.ContactHub .InfoCard {
  background: #1984360d;
  border-radius: 4px;
  padding: 24px;
  border: 1px solid #19843626
}

.ContactHub .InfoHeading {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px;
  font-weight: 600
}

.ContactHub .InfoItem {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 12px;
  color: #e4e9fee6;
  display: flex;
  align-items: start;
  gap: 12px
}

.ContactHub .InfoItem:last-child {
  margin-bottom: 0
}

.ContactHub .InfoIcon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px
}

.ContactHub .InfoIcon svg {
  width: 100%;
  height: 100%;
  fill: #198436
}

.ContactHub .InfoLink {
  color: #E4E9FE;
  text-decoration: none;
  transition: color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ContactHub .InfoLink:hover {
  color: #A58D08
}

.ContactHub .PulseAccent {
  width: 8px;
  height: 8px;
  background: #A58D08;
  border-radius: 44px;
  display: inline-block;
  margin-left: 6px;
  animation: pulseGlow 2s ease-in-out infinite
}

@keyframes pulseGlow {

  0%,
  100% {
    opacity: 1;
    transform: scale(1)
  }

  50% {
    opacity: .5;
    transform: scale(1.3)
  }
}

.ContactHub .FaqSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  position: relative
}

.ContactHub .FaqSection::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: radial-gradient(ellipse at center, #19843614 0%, transparent 70%);
  z-index: -1;
  pointer-events: none
}

.ContactHub .FaqWrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px
}

.ContactHub .FaqIntro {
  display: flex;
  flex-direction: column;
  justify-content: center
}

.ContactHub .FaqIntroHeading {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 600
}

.ContactHub .FaqIntroText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc;
  margin: 0
}

.ContactHub .FaqImage {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 2px 5px 28px 0 #e4e9fe1a
}

.ContactHub .FaqList {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 40px
}

.ContactHub .FaqItem {
  background: #e4e9fe05;
  backdrop-filter: blur(8px);
  border-radius: 4px;
  border: 1px solid #e4e9fe14;
  overflow: hidden;
  transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ContactHub .FaqToggle {
  display: none
}

.ContactHub .FaqQuestion {
  padding: 24px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ContactHub .FaqQuestion:hover {
  background: #e4e9fe08
}

.ContactHub .FaqQuestionText {
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
  font-weight: 600
}

.ContactHub .FaqIcon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ContactHub .FaqIcon svg {
  width: 100%;
  height: 100%;
  stroke: #198436
}

.ContactHub .FaqAnswer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .6s ease-in-out, padding .6s ease-in-out
}

.ContactHub .FaqAnswerContent {
  padding: 0 24px;
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fecc
}

.ContactHub .FaqToggle:checked+.FaqQuestion .FaqIcon {
  transform: rotate(180deg)
}

.ContactHub .FaqToggle:checked+.FaqQuestion+.FaqAnswer {
  max-height: 500px;
  padding-bottom: 24px
}

.ContactHub .FaqToggle:checked~.FaqItem {
  border-color: #1984364d
}

@media (max-width: 1366px) {
  .ContactHub .MainHeading {
    font-size: 60px
  }

  .ContactHub .FaqIntroHeading {
    font-size: 32px
  }
}

@media (max-width: 768px) {
  .ContactHub .TitleWrapper {
    padding: 40px 24px 80px
  }

  .ContactHub .HeroImage {
    height: 320px
  }

  .ContactHub .MainHeading {
    font-size: 44px
  }

  .ContactHub .DualPanel {
    grid-template-columns: 1fr;
    padding: 0 24px 40px
  }

  .ContactHub .FormSection {
    padding: 24px
  }

  .ContactHub .FormGrid {
    grid-template-columns: 1fr
  }

  .ContactHub .FaqWrapper {
    grid-template-columns: 1fr
  }

  .ContactHub .FaqIntroHeading {
    font-size: 32px
  }

  .ContactHub .FaqQuestionText {
    font-size: 24px
  }

  .ContactHub .FaqSection {
    padding: 40px 24px
  }
}

@media (max-width: 375px) {
  .ContactHub .MainHeading {
    font-size: 32px
  }

  .ContactHub .FormHeading {
    font-size: 24px
  }

  .ContactHub .FaqIntroHeading {
    font-size: 24px
  }

  .ContactHub .FaqQuestionText {
    font-size: 16px
  }
}

.UpcomingProgramsPage {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.UpcomingProgramsPage * {
  box-sizing: border-box
}

.UpcomingProgramsPage ::selection {
  background: #198436;
  color: #0a0a0a
}

.HeroWrapper {
  position: relative;
  padding: 80px 24px;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden
}

.HeroWrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 180%;
  height: 100%;
  background: radial-gradient(ellipse at 50% 50%, #e4e9fe08 0%, transparent 60%);
  pointer-events: none;
  z-index: 0
}

.BackgroundNumber {
  position: absolute;
  top: -40px;
  right: 40px;
  font-size: 280px;
  line-height: 1.15;
  color: #e4e9fe05;
  font-weight: 700;
  z-index: 0;
  pointer-events: none
}

.HeroContent {
  position: relative;
  z-index: 1
}

.EyebrowLabel {
  font-size: 16px;
  line-height: 1.65;
  color: #A58D08;
  margin: 0 0 12px;
  text-transform: uppercase;
  letter-spacing: 1px
}

.HeroHeading {
  font-size: 70px;
  line-height: 1.15;
  margin: 0;
  color: #E4E9FE
}

.ProgramsGrid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px
}

.ProgramCard {
  background: #e4e9fe05;
  backdrop-filter: blur(20px);
  border: 1px solid #e4e9fe14;
  border-radius: 4px;
  padding: 40px;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 2px 5px 28px 0 #e4e9fe1a
}

.ProgramCard:hover {
  transform: translateY(-6px);
  border-color: #1984364d;
  box-shadow: 2px 8px 40px 0 #1984361a
}

.ProgramCard:first-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center
}

.ProgramImageWrapper {
  width: 100%;
  height: 380px;
  border-radius: 4px;
  overflow: hidden;
  position: relative
}

.ProgramImageWrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, #0a0a0a66 100%);
  z-index: 1;
  pointer-events: none
}

.ProgramImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.6) brightness(0.85);
  transition: transform .65s ease-in-out, filter .65s ease-in-out
}

.ProgramCard:hover .ProgramImage {
  transform: scale(1.05);
  filter: saturate(0.8) brightness(1)
}

.ProgramDetails {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.UserFormatTag {
  display: inline-block;
  padding: 6px 12px;
  background: #19843626;
  color: #198436;
  font-size: 16px;
  line-height: 1.65;
  border-radius: 44px;
  border: 1px solid #1984364d;
  width: fit-content
}

.ProgramTitle {
  font-size: 44px;
  line-height: 1.15;
  margin: 0;
  color: #E4E9FE
}

.ProgramDescription {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf;
  margin: 0
}

.PriceSection {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  background: #a58d0814;
  border-radius: 4px;
  border: 1px solid #a58d0833
}

.PriceAmount {
  font-size: 32px;
  line-height: 1.15;
  color: #A58D08;
  margin: 0;
  font-weight: 700
}

.PriceTerms {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fea6;
  margin: 0
}

.PriceNote {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fe80;
  margin: 0;
  font-style: italic
}

.SeatsLeft {
  font-size: 16px;
  line-height: 1.65;
  color: #198436;
  margin: 0;
  padding: 12px;
  background: #1984361a;
  border-radius: 4px;
  text-align: center
}

.ProgramLink {
  display: inline-block;
  padding: 12px 40px;
  background: #198436;
  color: #E4E9FE;
  text-decoration: none;
  border-radius: 44px;
  font-size: 16px;
  line-height: 1.65;
  text-align: center;
  transition: background .5s ease-in-out, transform .5s ease-in-out, box-shadow .5s ease-in-out;
  box-shadow: 2px 1px 4px 0 #1984360d
}

.ProgramLink:hover {
  background: #1a9d3e;
  transform: translateY(-2px);
  box-shadow: 2px 5px 28px 0 #1984361a
}

.ProgramLink:active {
  transform: translateY(0)
}

.ProgramCard:not(:first-child) .ProgramDetails {
  gap: 12px
}

.ProgramCard:not(:first-child) .ProgramTitle {
  font-size: 32px
}

.StatsSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
  position: relative
}

.StatsSection::before {
  content: '';
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-bottom: 40px solid #e4e9fe08
}

.StatsWrapper {
  background: #e4e9fe05;
  padding: 80px 40px;
  border-radius: 4px;
  position: relative;
  overflow: hidden
}

.StatsWrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, #e4e9fe03 2px, #e4e9fe03 4px), repeating-linear-gradient(90deg, transparent, transparent 2px, #e4e9fe03 2px, #e4e9fe03 4px);
  pointer-events: none
}

.OverlineHeading {
  position: relative;
  padding-top: 24px
}

.OverlineHeading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 2px;
  background: #A58D08
}

.StatsHeading {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 40px;
  color: #E4E9FE
}

.StatsGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px
}

.StatItem {
  text-align: center;
  padding: 24px;
  background: #1984360d;
  border-radius: 4px;
  border: 1px solid #19843626;
  transition: background .48s ease-in-out, border-color .48s ease-in-out
}

.StatItem:hover {
  background: #19843614;
  border-color: #19843640
}

.StatNumber {
  font-size: 60px;
  line-height: 1.15;
  color: #198436;
  margin: 0 0 12px;
  font-weight: 700
}

.StatLabel {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9feb3;
  margin: 0
}

.InfoSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 80px
}

.MainContent {
  display: flex;
  flex-direction: column;
  gap: 40px
}

.ContentBlock {
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ContentBlock::before {
  content: '';
  width: 4px;
  height: 40px;
  background: #A58D08;
  display: block;
  margin-bottom: 12px
}

.ContentHeading {
  font-size: 32px;
  line-height: 1.15;
  margin: 0;
  color: #E4E9FE
}

.ContentText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf;
  margin: 0
}

.SidebarPanel {
  background: #1984360d;
  padding: 40px;
  border-radius: 4px;
  border-left: 4px solid #198436;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: fit-content;
  position: sticky;
  top: 24px
}

.SidebarHeading {
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
  color: #E4E9FE
}

.ContactList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px
}

.ContactItem {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf
}

.ContactLink {
  color: #198436;
  text-decoration: none;
  transition: color .45s ease-in-out
}

.ContactLink:hover {
  color: #1a9d3e
}

@media (max-width: 1366px) {
  .HeroHeading {
    font-size: 60px
  }

  .BackgroundNumber {
    font-size: 220px;
    right: 20px
  }

  .ProgramsGrid {
    gap: 24px
  }

  .InfoSection {
    gap: 40px
  }
}

@media (max-width: 768px) {
  .HeroWrapper {
    padding: 40px 24px
  }

  .HeroHeading {
    font-size: 44px
  }

  .BackgroundNumber {
    font-size: 140px;
    top: -20px;
    right: 12px
  }

  .ProgramsGrid {
    grid-template-columns: 1fr;
    padding: 40px 24px;
    gap: 24px
  }

  .ProgramCard:first-child {
    grid-column: 1;
    grid-template-columns: 1fr;
    gap: 24px
  }

  .ProgramImageWrapper {
    height: 280px
  }

  .ProgramTitle {
    font-size: 32px
  }

  .ProgramCard:not(:first-child) .ProgramTitle {
    font-size: 24px
  }

  .StatsGrid {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .StatsWrapper {
    padding: 40px 24px
  }

  .InfoSection {
    grid-template-columns: 1fr;
    padding: 40px 24px;
    gap: 40px
  }

  .SidebarPanel {
    position: static
  }
}

@media (max-width: 375px) {
  .HeroHeading {
    font-size: 32px
  }

  .BackgroundNumber {
    font-size: 100px
  }

  .ProgramCard {
    padding: 24px
  }

  .ProgramTitle {
    font-size: 24px
  }

  .PriceAmount {
    font-size: 24px
  }

  .StatsHeading {
    font-size: 32px
  }

  .StatNumber {
    font-size: 44px
  }

  .ContentHeading {
    font-size: 24px
  }
}

.AboutPageDravkels {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh
}

.AboutPageDravkels .HeroIntro {
  position: relative;
  padding: 80px 24px;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 50%, #e4e9fe14 0%, transparent 70%)
}

.AboutPageDravkels .HeroIntro::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 40px, #e4e9fe05 40px, #e4e9fe05 80px);
  pointer-events: none
}

.AboutPageDravkels .HeroImageWrapper {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 40px;
  border-radius: 4px;
  overflow: hidden
}

.AboutPageDravkels .HeroImageWrapper img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block
}

.AboutPageDravkels .HeroImageWrapper::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(to top, #0a0a0ad9, transparent);
  pointer-events: none
}

.AboutPageDravkels .HeroContent {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 1
}

.AboutPageDravkels .HeroHeading {
  font-size: 70px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 700
}

.AboutPageDravkels .HeroDescription {
  font-size: 24px;
  line-height: 1.65;
  margin: 0;
  max-width: 820px;
  color: #e4e9fed9
}

.AboutPageDravkels .ValuesSection {
  padding: 80px 24px;
  background: #0f0f0f;
  border-top: 1px solid #e4e9fe14
}

.AboutPageDravkels .ValuesContainer {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px
}

.AboutPageDravkels .ValuesPrimary {
  background: #e4e9fe08;
  backdrop-filter: blur(12px);
  border-radius: 44px;
  padding: 40px;
  border: 1px solid #e4e9fe0f;
  box-shadow: 2px 5px 28px 0 #e4e9fe1a
}

.AboutPageDravkels .OverlineLabel {
  display: block;
  width: 60px;
  height: 2px;
  background: #198436;
  margin: 0 0 24px
}

.AboutPageDravkels .ValuesPrimary h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 700
}

.AboutPageDravkels .ValuesPrimary p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 24px;
  color: #e4e9fed9
}

.AboutPageDravkels .ValuesPrimary p:last-child {
  margin-bottom: 0
}

.AboutPageDravkels .ValuesSecondary {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.AboutPageDravkels .ValueCard {
  background: #19843614;
  border-radius: 4px;
  padding: 24px;
  border: 1px solid #19843626;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.AboutPageDravkels .ValueCard:hover {
  transform: translateY(-6px);
  border-color: #19843659
}

.AboutPageDravkels .ValueCard h3 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px;
  font-weight: 600
}

.AboutPageDravkels .ValueCard p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9fecc
}

.AboutPageDravkels .TeamSection {
  padding: 80px 24px;
  background: #a58d0808
}

.AboutPageDravkels .TeamContainer {
  max-width: 1200px;
  margin: 0 auto
}

.AboutPageDravkels .TeamHeader {
  margin: 0 0 40px
}

.AboutPageDravkels .TeamHeader h2 {
  font-size: 60px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 700
}

.AboutPageDravkels .TeamHeader p {
  font-size: 24px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9fed9;
  max-width: 780px
}

.AboutPageDravkels .TeamGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.AboutPageDravkels .TeamMember {
  background: #e4e9fe0a;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #e4e9fe14;
  transition: box-shadow .5s ease-in-out;
  position: relative
}

.AboutPageDravkels .TeamMember::before,
.AboutPageDravkels .TeamMember::after,
.AboutPageDravkels .TeamMember .BorderTop,
.AboutPageDravkels .TeamMember .BorderBottom {
  content: '';
  position: absolute;
  background: #A58D08;
  opacity: 0;
  transition: opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.AboutPageDravkels .TeamMember::before {
  top: 0;
  left: 0;
  width: 2px;
  height: 0;
  transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s
}

.AboutPageDravkels .TeamMember::after {
  bottom: 0;
  right: 0;
  width: 2px;
  height: 0;
  transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s
}

.AboutPageDravkels .TeamMember .BorderTop {
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  transition: width .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .15s
}

.AboutPageDravkels .TeamMember .BorderBottom {
  bottom: 0;
  right: 0;
  width: 0;
  height: 2px;
  transition: width .6s cubic-bezier(0.25, 0.46, 0.45, 0.94) .45s
}

.AboutPageDravkels .TeamMember:hover::before,
.AboutPageDravkels .TeamMember:hover::after {
  height: 100%;
  opacity: 1
}

.AboutPageDravkels .TeamMember:hover .BorderTop,
.AboutPageDravkels .TeamMember:hover .BorderBottom {
  width: 100%;
  opacity: 1
}

.AboutPageDravkels .TeamMember:hover {
  box-shadow: 2px 8px 40px 0 #a58d081a
}

.AboutPageDravkels .TeamPhoto {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block
}

.AboutPageDravkels .TeamInfo {
  padding: 24px
}

.AboutPageDravkels .TeamInfo h3 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  font-weight: 600
}

.AboutPageDravkels .TeamRole {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #A58D08
}

.AboutPageDravkels ::selection {
  background: #198436;
  color: #0a0a0a
}

@media (max-width: 1366px) {
  .AboutPageDravkels .HeroHeading {
    font-size: 60px
  }

  .AboutPageDravkels .TeamGrid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width: 768px) {
  .AboutPageDravkels .HeroIntro {
    padding: 40px 24px
  }

  .AboutPageDravkels .HeroHeading {
    font-size: 44px
  }

  .AboutPageDravkels .HeroDescription {
    font-size: 16px
  }

  .AboutPageDravkels .HeroImageWrapper img {
    height: 280px
  }

  .AboutPageDravkels .ValuesSection {
    padding: 40px 24px
  }

  .AboutPageDravkels .ValuesContainer {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .AboutPageDravkels .ValuesPrimary {
    padding: 24px
  }

  .AboutPageDravkels .ValuesPrimary h2 {
    font-size: 32px
  }

  .AboutPageDravkels .TeamSection {
    padding: 40px 24px
  }

  .AboutPageDravkels .TeamHeader h2 {
    font-size: 44px
  }

  .AboutPageDravkels .TeamHeader p {
    font-size: 16px
  }

  .AboutPageDravkels .TeamGrid {
    grid-template-columns: 1fr
  }
}

@media (max-width: 375px) {
  .AboutPageDravkels .HeroHeading {
    font-size: 32px
  }

  .AboutPageDravkels .ValuesPrimary h2 {
    font-size: 24px
  }

  .AboutPageDravkels .TeamHeader h2 {
    font-size: 32px
  }
}

.BudgetMasteryHub {
  background: #0a0a0a;
  color: #E4E9FE;
  min-height: 100vh
}

.BudgetMasteryHub .HeroWrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 40px;
  position: relative;
  overflow: hidden
}

.BudgetMasteryHub .HeroImageZone {
  width: 100%;
  height: 380px;
  margin-bottom: 40px;
  position: relative;
  border: 3px solid #e4e9fe26;
  border-radius: 4px;
  overflow: hidden
}

.BudgetMasteryHub .HeroImageZone::before,
.BudgetMasteryHub .HeroImageZone::after {
  content: '';
  position: absolute;
  width: 60px;
  height: 60px;
  border: 2px solid #198436;
  z-index: 2
}

.BudgetMasteryHub .HeroImageZone::before {
  top: 12px;
  left: 12px;
  border-right: none;
  border-bottom: none
}

.BudgetMasteryHub .HeroImageZone::after {
  bottom: 12px;
  right: 12px;
  border-left: none;
  border-top: none
}

.BudgetMasteryHub .HeroImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.3) contrast(1.1)
}

.BudgetMasteryHub .HeroTextZone {
  max-width: 880px
}

.BudgetMasteryHub .MainHeading {
  font-size: 70px;
  line-height: 1.15;
  margin: 0 0 24px;
  font-weight: 700
}

.BudgetMasteryHub .ManifestoText {
  font-size: 24px;
  line-height: 1.65;
  margin: 0 0 40px;
  max-width: 720px
}

.BudgetMasteryHub .HeroAction {
  display: inline-block;
  padding: 12px 40px;
  background: linear-gradient(135deg, #198436 0%, #0a4a1f 100%);
  color: #E4E9FE;
  text-decoration: none;
  border-radius: 44px;
  font-size: 16px;
  transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s ease-in-out;
  box-shadow: 2px 5px 28px 0 #1984361a
}

.BudgetMasteryHub .HeroAction:hover {
  transform: translateY(-2px);
  box-shadow: 2px 8px 40px 0 #1984361a
}

.BudgetMasteryHub .DividerZigzag {
  width: 100%;
  height: 40px;
  margin: 80px 0
}

.BudgetMasteryHub .MetricsSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  background: linear-gradient(radial-gradient(ellipse at 50% 50%, #19843614 0%, transparent 70%));
  position: relative
}

.BudgetMasteryHub .MetricsSection::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(30deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(150deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(30deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(150deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05);
  background-size: 80px 140px;
  background-position: 0 0, 0 0, 40px 70px, 40px 70px;
  pointer-events: none;
  opacity: .4
}

.BudgetMasteryHub .MetricsGrid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 24px;
  position: relative;
  z-index: 1
}

.BudgetMasteryHub .MetricCardPrimary {
  background: #e4e9fe08;
  border: 1px solid #e4e9fe14;
  border-radius: 4px;
  padding: 40px;
  backdrop-filter: blur(10px);
  box-shadow: 2px 5px 28px 0 #1984361a
}

.BudgetMasteryHub .MetricCardPrimary .OverlineLabel {
  display: block;
  width: 80px;
  height: 2px;
  background: #A58D08;
  margin-bottom: 24px
}

.BudgetMasteryHub .MetricCardPrimary h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px
}

.BudgetMasteryHub .MetricCardPrimary p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0
}

.BudgetMasteryHub .MetricCardSecondary {
  background: #1984360d;
  border: 1px solid #1984361f;
  border-radius: 4px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 2px 1px 4px 0 #1984360d
}

.BudgetMasteryHub .StatNumber {
  font-size: 60px;
  line-height: 1.15;
  margin: 0 0 12px;
  color: #198436;
  font-weight: 700
}

.BudgetMasteryHub .StatLabel {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9feb3
}

.BudgetMasteryHub .TechniqueShowcase {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  border-top: 1px solid #e4e9fe14
}

.BudgetMasteryHub .TechniqueShowcase h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 40px
}

.BudgetMasteryHub .TechniqueLayout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px
}

.BudgetMasteryHub .TechniqueCard {
  background: #e4e9fe05;
  border: 2px solid #e4e9fe0f;
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .5s ease-in-out;
  position: relative
}

.BudgetMasteryHub .TechniqueCard::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0;
  background: linear-gradient(180deg, transparent 0%, #19843626 100%);
  transition: height .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 1
}

.BudgetMasteryHub .TechniqueCard:hover::before {
  height: 100%
}

.BudgetMasteryHub .TechniqueCard:hover {
  border-color: #1984364d
}

.BudgetMasteryHub .TechniqueImageWrapper {
  width: 100%;
  height: 220px;
  border: 3px solid #e4e9fe1a;
  border-radius: 4px;
  margin: 12px;
  overflow: hidden;
  position: relative;
  z-index: 2
}

.BudgetMasteryHub .TechniqueImage {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.BudgetMasteryHub .TechniqueContent {
  padding: 24px;
  position: relative;
  z-index: 2
}

.BudgetMasteryHub .TechniqueContent h3 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px
}

.BudgetMasteryHub .TechniqueContent p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  color: #e4e9fecc
}

.BudgetMasteryHub .InteractiveToolSection {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  background: linear-gradient(radial-gradient(ellipse at 50% 50%, #a58d080f 0%, transparent 60%))
}

.BudgetMasteryHub .ToolIntroBlock {
  max-width: 680px;
  margin-bottom: 40px
}

.BudgetMasteryHub .ToolIntroBlock .OverlineLabel {
  display: block;
  width: 100px;
  height: 2px;
  background: #A58D08;
  margin-bottom: 24px
}

.BudgetMasteryHub .ToolIntroBlock h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px
}

.BudgetMasteryHub .ToolIntroBlock p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0
}

.BudgetMasteryHub .CalculatorWrapper {
  background: #e4e9fe0a;
  border: 1px solid #e4e9fe1f;
  border-radius: 4px;
  padding: 40px;
  box-shadow: inset 0 1px 3px #e4e9fe14 2px 5px 28px 0 #a58d081a;
  position: relative
}

.BudgetMasteryHub .CalculatorWrapper::before {
  content: '';
  position: absolute;
  top: 12px;
  right: 12px;
  width: 50px;
  height: 50px;
  border-top: 2px solid #A58D08;
  border-right: 2px solid #A58D08
}

.BudgetMasteryHub .InputRow {
  margin-bottom: 24px
}

.BudgetMasteryHub .InputRow label {
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
  color: #e4e9fee6
}

.BudgetMasteryHub .InputRow input {
  width: 100%;
  padding: 12px;
  background: #e4e9fe0d;
  border: 1px solid #e4e9fe26;
  border-radius: 4px;
  color: #E4E9FE;
  font-size: 16px;
  transition: border-color .5s ease-in-out, background .5s ease-in-out
}

.BudgetMasteryHub .InputRow input:focus {
  outline: none;
  border-color: #A58D08;
  background: #e4e9fe14
}

.BudgetMasteryHub .InputRow input::placeholder {
  color: #e4e9fe66
}

.BudgetMasteryHub .InputRow input::selection {
  background: #A58D08;
  color: #0a0a0a
}

.BudgetMasteryHub .ResultDisplay {
  background: #19843614;
  border: 2px solid #19843633;
  border-radius: 4px;
  padding: 24px;
  margin-top: 24px
}

.BudgetMasteryHub .ResultDisplay h4 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px;
  color: #198436
}

.BudgetMasteryHub .ResultValue {
  font-size: 32px;
  line-height: 1.15;
  margin: 0;
  font-weight: 700
}

.BudgetMasteryHub .ResourcesBlock {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  border-top: 1px solid #e4e9fe14;
  background: #e4e9fe05
}

.BudgetMasteryHub .ResourcesBlock h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 40px
}

.BudgetMasteryHub .ResourceList {
  display: flex;
  flex-direction: column;
  gap: 24px
}

.BudgetMasteryHub .ResourceItem {
  background: #e4e9fe08;
  border-left: 4px solid #A58D08;
  padding: 24px 40px;
  border-radius: 4px;
  transition: background .55s ease-in-out, transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 2px 1px 4px 0 #a58d080d
}

.BudgetMasteryHub .ResourceItem:hover {
  background: #e4e9fe0d;
  transform: translateX(6px)
}

.BudgetMasteryHub .ResourceItem h3 {
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 12px
}

.BudgetMasteryHub .ResourceItem p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 12px;
  color: #e4e9fed9
}

.BudgetMasteryHub .ResourceItem a {
  color: #198436;
  text-decoration: none;
  font-size: 16px;
  border-bottom: 1px solid #1984364d;
  transition: border-color .5s ease-in-out
}

.BudgetMasteryHub .ResourceItem a:hover {
  border-color: #198436
}

.BudgetMasteryHub .ContactBlock {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
  text-align: center
}

.BudgetMasteryHub .ContactBlock h2 {
  font-size: 44px;
  line-height: 1.15;
  margin: 0 0 24px
}

.BudgetMasteryHub .ContactBlock p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto
}

.BudgetMasteryHub .ContactAction {
  display: inline-block;
  padding: 12px 40px;
  background: #e4e9fe14;
  color: #E4E9FE;
  text-decoration: none;
  border: 2px solid #e4e9fe33;
  border-radius: 4px;
  font-size: 16px;
  transition: background .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .6s ease-in-out
}

.BudgetMasteryHub .ContactAction:hover {
  background: #e4e9fe1f;
  border-color: #e4e9fe66
}

@media (max-width: 1366px) {
  .BudgetMasteryHub .MainHeading {
    font-size: 60px
  }

  .BudgetMasteryHub .TechniqueLayout {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 768px) {
  .BudgetMasteryHub .HeroWrapper {
    padding: 40px 24px 24px
  }

  .BudgetMasteryHub .HeroImageZone {
    height: 280px
  }

  .BudgetMasteryHub .MainHeading {
    font-size: 44px
  }

  .BudgetMasteryHub .ManifestoText {
    font-size: 16px
  }

  .BudgetMasteryHub .MetricsGrid {
    grid-template-columns: 1fr
  }

  .BudgetMasteryHub .MetricsSection,
  .BudgetMasteryHub .TechniqueShowcase,
  .BudgetMasteryHub .InteractiveToolSection,
  .BudgetMasteryHub .ResourcesBlock,
  .BudgetMasteryHub .ContactBlock {
    padding: 40px 24px
  }

  .BudgetMasteryHub .TechniqueLayout {
    grid-template-columns: 1fr
  }

  .BudgetMasteryHub .DividerZigzag {
    margin: 40px 0
  }
}

@media (max-width: 375px) {
  .BudgetMasteryHub .MainHeading {
    font-size: 32px
  }

  .BudgetMasteryHub .MetricCardPrimary,
  .BudgetMasteryHub .MetricCardSecondary,
  .BudgetMasteryHub .CalculatorWrapper {
    padding: 24px
  }

  .BudgetMasteryHub .StatNumber {
    font-size: 44px
  }
}

.SuccessPage {
  background: linear-gradient(180deg, #0a0d14 0%, #121520 100%);
  min-height: 100vh;
  color: #E4E9FE;
  padding: 80px 24px;
  position: relative;
  overflow-x: clip
}

.SuccessPage::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(30deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(150deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(30deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(150deg, #e4e9fe05 12%, transparent 12.5%, transparent 87%, #e4e9fe05 87.5%, #e4e9fe05), linear-gradient(60deg, #e4e9fe08 25%, transparent 25.5%, transparent 75%, #e4e9fe08 75%, #e4e9fe08), linear-gradient(60deg, #e4e9fe08 25%, transparent 25.5%, transparent 75%, #e4e9fe08 75%, #e4e9fe08);
  background-size: 40px 70px;
  background-position: 0 0, 0 0, 20px 35px, 20px 35px, 0 0, 20px 35px;
  pointer-events: none;
  z-index: 1
}

.SuccessPage .ContentWrapper {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2
}

.SuccessPage .HeroConfirmation {
  text-align: center;
  margin-bottom: 80px;
  animation: slideUpFade .58s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  opacity: 0;
  transform: translateY(40px)
}

@keyframes slideUpFade {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.SuccessPage .IconCheck {
  width: 120px;
  height: 120px;
  margin: 0 auto 40px;
  position: relative
}

.SuccessPage .IconCheck svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(2px 8px 40px #1984361a)
}

.SuccessPage .IconCheck circle {
  fill: none;
  stroke: #198436;
  stroke-width: 3;
  stroke-dasharray: 283;
  stroke-dashoffset: 283;
  animation: drawCircle .52s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s forwards
}

.SuccessPage .IconCheck polyline {
  fill: none;
  stroke: #E4E9FE;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: drawCheck .48s cubic-bezier(0.25, 0.46, 0.45, 0.94) .6s forwards
}

@keyframes drawCircle {
  to {
    stroke-dashoffset: 0
  }
}

@keyframes drawCheck {
  to {
    stroke-dashoffset: 0
  }
}

.SuccessPage .MainHeading {
  font-size: 70px;
  line-height: 1.15;
  margin-bottom: 24px;
  font-weight: 700;
  background: linear-gradient(135deg, #E4E9FE 0%, #e4e9feb3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent
}

.SuccessPage .SubHeading {
  font-size: 24px;
  line-height: 1.65;
  color: #e4e9febf;
  max-width: 680px;
  margin: 0 auto
}

.SuccessPage .DualBlockContainer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start
}

.SuccessPage .InfoBlock {
  background: #e4e9fe08;
  backdrop-filter: blur(12px);
  border: 1px solid #e4e9fe14;
  border-radius: 44px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  animation: slideUpFade .62s cubic-bezier(0.25, 0.46, 0.45, 0.94) .3s forwards;
  opacity: 0;
  transform: translateY(40px);
  box-shadow: 2px 5px 28px 0 #e4e9fe1a;
  transition: border-color .52s ease-in-out, box-shadow .52s ease-in-out
}

.SuccessPage .InfoBlock:hover {
  border-color: #1984364d;
  box-shadow: 2px 8px 40px 0 #1984361a
}

.SuccessPage .InfoBlock::before {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #19843633 0%, transparent 100%);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  pointer-events: none
}

.SuccessPage .InfoBlock:nth-child(2) {
  animation-delay: .45s
}

.SuccessPage .BlockOverline {
  font-size: 16px;
  line-height: 1.65;
  color: #198436;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 12px;
  position: relative;
  display: inline-block
}

.SuccessPage .BlockOverline::before {
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  width: 40px;
  height: 2px;
  background: #198436
}

.SuccessPage .BlockHeading {
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 24px;
  font-weight: 700;
  color: #E4E9FE
}

.SuccessPage .BlockText {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9febf;
  margin-bottom: 24px
}

.SuccessPage .DetailsList {
  list-style: none;
  padding: 0;
  margin: 0
}

.SuccessPage .DetailsList li {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fed9;
  padding: 12px 0;
  border-bottom: 1px solid #e4e9fe14;
  display: flex;
  align-items: center;
  gap: 12px
}

.SuccessPage .DetailsList li:last-child {
  border-bottom: none
}

.SuccessPage .DetailsList li::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #A58D08;
  border-radius: 50%;
  flex-shrink: 0
}

.SuccessPage .ActionBlock {
  background: linear-gradient(135deg, #1984361f 0%, #1984360a 100%);
  backdrop-filter: blur(12px);
  border: 1px solid #19843633;
  border-radius: 44px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.SuccessPage .ActionBlock::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: -2px;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, transparent 0%, #a58d0833 100%);
  clip-path: polygon(0 100%, 0 0, 100% 100%);
  pointer-events: none
}

.SuccessPage .NextStepsHeading {
  font-size: 32px;
  line-height: 1.15;
  margin-bottom: 24px;
  font-weight: 700;
  color: #E4E9FE
}

.SuccessPage .StepsList {
  list-style: none;
  padding: 0;
  margin: 0 0 40px
}

.SuccessPage .StepsList li {
  font-size: 16px;
  line-height: 1.65;
  color: #e4e9fed9;
  padding: 12px 0 12px 40px;
  position: relative
}

.SuccessPage .StepsList li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: #19843633;
  border: 2px solid #198436;
  border-radius: 50%
}

.SuccessPage .StepsList li::after {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #198436;
  border-radius: 50%
}

.SuccessPage .HomeLink {
  display: inline-block;
  padding: 12px 40px;
  background: linear-gradient(135deg, #198436 0%, #198436cc 100%);
  color: #E4E9FE;
  text-decoration: none;
  border-radius: 44px;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 600;
  transition: transform .48s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .48s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  box-shadow: 2px 5px 28px 0 #1984361a;
  position: relative;
  overflow: hidden
}

.SuccessPage .HomeLink::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #e4e9fe33, transparent);
  transition: left .58s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.SuccessPage .HomeLink:hover {
  transform: translateY(-2px);
  box-shadow: 2px 8px 40px 0 #1984361a
}

.SuccessPage .HomeLink:hover::before {
  left: 100%
}

.SuccessPage .HomeLink:focus {
  outline: 2px solid #198436;
  outline-offset: 4px
}

.SuccessPage .HomeLink:active {
  transform: translateY(0)
}

@media (max-width: 1366px) {
  .SuccessPage .MainHeading {
    font-size: 60px
  }

  .SuccessPage .BlockHeading {
    font-size: 32px
  }
}

@media (max-width: 768px) {
  .SuccessPage {
    padding: 40px 24px
  }

  .SuccessPage .HeroConfirmation {
    margin-bottom: 40px
  }

  .SuccessPage .IconCheck {
    width: 80px;
    height: 80px;
    margin-bottom: 24px
  }

  .SuccessPage .MainHeading {
    font-size: 44px
  }

  .SuccessPage .SubHeading {
    font-size: 16px
  }

  .SuccessPage .DualBlockContainer {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .SuccessPage .InfoBlock {
    padding: 24px
  }

  .SuccessPage .BlockHeading {
    font-size: 24px
  }

  .SuccessPage .NextStepsHeading {
    font-size: 24px
  }

  .SuccessPage .ActionBlock {
    padding: 24px;
    min-height: auto
  }
}

@media (max-width: 375px) {
  .SuccessPage {
    padding: 24px 12px
  }

  .SuccessPage .MainHeading {
    font-size: 32px
  }

  .SuccessPage .InfoBlock {
    padding: 24px;
    border-radius: 4px
  }

  .SuccessPage .ActionBlock {
    border-radius: 4px
  }

  .SuccessPage .HomeLink {
    border-radius: 4px;
    padding: 12px 24px
  }
}

::selection {
  background: #198436;
  color: #E4E9FE
}