@font-face {
    font-family: "Cinzel";
    src: url("../lang/Cinzel/static/Cinzel-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cinzel";
    src: url("../lang/Cinzel/static/Cinzel-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../lang/Poppins/Poppins-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../lang/Poppins/Poppins-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../lang/Poppins/Poppins-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../lang/Poppins/Poppins-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Poppins";
    src: url("../lang/Poppins/Poppins-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

:root {
    --astro-bg: #080511;
    --astro-surface: #130a23;
    --astro-surface-soft: #fbf7ff;
    --astro-surface-card: rgba(34, 17, 57, 0.78);
    --astro-surface-card-solid: #1a0f2d;
    --astro-border: rgba(255, 212, 102, 0.18);
    --astro-border-strong: rgba(255, 212, 102, 0.34);
    --astro-text: #ffffff;
    --astro-text-dark: #2a2240;
    --astro-text-muted: rgba(255, 255, 255, 0.76);
    --astro-text-soft: #6e6787;
    --astro-accent: #f6c34f;
    --astro-accent-soft: #ffe7a9;
    --astro-violet: #8d50ff;
    --astro-violet-soft: #b990ff;
    --astro-shadow: 0 22px 60px rgba(11, 5, 24, 0.45);
    --astro-shell: min(1180px, calc(100% - 36px));
    --astro-font-hero-title: 64px;
    --astro-font-section-title: 42px;
    --astro-font-card-title: 22px;
    --astro-font-body: 17px;
    --astro-scroll-progress: 0%;
    --astro-hero-shift: 0px;
    --astro-glow-shift: 0px;
    --astro-cosmic-shift: 0px;
    --astro-zodiac-drift: 0px;
    --astro-nebula-alpha: 0;
    --astro-header-offset: 110px;
    --astro-header-offset-mobile: 72px;
    --astro-viewport-height: 100vh;
}

* {
    box-sizing: border-box;
}

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

body.astro-body {
    margin: 0;
    min-height: 100vh;
    font-family: "Poppins", sans-serif;
    font-size: var(--astro-font-body);
    color: var(--astro-text);
    font-synthesis: none;
    background:
        radial-gradient(circle at 10% 20%, rgba(144, 72, 255, 0.32), transparent 28%),
        radial-gradient(circle at 90% 12%, rgba(246, 195, 79, 0.22), transparent 18%),
        radial-gradient(circle at 70% 40%, rgba(117, 46, 194, 0.38), transparent 24%),
        linear-gradient(180deg, #090313 0%, #12081f 28%, #150b23 58%, #f7f2fb 58%, #fffdfd 100%);
}

body.astro-body::before {
    content: "";
    position: fixed;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 30%, rgba(255, 255, 255, 0.45) 0 1px, transparent 1px),
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.5) 0 1px, transparent 1px),
        radial-gradient(circle at 80% 18%, rgba(255, 255, 255, 0.35) 0 1px, transparent 1px),
        radial-gradient(circle at 60% 70%, rgba(255, 255, 255, 0.4) 0 1px, transparent 1px);
    background-size: 320px 220px, 420px 260px, 360px 240px, 520px 320px;
    pointer-events: none;
    opacity: 0.48;
}

body.astro-body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: var(--astro-scroll-progress);
    height: 3px;
    z-index: 60;
    background: linear-gradient(90deg, #ffd97a, #f6c34f 45%, #c78cff 100%);
    box-shadow: 0 0 18px rgba(246, 195, 79, 0.34);
    pointer-events: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea {
    font: inherit;
}

.astro-main section,
.astro-footer,
.astro-header {
    position: relative;
    z-index: 1;
}

.astro-motion-ready [data-astro-reveal] {
    opacity: 0;
    filter: blur(10px);
    transform: translate3d(0, 34px, 0) scale(0.985);
    transition:
        opacity 760ms ease,
        transform 760ms cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 760ms ease;
    will-change: opacity, transform, filter;
}

.astro-motion-ready [data-astro-reveal="left"] {
    transform: translate3d(-44px, 24px, 0) scale(0.985);
}

.astro-motion-ready [data-astro-reveal="right"] {
    transform: translate3d(44px, 24px, 0) scale(0.985);
}

.astro-motion-ready [data-astro-reveal="zoom"] {
    transform: translate3d(0, 28px, 0) scale(0.94);
}

.astro-motion-ready [data-astro-reveal].is-visible {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) scale(1);
}

.astro-only-mobile {
    display: none !important;
}

.astro-only-desktop {
    display: flex !important;
}

.astro-section-head {
    width: var(--astro-shell);
    margin: 0 auto 36px;
}

.astro-section-head--dark {
    text-align: center;
}

.astro-section-head--light {
    color: var(--astro-text-dark);
}

.astro-section-label {
    margin: 0 0 14px;
    color: var(--astro-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    line-height: 1.35;
    text-wrap: balance;
    text-transform: uppercase;
}

.astro-section-title {
    margin: 0;
    font-family: "Cinzel", serif;
    font-size: var(--astro-font-section-title);
    line-height: 1.12;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

html[lang="hi"] .astro-section-label,
html[lang="hi"] .astro-social__pill,
html[lang="hi"] .astro-horoscope__tag,
html[lang="hi"] .astro-faq__eyebrow,
html[lang="hi"] .astro-header__nav a,
html[lang="hi"] .astro-header__lang-pill,
html[lang="hi"] .astro-footer__badge span,
html[lang="hi"] .astro-footer__contact-item small {
    letter-spacing: 0.06em;
}

html[lang="hi"] .astro-hero__title,
html[lang="hi"] .astro-section-title,
html[lang="hi"] .astro-horoscope__title,
html[lang="hi"] .astro-social__title {
    line-height: 1.18;
}

html[lang="hi"] .astro-hero__text,
html[lang="hi"] .astro-about__text,
html[lang="hi"] .astro-services__card p,
html[lang="hi"] .astro-social__card p,
html[lang="hi"] .astro-horoscope__card p,
html[lang="hi"] .astro-testimonials__quote,
html[lang="hi"] .astro-faq__answer,
html[lang="hi"] .astro-booking__contact-list,
html[lang="hi"] .astro-footer__links a,
html[lang="hi"] .astro-footer__contact p {
    line-height: 1.72;
}

.astro-section-head--feature {
    position: relative;
    padding: 0 0 24px 22px;
}

.astro-section-head--feature::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 4px;
    height: calc(100% - 28px);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(246, 195, 79, 0.92), rgba(141, 80, 255, 0.78));
    box-shadow: 0 0 20px rgba(246, 195, 79, 0.18);
}

.astro-section-head--feature::after {
    content: "";
    position: absolute;
    left: 22px;
    bottom: 0;
    width: min(220px, 42%);
    height: 1px;
    background: linear-gradient(90deg, rgba(246, 195, 79, 0.92), rgba(141, 80, 255, 0.16));
}

.astro-section-head--feature .astro-section-label {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    margin-bottom: 10px;
    border-radius: 999px;
    color: #e7ab14;
    background: linear-gradient(180deg, rgba(255, 218, 135, 0.22), rgba(255, 218, 135, 0.08));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.54),
        0 8px 20px rgba(246, 195, 79, 0.12),
        0 14px 28px rgba(0, 0, 0, 0.16);
    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.34),
        0 2px 12px rgba(125, 73, 0, 0.18);
}

.astro-section-head--feature .astro-section-title,
.astro-section-head--feature .astro-horoscope__title {
    max-width: 1000px;
    letter-spacing: -0.01em;
    text-wrap: balance;
}

.astro-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: var(--astro-font-body);
    font-weight: 800;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.astro-button:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 16px 30px rgba(11, 5, 24, 0.3);
}

.astro-button--solid {
    color: #241100;
    border-color: rgba(255, 247, 220, 0.42);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0) 46%),
        linear-gradient(135deg, var(--astro-accent), #ffd97a);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        inset 0 -10px 18px rgba(187, 120, 0, 0.08),
        0 12px 26px rgba(246, 195, 79, 0.22);
}

.astro-button--solid::before {
    content: "";
    position: absolute;
    top: -20%;
    left: -32%;
    width: 34%;
    height: 140%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0));
    transform: skewX(-22deg);
    animation: astroButtonShine 3.8s ease-in-out infinite;
    pointer-events: none;
}

.astro-button--solid::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.24), transparent 34%);
    opacity: 0.92;
    pointer-events: none;
}

.astro-button--ghost {
    color: var(--astro-text);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.05)),
        linear-gradient(135deg, rgba(147, 98, 255, 0.16), rgba(255, 214, 122, 0.06));
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -10px 22px rgba(255, 255, 255, 0.02),
        0 14px 28px rgba(10, 5, 20, 0.18);
    -webkit-backdrop-filter: blur(22px) saturate(1.24);
    backdrop-filter: blur(22px) saturate(1.24);
}

.astro-button--ghost::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 42%),
        radial-gradient(circle at 24% 0%, rgba(255, 255, 255, 0.18), transparent 38%);
    opacity: 0.75;
    pointer-events: none;
}

.astro-button--solid:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        0 18px 34px rgba(246, 195, 79, 0.28);
}

.astro-header {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    overflow: hidden;
    isolation: isolate;
    width: min(1520px, calc(100% - 28px));
    margin: 0 auto;
    -webkit-backdrop-filter: blur(30px) saturate(1.32);
    backdrop-filter: blur(30px) saturate(1.32);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03) 36%, rgba(255, 255, 255, 0.02) 100%),
        linear-gradient(135deg, rgba(31, 16, 58, 0.78), rgba(20, 10, 37, 0.62));
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 24px;
    box-shadow:
        0 20px 46px rgba(8, 4, 16, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -18px 32px rgba(10, 4, 20, 0.16);
    transition:
        transform 220ms ease,
        background 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease;
}

.astro-header::before,
.astro-header::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.astro-header::before {
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 34%),
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.18), transparent 26%),
        radial-gradient(circle at 88% 8%, rgba(255, 214, 122, 0.08), transparent 20%);
    opacity: 0.95;
}

.astro-header::after {
    top: 0;
    left: 6%;
    width: 42%;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0));
    opacity: 0.7;
}

.astro-header.astro-header--compact {
    transform: translateX(-50%) translateY(-2px);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03) 36%, rgba(255, 255, 255, 0.02) 100%),
        linear-gradient(135deg, rgba(22, 10, 43, 0.84), rgba(14, 7, 28, 0.74));
    box-shadow:
        0 16px 40px rgba(8, 4, 16, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -14px 26px rgba(10, 4, 20, 0.18);
}

.astro-header__shell {
    width: 100%;
    min-height: 110px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 156px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 10px 18px;
}

.astro-header__desktop-left,
.astro-header__desktop-right {
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
}

.astro-header__desktop-left {
    justify-content: flex-start;
}

.astro-header__shell-mobile {
    display: none;
}

.astro-header__mobile-tools {
    display: none;
}

.astro-header__brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: var(--astro-text);
    flex: 0 0 auto;
}

.astro-header__brand--desktop {
    width: 156px;
    justify-self: center;
    justify-content: center;
}

.astro-header__brand-frame {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    flex: 0 0 auto;
    border: none;
    background: transparent;
    box-shadow: none;
}

.astro-header__brand-frame--desktop {
    width: 156px;
    height: 96px;
    padding: 0;
    border-radius: 0;
}

.astro-header__brand-frame--mobile {
    width: 96px;
    height: 56px;
    padding: 0;
    border-radius: 0;
}

.astro-header__logo-image {
    display: block;
    max-width: none;
    object-fit: contain;
    object-position: center center;
}

.astro-header__logo-image--desktop {
    width: 100% !important;
    height: 100%;
    filter: drop-shadow(0 10px 20px rgba(12, 5, 24, 0.18));
}

.astro-header__logo-image--mobile {
    width: 100% !important;
    height: 100%;
    filter: drop-shadow(0 8px 16px rgba(12, 5, 24, 0.14));
}

.astro-header__desktop-right {
    justify-content: flex-end;
    gap: 10px;
}

.astro-header__brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.astro-header__brand-copy strong {
    font-family: "Cinzel", serif;
    font-size: 1.45rem;
    line-height: 1;
    letter-spacing: 0.02em;
}

