@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --clr-dark-plum: #240046;
  --clr-royal-violet: #7B2CBF;
  --clr-electric-pink: #FF4D8D;
  --clr-peach-glow: #FFB38A;
  --clr-soft-vanilla: #FFF4D6;
  --clr-plum-80: rgba(36, 0, 70, .8);
  --clr-plum-60: rgba(36, 0, 70, .6);
  --clr-plum-30: rgba(36, 0, 70, .3);
  --clr-plum-15: rgba(36, 0, 70, .15);
  --clr-plum-08: rgba(36, 0, 70, .08);
  --clr-plum-04: rgba(36, 0, 70, .04);
  --clr-violet-20: rgba(123, 44, 191, .2);
  --clr-violet-12: rgba(123, 44, 191, .12);
  --clr-violet-06: rgba(123, 44, 191, .06);
  --clr-pink-20: rgba(255, 77, 141, .2);
  --clr-peach-20: rgba(255, 179, 138, .2);
  --clr-bg: #FFF4D6;
  --clr-bg-subtle: #FFFBF0;
  --clr-bg-muted: #F5EBD0;
  --clr-bg-card: rgba(255, 252, 240, .94);
  --clr-bg-glass: rgba(255, 244, 214, .68);
  --clr-bg-dark: #240046;
  --clr-bg-dark2: #1a0033;
  --clr-text: #240046;
  --clr-text-2: #4A2070;
  --clr-text-muted: #7A5590;
  --clr-text-inv: #FFF4D6;
  --clr-primary: #7B2CBF;
  --clr-primary-h: #9D4EDD;
  --clr-primary-a: #5A189A;
  --clr-secondary: #FF4D8D;
  --clr-secondary-h: #FF6BA3;
  --clr-secondary-a: #E8356A;
  --clr-accent: #FFB38A;
  --clr-accent-h: #FFC9A8;
  --clr-border: rgba(123, 44, 191, .13);
  --clr-border-h: rgba(123, 44, 191, .3);
  --clr-border-focus: #7B2CBF;
  --clr-success: #22C55E;
  --clr-success-bg: rgba(34, 197, 94, .1);
  --clr-error: #EF4444;
  --clr-error-bg: rgba(239, 68, 68, .08);
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fz-xs: clamp(.688rem, 1.5vw, .75rem);
  --fz-sm: clamp(.813rem, 1.8vw, .875rem);
  --fz-base: clamp(.9375rem, 2vw, 1rem);
  --fz-md: clamp(1rem, 2.3vw, 1.125rem);
  --fz-lg: clamp(1.125rem, 2.8vw, 1.3125rem);
  --fz-xl: clamp(1.25rem, 3.2vw, 1.5rem);
  --fz-2xl: clamp(1.5rem, 4vw, 1.875rem);
  --fz-3xl: clamp(1.875rem, 5vw, 2.5rem);
  --fz-4xl: clamp(2.25rem, 6vw, 3.25rem);
  --fz-5xl: clamp(2.75rem, 7.5vw, 4.5rem);
  --fw-light: 300;
  --fw-reg: 400;
  --fw-med: 500;
  --fw-semi: 600;
  --fw-bold: 700;
  --fw-xbold: 800;
  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;
  --ls-tight: -.03em;
  --ls-norm: -.01em;
  --ls-wide: .05em;
  --ls-wider: .1em;
  --sp-1: .25rem;
  --sp-2: .5rem;
  --sp-3: .75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-7: 1.75rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-14: 3.5rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;
  --r-xs: .25rem;
  --r-sm: .5rem;
  --r-md: .875rem;
  --r-lg: 1.25rem;
  --r-xl: 1.875rem;
  --r-2xl: 3rem;
  --r-full: 9999px;
  --sh-xs: 0 1px 3px rgba(36, 0, 70, .06);
  --sh-sm: 0 2px 10px rgba(36, 0, 70, .09);
  --sh-md: 0 4px 22px rgba(36, 0, 70, .11);
  --sh-lg: 0 10px 42px rgba(36, 0, 70, .14);
  --sh-xl: 0 20px 64px rgba(36, 0, 70, .18);
  --sh-2xl: 0 30px 90px rgba(36, 0, 70, .22);
  --sh-gv: 0 0 28px rgba(123, 44, 191, .28), 0 0 60px rgba(123, 44, 191, .1);
  --sh-gp: 0 0 28px rgba(255, 77, 141, .28), 0 0 60px rgba(255, 77, 141, .1);
  --sh-card: 0 2px 12px rgba(36, 0, 70, .07), 0 8px 32px rgba(36, 0, 70, .08);
  --dur-f: 140ms;
  --dur-b: 280ms;
  --dur-s: 500ms;
  --dur-sl: 800ms;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --z-nav: 200;
  --z-modal: 300;
  --z-cookie: 400;
  --header-h: 70px;
  --cnt-max: 1280px;
  --cnt-narrow: 780px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  font-family: var(--font);
  font-size: var(--fz-base);
  font-weight: var(--fw-reg);
  line-height: var(--lh-normal);
  color: var(--clr-text);
  background: var(--clr-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-width: 320px
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur-f) var(--ease-out)
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
  font-size: inherit
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit
}

ul,
ol {
  list-style: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  font-weight: var(--fw-bold);
  color: var(--clr-text)
}

p {
  max-width: 65ch
}

::selection {
  background: rgba(123, 44, 191, .18);
  color: var(--clr-dark-plum)
}

:focus-visible {
  outline: 2px solid var(--clr-primary);
  outline-offset: 3px;
  border-radius: var(--r-sm)
}

.container {
  width: 100%;
  max-width: var(--cnt-max);
  margin-inline: auto;
  padding-inline: clamp(.875rem, 4vw, 2rem)
}

