/* Public experience R1.1.1 — consumer-facing overrides and horoscope reading. */
.public-body {
    background:
        radial-gradient(circle at 82% 8%, rgba(100, 68, 190, .34), transparent 34rem),
        radial-gradient(circle at 10% 48%, rgba(99, 46, 113, .14), transparent 30rem),
        #09071a;
}

.site-header {
    margin-top: 12px;
    height: 70px;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    background: rgba(13,10,32,.62);
    backdrop-filter: blur(18px);
    position: sticky;
    top: 12px;
}

.site-header nav {
    gap: 22px;
}

.language-picker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #cfc5ed;
}

.language-picker select {
    appearance: none;
    border: 0;
    outline: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
}

.language-picker option {
    color: #17122e;
}

.hero {
    min-height: 690px;
}

.hero-copy > p {
    max-width: 680px;
}

.hero-note {
    margin-top: 24px !important;
    color: #9289ad !important;
    font-size: .76rem !important;
    letter-spacing: .02em;
}

.hero-note span {
    color: #f6c86d;
    margin-right: 5px;
}

.section-heading > div > p {
    max-width: 620px;
    margin: 13px 0 0;
    color: #aaa2c6;
    line-height: 1.65;
}

.sign-card {
    min-height: 92px;
    cursor: pointer;
}

.sign-card .card-arrow {
    margin-left: auto;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(152,119,255,.1);
    color: #bca8ff;
    transition: .2s;
}

.sign-card:hover .card-arrow {
    color: #130d2d;
    background: #f6c86d;
    transform: translateX(3px);
}

.promise-section {
    margin-block: 90px 130px;
    padding: 54px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 30px;
    background:
        radial-gradient(circle at 10% 0, rgba(152,119,255,.22), transparent 40%),
        linear-gradient(145deg, rgba(28,23,57,.94), rgba(12,9,31,.94));
}

.promise-copy {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 45px;
}

.promise-copy h2 {
    font: 500 clamp(2.25rem,4vw,3.6rem)/1.05 Georgia,serif;
    margin: 10px 0 0;
}

.promise-copy p {
    color: #c0b8d4;
    line-height: 1.8;
    margin: 0;
}

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

.benefit-grid article {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}

.benefit-grid article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(246,200,109,.1);
    color: #f6c86d;
    font-size: 1.35rem;
}

.benefit-grid h3 {
    font: 500 1.2rem Georgia,serif;
    margin: 21px 0 10px;
}

.benefit-grid p {
    color: #aaa2c6;
    line-height: 1.65;
    margin: 0;
    font-size: .88rem;
}

.site-footer {
    align-items: center;
    gap: 25px;
}

.site-footer > span:nth-child(2) {
    text-align: center;
}

.footer-links {
    display: inline-flex;
    gap: 15px;
    white-space: nowrap;
}

.footer-links a:hover {
    color: #fff;
}

/* Horoscope reading */
.reading-hero {
    padding-top: 62px;
}

.back-link {
    display: inline-flex;
    margin-bottom: 46px;
    color: #a99fc6;
    font-size: .83rem;
    font-weight: 700;
}

.back-link:hover {
    color: #fff;
}

.reading-identity {
    display: flex;
    align-items: center;
    gap: 26px;
}

.reading-symbol {
    width: 116px;
    height: 116px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(246,200,109,.38);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(246,200,109,.14), rgba(152,119,255,.05));
    color: #f6c86d;
    font-size: 4.6rem;
    box-shadow: 0 0 70px rgba(246,200,109,.12);
}

.reading-identity h1 {
    font: 500 clamp(3.6rem,7vw,6rem)/.95 Georgia,serif;
    margin: 8px 0 9px;
    letter-spacing: -.045em;
}

.reading-identity p {
    margin: 0;
    color: #aaa2c6;
    text-transform: capitalize;
}

.period-tabs {
    display: flex;
    gap: 8px;
    margin-top: 45px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    overflow-x: auto;
}

.period-tabs a {
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    color: #aaa2c6;
    white-space: nowrap;
    font-size: .82rem;
    font-weight: 750;
}

.period-tabs a:hover,
.period-tabs a.active {
    border-color: rgba(152,119,255,.55);
    background: rgba(152,119,255,.16);
    color: #fff;
}

.reading-content {
    padding-block: 38px 80px;
}