.astro-header__nav {
    position: relative;
    overflow: hidden;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)),
        linear-gradient(135deg, rgba(147, 98, 255, 0.08), rgba(255, 214, 122, 0.04));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        inset 0 -12px 20px rgba(255, 255, 255, 0.015);
    -webkit-backdrop-filter: blur(24px) saturate(1.26);
    backdrop-filter: blur(24px) saturate(1.26);
}

.astro-header__nav--desktop-left {
    flex: 0 1 auto;
}

.astro-header__nav--desktop-right {
    flex: 0 1 auto;
}

.astro-header__nav::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 42%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.16), transparent 30%);
    pointer-events: none;
}

.astro-header__nav a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.astro-header__nav a:hover {
    color: #130a23;
    background: linear-gradient(135deg, rgba(255, 214, 122, 0.98), rgba(255, 241, 191, 0.98));
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(246, 195, 79, 0.16);
}

.astro-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.astro-header__cta {
    min-height: 46px;
    min-width: max-content;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 14px 30px rgba(246, 195, 79, 0.2);
}

.astro-header__lang-switch,
.astro-header__mobile-lang {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        linear-gradient(135deg, rgba(147, 98, 255, 0.08), rgba(255, 214, 122, 0.04));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -12px 20px rgba(255, 255, 255, 0.015),
        0 10px 26px rgba(10, 5, 20, 0.18);
    -webkit-backdrop-filter: blur(24px) saturate(1.24);
    backdrop-filter: blur(24px) saturate(1.24);
}

.astro-header__lang-switch::before,
.astro-header__mobile-lang::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 42%),
        radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.16), transparent 32%);
    pointer-events: none;
}

.astro-header__lang-pill {
    position: relative;
    z-index: 1;
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.74);
    background: rgba(255, 255, 255, 0.02);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.astro-header__lang-pill:hover {
    color: #fff7e7;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.astro-header__lang-pill.is-active {
    color: #2b113f;
    background: linear-gradient(135deg, rgba(255, 222, 147, 0.98), rgba(255, 245, 214, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 8px 18px rgba(246, 195, 79, 0.18);
}

.astro-header__menu-toggle {
    position: relative;
    overflow: hidden;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
        linear-gradient(135deg, rgba(147, 98, 255, 0.08), rgba(255, 214, 122, 0.04));
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 10px 24px rgba(10, 5, 20, 0.12);
    -webkit-backdrop-filter: blur(20px) saturate(1.24);
    backdrop-filter: blur(20px) saturate(1.24);
    cursor: pointer;
    transition:
        transform 300ms cubic-bezier(0.22, 0.72, 0.18, 1),
        box-shadow 300ms ease,
        border-color 260ms ease,
        background 300ms ease;
}

.astro-header__menu-toggle::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 25% 0%, rgba(255, 255, 255, 0.18), transparent 34%);
    pointer-events: none;
}

.astro-header__menu-toggle:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 226, 167, 0.24);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 14px 30px rgba(10, 5, 20, 0.16);
}

.astro-header__menu-toggle span {
    position: relative;
    z-index: 1;
    display: block;
    height: 2px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    transform-origin: center;
    transition:
        transform 320ms cubic-bezier(0.22, 0.72, 0.18, 1),
        opacity 180ms ease,
        width 280ms ease,
        background 220ms ease;
}

.astro-header__menu-toggle span:nth-child(1) {
    width: 18px;
}

.astro-header__menu-toggle span:nth-child(2) {
    width: 22px;
}

.astro-header__menu-toggle span:nth-child(3) {
    width: 18px;
}

.astro-header__menu-toggle[aria-expanded="true"] {
    border-color: rgba(255, 224, 160, 0.28);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05)),
        linear-gradient(135deg, rgba(161, 114, 255, 0.1), rgba(255, 214, 122, 0.08));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 16px 32px rgba(10, 5, 20, 0.18);
    transform: scale(0.98);
}

.astro-header__menu-toggle[aria-expanded="true"] span:nth-child(1) {
    width: 22px;
    transform: translateY(7px) rotate(45deg);
}

.astro-header__menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0.2);
}

.astro-header__menu-toggle[aria-expanded="true"] span:nth-child(3) {
    width: 22px;
    transform: translateY(-7px) rotate(-45deg);
}

.astro-header__mobile-panel {
    width: calc(100% - 24px);
    margin: 0 12px 14px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, rgba(28, 15, 47, 0.84), rgba(20, 11, 35, 0.76));
    box-shadow:
        0 18px 36px rgba(8, 4, 16, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    -webkit-backdrop-filter: blur(26px) saturate(1.22);
    backdrop-filter: blur(26px) saturate(1.22);
    opacity: 0;
    filter: blur(6px);
    transform: translateY(-10px) scale(0.985);
    transform-origin: top right;
    pointer-events: none;
    transition:
        opacity 260ms ease,
        transform 320ms cubic-bezier(0.22, 0.72, 0.18, 1),
        filter 260ms ease;
}

.astro-header__mobile-panel[hidden] {
    display: none !important;
}

.astro-header__mobile-panel:not([hidden]) {
    display: block;
}

.astro-header__mobile-panel.is-open {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.astro-header__mobile-panel.is-closing {
    opacity: 0;
    filter: blur(6px);
    transform: translateY(-8px) scale(0.99);
    pointer-events: none;
}

.astro-header__mobile-nav {
    display: grid;
    gap: 12px;
}

.astro-header__mobile-nav > a {
    opacity: 0;
    transform: translateY(10px);
    transition:
        opacity 260ms ease,
        transform 320ms cubic-bezier(0.22, 0.72, 0.18, 1),
        color 180ms ease,
        border-color 180ms ease,
        background 180ms ease;
}

.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a {
    opacity: 1;
    transform: translateY(0);
}

.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(1) { transition-delay: 40ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(2) { transition-delay: 70ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(3) { transition-delay: 100ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(4) { transition-delay: 130ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(5) { transition-delay: 160ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(6) { transition-delay: 190ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(7) { transition-delay: 220ms; }
.astro-header__mobile-panel.is-open .astro-header__mobile-nav > a:nth-child(8) { transition-delay: 250ms; }

.astro-header__mobile-nav > a:not(.astro-header__mobile-cta) {
    padding: 10px 0;
    color: var(--astro-text-muted);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.astro-header__mobile-nav > a:not(.astro-header__mobile-cta):hover {
    color: #fff5e8;
    border-bottom-color: rgba(255, 226, 167, 0.22);
}

.astro-header__mobile-nav > a:not(.astro-header__mobile-cta):last-of-type {
    border-bottom: 0;
}

.astro-header__mobile-cta {
    margin-top: 8px;
}

.astro-header__mobile-lang {
    width: 100%;
    justify-content: space-between;
    margin-top: 4px;
}

.astro-header__mobile-lang .astro-header__lang-pill {
    flex: 1;
}

.astro-hero {
    position: relative;
    margin-top: 0;
    padding: 0 0 116px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(6, 3, 15, 0.94) 0%, rgba(11, 6, 22, 0.86) 34%, rgba(17, 8, 31, 0.45) 58%, rgba(12, 6, 23, 0.2) 100%),
        linear-gradient(180deg, rgba(10, 4, 20, 0.2) 0%, rgba(10, 4, 20, 0.62) 100%),
        url("../images/astro-hero-section.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

.astro-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% calc(24% + var(--astro-glow-shift)), rgba(173, 95, 255, 0.18), transparent 24%),
        radial-gradient(circle at 74% calc(14% + var(--astro-glow-shift)), rgba(255, 214, 111, 0.12), transparent 12%);
    pointer-events: none;
    transition: transform 220ms ease-out;
}

.astro-hero__effects {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.astro-hero__twinkle,
.astro-hero__shooting-star {
    position: absolute;
    pointer-events: none;
}

.astro-hero__twinkle {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 248, 223, 0.96) 0%, rgba(255, 222, 157, 0.72) 42%, rgba(255, 222, 157, 0) 100%);
    box-shadow:
        0 0 12px rgba(255, 242, 196, 0.45),
        0 0 22px rgba(170, 103, 255, 0.18);
    opacity: 0.2;
    animation: astroHeroTwinkle 4.4s ease-in-out infinite;
}

.astro-hero__twinkle::before,
.astro-hero__twinkle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255, 246, 217, 0.96), transparent);
    transform: translate(-50%, -50%);
}

.astro-hero__twinkle::before {
    width: 22px;
    height: 1px;
}

.astro-hero__twinkle::after {
    width: 1px;
    height: 22px;
}

.astro-hero__twinkle--1 {
    top: 16%;
    left: 18%;
    animation-delay: -0.8s;
}

.astro-hero__twinkle--2 {
    top: 22%;
    left: 40%;
    width: 6px;
    height: 6px;
    animation-delay: -2.1s;
}

.astro-hero__twinkle--3 {
    top: 34%;
    left: 54%;
    width: 5px;
    height: 5px;
    animation-delay: -1.6s;
}

.astro-hero__twinkle--4 {
    top: 18%;
    right: 19%;
    width: 9px;
    height: 9px;
    animation-delay: -3s;
}

.astro-hero__twinkle--5 {
    top: 58%;
    left: 12%;
    width: 7px;
    height: 7px;
    animation-delay: -2.5s;
}

.astro-hero__twinkle--6 {
    top: 74%;
    left: 48%;
    width: 5px;
    height: 5px;
    animation-delay: -1.1s;
}

.astro-hero__shooting-star {
    width: 150px;
    height: 2px;
    border-radius: 999px;
    opacity: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 248, 223, 0.94), rgba(183, 111, 255, 0.1));
    box-shadow: 0 0 14px rgba(255, 242, 196, 0.32);
    transform: rotate(-18deg) translate3d(0, 0, 0);
    animation: astroHeroShootingStar 8s linear infinite;
}

.astro-hero__shooting-star::after {
    content: "";
    position: absolute;
    right: -1px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 248, 223, 0.96);
    box-shadow: 0 0 14px rgba(255, 240, 185, 0.72);
    transform: translateY(-50%);
}

.astro-hero__shooting-star--1 {
    top: 20%;
    left: 56%;
    animation-delay: -1.4s;
}

.astro-hero__shooting-star--2 {
    top: 48%;
    left: 38%;
    width: 120px;
    animation-delay: -5.2s;
}

.astro-hero__shell {
    width: var(--astro-shell);
    margin: 0 auto;
    position: relative;
    z-index: 1;
    display: block;
}

.astro-hero-mobile {
    display: none;
}

.astro-hero__shell-desktop {
    min-height: auto;
    display: flex;
    align-items: flex-start;
}

.astro-hero__shell--desktop {
    padding-top: 148px;
}

.astro-hero--lang-en .astro-hero__shell--desktop {
    padding-top: 148px;
}

.astro-hero--lang-hi .astro-hero__shell--desktop {
    padding-top: 160px;
}

.astro-hero__content {
    width: min(100%, 680px);
    padding: 0;
    transform: translateY(var(--astro-hero-shift));
}

.astro-hero__title {
    max-width: 780px;
    margin: 0;
    font-family: "Cinzel", serif;
    font-size: var(--astro-font-hero-title);
    line-height: 0.98;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.astro-hero__text {
    max-width: 660px;
    margin: 22px 0 0;
    color: var(--astro-text-muted);
    font-size: var(--astro-font-body);
    line-height: 1.75;
    text-wrap: pretty;
}

.astro-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.astro-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 42px;
}

.astro-hero__stat-card {
    min-height: 118px;
    padding: 18px 16px 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid var(--astro-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: var(--astro-shadow);
    transition: transform 260ms ease, border-color 260ms ease, background 260ms ease;
    animation: astroFloat 6.4s ease-in-out infinite;
}

.astro-hero__stat-card:nth-child(2) {
    animation-delay: 0.7s;
}

.astro-hero__stat-card:nth-child(3) {
    animation-delay: 1.4s;
}

.astro-hero__stat-card:nth-child(4) {
    animation-delay: 2.1s;
}

.astro-hero__stat-card:nth-child(4) span {
    white-space: nowrap;
    font-size: 0.8rem;
}

.astro-hero__stat-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 212, 102, 0.36);
    background: rgba(255, 255, 255, 0.08);
}

.astro-hero__stat-card strong {
    display: block;
    color: var(--astro-accent);
    font-size: 1.3rem;
    font-weight: 800;
}