.container--narrow {
  max-width: var(--cnt-narrow)
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

.text-gradient {
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.text-gradient-warm {
  background: linear-gradient(135deg, var(--clr-electric-pink), var(--clr-peach-glow));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.section {
  padding-block: clamp(3rem, 8vw, 6rem)
}

.section--dark {
  background: var(--clr-bg-dark);
  color: var(--clr-text-inv)
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4 {
  color: var(--clr-text-inv)
}

.section--muted {
  background: var(--clr-bg-muted)
}

.section--subtle {
  background: var(--clr-bg-subtle)
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--clr-secondary);
  padding: .3em .9em;
  background: var(--clr-pink-20);
  border-radius: var(--r-full);
  margin-bottom: var(--sp-4)
}

.section-label--violet {
  color: var(--clr-primary);
  background: var(--clr-violet-20)
}

.section-label--peach {
  color: #9B4400;
  background: var(--clr-peach-20)
}

.section-title {
  font-size: var(--fz-4xl);
  font-weight: var(--fw-xbold);
  letter-spacing: var(--ls-tight);
  line-height: 1.1;
  margin-bottom: var(--sp-5)
}

.section-desc {
  font-size: var(--fz-md);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-10)
}

.section-header {
  margin-bottom: clamp(2.5rem, 6vw, 4rem)
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: .75em 1.75em;
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi);
  letter-spacing: .01em;
  border-radius: var(--r-full);
  border: 2px solid transparent;
  transition: transform var(--dur-f) var(--ease-spring), box-shadow var(--dur-b) var(--ease-out), background var(--dur-f), color var(--dur-f), border-color var(--dur-f);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  -webkit-user-select: none;
  user-select: none
}

.btn:active {
  transform: scale(.97) !important
}

.btn--primary {
  background: var(--clr-primary);
  color: #fff;
  border-color: var(--clr-primary)
}

.btn--primary:hover {
  background: var(--clr-primary-h);
  border-color: var(--clr-primary-h);
  box-shadow: var(--sh-gv);
  transform: translateY(-2px)
}

.btn--secondary {
  background: var(--clr-secondary);
  color: #fff;
  border-color: var(--clr-secondary)
}

.btn--secondary:hover {
  background: var(--clr-secondary-h);
  border-color: var(--clr-secondary-h);
  box-shadow: var(--sh-gp);
  transform: translateY(-2px)
}

.btn--outline {
  background: transparent;
  color: var(--clr-primary);
  border-color: var(--clr-primary)
}

.btn--outline:hover {
  background: var(--clr-primary);
  color: #fff;
  transform: translateY(-2px)
}

.btn--outline-light {
  background: transparent;
  color: var(--clr-text-inv);
  border-color: rgba(255, 244, 214, .45)
}

.btn--outline-light:hover {
  background: rgba(255, 244, 214, .12);
  border-color: rgba(255, 244, 214, .7);
  transform: translateY(-2px)
}

.btn--ghost {
  background: var(--clr-plum-08);
  color: var(--clr-text);
  border-color: transparent
}

.btn--ghost:hover {
  background: var(--clr-violet-12);
  color: var(--clr-primary);
  transform: translateY(-2px)
}

.btn--lg {
  padding: .9em 2.2em;
  font-size: var(--fz-base)
}

.btn--sm {
  padding: .5em 1.1em;
  font-size: var(--fz-xs)
}

.btn--full {
  width: 100%
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  padding: .25em .8em;
  border-radius: var(--r-full);
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: .02em
}

.badge--violet {
  background: var(--clr-violet-20);
  color: var(--clr-primary)
}

.badge--pink {
  background: var(--clr-pink-20);
  color: var(--clr-secondary-a)
}

.badge--peach {
  background: var(--clr-peach-20);
  color: #9B4400
}

.badge--light {
  background: rgba(255, 244, 214, .15);
  color: var(--clr-text-inv)
}

.card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-8);
  box-shadow: var(--sh-card);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b), border-color var(--dur-b);
  position: relative;
  overflow: hidden
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-lg);
  border-color: var(--clr-border-h)
}

.card--glass {
  background: var(--clr-bg-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-color: rgba(255, 244, 214, .4)
}

.card--dark {
  background: rgba(255, 244, 214, .05);
  border-color: rgba(255, 244, 214, .12)
}

.card--dark .card__title,
.card--dark .card__text {
  color: var(--clr-text-inv)
}

.card--dark .card__text {
  color: rgba(255, 244, 214, .7)
}

.card__icon {
  width: 3rem;
  height: 3rem;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: var(--sp-5);
  flex-shrink: 0
}

.card__icon--violet {
  background: var(--clr-violet-20);
  color: var(--clr-primary)
}

.card__icon--pink {
  background: var(--clr-pink-20);
  color: var(--clr-secondary)
}

.card__icon--peach {
  background: var(--clr-peach-20);
  color: #9B4400
}

.card__title {
  font-size: var(--fz-lg);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-3);
  color: var(--clr-text)
}

.card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.card__link {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi);
  color: var(--clr-primary);
  margin-top: var(--sp-5);
  transition: gap var(--dur-f)
}

.card__link:hover {
  gap: var(--sp-3)
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  height: var(--header-h);
  display: flex;
  align-items: center;
  background: rgba(255, 244, 214, .88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid transparent;
  transition: background var(--dur-b), border-color var(--dur-b), box-shadow var(--dur-b)
}

.site-header.is-scrolled {
  background: rgba(255, 244, 214, .97);
  border-color: var(--clr-border);
  box-shadow: var(--sh-sm)
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-6);
  width: 100%
}

.header-brand {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  text-decoration: none;
  flex-shrink: 0
}

.header-brand__logo {
  width: 36px;
  height: 36px;
  border-radius: var(--r-md);
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  font-weight: var(--fw-xbold);
  box-shadow: var(--sh-gv);
  flex-shrink: 0
}

.header-brand__name {
  font-size: clamp(.8rem, 2vw, .9375rem);
  font-weight: var(--fw-xbold);
  color: var(--clr-text);
  letter-spacing: -.02em;
  line-height: 1
}

.nav {
  display: flex;
  align-items: center;
  gap: var(--sp-1)
}

.nav__link {
  padding: .45em .85em;
  border-radius: var(--r-full);
  font-size: var(--fz-sm);
  font-weight: var(--fw-med);
  color: var(--clr-text-2);
  transition: color var(--dur-f), background var(--dur-f);
  white-space: nowrap
}

.nav__link:hover,
.nav__link.is-active {
  color: var(--clr-primary);
  background: var(--clr-violet-06)
}

.header-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-shrink: 0
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-md);
  transition: background var(--dur-f);
  padding: .35rem
}

.nav-toggle:hover {
  background: var(--clr-plum-08)
}

.nav-toggle__bar {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--clr-text);
  border-radius: 2px;
  transition: transform var(--dur-b) var(--ease-out), opacity var(--dur-f), width var(--dur-b)
}

.nav-overlay {
  display: none;
  position: fixed;
  background: rgba(36, 0, 70, .4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: calc(var(--z-nav) - 1);
  opacity: 0;
  transition: opacity var(--dur-b)
}

.nav-overlay.is-visible {
  opacity: 1
}

.site-footer {
  background: var(--clr-bg-dark);
  color: var(--clr-text-inv);
  padding-top: var(--sp-16);
  padding-bottom: var(--sp-8)
}

.footer-top {
  display: grid;
  gap: var(--sp-10);
  margin-bottom: var(--sp-12)
}

.footer-brand__tagline {
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .6);
  line-height: var(--lh-relaxed);
  margin-top: var(--sp-4);
  max-width: 28ch
}

.footer-col h4 {
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: rgba(255, 244, 214, .45);
  margin-bottom: var(--sp-5)
}

.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

.footer-col a {
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .72);
  transition: color var(--dur-f)
}

.footer-col a:hover {
  color: var(--clr-peach-glow)
}

.footer-bottom {
  border-top: 1px solid rgba(255, 244, 214, .1);
  padding-top: var(--sp-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4)
}

.footer-copyright {
  font-size: var(--fz-xs);
  color: rgba(255, 244, 214, .42)
}

.footer-policies {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4)
}

.footer-policies a {
  font-size: var(--fz-xs);
  color: rgba(255, 244, 214, .48);
  transition: color var(--dur-f)
}

.footer-policies a:hover {
  color: var(--clr-soft-vanilla)
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .72);
  margin-bottom: var(--sp-3)
}

.footer-contact-item i {
  color: var(--clr-peach-glow);
  font-size: .9375rem;
  margin-top: .15em;
  flex-shrink: 0
}

.hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem, 10vw, 8rem)
}

.hero--home {
  min-height: calc(100svh - var(--header-h));
  display: flex;
  align-items: center;
  background: var(--clr-bg);
  padding-block: clamp(3rem, 8vw, 6rem)
}

.hero__deco {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(80px);
  opacity: .25
}

.hero__deco--1 {
  width: clamp(250px, 45vw, 560px);
  height: clamp(250px, 45vw, 560px);
  background: radial-gradient(circle, var(--clr-royal-violet), transparent 70%);
  top: -15%;
  right: -8%;
  animation: floatA 12s ease-in-out infinite
}

