/* Girl profile appearance control. Light is the default. */

.vf-profile-theme-toggle {
    display: inline-grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 2.55rem;
    padding: 0;
    border: 1px solid rgba(244, 114, 182, 0.3);
    border-radius: 999px;
    color: #f9a8d4;
    background: rgba(24, 24, 27, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 7px 22px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    transition: color 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.vf-profile-theme-toggle svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vf-profile-theme-toggle:hover {
    color: #fff;
    border-color: rgba(244, 114, 182, 0.72);
    background: rgba(131, 24, 67, 0.76);
    box-shadow: 0 9px 26px rgba(219, 39, 119, 0.22);
    transform: translateY(-1px);
}

.vf-profile-theme-toggle:focus-visible {
    outline: 3px solid #f472b6;
    outline-offset: 3px;
}

html.vf-profile-theme-ready body,
html.vf-profile-theme-ready body > nav,
html.vf-profile-theme-ready footer,
html.vf-profile-theme-ready .profile-story-card,
html.vf-profile-theme-ready .profile-bio-card,
html.vf-profile-theme-ready .profile-story-summary,
html.vf-profile-theme-ready .profile-feature-section,
html.vf-profile-theme-ready .profile-feature-card,
html.vf-profile-theme-ready .profile-pdf-card,
html.vf-profile-theme-ready .stat-card,
html.vf-profile-theme-ready main > section:last-of-type > div.rounded-3xl {
    transition: color 220ms ease, background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

/* Warm light profile theme. The cinematic hero and photo cards remain dark. */
html:not([data-profile-theme="dark"]) body {
    color: #30272e !important;
    background:
        radial-gradient(circle at 12% 14%, rgba(244, 114, 182, 0.08), transparent 31rem),
        radial-gradient(circle at 90% 48%, rgba(34, 211, 238, 0.045), transparent 34rem),
        #f7f3ef !important;
}

html:not([data-profile-theme="dark"]) body > nav {
    color: #554951;
    border-color: #eadfe5 !important;
    background: rgba(255, 252, 249, 0.94) !important;
    box-shadow: 0 10px 34px rgba(74, 50, 62, 0.08);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

html:not([data-profile-theme="dark"]) body > nav .nav-link {
    color: #554951;
}

html:not([data-profile-theme="dark"]) body > nav .nav-link:hover,
html:not([data-profile-theme="dark"]) body > nav .nav-link:focus-visible {
    color: #be185d;
}

html:not([data-profile-theme="dark"]) body > nav .nav-link.text-pink-400 {
    color: #db2777 !important;
}

html:not([data-profile-theme="dark"]) body > nav a[href="../join.html"],
html:not([data-profile-theme="dark"]) .hero-primary-cta,
html:not([data-profile-theme="dark"]) main > section:last-of-type a[href="../join.html"] {
    color: #fff !important;
}

html:not([data-profile-theme="dark"]) .members-access {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.34);
    background: linear-gradient(135deg, rgba(209, 250, 229, 0.9), rgba(236, 253, 245, 0.78));
    box-shadow: 0 7px 22px rgba(5, 150, 105, 0.08);
}

html:not([data-profile-theme="dark"]) .members-access:hover,
html:not([data-profile-theme="dark"]) .members-access:focus-visible {
    color: #065f46;
    border-color: rgba(5, 150, 105, 0.52);
    background: linear-gradient(135deg, #d1fae5, #ecfdf5);
}

html:not([data-profile-theme="dark"]) .vf-profile-theme-toggle {
    color: #9d174d;
    border-color: rgba(190, 24, 93, 0.2);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 7px 22px rgba(94, 49, 68, 0.1);
}

html:not([data-profile-theme="dark"]) .vf-profile-theme-toggle:hover {
    color: #fff;
    border-color: #db2777;
    background: #db2777;
}

html:not([data-profile-theme="dark"]) .girl-hero {
    color: #fff;
}

html:not([data-profile-theme="dark"]) .profile-hero-stage {
    border-color: rgba(190, 24, 93, 0.2) !important;
    box-shadow:
        0 28px 72px rgba(67, 45, 57, 0.19),
        -28px 18px 78px rgba(219, 39, 119, 0.07),
        30px 16px 82px rgba(34, 211, 238, 0.045),
        0 0 0 1px rgba(244, 114, 182, 0.05);
}

/* Keep Kristina's edge-positioned face in frame within the narrow hero art pane. */
.profile-hero-stage--kristina-rose .profile-json-hero-foreground {
    object-position: 100% center !important;
}

/* Light heroes use restrained white gradients; dark heroes remain cinematic. */
html:not([data-profile-theme="dark"]) .profile-hero-stage {
    color: #30272e;
    background: #fffdfb;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage > .bg-gradient-to-r {
    background-image: linear-gradient(to right,
        rgba(255, 253, 251, .686) 0%,
        rgba(255, 253, 251, .658) 31%,
        rgba(255, 253, 251, .42) 48%,
        rgba(255, 253, 251, .10) 62%,
        rgba(255, 253, 251, 0) 74%) !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage > .bg-gradient-to-l {
    background-image: linear-gradient(to left,
        rgba(255, 253, 251, .686) 0%,
        rgba(255, 253, 251, .658) 31%,
        rgba(255, 253, 251, .532) 52%,
        rgba(255, 253, 251, .21) 72%,
        rgba(255, 253, 251, 0) 91%) !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage > .bg-gradient-to-t {
    background-image: linear-gradient(to top,
        rgba(255, 253, 251, .504),
        rgba(255, 253, 251, 0) 34%) !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-breadcrumb,
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-breadcrumb .text-zinc-200 {
    color: #675a63 !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > p.text-zinc-200 {
    color: #433740 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > p.text-pink-300 {
    color: #be185d !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > .mt-4.border-t {
    border-color: rgba(63, 52, 59, .28) !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > .mt-4.border-t .text-pink-400 {
    color: #9d174d !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > .mt-4.border-t .text-zinc-300 {
    color: #3f343b !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > div:first-child span:not(.bg-pink-600\/90) {
    color: #4b3f47;
    border-color: rgba(96, 78, 89, .2);
    background: rgba(255, 255, 255, .72);
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy > .inline-flex {
    color: #433740 !important;
    border-color: rgba(96, 78, 89, .24);
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 8px 28px rgba(66, 45, 56, .07);
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .hero-primary-cta,
html:not([data-profile-theme="dark"]) .profile-hero-stage .hero-features-cta {
    color: #fff !important;
}
html:not([data-profile-theme="dark"]) .profile-hero-stage .hero-primary-cta + p {
    color: #71646d !important;
}
@media (max-width: 639px) {
    html:not([data-profile-theme="dark"]) .profile-hero-stage .profile-hero-copy {
        background: rgba(255, 253, 251, .88) !important;
        box-shadow: 0 18px 44px rgba(55, 38, 47, .13);
        backdrop-filter: blur(10px);
    }
}

html:not([data-profile-theme="dark"]) .profile-story-card,
html:not([data-profile-theme="dark"]) .profile-bio-card {
    color: #30272e;
    border-color: rgba(190, 24, 93, 0.14) !important;
    background:
        radial-gradient(500px circle at 7% 3%, rgba(244, 114, 182, 0.085), transparent 58%),
        radial-gradient(430px circle at 96% 90%, rgba(34, 211, 238, 0.04), transparent 64%),
        linear-gradient(150deg, #fffefd, #fffaf7) !important;
    box-shadow: 0 18px 48px rgba(75, 48, 61, 0.1), inset 0 1px 0 #fff;
}

html:not([data-profile-theme="dark"]) .profile-story-card .text-zinc-300,
html:not([data-profile-theme="dark"]) .profile-story-card .text-zinc-400,
html:not([data-profile-theme="dark"]) .profile-bio-card .text-zinc-200,
html:not([data-profile-theme="dark"]) .profile-bio-card .text-zinc-300,
html:not([data-profile-theme="dark"]) .profile-bio-card .text-zinc-400 {
    color: #685b64 !important;
}

html:not([data-profile-theme="dark"]) .profile-story-summary {
    color: #3b2d36;
    border-color: rgba(219, 39, 119, 0.18) !important;
    background:
        radial-gradient(320px circle at 10% 20%, rgba(244, 114, 182, 0.11), transparent 62%),
        radial-gradient(280px circle at 92% 88%, rgba(34, 211, 238, 0.04), transparent 65%),
        linear-gradient(145deg, #fff4f7, #fbf5ff) !important;
    box-shadow: inset 0 1px 0 #fff, 0 12px 28px rgba(96, 54, 74, 0.07);
}

html:not([data-profile-theme="dark"]) .profile-legacy-facts {
    border-color: rgba(190, 24, 93, 0.13);
    background:
        linear-gradient(90deg, rgba(253, 242, 248, 0.92), rgba(250, 245, 255, 0.92) 50%, rgba(236, 254, 255, 0.7)),
        #fff !important;
    box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(190, 24, 93, 0.05);
}

html:not([data-profile-theme="dark"]) .profile-legacy-facts .legacy-fact-card + .legacy-fact-card {
    border-color: rgba(190, 24, 93, 0.12) !important;
}

html:not([data-profile-theme="dark"]) .profile-bio-card > [class~="mt-6"] {
    border-color: #eadfe5 !important;
    background: #faf6f3 !important;
}

html:not([data-profile-theme="dark"]) .profile-bio-card .text-zinc-500,
html:not([data-profile-theme="dark"]) .stat-card .text-zinc-500,
html:not([data-profile-theme="dark"]) .stat-metric {
    color: #7b6d76 !important;
}

html:not([data-profile-theme="dark"]) .stat-card:nth-child(n) {
    color: #332a31;
    border: 1px solid rgba(190, 24, 93, 0.11);
    background:
        radial-gradient(180px circle at 12% 8%, rgba(244, 114, 182, 0.075), transparent 66%),
        linear-gradient(145deg, #fff, #faf6f3) !important;
    box-shadow: 0 7px 20px rgba(75, 48, 61, 0.055);
}

html:not([data-profile-theme="dark"]) .profile-pdf-card {
    color: #352a32;
    border-color: rgba(190, 24, 93, 0.17);
    background:
        radial-gradient(420px circle at 5% 45%, rgba(244, 114, 182, 0.1), transparent 62%),
        radial-gradient(360px circle at 96% 12%, rgba(34, 211, 238, 0.045), transparent 64%),
        linear-gradient(145deg, #fffefd, #fff8f6);
    box-shadow: 0 14px 34px rgba(75, 48, 61, 0.09), inset 0 1px 0 #fff;
}

html:not([data-profile-theme="dark"]) .profile-pdf-card:hover,
html:not([data-profile-theme="dark"]) .profile-pdf-card:focus-visible {
    color: #352a32;
    border-color: rgba(219, 39, 119, 0.48);
    box-shadow: 0 18px 42px rgba(75, 48, 61, 0.13), 0 0 28px rgba(219, 39, 119, 0.07);
}

html:not([data-profile-theme="dark"]) .profile-pdf-card .text-zinc-100 {
    color: #352a32 !important;
}

html:not([data-profile-theme="dark"]) .profile-pdf-card .text-zinc-400 {
    color: #72646d !important;
}

html:not([data-profile-theme="dark"]) .profile-pdf-eyebrow {
    color: #a21caf;
}

html:not([data-profile-theme="dark"]) .profile-pdf-action,
html:not([data-profile-theme="dark"]) .profile-pdf-card:hover .profile-pdf-action,
html:not([data-profile-theme="dark"]) .profile-pdf-card:focus-visible .profile-pdf-action {
    color: #be185d;
}

html:not([data-profile-theme="dark"]) .profile-photo-card {
    color: #fff;
}

html:not([data-profile-theme="dark"]) .profile-feature-section {
    color: #30272e;
    border-color: #eadfe5 !important;
    background:
        radial-gradient(760px circle at 18% 44%, rgba(244, 114, 182, 0.07), transparent 64%),
        radial-gradient(680px circle at 82% 58%, rgba(34, 211, 238, 0.04), transparent 66%),
        #f1ebe7 !important;
}

html:not([data-profile-theme="dark"]) .profile-feature-card {
    color: #30272e;
    border: 1px solid transparent !important;
    background:
        linear-gradient(155deg, #fffefd, #fff9f6) padding-box,
        linear-gradient(115deg, rgba(219, 39, 119, 0.38), rgba(147, 51, 234, 0.25), rgba(8, 145, 178, 0.2), rgba(219, 39, 119, 0.28)) border-box !important;
    box-shadow: 0 16px 38px rgba(75, 48, 61, 0.09), inset 0 1px 0 #fff;
}

html:not([data-profile-theme="dark"]) .profile-feature-card .text-zinc-400 {
    color: #6d6068 !important;
}

html:not([data-profile-theme="dark"]) .profile-feature-card > div:first-child {
    color: #be185d !important;
    border-color: rgba(219, 39, 119, 0.13);
    background: linear-gradient(135deg, #fce7f3, #f3e8ff) !important;
    box-shadow: 0 8px 22px rgba(219, 39, 119, 0.08);
}

html:not([data-profile-theme="dark"]) .profile-feature-card--2 > div:first-child {
    color: #7e22ce !important;
    background: linear-gradient(135deg, #f3e8ff, #cffafe) !important;
}

html:not([data-profile-theme="dark"]) .profile-feature-card--3 > div:first-child {
    color: #be185d !important;
    background: linear-gradient(135deg, #fce7f3, #fef3c7) !important;
}

html:not([data-profile-theme="dark"]) main > section:last-of-type > div.rounded-3xl {
    color: #30272e;
    border-color: rgba(190, 24, 93, 0.14) !important;
    background:
        radial-gradient(circle at 15% 0, rgba(244, 114, 182, 0.1), transparent 44%),
        linear-gradient(145deg, #fffefd, #fff4f7) !important;
    box-shadow: 0 18px 46px rgba(75, 48, 61, 0.1), inset 0 1px 0 #fff;
}

html:not([data-profile-theme="dark"]) main > section:last-of-type > div.rounded-3xl .text-zinc-300 {
    color: #675a63 !important;
}

html:not([data-profile-theme="dark"]) footer {
    color: #786b74;
    border-color: #e8dde3 !important;
    background: #f1ebe7 !important;
}

html:not([data-profile-theme="dark"]) footer a:hover,
html:not([data-profile-theme="dark"]) footer a:focus-visible {
    color: #be185d !important;
}

@media (max-width: 700px) {
    .vf-profile-theme-controls {
        gap: 0.55rem !important;
    }

    .vf-profile-theme-controls > .nav-link span {
        display: none !important;
    }

    .vf-profile-theme-toggle {
        width: 2.35rem;
        height: 2.35rem;
        flex-basis: 2.35rem;
    }

    body > nav > div {
        padding-inline: 0.75rem !important;
    }

    body > nav .members-access {
        padding-inline: 0.72rem;
    }
}

@media (max-width: 430px) {
    body > nav img {
        max-width: 6.4rem;
        object-fit: contain;
    }

    .vf-profile-theme-controls {
        gap: 0.4rem !important;
    }

    .vf-profile-theme-controls > a[href="../join.html"] {
        padding-inline: 0.8rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vf-profile-theme-toggle,
    html.vf-profile-theme-ready body,
    html.vf-profile-theme-ready body > nav,
    html.vf-profile-theme-ready footer,
    html.vf-profile-theme-ready .profile-story-card,
    html.vf-profile-theme-ready .profile-bio-card,
    html.vf-profile-theme-ready .profile-story-summary,
    html.vf-profile-theme-ready .profile-feature-section,
    html.vf-profile-theme-ready .profile-feature-card,
    html.vf-profile-theme-ready .profile-pdf-card,
    html.vf-profile-theme-ready .stat-card,
    html.vf-profile-theme-ready main > section:last-of-type > div.rounded-3xl {
        transition: none;
    }
}

.vf-support-footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem .8rem;
    width: 100%;
    margin: 1rem auto 0;
    padding: 0 1rem 1.2rem;
    color: #a1a1aa;
    font-size: .78rem;
}
.vf-support-footer-links a { color: inherit; text-decoration: none; }
.vf-support-footer-links a:hover { color: #ec4899; }
html[data-profile-theme="light"] footer > div:first-child,
html[data-profile-theme="light"] footer > div:first-child .text-zinc-500,
html[data-profile-theme="light"] footer > div:first-child a {
    color: rgb(32, 32, 32) !important;
}
html[data-profile-theme="light"] footer > div:first-child a:hover,
html[data-profile-theme="light"] footer > div:first-child a:focus-visible {
    color: #be185d !important;
}
html[data-profile-theme="light"] .vf-support-footer-links {
    width: min(38rem, calc(100% - 2rem));
    margin-top: 1rem;
    padding: .9rem 1rem 1.2rem;
    border-top: 1px solid rgba(92, 78, 86, .22);
    color: rgb(100, 92, 96);
}
html[data-profile-theme="light"] .vf-support-footer-links a:hover { color: #be185d; }