.astro-hero__stat-card span {
    display: block;
    margin-top: 6px;
    color: var(--astro-text-muted);
    font-size: 0.84rem;
}

.astro-about,
.astro-testimonials,
.astro-blog,
.astro-faq {
    padding: 84px 0;
    background: linear-gradient(180deg, rgba(247, 242, 251, 0.88), rgba(255, 255, 255, 0.98));
}

.astro-about__grid,
.astro-booking__grid,
.astro-social__shell,
.astro-highlights__shell {
    width: var(--astro-shell);
    margin: 0 auto;
}

.astro-about__visual-section,
.astro-about__info-section {
    width: var(--astro-shell);
    margin: 0 auto;
}

.astro-about__visual-section {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}

.astro-about__info-section {
    margin-top: 28px;
}

.astro-about__top-row {
    width: min(100%, 760px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 28px;
}

.astro-about__photo-card,
.astro-about__content,
.astro-about__badge-card,
.astro-social__card,
.astro-horoscope__card,
.astro-testimonials__card,
.astro-blog__card,
.astro-faq__item,
.astro-booking__form-card {
    border: 1px solid rgba(42, 34, 64, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 42px rgba(35, 18, 58, 0.09);
}

.astro-about__photo-card,
.astro-about__content,
.astro-about__badge-card,
.astro-services__card,
.astro-social__card,
.astro-zodiac__card,
.astro-horoscope__card,
.astro-testimonials__card,
.astro-blog__card,
.astro-faq__item,
.astro-booking__info,
.astro-booking__form-card {
    transition:
        transform 300ms ease,
        box-shadow 300ms ease,
        border-color 300ms ease,
        background 300ms ease;
}

.astro-about__photo-card:hover,
.astro-about__content:hover,
.astro-about__badge-card:hover,
.astro-social__card:hover,
.astro-horoscope__card:hover,
.astro-testimonials__card:hover,
.astro-blog__card:hover,
.astro-faq__item:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 56px rgba(35, 18, 58, 0.13);
}

.astro-about__photo-card,
.astro-about__badge-card {
    padding: 18px;
}

.astro-about__photo-frame {
    padding: 8px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(246, 195, 79, 0.34), rgba(141, 80, 255, 0.22));
}

.astro-about__photo {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    color: var(--astro-text);
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 226, 162, 0.24), transparent 22%),
        linear-gradient(180deg, rgba(37, 17, 67, 0.84), rgba(14, 8, 28, 0.94));
}

.astro-about__photo span {
    font-family: "Cinzel", serif;
    font-size: 4rem;
    color: var(--astro-accent-soft);
}

.astro-about__photo small {
    margin-top: 12px;
    color: var(--astro-text-muted);
}

.astro-about__content {
    padding: 30px;
    color: var(--astro-text-dark);
}

.astro-about__content--wide {
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 34px 36px;
}

.astro-about__text {
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.8;
    text-wrap: pretty;
}

.astro-about__list {
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.astro-about__list li {
    position: relative;
    min-height: 100%;
    padding: 18px 18px 18px 42px;
    font-weight: 700;
    border: 1px solid rgba(42, 34, 64, 0.08);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 242, 252, 0.92));
    box-shadow: 0 12px 30px rgba(35, 18, 58, 0.06);
}

.astro-about__list li::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 22px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--astro-accent), var(--astro-violet));
}

.astro-about__badge-card {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--astro-text);
    background: linear-gradient(180deg, #2f1450, #170b2b);
    border-color: rgba(255, 212, 102, 0.24);
}

.astro-about__badge-card strong {
    font-family: "Cinzel", serif;
    font-size: 3rem;
    color: var(--astro-accent);
}

.astro-about__badge-card span {
    display: block;
    max-width: 120px;
    margin-top: 8px;
    color: var(--astro-text-muted);
    line-height: 1.5;
    text-align: center;
}

.astro-services {
    padding: 82px 0;
    background:
        radial-gradient(circle at 50% 10%, rgba(141, 80, 255, 0.28), transparent 25%),
        linear-gradient(180deg, rgba(20, 11, 35, 0.95), rgba(11, 6, 23, 0.99));
}

.astro-services__grid,
.astro-horoscope__grid,
.astro-testimonials__grid,
.astro-pricing__grid,
.astro-blog__grid,
.astro-faq__grid {
    width: var(--astro-shell);
    margin: 0 auto;
}

.astro-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.astro-services__card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    width: 100%;
    min-height: 100%;
    padding: 26px 22px;
    border: 1px solid rgba(255, 212, 102, 0.14);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(44, 21, 75, 0.96), rgba(24, 12, 43, 0.96));
    box-shadow: var(--astro-shadow);
    transition:
        transform 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease,
        background 260ms ease;
}

.astro-services__card:hover {
    transform: translateY(-10px);
    border-color: rgba(255, 212, 102, 0.3);
    box-shadow: 0 26px 52px rgba(11, 5, 24, 0.44);
}

.astro-services__card--trigger {
    appearance: none;
    display: grid;
    align-content: start;
    gap: 0;
    text-align: left;
    color: var(--astro-text);
    cursor: pointer;
}

.astro-services__card--trigger::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 40%),
        radial-gradient(circle at 12% 0%, rgba(255, 255, 255, 0.12), transparent 26%);
    opacity: 0.88;
    pointer-events: none;
}

.astro-services__card--trigger > * {
    position: relative;
    z-index: 1;
}

.astro-services__card--trigger:focus-visible {
    outline: none;
    border-color: rgba(255, 220, 141, 0.34);
    box-shadow:
        0 0 0 3px rgba(255, 220, 141, 0.14),
        0 26px 52px rgba(11, 5, 24, 0.44);
}

.astro-social {
    position: relative;
    overflow: hidden;
    padding: 84px 0;
    background:
        radial-gradient(circle at 18% 22%, rgba(141, 80, 255, 0.24), transparent 22%),
        radial-gradient(circle at 84% 16%, rgba(246, 195, 79, 0.14), transparent 12%),
        linear-gradient(180deg, rgba(18, 9, 32, 0.98), rgba(31, 14, 52, 0.98));
}

.astro-social::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 12% 28%, rgba(255, 255, 255, 0.42) 0 1px, transparent 1px),
        radial-gradient(circle at 38% 20%, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px),
        radial-gradient(circle at 74% 34%, rgba(255, 255, 255, 0.34) 0 1px, transparent 1px),
        radial-gradient(circle at 88% 76%, rgba(255, 255, 255, 0.26) 0 1px, transparent 1px);
    background-size: 440px 280px, 520px 320px, 420px 260px, 540px 320px;
    opacity: 0.46;
    pointer-events: none;
}

.astro-social__shell {
    width: min(1400px, calc(100% - 32px));
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.astro-social__intro {
    max-width: 920px;
    margin: 0 auto 36px;
    text-align: center;
    color: var(--astro-text);
}

.astro-social__pill {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin: 0;
    padding: 0 22px;
    border: 1px solid rgba(255, 212, 102, 0.2);
    border-radius: 999px;
    color: var(--astro-accent-soft);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, rgba(255, 212, 102, 0.12), rgba(141, 80, 255, 0.08));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 12px 28px rgba(8, 4, 16, 0.14);
    -webkit-backdrop-filter: blur(18px) saturate(1.18);
    backdrop-filter: blur(18px) saturate(1.18);
}

.astro-social__pill::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 48%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.14), transparent 34%);
    pointer-events: none;
}

.astro-social__title {
    margin: 18px 0 0;
    font-size: clamp(2.3rem, 4.2vw, 3.6rem);
    line-height: 1.08;
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fffaf1;
    text-wrap: balance;
}

.astro-social__text {
    max-width: 900px;
    margin: 14px auto 0;
    font-size: var(--astro-font-body);
    line-height: 1.72;
    color: rgba(255, 255, 255, 0.72);
}

.astro-social__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.astro-social__card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: block;
    min-height: 100%;
    padding: 26px 24px 24px;
    color: var(--astro-text);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, rgba(42, 20, 72, 0.84), rgba(24, 11, 44, 0.88));
    box-shadow:
        0 12px 28px rgba(10, 5, 20, 0.22),
        0 24px 42px rgba(10, 5, 20, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        inset 0 -14px 26px rgba(255, 255, 255, 0.015);
    -webkit-backdrop-filter: blur(24px) saturate(1.22);
    backdrop-filter: blur(24px) saturate(1.22);
}

.astro-social__card::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.16), transparent 26%);
    opacity: 0.9;
    pointer-events: none;
}

.astro-social__card:hover {
    transform: translateY(-10px);
    border-color: rgba(255, 230, 176, 0.24);
    box-shadow:
        0 20px 34px rgba(10, 5, 20, 0.28),
        0 30px 52px rgba(10, 5, 20, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        inset 0 -16px 30px rgba(255, 255, 255, 0.018);
}

.astro-social__card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.astro-social__icon {
    position: relative;
    overflow: hidden;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: #190d2b;
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 44%),
        linear-gradient(135deg, rgba(255, 212, 102, 0.96), rgba(255, 239, 185, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        inset 0 -8px 14px rgba(187, 120, 0, 0.08),
        0 10px 22px rgba(246, 195, 79, 0.18);
}

.astro-social__icon::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 36%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.2), transparent 34%);
    pointer-events: none;
}

.astro-social__icon-svg {
    position: relative;
    z-index: 1;
    width: 24px;
    height: 24px;
    display: block;
}

.astro-social__arrow {
    position: relative;
    z-index: 1;
    color: var(--astro-accent);
    font-size: 1.6rem;
    line-height: 1;
}

.astro-social__name {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.astro-social__card strong {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 10px;
    font-family: "Poppins", sans-serif;
    font-size: clamp(1.75rem, 1.8vw, 2rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: #fffaf1;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.astro-social__card p {
    position: relative;
    z-index: 1;
    margin: 12px 0 0;
    font-size: var(--astro-font-body);
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.6;
}

.astro-horoscope {
    position: relative;
    padding: 84px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 24%, rgba(141, 80, 255, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(248, 243, 252, 0.96), rgba(255, 255, 255, 1));
}

.astro-horoscope__shell {
    width: var(--astro-shell);
    margin: 0 auto;
}

.astro-horoscope__intro {
    max-width: 980px;
    margin-bottom: 32px;
}

.astro-horoscope__title {
    margin: 0;
    font-family: "Cinzel", serif;
    font-size: var(--astro-font-section-title);
    line-height: 1.18;
    color: #2d2450;
}

.astro-services__index {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--astro-accent);
    font-family: "Cinzel", serif;
    border: 1px solid rgba(255, 212, 102, 0.24);
    background: rgba(255, 255, 255, 0.03);
}

.astro-services__card h3 {
    margin: 20px 0 10px;
    font-size: var(--astro-font-card-title);
    line-height: 1.28;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.astro-services__card p {
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-muted);
    line-height: 1.75;
    text-wrap: pretty;
}

@media (min-width: 981px) {
    .astro-services__card:nth-child(2) h3,
    .astro-services__card:nth-child(5) h3,
    .astro-services__card:nth-child(7) h3 {
        font-size: 1.34rem;
        line-height: 1.14;
        letter-spacing: -0.02em;
        white-space: nowrap;
    }
}

.astro-services__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--astro-accent-soft);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.92;
    transition: transform 220ms ease, color 220ms ease, opacity 220ms ease;
}

.astro-services__action::after {
    content: "↘";
    font-size: 0.92rem;
    line-height: 1;
}

.astro-services__card--trigger:hover .astro-services__action,
.astro-services__card--trigger:focus-visible .astro-services__action {
    color: #fff6d8;
    opacity: 1;
    transform: translateX(4px);
}

.astro-service-flow {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at center, rgba(88, 40, 152, 0.22), rgba(7, 4, 14, 0.72));
    -webkit-backdrop-filter: blur(12px) saturate(1.1);
    backdrop-filter: blur(12px) saturate(1.1);
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease;
}

.astro-service-flow[hidden] {
    display: none !important;
}

.astro-service-flow.is-active {
    opacity: 1;
}

.astro-service-flow__inner {
    position: relative;
    width: min(280px, calc(100% - 48px));
    min-height: 280px;
    display: grid;
    place-items: center;
    text-align: center;
}