.hero__deco--2 {
  width: clamp(180px, 30vw, 400px);
  height: clamp(180px, 30vw, 400px);
  background: radial-gradient(circle, var(--clr-electric-pink), transparent 70%);
  bottom: -8%;
  left: -5%;
  animation: floatB 15s ease-in-out infinite
}

.hero__deco--3 {
  width: clamp(120px, 20vw, 280px);
  height: clamp(120px, 20vw, 280px);
  background: radial-gradient(circle, var(--clr-peach-glow), transparent 70%);
  top: 30%;
  left: 38%;
  animation: floatC 10s ease-in-out infinite;
  opacity: .18
}

.hero__split {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem)
}

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

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--clr-secondary);
  margin-bottom: var(--sp-5)
}

.hero__eyebrow::before {
  content: '';
  display: block;
  width: 1.5rem;
  height: 2px;
  background: var(--clr-secondary);
  border-radius: 2px
}

.hero__title {
  font-size: var(--fz-5xl);
  font-weight: var(--fw-xbold);
  line-height: 1.05;
  letter-spacing: var(--ls-tight);
  margin-bottom: var(--sp-6);
  max-width: 14ch
}

.hero__desc {
  font-size: var(--fz-md);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-8);
  max-width: 48ch
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3)
}

.hero__trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-4);
  margin-top: var(--sp-8)
}

.hero__trust-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fz-xs);
  color: var(--clr-text-muted);
  font-weight: var(--fw-med)
}

.hero__trust-item i {
  color: var(--clr-secondary);
  font-size: .875rem
}

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

.hero__orb-wrap {
  border-radius: var(--r-2xl);
  overflow: hidden;
  position: relative;
  aspect-ratio: 1;
  max-width: 420px;
  margin-inline: auto
}

.hero__orb {
  width: 100%;
  height: 100%;
  border-radius: var(--r-2xl);
  background: linear-gradient(135deg, var(--clr-royal-violet) 0%, var(--clr-electric-pink) 55%, var(--clr-peach-glow) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--sh-xl), var(--sh-gv);
  position: relative;
  overflow: hidden
}

.hero__orb::before {
  content: '';
  position: absolute;
  inset: -20%;
  background: conic-gradient(from 0deg, transparent 0%, rgba(255, 244, 214, .08) 25%, transparent 50%, rgba(255, 244, 214, .06) 75%, transparent 100%);
  animation: spin 20s linear infinite
}

.hero__orb::after {
  content: '';
  position: absolute;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background: rgba(255, 244, 214, .12);
  filter: blur(20px)
}

.hero__orb-icon {
  font-size: clamp(4rem, 15vw, 8rem);
  color: rgba(255, 244, 214, .88);
  position: relative;
  z-index: 1
}

.hero__floating-badge {
  position: absolute;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-3) var(--sp-4);
  box-shadow: var(--sh-md);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  color: var(--clr-text);
  white-space: nowrap
}

.hero__floating-badge i {
  color: var(--clr-primary)
}

.hero__floating-badge--1 {
  bottom: 10%;
  left: -5%;
  animation: floatC 6s ease-in-out infinite
}

.hero__floating-badge--2 {
  top: 12%;
  right: -5%;
  animation: floatA 8s ease-in-out infinite
}

.hero--inner {
  padding-block: clamp(3rem, 7vw, 5rem);
  background: linear-gradient(150deg, var(--clr-bg-dark) 0%, var(--clr-bg-dark2) 100%);
  overflow: hidden
}

.hero--inner .hero__title {
  font-size: var(--fz-4xl);
  color: var(--clr-text-inv)
}

.hero--inner .hero__desc {
  color: rgba(255, 244, 214, .68)
}

.hero--inner .hero__eyebrow {
  color: var(--clr-peach-glow)
}

.hero--inner .hero__eyebrow::before {
  background: var(--clr-peach-glow)
}

.hero-date {
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .5);
  margin-top: var(--sp-5);
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2)
}

.hero-date i {
  color: var(--clr-peach-glow);
  font-size: .875rem
}

.stats {
  padding-block: clamp(2rem, 5vw, 3.5rem);
  border-top: 1px solid var(--clr-border);
  border-bottom: 1px solid var(--clr-border)
}

.stats__grid {
  display: grid;
  gap: var(--sp-6)
}

.stats__item {
  text-align: center;
  padding: var(--sp-4) var(--sp-2);
  position: relative
}

.stats__item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: var(--clr-border)
}

.stats__num {
  font-size: var(--fz-3xl);
  font-weight: var(--fw-xbold);
  letter-spacing: var(--ls-tight);
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  display: block;
  margin-bottom: var(--sp-2)
}

.stats__label {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  font-weight: var(--fw-med)
}

.services__grid {
  display: grid;
  gap: var(--sp-6)
}

.service-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  padding: var(--sp-8) var(--sp-7);
  border-radius: var(--r-lg);
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b), border-color var(--dur-b);
  box-shadow: var(--sh-sm);
  position: relative;
  overflow: hidden
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--r-sm) var(--r-sm) 0 0;
  background: linear-gradient(90deg, var(--clr-royal-violet), var(--clr-electric-pink));
  opacity: 0;
  transition: opacity var(--dur-b)
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-lg);
  border-color: var(--clr-border-h)
}

.service-card:hover::before {
  opacity: 1
}

.service-card__num {
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: var(--ls-wider);
  color: var(--clr-text-muted);
  text-transform: uppercase
}

.service-card__icon {
  width: 3rem;
  height: 3rem;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: var(--sp-2)
}

.service-card__title {
  font-size: var(--fz-xl);
  font-weight: var(--fw-bold);
  color: var(--clr-text)
}

.service-card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.philosophy {
  overflow: hidden
}

.philosophy__inner {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center
}

.philosophy__visual {
  order: -1;
  position: relative
}

.philosophy__bg-shape {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--r-2xl);
  background: linear-gradient(135deg, var(--clr-royal-violet) 0%, var(--clr-dark-plum) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--sh-xl)
}

.philosophy__bg-shape::before {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  border-radius: 50%;
  background: rgba(255, 77, 141, .12);
  filter: blur(40px)
}

.philosophy__bg-shape::after {
  content: '';
  position: absolute;
  bottom: -20%;
  right: -20%;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background: rgba(255, 179, 138, .1);
  filter: blur(30px)
}

.philosophy__icon-wrap {
  position: relative;
  z-index: 1;
  text-align: center
}

.philosophy__icon-wrap i {
  font-size: clamp(4rem, 12vw, 8rem);
  color: rgba(255, 244, 214, .85);
  display: block
}

.philosophy__pillars {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4)
}

.pillar {
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: var(--clr-plum-04);
  border: 1px solid var(--clr-border);
  transition: background var(--dur-b), border-color var(--dur-b)
}

.pillar:hover {
  background: var(--clr-violet-06);
  border-color: var(--clr-border-h)
}

.pillar__icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--r-md);
  background: var(--clr-violet-20);
  color: var(--clr-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0
}

.pillar__title {
  font-size: var(--fz-sm);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-1);
  color: var(--clr-text)
}

.pillar__text {
  font-size: var(--fz-xs);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.how-it-works {
  background: var(--clr-bg-dark)
}

.how-it-works .section-title {
  color: var(--clr-text-inv)
}

.how-it-works .section-desc {
  color: rgba(255, 244, 214, .62)
}

.steps {
  display: grid;
  gap: var(--sp-6)
}

.step {
  position: relative
}

.step__num {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fz-lg);
  font-weight: var(--fw-xbold);
  color: #fff;
  box-shadow: var(--sh-gv);
  flex-shrink: 0;
  margin-bottom: var(--sp-5)
}

