:root {
    --gold: #D4AF37;
    --gold-bright: #FFD700;
    --bg-dark: #050505;
    --pdf-bg: #121212;
    --red-alert: #ff4757;
}

body {
    background-color: var(--bg-dark);
    color: #fff;
    font-family: "Noto Sans", "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Kannada", "Noto Sans Gujarati", "Noto Sans Bengali", "Noto Sans Malayalam", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Android Emoji", sans-serif;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    margin: 0; padding: 10px;
    display: flex; justify-content: center;
    background-image: radial-gradient(circle at top, #1a1a1a 0%, #000 100%);
    min-height: 100vh;
}

.report-container,
.insight-section,
.chart-section,
.result-container {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.main-container { width: 100%; max-width: 480px; text-align: center; }

/* --- HEADER & PROFILE (FIXED ALIGNMENT) --- */
.vedic-logo { font-family: 'Cinzel', serif; color: var(--gold); font-size: 22px; margin: 0; letter-spacing: 2px; }
.brand-sub { font-size: 9px; color: #888; text-transform: uppercase; letter-spacing: 3px; margin: 2px 0 15px; }

.profile-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 15px;
}

/* IMAGE CORRECTION: Smaller & Centered */
.profile-img-container { 
    width: 110px; /* Reduced from large size */
    height: 110px; 
    margin: 0 auto 10px; /* Centered with bottom margin */
    position: relative; 
    display: inline-block;
}

.profile-img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: top center; 
    border-radius: 50%; 
    border: 3px solid var(--gold); 
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.2);
}

/* TICK MARK CORRECTION: Aligned to edge */
.verified-tick {
    /* ... existing styles ... */
    filter: drop-shadow(0 2px 4px rgba(46, 213, 115, 0.6)); /* Green Shadow */
}

.guru-name { 
    margin: 0; 
    color: #fff; 
    font-size: 20px; /* Reduced size */
    font-weight: 700; 
    font-family: 'Cinzel', serif;
}

/* STATS CORRECTION: Grey Color & Tight Spacing */
.rating-text { 
    color: #ccc; /* Changed to Light Grey */
    font-size: 11px; 
    margin-top: 4px; 
    margin-bottom: 10px; /* Reduced gap before headline */
    font-weight: 400;
}

/* --- PROBLEM HEADLINES --- */
.problems-section { margin-top: 5px; }
.problem-headline { 
    font-family: 'Playfair Display'; 
    font-size: 20px; 
    color: var(--gold-bright); 
    margin-bottom: 5px; 
    line-height: 1.3; 
}
.problem-sub { font-size: 11px; color: #999; margin-bottom: 15px; }

@keyframes buttonWobble {
    0% {
        box-shadow: 0 0 0px rgba(201,168,76,0);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 20px rgba(201,168,76,0.4);
        transform: scale(1.02);
    }
    100% {
        box-shadow: 0 0 0px rgba(201,168,76,0);
        transform: scale(1);
    }
}

@keyframes buttonPulse {
    0% {
        box-shadow: 0 4px 20px rgba(201,168,76,0.3);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 4px 35px rgba(201,168,76,0.6);
        transform: scale(1.02);
    }
    100% {
        box-shadow: 0 4px 20px rgba(201,168,76,0.3);
        transform: scale(1);
    }
}

@keyframes sadeSatiBlink {
    0% {
        box-shadow: 0 0 0px rgba(220,50,50,0);
        border-color: rgba(220,50,50,0.4);
    }
    50% {
        box-shadow: 0 0 25px rgba(220,50,50,0.4);
        border-color: rgba(220,50,50,0.9);
    }
    100% {
        box-shadow: 0 0 0px rgba(220,50,50,0);
        border-color: rgba(220,50,50,0.4);
    }
}

/* Fix select dropdown background and text */
select {
  background-color: #1a1a2e !important;
  color: #ffffff !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  border-radius: 8px !important;
}

/* Fix the dropdown options list */
select option {
  background-color: #1a1a2e !important;
  color: #ffffff !important;
  padding: 10px !important;
}

/* Fix the first disabled/placeholder option */
select option:disabled {
  color: rgba(255,255,255,0.4) !important;
}

/* Fix hover state on options */
select option:hover {
  background-color: rgba(201,168,76,0.2) !important;
  color: #c9a84c !important;
}

/* Fix focus state */
select:focus {
  border-color: rgba(201,168,76,0.6) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15) !important;
}

/* Apply to ALL select elements on the page */
select,
select.form-control,
select.form-select,
#gender,
#day,
#month, 
#year,
#language,
.form-select,
.dropdown-select {
  background-color: #1a1a2e !important;
  color: #ffffff !important;
}

/* TAGS */
.problem-tags-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 20px; }
.problem-tag { background: #222; border: 1px solid #444; color: #ddd; padding: 6px 12px; border-radius: 20px; font-size: 11px; font-weight: 500; }

/* --- FORM STYLES --- */
.form-box-premium { background: #111; border: 1px solid #333; padding: 20px; border-radius: 12px; margin-bottom: 20px; }
.form-title { font-size: 15px; color: var(--gold); margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }

.form-box-premium input, .form-box-premium select { 
    width: 100%; background: rgba(255,255,255,0.05); border: 1px solid rgba(201,168,76,0.2); color: #ffffff; 
    padding: 12px; margin-bottom: 10px; border-radius: 8px; box-sizing: border-box; 
    font-size: 16px; font-family: 'Poppins';
}

.form-box-premium input:focus, .form-box-premium select:focus {
  border-color: rgba(201,168,76,0.6) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15);
}

.form-box-premium select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px 14px;
    padding-right: 42px;
}

.form-error {
    background: rgba(255, 71, 87, 0.18);
    border: 1px solid rgba(255, 71, 87, 0.55);
    color: #ffecec;
    padding: 12px 14px;
    border-radius: 12px;
    margin: 12px 0 12px;
    text-align: center;
    font-size: 13px;
    line-height: 1.45;
    white-space: pre-line;
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.35);
}
.input-row { display: flex; gap: 10px; }
.input-row input, .input-row select { flex: 1; }

select[name="language"] option[value="English"] {
    color: #b6b6b6;
    font-size: 90%;
    font-weight: 400;
}

.autocomplete-wrap {
    position: relative;
}

.suggestions {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 20;
    border-radius: 10px;
    background: #0b0b0b;
    border: 1px solid #222;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.45);
    overflow: hidden;
    display: none;
    max-height: 220px;
    overflow-y: auto;
}

.suggestions.open {
    display: block;
}

.suggestion-item {
    width: 100%;
    border: none;
    background: transparent;
    text-align: left;
    padding: 10px 12px;
    cursor: pointer;
    font: inherit;
    color: #f5f5f5;
    transition: background 0.15s ease;
}

.suggestion-item:hover,
.suggestion-item.active {
    background: rgba(212, 175, 55, 0.12);
}

.suggestion-main {
    display: block;
    font-size: 13px;
    font-weight: 600;
}

.suggestion-sub {
    display: block;
    margin-top: 2px;
    color: #9a9a9a;
    font-size: 11px;
}

input, select {
    box-sizing: border-box;
    width: 100%;
}

.time-select-row select {
    text-align: center;
}

.dob-row {
    display: flex;
    gap: 12px;
    width: 100%;
    margin-bottom: 10px;
}

.dob-row select {
    flex: 1;
}

.time-row {
    width: 100%;
    margin-bottom: 10px;
}

.cta-button-premium { 
    width: 100%; background: linear-gradient(45deg, #b8860b, var(--gold)); 
    border: none; padding: 14px; font-weight: bold; border-radius: 6px; 
    cursor: pointer; color: #000; margin-top: 5px; font-size: 14px;
}

/* --- LOADER --- */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.96);
    z-index: 2000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 24px 14px;
}

