@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400; 0,700;1,400;1,700&display=swap');
@import url(https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap);
:root {
  --primary: #0ea5e9;
  --primary-dark: #0284c7;
  --accent: #10b981;
  --accent-light: #34d399;
  --bg: #ffffff;
  --bg-accent: #f0f9ff;
  --bg-card: #ffffff;
  --text-primary: #0c4a6e;
  --text-light: #64748b;
  --text-on-primary: #ffffff;
  --gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  --gradient-accent: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
  --gradient-mixed: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-primary: 0 10px 15px -3px rgba(14, 165, 233, 0.25),0 4px 6px -2px rgba(14, 165, 233, 0.15);
  --shadow-accent: 0 10px 15px -3px rgba(16, 185, 129, 0.25),0 4px 6px -2px rgba(16, 185, 129, 0.15);
  --overlay-light: rgba(0, 0, 0, 0.05);
  --overlay-medium: rgba(0, 0, 0, 0.1);
  --overlay-dark: rgba(0, 0, 0, 0.3);
  --border-color: #e0f2fe
}
* {
  padding: 0;
  margin: 0;
  border: 0
}
*,
*::after,
*::before {
  box-sizing: border-box
}
*::after,
*::before {
  display: inline-block
}
body,
html {
  height: 100%;
  min-width: 320px
}
body {
  color: var(--text-primary);
  line-height: 1;
  font-family: Roboto;
  font-size: 1rem;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}