.step__title {
  font-size: var(--fz-lg);
  font-weight: var(--fw-bold);
  color: var(--clr-text-inv);
  margin-bottom: var(--sp-2)
}

.step__text {
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .62);
  line-height: var(--lh-relaxed)
}

.program-feature {
  overflow: hidden
}

.program-feature__inner {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem)
}

.program-feature__visual {
  border-radius: var(--r-xl);
  overflow: hidden;
  position: relative;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--clr-royal-violet) 0%, var(--clr-electric-pink) 55%, var(--clr-peach-glow) 100%);
  box-shadow: var(--sh-xl);
  display: flex;
  align-items: center;
  justify-content: center
}

.program-feature__visual::before {
  content: '';
  position: absolute;
  width: 70%;
  height: 70%;
  border-radius: 50%;
  background: rgba(255, 244, 214, .07);
  filter: blur(30px)
}

.program-feature__visual-icon {
  font-size: clamp(4rem, 12vw, 7rem);
  color: rgba(255, 244, 214, .78);
  position: relative;
  z-index: 1
}

.program-feature__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  margin-block: var(--sp-6)
}

.program-feature__item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  font-size: var(--fz-sm);
  color: var(--clr-text-muted)
}

.program-feature__item i {
  color: var(--clr-primary);
  font-size: .875rem;
  margin-top: .2em;
  flex-shrink: 0
}

.testimonials__grid {
  display: grid;
  gap: var(--sp-6)
}

.testi-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-7);
  box-shadow: var(--sh-sm);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b)
}

.testi-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--sh-md)
}

.testi-card__quote {
  font-size: 2rem;
  line-height: 1;
  color: var(--clr-primary);
  opacity: .4;
  margin-bottom: var(--sp-4);
  font-family: Georgia, serif
}

.testi-card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-2);
  line-height: var(--lh-relaxed);
  font-style: italic;
  margin-bottom: var(--sp-5)
}

.testi-card__author {
  display: flex;
  align-items: center;
  gap: var(--sp-3)
}

.testi-card__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .875rem;
  font-weight: var(--fw-bold);
  flex-shrink: 0
}

.testi-card__name {
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi);
  color: var(--clr-text)
}

.testi-card__role {
  font-size: var(--fz-xs);
  color: var(--clr-text-muted)
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  max-width: var(--cnt-narrow);
  margin-inline: auto
}

.faq__item {
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--dur-b), box-shadow var(--dur-b);
  background: var(--clr-bg-card)
}

.faq__item.is-open {
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 1px var(--clr-primary), var(--sh-sm)
}

.faq__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-5) var(--sp-6);
  font-size: var(--fz-md);
  font-weight: var(--fw-semi);
  color: var(--clr-text);
  text-align: left;
  cursor: pointer;
  transition: color var(--dur-f);
  background: transparent;
  border: none;
  font-family: inherit
}

.faq__trigger:hover {
  color: var(--clr-primary)
}

.faq__trigger i {
  font-size: 1.1rem;
  color: var(--clr-primary);
  transition: transform var(--dur-b) var(--ease-spring);
  flex-shrink: 0
}

.faq__item.is-open .faq__trigger i {
  transform: rotate(45deg)
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--dur-s) var(--ease-io)
}

.faq__answer-inner {
  padding: 0 var(--sp-6) var(--sp-6);
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.cta-section {
  background: linear-gradient(135deg, var(--clr-dark-plum) 0%, #3D0066 50%, var(--clr-dark-plum) 100%);
  position: relative;
  overflow: hidden;
  text-align: center
}

.cta-section__deco {
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(60px)
}

.cta-section__deco--1 {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(123, 44, 191, .4), transparent);
  top: -20%;
  left: -5%
}

.cta-section__deco--2 {
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(255, 77, 141, .3), transparent);
  bottom: -15%;
  right: 5%
}

.cta-section .section-title {
  color: var(--clr-text-inv)
}

.cta-section .section-desc {
  color: rgba(255, 244, 214, .68);
  margin-inline: auto
}

.cta-section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  justify-content: center
}

.edu-grid {
  display: grid;
  gap: var(--sp-5)
}

.edu-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b);
  box-shadow: var(--sh-xs)
}

.edu-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-lg)
}

.edu-card__top {
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden
}

.edu-card__top i {
  font-size: 3.25rem;
  position: relative;
  z-index: 1
}

.edu-card__body {
  padding: var(--sp-5) var(--sp-6)
}

.edu-card__tag {
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: var(--sp-2)
}

.edu-card__title {
  font-size: var(--fz-md);
  font-weight: var(--fw-bold);
  color: var(--clr-text);
  margin-bottom: var(--sp-2)
}

.edu-card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.split-section__inner {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem)
}

.split-section__bg {
  aspect-ratio: 5/4;
  border-radius: var(--r-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--sh-lg)
}

.split-section__bg i {
  font-size: clamp(4rem, 10vw, 7rem);
  position: relative;
  z-index: 1;
  opacity: .78
}

.split-section__list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  margin-block: var(--sp-6)
}

.split-section__item {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  font-size: var(--fz-sm);
  color: var(--clr-text-muted)
}

.split-section__item i {
  color: var(--clr-primary);
  margin-top: .2em;
  flex-shrink: 0
}

.pillar-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-7);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b);
  box-shadow: var(--sh-xs);
  text-align: center
}

.pillar-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md)
}

.pillar-card__icon {
  width: 4rem;
  height: 4rem;
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  margin: 0 auto var(--sp-5)
}

.pillar-card__title {
  font-size: var(--fz-md);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-3);
  color: var(--clr-text)
}

.pillar-card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.timeline {
  display: flex;
  flex-direction: column;
  gap: 0
}

.timeline__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-4);
  padding-bottom: var(--sp-8);
  position: relative;
  align-items: flex-start
}

.timeline__item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 1.1875rem;
  top: 2.6rem;
  width: 2px;
  height: calc(100% - 2rem);
  background: linear-gradient(to bottom, var(--clr-royal-violet), transparent)
}

.timeline__dot {
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .8125rem;
  flex-shrink: 0;
  box-shadow: var(--sh-gv)
}

.timeline__body {
  padding-top: .2rem
}

.timeline__title {
  font-size: var(--fz-md);
  font-weight: var(--fw-bold);
  color: var(--clr-text);
  margin-bottom: var(--sp-2)
}

.timeline__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.form__group {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  margin-bottom: var(--sp-5)
}

.form__label {
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi);
  color: var(--clr-text)
}

.form__label span {
  color: var(--clr-secondary)
}

.form__input,
.form__textarea {
  width: 100%;
  padding: .75em 1em;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-md);
  background: var(--clr-bg-subtle);
  color: var(--clr-text);
  font-size: var(--fz-base);
  transition: border-color var(--dur-f), box-shadow var(--dur-f);
  outline: none;
  appearance: none
}

.form__input::placeholder,
.form__textarea::placeholder {
  color: var(--clr-text-muted);
  opacity: .65
}

.form__input:hover,
.form__textarea:hover {
  border-color: var(--clr-border-h)
}

.form__input:focus,
.form__textarea:focus {
  border-color: var(--clr-border-focus);
  box-shadow: 0 0 0 3px rgba(123, 44, 191, .12)
}

.form__input.has-error,
.form__textarea.has-error {
  border-color: var(--clr-error);
  box-shadow: 0 0 0 3px var(--clr-error-bg)
}

.form__input.has-success,
.form__textarea.has-success {
  border-color: var(--clr-success);
  box-shadow: 0 0 0 3px var(--clr-success-bg)
}