.astro-service-flow__ring,
.astro-service-flow__core,
.astro-service-flow__spark {
    position: absolute;
    border-radius: 50%;
}

.astro-service-flow__ring {
    inset: 50%;
    border: 1px solid rgba(255, 221, 143, 0.34);
    transform: translate(-50%, -50%);
}

.astro-service-flow__ring--1 {
    width: 96px;
    height: 96px;
    animation: astroServicePulse 1s ease-in-out infinite;
}

.astro-service-flow__ring--2 {
    width: 156px;
    height: 156px;
    border-color: rgba(162, 111, 255, 0.22);
    animation: astroServicePulse 1s ease-in-out 120ms infinite reverse;
}

.astro-service-flow__core {
    width: 22px;
    height: 22px;
    background: radial-gradient(circle at 34% 34%, #fff4ce, #f3bf54 58%, #7f42f6 100%);
    box-shadow:
        0 0 0 8px rgba(255, 218, 134, 0.08),
        0 0 28px rgba(255, 208, 99, 0.42);
    animation: astroServiceCore 1s ease-in-out infinite;
}

.astro-service-flow__spark {
    width: 8px;
    height: 8px;
    background: #fff1c7;
    box-shadow: 0 0 16px rgba(255, 221, 143, 0.36);
}

.astro-service-flow__spark--1 {
    top: 64px;
    left: calc(50% - 74px);
    animation: astroServiceSpark 900ms ease-in-out infinite;
}

.astro-service-flow__spark--2 {
    top: 86px;
    right: calc(50% - 78px);
    animation: astroServiceSpark 900ms ease-in-out 180ms infinite;
}

.astro-service-flow__spark--3 {
    bottom: 84px;
    left: calc(50% - 8px);
    animation: astroServiceSpark 900ms ease-in-out 360ms infinite;
}

.astro-service-flow__text {
    position: relative;
    z-index: 1;
    max-width: 220px;
    margin: 142px auto 0;
    color: #fff7e5;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1.6;
    text-wrap: balance;
}

.astro-highlights {
    padding: 84px 0;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 50%, rgba(122, 66, 221, 0.34), transparent 22%),
        radial-gradient(circle at 86% 18%, rgba(255, 212, 102, 0.1), transparent 10%),
        linear-gradient(135deg, #1a0d2f 0%, #2a144b 48%, #241042 100%);
}

.astro-highlights::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.45) 0 1px, transparent 1px),
        radial-gradient(circle at 32% 42%, rgba(255, 255, 255, 0.32) 0 1px, transparent 1px),
        radial-gradient(circle at 72% 24%, rgba(255, 255, 255, 0.35) 0 1px, transparent 1px),
        radial-gradient(circle at 90% 78%, rgba(255, 255, 255, 0.28) 0 1px, transparent 1px);
    background-size: 420px 280px, 520px 320px, 360px 240px, 460px 280px;
    opacity: 0.55;
    pointer-events: none;
}

.astro-highlights__shell {
    width: min(1320px, calc(100% - 40px));
    display: block;
    position: relative;
    z-index: 1;
}

.astro-highlights__intro {
    max-width: none;
    margin-bottom: 30px;
    color: var(--astro-text);
}

.astro-highlights__title {
    margin: 0;
    display: block;
    font-family: "Cinzel", serif;
    font-size: var(--astro-font-section-title);
    line-height: 1.02;
    white-space: nowrap;
    color: rgba(255, 248, 232, 0.92);
}

.astro-highlights__intro-text {
    max-width: 620px;
    margin: 18px 0 0;
    font-size: var(--astro-font-body);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.72);
}

.astro-highlights__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.astro-highlights__card {
    min-height: 260px;
    padding: 30px 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    color: var(--astro-text-dark);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(245, 241, 250, 0.96));
}

.astro-highlights__card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 50px rgba(16, 8, 30, 0.22);
}

.astro-highlights__card h3 {
    margin: 0 0 14px;
    font-size: var(--astro-font-card-title);
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.astro-highlights__card p {
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.6;
}

.astro-highlights__card-badge {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
    background: linear-gradient(135deg, #7f44ea, #f6c34f);
    box-shadow: 0 10px 22px rgba(80, 38, 157, 0.22);
}

.astro-zodiac {
    padding: 82px 0;
    overflow: hidden;
}

.astro-zodiac__background {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(141, 80, 255, 0.42), transparent 18%),
        radial-gradient(circle at 80% 35%, rgba(246, 195, 79, 0.18), transparent 12%),
        linear-gradient(145deg, rgba(12, 6, 24, 0.95), rgba(24, 11, 43, 0.98));
}

.astro-zodiac__content {
    position: relative;
    width: var(--astro-shell);
    margin: 0 auto;
}

.astro-zodiac__head {
    width: 100%;
}

.astro-zodiac__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.astro-zodiac__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-height: 100%;
    padding: 24px 12px;
    border: 1px solid rgba(255, 212, 102, 0.18);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.04);
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.astro-zodiac__card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(255, 212, 102, 0.42);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 42px rgba(8, 4, 16, 0.28);
}

.astro-zodiac__name {
    font-family: "Cinzel", serif;
    font-size: var(--astro-font-card-title);
    color: var(--astro-text);
    font-weight: 700;
    text-align: center;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.astro-zodiac__image-wrap {
    width: 116px;
    height: 116px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(11, 5, 24, 0.3);
}

.astro-zodiac__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 260ms ease, filter 260ms ease;
}

.astro-zodiac__card:hover .astro-zodiac__image {
    transform: scale(1.08);
    filter: saturate(1.08);
}

.astro-horoscope__grid,
.astro-testimonials__grid,
.astro-pricing__grid,
.astro-blog__grid {
    display: grid;
    gap: 20px;
}

.astro-horoscope__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.astro-horoscope__card {
    min-height: 100%;
    padding: 26px 24px 24px;
    color: var(--astro-text-dark);
    border: 1px solid rgba(101, 81, 154, 0.08);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 246, 252, 0.98));
    box-shadow: 0 18px 36px rgba(41, 26, 61, 0.08);
}

.astro-horoscope__card:hover,
.astro-pricing__card:hover,
.astro-blog__card:hover {
    transform: translateY(-10px);
    box-shadow: 0 26px 56px rgba(35, 18, 58, 0.14);
}

.astro-horoscope__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    margin-bottom: 18px;
    border-radius: 999px;
    color: #6b45b7;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(141, 80, 255, 0.08);
}

.astro-horoscope__card h3 {
    margin: 0 0 12px;
    font-size: var(--astro-font-card-title);
    line-height: 1.24;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.astro-horoscope__card p {
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.7;
}

.astro-horoscope__cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 20px;
    padding: 0 24px 0 40px;
    border: 1px solid rgba(116, 72, 193, 0.16);
    border-radius: 999px;
    color: #fff8ff;
    font-size: 0.94rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-shadow:
        0 0 10px rgba(255, 241, 212, 0.22),
        0 1px 0 rgba(35, 15, 77, 0.34);
    background:
        radial-gradient(circle at 16% 50%, rgba(255, 226, 151, 0.34), transparent 10%),
        radial-gradient(circle at 82% 18%, rgba(186, 124, 255, 0.22), transparent 24%),
        linear-gradient(135deg, rgba(116, 67, 215, 0.98), rgba(68, 30, 145, 0.96) 52%, rgba(47, 19, 101, 0.98));
    background-size: 100% 100%, 100% 100%, 180% 180%;
    animation: astroHoroscopeAura 5.2s ease-in-out infinite;
    box-shadow:
        0 18px 34px rgba(87, 45, 157, 0.22),
        0 0 24px rgba(121, 78, 220, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease,
        filter 220ms ease;
}

.astro-horoscope__cta::before {
    content: "";
    position: absolute;
    inset: -18% -22%;
    border-radius: 999px;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0) 20%, rgba(255, 245, 221, 0.34) 46%, rgba(255, 255, 255, 0) 66%),
        radial-gradient(circle at 30% 50%, rgba(255, 214, 112, 0.22), transparent 28%),
        radial-gradient(circle at 70% 40%, rgba(171, 111, 255, 0.18), transparent 32%);
    opacity: 0.92;
    filter: blur(8px);
    transform: translateX(-22%) rotate(-6deg);
    animation: astroHoroscopeShimmer 3.8s ease-in-out infinite;
    pointer-events: none;
}

.astro-horoscope__cta::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 16px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255, 250, 237, 0.98) 0 22%, rgba(255, 222, 132, 0.96) 34%, rgba(255, 212, 102, 0) 74%);
    box-shadow:
        0 0 14px rgba(255, 219, 132, 0.9),
        0 0 26px rgba(141, 80, 255, 0.4),
        14px -6px 0 -5px rgba(255, 233, 173, 0.92),
        22px 4px 0 -7px rgba(186, 124, 255, 0.74);
    transform: translateY(-50%);
    animation: astroHoroscopeSpark 2.4s ease-in-out infinite;
    pointer-events: none;
}

.astro-horoscope__cta:hover,
.astro-horoscope__cta:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(116, 72, 193, 0.28);
    box-shadow:
        0 24px 42px rgba(87, 45, 157, 0.28),
        0 0 30px rgba(121, 78, 220, 0.24),
        0 0 0 4px rgba(141, 80, 255, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    filter: saturate(1.08);
}

.astro-horoscope__cta:focus-visible {
    outline: none;
}

@keyframes astroHoroscopeAura {
    0%,
    100% {
        background-position: 0 0, 0 0, 0% 50%;
    }

    50% {
        background-position: 0 0, 0 0, 100% 50%;
    }
}

@keyframes astroHoroscopeShimmer {
    0%,
    100% {
        opacity: 0.54;
        transform: translateX(-26%) rotate(-6deg);
    }

    50% {
        opacity: 0.96;
        transform: translateX(22%) rotate(-6deg);
    }
}

@keyframes astroHoroscopeSpark {
    0%,
    100% {
        opacity: 0.74;
        transform: translateY(-50%) scale(0.88) rotate(0deg);
    }

    50% {
        opacity: 1;
        transform: translateY(-50%) scale(1.18) rotate(8deg);
    }
}

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

.astro-testimonials__card {
    position: relative;
    min-height: 100%;
    padding: 26px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    color: var(--astro-text-dark);
    overflow: hidden;
    border: 1px solid rgba(99, 78, 150, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 243, 251, 0.98));
    box-shadow:
        0 20px 44px rgba(35, 18, 58, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.astro-testimonials__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, rgba(246, 195, 79, 0.96), rgba(141, 80, 255, 0.72));
}

.astro-testimonials__card:hover .astro-testimonials__avatar {
    transform: scale(1.08);
}

.astro-testimonials__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.astro-testimonials__avatar {
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #2b113f;
    font-size: 1.5rem;
    font-weight: 800;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.84), transparent 32%),
        linear-gradient(135deg, rgba(255, 222, 151, 0.98), #fff7dc 72%);
    box-shadow: 0 14px 28px rgba(246, 195, 79, 0.18);
    transition: transform 240ms ease;
}

.astro-testimonials__rating {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    padding: 10px 14px;
    border: 1px solid rgba(246, 195, 79, 0.2);
    border-radius: 18px;
    background: rgba(246, 195, 79, 0.08);
}

.astro-testimonials__rating span {
    display: block;
    margin: 0;
    color: #9a6a08;
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1;
}

.astro-testimonials__rating small {
    display: block;
    color: #907d53;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.astro-testimonials__quote-mark {
    position: absolute;
    top: 92px;
    right: 22px;
    color: rgba(141, 80, 255, 0.12);
    font-family: "Cinzel", serif;
    font-size: 4.4rem;
    line-height: 1;
}

.astro-testimonials__quote {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.8;
    text-wrap: pretty;
}

.astro-testimonials__meta {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(99, 78, 150, 0.1);
}

.astro-testimonials__card strong,
.astro-testimonials__card span {
    display: block;
}

.astro-testimonials__card strong {
    font-size: 1.06rem;
    letter-spacing: -0.01em;
}

.astro-testimonials__card span {
    margin-top: 6px;
    color: #8b84a2;
    font-size: 0.92rem;
}

.astro-pricing__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.astro-pricing__card {
    padding: 28px;
    color: var(--astro-text-dark);
}

