body {
    background: radial-gradient(ellipse 120% 80% at 50% -20%, rgba(26, 28, 36, 0.5) 0%, #0E1017 45%, #0a0c12 100%);
}
.glass-card {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(32px);
    -webkit-backdrop-filter: blur(32px);
    border: 1px solid rgba(242, 241, 232, 0.06);
    box-shadow: 0 10px 40px -10px rgba(0,0,0,0.6);
}
.hero-glow {
    background: radial-gradient(circle at 50% 40%, rgba(242, 196, 93, 0.1) 0%, transparent 55%);
}
.phone-backlight {
    filter: blur(100px);
    background: radial-gradient(circle, rgba(242, 196, 93, 0.18) 0%, transparent 70%);
}
.orb-container {
    position: relative;
    width: 140px;
    height: 140px;
}
.orb-core {
    position: absolute;
    inset: 25%;
    background: radial-gradient(circle, #fff 0%, #F2C45D 50%, #C9A84A 100%);
    border-radius: 50%;
    box-shadow: 0 0 50px #F2C45D, 0 0 100px rgba(242, 196, 93, 0.5);
    z-index: 5;
}
.orb-aura {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(242, 196, 93, 0.5) 0%, transparent 75%);
    border-radius: 50%;
    animation: pulse-aura 4s infinite ease-in-out;
}
.orb-ring {
    position: absolute;
    inset: -10px;
    border: 1px solid rgba(242, 196, 93, 0.2);
    border-radius: 50%;
    animation: rotate-ring 12s linear infinite;
}
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
@keyframes pulse-aura {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.15); opacity: 0.7; }
}
@keyframes rotate-ring {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}
#mobile-menu-panel {
    transition: opacity 0.2s ease, transform 0.2s ease;
}
#mobile-menu-panel.is-closed {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
}
#mobile-menu-panel.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.legal-prose h2 {
    font-family: "Playfair Display", serif;
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    color: #F2F1E8;
}
.legal-prose p,
.legal-prose li {
    color: rgba(242, 241, 232, 0.62);
    line-height: 1.7;
    margin-bottom: 1rem;
}
.legal-prose ul {
    list-style: disc;
    padding-left: 1.25rem;
    margin-bottom: 1rem;
}
.legal-prose a {
    color: #F2C45D;
}
.legal-prose a:hover {
    text-decoration: underline;
}
.blog-prose {
    font-size: 1.125rem;
    line-height: 1.8;
}
.blog-prose h2 {
    font-family: "Playfair Display", serif;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 2.75rem;
    margin-bottom: 0.85rem;
    color: #F2F1E8;
}
.blog-prose h3 {
    font-family: "Playfair Display", serif;
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 0.6rem;
    color: #F2F1E8;
}
.blog-prose p,
.blog-prose li {
    color: rgba(242, 241, 232, 0.72);
    margin-bottom: 1.15rem;
}
.blog-prose ul,
.blog-prose ol {
    padding-left: 1.35rem;
    margin-bottom: 1.25rem;
}
.blog-prose ul {
    list-style: disc;
}
.blog-prose ol {
    list-style: decimal;
}
.blog-prose a {
    color: #F2C45D;
}
.blog-prose a:hover {
    text-decoration: underline;
}
.blog-prose blockquote {
    border-left: 2px solid rgba(242, 196, 93, 0.55);
    padding: 0.35rem 0 0.35rem 1.25rem;
    margin: 1.75rem 0;
}
.blog-prose blockquote p {
    font-family: "Playfair Display", serif;
    font-size: 1.35rem;
    font-style: italic;
    line-height: 1.55;
    color: #F2F1E8;
    margin-bottom: 0.5rem;
}
.blog-prose blockquote cite {
    display: block;
    font-family: Inter, sans-serif;
    font-size: 0.7rem;
    font-style: normal;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #F2C45D;
    font-weight: 700;
}
.blog-prose strong {
    color: #F2F1E8;
    font-weight: 600;
}
.faq-item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::after {
    content: "+";
    flex-shrink: 0;
    font-family: Inter, sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    color: #F2C45D;
}
.faq-item[open] summary::after {
    content: "−";
}
