@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Source+Serif+4:wght@400;600&family=Oswald:wght@600;700&family=Source+Sans+3:wght@400;600&display=swap');

 :root {
 --red: #c8102e;
 --dark-red: #8b0000;
 --black: #0a0a0a;
 --ink: #1a1a1a;
 --paper: #faf8f3;
 --cream: #f0ece0;
 --gold: #c9a84c;
 --text: #2c2c2c;
 --muted: #6b6b6b;
 --green: #1a7a3c;
 --success: #0f5c2e;
 }

 * { margin: 0; padding: 0; box-sizing: border-box; }

 body {
 background: var(--paper);
 color: var(--text);
 font-family: 'Source Serif 4', Georgia, serif;
 min-height: 100vh;
 overflow-x: hidden;
 }

 /* ===== TICKER ===== */
 .ticker-wrap {
 background: var(--red);
 padding: 7px 0;
 display: flex;
 align-items: center;
 overflow: hidden;
 }
 .ticker-label {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 background: var(--black);
 color: #fff;
 font-family: 'Oswald', sans-serif;
 font-size: 11px;
 letter-spacing: 1.5px;
 padding: 4px 12px;
 margin-right: 0;
 white-space: nowrap;
 z-index: 2;
 position: relative;
 }
 .ticker-track {
 flex: 1;
 overflow: hidden;
 position: relative;
 }
 .ticker-content {
 display: inline-block;
 white-space: nowrap;
 animation: ticker 22s linear infinite;
 color: #fff;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 font-weight: 600;
 letter-spacing: 0.3px;
 padding-left: 24px;
 }
 @keyframes ticker {
 0%  { transform: translateX(100vw); }
 100% { transform: translateX(-100%); }
 }

 /* ===== MASTHEAD ===== */
 .masthead {
 background: var(--black);
 padding: 10px 16px 8px;
 text-align: center;
 border-bottom: 3px solid var(--red);
 }
 .masthead-top {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 8px;
 }
 .masthead-date {
 color: #aaa;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 10px;
 letter-spacing: 0.5px;
 }
 .masthead-logo {
 color: #fff;
 font-family: 'Playfair Display', serif;
 font-size: 22px;
 font-weight: 900;
 letter-spacing: -0.5px;
 line-height: 1;
 }
 .masthead-logo span { color: var(--red); }
 .masthead-sub {
 color: #888;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 9px;
 letter-spacing: 2px;
 text-transform: uppercase;
 border-top: 1px solid #333;
 padding-top: 6px;
 }

 /* ===== BREAKING BANNER ===== */
 .breaking-banner {
 background: var(--red);
 display: flex;
 align-items: center;
 gap: 8px;
 padding: 8px 16px;
 }
 .breaking-pill {
 background: #fff;
 color: var(--red);
 font-family: 'Oswald', sans-serif;
 font-size: 10px;
 font-weight: 700;
 letter-spacing: 1px;
 padding: 3px 8px;
 white-space: nowrap;
 animation: blink 1.4s ease-in-out infinite;
 }
 @keyframes blink {
 0%, 100% { opacity: 1; }
 50% { opacity: 0.4; }
 }
 .breaking-text {
 color: #fff;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 font-weight: 600;
 letter-spacing: 0.2px;
 }

 /* ===== MAIN ARTICLE ===== */
 .article {
 padding: 20px 16px 0;
 max-width: 480px;
 margin: 0 auto;
 }

 .article-category {
 font-family: 'Oswald', sans-serif;
 font-size: 10px;
 font-weight: 700;
 letter-spacing: 2px;
 color: var(--red);
 text-transform: uppercase;
 margin-bottom: 10px;
 display: flex;
 align-items: center;
 gap: 8px;
 }
 .article-category::after {
 content: '';
 flex: 1;
 height: 1px;
 background: var(--red);
 opacity: 0.3;
 }

 .headline {
 font-family: 'Playfair Display', serif;
 font-size: 28px;
 font-weight: 900;
 line-height: 1.1;
 color: var(--black);
 margin-bottom: 12px;
 letter-spacing: -0.5px;
 }
 .headline em {
 font-style: italic;
 color: var(--red);
 }

 .subheadline {
 font-family: 'Source Serif 4', serif;
 font-size: 15px;
 font-weight: 600;
 line-height: 1.5;
 color: var(--ink);
 border-left: 3px solid var(--gold);
 padding-left: 12px;
 margin-bottom: 14px;
 }

 .byline {
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 10px 0;
 border-top: 1px solid #ddd;
 border-bottom: 1px solid #ddd;
 margin-bottom: 16px;
 }
 .byline-avatar {
 width: 36px;
 height: 36px;
 background: var(--black);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 color: #fff;
 font-family: 'Playfair Display', serif;
 font-size: 15px;
 font-weight: 700;
 flex-shrink: 0;
 }
 .byline-info {
 flex: 1;
 }
 .byline-name {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 font-weight: 600;
 color: var(--ink);
 }
 .byline-meta {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 11px;
 color: var(--muted);
 }
 .byline-share {
 background: var(--red);
 color: #fff;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 10px;
 font-weight: 600;
 letter-spacing: 0.5px;
 padding: 5px 10px;
 border-radius: 2px;
 white-space: nowrap;
 }

 /* ===== HERO IMAGE BLOCK ===== */
 .hero-graphic {
 background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
 border: 2px solid var(--black);
 padding: 24px 20px;
 margin-bottom: 18px;
 position: relative;
 overflow: hidden;
 }
 .hero-graphic::before {
 content: '';
 position: absolute;
 top: -30px; right: -30px;
 width: 120px; height: 120px;
 background: radial-gradient(circle, rgba(200,16,46,0.3), transparent 70%);
 border-radius: 50%;
 }
 .hero-amount {
 font-family: 'Oswald', sans-serif;
 font-size: 52px;
 font-weight: 700;
 color: #fff;
 line-height: 1;
 text-align: center;
 margin-bottom: 4px;
 text-shadow: 0 0 30px rgba(200,16,46,0.6);
 }
 .hero-amount-label {
 color: var(--gold);
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 font-weight: 600;
 letter-spacing: 2px;
 text-transform: uppercase;
 text-align: center;
 margin-bottom: 16px;
 }
 .hero-stats {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 10px;
 }
 .hero-stat {
 background: rgba(255,255,255,0.07);
 border: 1px solid rgba(255,255,255,0.12);
 padding: 10px;
 text-align: center;
 }
 .hero-stat-num {
 font-family: 'Oswald', sans-serif;
 font-size: 22px;
 font-weight: 700;
 color: #fff;
 line-height: 1;
 }
 .hero-stat-label {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 10px;
 color: #aaa;
 margin-top: 3px;
 letter-spacing: 0.5px;
 }
 .caption {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 10px;
 color: var(--muted);
 text-align: center;
 margin-top: 8px;
 font-style: italic;
 }

 /* ===== ARTICLE BODY ===== */
 .body-text {
 font-size: 15px;
 line-height: 1.75;
 color: var(--text);
 margin-bottom: 14px;
 }
 .body-text strong { color: var(--black); }

 .pull-quote {
 background: var(--cream);
 border-left: 4px solid var(--red);
 border-right: 4px solid var(--red);
 margin: 20px 0;
 padding: 16px 18px;
 text-align: center;
 }
 .pull-quote-text {
 font-family: 'Playfair Display', serif;
 font-size: 18px;
 font-style: italic;
 line-height: 1.4;
 color: var(--black);
 margin-bottom: 6px;
 }
 .pull-quote-attr {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 11px;
 color: var(--muted);
 letter-spacing: 0.5px;
 }

 .highlight-box {
 background: #fff8f0;
 border: 1.5px solid var(--gold);
 padding: 14px 16px;
 margin: 18px 0;
 }
 .highlight-box-title {
 font-family: 'Oswald', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 2px;
 color: var(--gold);
 text-transform: uppercase;
 margin-bottom: 8px;
 }
 .highlight-box ul {
 list-style: none;
 padding: 0;
 }
 .highlight-box li {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 13px;
 color: var(--ink);
 padding: 5px 0;
 border-bottom: 1px solid rgba(201,168,76,0.2);
 display: flex;
 align-items: flex-start;
 gap: 8px;
 }
 .highlight-box li:last-child { border-bottom: none; }
 .highlight-box li::before {
 content: '✓';
 color: var(--green);
 font-weight: 700;
 flex-shrink: 0;
 margin-top: 1px;
 }

 .divider {
 display: flex;
 align-items: center;
 gap: 10px;
 margin: 20px 0;
 }
 .divider-line { flex: 1; height: 1px; background: #ddd; }
 .divider-icon { color: var(--red); font-size: 14px; }

 /* ===== QUIZ SECTION ===== */
 #quiz-section {
 background: var(--black);
 margin: 0 -16px;
 padding: 24px 20px;
 }

 .quiz-header {
 text-align: center;
 margin-bottom: 20px;
 }
 .quiz-eyebrow {
 font-family: 'Oswald', sans-serif;
 font-size: 10px;
 font-weight: 700;
 letter-spacing: 2.5px;
 color: var(--red);
 text-transform: uppercase;
 margin-bottom: 8px;
 }
 .quiz-title {
 font-family: 'Playfair Display', serif;
 font-size: 26px;
 font-weight: 900;
 color: #fff;
 line-height: 1.2;
 margin-bottom: 8px;
 }
 .quiz-subtitle {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 16px;
 color: #aaa;
 line-height: 1.6;
 }

 .quiz-progress {
 display: flex;
 gap: 6px;
 margin-bottom: 20px;
 }
 .quiz-progress-step {
 flex: 1;
 height: 3px;
 background: #333;
 border-radius: 2px;
 transition: background 0.4s;
 }
 .quiz-progress-step.active { background: var(--red); }
 .quiz-progress-step.done { background: var(--green); }

 .quiz-card {
 background: #fff;
 padding: 20px 18px;
 border-radius: 2px;
 display: none;
 animation: fadeUp 0.4s ease;
 }
 .quiz-card.active { display: block; }
 @keyframes fadeUp {
 from { opacity: 0; transform: translateY(16px); }
 to { opacity: 1; transform: translateY(0); }
 }

 .quiz-question-num {
 font-family: 'Oswald', sans-serif;
 font-size: 13px;
 font-weight: 700;
 letter-spacing: 2px;
 color: var(--red);
 text-transform: uppercase;
 margin-bottom: 10px;
 }
 .quiz-question {
 font-family: 'Playfair Display', serif;
 font-size: 22px;
 font-weight: 700;
 color: var(--black);
 line-height: 1.35;
 margin-bottom: 20px;
 }

 .quiz-options {
 display: flex;
 flex-direction: column;
 gap: 10px;
 }
 .quiz-option {
 display: flex;
 align-items: center;
 gap: 14px;
 background: var(--paper);
 border: 2px solid #e0ddd5;
 padding: 18px 16px;
 cursor: pointer;
 transition: all 0.2s;
 border-radius: 2px;
 -webkit-tap-highlight-color: transparent;
 }
 .quiz-option:active, .quiz-option.selected {
 border-color: var(--red);
 background: #fff5f5;
 }
 .quiz-option-icon {
 width: 40px;
 height: 40px;
 background: var(--cream);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 20px;
 flex-shrink: 0;
 transition: all 0.2s;
 }
 .quiz-option.selected .quiz-option-icon {
 background: var(--red);
 }
 .quiz-option-text {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 18px;
 font-weight: 700;
 color: var(--ink);
 line-height: 1.3;
 }
 .quiz-option-sub {
 font-size: 14px;
 color: var(--muted);
 font-weight: 400;
 margin-top: 3px;
 }

 .quiz-btn {
 width: 100%;
 background: var(--red);
 color: #fff;
 font-family: 'Oswald', sans-serif;
 font-size: 20px;
 font-weight: 700;
 letter-spacing: 1px;
 text-transform: uppercase;
 border: none;
 padding: 20px;
 margin-top: 20px;
 cursor: pointer;
 border-radius: 2px;
 transition: background 0.2s;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 }
 .quiz-btn:active { background: var(--dark-red); }
 .quiz-btn:disabled { background: #999; cursor: not-allowed; }

 /* ===== CONGRATS PAGE ===== */
 #congrats-section {
 display: none;
 padding: 0 0 40px;
 animation: fadeUp 0.5s ease;
 }

 .congrats-hero {
 background: linear-gradient(160deg, var(--success) 0%, #0a3d20 100%);
 padding: 32px 20px 24px;
 text-align: center;
 position: relative;
 overflow: hidden;
 }
 .congrats-hero::after {
 content: '';
 position: absolute;
 bottom: -20px; left: 50%;
 transform: translateX(-50%);
 width: 0; height: 0;
 border-left: 24px solid transparent;
 border-right: 24px solid transparent;
 border-top: 20px solid #0a3d20;
 }
 .confetti-emojis {
 font-size: 28px;
 letter-spacing: 4px;
 margin-bottom: 12px;
 animation: bounce 0.8s ease infinite alternate;
 }
 @keyframes bounce {
 from { transform: translateY(0); }
 to { transform: translateY(-6px); }
 }
 .congrats-badge {
 display: inline-block;
 background: var(--gold);
 color: var(--black);
 font-family: 'Oswald', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 2px;
 padding: 5px 16px;
 margin-bottom: 14px;
 }
 .congrats-headline {
 font-family: 'Playfair Display', serif;
 font-size: 28px;
 font-weight: 900;
 color: #fff;
 line-height: 1.15;
 margin-bottom: 10px;
 }
 .congrats-sub {
 font-family: 'Source Serif 4', serif;
 font-size: 15px;
 color: rgba(255,255,255,0.85);
 line-height: 1.5;
 }

 .congrats-body {
 padding: 40px 20px 0;
 max-width: 480px;
 margin: 0 auto;
 }

 .approval-card {
 background: #fff;
 border: 1.5px solid #e0e0e0;
 box-shadow: 0 4px 20px rgba(0,0,0,0.08);
 padding: 22px 18px;
 margin-bottom: 20px;
 position: relative;
 }
 .approval-stamp {
 position: absolute;
 top: -12px; right: 16px;
 background: var(--green);
 color: #fff;
 font-family: 'Oswald', sans-serif;
 font-size: 10px;
 font-weight: 700;
 letter-spacing: 1.5px;
 padding: 4px 12px;
 }
 .approval-title {
 font-family: 'Oswald', sans-serif;
 font-size: 12px;
 font-weight: 700;
 letter-spacing: 2px;
 color: var(--muted);
 text-transform: uppercase;
 margin-bottom: 10px;
 }
 .approval-row {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 8px 0;
 border-bottom: 1px dashed #eee;
 }
 .approval-row:last-child { border-bottom: none; }
 .approval-label {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 13px;
 color: var(--muted);
 }
 .approval-value {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 13px;
 font-weight: 700;
 color: var(--ink);
 }
 .approval-value.green { color: var(--green); }

 .cta-block {
 background: var(--black);
 padding: 24px 20px;
 text-align: center;
 margin-bottom: 20px;
 }
 .cta-urgency {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 color: var(--gold);
 letter-spacing: 1px;
 text-transform: uppercase;
 margin-bottom: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px;
 }
 .cta-urgency::before, .cta-urgency::after {
 content: '';
 width: 30px; height: 1px;
 background: var(--gold);
 opacity: 0.4;
 }
 .cta-headline {
 font-family: 'Playfair Display', serif;
 font-size: 21px;
 font-weight: 700;
 color: #fff;
 line-height: 1.3;
 margin-bottom: 6px;
 }
 .cta-body {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 13px;
 color: #bbb;
 line-height: 1.5;
 margin-bottom: 20px;
 }

 .phone-btn {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 12px;
 background: var(--green);
 color: #fff;
 text-decoration: none;
 padding: 18px 20px;
 border-radius: 3px;
 margin-bottom: 10px;
 transition: background 0.2s;
 -webkit-tap-highlight-color: transparent;
 }
 .phone-btn:active { background: #155d2f; }
 .phone-icon {
 width: 36px; height: 36px;
 background: rgba(255,255,255,0.2);
 border-radius: 50%;
 display: flex; align-items: center; justify-content: center;
 font-size: 18px;
 animation: ring 2s ease-in-out infinite;
 }
 @keyframes ring {
 0%, 100% { transform: rotate(0); }
 10% { transform: rotate(-15deg); }
 20% { transform: rotate(15deg); }
 30% { transform: rotate(-10deg); }
 40% { transform: rotate(10deg); }
 50% { transform: rotate(0); }
 }
 .phone-btn-text {}
 .phone-btn-label {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 opacity: 0.85;
 font-weight: 600;
 text-align: left;
 }
 .phone-btn-number {
 font-family: 'Oswald', sans-serif;
 font-size: 22px;
 font-weight: 700;
 letter-spacing: 1px;
 text-align: left;
 }
 .cta-availability {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 12px;
 color: #888;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px;
 }
 .online-dot {
 width: 8px; height: 8px;
 background: #4caf50;
 border-radius: 50%;
 animation: pulse-green 1.5s ease-in-out infinite;
 }
 @keyframes pulse-green {
 0%, 100% { box-shadow: 0 0 0 0 rgba(76,175,80,0.5); }
 50% { box-shadow: 0 0 0 5px rgba(76,175,80,0); }
 }

 .testimonials {
 padding: 0 20px;
 margin-bottom: 20px;
 }
 .testimonials-title {
 font-family: 'Oswald', sans-serif;
 font-size: 11px;
 font-weight: 700;
 letter-spacing: 2px;
 color: var(--muted);
 text-transform: uppercase;
 text-align: center;
 margin-bottom: 14px;
 display: flex;
 align-items: center;
 gap: 8px;
 }
 .testimonials-title::before, .testimonials-title::after {
 content: ''; flex: 1; height: 1px; background: #ddd;
 }
 .testimonial-card {
 background: var(--cream);
 border-left: 3px solid var(--gold);
 padding: 14px 16px;
 margin-bottom: 10px;
 }
 .testimonial-stars { color: var(--gold); font-size: 13px; margin-bottom: 6px; }
 .testimonial-text {
 font-family: 'Source Serif 4', serif;
 font-size: 13px;
 font-style: italic;
 color: var(--ink);
 line-height: 1.5;
 margin-bottom: 8px;
 }
 .testimonial-name {
 font-family: 'Source Sans 3', sans-serif;
 font-size: 11px;
 font-weight: 700;
 color: var(--muted);
 text-transform: uppercase;
 letter-spacing: 0.5px;
 }

 .disclaimer {
 padding: 16px 20px;
 border-top: 1px solid #ddd;
 font-family: 'Source Sans 3', sans-serif;
 font-size: 10px;
 color: #aaa;
 line-height: 1.6;
 text-align: center;
 }

 /* ===== MORE ARTICLE CONTENT ===== */
 .more-article {
 padding: 0 16px;
 max-width: 480px;
 margin: 0 auto;
 }

 /* Quiz CTA teaser */
 .quiz-teaser {
 background: var(--red);
 margin: 0 -16px;
 padding: 20px;
 text-align: center;
 margin-bottom: 0;
 }
 .quiz-teaser-eyebrow {
 font-family: 'Oswald', sans-serif;
 font-size: 10px;
 font-weight: 700;
 letter-spacing: 2px;
 color: rgba(255,255,255,0.7);
 text-transform: uppercase;
 margin-bottom: 6px;
 }
 .quiz-teaser-text {
 font-family: 'Playfair Display', serif;
 font-size: 19px;
 font-weight: 700;
 color: #fff;
 line-height: 1.3;
 margin-bottom: 12px;
 }
 .quiz-teaser-btn {
 display: inline-block;
 background: #fff;
 color: var(--red);
 font-family: 'Oswald', sans-serif;
 font-size: 14px;
 font-weight: 700;
 letter-spacing: 1px;
 padding: 13px 28px;
 border-radius: 2px;
 cursor: pointer;
 border: none;
 -webkit-tap-highlight-color: transparent;
 }