/* --- RESULTS SECTION --- */
.results-container { display: none; margin-top: 10px; animation: slideUp 0.8s ease; }
@keyframes slideUp { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.pdf-document-box { background: var(--pdf-bg); border: 1px solid #333; border-top: 3px solid var(--gold); border-bottom: 3px solid var(--gold); border-radius: 4px; padding: 20px 15px; text-align: left; position: relative; }

/* PROGRESS BAR */
.generation-status { margin-bottom: 20px; text-align: center; }
.status-text { display: flex; justify-content: space-between; font-size: 10px; color: #aaa; margin-bottom: 5px; font-weight: 600; }
.progress-track { width: 100%; height: 5px; background: #333; border-radius: 10px; overflow: hidden; }
.progress-fill { width: 0%; height: 100%; background: linear-gradient(90deg, #ff4757, #00ff00); transition: width 2s ease-out; }

/* PDF HEADER */
.pdf-header { text-align: center; margin-bottom: 20px; border-bottom: 1px solid #333; padding-bottom: 15px; }
.pdf-meta { font-size: 8px; letter-spacing: 2px; color: #666; text-transform: uppercase; }
.client-name-pdf { font-family: 'Playfair Display'; font-size: 22px; color: var(--gold-bright); margin: 5px 0 0; }
.premium-tagline { font-family: 'Cinzel', serif; font-size: 10px; color: var(--gold); margin-top: 2px; }

/* COSMIC TRIO */
.cosmic-trio-row { display: flex; justify-content: center; align-items: center; gap: 5px; background: rgba(255,255,255,0.02); padding: 10px; border-radius: 6px; border: 1px solid #222; margin-bottom: 20px; }
.trio-item { text-align: center; flex: 1; }
.trio-label { font-size: 9px; color: #777; text-transform: uppercase; display: block; }
.trio-val { font-size: 12px; color: var(--gold); font-weight: 600; margin-top: 2px; }
.trio-sep { color: #333; font-size: 14px; }

/* --- CONTENT BOXES --- */
.pdf-section { margin-bottom: 25px; }
.pdf-sec-title { font-size: 14px; color: var(--gold); margin: 0 0 8px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 700; border-left: 3px solid var(--gold); padding-left: 8px; }
.pdf-text { font-size: 13px; color: #ccc; line-height: 1.7; margin: 0; }

/* ✅ REALISTIC BLUR EFFECT */
.blurred-text { 
    color: transparent; 
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.7); 
    user-select: none; 
    pointer-events: none; 
    display: inline; 
    line-height: 1.8;
}

/* 🔴 EMERGENCY RED BLINKING BOX (Critical Alert & Health) 🔴 */
@keyframes blinkRed {
    0% { border-color: #ff4757; box-shadow: 0 0 5px rgba(255, 71, 87, 0.2); }
    50% { border-color: #500000; box-shadow: none; }
    100% { border-color: #ff4757; box-shadow: 0 0 5px rgba(255, 71, 87, 0.2); }
}

.alert-box-emergency {
    background: linear-gradient(135deg, #1a0505 0%, #000 100%);
    border: 2px solid #ff4757;
    padding: 15px; border-radius: 8px; margin-bottom: 20px;
    animation: blinkRed 1.5s infinite; /* BLINKING ANIMATION */
}

	/* UNLOCK SECTION */
	.unlock-area-final { text-align: center; margin-top: 40px; }

/* ✅ BOUNCING CTA BUTTON */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-6px);}
    60% {transform: translateY(-3px);}
}

@keyframes ctaBreath {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}

.super-unlock-btn {
    width: 100%;
    min-height: 60px;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    border: none;
    padding: 14px 14px 12px 14px;
    border-radius: 12px;
    cursor: pointer;
    font-family: 'Cinzel', serif;
    font-weight: 900;
    color: #000;
    box-shadow: 0 0 20px rgba(255, 165, 0, 0.6);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    animation: ctaPulse 2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .super-unlock-btn { animation: none; }
}

@keyframes ctaPulse {
    0% {
        box-shadow:
            0 0 10px rgba(255,165,0,0.4),
            0 0 20px rgba(255,165,0,0.2);
    }
    50% {
        box-shadow:
            0 0 20px rgba(255,165,0,0.7),
            0 0 40px rgba(255,165,0,0.4),
            0 0 60px rgba(255,165,0,0.2);
    }
    100% {
        box-shadow:
            0 0 10px rgba(255,165,0,0.4),
            0 0 20px rgba(255,165,0,0.2);
    }
}

#unlockBtnTitle {
    font-size: 19px;
    font-weight: 900;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.28);
}

.cta-proof {
    text-align: center;
    color: #B8860B;
    font-size: 12px;
    font-weight: 900;
    margin: 10px 0 10px 0;
}

.cta-subnote {
    text-align: center;
    color: rgba(180, 180, 180, 0.92);
    font-size: 12px;
    font-weight: 650;
    margin: 8px 0 0 0;
}

.pdf-manuscript-scene {
    position: relative;
    max-width: 520px;
    height: 400px;
    margin: 0 auto;
    border-radius: 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 214, 123, 0.08), transparent 18%),
        linear-gradient(180deg, #0f1117 0%, #1c1410 42%, #4a2c17 100%);
    border: 1px solid rgba(201, 168, 76, 0.2);
    box-shadow:
        inset 0 1px 0 rgba(255, 225, 155, 0.04),
        0 28px 70px rgba(0, 0, 0, 0.46);
}

.pdf-manuscript-scene::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 82%, rgba(255,255,255,0.04), transparent 12%),
        radial-gradient(circle at 82% 18%, rgba(255,222,156,0.05), transparent 12%),
        linear-gradient(135deg, rgba(255,255,255,0.03), transparent 20%);
    pointer-events: none;
}

.pdf-manuscript-scene__prop {
    position: absolute;
    opacity: 0.92;
    pointer-events: none;
}

.pdf-manuscript-scene__prop--lamp {
    left: 18px;
    top: 20px;
    width: 30px;
    height: 92px;
    border-radius: 18px 18px 12px 12px;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 223, 164, 0.38), transparent 24%),
        linear-gradient(180deg, #2b241e, #120f0d 60%, #6b4c2b 100%);
    box-shadow:
        0 0 20px rgba(255, 202, 103, 0.08),
        inset 0 0 0 1px rgba(255, 223, 164, 0.08);
}

.pdf-manuscript-scene__prop--lamp::before {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    top: 10px;
    height: 30px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 222, 148, 0.76), rgba(255, 222, 148, 0));
    filter: blur(2px);
}

.pdf-manuscript-scene__prop--books {
    left: 74px;
    top: 38px;
    width: 70px;
    height: 108px;
    border-radius: 8px;
    background:
        linear-gradient(90deg, transparent 0 10%, rgba(79, 53, 30, 0.9) 10% 18%, transparent 18% 26%, rgba(98, 69, 36, 0.92) 26% 36%, transparent 36% 44%, rgba(70, 46, 26, 0.92) 44% 54%, transparent 54% 62%, rgba(93, 64, 35, 0.92) 62% 72%, transparent 72% 80%, rgba(64, 42, 26, 0.92) 80% 90%, transparent 90%),
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
        linear-gradient(180deg, #2c2018, #130f0e);
}

.pdf-manuscript-scene__prop--instrument {
    right: 24px;
    top: 66px;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 2px solid rgba(181, 139, 67, 0.46);
    box-shadow: inset 0 0 0 1px rgba(255, 226, 152, 0.04);
}

.pdf-manuscript-scene__prop--instrument::before,
.pdf-manuscript-scene__prop--instrument::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    inset: 14px;
    border: 1px solid rgba(181, 139, 67, 0.3);
}

.pdf-manuscript-scene__prop--instrument::after {
    inset: auto;
    left: 34px;
    top: -8px;
    width: 2px;
    height: 88px;
    border: 0;
    background: rgba(181, 139, 67, 0.34);
}

.pdf-manuscript {
    position: absolute;
    left: 50%;
    top: 56%;
    width: 330px;
    height: 230px;
    transform: translate(-50%, -50%);
}

.pdf-manuscript__pages {
    position: absolute;
    right: -4px;
    bottom: -2px;
    width: 272px;
    height: 178px;
    border-radius: 12px 10px 14px 14px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        linear-gradient(160deg, #e1d0b2, #bea17d 70%, #8d6140);
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.28);
}

.pdf-manuscript__pages::after {
    content: "";
    position: absolute;
    right: -4px;
    top: 12px;
    bottom: 8px;
    width: 16px;
    border-radius: 0 10px 12px 0;
    background:
        repeating-linear-gradient(180deg, #eadcc3 0 4px, #cfb391 4px 7px, #b88b66 7px 9px);
    filter: brightness(0.96);
}

.pdf-manuscript__pages--back {
    transform: rotate(-4deg) translate(18px, 10px);
    opacity: 0.74;
}

.pdf-manuscript__pages--mid {
    transform: rotate(-2deg) translate(8px, 4px);
    opacity: 0.9;
}

.pdf-manuscript__book {
    position: absolute;
    inset: 0 auto auto 0;
    width: 262px;
    height: 204px;
    padding: 24px 18px 18px;
    border-radius: 14px 12px 10px 16px;
    transform: rotate(-14deg);
    transform-origin: center center;
    background:
        radial-gradient(circle at 50% 16%, rgba(255, 215, 130, 0.08), transparent 16%),
        linear-gradient(160deg, #1b2027 0%, #11151c 58%, #0d0f13 100%);
    border: 1px solid rgba(201, 168, 76, 0.26);
    box-shadow:
        0 24px 44px rgba(0, 0, 0, 0.46),
        inset 0 1px 0 rgba(255, 230, 170, 0.06);
}

.pdf-manuscript__book::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 8px;
    bottom: 8px;
    width: 18px;
    border-radius: 12px 0 0 12px;
    background:
        linear-gradient(180deg, rgba(255, 225, 155, 0.1), rgba(255, 225, 155, 0)),
        linear-gradient(180deg, #2f2217, #17110d 56%, #0d0907);
    border: 1px solid rgba(201, 168, 76, 0.2);
}

.pdf-manuscript__constellation {
    position: absolute;
    left: 50%;
    top: 18px;
    width: 144px;
    height: 92px;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(222, 187, 111, 0.3);
    box-shadow: 0 0 0 12px rgba(222, 187, 111, 0.04);
}

.pdf-manuscript__constellation::before,
.pdf-manuscript__constellation::after {
    content: "";
    position: absolute;
    inset: 10px 16px;
    border-radius: 50%;
    border: 1px solid rgba(222, 187, 111, 0.22);
}

.pdf-manuscript__constellation::after {
    inset: 22px 30px;
}

.pdf-manuscript__constellation span {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #f6d688;
    box-shadow: 0 0 10px rgba(246, 214, 136, 0.9);
}

.pdf-manuscript__constellation span:nth-child(1) { left: 16px; top: 36px; }
.pdf-manuscript__constellation span:nth-child(2) { left: 36px; top: 12px; }
.pdf-manuscript__constellation span:nth-child(3) { left: 66px; top: 4px; }
.pdf-manuscript__constellation span:nth-child(4) { left: 106px; top: 10px; }
.pdf-manuscript__constellation span:nth-child(5) { right: 18px; top: 34px; }
.pdf-manuscript__constellation span:nth-child(6) { left: 96px; bottom: 12px; }
.pdf-manuscript__constellation span:nth-child(7) { left: 48px; bottom: 10px; }
.pdf-manuscript__constellation span:nth-child(8) { left: 14px; bottom: 28px; }

.pdf-manuscript__title {
    position: relative;
    z-index: 1;
    margin-top: 38px;
    text-align: center;
    color: #efd18a;
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    line-height: 0.88;
    letter-spacing: 1px;
    text-shadow: 0 1px 0 rgba(255, 239, 200, 0.1);
}

.pdf-manuscript__subtitle {
    position: relative;
    z-index: 1;
    margin-top: 10px;
    text-align: center;
    color: rgba(235, 205, 136, 0.9);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.pdf-manuscript__prepared {
    position: relative;
    z-index: 1;
    margin-top: 24px;
    text-align: center;
    color: rgba(235, 220, 190, 0.84);
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 13px;
}

.pdf-manuscript__client {
    position: relative;
    z-index: 1;
    margin-top: 6px;
    text-align: center;
    color: #f3d89f;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 1px;
}

.pdf-manuscript__astro {
    position: relative;
    z-index: 1;
    margin-top: 6px;
    text-align: center;
    color: rgba(234, 214, 173, 0.78);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.6px;
}

.pdf-manuscript__plaque {
    position: relative;
    z-index: 1;
    width: 132px;
    margin: 14px auto 0;
    padding: 7px 8px;
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 216, 126, 0.08), rgba(255, 216, 126, 0.02)),
        rgba(17, 15, 14, 0.6);
    border: 1px solid rgba(222, 187, 111, 0.38);
}

.pdf-manuscript__rating {
    color: #efd18a;
    text-align: center;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1px;
}

.pdf-manuscript__authority {
    margin-top: 4px;
    color: rgba(235, 220, 190, 0.82);
    text-align: center;
    font-size: 8px;
    line-height: 1.25;
    font-weight: 700;
}

.pdf-manuscript__footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    text-align: center;
    color: rgba(235, 205, 136, 0.84);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

@media (max-width: 420px) {
    .pdf-manuscript-scene {
        height: 336px;
        border-radius: 20px;
    }

    .pdf-manuscript-scene__prop--books,
    .pdf-manuscript-scene__prop--instrument {
        display: none;
    }

    .pdf-manuscript {
        width: 286px;
        height: 206px;
        top: 58%;
    }

    .pdf-manuscript__pages {
        width: 232px;
        height: 150px;
    }

    .pdf-manuscript__book {
        width: 226px;
        height: 178px;
        padding: 22px 14px 14px;
    }

    .pdf-manuscript__title {
        font-size: 32px;
        margin-top: 30px;
    }

    .pdf-manuscript__prepared {
        margin-top: 18px;
        font-size: 11px;
    }

    .pdf-manuscript__client {
        font-size: 13px;
    }

    .pdf-manuscript__plaque {
        width: 118px;
        margin-top: 10px;
    }
}

.report-bundle-shell {
    position: relative;
    max-width: 560px;
    margin: 0 auto 18px;
    padding: 18px 14px 16px;
    border-radius: 24px;
    border: 1px solid rgba(201, 168, 76, 0.34);
    background:
        radial-gradient(circle at 50% 0%, rgba(201, 168, 76, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(27, 21, 9, 0.92), rgba(9, 9, 11, 0.98) 28%, rgba(9, 9, 10, 0.98));
    box-shadow:
        0 26px 80px rgba(0, 0, 0, 0.48),
        0 0 0 1px rgba(255, 225, 155, 0.03) inset;
    overflow: hidden;
}

.report-bundle-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 12%, rgba(255, 230, 171, 0.05), transparent 16%),
        radial-gradient(circle at 84% 10%, rgba(201, 168, 76, 0.06), transparent 14%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.02), transparent 22%);
    pointer-events: none;
}

.report-bundle-shell::after {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 18px;
    border: 1px solid rgba(201, 168, 76, 0.08);
    pointer-events: none;
}

.pdf-bundle-showcase {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 2px;
    text-align: center;
    position: relative;
}

.pdf-bundle-stage {
    position: relative;
    max-width: 500px;
    height: 360px;
    margin: 0 auto;
}

.pdf-bundle-stage::before {
    content: "";
    position: absolute;
    inset: 26px 18px 18px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 52% 40%, rgba(201, 168, 76, 0.18), transparent 34%),
        radial-gradient(circle at 58% 72%, rgba(61, 36, 14, 0.55), transparent 48%);
    filter: blur(12px);
    opacity: 0.95;
}

.pdf-bundle-stage::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8px;
    width: 68%;
    height: 26px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0));
    filter: blur(4px);
}