.form__textarea {
  resize: vertical;
  min-height: 140px
}

.form__error {
  font-size: var(--fz-xs);
  color: var(--clr-error);
  min-height: 1.2em;
  margin-top: var(--sp-1)
}

.form__checkbox-wrap {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5)
}

.form__checkbox {
  width: 1.1rem;
  height: 1.1rem;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-xs);
  accent-color: var(--clr-primary);
  flex-shrink: 0;
  margin-top: .15em;
  cursor: pointer
}

.form__checkbox-label {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.form__checkbox-label a {
  color: var(--clr-primary);
  font-weight: var(--fw-med)
}

.form__checkbox-label a:hover {
  color: var(--clr-primary-h)
}

.contact-grid {
  display: grid;
  gap: var(--sp-10)
}

.contact-form-wrap {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  padding: clamp(1.5rem, 5vw, 3rem);
  box-shadow: var(--sh-lg)
}

.contact-form-title {
  font-size: var(--fz-2xl);
  font-weight: var(--fw-bold);
  margin-bottom: var(--sp-2)
}

.contact-form-desc {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  margin-bottom: var(--sp-8)
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4)
}

.contact-info-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-5) var(--sp-6);
  display: flex;
  gap: var(--sp-4);
  align-items: flex-start;
  box-shadow: var(--sh-xs);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b)
}

.contact-info-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--sh-sm)
}

.contact-info-card__icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--r-md);
  background: linear-gradient(135deg, var(--clr-violet-20), var(--clr-pink-20));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-primary);
  font-size: 1.1rem;
  flex-shrink: 0
}

.contact-info-card__title {
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  color: var(--clr-text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: var(--sp-1)
}

.contact-info-card__value {
  font-size: var(--fz-sm);
  color: var(--clr-text)
}

.contact-info-card__value a {
  color: var(--clr-primary);
  transition: color var(--dur-f)
}

.contact-info-card__value a:hover {
  color: var(--clr-primary-h)
}

.info-section {
  padding-block: clamp(3.5rem, 8vw, 6rem)
}

.info-section h2 {
  font-size: var(--fz-2xl);
  font-weight: var(--fw-bold);
  margin-top: var(--sp-10);
  margin-bottom: var(--sp-4)
}

.info-section h3 {
  font-size: var(--fz-lg);
  font-weight: var(--fw-semi);
  margin-top: var(--sp-7);
  margin-bottom: var(--sp-3)
}

.info-section p {
  font-size: var(--fz-sm);
  color: var(--clr-text-2);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-4);
  max-width: none
}

.info-section ul,
.info-section ol {
  padding-left: var(--sp-5);
  margin-bottom: var(--sp-4)
}

.info-section li {
  font-size: var(--fz-sm);
  color: var(--clr-text-2);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-2)
}

.info-section ul li::marker {
  color: var(--clr-primary)
}

.info-section a {
  color: var(--clr-primary);
  font-weight: var(--fw-med)
}

.info-section a:hover {
  color: var(--clr-primary-h)
}

.info-section__inner {
  max-width: var(--cnt-narrow);
  margin-inline: auto
}

.policy-box {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  padding: var(--sp-6);
  margin-bottom: var(--sp-6);
  box-shadow: var(--sh-xs)
}

.thankyou {
  min-height: calc(100svh - var(--header-h) - 180px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: var(--sp-20)
}

.thankyou__icon {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-royal-violet), var(--clr-electric-pink));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--sp-6);
  color: #fff;
  font-size: 2rem;
  box-shadow: var(--sh-gv);
  animation: popIn .6s var(--ease-spring) both
}

.thankyou__title {
  font-size: var(--fz-3xl);
  font-weight: var(--fw-xbold);
  margin-bottom: var(--sp-4)
}

.thankyou__text {
  font-size: var(--fz-md);
  color: var(--clr-text-muted);
  max-width: 42ch;
  margin-inline: auto;
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-8)
}

.thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  justify-content: center
}

.routine-grid {
  display: grid;
  gap: var(--sp-6)
}

.routine-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b)
}

.routine-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-lg)
}

.routine-card__header {
  padding: var(--sp-6) var(--sp-7);
  display: flex;
  align-items: center;
  gap: var(--sp-4)
}

.routine-card__icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0
}

.routine-card__time {
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: var(--sp-1)
}

.routine-card__title {
  font-size: var(--fz-md);
  font-weight: var(--fw-bold)
}

.routine-card__body {
  padding: 0 var(--sp-7) var(--sp-7)
}

.routine-card__text {
  font-size: var(--fz-sm);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--sp-4)
}

.routine-card__items {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

.routine-card__item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fz-sm);
  color: var(--clr-text-2)
}

.routine-card__item i {
  font-size: .875rem;
  color: var(--clr-primary);
  flex-shrink: 0
}

.challenge-section {
  background: linear-gradient(135deg, var(--clr-dark-plum), #3a0070);
  color: var(--clr-text-inv);
  overflow: hidden;
  position: relative
}

.challenge-section .section-title,
.challenge-section p {
  color: var(--clr-text-inv)
}

.challenge-section .section-desc {
  color: rgba(255, 244, 214, .68)
}

.challenge-grid {
  display: grid;
  gap: var(--sp-4)
}

.challenge-day {
  background: rgba(255, 244, 214, .05);
  border: 1px solid rgba(255, 244, 214, .1);
  border-radius: var(--r-lg);
  padding: var(--sp-5) var(--sp-6);
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  transition: background var(--dur-b), border-color var(--dur-b)
}

.challenge-day:hover {
  background: rgba(255, 244, 214, .08);
  border-color: rgba(255, 244, 214, .18)
}

.challenge-day__num {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-electric-pink), var(--clr-peach-glow));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fz-sm);
  font-weight: var(--fw-bold);
  color: #fff;
  flex-shrink: 0
}

.challenge-day__title {
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi);
  color: var(--clr-text-inv);
  margin-bottom: var(--sp-1)
}

.challenge-day__text {
  font-size: var(--fz-xs);
  color: rgba(255, 244, 214, .6);
  line-height: var(--lh-relaxed)
}

.programs-grid {
  display: grid;
  gap: var(--sp-6)
}

.prog-card {
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  transition: transform var(--dur-b) var(--ease-spring), box-shadow var(--dur-b)
}

.prog-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-xl)
}

.prog-card__top {
  padding: var(--sp-8) var(--sp-7) var(--sp-6);
  background: linear-gradient(135deg, var(--clr-dark-plum), #3a0070)
}

.prog-card__title {
  font-size: var(--fz-xl);
  font-weight: var(--fw-bold);
  color: var(--clr-text-inv);
  margin-bottom: var(--sp-3);
  margin-top: var(--sp-3)
}

.prog-card__desc {
  font-size: var(--fz-sm);
  color: rgba(255, 244, 214, .68);
  line-height: var(--lh-relaxed)
}

.prog-card__body {
  padding: var(--sp-6) var(--sp-7)
}

.prog-card__features {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin-bottom: var(--sp-6)
}

.prog-card__feature {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: var(--fz-sm);
  color: var(--clr-text-2)
}

.prog-card__feature i {
  color: var(--clr-primary);
  flex-shrink: 0
}

.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--z-cookie);
  padding: var(--sp-4) var(--sp-5);
  background: rgba(36, 0, 70, .97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255, 244, 214, .12);
  box-shadow: 0 -8px 40px rgba(36, 0, 70, .45);
  transform: translateY(100%);
  transition: transform var(--dur-s) var(--ease-out);
  will-change: transform
}

