body {
    font-family: 'Noto Sans',Helvetica,Arial,Lucida,sans-serif !important;
		line-height:1.6em !important
	}
	a {
		text-decoration:none;
	}
	
	ul {
    	margin-top: 0;
    	margin-bottom: 0rem;
		margin-left:0px !important;
	}
	
	.sidebar {
		margin-left:20px
	}
	
	.sidebarBox {
		margin-top:40px;
		border:1px solid #f0f0f0;
		padding:20px;
	}
	
	.sidebarImg {
		border-radius:0px;
	}
	
	.white {
		color:#ffffff;
	}
	
	.sidebarButton {
		font-size: 16px;
		background-color: #2e5984;
		border-color: #2e5984;
		border-radius: 0px;
		color:#ffffff;
		padding:7px 20px;
	}
	
	.sidebarButton:hover {
		color:#ffffff;
		background-color: #528aae;
	}
	
	h1 {
		color:#ffffff;
		font-size:30px
	}
	
	.colorSubzero { color:#ffffff; background-color:rgba(255,0,0,.5); }
 	.color0 { color: #ff0000; } 
    .color10 { color: #cc0000; } 
    .color20 { color: #b20000; } 
    .color30 { color: #990000; } 
    .color40 { color: #7f0000; } 
    .color50 { color: #505050; } /* Dark grey (neutral) */
    .color60 { color: #808000; } /* Olive */
    .color70 { color: #808000; } /* Dark olive green */
    .color80 { color: #ADFF2F; } /* Green yellow */
    .color90 { color: #7CFC00; } /* Lawn green */
    .color100 { color: #00FF00; } /* Bright green */

	
	/* EXIT POPUP */
	/* 1. Overlay */
.np-popup-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 99999;
    backdrop-filter: blur(2px); /* Modern touch for 2026 */
}

/* 2. Common Content Styles */
.np-popup-content {
    background: white;
    margin: 10vh auto;
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    overflow: hidden;
}

/* 3. General CTA Layout (Flex) */
.np-popup-general {
    width: 90%;
    max-width: 1000px;
    display: flex;
    align-items: center;
    padding: 40px;
    gap: 30px;
}

.np-popup-text {
    flex: 1.5;
}

.np-popup-image-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
}

.np-popup-image-wrap img {
    max-width: 100%;
    height: auto;
    border: 1px solid #f0f0f0;
    border-radius: 4px;
}

/* 4. Specific Number CTA (Centered/Compact) */
.np-popup-specific {
    width: 90%;
    max-width: 1000px;
    padding: 40px;
    text-align: left;
}

/* 5. Typography */
.np-popup-alert {
    color: #cc0000;
    margin-bottom: 5px;
    letter-spacing: 1px;
    font-size: 0.9rem;
}

.np-popup-subheadline {
    margin: 0 0 10px 0 !important;
    text-align: left !important;
    color: #666;
}

.np-popup-headline {
    margin: 0 0 20px 0 !important;
    font-size: 1.8rem;
    color: #132841;
    line-height: 1.2;
}

.np-specific-content {
    color: #333;
}

/* 6. Mobile Responsiveness */
@media (max-width: 768px) {
    .np-popup-general {
        flex-direction: column;
        padding: 25px;
        margin: 5vh auto;
    }
    .np-popup-image-wrap {
        display: none; /* Hide image on small mobile to save space */
    }
    .np-popup-headline {
        font-size: 1.4rem;
    }
}
	
/* HEADER */
/* Header Banner Container */
.np-header-banner {
    width: 100%;
    background-color: #d4b176; /* Your Brand Gold */
    padding: 40px 20px; /* Slightly more vertical breathing room */
    text-align: center;
}

/* Content wrapper to maintain alignment */
.np-header-content {
    max-width: 1200px;
    margin: 0 auto;
}

/* Typography for the Banner */
.np-header-banner h1 {
    color: #ffffff !important;
    margin: 0;
    line-height: 1.2;
    font-weight: 400; /* Keeps the top line elegant */
}

.np-header-banner .h1big {
    color: #ffffff;
    display: block; /* Ensures it starts on a new line effectively */
    margin-top: 10px;
    font-weight: 700;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .np-header-banner {
        padding: 30px 15px;
    }
    .np-header-banner h1 {
        font-size: 1.4rem; /* Scales down the smaller text */
    }
}
	
/* CONTENT */

/* Container for the main article and sidebar */
.np-main-content-row {
    max-width: 1200px;
    margin: 40px auto;
}

/* The Main Article Column */
.np-article-column {
    margin: 20px auto;
    padding-right: 40px;
    border-right: 1px dashed #cccccc; /* Softened from #303030 for better readability */
    text-align: justify;
}

/* Mobile Responsiveness: Remove border and padding when stacked */
@media (max-width: 767px) {
    .np-article-column {
        padding-right: 15px; /* Standard gutter */
        padding-left: 15px;
        border-right: none;
        border-bottom: 1px dashed #cccccc;
        margin-bottom: 40px;
        text-align: left; /* Justify text can look messy on very narrow mobile screens */
    }
}	
	
/* AUTHOR BOX */

/* Container for Author Byline */
.np-author-box {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

/* Author Image Styling */
.np-author-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #d4b176;
    transition: transform 0.3s ease;
    display: block;
}

.np-author-img:hover {
    transform: scale(1.05);
}

/* Author Text Group */
.np-author-info {
    font-family: 'Segoe UI', Roboto, sans-serif;
    line-height: 1.4;
}

.np-author-lead {
    display: block;
    font-size: 18px;
    color: #555;
}

.np-author-name {
    color: #132841;
    text-decoration: none;
    font-weight: bold;
    transition: color 0.2s ease;
}

.np-author-name:hover {
    color: #d4b176;
}

.np-author-subtext {
    display: block;
    font-size: 15px;
    color: #888;
    margin-top: 3px;
}

/* Mobile Tweak: Slightly smaller image on small screens */
@media (max-width: 480px) {
    .np-author-img {
        width: 80px;
        height: 80px;
    }
    .np-author-lead {
        font-size: 16px;
    }
    .np-author-subtext {
        font-size: 13px;
    }
}	
	
/* DARK BLUE INTRO ARCHETYPE BOX */

/* DARK BLUE INTRO ARCHETYPE BOX (NO BOOTSTRAP DEPENDENCY) */

/* Main Blue Archetype Box */
.np-archetype-box {
    color: #ffffff;
    background-color: #132841; /* Darker Navy Brand Color */
    padding: 30px 20px;
    margin-bottom: 40px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 8px;

    /* layout */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0; /* keep tight; use padding inside columns */
}

/* Column behavior (replaces col-lg-* etc.) */
.np-planet-col {
    text-align: center;
    flex: 0 0 100%;
    max-width: 100%;
}

.np-archetype-info {
    padding-left: 0;
    flex: 0 0 100%;
    max-width: 100%;
}

/* Desktop: 25% planet + 75% info */
@media (min-width: 992px) {
    .np-planet-col {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .np-archetype-info {
        flex: 0 0 75%;
        max-width: 75%;
        padding-left: 20px;
        text-align: left;
    }
}

/* Planet Image Scaling */
.np-planet-img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    transition: transform 0.5s ease;
}

.np-planet-img:hover {
    transform: rotate(5deg) scale(1.05); /* Subtle "orbital" hover effect */
}

/* Title */
.np-archetype-title {
    color: #ffffff !important;
    margin-top: 0 !important;
    font-size: 1.4rem;
    letter-spacing: 0.5px;
}

/* Data Table Styling */
.np-archetype-table {
    width: 100%;
    color: #ffffff;
    font-size: 14px;
    border-collapse: collapse;
    margin-bottom: 15px;
}

.np-archetype-table tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.np-archetype-table td {
    padding: 10px 0;
}

/* Description Text & Links */
.np-archetype-description {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 0;
}

.np-archetype-description b {
    color: #d4b176; /* Highlights the numbers in gold */
}

.np-archetype-description a {
    color: #d4b176 !important;
    text-decoration: underline;
    transition: opacity 0.2s;
}

.np-archetype-description a:hover {
    opacity: 0.8;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .np-archetype-info {
        margin-top: 20px;
        text-align: center;
    }
    .np-archetype-table td {
        text-align: center;
    }
    .np-planet-img {
        max-width: 150px;
    }
}

	
/* MAIN CONTENT BOX */

/* Container for the main article content */
.np-main-article-body {
    width: 100%;
    margin-bottom: 40px;
}

/* Dynamic Headline Styling */
.np-dynamic-headline {
    text-align: left;
    margin-bottom: 25px;
}

/* Course Promotion Box (The "Rinsed" Version of the <br><br> tags) */
.np-course-cta {
    margin-top: 40px;
    padding: 25px;
    background-color: #f9f9f9;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    line-height: 1.6;
    font-family: 'Segoe UI', Roboto, sans-serif;
}

.np-course-cta a {
    color: #132841;
    text-decoration: underline;
    font-weight: 700;
    transition: color 0.2s ease;
}

.np-course-cta a:hover {
    color: #d4b176;
}

/* Mobile Tweak */
@media (max-width: 768px) {
    .np-course-cta {
        padding: 20px;
        font-size: 0.95rem;
    }
}	
	
/* TAROT CARD SECTION */

/* Main Tarot Section Container */
.np-tarot-section {
    background-color: #f8f8f8; /* Softened from #f0f0f0 for a cleaner look */
    padding: 35px 30px;
    margin-bottom: 40px;
    border-radius: 8px;
}

.np-tarot-title {
    margin-top: 0 !important;
    margin-bottom: 25px;
}

/* Flex adjustment for content */
.np-tarot-row {
    display: flex;
    align-items: flex-start;
}

.np-tarot-text {
    padding-right: 20px;
}

.np-tarot-description {
    line-height: 1.6;
    color: #444;
    margin-bottom: 20px;
}

.np-tarot-cta-text {
    font-size: 0.95rem;
    color: #777;
    margin-bottom: 15px;
}

/* Sidebar Button Styling Fix */
.np-tarot-btn {
    display: inline-block;
    margin-top: 5px;
}

/* Tarot Image Styling */
.np-tarot-image-col {
    text-align: right;
}

.np-tarot-card-img {
    width: 100%;
    max-width: 200px; /* Prevents card from becoming massive on some tablet widths */
    height: auto;
    border-radius: 5px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.np-tarot-card-img:hover {
    transform: translateY(-5px);
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .np-tarot-row {
        flex-direction: column-reverse; /* Shows card above text on mobile for visual impact */
    }
    .np-tarot-image-col {
        text-align: center;
        margin-bottom: 25px;
        width: 100%;
    }
    .np-tarot-card-img {
        max-width: 160px;
    }
    .np-tarot-text {
        padding-right: 0;
        text-align: center;
    }
}	
	
/* --- 5 VIRTUES & VICES (POLARITY BOX) --- */

/* Outer wrapper for spacing */
.np-virtues-vices-wrapper {
    margin-bottom: 40px;
    text-align: left;
}

/* Main Blue Polarity Box */
.np-polarity-box {
    padding: 30px 20px;
    color: #ffffff;
    background-color: #517ca4; /* Founders' preferred blue */
    margin: 40px 0 0 0 !important;
    border-radius: 8px;

    /* layout (replaces Bootstrap row/cols) */
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

/* Each column */
.np-polarity-column {
    flex: 0 0 100%;
    max-width: 100%;
}

/* Desktop 2-column split */
@media (min-width: 992px) {
    .np-polarity-column {
        flex: 0 0 50%;
        max-width: 50%;
    }

    /* spacing between columns */
    .np-polarity-balanced {
        padding-right: 18px;
    }
    .np-polarity-unbalanced {
        padding-left: 18px;
    }
}

/* Titles inside the box */
.np-polarity-title {
    color: #ffffff !important;
    margin-top: 0 !important;
    font-size: 1.3rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 10px;
    margin-bottom: 20px !important;
}

/* List Styling - Fixed to prevent double bullets */
.np-list-container ul {
    list-style-type: none !important;
    padding-left: 0;
    margin: 0;
}

.np-list-container li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    font-size: 1.05rem;
    line-height: 1.5;
    color: #ffffff;
    list-style: none !important;
    font-family: 'Raleway', sans-serif !important;
}

/* Single controlled bullet point */
.np-list-container li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.2rem;
}

/* Ensures no hidden browser markers remain */
.np-list-container li::marker {
    content: "";
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .np-polarity-column:first-child {
        margin-bottom: 30px;
    }
    .np-polarity-title {
        font-size: 1.2rem;
    }
    .np-list-container li {
        font-size: 1rem;
    }
}

/* === Gotcha Box (Statistics Research) === */

/* Outer wrapper (you already wrap it in .np-stats-box .np-gotcha-box) */
.np-gotcha-box{
  margin: 28px 0;
  padding: 22px 22px 18px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

/* Top label + title (re-using your existing stats classes) */
.np-gotcha-box .np-stats-tag{
  display: inline-block;
  letter-spacing: 0.12em;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(212,177,118,0.16); /* subtle gold tint */
  color: #7a5a2a;
  margin-bottom: 10px;
}

.np-gotcha-box .np-stats-title{
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 800;
  color: #111;
}

/* Inner content */
.np-gotcha-body{
  font-size: 15px;
  line-height: 1.7;
  color: #222;
}

/* The inner H5 you store in DB */
.np-gotcha-title{
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 800;
  color: #0f172a; /* deep slate */
}

/* Spacing for each paragraph block (you use <div> blocks) */
.np-gotcha-body > div{
  margin-top: 10px;
}
.np-gotcha-body > div:first-child{
  margin-top: 0;
}

/* Emphasis styles */
.np-gotcha-body strong{
  font-weight: 800;
  color: #111;
}

.np-gotcha-body em{
  font-style: italic;
  color: #1f2937;
}

/* Optional: make the last “Micro-remedy” line feel like a callout */
.np-gotcha-body > div:last-child{
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(212,177,118,0.10);
  border: 1px solid rgba(212,177,118,0.22);
}

/* Mobile tweaks */
@media (max-width: 640px){
  .np-gotcha-box{
    padding: 18px 16px 14px;
    border-radius: 12px;
  }
  .np-gotcha-box .np-stats-title{
    font-size: 18px;
  }
  .np-gotcha-title{
    font-size: 16px;
  }
  .np-gotcha-body{
    font-size: 14.5px;
  }
}

	
/* --- MASTER NUMBER CONTAINER --- */

.np-master-number-box {
    margin: 40px 0;
    padding: 40px;
    background-color: #ffffff;
    /* A double border or a specialized color can signify "Master" status */
    border: 1px solid #d4b176; 
    border-left: 10px solid #d4b176; /* Thick "Master" accent bar */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-radius: 4px;
    position: relative;
}

/* Optional: Adding a subtle "Master Number" label in the corner */
.np-master-number-box::before {
    content: "MASTER VIBRATION";
    position: absolute;
    top: -12px;
    right: 20px;
    background: #d4b176;
    color: #fff;
    padding: 2px 12px;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1px;
    border-radius: 20px;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .np-master-number-box {
        padding: 25px 20px;
        border-left-width: 5px;
    }
}
	
/* --- KEYWORDS FOR INSPIRATION --- */

.np-keywords-box {
    padding: 35px 30px;
    background-color: #f8f8f8;
    margin-bottom: 40px;
    border-radius: 8px;
    border: 1px solid #eee;
}

.np-keywords-title {
    margin-top: 0 !important;
    margin-bottom: 25px;
}

.np-keywords-grid {
    display: flex;
    gap: 30px;
}

.np-keyword-column {
    flex: 1;
    padding: 20px;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.np-keyword-label {
    margin-top: 0 !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* Balanced Theme - Professional Sage Green */
.np-balanced {
    border-top: 4px solid #4a7c59;
}
.np-balanced .np-keyword-label {
    color: #4a7c59;
}

/* Imbalanced Theme - Professional Terracotta Red */
.np-imbalanced {
    border-top: 4px solid #b55252;
}
.np-imbalanced .np-keyword-label {
    color: #b55252;
}

.np-keyword-text {
    line-height: 1.6;
    color: #444;
    margin-bottom: 0;
    font-style: italic; /* Makes keywords feel "inspired" */
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .np-keywords-grid {
        flex-direction: column;
        gap: 20px;
    }
}	
	
/* Celebrity Grid Fix */
.np-celeb-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px 25px -8px;
    align-items: stretch;
}

.np-celeb-card {
    flex: 1;
    min-width: 280px;
    margin: 0 8px 15px 8px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    border-left: 5px solid #d4b176;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Chrome White Space Fix: display block and vertical-align remove the img bottom gap */
.np-celeb-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    vertical-align: bottom; 
    margin: 0;
    padding: 0;
}

.np-celeb-body {
    padding: 20px;
}

.np-celeb-name {
    margin: 0 0 10px 0 !important;
    color: #132841;
    font-size: 19px;
    font-weight: bold;
}

.np-celeb-name small {
    color: #666;
    font-size: 13px;
    font-weight: normal;
}

.np-celeb-bio {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    margin: 0;
}

/* Notable Names List Spacing Fix */
.np-notable-names-box {
    background: #fdfdfd;
    padding: 25px;
    border: 1px dashed #c0c0c0;
    border-radius: 8px;
    width: 100%;
}

.np-notable-header {
    margin-top: 0;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 16px;
    color: #888;
    letter-spacing: 1px;
    margin-bottom: 30px;
    text-align: center;
}

.np-notable-grid {
    display: flex;
    flex-wrap: wrap;
}

.np-notable-col {
    flex: 0 0 50%;
    max-width: 50%;
    margin-bottom: 25px;
}

.np-notable-category {
    color: #132841;
    display: block;
    margin-bottom: 5px;
}

.np-notable-list {
    font-size: 13px;
    line-height: 1.4; /* Reduced from 1.8 to fix "double line" appearance */
    color: #444;
}

/* Mobile Responsiveness */
@media (max-width: 600px) {
    .np-notable-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}	

/* --- CELEBRITY CARD FIXES --- */

.np-celeb-card {
    flex: 1;
    min-width: 280px;
    margin: 0 8px 15px 8px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    border-left: 5px solid #d4b176;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    line-height: 0; /* Kills the phantom space for the image area */
}

.np-celeb-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block; /* Standard fix */
    margin: 0;
    padding: 0;
    border: none;
}

.np-celeb-body {
    padding: 20px;
    line-height: 1.6; /* Restores text spacing inside the body */
}

/* --- NOTABLE NAMES TIGHTENING --- */

.np-notable-names-box {
    background: #fdfdfd;
    padding: 25px;
    border: 1px dashed #c0c0c0;
    border-radius: 8px;
    width: 100%;
    margin-top: 20px;
}

.np-notable-header {
    margin: 0 0 15px 0 !important; /* Forces a tight gap after the title */
    font-weight: bold;
    text-transform: uppercase;
    font-size: 16px;
    color: #888;
    letter-spacing: 1px;
    text-align: center;
}

.np-notable-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
}

.np-notable-col {
    flex: 0 0 50%;
    max-width: 50%;
    margin-bottom: 15px; /* Reduced from 25px */
}

.np-notable-category {
    color: #132841;
    display: block;
    margin-bottom: 2px; /* Tighter gap between title and names */
    font-size: 14px;
}

.np-notable-list {
    font-size: 13px;
    line-height: 1.3; /* Tighter list appearance */
    color: #444;
}

/* Mobile Tweak */
@media (max-width: 600px) {
    .np-notable-col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 20px;
    }
}	
	
/* --- CELEBRITY SECTION BOUNDING BOX --- */

.np-celeb-bounding-box {
    background-color: #f6f6f6; /* Slightly lighter than #f0f0f0 for a cleaner look */
    padding: 45px 30px;
    margin-bottom: 40px;
    border-radius: 12px;
    border: 1px solid #eeeeee;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .np-celeb-bounding-box {
        padding: 30px 15px; /* Tighter padding on mobile */
        margin-bottom: 30px;
    }
}
	
/* --- CELESTIAL HERO BOX --- */

.np-celestial-hero {
    background: radial-gradient(circle at center, #2c2c2c 0%, #1a1a1a 100%);
    color: #ffffff;
    padding: 60px 40px;
    margin: 40px 0;
    border-radius: 12px;
    text-align: center;
    border: 1px solid #333;
}

/* FIX: This forces the global .h2big class to be white 
   ONLY when it is inside the celestial hero section.
*/
.np-celestial-hero .h2big {
    color: #ffffff !important;
}

.np-celestial-main-title {
    margin: 0 auto 30px auto !important;
    max-width: 800px;
}

.np-planet-container {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
}

.np-hero-planet {
    width: 100%;
    max-width: 420px; /* Increased slightly for more impact */
    height: auto;
    filter: drop-shadow(0 0 50px rgba(212, 177, 118, 0.3));
    animation: floatingHero 8s ease-in-out infinite;
}

@keyframes floatingHero {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(1deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

.np-celestial-body-text {
    max-width: 780px;
    margin: 0 auto;
    text-align: left;
    font-size: 1.1rem;
    line-height: 1.8;
    color: #e0e0e0;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .np-celestial-hero {
        padding: 40px 20px;
    }
    .np-hero-planet {
        max-width: 280px;
    }
}
	
/* --- THE BIG DIAMOND CHART BOX --- */

.np-diamond-chart-wrapper {
    border: 1px solid #c3d1df;
    background-color: #ffffff;
    margin-bottom: 40px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(195, 209, 223, 0.2);
}

.np-diamond-chart-content {
    padding: 30px 40px;
}

/* The small uppercase system tag */
.np-system-tag {
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #517ca4; /* Using the Virtue/Vice blue for system consistency */
    margin: 0 0 10px 0 !important;
    font-weight: 700;
}

.np-diamond-title {
    margin-top: 0 !important;
    margin-bottom: 25px;
}

/* Explanation Text */
.np-diamond-explanation {
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

.np-diamond-explanation p {
    margin-bottom: 20px;
}

/* Course Link Highlight */
.np-course-notice {
    margin-top: 30px;
	margin-bottom: 30px;
    padding: 20px;
    background-color: #f4f7f9;
    border-left: 4px solid #517ca4;
    font-style: italic;
    color: #333;
}

.np-course-notice a {
    color: #517ca4;
    text-decoration: underline;
    font-weight: 600;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .np-diamond-chart-content {
        padding: 25px 20px;
    }
    .np-diamond-explanation {
        font-size: 13px;
    }
}	
	
/* --- SHARED ARCHETYPING SYSTEM STYLES --- */

.np-system-box {
    border: 1px solid #c3d1df;
    background-color: #ffffff;
    margin-bottom: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(195, 209, 223, 0.15);
}

.np-system-content {
    padding: 35px 40px;
}

.np-system-tag {
    font-size: 11px;
    letter-spacing: 1.5px;
    color: #517ca4; /* Consistent Blue Accent */
    margin: 0 0 10px 0 !important;
    font-weight: 700;
}

.np-system-title {
    margin-top: 0 !important;
    margin-bottom: 25px;
}

.np-system-description {
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

.np-system-description p {
    margin-bottom: 20px;
}

/* Internal CTA Box */
.np-course-highlight {
    margin: 25px 0 35px 0;
    padding: 20px;
    background-color: #f8fbfc;
    border-left: 4px solid #517ca4;
    font-style: italic;
    color: #333;
}

.np-course-highlight a {
    color: #517ca4;
    text-decoration: underline;
    font-weight: 600;
}

/* Pyramid Specific Image Styling */
.np-pyramid-visual-container {
    text-align: center;
    padding-top: 20px;
}

.np-pyramid-img {
    width: 85%; /* Slightly larger for better detail */
    max-width: 700px;
    height: auto;
    margin: 0 auto;
    display: block;
    /* Optional: subtle shadow to lift the pyramid off the page */
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.05));
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .np-system-content {
        padding: 25px 20px;
    }
    .np-pyramid-img {
        width: 100%;
    }
}	
	
/* --- FINAL CALL TO ACTION BOX --- */

.np-final-cta-box {
    border: 1px solid #c3d1df;
    background-color: rgba(81, 124, 164, 0.05); /* Soft Blue Tint */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px;
    border-radius: 12px;
    margin: 60px 0;
    overflow: hidden;
}

.np-cta-content {
    flex: 1;
    max-width: 65%;
}

.np-cta-pretitle {
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #517ca4;
    margin-bottom: 12px;
}

.np-cta-main-title {
    text-align: left !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    color: #132841;
    font-size: 1.9rem;
    font-weight: 800;
    line-height: 1.2;
}

.np-cta-description {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #444;
    margin-bottom: 25px;
}

/* Premium Gold Button */
.np-cta-button {
    display: inline-block;
    background-color: #d4b176;
    color: #ffffff !important;
    padding: 16px 32px;
    text-decoration: none !important;
    border-radius: 6px;
    font-weight: 700;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(212, 177, 118, 0.3);
}

.np-cta-button:hover {
    background-color: #c4a166;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 177, 118, 0.4);
}

/* Visual Side */
.np-cta-visual {
    flex: 0 0 25%;
    margin-left: 40px;
}

.np-cta-img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    border: 1px solid #ffffff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .np-final-cta-box {
        flex-direction: column;
        padding: 30px;
        text-align: center;
    }
    
    .np-cta-content {
        max-width: 100%;
    }
    
    .np-cta-main-title {
        text-align: center !important;
        font-size: 1.6rem;
    }
    
    .np-cta-visual {
        margin-left: 0;
        margin-top: 30px;
        max-width: 60%;
    }
}	
	
/* --- BIRTHDAY NAVIGATION GRID --- */

.np-number-nav-section {
    background-color: #f8f9fa;
    padding: 60px 20px;
    border-top: 1px solid #eee;
    text-align: center;
    margin-top: 60px;
    border-radius: 15px;
}

.np-nav-title {
    color: #132841;
    margin-bottom: 35px;
    font-size: 1.5rem;
    font-weight: 700;
}

.np-number-grid {
    display: grid;
    /* This creates the perfectly aligned circle grid */
    grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
    gap: 15px;
    max-width: 900px;
    margin: 0 auto;
    justify-items: center;
}

.np-nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #ffffff;
    color: #132841;
    border: 1px solid #ddd;
    border-radius: 50%;
    text-decoration: none !important;
    font-weight: bold;
    font-size: 0.95rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover State */
.np-nav-link:hover {
    border-color: #d4b176;
    color: #d4b176;
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 5px 15px rgba(212, 177, 118, 0.2);
    z-index: 2;
}

/* Active/Current Number State */
.np-nav-link.active {
    background: #132841;
    color: #ffffff;
    border-color: #132841;
    cursor: default;
    pointer-events: none; /* Prevents clicking the page you are already on */
}

.np-nav-footer {
    margin-top: 35px;
    font-size: 0.9rem;
    color: #888;
    font-style: italic;
}

/* Mobile Adjustments */
@media (max-width: 600px) {
    .np-number-grid {
        grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
        gap: 10px;
    }
    .np-nav-link {
        width: 42px;
        height: 42px;
        font-size: 0.85rem;
    }
}	
	
/* --- SIDEBAR COMPONENTS --- */
.np-sidebar {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

.np-sidebar-h3 {
    font-size: 1.25rem;
    color: #132841;
    margin-bottom: 15px !important;
    font-weight: 700;
}

/* 1. Opt-in Blue Box */
.np-sidebar-optin {
    border: 1px solid #c3d1df;
    background-color: rgba(81, 124, 164, 0.06);
    padding: 25px;
    border-radius: 8px;
    margin-bottom: 40px;
}

.np-optin-pretitle {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 1px;
    color: #517ca4;
    margin-bottom: 8px;
    font-weight: 700;
}

.np-optin-title {
    font-size: 1.35rem;
    color: #132841;
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.2;
}

.np-optin-img-wrap img {
    width: 100%;
    margin-top: 20px;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* 2. Image and Product Cards */
.np-bio-img, .np-product-img {
    width: 100%;
    border-radius: 6px;
    margin-bottom: 15px;
}

.np-product-card {
    margin-bottom: 25px;
}

.np-product-title {
    font-size: 1.15rem;
    color: #132841;
    margin-bottom: 8px;
}

.np-course-level {
    font-size: 13px;
    color: #517ca4;
    margin-bottom: 10px;
}

/* 3. Journey Hub & Lists */
.np-sidebar-journey-box {
    border: 1px solid #517ca4;
    padding: 20px;
    background: #fff;
    border-radius: 6px;
    margin-bottom: 30px;
}

.np-sidebar-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 15px 0;
}

.np-sidebar-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.4;
}

.np-sidebar-list li::before {
    content: "■";
    position: absolute;
    left: 0;
    color: #d4b176;
    font-size: 9px;
    top: 3px;
}

.np-sidebar-list a {
    color: #517ca4;
    text-decoration: none;
    font-weight: 500;
}

.np-sidebar-list a:hover {
    text-decoration: underline;
}

/* 4. Buttons */
.np-sidebar-btn-gold, .np-sidebar-btn-navy {
    display: block;
    text-align: center;
    padding: 14px;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none !important;
    font-size: 12px;
    transition: all 0.2s ease;
    margin: 10px 0;
}

.np-sidebar-btn-gold {
    background: #d4b176;
    color: #fff !important;
}

.np-sidebar-btn-navy {
    background: #132841;
    color: #fff !important;
}

.np-sidebar-btn-gold:hover, .np-sidebar-btn-navy:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.np-sidebar-divider {
    border: 0;
    border-top: 1px solid #eee;
    margin: 30px 0;
}	

/* --- BREADCRUMBS --- */
.np-breadcrumbs-container {
    padding: 12px 0;
    background-color: #f9fbfd;
    border-bottom: 1px solid #eef2f6;
    margin-bottom: 30px;
}

.np-breadcrumb-inner {
    max-width: 1200px; /* Adjust this to match your site's main content width */
    margin: 0 auto;
    padding: 0 20px; /* Prevents text from hitting the screen edge on mobile */
}

.np-breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* Allows it to wrap on small mobile screens */
    font-size: 0.9rem;
}

.np-breadcrumb-list li {
    display: flex;
    align-items: center;
    color: #517ca4;
}

.np-breadcrumb-list li:not(:last-child)::after {
    content: "›";
    margin: 0 10px;
    color: #d4b176;
    font-weight: bold;
}

.np-breadcrumb-list li a {
    text-decoration: none;
    color: #517ca4;
    font-weight: 500;
}

.np-breadcrumb-list li a:hover {
    color: #d4b176;
    text-decoration: underline;
}

.np-breadcrumb-list li.active {
    color: #132841;
    font-weight: 700;
}

/* ============================================================
   NUMEROLOGIST PRO - MASTER STYLESHEET
   ============================================================ */

/* --- 1. CORE TYPOGRAPHY & LAYOUT --- */
.np-main-h2 { text-align: left; margin-bottom: 25px; }
.np-intro-p { font-size: 1.15rem; line-height: 1.7; color: #333; margin-bottom: 30px; }
.np-main-list { list-style: square; line-height: 1.8; margin-bottom: 30px; padding-left: 20px; }
.h2big { font-weight: 800; display: block; margin-bottom: 5px; }

/* --- 2. THE BLUE STATS BOX (Forbes Data) --- */
.np-stats-box { background: #f4f7f9; border-left: 5px solid #132841; padding: 30px; margin: 40px 0; border-radius: 0 8px 8px 0; }
.np-stats-tag { color: #132841; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 10px 0; font-weight: 700; }
.np-stats-title { font-size: 22px; color: #132841; margin-bottom: 20px; border: none !important; font-weight: 700; }
.np-stats-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.np-stats-item { flex: 1; min-width: 200px; }
.np-stats-number { font-size: 30px; color: #d4b176; font-weight: 800; display: block; margin-bottom:20px }
.np-stats-item.border-right { border-right: 1px solid #d1dce5; padding-right: 20px; }

/* --- 3. THE RED SHADOW BOX (Court Case / Friction) --- */
.np-shadow-box { background: #fff5f5; border-left: 5px solid #a03c3c; padding: 30px; margin: 40px 0; border-radius: 0 8px 8px 0; }
.np-shadow-tag { color: #a03c3c; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin: 0; font-weight: 700; }
.np-shadow-title { font-size: 22px; color: #333; margin: 10px 0 20px 0; border: none !important; font-weight: 700; }
.np-shadow-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.np-shadow-highlight { font-size: 24px; color: #a03c3c; font-weight: 800; display: block; margin-bottom:20px }
.np-shadow-item.border-right { border-right: 1px solid #e5d1d1; padding-right: 20px; }

/* --- 4. COMPATIBILITY & MASTERY CARDS --- */
.np-compatibility-card { background: #fdfdfd; border: 1px solid #e0e0e0; border-left: 5px solid #d4b176; padding: 35px; border-radius: 8px; margin: 40px 0; }
.np-compat-title { color: #132841; font-size: 1.6rem; border-bottom: 1px solid #eee; padding-bottom: 15px; margin-top: 0; font-weight: 700; }
.np-compat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 25px; margin-top: 25px; }
.np-compat-col { padding: 20px; border-radius: 6px; }
.np-compat-col.resonance { background: rgba(212, 177, 118, 0.05); }
.np-compat-col.friction { background: rgba(19, 40, 65, 0.03); }
.np-compat-col h4 { text-transform: uppercase; font-size: 0.85rem; letter-spacing: 1px; margin-top: 0; margin-bottom: 15px; }
.np-compat-col.resonance h4 { color: #b08d57; }
.np-compat-col.friction h4 { color: #132841; }

.np-mastery-box { background: #fcfcfc; border: 1px solid #eee; padding: 30px; border-radius: 10px; margin: 40px 0; border-left: 4px solid #132841; }
.np-remedy-highlight { margin-top: 20px; padding: 20px; background-color: #fff; border: 1px dashed #d4b176; border-radius: 6px; }

/* --- 5. FAQ SECTION --- */
.np-faq-section { margin-top: 50px; border-top: 1px solid #eee; padding-top: 30px; }
.np-faq-item { margin-bottom: 25px; }
.np-faq-answer { color: #555; margin-top: 5px; line-height: 1.5; }

/* --- 6. SIDEBAR COMPONENTS --- */
.np-sidebar-optin { border: 1px solid #c3d1df; background-color: rgba(81, 124, 164, 0.06); padding: 25px; border-radius: 8px; margin-bottom: 40px; }
.np-optin-pretitle { text-transform: uppercase; font-size: 11px; letter-spacing: 1px; color: #517ca4; margin-bottom: 8px; font-weight: 700; }
.np-optin-title { font-size: 1.35rem; color: #132841; margin-top: 0; margin-bottom: 12px; line-height: 1.2; font-weight: 700; }
.np-sidebar-list { list-style: none !important; padding-left: 0 !important; margin: 15px 0; }
.np-sidebar-list li { position: relative; padding-left: 20px; margin-bottom: 10px; font-size: 13px; line-height: 1.4; }
.np-sidebar-list li::before { content: "■"; position: absolute; left: 0; color: #d4b176; font-size: 9px; top: 3px; }
.np-sidebar-list a { color: #517ca4; text-decoration: none; font-weight: 500; }
.np-sidebar-list a:hover { text-decoration: underline; }

/* --- 7. BUTTONS & DIVIDERS --- */
.np-sidebar-btn-gold, .np-sidebar-btn-navy { display: block; text-align: center; padding: 14px; border-radius: 5px; font-weight: 700; text-decoration: none !important; font-size: 12px; transition: all 0.2s ease; margin: 15px 0; cursor: pointer; border: none; }
.np-sidebar-btn-gold { background: #d4b176; color: #fff !important; }
.np-sidebar-btn-navy { background: #132841; color: #fff !important; }
.np-sidebar-btn-gold:hover, .np-sidebar-btn-navy:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); opacity: 0.95; }
.np-sidebar-divider { border: 0; border-top: 1px solid #eee; margin: 30px 0; }

/* --- 8. BIRTHDAY NAVIGATION GRID --- */
.np-number-nav-section { background-color: #f8f9fa; padding: 60px 20px; border-top: 1px solid #eee; text-align: center; margin-top: 60px; border-radius: 15px; }
.np-number-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)); gap: 15px; max-width: 900px; margin: 0 auto; justify-items: center; }
.np-nav-link { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #ffffff; color: #132841; border: 1px solid #ddd; border-radius: 50%; text-decoration: none !important; font-weight: bold; transition: all 0.25s ease; }
.np-nav-link:hover { border-color: #d4b176; color: #d4b176; transform: translateY(-3px) scale(1.1); box-shadow: 0 5px 15px rgba(212, 177, 118, 0.2); }
.np-nav-link.active { background: #132841; color: #ffffff; border-color: #132841; cursor: default; pointer-events: none; }

/* --- 9. RESPONSIVE MEDIA QUERIES --- */
@media (max-width: 768px) {
    .np-stats-item.border-right, .np-shadow-item.border-right { border-right: none; border-bottom: 1px solid #eee; padding-right: 0; padding-bottom: 15px; }
    .np-stats-grid, .np-shadow-grid { flex-direction: column; }
    .np-compat-grid { grid-template-columns: 1fr; }
    .np-number-grid { grid-template-columns: repeat(auto-fit, minmax(40px, 1fr)); gap: 10px; }
    .np-nav-link { width: 40px; height: 40px; font-size: 13px; }
}

/* === Root hub link box (under archetype box) === */
.np-rootlink-box{
  display:block;
  margin:18px 0 28px 0;                 /* space above/below */
  padding:16px 18px;
  border-radius:0;
  background:rgba(81,124,164,0.10);     /* dusty blue 10% */
  border:1px solid rgba(81,124,164,0.22);
  box-sizing:border-box;
}

.np-rootlink-text{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:#132334;
}

.np-rootlink-a,
.np-rootlink-a:visited{
  color:#d4b176;                         /* gold */
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.np-rootlink-a:hover{
  opacity:0.9;
}

/* Small label */
.np-rootlink-box:before{
  content:"ROOT HUB";
  display:block;
  font-size:11px;
  letter-spacing:0.08em;
  font-weight:700;
  color:rgba(19,35,52,0.65);
  margin-bottom:6px;
}

.np-related-family{
  margin: 16px 0 26px 0;
  padding: 16px 18px;
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(81,124,164,0.08);
}

.np-related-title{ margin:0 0 6px 0; }
.np-related-sub{ margin:0 0 12px 0; }

.np-related-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 0 0 12px 0;
}

.np-chip{
  display:inline-block;
  padding: 8px 12px;
  border: 1px solid rgba(212,177,118,0.55);
  background: rgba(212,177,118,0.10);
  color: #d4b176;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

.np-related-hub{ margin:0; }
.np-related-hub a{ color:#d4b176; text-decoration: underline; font-weight:700; }


/* ===== Meaning Snapshot box (light blue, rounded) ===== */
.np-meaning-snapshot-box{
  background: rgba(81,124,164,0.10);  /* dusty blue @ 10% */
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 8px;
  padding: 18px 20px;
  margin: 18px 0 40px;
}

.np-meaning-snapshot-title{
  margin: 0 0 10px;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.np-meaning-snapshot-text{
  margin: 0;
  line-height: 1.6;
  font-size: 16px;
}

/* Prevent “last paragraph extra space” */
.np-meaning-snapshot-text p:last-child{ margin-bottom: 0; }

h3 {
	margin-top:20px; margin-bottom:20px
}