.pdf-bundle-sheet {
    position: absolute;
    right: 18px;
    width: 64%;
    height: 228px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
        linear-gradient(145deg, #1c1728, #10111c 72%, #160f12);
    border: 1px solid rgba(201, 168, 76, 0.2);
    box-shadow: 0 24px 40px rgba(0, 0, 0, 0.46);
}

.pdf-bundle-sheet--back {
    top: 62px;
    transform: rotate(10deg);
}

.pdf-bundle-sheet--mid {
    top: 40px;
    transform: rotate(5deg);
    border-color: rgba(201, 168, 76, 0.28);
}

.pdf-bundle-sheet--folio {
    top: 22px;
    right: 34px;
    width: 58%;
    height: 246px;
    transform: rotate(1deg);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0)),
        linear-gradient(155deg, #1a1724, #12131d 68%, #171117);
    border-color: rgba(201, 168, 76, 0.3);
}

.pdf-bundle-book {
    position: absolute;
    left: 18px;
    top: 36px;
    width: 142px;
    height: 212px;
    transform: rotate(-11deg);
    transform-style: preserve-3d;
    animation: floatPDFBundle 4.5s ease-in-out infinite;
    filter: drop-shadow(0 24px 34px rgba(0, 0, 0, 0.5));
}

.pdf-bundle-book__spine {
    position: absolute;
    left: 0;
    top: 10px;
    width: 22px;
    height: 190px;
    border-radius: 10px 0 0 10px;
    background:
        linear-gradient(180deg, rgba(255, 226, 152, 0.22), rgba(255, 226, 152, 0)),
        linear-gradient(180deg, #8e611c, #4c2c08 56%, #2e1605);
    border: 1px solid rgba(201, 168, 76, 0.42);
    border-right: none;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.pdf-bundle-book__spine span {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 8px;
    letter-spacing: 2px;
    color: #f6d686;
    font-weight: 700;
}

.pdf-bundle-book__cover {
    position: absolute;
    left: 22px;
    top: 0;
    right: 0;
    bottom: 0;
    border-radius: 10px 14px 14px 10px;
    border: 1px solid rgba(201, 168, 76, 0.58);
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 204, 102, 0.28), transparent 24%),
        radial-gradient(circle at 78% 16%, rgba(255, 236, 179, 0.2), transparent 20%),
        linear-gradient(155deg, #23495f 0%, #10293b 38%, #7f531d 100%);
    overflow: hidden;
}

.pdf-bundle-book__cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.1), transparent 28%),
        radial-gradient(circle at 45% 38%, rgba(255, 220, 120, 0.16), transparent 36%);
}

.pdf-bundle-book__seal {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(11, 15, 23, 0.76);
    border: 1px solid rgba(255, 220, 137, 0.45);
    color: #ffe8a6;
    font-size: 8px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    font-weight: 700;
}

.pdf-bundle-book__mandala {
    position: absolute;
    left: 50%;
    top: 28px;
    width: 86px;
    height: 86px;
    transform: translateX(-50%);
    border-radius: 50%;
    border: 1px solid rgba(255, 222, 150, 0.28);
    box-shadow: 0 0 0 10px rgba(255, 214, 123, 0.045), 0 0 0 20px rgba(255, 214, 123, 0.025);
}

.pdf-bundle-book__mandala::before,
.pdf-bundle-book__mandala::after {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 224, 145, 0.2);
}

.pdf-bundle-book__mandala::after {
    inset: 22px;
}

.pdf-bundle-book__title,
.pdf-bundle-book__subtitle,
.pdf-bundle-book__meta {
    position: absolute;
    left: 12px;
    right: 12px;
    z-index: 1;
    color: #fff2c8;
    text-align: center;
}

.pdf-bundle-book__title {
    top: 126px;
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    line-height: 1.05;
    font-weight: 700;
    text-transform: uppercase;
}

.pdf-bundle-book__subtitle {
    top: 158px;
    font-size: 9px;
    line-height: 1.35;
    color: rgba(255, 236, 193, 0.88);
    letter-spacing: 0.5px;
}

.pdf-bundle-book__meta {
    bottom: 12px;
    font-size: 8px;
    color: rgba(255, 225, 163, 0.82);
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.pdf-bundle-panel {
    position: absolute;
    right: 14px;
    top: 22px;
    width: 286px;
    min-height: 252px;
    padding: 22px 20px 18px;
    text-align: left;
    border-radius: 18px;
    border: 1px solid rgba(201, 168, 76, 0.32);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
        linear-gradient(155deg, #191626, #11121b 56%, #171217);
    box-shadow:
        0 22px 54px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 224, 149, 0.06);
}

.pdf-bundle-panel__eyebrow {
    color: #c9a84c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.pdf-bundle-panel__proof {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.pdf-bundle-panel__proof span {
    color: rgba(214, 199, 160, 0.78);
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 0.2px;
}

.pdf-bundle-panel__stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #d9b24a;
    flex-shrink: 0;
}

.pdf-bundle-panel__stars svg {
    width: 10px;
    height: 10px;
    display: block;
}

.pdf-bundle-panel__title {
    margin-top: 8px;
    color: #f5ead2;
    font-size: 28px;
    line-height: 1.05;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

.pdf-bundle-panel__sub {
    margin-top: 8px;
    color: rgba(255, 234, 197, 0.78);
    font-size: 11px;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    font-weight: 700;
}

.pdf-bundle-panel__line {
    height: 7px;
    margin-top: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(201, 168, 76, 0.24), rgba(201, 168, 76, 0.06));
}

.pdf-bundle-panel__line--short {
    width: 72%;
    margin-top: 8px;
}

.pdf-bundle-panel__checks {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.pdf-bundle-panel__checks span {
    color: #ece1c3;
    font-size: 13px;
    line-height: 1.4;
}

.pdf-bundle-panel__sample-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    color: #cfb05a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: underline;
    text-decoration-color: rgba(207, 176, 90, 0.45);
    text-underline-offset: 3px;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.pdf-bundle-panel__sample-link:hover {
    color: #f2d98c;
    text-decoration-color: rgba(242, 217, 140, 0.9);
}

.pdf-bundle-panel__sample-link svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.pdf-bundle-panel__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid rgba(201, 168, 76, 0.12);
}

.pdf-bundle-panel__footer span {
    color: rgba(201, 168, 76, 0.72);
    font-size: 10px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-weight: 700;
}

.pdf-bundle-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 8px auto 0;
    max-width: 500px;
}

.pdf-bundle-gallery__card {
    position: relative;
    min-height: 118px;
    padding: 10px 10px 12px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(201, 168, 76, 0.22);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.34);
    text-align: left;
}

.pdf-bundle-gallery__card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.95;
}

.pdf-bundle-gallery__card--cover::before {
    background:
        radial-gradient(circle at 50% 36%, rgba(255, 218, 134, 0.28), transparent 22%),
        radial-gradient(circle at 50% 36%, rgba(255, 218, 134, 0.14), transparent 34%),
        linear-gradient(160deg, #1d2d3c 0%, #111722 54%, #2f1d0f 100%);
}

.pdf-bundle-gallery__card--detail::before {
    background:
        radial-gradient(circle at 74% 20%, rgba(255, 217, 129, 0.22), transparent 18%),
        linear-gradient(155deg, #efe4ca 0%, #d8c49d 52%, #a4834b 100%);
}

.pdf-bundle-gallery__card--inside::before {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0)),
        linear-gradient(145deg, #dfceb3 0%, #c9b18f 44%, #7f5735 100%);
}

.pdf-bundle-gallery__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08), transparent 36%),
        linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.18));
    pointer-events: none;
}

.pdf-bundle-gallery__label,
.pdf-bundle-gallery__title,
.pdf-bundle-gallery__meta,
.pdf-bundle-gallery__quote,
.pdf-bundle-gallery__spread {
    position: relative;
    z-index: 1;
}

.pdf-bundle-gallery__label {
    color: rgba(255, 222, 153, 0.9);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.pdf-bundle-gallery__title {
    margin-top: 12px;
    color: #f7e9c8;
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    line-height: 0.95;
    max-width: 80px;
    text-transform: uppercase;
}

.pdf-bundle-gallery__meta {
    margin-top: auto;
    padding-top: 36px;
    color: rgba(243, 223, 177, 0.8);
    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;
}

.pdf-bundle-gallery__quote {
    margin-top: 18px;
    max-width: 92px;
    color: rgba(48, 28, 11, 0.78);
    font-family: 'Playfair Display', serif;
    font-size: 16px;
    line-height: 1.05;
    font-weight: 700;
}

.pdf-bundle-gallery__spread {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}

.pdf-bundle-gallery__spread span {
    height: 52px;
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0)),
        linear-gradient(180deg, rgba(255,255,255,0.26), rgba(255,255,255,0.06));
    border: 1px solid rgba(76, 44, 14, 0.16);
    position: relative;
}

.pdf-bundle-gallery__spread span::before {
    content: "";
    position: absolute;
    inset: 8px 8px auto;
    height: 22px;
    background:
        linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0)),
        repeating-linear-gradient(180deg, rgba(82, 62, 36, 0.7), rgba(82, 62, 36, 0.7) 2px, transparent 2px, transparent 5px);
    opacity: 0.35;
}

.pdf-bundle-note {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 10px 20px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(201, 168, 76, 0.12), rgba(201, 168, 76, 0.06));
    border: 1px solid rgba(201, 168, 76, 0.34);
    color: #d5b56a;
    font-size: 11px;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255, 230, 170, 0.08);
}