.cookie-banner.is-visible {
  transform: translateY(0)
}

.cookie-banner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--sp-4);
  max-width: var(--cnt-max);
  margin-inline: auto
}

.cookie-banner__text {
  flex: 1;
  min-width: min(230px, 100%)
}

.cookie-banner__title {
  font-size: var(--fz-sm);
  font-weight: var(--fw-bold);
  color: var(--clr-text-inv);
  margin-bottom: var(--sp-2)
}

.cookie-banner__desc {
  font-size: var(--fz-xs);
  color: rgba(255, 244, 214, .62);
  line-height: var(--lh-relaxed)
}

.cookie-banner__desc a {
  color: var(--clr-peach-glow)
}

.cookie-banner__desc a:hover {
  color: var(--clr-accent-h)
}

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  align-items: center;
  flex-shrink: 0
}

.c-btn {
  padding: .5em 1.1em;
  border-radius: var(--r-full);
  font-size: var(--fz-xs);
  font-weight: var(--fw-semi);
  border: 1.5px solid transparent;
  cursor: pointer;
  font-family: inherit;
  transition: background var(--dur-f), color var(--dur-f), border-color var(--dur-f), transform var(--dur-f) var(--ease-spring)
}

.c-btn:active {
  transform: scale(.97)
}

.c-btn--accept {
  background: var(--clr-secondary);
  color: #fff;
  border-color: var(--clr-secondary)
}

.c-btn--accept:hover {
  background: var(--clr-secondary-h);
  border-color: var(--clr-secondary-h)
}

.c-btn--reject {
  background: transparent;
  color: rgba(255, 244, 214, .72);
  border-color: rgba(255, 244, 214, .22)
}

.c-btn--reject:hover {
  color: var(--clr-text-inv);
  border-color: rgba(255, 244, 214, .45)
}

.c-btn--settings {
  background: transparent;
  color: var(--clr-peach-glow);
  border-color: transparent;
  text-decoration: underline;
  padding-inline: .5em
}

.c-btn--settings:hover {
  color: var(--clr-accent-h)
}

.cookie-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: var(--sp-4);
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-b)
}

.cookie-modal.is-visible {
  opacity: 1;
  pointer-events: all
}

.cookie-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(36, 0, 70, .58);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px)
}

.cookie-modal__box {
  position: relative;
  background: var(--clr-bg-card);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--sh-2xl);
  transform: translateY(20px);
  transition: transform var(--dur-b) var(--ease-out)
}

.cookie-modal.is-visible .cookie-modal__box {
  transform: translateY(0)
}

.cookie-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-5)
}

.cookie-modal__title {
  font-size: var(--fz-lg);
  font-weight: var(--fw-bold)
}

.cookie-modal__close {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--clr-plum-08);
  color: var(--clr-text);
  transition: background var(--dur-f);
  font-size: 1rem;
  border: none;
  cursor: pointer;
  font-family: inherit
}

.cookie-modal__close:hover {
  background: var(--clr-plum-15)
}

.cookie-category {
  padding: var(--sp-5);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  margin-bottom: var(--sp-3)
}

.cookie-category__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-2)
}

.cookie-category__name {
  font-size: var(--fz-sm);
  font-weight: var(--fw-semi)
}

.cookie-category__desc {
  font-size: var(--fz-xs);
  color: var(--clr-text-muted);
  line-height: var(--lh-relaxed)
}

.toggle-wrap {
  display: flex;
  align-items: center;
  gap: var(--sp-2)
}

.toggle {
  position: relative;
  width: 2.75rem;
  height: 1.5rem;
  flex-shrink: 0;
  display: inline-block
}

.toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute
}

.toggle__slider {
  position: absolute;
  inset: 0;
  background: var(--clr-plum-15);
  border-radius: var(--r-full);
  cursor: pointer;
  transition: background var(--dur-f)
}

.toggle__slider::before {
  content: '';
  position: absolute;
  width: 1.125rem;
  height: 1.125rem;
  left: .1875rem;
  top: .1875rem;
  border-radius: 50%;
  background: #fff;
  transition: transform var(--dur-f) var(--ease-spring)
}

.toggle input:checked+.toggle__slider {
  background: var(--clr-primary)
}

.toggle input:checked+.toggle__slider::before {
  transform: translateX(1.25rem)
}

.toggle input:disabled+.toggle__slider {
  opacity: .5;
  cursor: not-allowed
}

.toggle-label {
  font-size: var(--fz-xs);
  color: var(--clr-text-muted)
}

.cookie-modal__save {
  margin-top: var(--sp-5)
}

[data-animate] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity var(--dur-sl) var(--ease-out), transform var(--dur-sl) var(--ease-out)
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0)
}

[data-animate="fade-left"] {
  transform: translateX(-22px)
}

[data-animate="fade-left"].is-visible {
  transform: translateX(0)
}

[data-animate="fade-right"] {
  transform: translateX(22px)
}

[data-animate="fade-right"].is-visible {
  transform: translateX(0)
}

[data-animate="scale"] {
  transform: scale(.96);
  opacity: 0
}

[data-animate="scale"].is-visible {
  transform: scale(1);
  opacity: 1
}

[data-animate="fade"] {
  transform: none
}

@keyframes floatA {

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

  33% {
    transform: translate(-18px, 14px) scale(1.04)
  }

  66% {
    transform: translate(14px, -9px) scale(.97)
  }
}

@keyframes floatB {

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

  33% {
    transform: translate(18px, -14px) scale(1.03)
  }

  66% {
    transform: translate(-9px, 9px) scale(.98)
  }
}

@keyframes floatC {

  0%,
  100% {
    transform: translate(0, 0)
  }

  50% {
    transform: translate(9px, -11px)
  }
}

@keyframes pulse {

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

  50% {
    transform: scale(1.12);
    opacity: .22
  }
}

@keyframes popIn {
  0% {
    transform: scale(0);
    opacity: 0
  }

  75% {
    transform: scale(1.1)
  }

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

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

@media (max-width:767px) {
  .nav-toggle {
    display: flex
  }

  .nav-overlay {
    display: block
  }

  .header-actions .btn {
    display: none
  }

  .nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(300px, 85vw);
    background: var(--clr-bg-dark);
    flex-direction: column;
    align-items: flex-start;
    padding: calc(var(--header-h) + var(--sp-6)) var(--sp-6) var(--sp-6);
    gap: var(--sp-1);
    z-index: var(--z-nav);
    transform: translateX(100%);
    transition: transform var(--dur-s) var(--ease-out);
    overflow-y: auto
  }

  .nav.is-open {
    height: 100vh;
    transform: translateX(0)
  }

  .nav__link {
    width: 100%;
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--r-md);
    font-size: var(--fz-md);
    color: rgba(255, 244, 214, .78)
  }

  .nav__link:hover,
  .nav__link.is-active {
    color: var(--clr-soft-vanilla);
    background: rgba(255, 244, 214, .08)
  }

  body.nav-open {
    overflow: hidden
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px)
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
    opacity: 0;
    width: 0
  }

  .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px)
  }

  .philosophy__visual {
    order: -1
  }

  .pillar-card {
    text-align: left
  }

  .pillar-card__icon {
    margin-left: 0
  }

  .contact-grid {
    grid-template-columns: 1fr
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr)
  }

  .footer-bottom {
    flex-direction: column;
    gap: var(--sp-3);
    text-align: center
  }

  .footer-policies {
    justify-content: center
  }

  .hero__split {
    grid-template-columns: 1fr
  }

  .hero__visual {
    order: -1
  }

  .philosophy__inner {
    grid-template-columns: 1fr
  }

  .program-feature__inner {
    grid-template-columns: 1fr
  }

  .split-section__inner {
    grid-template-columns: 1fr
  }

  .steps {
    grid-template-columns: 1fr;
    text-align: left
  }

  .step__num {
    margin-inline: unset
  }

  .testimonials__grid {
    grid-template-columns: 1fr
  }

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

  .challenge-grid {
    grid-template-columns: 1fr
  }

  .programs-grid {
    grid-template-columns: 1fr
  }

  .hero__actions {
    flex-direction: column
  }

  .hero__actions .btn {
    width: 100%;
    justify-content: center
  }

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

  .cta-section__actions .btn {
    width: 100%;
    justify-content: center
  }
}