button,
input,
textarea {
  font-family: Roboto;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  background-color: rgba(0,0,0,0)
}
input,
textarea {
  width: 100%
}
label {
  display: inline-block
}
button,
option,
select {
  cursor: pointer
}
a {
  display: inline-block;
  color: inherit;
  text-decoration: none
}
ul li {
  list-style: none
}
img {
  vertical-align: top
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit
}
html {
  scroll-behavior: smooth;
  background-color: var(--bg)
}
.lock body {
  overflow: hidden;
  touch-action: none;
  -ms-scroll-chaining: none;
  overscroll-behavior: none
}
.loaded body {
  opacity: 1
}
.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden
}
@supports (overflow:clip) {
  .wrapper {
    overflow: clip
  }
}
.wrapper>main {
  flex: 1 1 auto
}
.wrapper>* {
  min-width: 0
}
[class*=__container] {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 .9375rem
}
[class*="--gc"] {
  display: grid;
  min-width: 0;
  grid-template-columns: .9375rem 1fr minmax(auto,73.125rem) 1fr .9375rem
}
[class*="--gc"]>* {
  min-width: 0;
  grid-column: 3/4
}
/*!
 * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x)*.5);
  padding-left: calc(var(--bs-gutter-x)*.5);
  margin-right: auto;
  margin-left: auto
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1*var(--bs-gutter-y));
  margin-right: calc(-.5*var(--bs-gutter-x));
  margin-left: calc(-.5*var(--bs-gutter-x))
}
.row>* {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x)*.5);
  padding-left: calc(var(--bs-gutter-x)*.5);
  margin-top: var(--bs-gutter-y)
}
.col {
  flex: 1 0 0%
}
.row-cols-auto>* {
  flex: 0 0 auto;
  width: auto
}
.row-cols-1>* {
  flex: 0 0 auto;
  width: 100%
}
.row-cols-2>* {
  flex: 0 0 auto;
  width: 50%
}
.row-cols-3>* {
  flex: 0 0 auto;
  width: 33.33333333%
}
.row-cols-4>* {
  flex: 0 0 auto;
  width: 25%
}
.row-cols-5>* {
  flex: 0 0 auto;
  width: 20%
}
.row-cols-6>* {
  flex: 0 0 auto;
  width: 16.66666667%
}
.col-auto {
  flex: 0 0 auto;
  width: auto
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%
}
.col-3 {
  flex: 0 0 auto;
  width: 25%
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%
}
.col-6 {
  flex: 0 0 auto;
  width: 50%
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%
}
.col-9 {
  flex: 0 0 auto;
  width: 75%
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%
}
.col-12 {
  flex: 0 0 auto;
  width: 100%
}
.offset-1 {
  margin-left: 8.33333333%
}
.offset-2 {
  margin-left: 16.66666667%
}
.offset-3 {
  margin-left: 25%
}
.offset-4 {
  margin-left: 33.33333333%
}
.offset-5 {
  margin-left: 41.66666667%
}
.offset-6 {
  margin-left: 50%
}
.offset-7 {
  margin-left: 58.33333333%
}
.offset-8 {
  margin-left: 66.66666667%
}
.offset-9 {
  margin-left: 75%
}
.offset-10 {
  margin-left: 83.33333333%
}
.offset-11 {
  margin-left: 91.66666667%
}
.g-0,
.gx-0 {
  --bs-gutter-x: 0
}
.g-0,
.gy-0 {
  --bs-gutter-y: 0
}
.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem
}
.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem
}
.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem
}
.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem
}
.g-3,
.gx-3 {
  --bs-gutter-x: 1rem
}
.g-3,
.gy-3 {
  --bs-gutter-y: 1rem
}
.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem
}
.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem
}
.g-5,
.gx-5 {
  --bs-gutter-x: 3rem
}
.g-5,
.gy-5 {
  --bs-gutter-y: 3rem
}
.d-inline {
  display: inline!important
}
.d-inline-block {
  display: inline-block!important
}
.d-block {
  display: block!important
}
.d-grid {
  display: grid!important
}
.d-inline-grid {
  display: inline-grid!important
}
.d-table {
  display: table!important
}
.d-table-row {
  display: table-row!important
}
.d-table-cell {
  display: table-cell!important
}
.d-flex {
  display: flex!important
}
.d-inline-flex {
  display: inline-flex!important
}
.d-none {
  display: none!important
}
.flex-fill {
  flex: 1 1 auto!important
}
.flex-row {
  flex-direction: row!important
}
.flex-column {
  flex-direction: column!important
}
.flex-row-reverse {
  flex-direction: row-reverse!important
}
.flex-column-reverse {
  flex-direction: column-reverse!important
}
.flex-grow-0 {
  flex-grow: 0!important
}
.flex-grow-1 {
  flex-grow: 1!important
}
.flex-shrink-0 {
  flex-shrink: 0!important
}
.flex-shrink-1 {
  flex-shrink: 1!important
}
.flex-wrap {
  flex-wrap: wrap!important
}
.flex-nowrap {
  flex-wrap: nowrap!important
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse!important
}
.justify-content-start {
  justify-content: flex-start!important
}
.justify-content-end {
  justify-content: flex-end!important
}
.justify-content-center {
  justify-content: center!important
}
.justify-content-between {
  justify-content: space-between!important
}
.justify-content-around {
  justify-content: space-around!important
}
.justify-content-evenly {
  justify-content: space-evenly!important
}
.align-items-start {
  align-items: flex-start!important
}
.align-items-end {
  align-items: flex-end!important
}
.align-items-center {
  align-items: center!important
}
.align-items-baseline {
  align-items: baseline!important
}
.align-items-stretch {
  align-items: stretch!important
}
.align-content-start {
  align-content: flex-start!important
}
.align-content-end {
  align-content: flex-end!important
}
.align-content-center {
  align-content: center!important
}
.align-content-between {
  align-content: space-between!important
}
.align-content-around {
  align-content: space-around!important
}
.align-content-stretch {
  align-content: stretch!important
}
.align-self-auto {
  align-self: auto!important
}
.align-self-start {
  align-self: flex-start!important
}
.align-self-end {
  align-self: flex-end!important
}
.align-self-center {
  align-self: center!important
}
.align-self-baseline {
  align-self: baseline!important
}
.align-self-stretch {
  align-self: stretch!important
}
.order-first {
  order: -1!important
}
.order-0 {
  order: 0!important
}
.order-1 {
  order: 1!important
}
.order-2 {
  order: 2!important
}
.order-3 {
  order: 3!important
}
.order-4 {
  order: 4!important
}
.order-5 {
  order: 5!important
}
.order-last {
  order: 6!important
}
.m-0 {
  margin: 0!important
}
.m-1 {
  margin: .25rem!important
}
.m-2 {
  margin: .5rem!important
}
.m-3 {
  margin: 1rem!important
}
.m-4 {
  margin: 1.5rem!important
}
.m-5 {
  margin: 3rem!important
}
.m-auto {
  margin: auto!important
}
.mx-0 {
  margin-right: 0!important;
  margin-left: 0!important
}
.mx-1 {
  margin-right: .25rem!important;
  margin-left: .25rem!important
}
.mx-2 {
  margin-right: .5rem!important;
  margin-left: .5rem!important
}
.mx-3 {
  margin-right: 1rem!important;
  margin-left: 1rem!important
}
.mx-4 {
  margin-right: 1.5rem!important;
  margin-left: 1.5rem!important
}
.mx-5 {
  margin-right: 3rem!important;
  margin-left: 3rem!important
}
.mx-auto {
  margin-right: auto!important;
  margin-left: auto!important
}
.my-0 {
  margin-top: 0!important;
  margin-bottom: 0!important
}
.my-1 {
  margin-top: .25rem!important;
  margin-bottom: .25rem!important
}
.my-2 {
  margin-top: .5rem!important;
  margin-bottom: .5rem!important
}
.my-3 {
  margin-top: 1rem!important;
  margin-bottom: 1rem!important
}
.my-4 {
  margin-top: 1.5rem!important;
  margin-bottom: 1.5rem!important
}
.my-5 {
  margin-top: 3rem!important;
  margin-bottom: 3rem!important
}
.my-auto {
  margin-top: auto!important;
  margin-bottom: auto!important
}
.mt-0 {
  margin-top: 0!important
}
.mt-1 {
  margin-top: .25rem!important
}
.mt-2 {
  margin-top: .5rem!important
}
.mt-3 {
  margin-top: 1rem!important
}
.mt-4 {
  margin-top: 1.5rem!important
}
.mt-5 {
  margin-top: 3rem!important
}
.mt-auto {
  margin-top: auto!important
}
.me-0 {
  margin-right: 0!important
}
.me-1 {
  margin-right: .25rem!important
}
.me-2 {
  margin-right: .5rem!important
}
.me-3 {
  margin-right: 1rem!important
}
.me-4 {
  margin-right: 1.5rem!important
}
.me-5 {
  margin-right: 3rem!important
}
.me-auto {
  margin-right: auto!important
}
.mb-0 {
  margin-bottom: 0!important
}
.mb-1 {
  margin-bottom: .25rem!important
}
.mb-2 {
  margin-bottom: .5rem!important
}
.mb-3 {
  margin-bottom: 1rem!important
}
.mb-4 {
  margin-bottom: 1.5rem!important
}
.mb-5 {
  margin-bottom: 3rem!important
}
.mb-auto {
  margin-bottom: auto!important
}
.ms-0 {
  margin-left: 0!important
}
.ms-1 {
  margin-left: .25rem!important
}
.ms-2 {
  margin-left: .5rem!important
}
.ms-3 {
  margin-left: 1rem!important
}
.ms-4 {
  margin-left: 1.5rem!important
}
.ms-5 {
  margin-left: 3rem!important
}
.ms-auto {
  margin-left: auto!important
}
.p-0 {
  padding: 0!important
}
.p-1 {
  padding: .25rem!important
}
.p-2 {
  padding: .5rem!important
}
.p-3 {
  padding: 1rem!important
}
.p-4 {
  padding: 1.5rem!important
}
.p-5 {
  padding: 3rem!important
}
.px-0 {
  padding-right: 0!important;
  padding-left: 0!important
}
.px-1 {
  padding-right: .25rem!important;
  padding-left: .25rem!important
}
.px-2 {
  padding-right: .5rem!important;
  padding-left: .5rem!important
}
.px-3 {
  padding-right: 1rem!important;
  padding-left: 1rem!important
}
.px-4 {
  padding-right: 1.5rem!important;
  padding-left: 1.5rem!important
}
.px-5 {
  padding-right: 3rem!important;
  padding-left: 3rem!important
}
.py-0 {
  padding-top: 0!important;
  padding-bottom: 0!important
}
.py-1 {
  padding-top: .25rem!important;
  padding-bottom: .25rem!important
}
.py-2 {
  padding-top: .5rem!important;
  padding-bottom: .5rem!important
}
.py-3 {
  padding-top: 1rem!important;
  padding-bottom: 1rem!important
}
.py-4 {
  padding-top: 1.5rem!important;
  padding-bottom: 1.5rem!important
}
.py-5 {
  padding-top: 3rem!important;
  padding-bottom: 3rem!important
}
.pt-0 {
  padding-top: 0!important
}
.pt-1 {
  padding-top: .25rem!important
}
.pt-2 {
  padding-top: .5rem!important
}
.pt-3 {
  padding-top: 1rem!important
}
.pt-4 {
  padding-top: 1.5rem!important
}
.pt-5 {
  padding-top: 3rem!important
}
.pe-0 {
  padding-right: 0!important
}
.pe-1 {
  padding-right: .25rem!important
}
.pe-2 {
  padding-right: .5rem!important
}
.pe-3 {
  padding-right: 1rem!important
}
.pe-4 {
  padding-right: 1.5rem!important
}
.pe-5 {
  padding-right: 3rem!important
}
.pb-0 {
  padding-bottom: 0!important
}
.pb-1 {
  padding-bottom: .25rem!important
}
.pb-2 {
  padding-bottom: .5rem!important
}
.pb-3 {
  padding-bottom: 1rem!important
}
.pb-4 {
  padding-bottom: 1.5rem!important
}
.pb-5 {
  padding-bottom: 3rem!important
}
.ps-0 {
  padding-left: 0!important
}
.ps-1 {
  padding-left: .25rem!important
}
.ps-2 {
  padding-left: .5rem!important
}
.ps-3 {
  padding-left: 1rem!important
}
.ps-4 {
  padding-left: 1.5rem!important
}
.ps-5 {
  padding-left: 3rem!important
}
.icon-menu {
  display: none
}
.ibg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.ibg--top {
  -o-object-position: top;
  object-position: top
}
.ibg--bottom {
  -o-object-position: bottom;
  object-position: bottom
}
.ibg--left {
  -o-object-position: left;
  object-position: left
}
.ibg--right {
  -o-object-position: right;
  object-position: right
}
.ibg--contain {
  -o-object-fit: contain;
  object-fit: contain
}
.divider {
  border-bottom: 1px solid var(--primary);
  display: block;
  width: 100%;
  opacity: .3
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Josefin Sans"
}
p {
  color: var(--text-primary);
  opacity: .9;
  line-height: 1.5
}
.post-card {
  background: var(--bg);
  border-radius: 1.25rem;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow)
}
.post-card:hover {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
  box-shadow: var(--shadow-hover)
}
.post-card:hover .post-card__image {
  box-shadow: var(--shadow-accent)
}
.post-card:hover .post-card__image img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05)
}
.post-card:hover .post-card__image i {
  -webkit-transform: scale(1.2) rotate(15deg);
  transform: scale(1.2) rotate(15deg);
  background: var(--overlay-medium);
  border-color: var(--overlay-medium)
}
.post-card:hover .post-card__image::after {
  -webkit-transform: translate(-50%,-50%) scale(1.15);
  transform: translate(-50%,-50%) scale(1.15);
  border-color: var(--overlay-light)
}
.post-card__image {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 15rem;
  padding: 2.5rem;
  background: var(--gradient-accent);
  border-radius: 1.25rem 1.25rem 0 0;
  position: relative;
  box-shadow: var(--shadow-accent)
}
.post-card__image::before {
  content: "";
  position: absolute;
  top: -30%;
  right: -30%;
  width: 150%;
  height: 150%;
  background: radial-gradient(circle,var(--overlay-light) 0,transparent 70%);
  opacity: .7;
  -webkit-animation: rotate 8s linear infinite;
  animation: rotate 8s linear infinite
}
.post-card__image::after {
  content: "";
  position: absolute;
  width: 8.75rem;
  height: 8.75rem;
  border-radius: 50%;
  background: var(--overlay-light);
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  z-index: 0;
  border: 3px solid var(--overlay-light)
}
.post-card__image i {
  font-size: 4rem;
  color: var(--bg);
  position: relative;
  z-index: 2;
  transition: all .4s cubic-bezier(.68,-.55,.265,1.55);
  -webkit-filter: drop-shadow(0 4px 8px var(--overlay-dark));
  filter: drop-shadow(0 4px 8px var(--overlay-dark));
  padding: 1.25rem;
  background: var(--overlay-light);
  border-radius: 50%;
  width: 7.5rem;
  height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(15px);
  border: 2px solid var(--overlay-medium)
}
.post-card__image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s
}
.post-card__content {
  padding: 1.875rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column
}
.post-card__category {
  font-size: .875rem;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: .625rem;
  font-weight: 600;
  font-family: "Josefin Sans"
}
.post-card__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem;
  line-height: 1.2;
  flex: 1 1 auto
}
.post-card__link {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  color: var(--primary);
  font-weight: 600;
  transition: color .3s
}
.post-card__link i {
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s
}
.legal {
  padding: 5rem 0
}
.legal__container {
  max-width: 56.25rem;
  margin: 0 auto;
  padding: 0 .9375rem
}
.legal__header {
  margin-bottom: 2.5rem;
  text-align: center
}
.legal__title {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem
}
.legal__subtitle {
  font-size: 1.125rem;
  color: var(--text-light);
  line-height: 1.5
}
.legal__content {
  background: var(--bg);
  border-radius: 1.5rem;
  padding: 2.5rem;
  box-shadow: var(--shadow)
}
.legal__section {
  margin-bottom: 2.5rem
}
.legal__section:last-child {
  margin-bottom: 0
}
.legal__section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1rem
}
.legal__text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-light);
  margin-bottom: 1rem
}
.legal__text:last-child {
  margin-bottom: 0
}
.legal__list {
  margin-bottom: 1rem;
  padding-left: 1.25rem
}
.legal__list li {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-light);
  margin-bottom: .5rem
}
.legal__list li:last-child {
  margin-bottom: 0
}
.legal__link {
  color: var(--primary);
  text-decoration: underline;
  transition: color .3s ease
}
.legal__link:hover {
  color: var(--accent)
}
.legal__date {
  font-size: .875rem;
  color: var(--text-light);
  text-align: right;
  margin-top: 2.5rem;
  font-style: italic
}
.cookie-banner {
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(100%);
  transform: translateX(-50%) translateY(100%);
  width: 90%;
  max-width: 75rem;
  background: var(--bg-card);
  color: var(--text-primary);
  padding: 1.25rem;
  z-index: 1000;
  border-radius: .75rem;
  box-shadow: var(--shadow);
  transition: -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out,-webkit-transform .3s ease-in-out
}
.cookie-banner.show {
  -webkit-transform: translateX(-50%) translateY(0);
  transform: translateX(-50%) translateY(0)
}
.cookie-banner__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem
}
.cookie-banner__content {
  flex: 1;
  font-size: .875rem;
  line-height: 1.6;
  color: var(--text-light)
}
.cookie-banner__link {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease
}
.cookie-banner__link:hover {
  border-color: var(--accent)
}
.cookie-banner__buttons {
  display: flex;
  gap: .625rem
}
.cookie-banner__button {
  padding: .75rem 1.5rem;
  border-radius: .5rem;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s ease-in-out
}
.cookie-banner__button--accept {
  background: var(--accent);
  color: var(--text-on-primary);
  border: none
}
.cookie-banner__button--accept:hover {
  -webkit-transform: translateY(-.125rem);
  transform: translateY(-.125rem);
  box-shadow: var(--shadow-accent)
}
.cookie-banner__button--decline {
  background: var(--bg);
  color: var(--text-primary);
  border: none
}
.cookie-banner__button--decline:hover {
  background: var(--bg-accent);
  -webkit-transform: translateY(-.125rem);
  transform: translateY(-.125rem)
}
.header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  background: var(--bg-card);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow)
}
.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: .625rem;
  padding-bottom: .625rem;
  flex-wrap: wrap;
  row-gap: .625rem
}
.header__logo {
  max-width: 150px;
  z-index: 10;
  margin-right: .625rem
}
.header__logo img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain
}
.menu__list {
  display: flex;
  align-items: center;
  -webkit-column-gap: .625rem;
  -moz-column-gap: .625rem;
  column-gap: .625rem
}
.menu__link {
  text-transform: uppercase;
  color: var(--text-primary);
  transition: all .3s
}
.menu__link:hover {
  color: var(--accent)
}
.footer {
  padding: 3.75rem 0 1.25rem 0;
  background-color: var(--bg);
  border-top: 1px solid #e7e7e7
}
.footer__logo {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  letter-spacing: -.02em;
  margin-bottom: 1.5rem;
  transition: color .3s
}
.footer__logo i {
  font-size: 1.75rem;
  color: var(--primary);
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s,-webkit-transform .3s
}
.footer__logo:hover {
  color: var(--primary)
}
.footer__logo:hover i {
  -webkit-transform: scale(1.1);
  transform: scale(1.1)
}
.footer__text {
  color: var(--text-light);
  line-height: 1.6;
  max-width: 21.875rem
}
.footer__row {
  display: grid;
  grid-template-columns: 1.5fr repeat(3,1fr);
  gap: 2.5rem
}
.footer__menu:not(:last-child) {
  margin-bottom: 1.875rem
}
.footer__menu-title {
  font-size: 1.625rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.footer__menu-list {
  display: flex;
  flex-direction: column;
  gap: .75rem
}
.footer__menu-link {
  color: var(--text-light);
  transition: color .3s;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  line-height: 1.6
}
.footer__menu-link i {
  font-size: .875rem;
  color: var(--primary)
}
.footer__menu-link:hover {
  color: var(--primary)
}
.footer__address {
  color: var(--text-light);
  line-height: 1.8;
  display: flex;
  align-items: flex-start;
  gap: .5rem
}
.footer__address i {
  font-size: .875rem;
  color: var(--primary);
  margin-top: .25rem;
  flex-shrink: 0
}
.footer__copyright {
  margin-top: 3.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e7e7e7;
  text-align: center;
  color: var(--text-light)
}
.hero {
  background: var(--bg-accent);
  padding: 7.5rem 0 5rem;
  position: relative;
  overflow: hidden
}
.hero::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -10%;
  width: 37.5rem;
  height: 37.5rem;
  background: var(--gradient-primary);
  opacity: .05;
  border-radius: 50%;
  -webkit-filter: blur(80px);
  filter: blur(80px)
}
.hero::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 31.25rem;
  height: 31.25rem;
  background: var(--gradient-accent);
  opacity: .05;
  border-radius: 50%;
  -webkit-filter: blur(80px);
  filter: blur(80px)
}
.hero__container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.hero__content {
  text-align: center;
  max-width: 56.25rem;
  margin: 0 auto
}
.hero__badge {
  display: inline-block;
  padding: .5rem 1.25rem;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-radius: 1.875rem;
  margin-bottom: 1.875rem;
  box-shadow: var(--shadow-primary)
}
.hero__title {
  font-size: 3.5rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.5625rem
}
.hero__text {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 3.125rem
}
.hero__features {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem;
  margin-bottom: 3.125rem
}
.hero__stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.875rem;
  margin-bottom: 3.125rem;
  padding: 2.5rem 0;
  border-top: 2px solid var(--border-color);
  border-bottom: 2px solid var(--border-color)
}
.hero__btn {
  display: inline-flex;
  align-items: center;
  gap: .9375rem;
  padding: 1.125rem 2.5rem;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  font-size: 1.125rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 3.125rem;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.hero__btn i {
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease,-webkit-transform .3s ease
}
.hero-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5625rem;
  background: var(--bg-card);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease
}
.hero-feature__icon {
  width: 4.375rem;
  height: 4.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 1.125rem;
  font-size: 2rem;
  color: var(--text-on-primary);
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.hero-feature:hover .hero-feature__icon {
  -webkit-transform: scale(1.1) rotate(5deg);
  transform: scale(1.1) rotate(5deg)
}
.hero-feature__content {
  flex: 1
}
.hero-feature__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .625rem
}
.hero-feature__text {
  font-size: .875rem;
  line-height: 1.6;
  color: var(--text-light)
}
.hero-stat {
  text-align: center
}
.hero-stat__value {
  font-size: 2.625rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: .5rem;
  line-height: 1.2
}
.hero-stat__label {
  font-size: .875rem;
  color: var(--text-light);
  font-weight: 500
}
.about {
  background: var(--bg);
  padding: 6.25rem 0
}
.about__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.about__header {
  text-align: center;
  margin-bottom: 3.75rem
}
.about__badge {
  display: inline-block;
  padding: .375rem 1rem;
  background: var(--bg-accent);
  color: var(--primary);
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-radius: 1.25rem;
  margin-bottom: 1.25rem
}
.about__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0
}
.about__content-wrapper {
  display: flex;
  gap: 2.5rem;
  margin-bottom: 5rem;
  align-items: stretch
}
.about__main-content {
  flex: 1;
  background: var(--gradient-primary);
  padding: 3.125rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow-primary);
  color: var(--text-on-primary);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%
}
.about__icon-large {
  width: 6.25rem;
  height: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  margin: 0 auto 1.875rem;
  font-size: 3rem;
  color: var(--text-on-primary);
  transition: all .3s ease
}
.about__main-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-on-primary);
  margin-bottom: 1.25rem;
  line-height: 1.3
}
.about__main-text {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--text-on-primary);
  opacity: .95
}
.about__side-cards {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5625rem;
  align-content: stretch
}
.about__side-card {
  background: var(--bg-card);
  padding: 2.1875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-left: 4px solid var(--primary);
  display: flex;
  flex-direction: column;
  flex: 1
}
.about__side-icon {
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-accent);
  border-radius: .75rem;
  margin-bottom: 1.25rem;
  font-size: 1.75rem;
  color: var(--primary);
  transition: all .3s ease
}
.about__side-card:hover .about__side-icon {
  -webkit-transform: scale(1.1) rotate(-5deg);
  transform: scale(1.1) rotate(-5deg);
  background: var(--gradient-primary);
  color: var(--text-on-primary)
}
.about__side-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .75rem;
  line-height: 1.3
}
.about__side-text {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--text-light);
  flex: 1
}
.about__stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2.5rem;
  padding: 3.75rem 2.5rem;
  background: var(--bg-accent);
  border-radius: 1.875rem;
  box-shadow: var(--shadow)
}
.about__stat {
  text-align: center
}
.about__stat-icon {
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  margin: 0 auto 1.25rem;
  font-size: 1.75rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary)
}
.about__stat-number {
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: .625rem;
  line-height: 1.2;
  min-height: 3.75rem
}
.about__stat-label {
  font-size: 1rem;
  color: var(--text-light);
  font-weight: 500
}
.features {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.features__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.features__header {
  text-align: center;
  margin-bottom: 5rem
}
.features__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.features__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.features__list {
  display: flex;
  flex-direction: column;
  gap: 3.125rem
}
.feature-card {
  display: flex;
  align-items: center;
  gap: 3.125rem;
  background: var(--bg-card);
  padding: 3.125rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
  min-height: 18.75rem
}
.feature-card--left {
  flex-direction: row
}
.feature-card--right {
  flex-direction: row-reverse
}
.feature-card__icon-wrapper {
  position: relative;
  flex-shrink: 0;
  width: 11.25rem;
  height: 11.25rem;
  display: flex;
  align-items: center;
  justify-content: center
}
.feature-card__icon {
  width: 7.5rem;
  height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  font-size: 3.5rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  transition: all .3s ease;
  position: relative;
  z-index: 2
}
.feature-card:hover .feature-card__icon {
  -webkit-transform: scale(1.1) rotate(10deg);
  transform: scale(1.1) rotate(10deg);
  box-shadow: var(--shadow-hover)
}
.feature-card__number {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 11.25rem;
  font-weight: 700;
  color: var(--bg-accent);
  line-height: 1;
  font-family: "Josefin Sans";
  opacity: .15;
  z-index: 1;
  pointer-events: none
}
.feature-card__content {
  flex: 1;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center
}
.feature-card__title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
  line-height: 1.2
}
.feature-card__text p {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: .9375rem
}
.feature-card__text p:last-child {
  margin-bottom: 0
}
.feature-card__text p strong {
  color: var(--text-primary);
  font-weight: 700
}
.advantages {
  background: var(--bg);
  padding: 6.25rem 0
}
.advantages__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.advantages__header {
  text-align: center;
  margin-bottom: 5rem
}
.advantages__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.advantages__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.advantages__masonry {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.875rem;
  align-items: stretch;
  width: 100%
}
.advantage-tile {
  background: var(--bg-card);
  padding: 2.5rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-top: 5px solid var(--accent);
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box
}
.advantage-tile__header {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  min-width: 0
}
.advantage-tile__icon {
  width: 4.375rem;
  height: 4.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: .9375rem;
  font-size: 2rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-accent);
  flex-shrink: 0;
  transition: all .3s ease
}
.advantage-tile:hover .advantage-tile__icon {
  -webkit-transform: scale(1.15) rotate(-10deg);
  transform: scale(1.15) rotate(-10deg);
  box-shadow: var(--shadow-hover)
}
.advantage-tile__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  flex: 1;
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -ms-hyphens: auto;
  hyphens: auto
}
.advantage-tile__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light);
  flex: 1
}
.contact {
  background: var(--bg-accent);
  padding: 6.25rem 0;
  position: relative;
  overflow: hidden
}
.contact::before {
  content: "";
  position: absolute;
  top: -20%;
  right: -10%;
  width: 31.25rem;
  height: 31.25rem;
  background: var(--gradient-primary);
  opacity: .03;
  border-radius: 50%;
  -webkit-filter: blur(60px);
  filter: blur(60px)
}
.contact__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  position: relative;
  z-index: 1
}
.contact__header {
  text-align: center;
  margin-bottom: 4.375rem
}
.contact__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.contact__title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  color: var(--text-primary)
}
.contact__text {
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 50rem;
  margin: 0 auto;
  color: var(--text-light)
}
.contact__layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1.875rem
}
.contact__main {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem
}
.contact__side {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem
}
.contact-item {
  background: var(--bg-card);
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .4s ease;
  overflow: hidden;
  position: relative
}
.contact-item--primary {
  padding: 2.5rem;
  display: flex;
  gap: 1.875rem;
  align-items: center
}
.contact-item--secondary {
  padding: 1.875rem;
  display: flex;
  gap: 1.25rem;
  align-items: flex-start
}
.contact-item__visual {
  position: relative;
  flex-shrink: 0
}
.contact-item__icon {
  width: 7.5rem;
  height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-mixed);
  border-radius: 1.875rem;
  font-size: 3.125rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  transition: all .4s ease;
  position: relative;
  z-index: 2
}
.contact-item:hover .contact-item__icon {
  -webkit-transform: scale(1.1) rotate(10deg);
  transform: scale(1.1) rotate(10deg)
}
.contact-item__pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 10rem;
  height: 10rem;
  background: var(--gradient-primary);
  opacity: .1;
  border-radius: 50%;
  -webkit-filter: blur(20px);
  filter: blur(20px);
  z-index: 1;
  -webkit-animation: pulse 3s ease-in-out infinite;
  animation: pulse 3s ease-in-out infinite
}
@-webkit-keyframes pulse {
  0%,
  100% {
    -webkit-transform: translate(-50%,-50%) scale(1);
    transform: translate(-50%,-50%) scale(1);
    opacity: .1
  }
  50% {
    -webkit-transform: translate(-50%,-50%) scale(1.2);
    transform: translate(-50%,-50%) scale(1.2);
    opacity: .15
  }
}
@keyframes pulse {
  0%,
  100% {
    -webkit-transform: translate(-50%,-50%) scale(1);
    transform: translate(-50%,-50%) scale(1);
    opacity: .1
  }
  50% {
    -webkit-transform: translate(-50%,-50%) scale(1.2);
    transform: translate(-50%,-50%) scale(1.2);
    opacity: .15
  }
}
.contact-item__icon-small {
  width: 3.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: .9375rem;
  font-size: 1.5rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-accent);
  transition: all .3s ease;
  flex-shrink: 0
}
.contact-item:hover .contact-item__icon-small {
  -webkit-transform: scale(1.1) rotate(-5deg);
  transform: scale(1.1) rotate(-5deg)
}
.contact-item__content {
  flex: 1
}
.contact-item__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem;
  line-height: 1.3
}
.contact-item__link {
  display: inline-block;
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
  margin-bottom: .9375rem;
  transition: all .3s ease;
  position: relative
}
.contact-item__link::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gradient-accent);
  transition: width .3s ease
}
.contact-item__meta {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: .9375rem;
  color: var(--text-light);
  margin: 0
}
.contact-item__meta i {
  color: var(--accent);
  font-size: 1rem
}
.contact-item__address {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-light);
  margin: 0
}
.contact-item__hours {
  display: flex;
  flex-direction: column;
  gap: .75rem
}
.contact-hour {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  background: var(--bg-accent);
  border-radius: .75rem;
  transition: all .3s ease
}
.contact-hour--closed {
  opacity: .7
}
.contact-hour__days {
  font-size: .9375rem;
  font-weight: 500;
  color: var(--text-primary)
}
.contact-hour__time {
  font-size: .9375rem;
  color: var(--text-light);
  font-weight: 500
}
.programs {
  background: var(--bg);
  padding: 6.25rem 0
}
.programs__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.programs__header {
  text-align: center;
  margin-bottom: 5rem
}
.programs__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.programs__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.programs__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.programs__grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2.5rem
}
.program-card {
  background: var(--bg-card);
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  overflow: hidden;
  border: 2px solid transparent;
  display: flex;
  flex-direction: column;
  height: 100%
}
.program-card__top {
  position: relative;
  background: var(--gradient-primary);
  padding: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 9.375rem
}
.program-card__icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  font-size: 2.5rem;
  color: var(--text-on-primary);
  transition: all .3s ease
}
.program-card:hover .program-card__icon {
  -webkit-transform: scale(1.1) rotate(10deg);
  transform: scale(1.1) rotate(10deg)
}
.program-card__number {
  font-size: 5rem;
  font-weight: 700;
  color: rgba(255,255,255,.2);
  line-height: 1;
  font-family: "Josefin Sans"
}
.program-card__content {
  padding: 2.5rem;
  flex: 1;
  display: flex;
  flex-direction: column
}
.program-card__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem;
  line-height: 1.3
}
.program-card__description {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5625rem;
  flex: 1
}
.program-card__disclaimer {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1.25rem;
  padding: .75rem 1rem;
  background: var(--bg-accent);
  border-radius: .625rem;
  font-size: .875rem;
  color: var(--text-light);
  font-weight: 500
}
.program-card__disclaimer i {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0
}
.program-card__features {
  list-style: none;
  padding: 0;
  margin: 0
}
.program-card__features li {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .9375rem;
  color: var(--text-light);
  margin-bottom: .75rem;
  line-height: 1.5
}
.program-card__features li:last-child {
  margin-bottom: 0
}
.program-card__features li i {
  color: var(--accent);
  font-size: .875rem
}
.why-us {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.why-us__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.75rem;
  align-items: center
}
.why-us__badge {
  display: inline-block;
  background: var(--gradient-accent);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-accent)
}
.why-us__title {
  font-size: 2.625rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.5625rem
}
.why-us__text {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 2.5rem
}
.why-us__stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem
}
.why-us__stat {
  text-align: center
}
.why-us__stat-value {
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary);
  line-height: 1.2;
  margin-bottom: .625rem
}
.why-us__stat-label {
  font-size: 1rem;
  color: var(--text-light);
  font-weight: 500
}
.why-us__right {
  display: flex;
  flex-direction: column;
  gap: 1.875rem
}
.benefit-item {
  display: flex;
  gap: 1.5625rem;
  background: var(--bg-card);
  padding: 1.875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease
}
.benefit-item__icon {
  flex-shrink: 0;
  width: 4.375rem;
  height: 4.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: .9375rem;
  font-size: 2rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.benefit-item:hover .benefit-item__icon {
  -webkit-transform: scale(1.1) rotate(-5deg);
  transform: scale(1.1) rotate(-5deg)
}
.benefit-item__content {
  flex: 1
}
.benefit-item__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .75rem;
  line-height: 1.3
}
.benefit-item__text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-light)
}
.process {
  background: var(--bg);
  padding: 6.25rem 0
}
.process__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.process__header {
  text-align: center;
  margin-bottom: 5rem
}
.process__badge {
  display: inline-block;
  background: var(--gradient-accent);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-accent)
}
.process__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.process__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.process__steps {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2.5rem
}
.process-step {
  background: var(--bg-card);
  padding: 2.5rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-top: 4px solid var(--primary);
  text-align: center;
  position: relative;
  overflow: hidden
}
.process-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--gradient-primary);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease,-webkit-transform .3s ease
}
.process-step__icon {
  width: 6.25rem;
  height: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  font-size: 3rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  margin: 0 auto 1.875rem;
  transition: all .3s ease;
  position: relative
}
.process-step__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--gradient-accent);
  opacity: 0;
  transition: opacity .3s ease
}
.process-step:hover .process-step__icon {
  -webkit-transform: scale(1.1) rotate(10deg);
  transform: scale(1.1) rotate(10deg);
  box-shadow: var(--shadow-hover)
}
.process-step:hover .process-step__icon::after {
  opacity: .3
}
.process-step__icon i {
  position: relative;
  z-index: 1
}
.process-step__content {
  position: relative;
  z-index: 1
}
.process-step__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.125rem;
  line-height: 1.3
}
.process-step__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light)
}
.pricing {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.pricing__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.pricing__header {
  text-align: center;
  margin-bottom: 3.75rem
}
.pricing__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.pricing__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.pricing__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.pricing__content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem
}
.pricing__info {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem
}
.pricing__cta {
  text-align: center;
  background: var(--bg-card);
  padding: 2.5rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow)
}
.pricing__cta-text {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  margin-bottom: 1.875rem
}
.pricing__cta-button {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: 1rem 2rem;
  border-radius: .75rem;
  font-size: 1.125rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.pricing__cta-button i {
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease,-webkit-transform .3s ease
}
.pricing-info-card {
  background: var(--bg-card);
  padding: 1.875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  text-align: center;
  transition: all .3s ease
}
.pricing-info-card__icon {
  width: 4.375rem;
  height: 4.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: 50%;
  font-size: 2rem;
  color: var(--text-on-primary);
  margin: 0 auto 1.25rem;
  box-shadow: var(--shadow-accent)
}
.pricing-info-card__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .75rem
}
.pricing-info-card__text {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-light)
}
.faq {
  background: var(--bg);
  padding: 6.25rem 0
}
.faq__container {
  max-width: 62.5rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.faq__header {
  text-align: center;
  margin-bottom: 3.75rem
}
.faq__badge {
  display: inline-block;
  background: var(--gradient-accent);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-accent)
}
.faq__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.faq__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem
}
.faq-item {
  background: var(--bg-card);
  border-radius: .9375rem;
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: all .3s ease
}
.faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5625rem 1.875rem;
  cursor: pointer;
  transition: all .3s ease
}
.faq-item__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
  flex: 1;
  margin: 0
}
.faq-item__icon {
  font-size: 1.125rem;
  color: var(--primary);
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease,-webkit-transform .3s ease;
  flex-shrink: 0;
  margin-left: 1.25rem
}
.faq-item.active .faq-item__icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}
.faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease,padding .3s ease;
  padding: 0 1.875rem
}
.faq-item.active .faq-item__answer {
  max-height: 31.25rem;
  padding: 0 1.875rem 1.5625rem 1.875rem
}
.faq-item__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light);
  margin: 0
}
.contact-form {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.contact-form__container {
  max-width: 50rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.contact-form__header {
  text-align: center;
  margin-bottom: 3.125rem
}
.contact-form__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.contact-form__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.contact-form__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 37.5rem;
  margin: 0 auto
}
.contact-form__form {
  background: var(--bg-card);
  padding: 2.5rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow)
}
.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1.25rem
}
.contact-form__field {
  margin-bottom: 1.5625rem
}
.contact-form__label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: .5rem
}
.contact-form__input,
.contact-form__textarea {
  width: 100%;
  padding: .875rem 1.125rem;
  border: 2px solid var(--border-color);
  border-radius: .625rem;
  font-size: 1rem;
  font-family: inherit;
  color: var(--text-primary);
  background: var(--bg);
  transition: all .3s ease
}
.contact-form__input:focus,
.contact-form__textarea:focus {
  outline: 0;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(139,92,246,.1)
}
.contact-form__input::-webkit-input-placeholder,
.contact-form__textarea::-webkit-input-placeholder {
  color: var(--text-light);
  opacity: .6
}
.contact-form__input:-ms-input-placeholder,
.contact-form__textarea:-ms-input-placeholder {
  color: var(--text-light);
  opacity: .6
}
.contact-form__input::-ms-input-placeholder,
.contact-form__textarea::-ms-input-placeholder {
  color: var(--text-light);
  opacity: .6
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: var(--text-light);
  opacity: .6
}
.contact-form__textarea {
  resize: vertical;
  min-height: 7.5rem
}
.contact-form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  cursor: pointer
}
.contact-form__checkbox-input {
  margin-top: .25rem;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer
}
.contact-form__checkbox-text {
  font-size: .875rem;
  line-height: 1.6;
  color: var(--text-light)
}
.contact-form__link {
  color: var(--primary);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease
}
.contact-form__button {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: 1rem 2rem;
  border: none;
  border-radius: .75rem;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease;
  width: 100%;
  justify-content: center
}
.contact-form__button i {
  transition: -webkit-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease,-webkit-transform .3s ease
}
.courses {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.courses__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.courses__header {
  text-align: center;
  margin-bottom: 5rem
}
.courses__badge {
  display: inline-block;
  background: var(--gradient-accent);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-accent)
}
.courses__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.courses__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.courses__grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2.5rem
}
.course-card {
  background: var(--bg-card);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  overflow: hidden;
  border-left: 4px solid var(--primary);
  display: flex;
  flex-direction: column;
  height: 100%
}
.course-card__header {
  position: relative;
  background: var(--gradient-mixed);
  padding: 2.1875rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 8.75rem
}
.course-card__icon-box {
  width: 4.6875rem;
  height: 4.6875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.25);
  border-radius: .9375rem;
  font-size: 2.25rem;
  color: var(--text-on-primary);
  transition: all .3s ease;
  backdrop-filter: blur(10px)
}
.course-card:hover .course-card__icon-box {
  -webkit-transform: scale(1.15) rotate(-5deg);
  transform: scale(1.15) rotate(-5deg);
  background: rgba(255,255,255,.35)
}
.course-card__number {
  font-size: 4.5rem;
  font-weight: 700;
  color: rgba(255,255,255,.25);
  line-height: 1;
  font-family: "Josefin Sans"
}
.course-card__body {
  padding: 2.1875rem;
  flex: 1;
  display: flex;
  flex-direction: column
}
.course-card__title {
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem;
  line-height: 1.3
}
.course-card__description {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5625rem;
  flex: 1
}
.course-card__features {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: 1.25rem
}
.course-card__disclaimer {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-top: auto;
  padding: .75rem 1rem;
  background: var(--bg-accent);
  border-radius: .5rem;
  font-size: .875rem;
  color: var(--text-light);
  font-weight: 500
}
.course-card__disclaimer i {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0
}
.course-feature {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .9375rem;
  color: var(--text-light);
  line-height: 1.5
}
.course-feature i {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0
}
.advantages {
  background: var(--bg);
  padding: 6.25rem 0
}
.advantages__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.advantages__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.75rem;
  align-items: start
}
.advantages__left {
  display: flex;
  flex-direction: column
}
.advantages__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content
}
.advantages__title {
  font-size: 2.625rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.advantages__text {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 2.5rem
}
.advantages__stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem
}
.advantages__stat {
  text-align: center;
  padding: 1.5625rem;
  background: var(--bg-card);
  border-radius: .9375rem;
  box-shadow: var(--shadow);
  transition: all .3s ease
}
.advantages__stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: .5rem;
  line-height: 1.2
}
.advantages__stat-label {
  font-size: .875rem;
  color: var(--text-light);
  font-weight: 500
}
.advantages__right {
  display: flex;
  flex-direction: column;
  gap: 1.875rem
}
.advantage-box {
  display: flex;
  gap: 1.25rem;
  padding: 1.875rem;
  background: var(--bg-card);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-top: 3px solid var(--primary)
}
.advantage-box__icon {
  flex-shrink: 0;
  width: 4.0625rem;
  height: 4.0625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: .75rem;
  font-size: 1.875rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-accent);
  transition: all .3s ease
}
.advantage-box:hover .advantage-box__icon {
  -webkit-transform: scale(1.1) rotate(5deg);
  transform: scale(1.1) rotate(5deg)
}
.advantage-box__content {
  flex: 1
}
.advantage-box__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .625rem;
  line-height: 1.3
}
.advantage-box__text {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--text-light)
}
.workflow {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.workflow__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.workflow__header {
  text-align: center;
  margin-bottom: 5rem
}
.workflow__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.workflow__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.workflow__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.workflow__steps {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2.1875rem
}
.workflow-step {
  background: var(--bg-card);
  padding: 2.1875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  display: flex;
  gap: 1.5625rem;
  border-right: 4px solid var(--primary)
}
.workflow-step__icon {
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-mixed);
  border-radius: 1.125rem;
  font-size: 2.25rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.workflow-step:hover .workflow-step__icon {
  -webkit-transform: scale(1.1) rotate(-10deg);
  transform: scale(1.1) rotate(-10deg)
}
.workflow-step__content {
  flex: 1
}
.workflow-step__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .75rem;
  line-height: 1.3
}
.workflow-step__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light)
}
.pricing__cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem
}
.pricing-card {
  background: var(--bg-card);
  padding: 2.1875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  text-align: center;
  transition: all .3s ease;
  border-top: 3px solid var(--primary)
}
.pricing-card__icon {
  width: 4.0625rem;
  height: 4.0625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: 50%;
  font-size: 1.75rem;
  color: var(--text-on-primary);
  margin: 0 auto 1.25rem;
  box-shadow: var(--shadow-accent);
  transition: all .3s ease
}
.pricing-card:hover .pricing-card__icon {
  -webkit-transform: scale(1.15) rotate(10deg);
  transform: scale(1.15) rotate(10deg)
}
.pricing-card__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem
}
.pricing-card__text {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--text-light)
}
.modules {
  background: var(--bg);
  padding: 6.25rem 0
}
.modules__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.modules__header {
  text-align: center;
  margin-bottom: 5rem
}
.modules__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.modules__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.modules__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.modules__list {
  display: flex;
  flex-direction: column;
  gap: 3.125rem
}
.module-item {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 2.5rem;
  background: var(--bg-card);
  border-radius: 1.5625rem;
  padding: 2.5rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-top: 5px solid var(--primary)
}
.module-item--reverse {
  grid-template-columns: 1fr 200px
}
.module-item--reverse .module-item__visual {
  order: 2
}
.module-item--reverse .module-item__info {
  order: 1
}
.module-item__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem
}
.module-item__icon {
  width: 7.5rem;
  height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-mixed);
  border-radius: 1.875rem;
  font-size: 3.125rem;
  color: var(--text-on-primary);
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.module-item:hover .module-item__icon {
  -webkit-transform: scale(1.1) rotate(5deg);
  transform: scale(1.1) rotate(5deg)
}
.module-item__label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: .1em
}
.module-item__info {
  display: flex;
  flex-direction: column
}
.module-item__title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem;
  line-height: 1.3
}
.module-item__description {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5625rem;
  flex: 1
}
.module-item__points {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  margin-bottom: 1.25rem
}
.module-item__note {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .75rem 1rem;
  background: var(--bg-accent);
  border-radius: .5rem;
  font-size: .875rem;
  color: var(--text-light);
  font-weight: 500;
  margin-top: auto
}
.module-item__note i {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0
}
.module-point {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .9375rem;
  color: var(--text-light);
  line-height: 1.5
}
.module-point i {
  color: var(--accent);
  font-size: 1rem;
  flex-shrink: 0
}
.benefits {
  background: var(--bg-accent);
  padding: 6.25rem 0
}
.benefits__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.benefits__intro {
  text-align: center;
  margin-bottom: 3.75rem
}
.benefits__badge {
  display: inline-block;
  background: var(--gradient-accent);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-accent)
}
.benefits__title {
  font-size: 2.625rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.benefits__subtitle {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-light);
  max-width: 50rem;
  margin: 0 auto
}
.benefits__metrics {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem;
  margin-bottom: 3.75rem
}
.benefits__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.875rem
}
.benefit-metric {
  text-align: center;
  padding: 1.875rem;
  background: var(--bg-card);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  border-bottom: 4px solid var(--primary)
}
.benefit-metric__icon {
  width: 4.375rem;
  height: 4.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  border-radius: 50%;
  font-size: 2rem;
  color: var(--text-on-primary);
  margin: 0 auto 1.25rem;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.benefit-metric:hover .benefit-metric__icon {
  -webkit-transform: scale(1.15) rotate(-10deg);
  transform: scale(1.15) rotate(-10deg)
}
.benefit-metric__value {
  font-size: 2.625rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: .5rem;
  line-height: 1.2
}
.benefit-metric__label {
  font-size: .9375rem;
  color: var(--text-light);
  font-weight: 500
}
.benefit-card {
  background: var(--bg-card);
  padding: 2.1875rem;
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
  text-align: center;
  transition: all .3s ease;
  border: 2px solid transparent
}
.benefit-card__header {
  margin-bottom: 1.5625rem
}
.benefit-card__icon {
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-accent);
  border-radius: 1.25rem;
  font-size: 2.25rem;
  color: var(--text-on-primary);
  margin: 0 auto;
  box-shadow: var(--shadow-accent);
  transition: all .3s ease
}
.benefit-card:hover .benefit-card__icon {
  -webkit-transform: scale(1.1) rotate(10deg);
  transform: scale(1.1) rotate(10deg)
}
.benefit-card__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem
}
.benefit-card__text {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--text-light)
}
.journey {
  background: var(--bg-accent);
  padding: 6.25rem 0;
  position: relative
}
.journey__container {
  max-width: 75rem;
  margin: 0 auto;
  padding: 0 1.25rem
}
.journey__header {
  text-align: center;
  margin-bottom: 3.75rem
}
.journey__badge {
  display: inline-block;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  padding: .5rem 1.25rem;
  border-radius: 3.125rem;
  font-size: .875rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-primary)
}
.journey__title {
  font-size: 3rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 1.25rem
}
.journey__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  max-width: 43.75rem;
  margin: 0 auto
}
.journey__grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.875rem;
  position: relative
}
.journey__grid::before {
  content: "";
  position: absolute;
  top: 5rem;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--gradient-primary);
  opacity: .2;
  z-index: 0
}
.journey-card {
  background: var(--bg-card);
  padding: 2.5rem;
  border-radius: 1.5625rem;
  box-shadow: var(--shadow);
  transition: all .3s ease;
  position: relative;
  z-index: 1;
  border-top: 5px solid var(--primary);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center
}
.journey-card__number {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  font-size: 1rem;
  font-weight: 700;
  border-radius: 50%;
  box-shadow: var(--shadow-primary)
}
.journey-card__icon {
  width: 5.625rem;
  height: 5.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--gradient-mixed);
  border-radius: 1.375rem;
  font-size: 2.625rem;
  color: var(--text-on-primary);
  margin: 1.25rem 0 1.5625rem;
  box-shadow: var(--shadow-primary);
  transition: all .3s ease
}
.journey-card:hover .journey-card__icon {
  -webkit-transform: scale(1.15) rotate(10deg);
  transform: scale(1.15) rotate(10deg)
}
.journey-card__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: .9375rem;
  line-height: 1.3
}
.journey-card__text {
  font-size: .9375rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1.5625rem;
  flex: 1
}
.journey-card__arrow {
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-accent);
  border-radius: 50%;
  font-size: 1.25rem;
  color: var(--primary);
  transition: all .3s ease;
  margin-top: auto
}
.journey-card:hover .journey-card__arrow {
  background: var(--gradient-primary);
  color: var(--text-on-primary);
  -webkit-transform: translateX(5px);
  transform: translateX(5px)
}
.journey-card:last-child .journey-card__arrow {
  background: var(--gradient-accent);
  color: var(--text-on-primary)
}
.journey-card:last-child .journey-card__arrow i {
  -webkit-transform: rotate(0);
  transform: rotate(0)
}
.legal__list li {
  list-style-type: disc
}
@keyframes pulse {
  0%,
  100% {
    opacity: .6;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  50% {
    opacity: .8;
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }
}
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}
@media (min-width:576px) {
  .container,
  .container-sm {
    max-width: 540px
  }
  .col-sm {
    flex: 1 0 0%
  }
  .row-cols-sm-auto>* {
    flex: 0 0 auto;
    width: auto
  }
  .row-cols-sm-1>* {
    flex: 0 0 auto;
    width: 100%
  }
  .row-cols-sm-2>* {
    flex: 0 0 auto;
    width: 50%
  }
  .row-cols-sm-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .row-cols-sm-4>* {
    flex: 0 0 auto;
    width: 25%
  }
  .row-cols-sm-5>* {
    flex: 0 0 auto;
    width: 20%
  }
  .row-cols-sm-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%
  }
  .offset-sm-0 {
    margin-left: 0
  }
  .offset-sm-1 {
    margin-left: 8.33333333%
  }
  .offset-sm-2 {
    margin-left: 16.66666667%
  }
  .offset-sm-3 {
    margin-left: 25%
  }
  .offset-sm-4 {
    margin-left: 33.33333333%
  }
  .offset-sm-5 {
    margin-left: 41.66666667%
  }
  .offset-sm-6 {
    margin-left: 50%
  }
  .offset-sm-7 {
    margin-left: 58.33333333%
  }
  .offset-sm-8 {
    margin-left: 66.66666667%
  }
  .offset-sm-9 {
    margin-left: 75%
  }
  .offset-sm-10 {
    margin-left: 83.33333333%
  }
  .offset-sm-11 {
    margin-left: 91.66666667%
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem
  }
  .d-sm-inline {
    display: inline!important
  }
  .d-sm-inline-block {
    display: inline-block!important
  }
  .d-sm-block {
    display: block!important
  }
  .d-sm-grid {
    display: grid!important
  }
  .d-sm-inline-grid {
    display: inline-grid!important
  }
  .d-sm-table {
    display: table!important
  }
  .d-sm-table-row {
    display: table-row!important
  }
  .d-sm-table-cell {
    display: table-cell!important
  }
  .d-sm-flex {
    display: flex!important
  }
  .d-sm-inline-flex {
    display: inline-flex!important
  }
  .d-sm-none {
    display: none!important
  }
  .flex-sm-fill {
    flex: 1 1 auto!important
  }
  .flex-sm-row {
    flex-direction: row!important
  }
  .flex-sm-column {
    flex-direction: column!important
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse!important
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse!important
  }
  .flex-sm-grow-0 {
    flex-grow: 0!important
  }
  .flex-sm-grow-1 {
    flex-grow: 1!important
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0!important
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1!important
  }
  .flex-sm-wrap {
    flex-wrap: wrap!important
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap!important
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse!important
  }
  .justify-content-sm-start {
    justify-content: flex-start!important
  }
  .justify-content-sm-end {
    justify-content: flex-end!important
  }
  .justify-content-sm-center {
    justify-content: center!important
  }
  .justify-content-sm-between {
    justify-content: space-between!important
  }
  .justify-content-sm-around {
    justify-content: space-around!important
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly!important
  }
  .align-items-sm-start {
    align-items: flex-start!important
  }
  .align-items-sm-end {
    align-items: flex-end!important
  }
  .align-items-sm-center {
    align-items: center!important
  }
  .align-items-sm-baseline {
    align-items: baseline!important
  }
  .align-items-sm-stretch {
    align-items: stretch!important
  }
  .align-content-sm-start {
    align-content: flex-start!important
  }
  .align-content-sm-end {
    align-content: flex-end!important
  }
  .align-content-sm-center {
    align-content: center!important
  }
  .align-content-sm-between {
    align-content: space-between!important
  }
  .align-content-sm-around {
    align-content: space-around!important
  }
  .align-content-sm-stretch {
    align-content: stretch!important
  }
  .align-self-sm-auto {
    align-self: auto!important
  }
  .align-self-sm-start {
    align-self: flex-start!important
  }
  .align-self-sm-end {
    align-self: flex-end!important
  }
  .align-self-sm-center {
    align-self: center!important
  }
  .align-self-sm-baseline {
    align-self: baseline!important
  }
  .align-self-sm-stretch {
    align-self: stretch!important
  }
  .order-sm-first {
    order: -1!important
  }
  .order-sm-0 {
    order: 0!important
  }
  .order-sm-1 {
    order: 1!important
  }
  .order-sm-2 {
    order: 2!important
  }
  .order-sm-3 {
    order: 3!important
  }
  .order-sm-4 {
    order: 4!important
  }
  .order-sm-5 {
    order: 5!important
  }
  .order-sm-last {
    order: 6!important
  }
  .m-sm-0 {
    margin: 0!important
  }
  .m-sm-1 {
    margin: .25rem!important
  }
  .m-sm-2 {
    margin: .5rem!important
  }
  .m-sm-3 {
    margin: 1rem!important
  }
  .m-sm-4 {
    margin: 1.5rem!important
  }
  .m-sm-5 {
    margin: 3rem!important
  }
  .m-sm-auto {
    margin: auto!important
  }
  .mx-sm-0 {
    margin-right: 0!important;
    margin-left: 0!important
  }
  .mx-sm-1 {
    margin-right: .25rem!important;
    margin-left: .25rem!important
  }
  .mx-sm-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important
  }
  .mx-sm-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important
  }
  .mx-sm-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important
  }
  .mx-sm-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important
  }
  .mx-sm-auto {
    margin-right: auto!important;
    margin-left: auto!important
  }
  .my-sm-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
  }
  .my-sm-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
  }
  .my-sm-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
  }
  .my-sm-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
  }
  .my-sm-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
  }
  .my-sm-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
  }
  .my-sm-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
  }
  .mt-sm-0 {
    margin-top: 0!important
  }
  .mt-sm-1 {
    margin-top: .25rem!important
  }
  .mt-sm-2 {
    margin-top: .5rem!important
  }
  .mt-sm-3 {
    margin-top: 1rem!important
  }
  .mt-sm-4 {
    margin-top: 1.5rem!important
  }
  .mt-sm-5 {
    margin-top: 3rem!important
  }
  .mt-sm-auto {
    margin-top: auto!important
  }
  .me-sm-0 {
    margin-right: 0!important
  }
  .me-sm-1 {
    margin-right: .25rem!important
  }
  .me-sm-2 {
    margin-right: .5rem!important
  }
  .me-sm-3 {
    margin-right: 1rem!important
  }
  .me-sm-4 {
    margin-right: 1.5rem!important
  }
  .me-sm-5 {
    margin-right: 3rem!important
  }
  .me-sm-auto {
    margin-right: auto!important
  }
  .mb-sm-0 {
    margin-bottom: 0!important
  }
  .mb-sm-1 {
    margin-bottom: .25rem!important
  }
  .mb-sm-2 {
    margin-bottom: .5rem!important
  }
  .mb-sm-3 {
    margin-bottom: 1rem!important
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem!important
  }
  .mb-sm-5 {
    margin-bottom: 3rem!important
  }
  .mb-sm-auto {
    margin-bottom: auto!important
  }
  .ms-sm-0 {
    margin-left: 0!important
  }
  .ms-sm-1 {
    margin-left: .25rem!important
  }
  .ms-sm-2 {
    margin-left: .5rem!important
  }
  .ms-sm-3 {
    margin-left: 1rem!important
  }
  .ms-sm-4 {
    margin-left: 1.5rem!important
  }
  .ms-sm-5 {
    margin-left: 3rem!important
  }
  .ms-sm-auto {
    margin-left: auto!important
  }
  .p-sm-0 {
    padding: 0!important
  }
  .p-sm-1 {
    padding: .25rem!important
  }
  .p-sm-2 {
    padding: .5rem!important
  }
  .p-sm-3 {
    padding: 1rem!important
  }
  .p-sm-4 {
    padding: 1.5rem!important
  }
  .p-sm-5 {
    padding: 3rem!important
  }
  .px-sm-0 {
    padding-right: 0!important;
    padding-left: 0!important
  }
  .px-sm-1 {
    padding-right: .25rem!important;
    padding-left: .25rem!important
  }
  .px-sm-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important
  }
  .px-sm-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important
  }
  .px-sm-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important
  }
  .px-sm-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important
  }
  .py-sm-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
  }
  .py-sm-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
  }
  .py-sm-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
  }
  .py-sm-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
  }
  .py-sm-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
  }
  .py-sm-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
  }
  .pt-sm-0 {
    padding-top: 0!important
  }
  .pt-sm-1 {
    padding-top: .25rem!important
  }
  .pt-sm-2 {
    padding-top: .5rem!important
  }
  .pt-sm-3 {
    padding-top: 1rem!important
  }
  .pt-sm-4 {
    padding-top: 1.5rem!important
  }
  .pt-sm-5 {
    padding-top: 3rem!important
  }
  .pe-sm-0 {
    padding-right: 0!important
  }
  .pe-sm-1 {
    padding-right: .25rem!important
  }
  .pe-sm-2 {
    padding-right: .5rem!important
  }
  .pe-sm-3 {
    padding-right: 1rem!important
  }
  .pe-sm-4 {
    padding-right: 1.5rem!important
  }
  .pe-sm-5 {
    padding-right: 3rem!important
  }
  .pb-sm-0 {
    padding-bottom: 0!important
  }
  .pb-sm-1 {
    padding-bottom: .25rem!important
  }
  .pb-sm-2 {
    padding-bottom: .5rem!important
  }
  .pb-sm-3 {
    padding-bottom: 1rem!important
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem!important
  }
  .pb-sm-5 {
    padding-bottom: 3rem!important
  }
  .ps-sm-0 {
    padding-left: 0!important
  }
  .ps-sm-1 {
    padding-left: .25rem!important
  }
  .ps-sm-2 {
    padding-left: .5rem!important
  }
  .ps-sm-3 {
    padding-left: 1rem!important
  }
  .ps-sm-4 {
    padding-left: 1.5rem!important
  }
  .ps-sm-5 {
    padding-left: 3rem!important
  }
}
@media (min-width:768px) {
  .container,
  .container-md,
  .container-sm {
    max-width: 720px
  }
  .col-md {
    flex: 1 0 0%
  }
  .row-cols-md-auto>* {
    flex: 0 0 auto;
    width: auto
  }
  .row-cols-md-1>* {
    flex: 0 0 auto;
    width: 100%
  }
  .row-cols-md-2>* {
    flex: 0 0 auto;
    width: 50%
  }
  .row-cols-md-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .row-cols-md-4>* {
    flex: 0 0 auto;
    width: 25%
  }
  .row-cols-md-5>* {
    flex: 0 0 auto;
    width: 20%
  }
  .row-cols-md-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%
  }
  .offset-md-0 {
    margin-left: 0
  }
  .offset-md-1 {
    margin-left: 8.33333333%
  }
  .offset-md-2 {
    margin-left: 16.66666667%
  }
  .offset-md-3 {
    margin-left: 25%
  }
  .offset-md-4 {
    margin-left: 33.33333333%
  }
  .offset-md-5 {
    margin-left: 41.66666667%
  }
  .offset-md-6 {
    margin-left: 50%
  }
  .offset-md-7 {
    margin-left: 58.33333333%
  }
  .offset-md-8 {
    margin-left: 66.66666667%
  }
  .offset-md-9 {
    margin-left: 75%
  }
  .offset-md-10 {
    margin-left: 83.33333333%
  }
  .offset-md-11 {
    margin-left: 91.66666667%
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem
  }
  .d-md-inline {
    display: inline!important
  }
  .d-md-inline-block {
    display: inline-block!important
  }
  .d-md-block {
    display: block!important
  }
  .d-md-grid {
    display: grid!important
  }
  .d-md-inline-grid {
    display: inline-grid!important
  }
  .d-md-table {
    display: table!important
  }
  .d-md-table-row {
    display: table-row!important
  }
  .d-md-table-cell {
    display: table-cell!important
  }
  .d-md-flex {
    display: flex!important
  }
  .d-md-inline-flex {
    display: inline-flex!important
  }
  .d-md-none {
    display: none!important
  }
  .flex-md-fill {
    flex: 1 1 auto!important
  }
  .flex-md-row {
    flex-direction: row!important
  }
  .flex-md-column {
    flex-direction: column!important
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse!important
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse!important
  }
  .flex-md-grow-0 {
    flex-grow: 0!important
  }
  .flex-md-grow-1 {
    flex-grow: 1!important
  }
  .flex-md-shrink-0 {
    flex-shrink: 0!important
  }
  .flex-md-shrink-1 {
    flex-shrink: 1!important
  }
  .flex-md-wrap {
    flex-wrap: wrap!important
  }
  .flex-md-nowrap {
    flex-wrap: nowrap!important
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse!important
  }
  .justify-content-md-start {
    justify-content: flex-start!important
  }
  .justify-content-md-end {
    justify-content: flex-end!important
  }
  .justify-content-md-center {
    justify-content: center!important
  }
  .justify-content-md-between {
    justify-content: space-between!important
  }
  .justify-content-md-around {
    justify-content: space-around!important
  }
  .justify-content-md-evenly {
    justify-content: space-evenly!important
  }
  .align-items-md-start {
    align-items: flex-start!important
  }
  .align-items-md-end {
    align-items: flex-end!important
  }
  .align-items-md-center {
    align-items: center!important
  }
  .align-items-md-baseline {
    align-items: baseline!important
  }
  .align-items-md-stretch {
    align-items: stretch!important
  }
  .align-content-md-start {
    align-content: flex-start!important
  }
  .align-content-md-end {
    align-content: flex-end!important
  }
  .align-content-md-center {
    align-content: center!important
  }
  .align-content-md-between {
    align-content: space-between!important
  }
  .align-content-md-around {
    align-content: space-around!important
  }
  .align-content-md-stretch {
    align-content: stretch!important
  }
  .align-self-md-auto {
    align-self: auto!important
  }
  .align-self-md-start {
    align-self: flex-start!important
  }
  .align-self-md-end {
    align-self: flex-end!important
  }
  .align-self-md-center {
    align-self: center!important
  }
  .align-self-md-baseline {
    align-self: baseline!important
  }
  .align-self-md-stretch {
    align-self: stretch!important
  }
  .order-md-first {
    order: -1!important
  }
  .order-md-0 {
    order: 0!important
  }
  .order-md-1 {
    order: 1!important
  }
  .order-md-2 {
    order: 2!important
  }
  .order-md-3 {
    order: 3!important
  }
  .order-md-4 {
    order: 4!important
  }
  .order-md-5 {
    order: 5!important
  }
  .order-md-last {
    order: 6!important
  }
  .m-md-0 {
    margin: 0!important
  }
  .m-md-1 {
    margin: .25rem!important
  }
  .m-md-2 {
    margin: .5rem!important
  }
  .m-md-3 {
    margin: 1rem!important
  }
  .m-md-4 {
    margin: 1.5rem!important
  }
  .m-md-5 {
    margin: 3rem!important
  }
  .m-md-auto {
    margin: auto!important
  }
  .mx-md-0 {
    margin-right: 0!important;
    margin-left: 0!important
  }
  .mx-md-1 {
    margin-right: .25rem!important;
    margin-left: .25rem!important
  }
  .mx-md-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important
  }
  .mx-md-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important
  }
  .mx-md-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important
  }
  .mx-md-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important
  }
  .mx-md-auto {
    margin-right: auto!important;
    margin-left: auto!important
  }
  .my-md-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
  }
  .my-md-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
  }
  .my-md-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
  }
  .my-md-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
  }
  .my-md-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
  }
  .my-md-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
  }
  .my-md-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
  }
  .mt-md-0 {
    margin-top: 0!important
  }
  .mt-md-1 {
    margin-top: .25rem!important
  }
  .mt-md-2 {
    margin-top: .5rem!important
  }
  .mt-md-3 {
    margin-top: 1rem!important
  }
  .mt-md-4 {
    margin-top: 1.5rem!important
  }
  .mt-md-5 {
    margin-top: 3rem!important
  }
  .mt-md-auto {
    margin-top: auto!important
  }
  .me-md-0 {
    margin-right: 0!important
  }
  .me-md-1 {
    margin-right: .25rem!important
  }
  .me-md-2 {
    margin-right: .5rem!important
  }
  .me-md-3 {
    margin-right: 1rem!important
  }
  .me-md-4 {
    margin-right: 1.5rem!important
  }
  .me-md-5 {
    margin-right: 3rem!important
  }
  .me-md-auto {
    margin-right: auto!important
  }
  .mb-md-0 {
    margin-bottom: 0!important
  }
  .mb-md-1 {
    margin-bottom: .25rem!important
  }
  .mb-md-2 {
    margin-bottom: .5rem!important
  }
  .mb-md-3 {
    margin-bottom: 1rem!important
  }
  .mb-md-4 {
    margin-bottom: 1.5rem!important
  }
  .mb-md-5 {
    margin-bottom: 3rem!important
  }
  .mb-md-auto {
    margin-bottom: auto!important
  }
  .ms-md-0 {
    margin-left: 0!important
  }
  .ms-md-1 {
    margin-left: .25rem!important
  }
  .ms-md-2 {
    margin-left: .5rem!important
  }
  .ms-md-3 {
    margin-left: 1rem!important
  }
  .ms-md-4 {
    margin-left: 1.5rem!important
  }
  .ms-md-5 {
    margin-left: 3rem!important
  }
  .ms-md-auto {
    margin-left: auto!important
  }
  .p-md-0 {
    padding: 0!important
  }
  .p-md-1 {
    padding: .25rem!important
  }
  .p-md-2 {
    padding: .5rem!important
  }
  .p-md-3 {
    padding: 1rem!important
  }
  .p-md-4 {
    padding: 1.5rem!important
  }
  .p-md-5 {
    padding: 3rem!important
  }
  .px-md-0 {
    padding-right: 0!important;
    padding-left: 0!important
  }
  .px-md-1 {
    padding-right: .25rem!important;
    padding-left: .25rem!important
  }
  .px-md-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important
  }
  .px-md-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important
  }
  .px-md-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important
  }
  .px-md-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important
  }
  .py-md-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
  }
  .py-md-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
  }
  .py-md-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
  }
  .py-md-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
  }
  .py-md-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
  }
  .py-md-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
  }
  .pt-md-0 {
    padding-top: 0!important
  }
  .pt-md-1 {
    padding-top: .25rem!important
  }
  .pt-md-2 {
    padding-top: .5rem!important
  }
  .pt-md-3 {
    padding-top: 1rem!important
  }
  .pt-md-4 {
    padding-top: 1.5rem!important
  }
  .pt-md-5 {
    padding-top: 3rem!important
  }
  .pe-md-0 {
    padding-right: 0!important
  }
  .pe-md-1 {
    padding-right: .25rem!important
  }
  .pe-md-2 {
    padding-right: .5rem!important
  }
  .pe-md-3 {
    padding-right: 1rem!important
  }
  .pe-md-4 {
    padding-right: 1.5rem!important
  }
  .pe-md-5 {
    padding-right: 3rem!important
  }
  .pb-md-0 {
    padding-bottom: 0!important
  }
  .pb-md-1 {
    padding-bottom: .25rem!important
  }
  .pb-md-2 {
    padding-bottom: .5rem!important
  }
  .pb-md-3 {
    padding-bottom: 1rem!important
  }
  .pb-md-4 {
    padding-bottom: 1.5rem!important
  }
  .pb-md-5 {
    padding-bottom: 3rem!important
  }
  .ps-md-0 {
    padding-left: 0!important
  }
  .ps-md-1 {
    padding-left: .25rem!important
  }
  .ps-md-2 {
    padding-left: .5rem!important
  }
  .ps-md-3 {
    padding-left: 1rem!important
  }
  .ps-md-4 {
    padding-left: 1.5rem!important
  }
  .ps-md-5 {
    padding-left: 3rem!important
  }
}
@media (min-width:992px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 960px
  }
  .col-lg {
    flex: 1 0 0%
  }
  .row-cols-lg-auto>* {
    flex: 0 0 auto;
    width: auto
  }
  .row-cols-lg-1>* {
    flex: 0 0 auto;
    width: 100%
  }
  .row-cols-lg-2>* {
    flex: 0 0 auto;
    width: 50%
  }
  .row-cols-lg-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .row-cols-lg-4>* {
    flex: 0 0 auto;
    width: 25%
  }
  .row-cols-lg-5>* {
    flex: 0 0 auto;
    width: 20%
  }
  .row-cols-lg-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%
  }
  .offset-lg-0 {
    margin-left: 0
  }
  .offset-lg-1 {
    margin-left: 8.33333333%
  }
  .offset-lg-2 {
    margin-left: 16.66666667%
  }
  .offset-lg-3 {
    margin-left: 25%
  }
  .offset-lg-4 {
    margin-left: 33.33333333%
  }
  .offset-lg-5 {
    margin-left: 41.66666667%
  }
  .offset-lg-6 {
    margin-left: 50%
  }
  .offset-lg-7 {
    margin-left: 58.33333333%
  }
  .offset-lg-8 {
    margin-left: 66.66666667%
  }
  .offset-lg-9 {
    margin-left: 75%
  }
  .offset-lg-10 {
    margin-left: 83.33333333%
  }
  .offset-lg-11 {
    margin-left: 91.66666667%
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem
  }
  .d-lg-inline {
    display: inline!important
  }
  .d-lg-inline-block {
    display: inline-block!important
  }
  .d-lg-block {
    display: block!important
  }
  .d-lg-grid {
    display: grid!important
  }
  .d-lg-inline-grid {
    display: inline-grid!important
  }
  .d-lg-table {
    display: table!important
  }
  .d-lg-table-row {
    display: table-row!important
  }
  .d-lg-table-cell {
    display: table-cell!important
  }
  .d-lg-flex {
    display: flex!important
  }
  .d-lg-inline-flex {
    display: inline-flex!important
  }
  .d-lg-none {
    display: none!important
  }
  .flex-lg-fill {
    flex: 1 1 auto!important
  }
  .flex-lg-row {
    flex-direction: row!important
  }
  .flex-lg-column {
    flex-direction: column!important
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse!important
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse!important
  }
  .flex-lg-grow-0 {
    flex-grow: 0!important
  }
  .flex-lg-grow-1 {
    flex-grow: 1!important
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0!important
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1!important
  }
  .flex-lg-wrap {
    flex-wrap: wrap!important
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap!important
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse!important
  }
  .justify-content-lg-start {
    justify-content: flex-start!important
  }
  .justify-content-lg-end {
    justify-content: flex-end!important
  }
  .justify-content-lg-center {
    justify-content: center!important
  }
  .justify-content-lg-between {
    justify-content: space-between!important
  }
  .justify-content-lg-around {
    justify-content: space-around!important
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly!important
  }
  .align-items-lg-start {
    align-items: flex-start!important
  }
  .align-items-lg-end {
    align-items: flex-end!important
  }
  .align-items-lg-center {
    align-items: center!important
  }
  .align-items-lg-baseline {
    align-items: baseline!important
  }
  .align-items-lg-stretch {
    align-items: stretch!important
  }
  .align-content-lg-start {
    align-content: flex-start!important
  }
  .align-content-lg-end {
    align-content: flex-end!important
  }
  .align-content-lg-center {
    align-content: center!important
  }
  .align-content-lg-between {
    align-content: space-between!important
  }
  .align-content-lg-around {
    align-content: space-around!important
  }
  .align-content-lg-stretch {
    align-content: stretch!important
  }
  .align-self-lg-auto {
    align-self: auto!important
  }
  .align-self-lg-start {
    align-self: flex-start!important
  }
  .align-self-lg-end {
    align-self: flex-end!important
  }
  .align-self-lg-center {
    align-self: center!important
  }
  .align-self-lg-baseline {
    align-self: baseline!important
  }
  .align-self-lg-stretch {
    align-self: stretch!important
  }
  .order-lg-first {
    order: -1!important
  }
  .order-lg-0 {
    order: 0!important
  }
  .order-lg-1 {
    order: 1!important
  }
  .order-lg-2 {
    order: 2!important
  }
  .order-lg-3 {
    order: 3!important
  }
  .order-lg-4 {
    order: 4!important
  }
  .order-lg-5 {
    order: 5!important
  }
  .order-lg-last {
    order: 6!important
  }
  .m-lg-0 {
    margin: 0!important
  }
  .m-lg-1 {
    margin: .25rem!important
  }
  .m-lg-2 {
    margin: .5rem!important
  }
  .m-lg-3 {
    margin: 1rem!important
  }
  .m-lg-4 {
    margin: 1.5rem!important
  }
  .m-lg-5 {
    margin: 3rem!important
  }
  .m-lg-auto {
    margin: auto!important
  }
  .mx-lg-0 {
    margin-right: 0!important;
    margin-left: 0!important
  }
  .mx-lg-1 {
    margin-right: .25rem!important;
    margin-left: .25rem!important
  }
  .mx-lg-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important
  }
  .mx-lg-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important
  }
  .mx-lg-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important
  }
  .mx-lg-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important
  }
  .mx-lg-auto {
    margin-right: auto!important;
    margin-left: auto!important
  }
  .my-lg-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
  }
  .my-lg-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
  }
  .my-lg-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
  }
  .my-lg-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
  }
  .my-lg-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
  }
  .my-lg-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
  }
  .my-lg-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
  }
  .mt-lg-0 {
    margin-top: 0!important
  }
  .mt-lg-1 {
    margin-top: .25rem!important
  }
  .mt-lg-2 {
    margin-top: .5rem!important
  }
  .mt-lg-3 {
    margin-top: 1rem!important
  }
  .mt-lg-4 {
    margin-top: 1.5rem!important
  }
  .mt-lg-5 {
    margin-top: 3rem!important
  }
  .mt-lg-auto {
    margin-top: auto!important
  }
  .me-lg-0 {
    margin-right: 0!important
  }
  .me-lg-1 {
    margin-right: .25rem!important
  }
  .me-lg-2 {
    margin-right: .5rem!important
  }
  .me-lg-3 {
    margin-right: 1rem!important
  }
  .me-lg-4 {
    margin-right: 1.5rem!important
  }
  .me-lg-5 {
    margin-right: 3rem!important
  }
  .me-lg-auto {
    margin-right: auto!important
  }
  .mb-lg-0 {
    margin-bottom: 0!important
  }
  .mb-lg-1 {
    margin-bottom: .25rem!important
  }
  .mb-lg-2 {
    margin-bottom: .5rem!important
  }
  .mb-lg-3 {
    margin-bottom: 1rem!important
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem!important
  }
  .mb-lg-5 {
    margin-bottom: 3rem!important
  }
  .mb-lg-auto {
    margin-bottom: auto!important
  }
  .ms-lg-0 {
    margin-left: 0!important
  }
  .ms-lg-1 {
    margin-left: .25rem!important
  }
  .ms-lg-2 {
    margin-left: .5rem!important
  }
  .ms-lg-3 {
    margin-left: 1rem!important
  }
  .ms-lg-4 {
    margin-left: 1.5rem!important
  }
  .ms-lg-5 {
    margin-left: 3rem!important
  }
  .ms-lg-auto {
    margin-left: auto!important
  }
  .p-lg-0 {
    padding: 0!important
  }
  .p-lg-1 {
    padding: .25rem!important
  }
  .p-lg-2 {
    padding: .5rem!important
  }
  .p-lg-3 {
    padding: 1rem!important
  }
  .p-lg-4 {
    padding: 1.5rem!important
  }
  .p-lg-5 {
    padding: 3rem!important
  }
  .px-lg-0 {
    padding-right: 0!important;
    padding-left: 0!important
  }
  .px-lg-1 {
    padding-right: .25rem!important;
    padding-left: .25rem!important
  }
  .px-lg-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important
  }
  .px-lg-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important
  }
  .px-lg-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important
  }
  .px-lg-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important
  }
  .py-lg-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
  }
  .py-lg-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
  }
  .py-lg-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
  }
  .py-lg-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
  }
  .py-lg-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
  }
  .py-lg-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
  }
  .pt-lg-0 {
    padding-top: 0!important
  }
  .pt-lg-1 {
    padding-top: .25rem!important
  }
  .pt-lg-2 {
    padding-top: .5rem!important
  }
  .pt-lg-3 {
    padding-top: 1rem!important
  }
  .pt-lg-4 {
    padding-top: 1.5rem!important
  }
  .pt-lg-5 {
    padding-top: 3rem!important
  }
  .pe-lg-0 {
    padding-right: 0!important
  }
  .pe-lg-1 {
    padding-right: .25rem!important
  }
  .pe-lg-2 {
    padding-right: .5rem!important
  }
  .pe-lg-3 {
    padding-right: 1rem!important
  }
  .pe-lg-4 {
    padding-right: 1.5rem!important
  }
  .pe-lg-5 {
    padding-right: 3rem!important
  }
  .pb-lg-0 {
    padding-bottom: 0!important
  }
  .pb-lg-1 {
    padding-bottom: .25rem!important
  }
  .pb-lg-2 {
    padding-bottom: .5rem!important
  }
  .pb-lg-3 {
    padding-bottom: 1rem!important
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem!important
  }
  .pb-lg-5 {
    padding-bottom: 3rem!important
  }
  .ps-lg-0 {
    padding-left: 0!important
  }
  .ps-lg-1 {
    padding-left: .25rem!important
  }
  .ps-lg-2 {
    padding-left: .5rem!important
  }
  .ps-lg-3 {
    padding-left: 1rem!important
  }
  .ps-lg-4 {
    padding-left: 1.5rem!important
  }
  .ps-lg-5 {
    padding-left: 3rem!important
  }
}
@media (min-width:1200px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl {
    max-width: 1140px
  }
  .col-xl {
    flex: 1 0 0%
  }
  .row-cols-xl-auto>* {
    flex: 0 0 auto;
    width: auto
  }
  .row-cols-xl-1>* {
    flex: 0 0 auto;
    width: 100%
  }
  .row-cols-xl-2>* {
    flex: 0 0 auto;
    width: 50%
  }
  .row-cols-xl-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .row-cols-xl-4>* {
    flex: 0 0 auto;
    width: 25%
  }
  .row-cols-xl-5>* {
    flex: 0 0 auto;
    width: 20%
  }
  .row-cols-xl-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%
  }
  .offset-xl-0 {
    margin-left: 0
  }
  .offset-xl-1 {
    margin-left: 8.33333333%
  }
  .offset-xl-2 {
    margin-left: 16.66666667%
  }
  .offset-xl-3 {
    margin-left: 25%
  }
  .offset-xl-4 {
    margin-left: 33.33333333%
  }
  .offset-xl-5 {
    margin-left: 41.66666667%
  }
  .offset-xl-6 {
    margin-left: 50%
  }
  .offset-xl-7 {
    margin-left: 58.33333333%
  }
  .offset-xl-8 {
    margin-left: 66.66666667%
  }
  .offset-xl-9 {
    margin-left: 75%
  }
  .offset-xl-10 {
    margin-left: 83.33333333%
  }
  .offset-xl-11 {
    margin-left: 91.66666667%
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem
  }
  .d-xl-inline {
    display: inline!important
  }
  .d-xl-inline-block {
    display: inline-block!important
  }
  .d-xl-block {
    display: block!important
  }
  .d-xl-grid {
    display: grid!important
  }
  .d-xl-inline-grid {
    display: inline-grid!important
  }
  .d-xl-table {
    display: table!important
  }
  .d-xl-table-row {
    display: table-row!important
  }
  .d-xl-table-cell {
    display: table-cell!important
  }
  .d-xl-flex {
    display: flex!important
  }
  .d-xl-inline-flex {
    display: inline-flex!important
  }
  .d-xl-none {
    display: none!important
  }
  .flex-xl-fill {
    flex: 1 1 auto!important
  }
  .flex-xl-row {
    flex-direction: row!important
  }
  .flex-xl-column {
    flex-direction: column!important
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse!important
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse!important
  }
  .flex-xl-grow-0 {
    flex-grow: 0!important
  }
  .flex-xl-grow-1 {
    flex-grow: 1!important
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0!important
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1!important
  }
  .flex-xl-wrap {
    flex-wrap: wrap!important
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap!important
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse!important
  }
  .justify-content-xl-start {
    justify-content: flex-start!important
  }
  .justify-content-xl-end {
    justify-content: flex-end!important
  }
  .justify-content-xl-center {
    justify-content: center!important
  }
  .justify-content-xl-between {
    justify-content: space-between!important
  }
  .justify-content-xl-around {
    justify-content: space-around!important
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly!important
  }
  .align-items-xl-start {
    align-items: flex-start!important
  }
  .align-items-xl-end {
    align-items: flex-end!important
  }
  .align-items-xl-center {
    align-items: center!important
  }
  .align-items-xl-baseline {
    align-items: baseline!important
  }
  .align-items-xl-stretch {
    align-items: stretch!important
  }
  .align-content-xl-start {
    align-content: flex-start!important
  }
  .align-content-xl-end {
    align-content: flex-end!important
  }
  .align-content-xl-center {
    align-content: center!important
  }
  .align-content-xl-between {
    align-content: space-between!important
  }
  .align-content-xl-around {
    align-content: space-around!important
  }
  .align-content-xl-stretch {
    align-content: stretch!important
  }
  .align-self-xl-auto {
    align-self: auto!important
  }
  .align-self-xl-start {
    align-self: flex-start!important
  }
  .align-self-xl-end {
    align-self: flex-end!important
  }
  .align-self-xl-center {
    align-self: center!important
  }
  .align-self-xl-baseline {
    align-self: baseline!important
  }
  .align-self-xl-stretch {
    align-self: stretch!important
  }
  .order-xl-first {
    order: -1!important
  }
  .order-xl-0 {
    order: 0!important
  }
  .order-xl-1 {
    order: 1!important
  }
  .order-xl-2 {
    order: 2!important
  }
  .order-xl-3 {
    order: 3!important
  }
  .order-xl-4 {
    order: 4!important
  }
  .order-xl-5 {
    order: 5!important
  }
  .order-xl-last {
    order: 6!important
  }
  .m-xl-0 {
    margin: 0!important
  }
  .m-xl-1 {
    margin: .25rem!important
  }
  .m-xl-2 {
    margin: .5rem!important
  }
  .m-xl-3 {
    margin: 1rem!important
  }
  .m-xl-4 {
    margin: 1.5rem!important
  }
  .m-xl-5 {
    margin: 3rem!important
  }
  .m-xl-auto {
    margin: auto!important
  }
  .mx-xl-0 {
    margin-right: 0!important;
    margin-left: 0!important
  }
  .mx-xl-1 {
    margin-right: .25rem!important;
    margin-left: .25rem!important
  }
  .mx-xl-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important
  }
  .mx-xl-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important
  }
  .mx-xl-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important
  }
  .mx-xl-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important
  }
  .mx-xl-auto {
    margin-right: auto!important;
    margin-left: auto!important
  }
  .my-xl-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
  }
  .my-xl-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
  }
  .my-xl-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
  }
  .my-xl-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
  }
  .my-xl-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
  }
  .my-xl-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
  }
  .my-xl-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
  }
  .mt-xl-0 {
    margin-top: 0!important
  }
  .mt-xl-1 {
    margin-top: .25rem!important
  }
  .mt-xl-2 {
    margin-top: .5rem!important
  }
  .mt-xl-3 {
    margin-top: 1rem!important
  }
  .mt-xl-4 {
    margin-top: 1.5rem!important
  }
  .mt-xl-5 {
    margin-top: 3rem!important
  }
  .mt-xl-auto {
    margin-top: auto!important
  }
  .me-xl-0 {
    margin-right: 0!important
  }
  .me-xl-1 {
    margin-right: .25rem!important
  }
  .me-xl-2 {
    margin-right: .5rem!important
  }
  .me-xl-3 {
    margin-right: 1rem!important
  }
  .me-xl-4 {
    margin-right: 1.5rem!important
  }
  .me-xl-5 {
    margin-right: 3rem!important
  }
  .me-xl-auto {
    margin-right: auto!important
  }
  .mb-xl-0 {
    margin-bottom: 0!important
  }
  .mb-xl-1 {
    margin-bottom: .25rem!important
  }
  .mb-xl-2 {
    margin-bottom: .5rem!important
  }
  .mb-xl-3 {
    margin-bottom: 1rem!important
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem!important
  }
  .mb-xl-5 {
    margin-bottom: 3rem!important
  }
  .mb-xl-auto {
    margin-bottom: auto!important
  }
  .ms-xl-0 {
    margin-left: 0!important
  }
  .ms-xl-1 {
    margin-left: .25rem!important
  }
  .ms-xl-2 {
    margin-left: .5rem!important
  }
  .ms-xl-3 {
    margin-left: 1rem!important
  }
  .ms-xl-4 {
    margin-left: 1.5rem!important
  }
  .ms-xl-5 {
    margin-left: 3rem!important
  }
  .ms-xl-auto {
    margin-left: auto!important
  }
  .p-xl-0 {
    padding: 0!important
  }
  .p-xl-1 {
    padding: .25rem!important
  }
  .p-xl-2 {
    padding: .5rem!important
  }
  .p-xl-3 {
    padding: 1rem!important
  }
  .p-xl-4 {
    padding: 1.5rem!important
  }
  .p-xl-5 {
    padding: 3rem!important
  }
  .px-xl-0 {
    padding-right: 0!important;
    padding-left: 0!important
  }
  .px-xl-1 {
    padding-right: .25rem!important;
    padding-left: .25rem!important
  }
  .px-xl-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important
  }
  .px-xl-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important
  }
  .px-xl-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important
  }
  .px-xl-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important
  }
  .py-xl-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
  }
  .py-xl-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
  }
  .py-xl-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
  }
  .py-xl-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
  }
  .py-xl-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
  }
  .py-xl-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
  }
  .pt-xl-0 {
    padding-top: 0!important
  }
  .pt-xl-1 {
    padding-top: .25rem!important
  }
  .pt-xl-2 {
    padding-top: .5rem!important
  }
  .pt-xl-3 {
    padding-top: 1rem!important
  }
  .pt-xl-4 {
    padding-top: 1.5rem!important
  }
  .pt-xl-5 {
    padding-top: 3rem!important
  }
  .pe-xl-0 {
    padding-right: 0!important
  }
  .pe-xl-1 {
    padding-right: .25rem!important
  }
  .pe-xl-2 {
    padding-right: .5rem!important
  }
  .pe-xl-3 {
    padding-right: 1rem!important
  }
  .pe-xl-4 {
    padding-right: 1.5rem!important
  }
  .pe-xl-5 {
    padding-right: 3rem!important
  }
  .pb-xl-0 {
    padding-bottom: 0!important
  }
  .pb-xl-1 {
    padding-bottom: .25rem!important
  }
  .pb-xl-2 {
    padding-bottom: .5rem!important
  }
  .pb-xl-3 {
    padding-bottom: 1rem!important
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem!important
  }
  .pb-xl-5 {
    padding-bottom: 3rem!important
  }
  .ps-xl-0 {
    padding-left: 0!important
  }
  .ps-xl-1 {
    padding-left: .25rem!important
  }
  .ps-xl-2 {
    padding-left: .5rem!important
  }
  .ps-xl-3 {
    padding-left: 1rem!important
  }
  .ps-xl-4 {
    padding-left: 1.5rem!important
  }
  .ps-xl-5 {
    padding-left: 3rem!important
  }
}
@media (min-width:75em) {
  section {
    padding-top: 6.25rem
  }
  section {
    padding-bottom: 6.25rem
  }
}
@media (min-width:1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1320px
  }
  .col-xxl {
    flex: 1 0 0%
  }
  .row-cols-xxl-auto>* {
    flex: 0 0 auto;
    width: auto
  }
  .row-cols-xxl-1>* {
    flex: 0 0 auto;
    width: 100%
  }
  .row-cols-xxl-2>* {
    flex: 0 0 auto;
    width: 50%
  }
  .row-cols-xxl-3>* {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .row-cols-xxl-4>* {
    flex: 0 0 auto;
    width: 25%
  }
  .row-cols-xxl-5>* {
    flex: 0 0 auto;
    width: 20%
  }
  .row-cols-xxl-6>* {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%
  }
  .offset-xxl-0 {
    margin-left: 0
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%
  }
  .offset-xxl-3 {
    margin-left: 25%
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%
  }
  .offset-xxl-6 {
    margin-left: 50%
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%
  }
  .offset-xxl-9 {
    margin-left: 75%
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem
  }
  .d-xxl-inline {
    display: inline!important
  }
  .d-xxl-inline-block {
    display: inline-block!important
  }
  .d-xxl-block {
    display: block!important
  }
  .d-xxl-grid {
    display: grid!important
  }
  .d-xxl-inline-grid {
    display: inline-grid!important
  }
  .d-xxl-table {
    display: table!important
  }
  .d-xxl-table-row {
    display: table-row!important
  }
  .d-xxl-table-cell {
    display: table-cell!important
  }
  .d-xxl-flex {
    display: flex!important
  }
  .d-xxl-inline-flex {
    display: inline-flex!important
  }
  .d-xxl-none {
    display: none!important
  }
  .flex-xxl-fill {
    flex: 1 1 auto!important
  }
  .flex-xxl-row {
    flex-direction: row!important
  }
  .flex-xxl-column {
    flex-direction: column!important
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse!important
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse!important
  }
  .flex-xxl-grow-0 {
    flex-grow: 0!important
  }
  .flex-xxl-grow-1 {
    flex-grow: 1!important
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0!important
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1!important
  }
  .flex-xxl-wrap {
    flex-wrap: wrap!important
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap!important
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse!important
  }
  .justify-content-xxl-start {
    justify-content: flex-start!important
  }
  .justify-content-xxl-end {
    justify-content: flex-end!important
  }
  .justify-content-xxl-center {
    justify-content: center!important
  }
  .justify-content-xxl-between {
    justify-content: space-between!important
  }
  .justify-content-xxl-around {
    justify-content: space-around!important
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly!important
  }
  .align-items-xxl-start {
    align-items: flex-start!important
  }
  .align-items-xxl-end {
    align-items: flex-end!important
  }
  .align-items-xxl-center {
    align-items: center!important
  }
  .align-items-xxl-baseline {
    align-items: baseline!important
  }
  .align-items-xxl-stretch {
    align-items: stretch!important
  }
  .align-content-xxl-start {
    align-content: flex-start!important
  }
  .align-content-xxl-end {
    align-content: flex-end!important
  }
  .align-content-xxl-center {
    align-content: center!important
  }
  .align-content-xxl-between {
    align-content: space-between!important
  }
  .align-content-xxl-around {
    align-content: space-around!important
  }
  .align-content-xxl-stretch {
    align-content: stretch!important
  }
  .align-self-xxl-auto {
    align-self: auto!important
  }
  .align-self-xxl-start {
    align-self: flex-start!important
  }
  .align-self-xxl-end {
    align-self: flex-end!important
  }
  .align-self-xxl-center {
    align-self: center!important
  }
  .align-self-xxl-baseline {
    align-self: baseline!important
  }
  .align-self-xxl-stretch {
    align-self: stretch!important
  }
  .order-xxl-first {
    order: -1!important
  }
  .order-xxl-0 {
    order: 0!important
  }
  .order-xxl-1 {
    order: 1!important
  }
  .order-xxl-2 {
    order: 2!important
  }
  .order-xxl-3 {
    order: 3!important
  }
  .order-xxl-4 {
    order: 4!important
  }
  .order-xxl-5 {
    order: 5!important
  }
  .order-xxl-last {
    order: 6!important
  }
  .m-xxl-0 {
    margin: 0!important
  }
  .m-xxl-1 {
    margin: .25rem!important
  }
  .m-xxl-2 {
    margin: .5rem!important
  }
  .m-xxl-3 {
    margin: 1rem!important
  }
  .m-xxl-4 {
    margin: 1.5rem!important
  }
  .m-xxl-5 {
    margin: 3rem!important
  }
  .m-xxl-auto {
    margin: auto!important
  }
  .mx-xxl-0 {
    margin-right: 0!important;
    margin-left: 0!important
  }
  .mx-xxl-1 {
    margin-right: .25rem!important;
    margin-left: .25rem!important
  }
  .mx-xxl-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important
  }
  .mx-xxl-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important
  }
  .mx-xxl-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important
  }
  .mx-xxl-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important
  }
  .mx-xxl-auto {
    margin-right: auto!important;
    margin-left: auto!important
  }
  .my-xxl-0 {
    margin-top: 0!important;
    margin-bottom: 0!important
  }
  .my-xxl-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important
  }
  .my-xxl-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important
  }
  .my-xxl-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important
  }
  .my-xxl-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important
  }
  .my-xxl-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important
  }
  .my-xxl-auto {
    margin-top: auto!important;
    margin-bottom: auto!important
  }
  .mt-xxl-0 {
    margin-top: 0!important
  }
  .mt-xxl-1 {
    margin-top: .25rem!important
  }
  .mt-xxl-2 {
    margin-top: .5rem!important
  }
  .mt-xxl-3 {
    margin-top: 1rem!important
  }
  .mt-xxl-4 {
    margin-top: 1.5rem!important
  }
  .mt-xxl-5 {
    margin-top: 3rem!important
  }
  .mt-xxl-auto {
    margin-top: auto!important
  }
  .me-xxl-0 {
    margin-right: 0!important
  }
  .me-xxl-1 {
    margin-right: .25rem!important
  }
  .me-xxl-2 {
    margin-right: .5rem!important
  }
  .me-xxl-3 {
    margin-right: 1rem!important
  }
  .me-xxl-4 {
    margin-right: 1.5rem!important
  }
  .me-xxl-5 {
    margin-right: 3rem!important
  }
  .me-xxl-auto {
    margin-right: auto!important
  }
  .mb-xxl-0 {
    margin-bottom: 0!important
  }
  .mb-xxl-1 {
    margin-bottom: .25rem!important
  }
  .mb-xxl-2 {
    margin-bottom: .5rem!important
  }
  .mb-xxl-3 {
    margin-bottom: 1rem!important
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem!important
  }
  .mb-xxl-5 {
    margin-bottom: 3rem!important
  }
  .mb-xxl-auto {
    margin-bottom: auto!important
  }
  .ms-xxl-0 {
    margin-left: 0!important
  }
  .ms-xxl-1 {
    margin-left: .25rem!important
  }
  .ms-xxl-2 {
    margin-left: .5rem!important
  }
  .ms-xxl-3 {
    margin-left: 1rem!important
  }
  .ms-xxl-4 {
    margin-left: 1.5rem!important
  }
  .ms-xxl-5 {
    margin-left: 3rem!important
  }
  .ms-xxl-auto {
    margin-left: auto!important
  }
  .p-xxl-0 {
    padding: 0!important
  }
  .p-xxl-1 {
    padding: .25rem!important
  }
  .p-xxl-2 {
    padding: .5rem!important
  }
  .p-xxl-3 {
    padding: 1rem!important
  }
  .p-xxl-4 {
    padding: 1.5rem!important
  }
  .p-xxl-5 {
    padding: 3rem!important
  }
  .px-xxl-0 {
    padding-right: 0!important;
    padding-left: 0!important
  }
  .px-xxl-1 {
    padding-right: .25rem!important;
    padding-left: .25rem!important
  }
  .px-xxl-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important
  }
  .px-xxl-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important
  }
  .px-xxl-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important
  }
  .px-xxl-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important
  }
  .py-xxl-0 {
    padding-top: 0!important;
    padding-bottom: 0!important
  }
  .py-xxl-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important
  }
  .py-xxl-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important
  }
  .py-xxl-3 {
    padding-top: 1rem!important;
    padding-bottom: 1rem!important
  }
  .py-xxl-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important
  }
  .py-xxl-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important
  }
  .pt-xxl-0 {
    padding-top: 0!important
  }
  .pt-xxl-1 {
    padding-top: .25rem!important
  }
  .pt-xxl-2 {
    padding-top: .5rem!important
  }
  .pt-xxl-3 {
    padding-top: 1rem!important
  }
  .pt-xxl-4 {
    padding-top: 1.5rem!important
  }
  .pt-xxl-5 {
    padding-top: 3rem!important
  }
  .pe-xxl-0 {
    padding-right: 0!important
  }
  .pe-xxl-1 {
    padding-right: .25rem!important
  }
  .pe-xxl-2 {
    padding-right: .5rem!important
  }
  .pe-xxl-3 {
    padding-right: 1rem!important
  }
  .pe-xxl-4 {
    padding-right: 1.5rem!important
  }
  .pe-xxl-5 {
    padding-right: 3rem!important
  }
  .pb-xxl-0 {
    padding-bottom: 0!important
  }
  .pb-xxl-1 {
    padding-bottom: .25rem!important
  }
  .pb-xxl-2 {
    padding-bottom: .5rem!important
  }
  .pb-xxl-3 {
    padding-bottom: 1rem!important
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem!important
  }
  .pb-xxl-5 {
    padding-bottom: 3rem!important
  }
  .ps-xxl-0 {
    padding-left: 0!important
  }
  .ps-xxl-1 {
    padding-left: .25rem!important
  }
  .ps-xxl-2 {
    padding-left: .5rem!important
  }
  .ps-xxl-3 {
    padding-left: 1rem!important
  }
  .ps-xxl-4 {
    padding-left: 1.5rem!important
  }
  .ps-xxl-5 {
    padding-left: 3rem!important
  }
}
@media (max-width:20em) {
  section {
    padding-top: 3.75rem
  }
  section {
    padding-bottom: 3.75rem
  }
}
@media (max-width:61.99875em) {
  .post-card__image {
    min-height: 13.75rem;
    padding: 1.875rem
  }
  .post-card__image i {
    font-size: 3.5rem;
    width: 6.25rem;
    height: 6.25rem
  }
  .post-card__image::after {
    width: 6.25rem;
    height: 6.25rem
  }
  .footer__row {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem
  }
  .footer__column--logo {
    grid-column: 1/-1
  }
  .hero__title {
    font-size: 2.625rem
  }
  .hero__features {
    grid-template-columns: 1fr;
    gap: 1.5625rem
  }
  .hero__stats {
    grid-template-columns: repeat(2,1fr)
  }
  .about__title {
    font-size: 2.25rem
  }
  .about__content-wrapper {
    flex-direction: column;
    gap: 1.875rem
  }
  .about__side-cards {
    width: 100%
  }
  .about__stats {
    gap: 1.875rem;
    padding: 2.5rem 1.875rem
  }
  .features__title {
    font-size: 2.25rem
  }
  .feature-card {
    flex-direction: column!important;
    gap: 1.875rem;
    padding: 2.5rem;
    min-height: auto
  }
  .feature-card--left {
    flex-direction: column
  }
  .feature-card--right {
    flex-direction: column
  }
  .feature-card__icon-wrapper {
    width: 9.375rem;
    height: 9.375rem
  }
  .feature-card__icon {
    width: 6.25rem;
    height: 6.25rem;
    font-size: 3rem
  }
  .feature-card__number {
    font-size: 9.375rem
  }
  .feature-card__title {
    font-size: 1.75rem
  }
  .advantages__title {
    font-size: 2.25rem
  }
  .advantages__masonry {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
  .contact__title {
    font-size: 2.25rem
  }
  .contact__layout {
    grid-template-columns: 1fr;
    gap: 1.5625rem
  }
  .programs__title {
    font-size: 2.25rem
  }
  .programs__grid {
    grid-template-columns: 1fr;
    gap: 1.875rem
  }
  .why-us__container {
    grid-template-columns: 1fr;
    gap: 3.125rem
  }
  .why-us__left {
    text-align: center
  }
  .why-us__title {
    font-size: 2.25rem
  }
  .process__title {
    font-size: 2.25rem
  }
  .process__steps {
    grid-template-columns: 1fr;
    gap: 1.875rem
  }
  .pricing__title {
    font-size: 2.25rem
  }
  .pricing__info {
    grid-template-columns: repeat(2,1fr)
  }
  .faq__title {
    font-size: 2.25rem
  }
  .contact-form__title {
    font-size: 2.25rem
  }
  .courses__title {
    font-size: 2.25rem
  }
  .courses__grid {
    grid-template-columns: 1fr;
    gap: 1.875rem
  }
  .advantages__content {
    grid-template-columns: 1fr;
    gap: 2.5rem
  }
  .advantages__title {
    font-size: 2.25rem
  }
  .workflow__title {
    font-size: 2.25rem
  }
  .workflow__steps {
    grid-template-columns: 1fr;
    gap: 1.875rem
  }
  .pricing__cards {
    grid-template-columns: repeat(2,1fr)
  }
  .modules__title {
    font-size: 2.25rem
  }
  .module-item {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    padding: 1.875rem
  }
  .module-item--reverse {
    grid-template-columns: 1fr
  }
  .module-item--reverse .module-item__visual {
    order: 1
  }
  .module-item--reverse .module-item__info {
    order: 2
  }
  .module-item__visual {
    flex-direction: row;
    justify-content: center
  }
  .module-item__icon {
    width: 6.25rem;
    height: 6.25rem;
    font-size: 2.5rem
  }
  .benefits__title {
    font-size: 2.25rem
  }
  .benefits__grid {
    grid-template-columns: repeat(2,1fr)
  }
  .journey__title {
    font-size: 2.25rem
  }
  .journey__grid {
    grid-template-columns: repeat(2,1fr)
  }
  .journey__grid::before {
    display: none
  }
  .journey-card__arrow {
    display: none
  }
}
@media (max-width:47.99875em) {
  .menu__body {
    position: fixed;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    overflow: auto;
    padding: 4.375rem .9375rem .9375rem .9375rem;
    background-color: var(--bg);
    transition: left .3s
  }
  .menu__body::before {
    content: "";
    position: fixed;
    width: 100%;
    height: 4.375rem;
    left: -100%;
    top: 0;
    transition: left .3s;
    z-index: 2
  }
  .menu-open .menu__body {
    left: 0
  }
  .menu-open .menu__body::before {
    left: 0
  }
  .icon-menu {
    display: block;
    position: relative;
    width: 1.875rem;
    height: 1.125rem;
    z-index: 5
  }
  .icon-menu span,
  .icon-menu::after,
  .icon-menu::before {
    content: "";
    transition: all .3s ease 0s;
    right: 0;
    position: absolute;
    width: 100%;
    height: .125rem;
    background-color: var(--text-primary)
  }
  .icon-menu::before {
    top: 0
  }
  .icon-menu::after {
    bottom: 0
  }
  .icon-menu span {
    top: calc(50% - .0625rem)
  }
  .menu-open .icon-menu span {
    width: 0
  }
  .menu-open .icon-menu::before {
    top: calc(50% - .0625rem);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .menu-open .icon-menu::after {
    bottom: calc(50% - .0625rem);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .post-card__image {
    min-height: 12.5rem;
    padding: 1.5625rem
  }
  .post-card__image i {
    font-size: 3rem;
    width: 5.625rem;
    height: 5.625rem;
    padding: .9375rem
  }
  .post-card__image::after {
    width: 5.625rem;
    height: 5.625rem
  }
  .post-card__title {
    font-size: 1.25rem
  }
  .legal {
    padding: 2.5rem 0
  }
  .legal__title {
    font-size: 1.75rem
  }
  .legal__content {
    padding: 1.5rem
  }
  .legal__section-title {
    font-size: 1.25rem
  }
  .cookie-banner__container {
    flex-direction: column;
    text-align: center
  }
  .cookie-banner__buttons {
    width: 100%;
    justify-content: center
  }
  .cookie-banner {
    bottom: .625rem;
    padding: .9375rem
  }
  .menu__list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 1.25rem
  }
  .menu__item {
    width: 100%
  }
  .menu__link {
    font-size: 2rem;
    width: 100%
  }
  .footer__logo {
    font-size: 1.25rem
  }
  .footer__logo i {
    font-size: 1.5rem
  }
  .footer__row {
    grid-template-columns: 1fr;
    gap: 2.5rem
  }
  .footer__menu-title {
    font-size: 1.5rem
  }
  .footer__menu-list {
    width: 100%;
    gap: 1.25rem
  }
  .footer__menu-link {
    width: 100%;
    font-size: 1rem
  }
  .hero__title {
    font-size: 2rem
  }
  .hero__text {
    font-size: 1rem
  }
  .hero__stats {
    grid-template-columns: 1fr;
    gap: 1.25rem
  }
  .hero__btn {
    padding: .9375rem 1.875rem;
    font-size: 1rem
  }
  .hero-feature__title {
    font-size: 1rem
  }
  .hero-feature__text {
    font-size: .8125rem
  }
  .hero-stat__value {
    font-size: 2.25rem
  }
  .hero-stat__label {
    font-size: .8125rem
  }
  .about {
    padding: 3.75rem 0
  }
  .about__header {
    margin-bottom: 2.5rem
  }
  .about__title {
    font-size: 1.75rem
  }
  .about__main-content {
    padding: 2.5rem 1.875rem
  }
  .about__icon-large {
    width: 5rem;
    height: 5rem;
    font-size: 2.5rem
  }
  .about__main-title {
    font-size: 1.625rem
  }
  .about__main-text {
    font-size: 1rem
  }
  .about__side-card {
    padding: 1.5625rem
  }
  .about__side-title {
    font-size: 1.25rem
  }
  .about__stats {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    padding: 2.5rem 1.25rem
  }
  .about__stat-number {
    font-size: 2rem;
    min-height: 3rem
  }
  .features {
    padding: 3.75rem 0
  }
  .features__header {
    margin-bottom: 3.125rem
  }
  .features__title {
    font-size: 1.75rem
  }
  .features__subtitle {
    font-size: 1rem
  }
  .features__list {
    gap: 2.5rem
  }
  .feature-card {
    padding: 1.875rem
  }
  .feature-card__icon-wrapper {
    width: 7.5rem;
    height: 7.5rem
  }
  .feature-card__icon {
    width: 5rem;
    height: 5rem;
    font-size: 2.5rem
  }
  .feature-card__number {
    font-size: 7.5rem
  }
  .feature-card__title {
    font-size: 1.5rem
  }
  .feature-card__text p {
    font-size: .9375rem
  }
  .advantages {
    padding: 3.75rem 0
  }
  .advantages__header {
    margin-bottom: 3.125rem
  }
  .advantages__title {
    font-size: 1.75rem
  }
  .advantages__subtitle {
    font-size: 1rem
  }
  .advantages__masonry {
    grid-template-columns: 1fr;
    gap: 1.5625rem
  }
  .advantage-tile {
    padding: 1.875rem
  }
  .advantage-tile__icon {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 1.75rem
  }
  .advantage-tile__title {
    font-size: 1.25rem
  }
  .advantage-tile__text {
    font-size: .875rem
  }
  .contact {
    padding: 3.75rem 0
  }
  .contact__header {
    margin-bottom: 3.125rem
  }
  .contact__title {
    font-size: 1.75rem
  }
  .contact__text {
    font-size: 1rem
  }
  .contact-item--primary {
    flex-direction: column;
    padding: 1.875rem;
    text-align: center
  }
  .contact-item--secondary {
    padding: 1.5625rem
  }
  .contact-item__icon {
    width: 6.25rem;
    height: 6.25rem;
    font-size: 2.625rem
  }
  .contact-item__title {
    font-size: 1.25rem;
    margin-bottom: .75rem
  }
  .contact-item__link {
    font-size: 1.25rem
  }
  .contact-item__meta {
    font-size: .875rem;
    justify-content: center
  }
  .contact-item__address {
    font-size: .9375rem
  }
  .contact-hour {
    flex-direction: column;
    align-items: flex-start;
    gap: .375rem
  }
  .contact-hour__days {
    font-size: .875rem
  }
  .contact-hour__time {
    font-size: .875rem
  }
  .programs {
    padding: 3.75rem 0
  }
  .programs__header {
    margin-bottom: 3.125rem
  }
  .programs__title {
    font-size: 1.75rem
  }
  .programs__subtitle {
    font-size: 1rem
  }
  .program-card__top {
    padding: 1.875rem;
    min-height: 7.5rem
  }
  .program-card__icon {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 2rem
  }
  .program-card__number {
    font-size: 3.75rem
  }
  .program-card__content {
    padding: 1.875rem
  }
  .program-card__title {
    font-size: 1.5rem
  }
  .program-card__description {
    font-size: .9375rem
  }
  .program-card__disclaimer {
    font-size: .8125rem;
    padding: .625rem .875rem
  }
  .why-us {
    padding: 3.75rem 0
  }
  .why-us__title {
    font-size: 1.75rem
  }
  .why-us__text {
    font-size: 1rem
  }
  .why-us__stats {
    grid-template-columns: 1fr;
    gap: 1.5625rem
  }
  .why-us__stat-value {
    font-size: 2.25rem
  }
  .why-us__stat-label {
    font-size: .875rem
  }
  .benefit-item {
    padding: 1.5625rem;
    gap: 1.25rem
  }
  .benefit-item__icon {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 1.75rem
  }
  .benefit-item__title {
    font-size: 1.25rem
  }
  .benefit-item__text {
    font-size: .875rem
  }
  .process {
    padding: 3.75rem 0
  }
  .process__header {
    margin-bottom: 3.125rem
  }
  .process__title {
    font-size: 1.75rem
  }
  .process__subtitle {
    font-size: 1rem
  }
  .process-step {
    padding: 1.875rem
  }
  .process-step__icon {
    width: 5rem;
    height: 5rem;
    font-size: 2.5rem;
    margin-bottom: 1.5625rem
  }
  .process-step__title {
    font-size: 1.5rem;
    margin-bottom: .9375rem
  }
  .process-step__text {
    font-size: .9375rem
  }
  .pricing {
    padding: 3.75rem 0
  }
  .pricing__header {
    margin-bottom: 2.5rem
  }
  .pricing__title {
    font-size: 1.75rem
  }
  .pricing__subtitle {
    font-size: 1rem
  }
  .pricing__info {
    grid-template-columns: 1fr
  }
  .pricing__cta {
    padding: 1.875rem
  }
  .pricing__cta-text {
    font-size: 1rem
  }
  .pricing__cta-button {
    padding: .875rem 1.75rem;
    font-size: 1rem
  }
  .pricing-info-card {
    padding: 1.5625rem
  }
  .pricing-info-card__title {
    font-size: 1.25rem
  }
  .pricing-info-card__text {
    font-size: .875rem
  }
  .faq {
    padding: 3.75rem 0
  }
  .faq__header {
    margin-bottom: 2.5rem
  }
  .faq__title {
    font-size: 1.75rem
  }
  .faq__subtitle {
    font-size: 1rem
  }
  .faq-item__question {
    padding: 1.25rem 1.5625rem
  }
  .faq-item__title {
    font-size: 1.125rem
  }
  .faq-item__answer {
    padding: 0 1.5625rem
  }
  .faq-item.active .faq-item__answer {
    padding: 0 1.5625rem 1.25rem 1.5625rem
  }
  .faq-item__text {
    font-size: .9375rem
  }
  .contact-form {
    padding: 3.75rem 0
  }
  .contact-form__header {
    margin-bottom: 2.5rem
  }
  .contact-form__title {
    font-size: 1.75rem
  }
  .contact-form__subtitle {
    font-size: 1rem
  }
  .contact-form__form {
    padding: 1.875rem
  }
  .contact-form__row {
    grid-template-columns: 1fr
  }
  .contact-form__label {
    font-size: .875rem
  }
  .contact-form__input,
  .contact-form__textarea {
    padding: .75rem 1rem;
    font-size: .875rem
  }
  .contact-form__button {
    padding: .875rem 1.75rem;
    font-size: 1rem
  }
  .courses {
    padding: 3.75rem 0
  }
  .courses__header {
    margin-bottom: 3.125rem
  }
  .courses__title {
    font-size: 1.75rem
  }
  .courses__subtitle {
    font-size: 1rem
  }
  .course-card__header {
    padding: 1.5625rem;
    min-height: 6.875rem
  }
  .course-card__icon-box {
    width: 3.75rem;
    height: 3.75rem;
    font-size: 1.75rem
  }
  .course-card__number {
    font-size: 3.5rem
  }
  .course-card__body {
    padding: 1.5625rem
  }
  .course-card__title {
    font-size: 1.375rem
  }
  .course-card__description {
    font-size: .9375rem
  }
  .course-card__disclaimer {
    font-size: .8125rem;
    padding: .625rem .875rem
  }
  .course-feature {
    font-size: .875rem
  }
  .advantages {
    padding: 3.75rem 0
  }
  .advantages__title {
    font-size: 1.75rem
  }
  .advantages__text {
    font-size: 1rem
  }
  .advantages__stats {
    grid-template-columns: 1fr;
    gap: 1.5625rem
  }
  .advantages__stat-value {
    font-size: 2rem
  }
  .advantages__stat-label {
    font-size: .8125rem
  }
  .advantage-box {
    padding: 1.5625rem;
    flex-direction: column;
    text-align: center
  }
  .advantage-box__icon {
    width: 3.4375rem;
    height: 3.4375rem;
    font-size: 1.625rem;
    margin: 0 auto
  }
  .advantage-box__title {
    font-size: 1.125rem
  }
  .advantage-box__text {
    font-size: .875rem
  }
  .workflow {
    padding: 3.75rem 0
  }
  .workflow__header {
    margin-bottom: 3.125rem
  }
  .workflow__title {
    font-size: 1.75rem
  }
  .workflow__subtitle {
    font-size: 1rem
  }
  .workflow-step {
    padding: 1.5625rem;
    flex-direction: column;
    text-align: center;
    border-right: none;
    border-bottom: 4px solid var(--primary)
  }
  .workflow-step__icon {
    width: 4.375rem;
    height: 4.375rem;
    font-size: 2rem;
    margin: 0 auto
  }
  .workflow-step__title {
    font-size: 1.25rem
  }
  .workflow-step__text {
    font-size: .9375rem
  }
  .pricing__cards {
    grid-template-columns: 1fr
  }
  .pricing-card {
    padding: 1.5625rem
  }
  .pricing-card__title {
    font-size: 1.25rem
  }
  .pricing-card__text {
    font-size: .875rem
  }
  .modules {
    padding: 3.75rem 0
  }
  .modules__header {
    margin-bottom: 3.125rem
  }
  .modules__title {
    font-size: 1.75rem
  }
  .modules__subtitle {
    font-size: 1rem
  }
  .modules__list {
    gap: 2.5rem
  }
  .module-item__title {
    font-size: 1.5rem
  }
  .module-item__description {
    font-size: .9375rem
  }
  .module-item__note {
    font-size: .8125rem;
    padding: .625rem .875rem
  }
  .module-point {
    font-size: .875rem
  }
  .benefits {
    padding: 3.75rem 0
  }
  .benefits__intro {
    margin-bottom: 2.5rem
  }
  .benefits__title {
    font-size: 1.75rem
  }
  .benefits__subtitle {
    font-size: 1rem
  }
  .benefits__metrics {
    grid-template-columns: 1fr;
    gap: 1.5625rem;
    margin-bottom: 2.5rem
  }
  .benefits__grid {
    grid-template-columns: 1fr
  }
  .benefit-metric__value {
    font-size: 2.25rem
  }
  .benefit-metric__label {
    font-size: .875rem
  }
  .benefit-card {
    padding: 1.5625rem
  }
  .benefit-card__title {
    font-size: 1.25rem
  }
  .benefit-card__text {
    font-size: .875rem
  }
  .journey {
    padding: 3.75rem 0
  }
  .journey__header {
    margin-bottom: 2.5rem
  }
  .journey__title {
    font-size: 1.75rem
  }
  .journey__subtitle {
    font-size: 1rem
  }
  .journey__grid {
    grid-template-columns: 1fr
  }
  .journey-card {
    padding: 1.875rem
  }
  .journey-card__title {
    font-size: 1.25rem
  }
  .journey-card__text {
    font-size: .875rem
  }
}
@media (max-width:47.99875em)and (any-hover:none) {
  .icon-menu {
    cursor: default
  }
}
@media (any-hover:hover)and (max-width:47.99875em) {
  .workflow-step:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    border-bottom-color: var(--accent)
  }
}
@media (min-width:20em)and (max-width:75em) {
  section {
    padding-top: clamp(3.75rem ,2.8409090909rem + 4.5454545455vw ,6.25rem)
  }
  section {
    padding-bottom: clamp(3.75rem ,2.8409090909rem + 4.5454545455vw ,6.25rem)
  }
}
@media print {
  .d-print-inline {
    display: inline!important
  }
  .d-print-inline-block {
    display: inline-block!important
  }
  .d-print-block {
    display: block!important
  }
  .d-print-grid {
    display: grid!important
  }
  .d-print-inline-grid {
    display: inline-grid!important
  }
  .d-print-table {
    display: table!important
  }
  .d-print-table-row {
    display: table-row!important
  }
  .d-print-table-cell {
    display: table-cell!important
  }
  .d-print-flex {
    display: flex!important
  }
  .d-print-inline-flex {
    display: inline-flex!important
  }
  .d-print-none {
    display: none!important
  }
}
@media (any-hover:hover) {
  .post-card__link:hover {
    color: var(--accent)
  }
  .post-card__link:hover i {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }
  .hero__btn:hover {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover)
  }
  .hero__btn:hover i {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }
  .hero-feature:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover)
  }
  .about__side-card:hover {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
    box-shadow: var(--shadow-hover);
    border-left-color: var(--accent)
  }
  .feature-card:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover)
  }
  .advantage-tile:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--primary)
  }
  .contact-item:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover)
  }
  .contact-item__link:hover {
    color: var(--accent)
  }
  .contact-item__link:hover::after {
    width: 100%
  }
  .program-card:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover);
    border-color: var(--primary)
  }
  .benefit-item:hover {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
    box-shadow: var(--shadow-hover)
  }
  .process-step:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--accent)
  }
  .process-step:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
  }
  .pricing__cta-button:hover {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover)
  }
  .pricing__cta-button:hover i {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }
  .pricing-info-card:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover)
  }
  .faq-item:hover {
    box-shadow: var(--shadow-hover)
  }
  .faq-item__question:hover {
    background: var(--bg-accent)
  }
  .contact-form__link:hover {
    border-color: var(--primary)
  }
  .contact-form__button:hover {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover)
  }
  .contact-form__button:hover i {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
  }
  .course-card:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-left-color: var(--accent)
  }
  .advantages__stat:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover)
  }
  .advantage-box:hover {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--accent)
  }
  .workflow-step:hover {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
    box-shadow: var(--shadow-hover);
    border-right-color: var(--accent)
  }
  .pricing-card:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--accent)
  }
  .module-item:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--accent)
  }
  .benefit-metric:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-bottom-color: var(--accent)
  }
  .benefit-card:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: var(--primary)
  }
  .journey-card:hover {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover);
    border-top-color: var(--accent)
  }
}/* =========================
TEAM BLOCK – isolated styles
Applies ONLY to .team section
========================= */