.astro-pricing__card h3 {
    margin: 0;
    font-size: var(--astro-font-card-title);
}

.astro-pricing__price {
    margin: 14px 0 18px;
    font-family: "Cinzel", serif;
    font-size: 2rem;
    color: #5f32a5;
}

.astro-pricing__features {
    margin: 0 0 26px;
    padding-left: 18px;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.8;
}

.astro-blog__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.astro-blog__card {
    padding: 24px;
    color: var(--astro-text-dark);
}

.astro-blog__category {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    color: #6840af;
    font-size: 0.8rem;
    font-weight: 800;
    background: rgba(141, 80, 255, 0.1);
}

.astro-blog__card h3 {
    margin: 18px 0 12px;
    font-size: var(--astro-font-card-title);
}

.astro-blog__card p {
    margin: 0;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    line-height: 1.78;
}

.astro-faq__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.astro-faq__item {
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(101, 81, 154, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 243, 251, 0.98));
    box-shadow:
        0 18px 42px rgba(35, 18, 58, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background 220ms ease;
}

.astro-faq__item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, rgba(246, 195, 79, 0.96), rgba(141, 80, 255, 0.72));
}

.astro-faq__question[aria-expanded="true"] {
    background: rgba(141, 80, 255, 0.05);
}

.astro-faq__question {
    width: 100%;
    padding: 24px 24px 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border: 0;
    color: var(--astro-text-dark);
    font-size: var(--astro-font-body);
    font-weight: 800;
    text-align: left;
    background: transparent;
    cursor: pointer;
    transition: background 220ms ease, color 220ms ease;
}

.astro-faq__question-copy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.astro-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    color: #906f2f;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(246, 195, 79, 0.12);
}

.astro-faq__question-text {
    display: block;
    line-height: 1.42;
    letter-spacing: -0.01em;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.astro-faq__icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 16px;
    color: #5b31a1;
    font-size: 1.28rem;
    font-weight: 800;
    background: linear-gradient(180deg, rgba(141, 80, 255, 0.12), rgba(141, 80, 255, 0.06));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1), background 220ms ease, color 220ms ease;
}

.astro-faq__question[aria-expanded="true"] .astro-faq__icon {
    color: #fff;
    background: linear-gradient(135deg, #7f44ea, #b36cff);
    transform: rotate(135deg) scale(1.06);
}

.astro-faq__answer {
    padding: 0 24px 24px;
    font-size: var(--astro-font-body);
    color: var(--astro-text-soft);
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    transition:
        max-height 360ms cubic-bezier(0.2, 0.7, 0.2, 1),
        opacity 220ms ease,
        transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.astro-faq__item.is-open {
    border-color: rgba(141, 80, 255, 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(246, 241, 252, 0.98));
    box-shadow: 0 24px 52px rgba(35, 18, 58, 0.14);
}

.astro-faq__item.is-open .astro-faq__answer {
    transform: translateY(0);
}

.astro-faq__answer p {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid rgba(99, 78, 150, 0.1);
    line-height: 1.76;
}

.astro-booking {
    padding: 92px 0 100px;
    background:
        radial-gradient(circle at 85% 30%, rgba(141, 80, 255, 0.35), transparent 18%),
        linear-gradient(180deg, rgba(17, 8, 31, 0.98), rgba(10, 6, 20, 1));
}

.astro-booking__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 30px;
    align-items: start;
}

.astro-booking__info {
    padding: 36px;
    border: 1px solid rgba(255, 212, 102, 0.16);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.03);
    box-shadow: var(--astro-shadow);
}

.astro-booking__contact-list {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
    font-size: var(--astro-font-body);
    color: var(--astro-text-muted);
}

.astro-booking__features {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.astro-booking__features span {
    padding: 10px 12px;
    border-radius: 999px;
    color: var(--astro-accent-soft);
    font-size: 0.84rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 212, 102, 0.14);
}

.astro-booking__form-card {
    padding: 30px;
    border-color: rgba(255, 212, 102, 0.12);
    background: rgba(21, 10, 37, 0.94);
}

.astro-booking__form-card.is-service-focus {
    border-color: rgba(255, 222, 147, 0.28);
    box-shadow:
        0 22px 48px rgba(11, 5, 24, 0.24),
        0 0 0 1px rgba(255, 222, 147, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.astro-booking__selected-service {
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 212, 102, 0.18);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)),
        linear-gradient(135deg, rgba(74, 37, 122, 0.58), rgba(33, 17, 58, 0.72));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 14px 32px rgba(8, 4, 16, 0.14);
}

.astro-booking__selected-service small {
    color: var(--astro-accent-soft);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.astro-booking__selected-service strong {
    color: #fff7ea;
    font-size: 1rem;
    font-weight: 700;
}

.astro-form__notice {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 700;
}

.astro-form__notice--success {
    color: #d4ffd8;
    background: rgba(44, 140, 69, 0.3);
    border: 1px solid rgba(83, 214, 112, 0.24);
}

.astro-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.astro-form__field {
    display: grid;
    gap: 8px;
}

.astro-form__field span {
    color: var(--astro-accent-soft);
    font-size: 0.84rem;
    font-weight: 700;
}

.astro-form__field input,
.astro-form__field textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    font-size: var(--astro-font-body);
    color: var(--astro-text);
    background: rgba(255, 255, 255, 0.05);
}

.astro-form__field textarea {
    min-height: 138px;
    resize: vertical;
}

.astro-form__field input::placeholder,
.astro-form__field textarea::placeholder {
    color: rgba(255, 255, 255, 0.44);
}

.astro-form__field small {
    color: #ffbdbd;
}

.astro-form__field--full {
    grid-column: 1 / -1;
}

.astro-form__submit {
    margin-top: 18px;
}

.astro-footer {
    position: relative;
    overflow: hidden;
    padding: 0 0 30px;
    background:
        linear-gradient(180deg, rgba(8, 4, 16, 0.54), rgba(8, 4, 16, 0.74)),
        url("../images/footer/Footer-section.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.astro-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 24%, rgba(141, 80, 255, 0.12), transparent 24%),
        radial-gradient(circle at 84% 20%, rgba(246, 195, 79, 0.08), transparent 16%);
    pointer-events: none;
}

.astro-footer__grid {
    width: var(--astro-shell);
    margin: 0 auto;
    padding: 34px 0;
    display: grid;
    grid-template-columns: minmax(260px, 1.18fr) minmax(180px, 0.82fr) minmax(280px, 1fr);
    gap: 28px;
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.astro-footer__brand,
.astro-footer__links,
.astro-footer__contact {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 22px 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, rgba(28, 13, 50, 0.76), rgba(16, 8, 30, 0.72));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        inset 0 -16px 30px rgba(255, 255, 255, 0.015),
        0 18px 36px rgba(7, 4, 16, 0.16);
    -webkit-backdrop-filter: blur(22px) saturate(1.2);
    backdrop-filter: blur(22px) saturate(1.2);
}

.astro-footer__brand::before,
.astro-footer__links::before,
.astro-footer__contact::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 16% 0%, rgba(255, 255, 255, 0.14), transparent 28%);
    pointer-events: none;
}

.astro-footer__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.astro-header__brand--footer {
    margin-bottom: 14px;
}

.astro-footer__brand-mark {
    position: relative;
    width: 104px;
    height: 104px;
    margin-bottom: 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 212, 102, 0.26);
    background: radial-gradient(circle at center, rgba(55, 27, 92, 0.92), rgba(18, 9, 32, 0.94));
    box-shadow: 0 18px 36px rgba(7, 4, 16, 0.28);
}

.astro-footer__brand-orbit,
.astro-footer__brand-core {
    position: absolute;
    border-radius: 50%;
}

.astro-footer__brand-orbit {
    inset: 16px;
    border: 1px solid rgba(255, 212, 102, 0.36);
}

.astro-footer__brand-core {
    width: 22px;
    height: 22px;
    background: radial-gradient(circle at 35% 35%, #fff1bf, #ffd667 55%, #f0a51d 100%);
    box-shadow: 0 0 24px rgba(255, 214, 103, 0.4);
}

.astro-footer__brand p {
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: 260px;
    font-size: 0.95rem;
    color: var(--astro-text-muted);
    line-height: 1.75;
}

.astro-footer__badges {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
    max-width: 360px;
    width: 100%;
}

.astro-footer__badge {
    min-height: 88px;
    padding: 12px 10px 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
        rgba(255, 255, 255, 0.02);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 10px 20px rgba(7, 4, 16, 0.08);
}

.astro-footer__badge span,
.astro-footer__badge strong {
    display: block;
}

.astro-footer__badge span {
    color: var(--astro-accent-soft);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

.astro-footer__badge strong {
    margin-top: 2px;
    color: #fff8ee;
    font-size: 0.86rem;
    line-height: 1.3;
    text-wrap: balance;
}

.astro-footer__links {
    display: grid;
    align-content: start;
    gap: 12px;
}

.astro-footer__links h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    color: var(--astro-accent-soft);
    font-family: "Cinzel", serif;
    font-size: 1rem;
}

.astro-footer__links a {
    position: relative;
    z-index: 1;
    padding-left: 12px;
    color: var(--astro-text-muted);
    font-size: 0.92rem;
    transition: color 180ms ease, transform 180ms ease;
}

.astro-footer__links a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--astro-accent);
}

.astro-footer__links a:hover {
    color: #fff5e3;
    transform: translateX(2px);
}

.astro-footer__contact {
    display: grid;
    align-content: start;
    gap: 14px;
}

.astro-footer__contact h3,
.astro-footer__socials h4 {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--astro-accent-soft);
    font-family: "Cinzel", serif;
    font-size: 1rem;
}

.astro-footer__contact p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--astro-text-muted);
    font-size: 0.9rem;
    line-height: 1.65;
}

.astro-footer__contact-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}

.astro-footer__contact-item {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
        rgba(255, 255, 255, 0.02);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 12px 24px rgba(7, 4, 16, 0.08);
    -webkit-backdrop-filter: blur(16px) saturate(1.14);
    backdrop-filter: blur(16px) saturate(1.14);
}

.astro-footer__contact-item::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 14% 0%, rgba(255, 255, 255, 0.12), transparent 24%);
    pointer-events: none;
}

.astro-footer__contact-icon {
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #190d2b;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 42%),
        linear-gradient(135deg, rgba(255, 212, 102, 0.96), rgba(255, 239, 185, 0.96));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        inset 0 -8px 14px rgba(187, 120, 0, 0.08),
        0 10px 20px rgba(246, 195, 79, 0.14);
}

.astro-footer__contact-icon::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 36%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.18), transparent 32%);
    pointer-events: none;
}

.astro-footer__contact-icon-svg {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
    display: block;
}

.astro-footer__contact-item small,
.astro-footer__contact-item strong {
    display: block;
}

.astro-footer__contact-item small {
    color: var(--astro-accent-soft);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.astro-footer__contact-item strong {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    line-height: 1.45;
}

.astro-footer__contact-button {
    position: relative;
    z-index: 1;
    min-height: 42px;
    width: 100%;
    font-size: 0.86rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.astro-footer__engage {
    width: var(--astro-shell);
    margin: 0 auto;
    padding: 6px 0 10px;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.astro-footer__connect {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    padding: 18px 16px 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)),
        linear-gradient(180deg, rgba(36, 17, 62, 0.72), rgba(18, 9, 32, 0.66));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        inset 0 -14px 24px rgba(255, 255, 255, 0.015),
        0 16px 30px rgba(7, 4, 16, 0.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.16);
    backdrop-filter: blur(18px) saturate(1.16);
}

.astro-footer__connect::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 38%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.12), transparent 28%);
    pointer-events: none;
}

.astro-footer__socials {
    position: relative;
    z-index: 1;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
}

.astro-footer__social-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.astro-footer__social-list a {
    position: relative;
    overflow: hidden;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--astro-accent-soft);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03)),
        rgba(255, 255, 255, 0.03);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.14),
        0 12px 24px rgba(7, 4, 16, 0.1);
    -webkit-backdrop-filter: blur(16px) saturate(1.16);
    backdrop-filter: blur(16px) saturate(1.16);
    transition: transform 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.astro-footer__social-list a::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 40%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.12), transparent 30%);
    pointer-events: none;
}