@media (min-width:480px) {
  .edu-grid {
    grid-template-columns: repeat(2, 1fr)
  }

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

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

  .hero__trust {
    gap: var(--sp-5)
  }
}

@media (min-width:576px) {
  .cookie-banner__inner {
    flex-wrap: nowrap;
    align-items: center
  }

  .cookie-banner__actions {
    flex-shrink: 0
  }

  .footer-top {
    grid-template-columns: repeat(2, 1fr)
  }

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

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

@media (min-width:640px) {
  .stats__grid {
    grid-template-columns: repeat(4, 1fr)
  }

  .steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    text-align: center
  }

  .step__num {
    margin-inline: auto
  }

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

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

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

  .edu-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .testimonials__grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (min-width:768px) {
  .nav-toggle {
    display: none
  }

  .nav {
    display: flex
  }

  .hero__split {
    grid-template-columns: 1fr 1fr
  }

  .hero__visual {
    order: 0
  }

  .philosophy__inner {
    grid-template-columns: 1fr 1fr
  }

  .philosophy__visual {
    order: 0
  }

  .program-feature__inner {
    grid-template-columns: 1fr 1fr
  }

  .split-section__inner {
    grid-template-columns: 1fr 1fr
  }

  .contact-grid {
    grid-template-columns: 1fr 320px
  }

  .pillars-grid {
    grid-template-columns: repeat(3, 1fr)
  }

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

  .footer-top {
    grid-template-columns: 2fr 1fr 1fr 1fr
  }

  .footer-bottom {
    flex-direction: row;
    text-align: left
  }

  .footer-policies {
    justify-content: flex-end
  }

  .cookie-modal {
    align-items: center
  }

  .hero__actions {
    flex-direction: row
  }

  .hero__actions .btn {
    width: auto
  }

  .cta-section__actions {
    flex-direction: row;
    align-items: center
  }

  .cta-section__actions .btn {
    width: auto
  }
}

@media (min-width:1024px) {
  .services__grid {
    grid-template-columns: repeat(4, 1fr)
  }

  .challenge-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .programs-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .contact-grid {
    grid-template-columns: 1fr 360px
  }
}

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

  .stats__item::after {
    display: none
  }
}

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

  .testimonials__grid {
    grid-template-columns: 1fr
  }

  .edu-grid {
    grid-template-columns: 1fr
  }

  .services__grid {
    grid-template-columns: 1fr
  }

  .cookie-banner__inner {
    flex-wrap: wrap
  }

  .cookie-banner__actions {
    flex-direction: column;
    width: 100%
  }

  .c-btn {
    width: 100%;
    text-align: center;
    justify-content: center
  }
}