.team {
  padding: 80px 0;
}

.team__container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}

.team__header {
  max-width: 760px;
  margin-bottom: 40px;
}

.team__badge {
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 10px;
}

.team__title {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  margin: 0 0 12px;
}

.team__subtitle {
  line-height: 1.6;
  opacity: 0.9;
}

/* GRID */
.team__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

/* CARD */
.team-card {
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

/* IMAGE WRAPPER – KEY PART */
.team-card__image {
  width: 100%;
  aspect-ratio: 4 / 5;          /* controls height */
  overflow: hidden;
  background: #f5f5f5;
}

/* IMAGE ITSELF */
.team-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;            /* crops nicely */
  object-position: center;
  display: block;
}

/* CONTENT */
.team-card__content {
  padding: 14px 14px 18px;
}

.team-card__name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 4px;
}

.team-card__role {
  font-size: 0.8rem;
  opacity: 0.75;
  margin: 0 0 8px;
}

.team-card__text {
  font-size: 0.85rem;
  line-height: 1.5;
  opacity: 0.9;
  margin: 0;
}

/* NOTE */
.team__note {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  font-size: 0.9rem;
  line-height: 1.5;
  opacity: 0.8;
  max-width: 900px;
}

/* =========================
RESPONSIVE
========================= */

@media (max-width: 1200px) {
  .team__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 800px) {
  .team__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .team__grid {
    grid-template-columns: 1fr;
  }

  .team {
    padding: 60px 0;
  }
}