.payment-trust-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
    color: rgba(236, 236, 236, 0.88);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.3px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.payment-trust-pill--upi { color: #d8d8d8; }
.payment-trust-pill--gpay { color: #dbe7ff; }
.payment-trust-pill--phonepe { color: #e0d6ff; }
.payment-trust-pill--paytm { color: #d6f0ff; }
.payment-trust-pill--razorpay { color: #efe2ff; }

@keyframes floatPDFBundle {
    0%, 100% { transform: rotate(-11deg) translateY(0); }
    50% { transform: rotate(-11deg) translateY(-10px); }
}

@media (max-width: 420px) {
    .report-bundle-shell {
        padding: 16px 10px 14px;
        border-radius: 20px;
    }

    .pdf-bundle-stage {
        height: 404px;
    }

    .pdf-bundle-book {
        left: 10px;
        top: 34px;
        width: 112px;
        height: 170px;
    }

    .pdf-bundle-panel {
        top: 146px;
        right: 8px;
        width: calc(100% - 22px);
        min-height: 202px;
        padding: 16px 14px 14px;
    }

    .pdf-bundle-panel__title {
        font-size: 24px;
    }

    .pdf-bundle-gallery {
        grid-template-columns: 1fr;
    }

    .pdf-bundle-gallery__card {
        min-height: 96px;
    }

    .pdf-bundle-gallery__title {
        max-width: none;
    }

    .inside-grid {
        grid-template-columns: 1fr;
    }
}

.signature { font-family: 'Dancing Script', cursive; color: #fff; font-size: 20px; display: block; margin-top: 10px; opacity: 0.8; }

/* REVIEWS */
.reviews-container { margin-top: 40px; margin-bottom: 40px; }
.rev-main-head { color: var(--gold); font-size: 18px; margin-bottom: 15px; text-align: center; }
.review-card { background: #111; padding: 12px; border-radius: 8px; margin-bottom: 10px; border: 1px solid #222; text-align: left; }


/* FOOTER */
.site-footer { text-align: center; color: #444; font-size: 10px; margin-top: 30px; padding-bottom: 20px; border-top: 1px solid #222; padding-top: 20px; }
.footer-link { color: #666; text-decoration: none; margin: 0 5px; }

/* ANIMATIONS */
@keyframes spin { 100% { transform: rotate(360deg); } } 

/* --- COLORFUL SOLAR SYSTEM LOADER --- */

.loading-text,
.loading-sub {
    font-family: "Courier New", Courier, monospace;
    text-align: center;
    letter-spacing: 1.5px;
}

/* --- PAYMENT SUCCESS OVERLAY --- */
.payment-overlay {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at 20% 10%, rgba(255, 215, 120, 0.08), transparent 40%),
        radial-gradient(circle at 80% 20%, rgba(0, 210, 255, 0.12), transparent 45%),
        radial-gradient(circle at 50% 80%, rgba(255, 71, 87, 0.12), transparent 45%),
        rgba(2, 2, 4, 0.96);
    backdrop-filter: blur(8px);
    z-index: 2500;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px 16px;
}

.payment-clock {
    position: relative;
    display: grid;
    place-items: center;
    gap: 10px;
    padding: 28px 26px 24px;
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(14, 14, 20, 0.95), rgba(10, 10, 12, 0.98));
    border: 1px solid rgba(255, 215, 0, 0.28);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.65), inset 0 0 26px rgba(255, 215, 0, 0.08);
    width: min(340px, 92vw);
    overflow: hidden;
}

.payment-clock::before {
    content: "";
    position: absolute;
    inset: -50%;
    background: conic-gradient(from 180deg, rgba(255, 215, 0, 0.25), rgba(0, 210, 255, 0.18), rgba(255, 71, 87, 0.22), rgba(255, 215, 0, 0.25));
    filter: blur(28px);
    opacity: 0.5;
    animation: auraSpin 10s linear infinite;
    z-index: 0;
}

.clock-face {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, #3b2d12 0%, #120c06 60%, #050402 100%);
    border: 2px solid rgba(255, 215, 0, 0.65);
    box-shadow:
        0 0 22px rgba(255, 215, 0, 0.4),
        inset 0 0 22px rgba(255, 215, 0, 0.18);
    animation: clockGlow 2.8s ease-in-out infinite;
    z-index: 1;
}

.clock-face::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 215, 0, 0.3);
    opacity: 0.8;
}

.clock-face::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: conic-gradient(from 90deg, rgba(255, 215, 0, 0.25), rgba(0, 210, 255, 0.22), rgba(255, 71, 87, 0.25), rgba(255, 215, 0, 0.25));
    mask: radial-gradient(circle, transparent 62%, #000 64%);
    animation: ringSpin 3.2s linear infinite;
}

.clock-hand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: 50% 100%;
    background: linear-gradient(180deg, #ffd700, #b8860b);
    border-radius: 999px;
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.hour-hand {
    width: 4px;
    height: 34px;
    transform: translate(-50%, -100%) rotate(0deg);
    animation: hourSpin 5s linear infinite;
}

.minute-hand {
    width: 2px;
    height: 52px;
    transform: translate(-50%, -100%) rotate(0deg);
    animation: minuteSpin 2.5s linear infinite;
}

.clock-center {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle, #fff2b2 0%, #ffd700 60%, #b8860b 100%);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.9);
}

.payment-title {
    font-family: "Playfair Display", serif;
    font-size: 17px;
    color: #ffe9a3;
    letter-spacing: 0.6px;
    z-index: 1;
}

.payment-subtitle {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    color: rgba(255, 255, 255, 0.7);
    z-index: 1;
}

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

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

@keyframes clockGlow {
    0%, 100% { box-shadow: 0 0 22px rgba(255, 215, 0, 0.4), inset 0 0 22px rgba(255, 215, 0, 0.18); }
    50% { box-shadow: 0 0 32px rgba(255, 215, 0, 0.6), inset 0 0 26px rgba(255, 215, 0, 0.28); }
}

@keyframes ringSpin {
    to { transform: rotate(360deg); }
}

@keyframes auraSpin {
    to { transform: rotate(360deg); }
}

.loading-text { color: #FFD700; margin-top: 6px; }
.loading-sub { color: #66e2ff; font-size: 11px; }

.loading-text {
    margin-top: 72px;
    font-size: 14px;
    font-weight: 700;
    text-shadow: 0 0 12px rgba(255, 215, 0, 0.35);
}

.loading-sub {
    font-size: 11px;
    opacity: 0.92;
}

.loader-progress-wrap {
    width: min(320px, 88vw);
    margin-top: 10px;
    text-align: center;
}

.loader-progress-track {
    width: 100%;
    height: 10px;
    border-radius: 4px;
    background: rgba(184,134,11,0.2);
    overflow: hidden;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}

.loader-progress-bar {
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #B8860B, #FFD700, #FFA500);
    background-size: 200% 100%;
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.28);
    transition: width 240ms ease;
    animation: loaderShine 1.5s linear infinite;
}

.loader-progress-text {
    margin-top: 10px;
    font-size: 11px;
    letter-spacing: 0.8px;
    color: #FFD700;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace, "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Kannada", "Noto Sans Gujarati", "Noto Sans Bengali", "Noto Sans Malayalam", "Noto Sans", sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

#loaderProgressMsg {
    opacity: 1;
    transition: opacity 0.5s ease;
}

#loaderProgressPct {
    color: rgba(255, 215, 0, 0.9);
}

.loader-eta {
    margin-top: 6px;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.loader-specific {
    margin-top: 6px;
    font-size: 11px;
    color: #B8860B;
    font-style: italic;
    letter-spacing: 0.2px;
    text-transform: none;
}

.bw-solar {
    position: relative;
    width: 260px;
    height: 260px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bw-sun {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #fff6b8, #ffd45a 55%, #ff9f1a 100%);
    box-shadow: 0 0 18px rgba(255, 200, 80, 0.8), 0 0 45px rgba(255, 160, 60, 0.35);
    animation: bwPulse 3s ease-in-out infinite;
}

.bw-orbit {
    position: absolute;
    border-radius: 50%;
    border: 1px dashed rgba(255, 215, 0, 0.25);
    animation: bwOrbit 16s linear infinite;
}

.bw-orbit .bw-planet {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.35);
}

.orbit-1 { width: 120px; height: 120px; animation-duration: 10s; }
.orbit-2 { width: 160px; height: 160px; animation-duration: 14s; }
.orbit-3 { width: 200px; height: 200px; animation-duration: 18s; }
.orbit-4 { width: 240px; height: 240px; animation-duration: 22s; }
.orbit-5 { width: 280px; height: 280px; animation-duration: 26s; }
.orbit-6 { width: 320px; height: 320px; animation-duration: 30s; }
.orbit-7 { width: 360px; height: 360px; animation-duration: 34s; }

.p1 { width: 6px; height: 6px; background: radial-gradient(circle at 30% 30%, #e6dcd2, #b7a498 70%, #6c5d54 100%); }
.p2 { width: 8px; height: 8px; background: radial-gradient(circle at 30% 30%, #fff0d6, #f0b87c 70%, #b36a31 100%); }
.p3 { width: 10px; height: 10px; background: radial-gradient(circle at 30% 30%, #ffd6c7, #ff7b58 70%, #b23c22 100%); }
.p4 { width: 12px; height: 12px; background: radial-gradient(circle at 30% 30%, #e7f4ff, #7fd1ff 65%, #287bb8 100%); }
.p5 { width: 14px; height: 14px; background: radial-gradient(circle at 30% 30%, #f7d6ff, #c076ff 65%, #5b2c8a 100%); }
.p6 { width: 16px; height: 16px; background: radial-gradient(circle at 30% 30%, #dfffe8, #5ee29a 70%, #1a7a4c 100%); }
.p7 { width: 18px; height: 18px; background: radial-gradient(circle at 30% 30%, #fff1e0, #ffd08a 70%, #b26a1a 100%); }

@keyframes bwOrbit {
    to { transform: rotate(360deg); }
}

@keyframes bwPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

@keyframes loaderShine {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

	/* --- FREE INSIGHT BLUR + PERSONAL CTA --- */
	.insight-card .insight-text p {
	    margin: 0 0 10px 0;
	}
	
	.insight-card .insight-text p:last-child {
	    margin-bottom: 0;
	}
	
	.unlock-hint {
	    margin: 6px 0 8px 0;
	    color: rgba(230, 199, 156, 0.92);
	    font-style: italic;
	    font-size: 12px;
	    font-weight: 700;
	}

	.chart-precision {
	    margin: 10px 0 0 0;
	    color: rgba(230, 199, 156, 0.98);
	    font-style: italic;
	    font-size: 12.5px;
	    font-weight: 800;
	    letter-spacing: 0.15px;
	}

	.id-pill-wrap {
	    margin: 12px 0 10px 0;
	    padding: 16px 0;
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    gap: 8px;
	}

	.id-pill-label {
	    color: rgba(230, 199, 156, 0.85);
	    font-size: 10px;
	    letter-spacing: 2px;
	    font-weight: 900;
	    text-transform: uppercase;
	}

	.id-pill-row {
	    display: flex;
	    flex-wrap: wrap;
	    justify-content: center;
	    gap: 10px;
	}

	.id-pill {
	    background: #1a1a1a;
	    border: 1px solid #B8860B;
	    color: #FFD700;
	    font-size: 14px;
	    padding: 8px 20px;
	    border-radius: 20px;
	    min-height: 36px;
	    line-height: 1.1;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    font-weight: 800;
	    letter-spacing: 0.2px;
	    box-shadow: 0 0 8px rgba(184, 134, 11, 0.4);
	}

	.id-pill-note {
	    text-align: center;
	    color: rgba(170, 170, 170, 0.85);
	    font-size: 10.5px;
	    line-height: 1.3;
	    max-width: 420px;
	}

	.reviews-head,
	.faq-head {
	    text-align: center;
	    color: rgba(255, 215, 0, 0.95);
	    font-weight: 900;
	    font-size: 15px;
	    letter-spacing: 0.2px;
	    margin: 0 0 12px 0;
	}

	.t-carousel {
	    width: 100%;
	}

	.t-viewport {
	    width: 100%;
	    overflow: hidden;
	}

	.t-track {
	    display: flex;
	    align-items: stretch;
	    will-change: transform;
	    transition: transform 0.6s ease;
	}

	.t-slide {
	    flex: 0 0 100%;
	    box-sizing: border-box;
	}

	.t-card {
	    background: #1a1a1a;
	    border: 1px solid #B8860B;
	    border-radius: 12px;
	    padding: 20px;
	    margin: 0 8px;
	    box-shadow: 0 12px 26px rgba(0,0,0,0.35);
	    position: relative;
	    text-align: center;
	}

	.t-lang-badge {
	    position: absolute;
	    top: 12px;
	    right: 12px;
	    background: rgba(184,134,11,0.15);
	    border: 1px solid rgba(184,134,11,0.4);
	    border-radius: 12px;
	    padding: 2px 8px;
	    font-size: 10px;
	    color: #B8860B;
	    font-weight: 900;
	    line-height: 1.2;
	}

	.t-name {
	    color: #fff;
	    font-weight: 900;
	    font-size: 14px;
	    margin: 0 0 6px 0;
	}

	.t-meta {
	    color: rgba(230, 199, 156, 0.95);
	    font-size: 12px;
	    font-weight: 800;
	    margin: 0 0 8px 0;
	}

	.t-stars {
	    color: #FFD700;
	    font-size: 13px;
	    letter-spacing: 1px;
	    margin: 0 0 10px 0;
	}

	.t-text {
	    color: rgba(220, 220, 220, 0.92);
	    font-size: 13px;
	    line-height: 1.45;
	    font-weight: 600;
	    font-family: "Noto Sans", "Noto Sans Devanagari", "Noto Sans Tamil", "Noto Sans Kannada", "Noto Sans Gujarati", "Noto Sans Telugu", "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	}

	.t-dots {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    gap: 8px;
	    padding: 12px 0 0 0;
	}

	.t-dot {
	    width: 9px;
	    height: 9px;
	    border-radius: 99px;
	    border: 1px solid #FFD700;
	    background: transparent;
	    padding: 0;
	    cursor: pointer;
	}

	.t-dot.active {
	    background: #FFD700;
	    border-color: #FFD700;
	}

	.reviews-foot {
	    text-align: center;
	    color: rgba(255, 215, 0, 0.85);
	    font-size: 12px;
	    font-weight: 900;
	    margin-top: 10px;
	}

	.faq-wrap {
	    padding: 12px 15px 0;
	    text-align: left;
	}

	.faq-item {
	    background: rgba(10, 10, 10, 0.55);
	    border-bottom: 1px solid #333;
	    margin-bottom: 10px;
	    border-radius: 8px;
	    overflow: hidden;
	}

	.faq-question {
	    width: 100%;
	    display: flex;
	    justify-content: space-between;
	    align-items: center;
	    gap: 10px;
	    padding: 16px;
	    background: transparent;
	    border: none;
	    color: #fff;
	    font-size: 15px;
	    font-weight: 800;
	    cursor: pointer;
	    text-align: left;
	}

	.faq-icon {
	    color: #B8860B;
	    font-weight: 900;
	    font-size: 18px;
	    line-height: 1;
	    flex: 0 0 auto;
	}

	.faq-answer {
	    display: block;
	    color: rgba(220, 220, 220, 0.88);
	    font-size: 14px;
	    line-height: 1.5;
	    padding: 0 16px 0 16px;
	    max-height: 0;
	    overflow: hidden;
	    transition: max-height 0.3s ease, padding 0.3s ease;
	}

	.faq-item.open .faq-answer {
	    padding: 0 16px 16px 16px;
	}

	@media (min-width: 720px) {
	    .t-slide { flex-basis: 50%; }
	}

	.shock-dasha {
	    margin: 0 0 8px 0;
	    color: rgba(255, 255, 255, 0.88);
	    font-size: 12px;
	    font-weight: 800;
	    letter-spacing: 0.2px;
	}

	.snap-grid {
	    display: flex;
	    flex-direction: column;
	    gap: 8px;
	    margin: 0 0 10px 0;
	}

	.snap-row {
	    display: flex;
	    gap: 8px;
	    align-items: baseline;
	    line-height: 1.4;
	}

	.snap-icon {
	    width: 18px;
	    flex: 0 0 18px;
	    color: rgba(255, 215, 0, 0.95);
	    font-weight: 900;
	}

	.snap-k {
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 850;
	    font-size: 12px;
	    letter-spacing: 0.3px;
	    text-transform: uppercase;
	}

	.snap-v {
	    color: rgba(255, 255, 255, 0.92);
	    font-weight: 650;
	    font-size: 13px;
	}

	.snap-loop {
	    margin: 6px 0 0 0;
	    color: rgba(230, 199, 156, 0.92);
	    font-style: italic;
	    font-size: 12.5px;
	    font-weight: 650;
	}

	.hs-note {
	    margin: 6px 0 0 0;
	    color: rgba(180, 180, 180, 0.92);
	    font-size: 12px;
	    line-height: 1.35;
	}

	/* Health section overflow + containment */
	#healthStressMount {
	    width: 100%;
	    max-width: 100%;
	    overflow: hidden;
	    box-sizing: border-box;
	    padding: 16px;
	    margin: 0;
	}

	#healthStressMount * {
	    max-width: 100%;
	    overflow: hidden;
	    word-wrap: break-word;
	    box-sizing: border-box;
	}

	.hs-timeframe {
	    background: rgba(180, 100, 0, 0.1);
	    border-left: 3px solid #cc6600;
	    padding: 8px 14px;
	    border-radius: 0 8px 8px 0;
	    color: #ff9944;
	    font-size: 11px;
	    font-weight: 900;
	    margin: 0 0 12px 0;
	    letter-spacing: 0.2px;
	}

	.hs-month-blur {
	    filter: blur(5px);
	    display: inline-block;
	    background: rgba(255,255,255,0.1);
	    border-radius: 3px;
	    padding: 0 4px;
	    user-select: none;
	    cursor: default;
	}

	.hs-timeframe-lock {
	    display: block;
	    margin-top: 4px;
	    color: #B8860B;
	    font-size: 10px;
	    font-style: italic;
	    font-weight: 800;
	}

	.hs-locked {
	    margin: 12px 0 0 0;
	    padding: 12px 12px 10px 12px;
	    border-radius: 12px;
	    background: rgba(10, 10, 10, 0.55);
	    border: 1px solid rgba(184, 134, 11, 0.22);
	}

	.hs-locked-head {
	    color: rgba(230, 199, 156, 0.92);
	    font-size: 12px;
	    font-weight: 800;
	    margin: 0 0 10px 0;
	}

	.hs-locked-list {
	    display: flex;
	    flex-direction: column;
	    gap: 8px;
	}

	/* Health locked item cards (vertical stack layout) */
	.health-item {
	    background: rgba(0, 0, 0, 0.3);
	    border: 1px solid rgba(184, 134, 11, 0.2);
	    border-radius: 8px;
	    padding: 12px;
	    margin-bottom: 0;
	    width: 100%;
	    box-sizing: border-box;
	}

	.health-label {
	    width: 100%;
	    color: #FFD700;
	    font-size: 12px;
	    font-weight: 900;
	    white-space: nowrap;
	    overflow: hidden;
	    text-overflow: ellipsis;
	}

	.health-blur-stack {
	    width: 100%;
	    margin: 6px 0;
	}

	.health-blur-line {
	    width: 100%;
	    height: 10px;
	    background: rgba(255, 255, 255, 0.15);
	    filter: blur(5px);
	    border-radius: 4px;
	}

	.health-blur-line:not(:last-child) {
	    margin-bottom: 4px;
	}

	.health-blur-line--2 { width: 85%; }
	.health-blur-line--3 { width: 70%; }

	.health-lock {
	    width: 100%;
	    text-align: right;
	    color: #B8860B;
	    font-size: 10px;
	    font-weight: 900;
	    letter-spacing: 0.2px;
	}

	.hs-unlock-row {
	    margin: 10px 0 0 0;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    gap: 10px;
	    flex-wrap: wrap;
	}

	.hs-unlock-text {
	    color: #B8860B;
	    font-size: 11px;
	    font-style: italic;
	    line-height: 1.3;
	    text-align: center;
	    flex: 1 1 100%;
	}

	.hs-unlock-link {
	    margin-top: 12px;
	    background: linear-gradient(135deg, #FFD700, #FFA500);
	    color: #000000;
	    font-size: 13px;
	    font-weight: 900;
	    padding: 10px 24px;
	    border-radius: 20px;
	    border: none;
	    cursor: pointer;
	    box-shadow: 0 2px 8px rgba(255, 165, 0, 0.4);
	    display: inline-block;
	    text-align: center;
	    transition: transform 0.2s ease, filter 0.2s ease;
	}

	.hs-unlock-link:hover {
	    filter: brightness(1.06);
	}

	@media (max-width: 480px) {
	    .health-item {
	        flex-direction: column;
	    }
	    .health-label {
	        width: 100%;
	        margin-bottom: 6px;
	    }
	    .health-blur-stack {
	        width: 100%;
	    }
	}
	
	.tw-block {
	    background: rgba(10, 10, 10, 0.72);
	    border: 1px solid rgba(212, 175, 55, 0.35);
	    border-left: 4px solid rgba(212, 175, 55, 0.85);
	    border-radius: 10px;
	    padding: 10px 12px;
	    margin: 0 0 10px 0;
	    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35);
	}
	
	.tw-line {
	    display: flex;
	    align-items: baseline;
	    justify-content: space-between;
	    gap: 8px;
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 800;
	    font-size: 12px;
	    letter-spacing: 0.2px;
	    margin: 0 0 6px 0;
	}
	
	.tw-line:last-child {
	    margin-bottom: 0;
	}
	
	.tw-range {
	    color: rgba(255, 255, 255, 0.92);
	    font-weight: 700;
	}

	.tw-locked {
	    display: inline-flex;
	    align-items: center;
	    gap: 6px;
	    flex: 0 0 auto;
	}

	.tw-blur-bar {
	    display: inline-block;
	    width: 170px;
	    max-width: 56vw;
	    height: 12px;
	    border-radius: 999px;
	    background: linear-gradient(90deg, rgba(255, 215, 0, 0.22), rgba(255, 165, 0, 0.22));
	    filter: blur(6px);
	    opacity: 0.95;
	}

	.tw-blur-bar--md { width: 150px; }
	.tw-blur-bar--sm { width: 135px; }

	.tw-lock {
	    color: #B8860B;
	    font-size: 12px;
	    line-height: 1;
	}

	.tw-teaser {
	    margin: 8px 0 10px 0;
	    color: #B8860B;
	    font-size: 12px;
	    font-style: italic;
	    text-align: center;
	    line-height: 1.45;
	}

	.tw-cta {
	    display: flex;
	    justify-content: center;
	    margin: 0 0 12px 0;
	}

	.tw-unlock-btn {
	    background: linear-gradient(135deg, #FFD700, #FFA500);
	    color: #000000;
	    font-weight: 900;
	    padding: 10px 24px;
	    border-radius: 20px;
	    font-size: 13px;
	    border: none;
	    cursor: pointer;
	    box-shadow: 0 2px 8px rgba(255, 165, 0, 0.4);
	    display: inline-block;
	    text-align: center;
	    margin-top: 12px;
	}

	@keyframes urgencyPulse {
	    0% {
	        box-shadow:
	            0 0 15px rgba(220, 50, 50, 0.3),
	            0 0 30px rgba(220, 50, 50, 0.15),
	            inset 0 0 15px rgba(220, 50, 50, 0.05);
	    }
	    50% {
	        box-shadow:
	            0 0 20px rgba(220, 50, 50, 0.5),
	            0 0 40px rgba(220, 50, 50, 0.25),
	            inset 0 0 15px rgba(220, 50, 50, 0.05);
	    }
	    100% {
	        box-shadow:
	            0 0 15px rgba(220, 50, 50, 0.3),
	            0 0 30px rgba(220, 50, 50, 0.15),
	            inset 0 0 15px rgba(220, 50, 50, 0.05);
	    }
	}

	.timing-urgency-card {
	    background: rgba(180, 30, 30, 0.08) !important;
	    border: 1px solid rgba(220, 50, 50, 0.6) !important;
	    border-radius: 12px !important;
	    box-shadow:
	        0 0 15px rgba(220, 50, 50, 0.3),
	        0 0 30px rgba(220, 50, 50, 0.15),
	        inset 0 0 15px rgba(220, 50, 50, 0.05) !important;
	    animation: urgencyPulse 2.5s ease-in-out infinite;
	}

	@media (prefers-reduced-motion: reduce) {
	    .timing-urgency-card { animation: none; }
	}

	.tw-urgency-badge {
	    display: inline-block;
	    margin: 0 0 8px 0;
	    padding: 3px 12px;
	    border-radius: 20px;
	    background: rgba(220, 50, 50, 0.15);
	    border: 1px solid rgba(220, 50, 50, 0.4);
	    color: #ff6666;
	    font-size: 10px;
	    font-weight: 900;
	    letter-spacing: 1px;
	}
	
	.tw-italic {
	    margin: 0 0 12px 0;
	    color: rgba(230, 199, 156, 0.92);
	    font-size: 12.5px;
	}
	
	.tw-italic em {
	    font-style: italic;
	}
	
	.cf-block {
	    background: rgba(10, 10, 10, 0.72);
	    border: 1px solid rgba(212, 175, 55, 0.22);
	    border-radius: 12px;
	    overflow: hidden;
	    margin: 0 0 14px 0;
	}
	
	.cf-row {
	    padding: 12px 12px;
	}
	
	.cf-divider {
	    height: 1px;
	    background: linear-gradient(90deg, rgba(212,175,55,0.08), rgba(212,175,55,0.38), rgba(212,175,55,0.08));
	}
	
	.cf-title {
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 900;
	    font-size: 12px;
	    letter-spacing: 0.4px;
	    margin: 0 0 6px 0;
	}
	
	.cf-body {
	    color: rgba(255, 255, 255, 0.92);
	    font-weight: 600;
	    font-size: 13px;
	    line-height: 1.35;
	}
	
	.dasha-topline {
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 800;
	    margin-top: 6px;
	    font-size: 13px;
	    letter-spacing: 0.2px;
	    display: flex;
	    justify-content: center;
	}

	.dasha-active-pill {
	    display: inline-flex;
	    align-items: center;
	    gap: 8px;
	    background: rgba(184,134,11,0.12);
	    border: 1px solid rgba(255,215,0,0.4);
	    border-radius: 20px;
	    padding: 5px 14px;
	    box-shadow: 0 0 12px rgba(255,215,0,0.15);
	}

	.dasha-active-dot {
	    width: 6px;
	    height: 6px;
	    background: #FFD700;
	    border-radius: 50%;
	    animation: pulse 2s infinite;
	}

	.dasha-active-label {
	    color: #44aa44;
	    font-size: 9px;
	    letter-spacing: 1px;
	    font-weight: 1000;
	}

	.dasha-active-text {
	    color: #FFD700;
	    font-size: 11px;
	    font-weight: 1000;
	    letter-spacing: 0.2px;
	}

	@keyframes pulse {
	    0%, 100% { opacity: 1; }
	    50% { opacity: 0.3; }
	}

	@keyframes dashaGlow {
	  0%   {
	    box-shadow: 0 0 0px rgba(201, 168, 76, 0);
	    background: rgba(201, 168, 76, 0.08);
	  }
	  50%  {
	    box-shadow: 0 0 18px rgba(201, 168, 76, 0.35);
	    background: rgba(201, 168, 76, 0.18);
	  }
	  100% {
	    box-shadow: 0 0 0px rgba(201, 168, 76, 0);
	    background: rgba(201, 168, 76, 0.08);
	  }
	}
	
	.kpi-card {
	    margin: 12px auto 14px auto;
	    max-width: 980px;
	    background: rgba(10, 10, 10, 0.78);
	    border: 1px solid rgba(212, 175, 55, 0.30);
	    border-left: 5px solid rgba(212, 175, 55, 0.90);
	    border-radius: 14px;
	    padding: 14px 14px 12px 14px;
	    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
	}
	
	.kpi-title {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    letter-spacing: 1px;
	    font-size: 13px;
	    margin: 0 0 12px 0;
	}
	
	.kpi-grid {
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    gap: 10px;
	}
	
	.kpi-item {
	    background: rgba(0, 0, 0, 0.40);
	    border: 1px solid rgba(212, 175, 55, 0.18);
	    border-radius: 12px;
	    padding: 12px 12px;
	}
	
	.kpi-label {
	    color: rgba(230, 199, 156, 0.92);
	    font-weight: 900;
	    font-size: 11px;
	    letter-spacing: 0.5px;
	    margin: 0 0 6px 0;
	}
	
	.kpi-value {
	    color: rgba(255, 255, 255, 0.96);
	    font-weight: 900;
	    font-size: 22px;
	    margin: 0 0 6px 0;
	}
	
	.kpi-desc {
	    color: rgba(180, 180, 180, 0.92);
	    font-size: 12px;
	    line-height: 1.35;
	}
	
	.kpi-foot {
	    margin-top: 10px;
	    color: rgba(180, 180, 180, 0.92);
	    font-size: 12.5px;
	    line-height: 1.35;
	}
	
	@media (max-width: 720px) {
	    .kpi-grid { grid-template-columns: 1fr; }
	    .kpi-value { font-size: 20px; }
	}
	
	.az-card {
	    margin: 0 auto 14px auto;
	    max-width: 980px;
	    background: rgba(10, 10, 10, 0.82);
	    border: 1px solid rgba(212, 175, 55, 0.34);
	    border-left: 5px solid rgba(212, 175, 55, 0.95);
	    border-radius: 14px;
	    padding: 14px 14px 12px 14px;
	    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
	}
	
	.az-title {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    letter-spacing: 0.9px;
	    font-size: 13px;
	    margin: 0 0 10px 0;
	}
	
	.az-body p {
	    margin: 0 0 10px 0;
	    color: rgba(255, 255, 255, 0.92);
	    line-height: 1.4;
	    font-weight: 600;
	}
	
	.az-body p:last-of-type {
	    margin-bottom: 10px;
	}
	
	.az-tension {
	    margin-top: 8px;
	    padding: 10px 12px;
	    border-radius: 12px;
	    background: rgba(0, 0, 0, 0.38);
	    border: 1px solid rgba(212, 175, 55, 0.16);
	    color: rgba(230, 199, 156, 0.94);
	    font-weight: 800;
	    font-size: 12.5px;
	    line-height: 1.35;
	}
	
	.ns-subtitle {
	    margin: 0 0 10px 0;
	    padding: 8px 10px;
	    border-radius: 12px;
	    background: rgba(0, 0, 0, 0.32);
	    border: 1px solid rgba(212, 175, 55, 0.14);
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 900;
	    font-size: 12.5px;
	    letter-spacing: 0.2px;
	}
	
	.silent-cost-card {
	    border-left: 3px solid #B8860B;
	}
	
	.silent-cost-card .insight-title {
	    display: flex;
	    align-items: center;
	    gap: 10px;
	}
	
	.silent-cost-icon {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 900;
	}
	
	.pr-card {
	    margin: 0 auto 14px auto;
	    max-width: 980px;
	    background: rgba(10, 10, 10, 0.78);
	    border: 1px solid rgba(212, 175, 55, 0.28);
	    border-left: 5px solid rgba(212, 175, 55, 0.92);
	    border-radius: 14px;
	    padding: 14px 14px 12px 14px;
	    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
	    animation: prPulse 2.4s ease-in-out infinite;
	}
	
	@keyframes prPulse {
	    0%, 100% { box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), 0 0 0 rgba(212, 175, 55, 0.0), inset 0 0 0 1px rgba(0, 0, 0, 0.30); }
	    50% { box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), 0 0 18px rgba(212, 175, 55, 0.18), inset 0 0 0 1px rgba(0, 0, 0, 0.30); }
	}
	
	.pr-title {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    letter-spacing: 0.8px;
	    font-size: 13px;
	    margin: 0 0 10px 0;
	}
	
	.pr-body p {
	    margin: 0 0 10px 0;
	    color: rgba(255, 255, 255, 0.92);
	    line-height: 1.42;
	    font-weight: 600;
	}
	
	.pr-question {
	    margin-top: 4px;
	    color: rgba(230, 199, 156, 0.95);
	    font-weight: 900;
	}
	
	.cycle-window-card {
	    background: rgba(10, 10, 10, 0.78);
	    border: 1px solid rgba(212, 175, 55, 0.30);
	    border-left: 5px solid rgba(212, 175, 55, 0.92);
	    border-radius: 14px;
	    padding: 14px 14px 12px 14px;
	    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
	    margin-bottom: 14px;
	}
	
	.cycle-window-title {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    letter-spacing: 0.8px;
	    font-size: 13px;
	    margin: 0 0 10px 0;
	}
	
	.cycle-window-body p {
	    margin: 0 0 10px 0;
	    color: rgba(255, 255, 255, 0.92);
	    line-height: 1.42;
	    font-weight: 600;
	}
	
	.cycle-window-body p:last-child {
	    margin-bottom: 0;
	}

	.cw-remaining-box {
	    background: rgba(184,134,11,0.1);
	    border-left: 3px solid #FFD700;
	    border-radius: 0 8px 8px 0;
	    padding: 10px 14px;
	    margin: 10px 0;
	}

	.cw-planet-line {
	    color: #FFD700;
	    font-weight: 1000;
	    font-size: 14px;
	    text-shadow: 0 0 8px rgba(255,215,0,0.4);
	    margin: 0 0 2px 0;
	}

	.cw-subline {
	    color: rgba(184, 134, 11, 0.90);
	    font-size: 11px;
	    font-weight: 900;
	    letter-spacing: 0.3px;
	    margin: 0 0 4px 0;
	}

	.cw-months {
	    color: rgba(255, 255, 255, 0.96);
	    font-size: 13px;
	    font-weight: 1000;
	    margin: 0;
	}

	.cw-progress-track {
	    width: 100%;
	    height: 4px;
	    background: #2a2a2a;
	    border-radius: 2px;
	    margin-top: 8px;
	    overflow: hidden;
	}

	.cw-progress-fill {
	    height: 4px;
	    background: linear-gradient(90deg, #B8860B, #FFD700, #FFA500);
	    border-radius: 2px;
	    width: 0%;
	}

	.inside-wrap {
	    margin: 18px 0 0 0;
	}

	.inside-title {
	    text-align: center;
	    color: #FFD700;
	    font-weight: 1000;
	    letter-spacing: 1px;
	    font-size: 13px;
	    margin: 0 0 8px 0;
	    position: relative;
	    z-index: 1;
	}

	.inside-sub {
	    text-align: center;
	    color: rgba(184, 134, 11, 0.85);
	    font-weight: 800;
	    font-size: 12px;
	    line-height: 1.35;
	    margin: 0 0 14px 0;
	    position: relative;
	    z-index: 1;
	}

	.inside-card {
	    background:
	        linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0)),
	        rgba(10, 10, 12, 0.56);
	    border: 1px solid rgba(184, 134, 11, 0.22);
	    border-radius: 18px;
	    padding: 22px 18px 18px;
	    box-shadow: inset 0 1px 0 rgba(255, 226, 152, 0.05);
	}

	.inside-grid {
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    gap: 16px 14px;
	}

	.inside-item {
	    display: flex;
	    gap: 10px;
	    align-items: flex-start;
	    padding: 2px 0;
	}

	.inside-ico {
	    color: #B8860B;
	    font-size: 14px;
	    line-height: 1.2;
	    flex: 0 0 auto;
	    margin-top: 1px;
	}

	.inside-name {
	    color: rgba(255, 255, 255, 0.96);
	    font-weight: 900;
	    font-size: 14px;
	    line-height: 1.25;
	    margin: 0 0 3px 0;
	}

	.inside-desc {
	    color: rgba(170, 170, 170, 0.9);
	    font-weight: 700;
	    font-size: 12px;
	    line-height: 1.3;
	    margin: 0;
	}

	.inside-foot {
	    text-align: center;
	    color: rgba(255, 215, 0, 0.85);
	    font-style: italic;
	    font-weight: 900;
	    font-size: 12px;
	    line-height: 1.35;
	    margin-top: 14px;
	}

	/* Reduced-motion handled in JS for feature fade-in */
	
	.bp-wrap {
	    margin: 0 auto 14px auto;
	    max-width: 980px;
	    text-align: left;
	}

	.bp-intro {
	    color: #B8860B;
	    font-size: 12px;
	    font-style: italic;
	    text-align: center;
	    margin: 0 0 16px 0;
	    line-height: 1.4;
	}
	
.bp-grid {
	    display: grid;
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	    gap: 12px;
	    margin-bottom: 12px;
	}
	
.bp-card {
	    border-radius: 12px;
	    padding: 16px;
	    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.45);
	    min-width: 0;
	    overflow: hidden;
	}
	
	.bp-card--a {
	    background: rgba(255, 215, 0, 0.06);
	    border: 2px solid #FFD700;
	}
	
	.bp-card--b {
	    background: rgba(200, 50, 50, 0.06);
	    border: 2px solid #cc4444;
	}

.bp-badge {
	    display: block;
	    padding: 4px 12px;
	    border-radius: 20px;
	    font-size: 11px;
	    font-weight: 900;
	    letter-spacing: 0.6px;
	    text-align: center;
	    margin: 0 auto 10px auto;
	    width: 100%;
	    max-width: 100%;
	    white-space: normal;
	    overflow-wrap: anywhere;
	}

	.bp-badge--a {
	    background: #FFD700;
	    color: #000000;
	}

	.bp-badge--b {
	    background: #cc4444;
	    color: #ffffff;
	}

	.bp-list {
	    list-style: none;
	    padding: 0;
	    margin: 0;
	    display: flex;
	    flex-direction: column;
	    gap: 8px;
	}

.bp-li {
	    color: rgba(255, 255, 255, 0.92);
	    font-size: 13px;
	    line-height: 1.35;
	    font-weight: 650;
	    overflow-wrap: anywhere;
	}
	
	.bp-foot {
	    text-align: center;
	    color: #B8860B;
	    font-size: 11px;
	    line-height: 1.4;
	    padding: 2px 8px 0 8px;
	    font-style: italic;
	}

	.bp-cta {
	    display: flex;
	    justify-content: center;
	    margin: 10px 0 0 0;
	}

	.bp-unlock-btn {
	    background: linear-gradient(135deg, #FFD700, #FFA500);
	    color: #000000;
	    font-weight: 900;
	    padding: 10px 24px;
	    border-radius: 20px;
	    font-size: 13px;
	    border: none;
	    cursor: pointer;
	    box-shadow: 0 2px 8px rgba(255, 165, 0, 0.4);
	    display: inline-block;
	    text-align: center;
	    margin-top: 12px;
	}
	
	@media (max-width: 768px) {
	    .bp-grid { grid-template-columns: 1fr; }
	    .bp-card { width: 100%; min-height: 120px; padding: 16px; }
	}
	
	.em-mirror {
	    margin: 0 auto 14px auto;
	    max-width: 980px;
	    background: rgba(10, 10, 10, 0.84);
	    border: 1px solid rgba(212, 175, 55, 0.22);
	    border-left: 5px solid rgba(212, 175, 55, 0.92);
	    border-radius: 14px;
	    padding: 14px 14px 12px 14px;
	    text-align: left;
	    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
	}

	.em-title {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    letter-spacing: 0.8px;
	    font-size: 13px;
	    margin: 0 0 10px 0;
	    text-transform: uppercase;
	}
	
	.em-row {
	    display: flex;
	    gap: 12px;
	    align-items: flex-start;
	}
	
	.em-photo {
	    width: 44px;
	    height: 44px;
	    border-radius: 999px;
	    object-fit: cover;
	    border: 1px solid rgba(212, 175, 55, 0.45);
	    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.55);
	    flex: 0 0 auto;
	}
	
	.em-text {
	    flex: 1 1 auto;
	}
	
	.em-name {
	    color: rgba(230, 199, 156, 0.98);
	    font-weight: 1000;
	    font-size: 14px;
	    margin: 0 0 8px 0;
	}
	
	.em-lines p {
	    margin: 0 0 10px 0;
	    color: rgba(255, 255, 255, 0.92);
	    line-height: 1.42;
	    font-weight: 650;
	}
	
	.em-lines p:last-child {
	    margin-bottom: 10px;
	}
	
	.em-bridge {
	    color: rgba(180, 180, 180, 0.95);
	    font-size: 12.5px;
	    line-height: 1.4;
	    font-weight: 650;
	}
	
@media (max-width: 720px) {
	    .em-row { flex-direction: column; align-items: stretch; text-align: left; }
	    .em-text { text-align: left; }
        .em-photo { margin-left: auto; margin-right: auto; }
}
	
.blurred-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    max-height: 360px;
    padding: 14px 14px 12px 14px;
    border-radius: 12px;
    border: 1px solid #B8860B;
    background: rgba(10, 10, 10, 0.84);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(0, 0, 0, 0.30);
    animation: blurLockedPulse 2.8s ease-in-out infinite;
}

.blurred-section > :not(.blur-overlay) {
    filter: blur(6px);
    user-select: none;
}

.blurred-section p {
    margin: 0 0 10px 0;
}

.blur-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    padding: 14px;
    pointer-events: auto;
    touch-action: pan-y;
    background: rgba(0, 0, 0, 0.40);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.blur-overlay__icon {
    font-size: 26px;
    line-height: 1;
    filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.55));
    animation: lockJiggle 1.9s ease-in-out infinite;
}

.blur-overlay__icon i {
    color: #d4af37;
}

.blur-overlay__title {
    color: #FFD700;
    font-weight: 1000;
    letter-spacing: 0.4px;
    font-size: 13px;
    text-shadow: 0 10px 26px rgba(0, 0, 0, 0.55);
}

.blur-overlay__sub {
    color: rgba(190, 190, 190, 0.92);
    font-size: 12px;
    font-weight: 650;
}

.unlock-inline-note {
    margin-top: 8px;
    color: #B8860B;
    font-size: 11px;
    font-style: italic;
    font-weight: 800;
    text-align: center;
}

.unlock-inline-btn {
    margin-top: 12px;
    background: linear-gradient(135deg, #FFD700, #FFA500);
    color: #000000;
    font-size: 13px;
    font-weight: 900;
    padding: 10px 24px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(255,165,0,0.4);
    display: inline-block;
    text-align: center;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.unlock-inline-btn:hover {
    filter: brightness(1.06);
}

.section-unlock-bar {
    background: rgba(184,134,11,0.08);
    border-top: 1px solid rgba(184,134,11,0.2);
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    flex-wrap: wrap;
}

.insight-card .section-unlock-bar {
    margin: 12px -18px -18px -18px;
    border-radius: 0 0 12px 12px;
}

.pr-card .section-unlock-bar,
.em-mirror .section-unlock-bar {
    margin: 12px -14px -12px -14px;
    border-radius: 0 0 14px 14px;
}

.section-unlock-text {
    color: #B8860B;
    font-size: 12px;
    font-style: italic;
    font-weight: 800;
    line-height: 1.35;
    text-align: left;
}

.section-unlock-btn {
    margin-top: 12px;
    background: linear-gradient(135deg, #FFD700, #FFA500);
    border: none;
    color: #000000;
    font-size: 13px;
    padding: 10px 24px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 900;
    box-shadow: 0 2px 8px rgba(255,165,0,0.4);
    display: inline-block;
    text-align: center;
}

@keyframes blurLockedPulse {
    0%, 100% {
        box-shadow:
            0 16px 34px rgba(0, 0, 0, 0.45),
            0 0 0 rgba(184, 134, 11, 0.00),
            inset 0 0 0 1px rgba(0, 0, 0, 0.30);
        border-color: rgba(184, 134, 11, 0.82);
    }
    50% {
        box-shadow:
            0 18px 40px rgba(0, 0, 0, 0.48),
            0 0 18px rgba(184, 134, 11, 0.22),
            inset 0 0 0 1px rgba(0, 0, 0, 0.30);
        border-color: rgba(184, 134, 11, 0.98);
    }
}

@media (prefers-reduced-motion: reduce) {
    .blurred-section { animation: none; }
}

@keyframes gentleWobble {
    0% { transform: translateX(0); }
    15% { transform: translateX(-4px); }
    30% { transform: translateX(4px); }
    45% { transform: translateX(-3px); }
    60% { transform: translateX(3px); }
    75% { transform: translateX(-2px); }
    90% { transform: translateX(2px); }
    100% { transform: translateX(0); }
}

@keyframes lockJiggle {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    15% { transform: translate(-1px, 1px) rotate(-2deg); }
    30% { transform: translate(1px, -1px) rotate(2deg); }
    45% { transform: translate(-1px, 0px) rotate(-1.5deg); }
    60% { transform: translate(1px, 1px) rotate(1.5deg); }
    75% { transform: translate(0px, -1px) rotate(-1deg); }
}

@keyframes bounceLock {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

@keyframes sheen {
    0% { transform: translateX(-120%) rotate(20deg); opacity: 0; }
    30% { opacity: 0.7; }
    60% { opacity: 0; }
    100% { transform: translateX(220%) rotate(20deg); opacity: 0; }
}

@keyframes bounceIn {
    0% { transform: scale(1); }
    30% { transform: scale(1.06); }
    60% { transform: scale(0.97); }
    80% { transform: scale(1.02); }
    100% { transform: scale(1); }
}

.unlock-btn {
    margin-top: 12px;
    background: linear-gradient(135deg, #FFD700, #ff8a00, #FFD700);
    background-size: 200% 200%;
    color: #000000;
    font-size: 13px;
    font-weight: 900;
    padding: 10px 24px;
    border-radius: 20px;
    border: none;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(255, 165, 0, 0.28);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    width: 100%;
    min-height: 48px;
}

body.offer-modal-open {
    overflow: hidden;
}

.offer-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.offer-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.offer-modal__card {
    position: relative;
    max-width: 520px;
    width: calc(100% - 26px);
    margin: 8vh auto 0 auto;
    background: linear-gradient(160deg, rgba(10, 10, 18, 0.96), rgba(4, 4, 6, 0.98));
    border: 1px solid rgba(255, 215, 0, 0.28);
    border-radius: 16px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    padding: 18px 18px 16px 18px;
    animation: offerPopIn 0.42s ease-out;
    max-height: 84vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

@keyframes offerPopIn {
    0% { transform: translateY(14px) scale(0.985); opacity: 0; }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

.offer-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(255, 215, 0, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    font-weight: 900;
    line-height: 1;
    z-index: 3;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.offer-modal__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 900;
    color: #0a0a14;
    background: linear-gradient(135deg, #FFD700, #ff8a00, #FFD700);
    background-size: 200% 200%;
    padding: 6px 10px;
    border-radius: 999px;
    box-shadow: 0 12px 26px rgba(255, 165, 0, 0.18);
    margin-bottom: 10px;
    animation: offerBadgeGlow 2.4s ease-in-out infinite;
}

.offer-modal__title {
    color: #f0e6c8;
    font-weight: 900;
    font-size: 18px;
    line-height: 1.25;
    margin-bottom: 6px;
}

.offer-modal__sub {
    color: rgba(255, 255, 255, 0.70);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 12px;
}

.offer-modal__img {
    display: block;
    width: 100%;
    max-width: 520px;
    max-height: 240px;
    object-fit: contain;
    margin: 8px auto 10px auto;
    filter: drop-shadow(0 22px 42px rgba(0,0,0,0.50));
}

.offer-modal__price {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 10px;
    margin: 6px 0 10px 0;
}

.offer-modal__price-old {
    color: rgba(255, 255, 255, 0.45);
    text-decoration: line-through;
    font-weight: 800;
    font-size: 13px;
}

.offer-modal__price-new {
    color: #FFD700;
    font-weight: 1000;
    font-size: 26px;
    letter-spacing: 0.5px;
}

.offer-modal__price-off {
    color: #0a0a14;
    background: linear-gradient(135deg, #FFD700, #ff8a00, #FFD700);
    background-size: 200% 200%;
    border: 1px solid rgba(255, 215, 0, 0.35);
    border-radius: 10px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: 1000;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(255, 183, 0, 0.28);
    animation: offerDiscountPulse 1.8s ease-in-out infinite;
}

.offer-modal__personal {
    color: rgba(201, 168, 76, 0.95);
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

@media (max-width: 420px) {
    .offer-modal__card { margin-top: 6vh; padding: 16px 14px 14px 14px; }
    .offer-modal__img { max-height: 200px; }
    .offer-modal__price-new { font-size: 24px; }
    .offer-modal__title { font-size: 17px; }
}

.offer-modal__timer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px 0;
}

.offer-modal__timer-label {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    font-weight: 700;
}

.offer-modal__timer-value {
    color: #c9a84c;
    font-size: 18px;
    font-weight: 1000;
    font-variant-numeric: tabular-nums;
    letter-spacing: 2px;
}

.offer-modal__cta {
    margin-top: 0;
    border-radius: 14px;
    padding: 14px 18px;
    font-size: 14px;
    animation: buttonPulse 2.1s ease-in-out infinite, offerCtaGlow 1.5s ease-in-out infinite;
}

.offer-modal__foot {
    margin-top: 10px;
    text-align: center;
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.unlock-btn::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -40%;
    width: 50%;
    height: 220%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.6), transparent);
    transform: rotate(20deg);
    animation: sheen 3.2s ease-in-out infinite;
    pointer-events: none;
}

.unlock-btn__icon {
    font-size: 16px;
    line-height: 1;
    /* Icon stays static; the whole button animates for attention. */
    position: relative;
    z-index: 1;
}

.unlock-btn__label {
    position: relative;
    z-index: 1;
}

.section-unlock-bar .unlock-btn { margin-top: 0; }

.unlock-btn:active {
    transform: scale(0.995);
}

.payment-highlight {
    animation: paymentHighlightPulse 1.05s ease-in-out 0s 2;
}

.offer-focus-pulse {
    animation: offerFocusPulse 1.2s ease-in-out 0s 3;
}

.offer-cta-spotlight {
    animation: offerCtaSpotlight 1s ease-in-out 0s 3;
}

@keyframes paymentHighlightPulse {
    0% { box-shadow: 0 0 0 rgba(212, 175, 55, 0.0); transform: scale(1); }
    35% { box-shadow: 0 0 22px rgba(212, 175, 55, 0.45); transform: scale(1.02); }
    100% { box-shadow: 0 0 0 rgba(212, 175, 55, 0.0); transform: scale(1); }
}

@keyframes offerBadgeGlow {
    0%, 100% { background-position: 0% 50%; box-shadow: 0 12px 26px rgba(255, 165, 0, 0.18); }
    50% { background-position: 100% 50%; box-shadow: 0 16px 34px rgba(255, 183, 0, 0.32); }
}

@keyframes offerDiscountPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 24px rgba(255, 183, 0, 0.20); }
    50% { transform: scale(1.08); box-shadow: 0 16px 34px rgba(255, 183, 0, 0.38); }
}

@keyframes offerCtaGlow {
    0%, 100% { box-shadow: 0 14px 30px rgba(212, 175, 55, 0.24), inset 0 1px 0 rgba(255,255,255,0.12); }
    50% { box-shadow: 0 18px 42px rgba(255, 196, 0, 0.46), inset 0 1px 0 rgba(255,255,255,0.22); }
}

@keyframes offerFocusPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(255, 196, 0, 0.0); border-color: rgba(201,168,76,0.4); }
    50% { transform: scale(1.015); box-shadow: 0 0 28px rgba(255, 196, 0, 0.32); border-color: rgba(255, 208, 76, 0.88); }
}

@keyframes offerCtaSpotlight {
    0%, 100% { transform: scale(1); filter: brightness(1); }
    50% { transform: scale(1.03); filter: brightness(1.08); }
}

@media (prefers-reduced-motion: reduce) {
    .unlock-btn,
    .offer-focus-pulse,
    .offer-cta-spotlight,
    .offer-modal__badge,
    .offer-modal__price-off,
    .offer-modal__cta { transition: none !important; animation: none !important; }
}

/* Emergency look for Current Time Cycle (Dasha + Transit) */
.insight-card.insight-card--emergency {
    background: linear-gradient(150deg, rgba(155, 0, 25, 0.92), rgba(18, 10, 10, 0.96));
    border-color: rgba(255, 71, 87, 0.65);
    border-left-color: rgba(255, 71, 87, 0.95);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55), inset 0 0 18px rgba(255, 71, 87, 0.14);
    animation: emergencyBorderBlink 1.05s ease-in-out infinite;
}

@keyframes emergencyBorderBlink {
    0%, 100% {
        border-color: rgba(255, 71, 87, 0.55);
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55), inset 0 0 18px rgba(255, 71, 87, 0.10);
    }
    50% {
        border-color: rgba(255, 71, 87, 1);
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55), 0 0 0 2px rgba(255, 71, 87, 0.45), inset 0 0 24px rgba(255, 71, 87, 0.22);
    }
}

/* Free Insight (top section) spacing - premium breathing room */
#results .brand-header,
body .brand-header {
    margin-bottom: 20px;
}

#results .pdf-meta {
    font-size: 11px;
    letter-spacing: 2px;
    padding: 6px 20px;
    border: 1px solid rgba(184,134,11,0.5);
    background: rgba(184,134,11,0.1);
    border-radius: 20px;
    color: #B8860B;
    font-weight: 900;
    display: block;
    width: max-content;
    max-width: calc(100% - 24px);
    text-align: center;
    margin: 0 auto 12px;
    text-transform: none;
}

#results .client-name-pdf {
    margin-bottom: 16px;
}

#results .id-pill-wrap {
    margin: 16px 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#results .id-pill-label {
    color: #B8860B;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 12px;
    font-weight: 900;
}

#results .id-identity-card {
    width: 100%;
    background: #111111;
    border: 1.5px solid #FFD700;
    border-radius: 12px;
    padding: 16px 20px;
    box-shadow: 0 0 20px rgba(255,215,0,0.15), 0 0 40px rgba(255,215,0,0.08);
    box-sizing: border-box;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    max-width: 980px;
}

#results .id-col {
    flex: 1 1 0;
    text-align: center;
    min-width: 0;
}

#results .id-col-label {
    color: #888888;
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 6px;
    font-weight: 800;
}

#results .id-col-value {
    color: #FFD700;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#results .id-col-divider {
    width: 1px;
    background: rgba(255,215,0,0.3);
    height: 40px;
    align-self: center;
    flex: 0 0 auto;
    margin: 0 10px;
}

#results .id-pill-note {
    margin-top: 8px;
    text-align: center;
    font-style: italic;
    color: #555555;
    font-size: 10px;
    line-height: 1.3;
}

@media (max-width: 420px) {
    #results .id-identity-card { padding: 14px 12px; }
    #results .id-col-divider { margin: 0 8px; }
    #results .id-col-value { font-size: 15px; }
    #results .id-col-label { font-size: 8px; }
}

/* D1 chart section spacing */
#results .pdf-header + .insight-card {
    margin-top: 24px;
    margin-bottom: 16px;
}

#results #emotionalMirrorMount.em-mirror {
    margin-bottom: 32px;
}

/* Free Insight reading progress (real scroll progress) */
.fi-progress {
    margin-top: 10px;
    text-align: left;
}

.fi-progress__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.fi-progress__label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

.fi-progress__pct {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.4px;
    color: rgba(255, 215, 0, 0.95);
}

.fi-progress__track {
    height: 4px;
    border-radius: 999px;
    background: rgba(70, 70, 70, 0.75);
    overflow: hidden;
}

.fi-progress__fill {
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(90deg, #b38b59, #ffd700, #b38b59);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.22);
    transition: width 120ms linear;
}

/* Premium birth profile + planetary tables */
#results .vedic-block {
    margin-top: 16px;
}

#results .vedic-section-title {
    text-align: center;
    color: #FFD700;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 900;
    font-variant: all-small-caps;
    margin: 0 0 10px;
}

#results .vedic-table-card {
    background: #111111;
    border: 1px solid #B8860B;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    text-align: left;
}

#results .vedic-kv-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 10px 16px;
    font-size: 13px;
}

#results .vedic-kv-row:nth-child(odd) {
    background: #0d0d0d;
}

