/* Shared HOME components used by the public home and the family landing. */
:root {
    --ruah-home-bg: #030818;
    --ruah-home-bg-2: #07143a;
    --ruah-home-panel: rgba(16, 30, 86, 0.82);
    --ruah-home-panel-strong: rgba(9, 20, 64, 0.94);
    --ruah-home-line: rgba(110, 111, 255, 0.46);
    --ruah-home-line-soft: rgba(84, 211, 255, 0.24);
    --ruah-home-ink: #ffffff;
    --ruah-home-muted: #c7d5ff;
    --ruah-home-lime: #a7f50c;
    --ruah-home-cyan: #15c7ff;
    --ruah-home-purple: #7b42ff;
    --ruah-home-pink: #e338ff;
    --ruah-home-gold: #ffba1a;
    --ruah-home-orange: #f28a12;
    --ruah-home-header-bg: #071331;
    --ruah-home-header-line: rgba(124, 80, 255, 0.42);
    --ruah-home-pricing-bg: #061331;
    --ruah-home-faq-bg: #0b1b48;
    --ruah-home-faq-line: rgba(120, 144, 255, 0.42);
    --ruah-home-font-body: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    --ruah-home-font-heading: "Sora", "Inter", "Segoe UI", sans-serif;
    --ruah-home-radius-sm: 6px;
    --ruah-home-radius: 8px;
    --ruah-home-radius-lg: 10px;
    --ruah-home-space-xs: 0.5rem;
    --ruah-home-space-sm: 0.75rem;
    --ruah-home-space-md: 1rem;
    --ruah-home-space-lg: 1.25rem;
    --ruah-home-space-xl: 1.7rem;
    --ruah-home-space-2xl: 2rem;
    --ruah-home-section-space: 5rem;
    --ruah-home-section-space-tablet: 3rem;
    --ruah-home-section-space-mobile: 2.6rem;
}

.home-page .home-brand a,
.lp-page .lp-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
}

.home-page .home-brand-name,
.lp-page .home-brand-name {
    font-family: var(--ruah-home-font-heading);
    font-size: 1.23rem;
    line-height: 1;
}

.home-page .home-brand-mark,
.lp-page .home-brand-mark {
    width: 34px;
    height: 34px;
    display: inline-flex;
    overflow: hidden;
    flex: 0 0 34px;
}

.home-page .home-brand-mark img,
.lp-page .home-brand-mark img {
    height: 34px;
    width: auto;
    max-width: none;
    display: block;
}

.home-page .home-login-link,
.lp-page .home-login-link {
    min-width: 82px;
    margin-left: auto;
    padding: 0.52rem 1.25rem;
    border: 1px solid #8d43ff;
    border-radius: var(--ruah-home-radius);
    color: #ffffff !important;
    text-align: center;
    background: rgba(81, 43, 193, 0.18);
    box-shadow: inset 0 0 16px rgba(119, 67, 255, 0.26);
}

.home-page .home-btn,
.lp-page .home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.85rem 1.75rem;
    border: 0;
    border-radius: var(--ruah-home-radius);
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 900;
    text-decoration: none;
    line-height: 1;
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.home-page .home-btn:hover,
.home-page .home-btn:focus-visible,
.lp-page .home-btn:hover,
.lp-page .home-btn:focus-visible {
    transform: translateY(-2px);
}

.home-page .home-btn-primary,
.lp-page .home-btn-primary {
    min-width: 210px;
    background: linear-gradient(135deg, #9df40e 0%, #d7ff15 100%);
    color: #061131;
    box-shadow: 0 12px 28px rgba(167, 245, 12, 0.28);
}

.home-page .home-btn-secondary,
.lp-page .home-btn-secondary {
    min-width: 146px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.32);
    color: #ffffff;
    box-shadow: inset 0 0 18px rgba(255, 255, 255, 0.08);
}

.home-page .home-btn-secondary span,
.lp-page .home-btn-secondary span {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #17224a;
    font-size: 0.66rem;
}

