/* Pricing page: the reference illustration, billing switch, and plan comparison. */
.pricing-page { margin: 0; background: #fff; color: #1d2044; font-family: "Nunito", sans-serif; }
.pricing-page .site-header { position: relative; z-index: 10; }
.pricing-main { --p: clamp(1px, .109529vw, 1.25px); position: relative; isolation: isolate; overflow: clip; padding-bottom: calc(36 * var(--p)); background: linear-gradient(180deg, #f8fcff 0, #fff 47%, #f9fcff 100%); }
.pricing-main *, .pricing-main *::before, .pricing-main *::after { box-sizing: border-box; }
.pricing-main::after { content: ""; position: absolute; z-index: -2; top: calc(440 * var(--p)); left: -10%; width: 120%; height: calc(220 * var(--p)); border-radius: 50% 50% 0 0 / 45% 45% 0 0; background: linear-gradient(180deg, #fff2ec9c, #fff0); pointer-events: none; }
.pricing-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.pricing-icon { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.pricing-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pricing-container { width: 88.6%; max-width: 1200px; margin-inline: auto; }
.pricing-backdrop { position: absolute; z-index: -1; inset: 0 0 auto; height: calc(322 * var(--p)); pointer-events: none; mask-image: linear-gradient(180deg, #000 77%, transparent); -webkit-mask-image: linear-gradient(180deg, #000 77%, transparent); }
.pricing-scene { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.pricing-hero { position: relative; min-height: calc(270 * var(--p)); padding: calc(40 * var(--p)) 20px calc(34 * var(--p)); text-align: center; }
.pricing-hero-copy { position: relative; z-index: 1; max-width: calc(640 * var(--p)); margin: 0 auto; }
.pricing-eyebrow { margin: 0 0 calc(10 * var(--p)); color: #3f89ee; font-size: calc(9 * var(--p)); font-weight: 800; line-height: calc(13 * var(--p)); letter-spacing: calc(2.5 * var(--p)); text-transform: uppercase; }
.pricing-hero h1 { margin: 0; color: #171938; font-family: "Playfair Display", Georgia, serif; font-size: calc(36 * var(--p)); font-weight: 700; line-height: 1.08; letter-spacing: calc(-.6 * var(--p)); }
.pricing-hero h1 span { color: #6372ef; background: linear-gradient(100deg, #079eff, #565dff 58%, #b447fc); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.pricing-description { margin: calc(8 * var(--p)) 0 0; color: #697499; font-size: calc(12 * var(--p)); font-weight: 500; line-height: calc(17 * var(--p)); }
.pricing-billing { display: inline-flex; align-items: center; gap: calc(7 * var(--p)); min-height: calc(40 * var(--p)); margin-top: calc(18 * var(--p)); padding: calc(4 * var(--p)) calc(12 * var(--p)) calc(4 * var(--p)) calc(4 * var(--p)); border: 1px solid #fff; border-radius: 99px; background: #ffffffa6; box-shadow: 0 5px 18px #467cc316, inset 0 1px 0 #fff; }
.pricing-billing[hidden] { display: none; }
.pricing-tablist { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 1fr; width: calc(144 * var(--p)); }
.pricing-tablist::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 50%; border-radius: 99px; background: linear-gradient(100deg, #1070e8, #7451eb 85%); box-shadow: 0 3px 9px #6276fa32; transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
.pricing-main[data-billing="annual"] .pricing-tablist::before { transform: translateX(100%); }
.pricing-tablist button { min-width: 0; min-height: calc(32 * var(--p)); padding: 6px 8px; border: 0; border-radius: 99px; background: transparent; color: #4b5484; font-family: inherit; font-size: calc(11 * var(--p)); font-weight: 700; cursor: pointer; transition: color .2s ease; }
.pricing-tablist button[aria-selected="true"] { color: #fff; }
.pricing-savings { padding: calc(3 * var(--p)) calc(7 * var(--p)); border-radius: 99px; background: #ddf9f3; color: #08766c; font-size: calc(10 * var(--p)); font-weight: 800; line-height: 1.3; white-space: nowrap; }
.pricing-billing-fallback { gap: 18px; padding: 10px 18px; }
.pricing-billing-fallback a { color: #514fd1; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pricing-handwritten { position: absolute; top: calc(162 * var(--p)); right: calc(48 * var(--p)); margin: 0; width: calc(160 * var(--p)); color: #6368b1; font-family: "Caveat", cursive; font-size: calc(20 * var(--p)); line-height: 1.05; text-align: left; transform: rotate(-8deg); }
.pricing-handwritten span { display: block; margin: 0 0 0 calc(6 * var(--p)); white-space: nowrap; }
.pricing-handwritten .pricing-icon { display: block; width: calc(15 * var(--p)); height: calc(15 * var(--p)); margin: calc(11 * var(--p)) auto 0; color: #8550ff; stroke-width: 3; }
.pricing-plans { position: relative; z-index: 2; scroll-margin-top: 24px; }
.pricing-plans:focus { outline: none; }
.pricing-plans:focus-visible { outline: 3px solid #9985df; outline-offset: 6px; border-radius: 16px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(12 * var(--p)); align-items: stretch; }
.pricing-card { --plan-accent: #128bff; position: relative; display: flex; flex-direction: column; align-items: center; min-width: 0; min-height: calc(466 * var(--p)); padding: calc(16 * var(--p)); border: 1px solid #e3e8f2; border-radius: calc(16 * var(--p)); background: linear-gradient(135deg, #fffffff5, #fcfdfff5); box-shadow: 0 8px 28px #2e54880a; text-align: center; transition: transform .25s ease, box-shadow .25s ease; }
.pricing-card:hover { transform: translateY(-4px); box-shadow: 0 14px 35px #4261a015; }
.pricing-card-family { --plan-accent: #9848fc; border-color: #ff987b; background: linear-gradient(135deg, #fff5eff5, #fff9fdf2 56%, #f8fbfff5); box-shadow: 0 8px 30px #ffbca51c, inset 0 0 0 2px #fff; }
.pricing-card-ultimate { --plan-accent: #0bab8e; }
.pricing-popular { position: absolute; top: calc(-12 * var(--p)); left: 50%; transform: translateX(-50%); min-width: calc(124 * var(--p)); padding: calc(5 * var(--p)) calc(16 * var(--p)); border: 1px solid #fff; border-radius: 99px; background: linear-gradient(100deg, #c74728, #b65a0b); color: #fff; font-size: calc(10 * var(--p)); font-weight: 900; line-height: calc(14 * var(--p)); letter-spacing: .35px; text-transform: uppercase; white-space: nowrap; }
.pricing-plan-icon { display: grid; place-items: center; flex: 0 0 auto; width: calc(56 * var(--p)); height: calc(56 * var(--p)); border-radius: 50%; background: linear-gradient(135deg, #d5eaff, #dceeff); color: var(--plan-accent); }
.pricing-plan-icon .pricing-icon { width: calc(31 * var(--p)); height: calc(31 * var(--p)); stroke-width: 2.1; }
.pricing-card-family .pricing-plan-icon { background: linear-gradient(135deg, #e7d6ff, #e0c3ff); }
.pricing-card-ultimate .pricing-plan-icon { background: linear-gradient(135deg, #d5f8ef, #baf2e9); }
.pricing-card h3 { margin: calc(6 * var(--p)) 0 0; color: #181b41; font-family: "Playfair Display", Georgia, serif; font-size: calc(22 * var(--p)); font-weight: 700; line-height: calc(26 * var(--p)); }
.pricing-plan-description { min-height: calc(32 * var(--p)); margin: calc(4 * var(--p)) 0 0; color: #626f98; font-size: calc(12 * var(--p)); font-weight: 500; line-height: calc(16 * var(--p)); }
.pricing-price { position: relative; width: 100%; flex: 0 0 auto; margin: calc(16 * var(--p)) 0 calc(20 * var(--p)); }
.pricing-amount { display: block; color: #171939; font-family: "Playfair Display", Georgia, serif; font-size: calc(40 * var(--p)); font-weight: 700; line-height: calc(44 * var(--p)); letter-spacing: -1px; font-variant-numeric: lining-nums tabular-nums; }
.pricing-card-family .pricing-amount { color: #ec5b36; }
.pricing-period { display: block; color: #707ca1; font-size: calc(12 * var(--p)); line-height: calc(16 * var(--p)); }
.pricing-yearly-total { position: absolute; top: 100%; left: 0; width: 100%; margin-top: calc(2 * var(--p)); color: #55618b; font-size: calc(9 * var(--p)); font-weight: 700; line-height: calc(13 * var(--p)); }
.pricing-features { display: flex; flex: 1; flex-direction: column; align-self: stretch; gap: calc(8 * var(--p)); margin: 0; padding: 0 0 0 calc(6 * var(--p)); list-style: none; text-align: left; }
.pricing-features li { display: flex; align-items: flex-start; gap: calc(10 * var(--p)); min-width: 0; color: #2f365f; font-size: calc(10.5 * var(--p)); font-weight: 600; line-height: calc(16 * var(--p)); }
.pricing-features .pricing-icon { width: calc(16 * var(--p)); height: calc(16 * var(--p)); color: var(--plan-accent); stroke-width: 1.8; }
.pricing-card-ultimate .pricing-features .pricing-icon { color: #21b37b; }
.pricing-cta { display: flex; justify-content: center; align-items: center; align-self: stretch; min-height: calc(38 * var(--p)); margin-top: calc(18 * var(--p)); padding: calc(8 * var(--p)) 8px; border: 1px solid #827fc9; border-radius: calc(11 * var(--p)); background: #f8fbffab; color: #20245e; font-size: calc(11 * var(--p)); font-weight: 800; line-height: 1.3; text-decoration: none; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.pricing-card-family .pricing-cta { border-color: transparent; border-radius: calc(16 * var(--p)); background: linear-gradient(100deg, #0874d8, #4d5ae8 52%, #a036e7); color: #fff; box-shadow: 0 4px 12px #7861ff12; }
.pricing-card-ultimate .pricing-cta { border-color: #40bfac; }
.pricing-cta:hover { transform: translateY(-2px); background-color: #edf4ff; box-shadow: 0 5px 15px #5e6fc11a; }
.pricing-card-family .pricing-cta:hover { box-shadow: 0 7px 20px #7861ff40; }
.pricing-reassurance { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(12 * var(--p)); margin-top: calc(28 * var(--p)); }
.pricing-promise { display: flex; justify-content: center; align-items: center; gap: calc(11 * var(--p)); min-width: 0; padding: 0 calc(4 * var(--p)); }
.pricing-promise > .pricing-icon { width: calc(32 * var(--p)); height: calc(32 * var(--p)); color: #00b79c; stroke-width: 2; }
.pricing-promise h2 { margin: 0 0 calc(2 * var(--p)); color: #252650; font-family: "Playfair Display", Georgia, serif; font-size: calc(12 * var(--p)); font-weight: 700; line-height: calc(16 * var(--p)); white-space: nowrap; }
.pricing-promise p { margin: 0; color: #6d799e; font-size: calc(10 * var(--p)); font-weight: 500; line-height: calc(14 * var(--p)); white-space: nowrap; }
.pricing-promise-fees > .pricing-icon, .pricing-promise-community > .pricing-icon { color: #138fff; }
.pricing-promise-secure > .pricing-icon { color: #b24fff; }
.pricing-main button:focus-visible, .pricing-main a:focus-visible { outline: 3px solid #9985df; outline-offset: 4px; }
@media (min-width: 1600px) {
    .pricing-backdrop { height: 440px; }
    .pricing-hero { min-height: 355px; padding-top: 57px; }
    .pricing-handwritten { right: 8%; }
}
@media (min-width: 761px) and (max-width: 900px) {
    .pricing-container { width: calc(100% - 44px); }
    .pricing-card { padding-inline: 13px; }
    .pricing-features { padding-inline: 0; }
    .pricing-features li { gap: 7px; font-size: 10.5px; }
    .pricing-handwritten { right: 25px; font-size: 18px; width: 146px; }
    .pricing-promise { gap: 7px; padding: 0; }
    .pricing-promise p { font-size: 9px; }
    .pricing-promise h2 { font-size: 11px; }
    .pricing-promise > .pricing-icon { width: 27px; height: 27px; }
}
@media (max-width: 760px) {
    .pricing-main { padding-bottom: 36px; }
    .pricing-container { width: calc(100% - 40px); max-width: 480px; }
    .pricing-backdrop { height: 270px; mask-image: linear-gradient(180deg, #000 75%, transparent); -webkit-mask-image: linear-gradient(180deg, #000 75%, transparent); }
    .pricing-scene { object-position: left top; }
    .pricing-hero { min-height: 0; padding: 276px 20px 38px; }
    .pricing-eyebrow { font-size: 8px; letter-spacing: 1.5px; margin-bottom: 13px; }
    .pricing-hero h1 { font-size: clamp(30px, 6.5vw, 38px); line-height: 1.12; letter-spacing: -.7px; }
    .pricing-description { max-width: 460px; margin: 14px auto 0; font-size: 13px; line-height: 1.65; }
    .pricing-desktop-break { display: none; }
    .pricing-billing { margin-top: 22px; }
    .pricing-tablist { width: 166px; }
    .pricing-tablist button { min-height: 38px; font-size: 12px; }
    .pricing-savings { font-size: 10px; }
    .pricing-handwritten { top: 126px; right: 24px; width: 149px; font-size: 19px; }
    .pricing-grid { grid-template-columns: 1fr; gap: 27px; }
    .pricing-card { min-height: 0; padding: 25px; border-radius: 21px; }
    .pricing-card h3 { margin-top: 9px; font-size: 26px; line-height: 32px; }
    .pricing-plan-icon { width: 64px; height: 64px; }
    .pricing-plan-icon .pricing-icon { width: 35px; height: 35px; }
    .pricing-plan-description { font-size: 14px; line-height: 20px; min-height: 40px; }
    .pricing-price { margin: 22px 0 28px; }
    .pricing-amount { font-size: 44px; line-height: 48px; }
    .pricing-period { font-size: 13px; line-height: 19px; }
    .pricing-yearly-total { margin-top: 3px; font-size: 11px; line-height: 16px; }
    .pricing-features { gap: 11px; padding-inline: 1px; }
    .pricing-features li { font-size: 13px; line-height: 20px; gap: 11px; }
    .pricing-features .pricing-icon { width: 18px; height: 18px; margin-top: 1px; }
    .pricing-cta { min-height: 45px; margin-top: 28px; font-size: 13px; }
    .pricing-popular { top: -13px; min-width: 139px; padding: 6px 18px; font-size: 10px; }
    .pricing-reassurance { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 14px; margin-top: 30px; }
    .pricing-promise { justify-content: flex-start; gap: 9px; padding: 0; }
    .pricing-promise h2 { font-size: 12px; line-height: 17px; }
    .pricing-promise p { font-size: 10px; line-height: 15px; white-space: normal; }
    .pricing-promise > .pricing-icon { width: 28px; height: 28px; }
}
@media (max-width: 380px) {
    .pricing-hero { padding-inline: 16px; }
    .pricing-hero h1 { font-size: 29px; }
    .pricing-container { width: calc(100% - 32px); }
    .pricing-card { padding: 23px 19px; }
    .pricing-features li { font-size: 12px; }
    .pricing-handwritten { right: 12px; top: 115px; width: 132px; font-size: 17px; }
    .pricing-promise { gap: 7px; }
    .pricing-promise h2 { font-size: 10px; }
    .pricing-promise p { font-size: 9px; }
    .pricing-promise > .pricing-icon { width: 24px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .pricing-main *, .pricing-main *::before, .pricing-main *::after { animation: none !important; transition: none !important; }
    .pricing-card:hover, .pricing-cta:hover { transform: none; }
}

/* Pricing questions and the closing wellness invitation. */
.pricing-main { padding-bottom: 0; }
.pricing-section-gradient { color: #6960df; background: linear-gradient(100deg, #078dff, #6660fa 57%, #a347ef); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.pricing-faq { position: relative; isolation: isolate; margin-top: calc(36 * var(--p)); padding:calc(150 * var(--p)) 20px calc(100 * var(--p)); overflow: hidden; background: linear-gradient(180deg, #ffffffc9, #ffffff82); scroll-margin-top: 22px; }
.pricing-faq::after { content: ""; position: absolute; z-index: -1; top: calc(110 * var(--p)); right: calc(-96 * var(--p)); width: calc(150 * var(--p)); height: calc(190 * var(--p)); border-radius: 50%; transform: rotate(30deg); background: linear-gradient(180deg, #fcf0e9b3, #fff7f045); pointer-events: none; }
.pricing-faq-heading { position: relative; text-align: center; }
.pricing-faq-heading .pricing-eyebrow { margin-bottom: calc(8 * var(--p)); font-size: calc(8 * var(--p)); line-height: calc(11 * var(--p)); letter-spacing: calc(2 * var(--p)); }
.pricing-faq-heading h2 { margin: 0; color: #171938; font-family: "Playfair Display", Georgia, serif; font-size: calc(34 * var(--p)); font-weight: 700; line-height: 1.15; letter-spacing: calc(-.5 * var(--p)); }
.pricing-faq-petals { position: absolute; z-index: -1; top: calc(55 * var(--p)); left: calc(-70 * var(--p)); width: calc(290 * var(--p)); height: calc(270 * var(--p)); pointer-events: none; }
.pricing-faq-petals span { position: absolute; display: block; border-radius: 70% 35% 60% 40%; background: linear-gradient(135deg, #e0efffb5, #f4f9ff30); }
.pricing-faq-petals span:nth-child(1) { inset: 0 0 0 0; transform: rotate(-18deg); }
.pricing-faq-petals span:nth-child(2) { top: calc(54 * var(--p)); left: calc(-17 * var(--p)); width: calc(173 * var(--p)); height: calc(201 * var(--p)); transform: rotate(37deg); background: linear-gradient(120deg, #ccd9ff99, #e1e8ff26); }
.pricing-faq-petals span:nth-child(3) { bottom: calc(-12 * var(--p)); left: calc(52 * var(--p)); width: calc(126 * var(--p)); height: calc(104 * var(--p)); transform: rotate(-22deg); background: linear-gradient(160deg, #dbdeff91, #eef0ff08); }
.pricing-faq-note { position: absolute; top: calc(136 * var(--p)); right: calc(250 * var(--p)); width: calc(131 * var(--p)); margin: 0; color: #747bbb; font-family: "Caveat", cursive; font-size: calc(18 * var(--p)); line-height: 1.12; text-align: left; transform: rotate(-9deg); }
.pricing-faq-note > span { display: block; margin-left: calc(11 * var(--p)); white-space: nowrap; }
.pricing-faq-note > .pricing-icon { display: block; width: calc(13 * var(--p)); height: calc(13 * var(--p)); margin: calc(8 * var(--p)) auto 0; color: #8751ff; stroke-width: 3; }
.pricing-faq-list { display: flex; flex-direction: column; gap: calc(8 * var(--p)); width: 67%; max-width: 800px; margin: calc(22 * var(--p)) auto 0; }
.pricing-faq-item { border: 1px solid #dfe8f5; border-radius: calc(12 * var(--p)); background: linear-gradient(120deg, #ffffffbd, #fafcffe6); box-shadow: 0 5px 16px #689dd00a; transition: border-color .2s ease, box-shadow .2s ease; }
.pricing-faq-item:hover { border-color: #c6d5ed; box-shadow: 0 5px 18px #689dd014; }
.pricing-faq-item[open] { border-color: #cfcef0; background: #ffffffed; }
.pricing-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: calc(40 * var(--p)); padding: calc(10 * var(--p)) calc(14 * var(--p)); border-radius: inherit; color: #1c2046; font-family: "Playfair Display", Georgia, serif; font-size: calc(14 * var(--p)); font-weight: 700; line-height: calc(20 * var(--p)); list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pricing-faq-question::-webkit-details-marker { display: none; }
.pricing-faq-question::marker { content: ""; }
.pricing-faq-question:focus-visible { outline: 3px solid #9985df; outline-offset: 3px; }
.pricing-faq-chevron { flex: 0 0 auto; width: calc(17 * var(--p)); height: calc(17 * var(--p)); stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .28s ease; }
.pricing-faq-item[open] .pricing-faq-chevron { transform: rotate(180deg); }
.pricing-faq-item[open] .pricing-faq-question { color: #6250a6; }
.pricing-faq-answer { padding: 0 calc(14 * var(--p)) calc(15 * var(--p)); color: #626e91; font-size: calc(12 * var(--p)); line-height: 1.8; }
.pricing-faq-answer p { margin: 0; max-width: 95%; }
.pricing-journey { position: relative; isolation: isolate; min-height: calc(300 * var(--p)); overflow: hidden; border-radius: calc(40 * var(--p)) calc(40 * var(--p)) 0 0; background: #ecf7ff; }
.pricing-journey-image { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.pricing-journey::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #ffffff35, #ffffff9c 37%, #ffffff70 70%, transparent 86%); pointer-events: none; }
.pricing-journey-inner { width: 82%; max-width: 1200px; margin: 40px auto; padding: calc(42 * var(--p)) 0 calc(44 * var(--p)); }
.pricing-journey-copy { width: 72%; max-width: calc(600 * var(--p)); }
.pricing-journey .pricing-eyebrow { margin-bottom: calc(10 * var(--p)); font-size: calc(9 * var(--p)); line-height: calc(12 * var(--p)); letter-spacing: calc(2.2 * var(--p)); }
.pricing-journey h2 { margin: 0; color: #171938; font-family: "Playfair Display", Georgia, serif; font-size: calc(29 * var(--p)); font-weight: 700; line-height: 1.18; letter-spacing: calc(-.4 * var(--p)); }
.pricing-journey-description { max-width: calc(448 * var(--p)); margin: calc(10 * var(--p)) 0 0; color: #52658f; font-size: calc(13.5 * var(--p)); font-weight: 500; line-height: calc(18 * var(--p)); }
.pricing-journey-actions { display: flex; align-items: center; gap: calc(12 * var(--p)); margin-top: calc(22 * var(--p)); }
.pricing-journey-button { display: inline-flex; align-items: center; justify-content: center; gap: calc(9 * var(--p)); min-height: calc(38 * var(--p)); padding: calc(9 * var(--p)) calc(29 * var(--p)); border: 1px solid transparent; border-radius: 99px; color: #fff; font-family: "Playfair Display", Georgia, serif; font-size: calc(12 * var(--p)); font-weight: 700; line-height: 1.4; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease; }
.pricing-journey-primary { background: linear-gradient(100deg, #0874d8, #5960eb 56%, #963de4); box-shadow: 0 5px 15px #7471da20; }
.pricing-journey-primary > .pricing-icon { width: calc(15 * var(--p)); height: calc(15 * var(--p)); stroke-width: 1.8; }
.pricing-journey-secondary { min-width: calc(131 * var(--p)); padding-inline: calc(22 * var(--p)); border-color: #8b87cb; background: #ffffff59; color: #252956; }
.pricing-journey-button:hover { transform: translateY(-2px); box-shadow: 0 8px 22px #7772d536; }
.pricing-journey-secondary:hover { background: #fff; }
.pricing-journey-note { position: absolute; left: 65%; top: calc(101 * var(--p)); width: calc(126 * var(--p)); margin: 0; color: #596fac; font-family: "Caveat", cursive; font-size: calc(22 * var(--p)); line-height: 1.07; text-align: center; transform: rotate(-10deg); }
.pricing-journey-note > .pricing-icon { display: block; width: calc(15 * var(--p)); height: calc(15 * var(--p)); margin: calc(8 * var(--p)) auto 0; color: #765bff; stroke-width: 3; }
@media (min-width: 761px) and (max-width: 1000px) {
    .pricing-faq-list { width: 67%; }
    .pricing-faq-note { right: 5%; }
    .pricing-faq-heading h2 { font-size: 32px; }
    .pricing-journey h2 { font-size: 28px; }
    .pricing-journey-copy { width: 76%; }
}
@media (max-width: 760px) {
    .pricing-faq { margin-top: 35px; padding: 32px 20px 38px; }
    .pricing-faq-heading h2 { max-width: 480px; margin-inline: auto; font-size: 31px; line-height: 1.2; }
    .pricing-faq-heading .pricing-eyebrow { margin-bottom: 12px; font-size: 8px; letter-spacing: 1.6px; }
    .pricing-faq-note { display: none; }
    .pricing-faq-list { width: 100%; max-width: 540px; gap: 10px; margin-top: 25px; }
    .pricing-faq-question { min-height: 54px; padding: 13px 15px; gap: 14px; font-size: 15px; line-height: 22px; }
    .pricing-faq-chevron { width: 17px; height: 17px; }
    .pricing-faq-answer { padding: 0 15px 17px; font-size: 13px; line-height: 1.75; }
    .pricing-faq-answer p { max-width: 100%; }
    .pricing-faq-petals { opacity: .6; left: -125px; }
    .pricing-journey { min-height: 460px; border-radius: 28px 28px 0 0; }
    .pricing-journey-image { object-position: right center; }
    .pricing-journey::after { background: linear-gradient(180deg, #f7fcfff2, #f9fcffdb 43%, #f9fcff18 78%, transparent); }
    .pricing-journey-inner { width: calc(100% - 48px); max-width: 520px; padding: 35px 0 175px; }
    .pricing-journey-copy { width: 100%; max-width: none; }
    .pricing-journey .pricing-eyebrow { font-size: 8px; letter-spacing: 1.5px; line-height: 12px; margin-bottom: 12px; }
    .pricing-journey h2 { max-width: 460px; font-size: 31px; line-height: 1.18; }
    .pricing-journey-description { max-width: 440px; margin-top: 14px; font-size: 13px; line-height: 1.65; }
    .pricing-journey-actions { gap: 10px; margin-top: 22px; }
    .pricing-journey-button { min-height: 43px; padding: 10px 21px; font-size: 12px; }
    .pricing-journey-secondary { min-width: 0; padding-inline: 20px; }
    .pricing-journey-note { top: auto; bottom: 54px; left: 24px; width: 134px; color: #385480; font-size: 23px; text-shadow: 0 1px 10px #fff; }
}
@media (max-width: 380px) {
    .pricing-faq { padding-inline: 16px; }
    .pricing-faq-heading h2 { font-size: 29px; }
    .pricing-faq-question { font-size: 14px; padding-inline: 13px; }
    .pricing-journey-inner { width: calc(100% - 40px); }
    .pricing-journey h2 { font-size: 29px; }
    .pricing-journey-button { padding-inline: 17px; font-size: 11px; }
    .pricing-journey-actions { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .pricing-faq *, .pricing-journey *, .pricing-journey::after { animation: none !important; transition: none !important; }
    .pricing-journey-button:hover { transform: none; }
}