#results .vedic-kv-row:nth-child(even) {
    background: #141414;
}

#results .vedic-kv-row + .vedic-kv-row {
    border-top: 1px solid rgba(184, 134, 11, 0.15);
}

#results .vedic-kv-label {
    color: #B8860B;
    font-weight: 800;
    text-align: left;
}

#results .vedic-kv-value {
    color: #FFFFFF;
    text-align: right;
    font-weight: 650;
    word-break: break-word;
}

#results .vedic-kv-value .vedic-sub {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 600;
    font-size: 12px;
}

#results .vedic-footnote {
    text-align: center;
    margin-top: 10px;
    font-size: 11px;
    color: #888888;
    font-style: italic;
    line-height: 1.35;
}

#results .vedic-pp-head,
#results .vedic-pp-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr 0.6fr 0.8fr;
    gap: 10px;
    padding: 10px 16px;
    font-size: 13px;
    align-items: center;
    text-align: left;
}

#results .vedic-pp-head {
    background: rgba(184, 134, 11, 0.2);
    color: #FFD700;
    font-weight: 900;
    letter-spacing: 0.3px;
}

#results .vedic-pp-row:nth-child(odd) {
    background: #0d0d0d;
}

#results .vedic-pp-row:nth-child(even) {
    background: #141414;
}