.home-page .home-btn-gradient,
.lp-page .home-btn-gradient {
    min-height: 42px;
    padding: 0.72rem 1.55rem;
    background: linear-gradient(135deg, #22a8ff 0%, #8c3dff 100%);
    box-shadow: 0 12px 26px rgba(74, 77, 255, 0.34);
}

.home-page .home-benefit-card,
.lp-page .home-benefit-card {
    min-height: 158px;
    padding: 1.15rem 0.85rem;
    border: 1px solid rgba(100, 124, 255, 0.36);
    border-radius: var(--ruah-home-radius);
    background: linear-gradient(180deg, rgba(39, 55, 137, 0.92), rgba(26, 42, 112, 0.92));
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.home-page .home-benefit-card h3,
.lp-page .home-benefit-card h3 {
    margin: 0 0 0.45rem;
    color: #ffffff;
    font-size: 0.94rem;
    line-height: 1.2;
}

.home-page .home-benefit-card p,
.lp-page .home-benefit-card p {
    margin: 0;
    color: #d7e0ff;
    font-size: 0.76rem;
    line-height: 1.45;
}

.home-page .home-game-card,
.lp-page .home-game-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(34, 191, 255, 0.72);
    border-radius: var(--ruah-home-radius);
    background: linear-gradient(180deg, rgba(18, 34, 92, 0.9), rgba(8, 17, 52, 0.97));
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.38), inset 0 0 18px rgba(46, 129, 255, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.home-page .home-game-card:hover,
.lp-page .home-game-card:hover {
    transform: translateY(-4px);
    border-color: rgba(34, 191, 255, 1);
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.46), inset 0 0 18px rgba(46, 129, 255, 0.18);
}

.home-page .conversion-faq,
.lp-page .conversion-faq {
    width: min(100%, 880px);
    margin: 2.2rem auto 0;
    color: #f7f9ff;
}

.home-page .conversion-faq-head,
.lp-page .conversion-faq-head {
    margin-bottom: 1rem;
}

.home-page .conversion-faq-head h3,
.lp-page .conversion-faq-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.35rem, 3vw, 2rem);
}

.home-page .conversion-faq details,
.lp-page .conversion-faq details {
    margin-top: 0.65rem;
    border: 1px solid var(--ruah-home-faq-line);
    border-radius: var(--ruah-home-radius-lg);
    background: var(--ruah-home-faq-bg);
}