.overview-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    padding: 38px;
    border: 1px solid rgba(246,200,109,.22);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0 0, rgba(246,200,109,.12), transparent 28rem),
        linear-gradient(145deg, rgba(29,23,58,.95), rgba(16,12,38,.95));
}

.section-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(246,200,109,.1);
    color: #f6c86d;
}

.overview-card h2 {
    font: 500 clamp(1.75rem,3vw,2.5rem)/1.15 Georgia,serif;
    margin: 10px 0 18px;
}

.overview-card p,
.reading-card p {
    margin: 0;
    color: #c8c1da;
    line-height: 1.85;
}

.reading-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
    margin-top: 15px;
}

.reading-card {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 20px;
    background: rgba(21,17,45,.78);
}

.reading-card-icon {
    color: #b8a2ff;
    font-size: 1.55rem;
}

.reading-card h2 {
    font: 500 1.55rem Georgia,serif;
    margin: 15px 0 13px;
}

.advice-card {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 15px;
    padding: 30px 35px;
    border: 1px solid rgba(152,119,255,.25);
    border-radius: 20px;
    background: rgba(152,119,255,.09);
}

.advice-card > span {
    color: #b69cff;
    font: 500 4.4rem/.7 Georgia,serif;
}

.advice-card small,
.lucky-grid small {
    color: #978eaf;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .65rem;
    font-weight: 800;
}

.advice-card p {
    font: 500 1.35rem/1.5 Georgia,serif;
    margin: 7px 0 0;
}

.lucky-section {
    padding-top: 60px;
}

.lucky-section .section-heading h2,
.other-signs .section-heading h2 {
    font-size: 2.25rem;
}

.lucky-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
}

.lucky-grid article {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 116px;
    justify-content: center;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 17px;
    background: rgba(21,17,45,.72);
}

.lucky-grid strong {
    font: 500 1.35rem Georgia,serif;
}

.share-row {
    display: flex;
    justify-content: center;
    padding-top: 45px;
}

.other-signs {
    padding-bottom: 120px;
}

.mini-sign-grid {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 10px;
}

.mini-sign-grid a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    background: rgba(21,17,45,.7);
    color: #aaa2c6;
    font-size: .78rem;
}

.mini-sign-grid a span {
    color: #f6c86d;
    font-size: 1.25rem;
}

.mini-sign-grid a:hover,
.mini-sign-grid a.active {
    border-color: rgba(152,119,255,.5);
    color: #fff;
    background: rgba(152,119,255,.1);
}

@media (max-width: 900px) {
    .promise-copy {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .benefit-grid {
        grid-template-columns: 1fr;
    }
    .mini-sign-grid {
        grid-template-columns: repeat(4,1fr);
    }
}

@media (max-width: 760px) {
    .site-header {
        width: calc(100% - 24px);
        top: 8px;
        margin-top: 8px;
        padding-inline: 14px;
    }
    .site-header nav {
        gap: 8px;
    }
    .site-header nav > a {
        display: none !important;
    }
    .language-picker {
        display: inline-flex;
    }
    .promise-section {
        padding: 30px;
        margin-block: 55px 80px;
    }
    .site-footer {
        align-items: flex-start;
    }
    .site-footer > span:nth-child(2) {
        text-align: left;
    }
    .reading-hero {
        padding-top: 42px;
    }
    .back-link {
        margin-bottom: 30px;
    }
    .reading-symbol {
        width: 88px;
        height: 88px;
        font-size: 3.2rem;
    }
    .reading-identity {
        gap: 17px;
    }
    .reading-identity h1 {
        font-size: 3.25rem;
    }
    .overview-card {
        grid-template-columns: 1fr;
        padding: 27px;
    }
    .reading-grid {
        grid-template-columns: 1fr;
    }
    .lucky-grid {
        grid-template-columns: repeat(2,1fr);
    }
    .mini-sign-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 480px) {
    .hero {
        min-height: 610px;
    }
    .hero h1 {
        font-size: 3.05rem;
    }
    .reading-identity h1 {
        font-size: 2.7rem;
    }
    .reading-symbol {
        width: 72px;
        height: 72px;
        font-size: 2.65rem;
    }
    .period-tabs {
        margin-top: 32px;
    }
    .advice-card {
        align-items: flex-start;
        padding: 25px;
    }
}