#results .vedic-pp-row + .vedic-pp-row {
    border-top: 1px solid rgba(184, 134, 11, 0.15);
}

#results .vedic-pp-planet {
    color: #FFFFFF;
    font-weight: 800;
}

#results .vedic-pp-sign {
    color: rgba(230, 199, 156, 0.98);
    font-weight: 750;
}

#results .vedic-pp-house {
    color: #FFFFFF;
    text-align: right;
    font-weight: 850;
}

#results .vedic-pp-degree {
    color: rgba(255, 255, 255, 0.92);
    text-align: right;
    font-weight: 750;
    letter-spacing: 0.1px;
}

/* Divider between birth data tables and D1 chart */
#results .birth-data-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    padding: 0 20px;
    color: #B8860B;
    font-size: 12px;
    font-style: italic;
    text-align: center;
}

#results .birth-data-divider__line {
    height: 1px;
    flex: 1 1 auto;
    background: linear-gradient(90deg, transparent, rgba(184, 134, 11, 0.6), transparent);
}

#results .birth-data-divider__text {
    flex: 0 1 auto;
    max-width: 360px;
    line-height: 1.35;
}

@media (max-width: 768px) {

  /* Sticky header max height on mobile */
  .brand-header,
  header[style*="sticky"],
  div[style*="sticky"] {
    max-height: 15vh !important;
    overflow: hidden !important;
    padding: 8px 16px !important;
  }

  /* Force single line title */
  .brand-header h1,
  .brand-header h2 {
    font-size: 18px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Remove any large decorative elements 
     inside the sticky header on mobile */
  .brand-header .subtitle,
  .brand-header .description,
  .brand-header p:not(.progress-label) {
    display: none !important;
  }

}