.astro-footer__social-list a:hover {
    transform: translateY(-3px);
    color: #fff5e3;
    border-color: rgba(255, 224, 168, 0.24);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 16px 28px rgba(7, 4, 16, 0.14);
}

.astro-footer__social-icon {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
    display: block;
}

.astro-footer__bar {
    width: var(--astro-shell);
    margin: 0 auto;
    padding-top: 22px;
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.54);
    text-align: center;
}

.astro-footer__bar p {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0;
}

.astro-footer__bar-separator {
    color: rgba(255, 212, 102, 0.46);
}

.astro-footer__bar a {
    color: var(--astro-accent-soft);
}

.astro-floating-tools {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 30;
    display: grid;
    gap: 10px;
    justify-items: end;
}

.astro-backtotop,
.astro-floating-whatsapp {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.astro-backtotop {
    width: 40px;
    height: 40px;
    color: rgba(31, 18, 48, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.26);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.08) 42%, rgba(255, 255, 255, 0.04) 100%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(214, 200, 255, 0.1));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 -10px 18px rgba(80, 49, 126, 0.08),
        0 14px 28px rgba(34, 18, 58, 0.18);
    -webkit-backdrop-filter: blur(22px) saturate(1.18);
    backdrop-filter: blur(22px) saturate(1.18);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.astro-backtotop::before,
.astro-floating-whatsapp::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0) 36%),
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.18), transparent 34%);
    pointer-events: none;
}

.astro-backtotop:hover {
    transform: translateY(-4px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        0 18px 34px rgba(34, 18, 58, 0.24);
}

.astro-backtotop.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.astro-backtotop__icon {
    position: relative;
    z-index: 1;
    width: 15px;
    height: 15px;
    display: block;
}

.astro-floating-whatsapp {
    width: 40px;
    height: 40px;
    color: #fff;
    font-weight: 800;
    border: 1px solid rgba(212, 255, 224, 0.22);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 42%),
        linear-gradient(135deg, #22c55e, #138a41);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        inset 0 -8px 14px rgba(0, 53, 16, 0.12),
        0 14px 28px rgba(8, 29, 14, 0.4);
    animation: astroPulse 2.8s ease-in-out infinite;
}

.astro-floating-whatsapp:hover {
    transform: translateY(-4px) scale(1.05);
}

.astro-floating-whatsapp__icon {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
    display: block;
}

@keyframes astroFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes astroHeroTwinkle {
    0%,
    100% {
        opacity: 0.18;
        transform: scale(0.82);
    }

    35% {
        opacity: 0.92;
        transform: scale(1.18);
    }

    55% {
        opacity: 0.42;
        transform: scale(0.96);
    }
}

@keyframes astroHeroShootingStar {
    0% {
        opacity: 0;
        transform: rotate(-18deg) translate3d(0, 0, 0) scaleX(0.45);
    }

    6% {
        opacity: 0.9;
    }

    18% {
        opacity: 0;
        transform: rotate(-18deg) translate3d(124px, 60px, 0) scaleX(1);
    }

    100% {
        opacity: 0;
        transform: rotate(-18deg) translate3d(124px, 60px, 0) scaleX(1);
    }
}

@keyframes astroButtonShine {
    0% {
        left: -34%;
        opacity: 0;
    }

    12% {
        opacity: 0.95;
    }

    32% {
        left: 118%;
        opacity: 0;
    }

    100% {
        left: 118%;
        opacity: 0;
    }
}

@keyframes astroPulse {
    0%,
    100% {
        box-shadow: 0 14px 28px rgba(8, 29, 14, 0.4);
    }

    50% {
        box-shadow: 0 18px 34px rgba(20, 125, 56, 0.46), 0 0 0 10px rgba(34, 197, 94, 0.12);
    }
}

@keyframes astroServicePulse {
    0%, 100% {
        opacity: 0.5;
        transform: translate(-50%, -50%) scale(0.96);
    }

    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.04);
    }
}

@keyframes astroServiceCore {
    0%, 100% {
        transform: scale(0.94);
        box-shadow:
            0 0 0 8px rgba(255, 218, 134, 0.08),
            0 0 24px rgba(255, 208, 99, 0.34);
    }

    50% {
        transform: scale(1.08);
        box-shadow:
            0 0 0 10px rgba(255, 218, 134, 0.11),
            0 0 34px rgba(255, 208, 99, 0.48);
    }
}

@keyframes astroServiceSpark {
    0%, 100% {
        opacity: 0.28;
        transform: scale(0.84);
    }

    50% {
        opacity: 1;
        transform: scale(1.14);
    }
}

@keyframes astroMobileMenuIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

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

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .astro-motion-ready [data-astro-reveal] {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }

    .astro-header,
    .astro-button,
    .astro-hero__twinkle,
    .astro-hero__shooting-star,
    .astro-about__photo-card,
    .astro-about__content,
    .astro-about__badge-card,
    .astro-services__card,
    .astro-highlights__card,
    .astro-zodiac__card,
    .astro-horoscope__card,
    .astro-testimonials__card,
    .astro-pricing__card,
    .astro-blog__card,
    .astro-faq__item,
    .astro-booking__info,
    .astro-booking__form-card,
    .astro-hero__stat-card,
    .astro-floating-whatsapp {
        transition: none;
        animation: none;
    }

    .astro-button--solid::before {
        animation: none;
    }
}

.astro-zodiac-page {
    min-height: 100vh;
    font-family: "Poppins", sans-serif;
    color: var(--astro-text);
    background:
        radial-gradient(circle at 18% 20%, rgba(141, 80, 255, 0.28), transparent 18%),
        linear-gradient(180deg, #0a0513 0%, #12091f 100%);
}

.astro-zodiac-page__shell {
    width: var(--astro-shell);
    margin: 0 auto;
    padding: 96px 0 80px;
}

.astro-zodiac-page__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.astro-zodiac-page__panel {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    padding: 28px;
    border: 1px solid rgba(255, 212, 102, 0.14);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: var(--astro-shadow);
}

.astro-zodiac-page__symbol-box {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border-radius: 26px;
    background:
        radial-gradient(circle at center, rgba(255, 221, 143, 0.2), transparent 24%),
        linear-gradient(180deg, rgba(58, 26, 102, 0.96), rgba(17, 9, 31, 0.96));
}

.astro-zodiac-page__image {
    width: min(100%, 260px);
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 16px 32px rgba(11, 5, 24, 0.34);
}

.astro-zodiac-page__symbol-box strong {
    font-family: "Cinzel", serif;
    font-size: 2rem;
}

.astro-zodiac-page__content h1 {
    margin: 0;
    font-family: "Cinzel", serif;
    font-size: clamp(2.3rem, 5vw, 4rem);
}

.astro-zodiac-page__content p {
    font-size: var(--astro-font-body);
    color: var(--astro-text-muted);
    line-height: 1.84;
}

.astro-zodiac-page__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
}

.astro-zodiac-page__fact {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
}

.astro-zodiac-page__fact strong,
.astro-zodiac-page__fact span {
    display: block;
}

.astro-zodiac-page__fact strong {
    color: var(--astro-accent-soft);
    font-size: 0.84rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.astro-zodiac-page__fact span {
    margin-top: 8px;
    font-size: 1.02rem;
}

@media (max-width: 1180px) {
    .astro-services__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .astro-highlights__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .astro-highlights__shell {
        width: var(--astro-shell);
    }

    .astro-social__shell {
        grid-template-columns: 1fr;
    }

    .astro-social__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .astro-about__top-row {
        width: min(100%, 680px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: auto;
    }
}

@media (max-width: 980px) {
    .astro-only-desktop {
        display: none !important;
    }

    .astro-only-mobile {
        display: block !important;
    }

    .astro-header__menu-toggle {
        display: flex;
    }

    .astro-header {
        top: 8px;
        left: 8px;
        right: 8px;
        width: auto;
        margin: 0;
        transform: none;
        border-radius: 20px;
    }

    .astro-header__shell-mobile.astro-only-mobile {
        display: flex !important;
        min-height: 72px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
    }

    .astro-header__mobile-tools.astro-only-mobile {
        display: inline-flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        margin-left: auto;
        flex: 0 0 auto;
    }

    .astro-header__brand--mobile {
        display: inline-flex !important;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        max-width: calc(100% - 176px);
        min-width: 0;
        position: static;
        transform: none;
        overflow: visible;
        flex: 0 1 auto;
    }

    .astro-header__brand-frame--mobile {
        width: 92px;
        height: 54px;
        padding: 0;
    }

    .astro-header__lang-switch--mobile-shell {
        display: inline-flex;
        padding: 4px;
        gap: 4px;
    }

    .astro-header__lang-switch--mobile-shell .astro-header__lang-pill {
        min-height: 34px;
        padding: 0 12px;
        font-size: 0.74rem;
        letter-spacing: 0.06em;
    }

    .astro-header__menu-toggle {
        flex: 0 0 auto;
        width: 42px;
        height: 42px;
        padding: 0;
        border-radius: 14px;
        border-color: rgba(255, 255, 255, 0.1);
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)),
            linear-gradient(135deg, rgba(20, 28, 52, 0.82), rgba(42, 24, 71, 0.72));
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.1),
            inset 0 -8px 12px rgba(255, 255, 255, 0.01),
            0 8px 16px rgba(9, 5, 20, 0.12);
        -webkit-backdrop-filter: blur(20px) saturate(1.12);
        backdrop-filter: blur(20px) saturate(1.12);
        gap: 4px;
        align-items: center;
        justify-content: center;
    }

    .astro-header__menu-toggle span {
        display: block;
        flex: 0 0 auto;
        height: 2px;
        margin-inline: auto;
        background: rgba(244, 240, 255, 0.96);
        box-shadow: none;
        opacity: 1;
    }

    .astro-header__menu-toggle span:nth-child(1) {
        width: 15px;
    }

    .astro-header__menu-toggle span:nth-child(2) {
        width: 15px;
    }

    .astro-header__menu-toggle span:nth-child(3) {
        width: 15px;
    }

    .astro-header__menu-toggle[aria-expanded="true"] span:nth-child(1) {
        width: 16px;
        transform: translateY(5px) rotate(45deg);
    }

    .astro-header__menu-toggle[aria-expanded="true"] span:nth-child(3) {
        width: 16px;
        transform: translateY(-5px) rotate(-45deg);
    }

    .astro-header__cta {
        min-height: 48px;
        padding: 0 18px;
        font-size: 0.84rem;
    }

    .astro-booking__grid,
    .astro-zodiac-page__panel {
        grid-template-columns: 1fr;
    }

    .astro-zodiac-page__topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .astro-social__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .astro-social__title {
        font-size: clamp(2.1rem, 6vw, 3rem);
    }

    .astro-social__text {
        max-width: 100%;
    }

    .astro-horoscope__title {
        font-size: clamp(2rem, 6vw, 3rem);
    }

    .astro-highlights__intro {
        max-width: 100%;
    }

    .astro-highlights__intro-text {
        max-width: 100%;
    }

    .astro-highlights__title {
        white-space: normal;
    }

    .astro-hero__stats,
    .astro-services__grid,
    .astro-zodiac__grid,
    .astro-horoscope__grid,
    .astro-testimonials__grid,
    .astro-blog__grid,
    .astro-faq__grid,
    .astro-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .astro-about__grid {
        grid-template-columns: 1fr;
    }

    .astro-about__top-row {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .astro-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .astro-footer__engage {
        justify-content: stretch;
    }

    .astro-footer__connect {
        width: 100%;
    }

    .astro-about__badge-card {
        grid-column: auto;
    }

    .astro-about__list {
        grid-template-columns: 1fr;
    }

    .astro-zodiac-page__symbol-box {
        min-height: 280px;
    }
}