@media (max-width:359px) {
  :root {
    --header-h: 58px;
    --fz-xs: 0.6875rem;
    --fz-sm: 0.8125rem;
    --fz-base: 0.9375rem;
    --fz-md: 1rem;
    --fz-lg: 1.0625rem;
    --fz-xl: 1.1875rem;
    --fz-2xl: 1.375rem;
    --fz-3xl: 1.625rem;
    --fz-4xl: 1.875rem;
    --fz-5xl: 2.125rem;
  }

  .container {
    padding-inline: .875rem
  }

  .section {
    padding-block: 2.25rem
  }

  .section-header {
    margin-bottom: 2rem
  }

  .section-title {
    font-size: 1.75rem;
    line-height: 1.12;
    letter-spacing: -.025em
  }

  .section-desc {
    font-size: .875rem;
    margin-bottom: 1.75rem
  }

  .section-label {
    font-size: .625rem;
    padding: .25em .7em
  }

  .site-header {
    height: var(--header-h)
  }

  .header-brand__name {
    font-size: .8rem;
    max-width: 130px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
  }

  .header-brand__logo {
    width: 30px;
    height: 30px;
    font-size: .875rem
  }

  .nav-toggle {
    width: 2rem;
    height: 2rem
  }

  .nav-toggle__bar {
    width: 18px
  }

  .hero {
    padding-block: 2.25rem
  }

  .hero--home {
    min-height: auto;
    padding-block: 2.5rem
  }

  .hero__title {
    font-size: 1.75rem;
    line-height: 1.1;
    max-width: none;
    letter-spacing: -.025em
  }

  .hero__desc {
    font-size: .875rem;
    margin-bottom: 1.25rem
  }

  .hero__eyebrow {
    font-size: .6rem;
    margin-bottom: .875rem
  }

  .hero__actions {
    flex-direction: column;
    gap: .625rem
  }

  .hero__actions .btn {
    width: 100%;
    justify-content: center;
    padding: .75em 1rem
  }

  .hero__trust {
    flex-direction: column;
    gap: .5rem;
    margin-top: 1.25rem
  }

  .hero__trust-item {
    font-size: .75rem
  }

  .hero__floating-badge {
    display: none
  }

  .hero__orb-wrap {
    max-width: 200px
  }

  .hero__orb-icon {
    font-size: 3.5rem
  }

  .hero--inner .hero__title {
    font-size: 1.625rem
  }

  .hero-date {
    font-size: .75rem
  }

  .btn {
    padding: .65em 1.2em;
    font-size: .8125rem
  }

  .btn--lg {
    padding: .7em 1.4em;
    font-size: .875rem
  }

  .btn--sm {
    padding: .45em .9em;
    font-size: .6875rem
  }

  .card {
    padding: 1.125rem
  }

  .card__icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.2rem
  }

  .card__title {
    font-size: 1rem
  }

  .card__text {
    font-size: .8125rem
  }

  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem
  }

  .stats__item {
    padding: .625rem .25rem
  }

  .stats__item::after {
    display: none
  }

  .stats__num {
    font-size: 1.5rem
  }

  .stats__label {
    font-size: .6875rem
  }

  .services__grid {
    grid-template-columns: 1fr;
    gap: .875rem
  }

  .service-card {
    padding: 1.125rem
  }

  .service-card__title {
    font-size: 1.0625rem
  }

  .service-card__text {
    font-size: .8125rem
  }

  .philosophy__bg-shape {
    aspect-ratio: 4/3
  }

  .philosophy__icon-wrap i {
    font-size: 3.5rem
  }

  .pillar {
    padding: .875rem
  }

  .pillar__icon {
    width: 2.125rem;
    height: 2.125rem;
    font-size: .875rem;
    flex-shrink: 0
  }

  .pillar__title {
    font-size: .8125rem
  }

  .pillar__text {
    font-size: .75rem
  }

  .step__num {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1rem
  }

  .step__title {
    font-size: 1rem
  }

  .step__text {
    font-size: .8125rem
  }

  .steps {
    gap: 1.25rem
  }

  .program-feature__visual {
    aspect-ratio: 3/2
  }

  .program-feature__visual-icon {
    font-size: 3.5rem
  }

  .program-feature__item {
    font-size: .8125rem
  }

  .program-feature__list {
    gap: .75rem;
    margin-block: 1rem
  }

  .testi-card {
    padding: 1.125rem
  }

  .testi-card__text {
    font-size: .8125rem
  }

  .testi-card__avatar {
    width: 2rem;
    height: 2rem;
    font-size: .75rem
  }

  .testimonials__grid {
    grid-template-columns: 1fr
  }

  .faq__trigger {
    padding: .875rem 1rem;
    font-size: .9375rem
  }

  .faq__answer-inner {
    padding: 0 1rem 1rem;
    font-size: .8125rem
  }

  .faq__trigger i {
    font-size: 1rem;
    flex-shrink: 0
  }

  .cta-section__actions {
    flex-direction: column;
    align-items: stretch;
    gap: .625rem
  }

  .cta-section__actions .btn {
    width: 100%;
    justify-content: center
  }

  .cta-section .section-title {
    font-size: 1.625rem
  }

  .cta-section .section-desc {
    font-size: .875rem
  }

  .edu-card__top {
    height: 110px
  }

  .edu-card__top i {
    font-size: 2.75rem
  }

  .edu-card__body {
    padding: .875rem
  }

  .edu-card__title {
    font-size: .9375rem
  }

  .edu-card__text {
    font-size: .8125rem
  }

  .edu-grid {
    grid-template-columns: 1fr;
    gap: .75rem
  }

  .pillars-grid {
    grid-template-columns: 1fr;
    gap: .75rem
  }

  .pillar-card {
    padding: 1.125rem
  }

  .pillar-card__icon {
    width: 3.25rem;
    height: 3.25rem;
    font-size: 1.4rem
  }

  .pillar-card__title {
    font-size: .9375rem
  }

  .pillar-card__text {
    font-size: .8125rem
  }

  .split-section__bg {
    aspect-ratio: 4/3
  }

  .split-section__bg i {
    font-size: 3.5rem
  }

  .split-section__list {
    gap: .75rem;
    margin-block: .875rem
  }

  .split-section__item {
    font-size: .8125rem
  }

  .timeline__item {
    gap: .75rem
  }

  .timeline__item::after {
    left: .9375rem
  }

  .timeline__dot {
    width: 1.875rem;
    height: 1.875rem;
    font-size: .75rem
  }

  .timeline__title {
    font-size: .9375rem
  }

  .timeline__text {
    font-size: .8125rem
  }

  .form__group {
    gap: .375rem;
    margin-bottom: .875rem
  }

  .form__label {
    font-size: .8125rem
  }

  .form__input,
  .form__textarea {
    padding: .65em .85em;
    font-size: 1rem;
    border-radius: .75rem
  }

  .form__textarea {
    min-height: 110px
  }

  .form__error {
    font-size: .6875rem
  }

  .form__checkbox-label {
    font-size: .8125rem
  }

  .form__checkbox-wrap {
    gap: .625rem;
    margin-bottom: .875rem
  }

  .contact-form-wrap {
    padding: 1.125rem
  }

  .contact-form-title {
    font-size: 1.375rem
  }

  .contact-form-desc {
    font-size: .8125rem;
    margin-bottom: 1.25rem
  }

  .contact-info {
    gap: .75rem
  }

  .contact-info-card {
    padding: .875rem 1rem
  }

  .contact-info-card__icon {
    width: 2.25rem;
    height: 2.25rem;
    font-size: .9375rem
  }

  .contact-info-card__title {
    font-size: .6875rem
  }

  .contact-info-card__value {
    font-size: .8125rem
  }

  .contact-grid {
    gap: 1.5rem
  }

  .routine-card__header {
    padding: .875rem 1rem
  }

  .routine-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.2rem
  }

  .routine-card__time {
    font-size: .6875rem
  }

  .routine-card__title {
    font-size: .9375rem
  }

  .routine-card__body {
    padding: 0 1rem 1rem
  }

  .routine-card__text {
    font-size: .8125rem
  }

  .routine-card__item {
    font-size: .8125rem
  }

  .routine-grid {
    grid-template-columns: 1fr;
    gap: .75rem
  }

  .challenge-section .section-title {
    font-size: 1.625rem
  }

  .challenge-grid {
    grid-template-columns: 1fr;
    gap: .625rem
  }

  .challenge-day {
    padding: .875rem 1rem;
    gap: .75rem
  }

  .challenge-day__num {
    width: 2.125rem;
    height: 2.125rem;
    font-size: .8125rem;
    flex-shrink: 0
  }

  .challenge-day__title {
    font-size: .875rem
  }

  .challenge-day__text {
    font-size: .75rem
  }

  .programs-grid {
    grid-template-columns: 1fr;
    gap: .875rem
  }

  .prog-card__top {
    padding: 1.25rem 1rem 1rem
  }

  .prog-card__title {
    font-size: 1.125rem
  }

  .prog-card__desc {
    font-size: .8125rem
  }

  .prog-card__body {
    padding: 1rem
  }

  .prog-card__feature {
    font-size: .8125rem
  }

  .cookie-banner {
    padding: .875rem
  }

  .cookie-banner__inner {
    flex-direction: column;
    gap: .75rem
  }

  .cookie-banner__title {
    font-size: .8125rem
  }

  .cookie-banner__desc {
    font-size: .6875rem
  }

  .cookie-banner__actions {
    flex-direction: column;
    width: 100%;
    gap: .5rem
  }

  .c-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: .55em .875em
  }

  .cookie-modal {
    padding: .5rem
  }

  .cookie-modal__box {
    padding: 1.125rem;
    border-radius: 1rem;
    max-height: 95vh
  }

  .cookie-modal__title {
    font-size: 1rem
  }

  .cookie-category {
    padding: .875rem
  }

  .cookie-category__name {
    font-size: .8125rem
  }

  .cookie-category__desc {
    font-size: .75rem
  }

  .cookie-modal__save {
    margin-top: .875rem
  }

  .thankyou__icon {
    width: 4rem;
    height: 4rem;
    font-size: 1.6rem
  }

  .thankyou__title {
    font-size: 1.625rem
  }

  .thankyou__text {
    font-size: .9375rem
  }

  .thankyou__actions {
    flex-direction: column;
    align-items: center;
    gap: .625rem
  }

  .thankyou__actions .btn {
    width: 100%;
    max-width: 280px;
    justify-content: center
  }

  .info-section h2 {
    font-size: 1.375rem;
    margin-top: 2rem
  }

  .info-section h3 {
    font-size: 1rem;
    margin-top: 1.25rem
  }

  .info-section p,
  .info-section li {
    font-size: .8125rem
  }

  .policy-box {
    padding: .875rem
  }

  .policy-box p {
    font-size: .8125rem
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 1.5rem
  }

  .footer-col h4 {
    font-size: .625rem
  }

  .footer-col a,
  .footer-contact-item {
    font-size: .8125rem
  }

  .footer-bottom {
    flex-direction: column;
    gap: .625rem;
    text-align: center;
    padding-top: 1rem
  }

  .footer-policies {
    justify-content: center;
    gap: .75rem
  }

  .footer-copyright {
    font-size: .6875rem
  }

  .footer-contact-item {
    margin-bottom: .5rem
  }

  .header-brand__name {
    font-size: .8rem
  }
}

@media (min-width:360px) {
  .stats__grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .stats__item::after {
    display: none
  }
}

@media (prefers-reduced-motion:reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important
  }

  html {
    scroll-behavior: auto
  }

  .hero__deco {
    animation: none
  }
}