.home-page .conversion-faq summary,
.lp-page .conversion-faq summary {
    min-height: 48px;
    padding: 0.9rem 1rem;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.home-page .conversion-faq details p,
.lp-page .conversion-faq details p {
    margin: 0;
    padding: 0 1rem 1rem;
    color: #cbd7fb;
    line-height: 1.65;
}

.home-page .conversion-faq a,
.lp-page .conversion-faq a {
    color: #c7ff3d;
    font-weight: 800;
}

.home-page .home-plan-audience,
.lp-page .home-plan-audience {
    margin: 0 0 0.55rem;
    color: var(--home-lime);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.home-page .home-plan-card,
.lp-page .home-plan-card {
    position: relative;
    min-height: 386px;
    padding: 1.7rem 1.45rem 1.35rem;
    border: 2px solid rgba(131, 151, 255, 0.35);
    border-radius: var(--home-radius);
    background: linear-gradient(180deg, rgba(8, 19, 56, 0.9), rgba(4, 14, 43, 0.96));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.32);
}

.home-page .home-plan-card.is-free,
.lp-page .home-plan-card.is-free {
    border-color: rgba(185, 244, 33, 0.86);
}

.home-page .home-plan-card.is-family,
.lp-page .home-plan-card.is-family {
    border-color: rgba(226, 47, 255, 0.9);
    box-shadow: 0 0 26px rgba(226, 47, 255, 0.2), 0 18px 38px rgba(0, 0, 0, 0.32);
}

.home-page .home-plan-card.is-school,
.lp-page .home-plan-card.is-school {
    border-color: rgba(255, 169, 30, 0.94);
    box-shadow: 0 0 26px rgba(255, 169, 30, 0.18), 0 18px 38px rgba(0, 0, 0, 0.32);
}

.home-page .home-plan-ribbon,
.lp-page .home-plan-ribbon {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 150px;
    padding: 0.38rem 0.7rem;
    border-radius: 5px;
    background: linear-gradient(135deg, #7e48ff, #4c86ff);
    color: #ffffff;
    text-align: center;
    font-size: 0.76rem;
    font-weight: 1000;
}

.home-page .home-plan-card.is-school .home-plan-ribbon,
.lp-page .home-plan-card.is-school .home-plan-ribbon {
    background: linear-gradient(135deg, #ff8a0c, #ffc11c);
}

.home-page .home-plan-card h3,
.lp-page .home-plan-card h3 {
    margin: 0 0 0.6rem;
    color: #ffffff;
    font-size: 1.25rem;
    text-align: center;
}

.home-page .home-plan-card h3 span,
.home-page .home-plan-card.is-family h3,
.lp-page .home-plan-card h3 span,
.lp-page .home-plan-card.is-family h3 {
    color: var(--home-lime);
}

.home-page .home-plan-card.is-school h3,
.lp-page .home-plan-card.is-school h3 {
    color: #ffc11c;
}

.home-page .home-plan-price,
.lp-page .home-plan-price {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0.45rem;
    margin-bottom: 1.1rem;
}

.home-page .home-plan-price strong,
.lp-page .home-plan-price strong {
    color: #d9deff;
    font-size: 2.45rem;
    line-height: 1;
}

.home-page .home-plan-card.is-family .home-plan-price strong,
.lp-page .home-plan-card.is-family .home-plan-price strong {
    color: #b9b7ff;
}

.home-page .home-plan-price.is-consult strong,
.lp-page .home-plan-price.is-consult strong {
    color: #ffffff;
    font-size: 1.7rem;
}

.home-page .home-plan-price span,
.lp-page .home-plan-price span {
    color: #cbd5ff;
    font-size: 0.9rem;
}

.home-page .home-plan-card ul,
.lp-page .home-plan-card ul {
    display: grid;
    gap: 0.52rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}

.home-page .home-plan-card li,
.lp-page .home-plan-card li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    color: #edf2ff;
    font-size: 0.82rem;
    line-height: 1.35;
}

.home-page .home-plan-card li span,
.lp-page .home-plan-card li span {
    color: var(--home-lime);
    font-weight: 1000;
}

.home-page .home-plan-card.is-school li span,
.lp-page .home-plan-card.is-school li span {
    color: #ffc11c;
}

.home-page .home-plan-card li.is-disabled,
.home-page .home-plan-card li.is-disabled span,
.lp-page .home-plan-card li.is-disabled,
.lp-page .home-plan-card li.is-disabled span {
    color: rgba(215, 224, 255, 0.42);
}

.home-page .home-plan-btn,
.lp-page .home-plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: var(--ruah-home-radius-sm);
    background: linear-gradient(135deg, #a4f113, #d8ff1a);
    color: #061131;
    font-size: 0.82rem;
    font-weight: 1000;
    text-decoration: none;
}

.home-page .home-plan-card.is-family .home-plan-btn,
.lp-page .home-plan-card.is-family .home-plan-btn {
    background: linear-gradient(135deg, #5c34ff, #ad1ee8);
    color: #ffffff;
}

.home-page .home-plan-card.is-school .home-plan-btn,
.lp-page .home-plan-card.is-school .home-plan-btn {
    background: linear-gradient(135deg, #f17b0e, #ffb21b);
    color: #061131;
}

.home-page .home-plan-card small,
.lp-page .home-plan-card small {
    display: block;
    margin-top: 0.58rem;
    color: rgba(218, 226, 255, 0.62);
    text-align: center;
    font-size: 0.72rem;
    line-height: 1.35;
}