@media (max-width: 720px) {
    :root {
        --astro-shell: min(1180px, calc(100% - 20px));
        --astro-font-hero-title: 40px;
        --astro-font-section-title: 30px;
        --astro-font-card-title: 22px;
        --astro-font-body: 16px;
    }

    .astro-motion-ready [data-astro-reveal] {
        opacity: 0;
        filter: blur(2px);
        transform: translate3d(0, 12px, 0) scale(0.996);
        transition:
            opacity 320ms ease,
            transform 320ms cubic-bezier(0.22, 0.72, 0.2, 1),
            filter 320ms ease;
    }

    .astro-motion-ready [data-astro-reveal="left"] {
        transform: translate3d(-10px, 10px, 0) scale(0.996);
    }

    .astro-motion-ready [data-astro-reveal="right"] {
        transform: translate3d(10px, 10px, 0) scale(0.996);
    }

    .astro-motion-ready [data-astro-reveal="zoom"] {
        transform: translate3d(0, 10px, 0) scale(0.985);
    }

    body.astro-body {
        background:
            radial-gradient(circle at 10% 10%, rgba(144, 72, 255, 0.26), transparent 26%),
            linear-gradient(180deg, #090313 0%, #12081f 27%, #f8f3fc 27%, #fff 100%);
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.astro-body::before {
        opacity: 0.22;
    }

    body.astro-body::after {
        display: none;
    }

    .astro-header {
        left: 10px;
        right: 10px;
        width: auto;
        margin: 0;
        transform: none;
        -webkit-backdrop-filter: blur(18px) saturate(1.1);
        backdrop-filter: blur(18px) saturate(1.1);
    }

    .astro-header.astro-header--compact {
        transform: none;
        box-shadow:
            0 10px 22px rgba(8, 4, 16, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.12),
            inset 0 -8px 14px rgba(10, 4, 20, 0.1);
    }

    .astro-header__shell-mobile {
        min-height: 68px;
        gap: 8px;
        padding: 8px 12px;
    }

    .astro-header.astro-header--compact .astro-header__shell-mobile {
        min-height: 66px;
        padding-block: 8px;
    }

    .astro-header__brand--mobile {
        width: auto;
        max-width: calc(100% - 160px);
        overflow: visible;
    }

    .astro-header__brand-frame--mobile {
        width: 82px;
        height: 48px;
        padding: 0;
        border-radius: 0;
    }

    .astro-header__mobile-tools {
        gap: 8px;
    }

    .astro-header__lang-switch--mobile-shell {
        padding: 3px;
        gap: 3px;
    }

    .astro-header__lang-switch--mobile-shell .astro-header__lang-pill {
        min-height: 32px;
        padding: 0 11px;
        font-size: 0.7rem;
        letter-spacing: 0.04em;
    }

    .astro-header__menu-toggle {
        width: 42px;
        height: 42px;
        padding: 0;
        border-radius: 14px;
        gap: 4px;
        align-items: center;
        justify-content: center;
    }

    .astro-header__menu-toggle span {
        margin-inline: auto;
    }

    .astro-header__menu-toggle span:nth-child(1) {
        width: 15px;
    }

    .astro-header__menu-toggle span:nth-child(2) {
        width: 15px;
    }

    .astro-header__menu-toggle span:nth-child(3) {
        width: 15px;
    }

    .astro-header__menu-toggle[aria-expanded="true"] span:nth-child(1) {
        width: 16px;
        transform: translateY(5px) rotate(45deg);
    }

    .astro-header__menu-toggle[aria-expanded="true"] span:nth-child(3) {
        width: 16px;
        transform: translateY(-5px) rotate(-45deg);
    }

    .astro-header__cta {
        width: 100%;
        min-width: 0;
    }

    .astro-section-head,
    .astro-about__grid,
    .astro-about__top-row,
    .astro-about__visual-section,
    .astro-about__info-section,
    .astro-services__grid,
    .astro-zodiac__content,
    .astro-social__shell,
    .astro-horoscope__shell,
    .astro-testimonials__grid,
    .astro-highlights__shell,
    .astro-faq__grid,
    .astro-booking__grid,
    .astro-footer__grid,
    .astro-footer__engage,
    .astro-footer__bar,
    .astro-zodiac-page__shell {
        width: auto;
        max-width: none;
        margin-inline: 10px;
    }

    .astro-about__top-row {
        grid-template-columns: 1fr;
    }

    .astro-about__content--wide {
        padding: 26px 22px;
    }

    .astro-hero {
        margin-top: 0;
        padding: 0 0 40px;
        background-position: 66% top;
    }

    .astro-hero__twinkle {
        animation-duration: 6.4s;
    }

    .astro-hero__shooting-star {
        animation-duration: 12s;
    }

    .astro-hero__stat-card {
        animation-duration: 10s;
    }

    .astro-hero-mobile.astro-only-mobile {
        display: block !important;
        position: relative;
        z-index: 1;
        width: auto;
        max-width: none;
        margin-inline: 10px;
        padding-top: calc(var(--astro-header-offset-mobile) + 26px);
        padding-bottom: 34px;
    }

    .astro-hero-mobile__inner {
        width: 100%;
        max-width: 100%;
    }

    .astro-hero-mobile__label {
        margin-bottom: 12px;
    }

    .astro-hero-mobile__title {
        margin: 0;
        max-width: 100%;
        font-family: "Cinzel", serif;
        font-size: clamp(1.95rem, 9.2vw, 2.7rem);
        line-height: 1.04;
        letter-spacing: -0.03em;
        text-wrap: initial;
        overflow-wrap: normal;
        word-break: normal;
    }

    .astro-hero-mobile__text {
        margin: 20px 0 0;
        max-width: 100%;
        color: var(--astro-text-muted);
        font-size: var(--astro-font-body);
        line-height: 1.62;
        text-wrap: initial;
        overflow-wrap: normal;
    }

    .astro-hero-mobile__actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 24px;
    }

    .astro-hero-mobile__button {
        width: 100%;
    }

    .astro-hero-mobile__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-top: 26px;
    }

    .astro-hero-mobile__stat-card {
        display: grid;
        gap: 6px;
        min-height: 104px;
        padding: 16px 14px;
        border-radius: 22px;
        border: 1px solid rgba(255, 212, 102, 0.16);
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
            rgba(19, 10, 35, 0.58);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.12),
            0 14px 30px rgba(8, 4, 16, 0.16);
        -webkit-backdrop-filter: blur(14px) saturate(1.06);
        backdrop-filter: blur(14px) saturate(1.06);
    }

    .astro-hero-mobile__stat-card strong {
        color: var(--astro-accent);
        font-size: clamp(1.38rem, 6.8vw, 1.72rem);
        font-weight: 800;
        line-height: 1;
    }

    .astro-hero-mobile__stat-card span {
        color: var(--astro-text-muted);
        font-size: 0.82rem;
        line-height: 1.38;
    }

    .astro-section-head {
        margin-bottom: 24px;
    }

    .astro-section-title {
        font-size: clamp(2rem, 10vw, 2.45rem);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .astro-section-head--feature {
        padding: 0 0 18px 16px;
    }

    .astro-section-head--feature::before {
        top: 2px;
        width: 3px;
        height: calc(100% - 20px);
    }

    .astro-section-head--feature::after {
        left: 16px;
        width: min(150px, 52%);
    }

    .astro-testimonials .astro-section-label,
    .astro-about .astro-section-label,
    .astro-horoscope .astro-section-label {
        margin-bottom: 10px;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
    }

    .astro-testimonials .astro-section-title,
    .astro-about .astro-section-title {
        max-width: 100%;
        font-size: clamp(1.7rem, 7vw, 2.15rem);
        line-height: 1.18;
        letter-spacing: -0.02em;
        text-wrap: balance;
    }

    .astro-horoscope__intro {
        max-width: 100%;
        margin-bottom: 20px;
    }

    .astro-horoscope__title {
        max-width: 100%;
        font-size: clamp(1.68rem, 6.8vw, 2.05rem);
        line-height: 1.18;
        letter-spacing: -0.02em;
        text-wrap: balance;
    }

    .astro-hero__twinkle--2,
    .astro-hero__twinkle--6,
    .astro-hero__shooting-star--2 {
        display: none;
    }

    .astro-hero__stats,
    .astro-services__grid,
    .astro-zodiac__grid,
    .astro-social__grid,
    .astro-horoscope__grid,
    .astro-testimonials__grid,
    .astro-blog__grid,
    .astro-faq__grid,
    .astro-footer__grid,
    .astro-highlights__grid,
    .astro-form__grid,
    .astro-zodiac-page__facts {
        grid-template-columns: 1fr;
    }

    .astro-about,
    .astro-services,
    .astro-zodiac,
    .astro-social,
    .astro-horoscope,
    .astro-testimonials,
    .astro-blog,
    .astro-faq,
    .astro-booking {
        padding: 64px 0;
    }

    .astro-about__content,
    .astro-booking__info,
    .astro-booking__form-card,
    .astro-horoscope__card,
    .astro-testimonials__card,
    .astro-social__card,
    .astro-blog__card {
        padding: 22px;
    }

    .astro-services__card,
    .astro-zodiac__card,
    .astro-faq__item {
        border-radius: 24px;
    }

    .astro-social {
        padding: 64px 0;
    }

    .astro-social__intro {
        margin-bottom: 26px;
    }

    .astro-social__title {
        font-size: clamp(1.9rem, 9vw, 2.6rem);
        line-height: 1.12;
    }

    .astro-social__text {
        max-width: 100%;
    }

    .astro-horoscope {
        padding: 64px 0;
    }

    .astro-horoscope__intro {
        margin-bottom: 22px;
    }

    .astro-horoscope__title {
        font-size: clamp(1.58rem, 6.4vw, 1.92rem);
        line-height: 1.18;
    }

    .astro-horoscope__cta {
        min-height: 46px;
        padding: 0 20px 0 36px;
        font-size: 0.9rem;
        background:
            radial-gradient(circle at 16% 50%, rgba(255, 226, 151, 0.24), transparent 10%),
            linear-gradient(135deg, rgba(112, 66, 205, 0.98), rgba(63, 29, 133, 0.96));
        background-size: 100% 100%, 100% 100%;
        animation: none;
        box-shadow:
            0 12px 24px rgba(87, 45, 157, 0.16),
            inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .astro-horoscope__cta::before {
        inset: 1px;
        border-radius: inherit;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 46%);
        filter: none;
        opacity: 0.72;
        transform: none;
        animation: none;
    }

    .astro-horoscope__cta::after {
        left: 14px;
        width: 11px;
        height: 11px;
        box-shadow:
            0 0 10px rgba(255, 219, 132, 0.78),
            0 0 18px rgba(141, 80, 255, 0.24);
        animation: astroHoroscopeSpark 3.2s ease-in-out infinite;
    }

    .astro-faq__question {
        padding: 20px 18px 16px;
    }

    .astro-faq .astro-section-title,
    .astro-booking .astro-section-title {
        max-width: 100%;
        font-size: clamp(1.58rem, 6.4vw, 1.92rem);
        line-height: 1.18;
        letter-spacing: -0.02em;
        text-wrap: balance;
    }

    .astro-faq__answer {
        padding: 0 18px 18px;
    }

    .astro-faq__eyebrow {
        min-height: 26px;
        padding: 0 10px;
        font-size: 0.68rem;
    }

    .astro-faq__icon {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }

    .astro-footer__grid {
        padding: 24px 0;
    }

    .astro-footer__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .astro-footer__brand p,
    .astro-footer__badges {
        max-width: 100%;
    }

    html[lang="hi"] .astro-section-title,
    html[lang="hi"] .astro-hero-mobile__title,
    html[lang="hi"] .astro-horoscope__title,
    html[lang="hi"] .astro-social__title {
        line-height: 1.16;
    }

    .astro-highlights__intro {
        margin-bottom: 22px;
    }

    .astro-highlights__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .astro-highlights__card {
        min-height: auto;
        padding: 24px 20px;
    }

    .astro-zodiac__image-wrap {
        width: 96px;
        height: 96px;
    }

    .astro-zodiac-page__image {
        width: min(100%, 210px);
    }

    .astro-testimonials__card {
        padding: 22px 20px 20px;
        gap: 16px;
    }

    .astro-testimonials__top {
        align-items: flex-start;
    }

    .astro-testimonials__avatar {
        width: 56px;
        height: 56px;
        font-size: 1.35rem;
    }

    .astro-testimonials__rating {
        padding: 9px 12px;
    }

    .astro-testimonials__quote-mark {
        top: 88px;
        right: 18px;
        font-size: 3.7rem;
    }

    .astro-backtotop,
    .astro-floating-whatsapp {
        width: 42px;
        height: 42px;
    }

    .astro-backtotop__icon {
        width: 16px;
        height: 16px;
    }

    .astro-floating-whatsapp__icon {
        width: 19px;
        height: 19px;
    }
}

@keyframes astroDesktopTitleSweep {
    0%,
    100% {
        opacity: 0.18;
        transform: translate3d(-12%, -50%, 0) skewX(-18deg);
    }

    50% {
        opacity: 0.44;
        transform: translate3d(118%, -50%, 0) skewX(-18deg);
    }
}

@keyframes astroDesktopAuraFloat {
    0%,
    100% {
        opacity: 0.12;
        transform: scale(0.94) translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.28;
        transform: scale(1.04) translate3d(0, -10px, 0);
    }
}

@keyframes astroDesktopConstellationDrift {
    0%,
    100% {
        opacity: 0.28;
        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.5;
        transform: translate3d(0, -12px, 0);
    }
}

@keyframes astroDesktopMoonPhase {
    0%,
    100% {
        transform: translate(-50%, -50%) scale(0.96);
        filter: drop-shadow(0 0 12px rgba(255, 216, 125, 0.18));
    }

    50% {
        transform: translate(-50%, -50%) scale(1.04);
        filter: drop-shadow(0 0 22px rgba(255, 216, 125, 0.32));
    }
}

@keyframes astroDesktopOrbitSpin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes astroDesktopFormHalo {
    0%,
    100% {
        opacity: 0.24;
        transform: scale(0.98);
    }

    50% {
        opacity: 0.54;
        transform: scale(1.03);
    }
}

@keyframes astroDesktopCardPulse {
    0%,
    100% {
        box-shadow:
            var(--astro-shadow),
            0 0 0 rgba(255, 223, 149, 0),
            0 0 0 rgba(141, 80, 255, 0);
    }

    50% {
        box-shadow:
            0 24px 58px rgba(11, 5, 24, 0.5),
            0 0 28px rgba(255, 223, 149, 0.12),
            0 0 40px rgba(141, 80, 255, 0.12);
    }
}

@keyframes astroDesktopStarTwinkle {
    0%,
    100% {
        opacity: 0.24;
        transform: translate3d(0, 0, 0) scale(0.9);
    }

    25% {
        opacity: 0.78;
        transform: translate3d(2px, -4px, 0) scale(1.16);
    }

    55% {
        opacity: 0.38;
        transform: translate3d(-1px, 2px, 0) scale(0.96);
    }

    75% {
        opacity: 0.92;
        transform: translate3d(3px, -2px, 0) scale(1.22);
    }
}

@media (min-width: 981px) {
    body.astro-desktop-cosmic-ready::before {
        transform: translate3d(0, calc(var(--astro-cosmic-shift) * -0.85), 0) scale(1.06);
        opacity: calc(0.42 + var(--astro-nebula-alpha));
        transition: transform 180ms linear, opacity 220ms ease;
    }

    .astro-testimonials,
    .astro-about,
    .astro-services,
    .astro-horoscope,
    .astro-social,
    .astro-faq,
    .astro-booking {
        overflow: hidden;
    }

    .astro-testimonials::after,
    .astro-about::after,
    .astro-services::after,
    .astro-horoscope::after,
    .astro-social::after,
    .astro-faq::after,
    .astro-booking::after {
        content: "";
        position: absolute;
        inset: auto 10% 14% 10%;
        height: 260px;
        border-radius: 50%;
        background:
            radial-gradient(circle at 50% 50%, rgba(141, 80, 255, 0.2), transparent 54%),
            radial-gradient(circle at 35% 42%, rgba(246, 195, 79, 0.12), transparent 26%);
        opacity: 0;
        transform: translate3d(0, calc(var(--astro-cosmic-shift) * -0.18), 0) scale(0.92);
        transition: opacity 520ms ease, transform 520ms ease;
        pointer-events: none;
        z-index: 0;
    }

    .astro-testimonials.is-cosmic-active::after,
    .astro-about.is-cosmic-active::after,
    .astro-services.is-cosmic-active::after,
    .astro-horoscope.is-cosmic-active::after,
    .astro-social.is-cosmic-active::after,
    .astro-faq.is-cosmic-active::after,
    .astro-booking.is-cosmic-active::after {
        opacity: 0.8;
        transform: translate3d(0, calc(var(--astro-cosmic-shift) * -0.22), 0) scale(1);
    }

    .astro-testimonials > *,
    .astro-about > *,
    .astro-services > *,
    .astro-horoscope > *,
    .astro-social > *,
    .astro-faq > *,
    .astro-booking > * {
        position: relative;
        z-index: 1;
    }

    .astro-section-title,
    .astro-horoscope__title {
        position: relative;
        display: inline-block;
        isolation: isolate;
    }

    .astro-section-title::after,
    .astro-horoscope__title::after {
        content: "";
        position: absolute;
        top: 50%;
        left: -14%;
        width: 34%;
        height: 144%;
        border-radius: 999px;
        background: linear-gradient(110deg, rgba(255, 255, 255, 0) 10%, rgba(255, 238, 195, 0.28) 48%, rgba(171, 111, 255, 0.18) 62%, rgba(255, 255, 255, 0) 84%);
        filter: blur(18px);
        opacity: 0.2;
        transform: translate3d(-12%, -50%, 0) skewX(-18deg);
        animation: astroDesktopTitleSweep 7.2s ease-in-out infinite;
        pointer-events: none;
        z-index: -1;
    }

    .is-cosmic-active .astro-section-title::after,
    .is-cosmic-active .astro-horoscope__title::after {
        opacity: 0.3;
    }

    .astro-services__card--trigger::after {
        content: "";
        position: absolute;
        inset: -16%;
        border-radius: inherit;
        background:
            radial-gradient(circle at 18% 18%, rgba(255, 223, 149, 0.26), transparent 24%),
            radial-gradient(circle at 82% 18%, rgba(155, 99, 255, 0.22), transparent 26%),
            radial-gradient(circle at 50% 86%, rgba(106, 54, 197, 0.2), transparent 32%);
        opacity: 0;
        transform: scale(0.94);
        transition: opacity 260ms ease, transform 260ms ease;
        pointer-events: none;
        z-index: 0;
    }

    .astro-services__card:hover::after,
    .astro-services__card:focus-within::after {
        opacity: 1;
        transform: scale(1.04);
        animation: astroDesktopAuraFloat 3.8s ease-in-out infinite;
    }

    .astro-services__card:hover .astro-services__index,
    .astro-services__card:focus-within .astro-services__index {
        box-shadow:
            0 0 0 1px rgba(255, 221, 141, 0.16),
            0 0 22px rgba(255, 221, 141, 0.14);
    }

    .astro-motion-ready .astro-services__card.is-visible,
    .astro-motion-ready .astro-zodiac__card.is-visible {
        animation: astroDesktopCardPulse 1.25s ease-out 1;
    }

    .astro-booking__form-card {
        position: relative;
        overflow: hidden;
        isolation: isolate;
    }

    .astro-booking__form-card::before {
        content: "";
        position: absolute;
        inset: -18%;
        border-radius: 34px;
        background:
            radial-gradient(circle at 18% 24%, rgba(255, 220, 141, 0.12), transparent 18%),
            radial-gradient(circle at 82% 12%, rgba(145, 90, 255, 0.14), transparent 20%),
            radial-gradient(circle at 50% 100%, rgba(92, 51, 170, 0.16), transparent 30%);
        opacity: 0;
        transform: scale(0.96);
        transition: opacity 240ms ease, transform 240ms ease;
        pointer-events: none;
        z-index: 0;
    }

    .astro-booking__form-card > * {
        position: relative;
        z-index: 1;
    }

    .astro-booking__form-card.is-service-focus::before,
    .astro-booking__form-card:focus-within::before {
        opacity: 1;
        transform: scale(1);
        animation: astroDesktopFormHalo 3.6s ease-in-out infinite;
    }

    .astro-booking__form-card:focus-within {
        border-color: rgba(255, 223, 149, 0.22);
        box-shadow:
            0 26px 56px rgba(11, 5, 24, 0.26),
            0 0 0 1px rgba(255, 223, 149, 0.1),
            0 0 34px rgba(141, 80, 255, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.16);
    }

    .astro-form__field input:focus,
    .astro-form__field textarea:focus {
        box-shadow:
            0 0 0 1px rgba(255, 223, 149, 0.16),
            0 0 0 4px rgba(141, 80, 255, 0.1),
            0 12px 28px rgba(11, 5, 24, 0.18);
    }

    .astro-zodiac__content {
        position: relative;
        isolation: isolate;
    }

    .astro-zodiac__background {
        transform: translate3d(0, calc(var(--astro-zodiac-drift) * -0.16), 0) scale(1.04);
        transition: transform 180ms linear;
    }

    .astro-zodiac__content::before,
    .astro-zodiac__content::after {
        content: "";
        position: absolute;
        inset: 20px 0 auto;
        height: 220px;
        pointer-events: none;
        z-index: 0;
        opacity: 0.12;
        animation: astroDesktopConstellationDrift 7.8s ease-in-out infinite;
        transition: opacity 520ms ease, transform 520ms ease;
    }

    .astro-zodiac__content::before {
        left: 2%;
        right: 44%;
        background:
            linear-gradient(128deg, transparent 16%, rgba(255, 222, 143, 0.12) 16.5%, transparent 17%),
            linear-gradient(148deg, transparent 47%, rgba(171, 111, 255, 0.12) 47.5%, transparent 48%),
            radial-gradient(circle at 16% 38%, rgba(255, 251, 238, 0.92) 0 1.4px, transparent 1.8px),
            radial-gradient(circle at 36% 18%, rgba(255, 223, 149, 0.72) 0 1.5px, transparent 1.9px),
            radial-gradient(circle at 54% 42%, rgba(255, 251, 238, 0.84) 0 1.2px, transparent 1.8px),
            radial-gradient(circle at 78% 24%, rgba(171, 111, 255, 0.76) 0 1.4px, transparent 1.8px),
            radial-gradient(circle at 88% 54%, rgba(255, 223, 149, 0.76) 0 1.2px, transparent 1.8px);
    }

    .astro-zodiac__content::after {
        inset: auto 4% 30px 54%;
        height: 180px;
        animation-delay: 1.2s;
        background:
            linear-gradient(136deg, transparent 12%, rgba(255, 222, 143, 0.12) 12.5%, transparent 13%),
            linear-gradient(52deg, transparent 62%, rgba(171, 111, 255, 0.12) 62.5%, transparent 63%),
            radial-gradient(circle at 12% 62%, rgba(255, 251, 238, 0.9) 0 1.4px, transparent 1.8px),
            radial-gradient(circle at 32% 28%, rgba(255, 223, 149, 0.72) 0 1.3px, transparent 1.9px),
            radial-gradient(circle at 52% 52%, rgba(255, 251, 238, 0.82) 0 1.2px, transparent 1.8px),
            radial-gradient(circle at 74% 20%, rgba(171, 111, 255, 0.72) 0 1.4px, transparent 1.8px),
            radial-gradient(circle at 88% 60%, rgba(255, 223, 149, 0.7) 0 1.2px, transparent 1.8px);
    }

    .astro-zodiac.is-cosmic-active .astro-zodiac__content::before,
    .astro-zodiac.is-cosmic-active .astro-zodiac__content::after {
        opacity: 0.52;
        transform: translate3d(0, calc(var(--astro-zodiac-drift) * -0.16), 0);
    }

    .astro-zodiac__head,
    .astro-zodiac__grid {
        position: relative;
        z-index: 1;
    }

    .astro-zodiac__card {
        position: relative;
        overflow: hidden;
        isolation: isolate;
    }

    .astro-zodiac__card::before {
        content: "";
        position: absolute;
        inset: -24%;
        border-radius: 50%;
        background:
            radial-gradient(circle at 50% 50%, rgba(255, 223, 149, 0.14), transparent 34%),
            radial-gradient(circle at 64% 36%, rgba(141, 80, 255, 0.18), transparent 42%);
        opacity: 0;
        transform: scale(0.86);
        transition: opacity 260ms ease, transform 260ms ease;
        pointer-events: none;
        z-index: 0;
    }

    .astro-zodiac__card:hover::before {
        opacity: 1;
        transform: scale(1.06);
    }
}
