Pasted text(482).txt
Document
we need to make the links and text smaller so we can fit more links on the page just like citizens free press 

Absolutely. Citizens Free Press works because it's dense. There are very few images, very little wasted whitespace, and the headlines are the focus.

Looking at your screenshot, the biggest space wasters are:

Headline font is about 30-40% too large
Too much padding between stories
Summary text is too large
Line-height is too generous
Source label has too much margin
Large section spacing

I'd change the homepage CSS to something more like this.

/* Story spacing */
.fn-headline-item{
    padding: .75rem 0;
    border-bottom:1px solid var(--fn-border);
}

/* Source */
.fn-headline-source{
    font-size:.60rem;
    letter-spacing:.14em;
    margin-bottom:.15rem;
}

/* Headlines */
.fn-headline-item h3{
    margin:.1rem 0 .3rem;
    font-size:clamp(1.15rem,2vw,1.65rem);
    line-height:1.1;
    font-weight:700;
}

/* Summary */
.fn-headline-summary{
    font-size:.88rem;
    line-height:1.45;
    color:var(--fn-muted);
    max-width:900px;
}

/* Section padding */
.fn-headline-section{
    padding:2rem 1rem;
}

I'd also shrink the section header.

.fn-headline-section-heading{
    padding-bottom:.75rem;
}

.fn-headline-section-heading h2{
    font-size:clamp(1.7rem,3vw,2.5rem);
}
I'd actually go one step further

Personally, I think Freedom News would look much more like a real news wire if each headline looked like this:

SOURCE: FREEDOM NEWS

Justice Requires Respect for Victims:
Should the Judge Have Intervened?

A Freedom News editorial examining whether courtroom
arguments crossed the line...

---------------------------------------------------------

SOURCE: REUTERS

Congress Passes...

Short summary...

---------------------------------------------------------

Notice:

only 8-10px between stories
smaller headline
tighter line spacing
summaries around 14px
fits almost twice as many stories without scrolling
I'd also remove underlines

Instead of this:

Justice Requires Respect for Victims:
Should the Judge Have Intervened?

I'd do:

.fn-headline-item h3 a{
    text-decoration:none;
}

.fn-headline-item h3 a:hover{
    color:var(--fn-red);
}

That immediately makes it feel more like Citizens Free Press, Drudge Report, or AP.

My biggest recommendation

I'd redesign the page to be 90% headlines instead of a magazine layout.

Think:

15–25 headlines visible immediately
Freedom News Originals pinned at the top
Then a nonstop feed of headlines
Monthly magazine moved almost to the bottom
Very little vertical whitespace

That style encourages readers to keep scrolling and clicking, which is exactly why Citizens Free Press gets so much engagement. It also makes Freedom News feel like a live, constantly updated news source instead of a monthly newsletter.

The CSS you shared is in your uploaded stylesheet.

looks a little generic 
ok lets go with your idea then 

I rebuilt the homepage styling into the Freedom News newspaper/wire design:

Cream paper background instead of generic black
Large historic newspaper masthead
Black headlines with dark-red accents
Compact headline rows so many more stories fit
Dedicated ★ ORIGINAL badge for Freedom News editorials
Source names placed in a narrow left column
Newspaper rules and dividers
Tighter summaries and spacing
Responsive mobile layout
The monthly edition remains dark and visually separate

Replace your current assets/css/freedom-news.css with this file:

freedom-news-newspaper.css

The new rules are added at the bottom as overrides, so they should work with your existing homepage HTML without requiring you to rebuild the page structure. 

i need the copy paste code heres our current css /* Story spacing */
.fn-headline-item{
    padding: .75rem 0;
    border-bottom:1px solid var(--fn-border);
}

/* Source */
.fn-headline-source{
    font-size:.60rem;
    letter-spacing:.14em;
    margin-bottom:.15rem;
}

/* Headlines */
.fn-headline-item h3{
    margin:.1rem 0 .3rem;
    font-size:clamp(1.15rem,2vw,1.65rem);
    line-height:1.1;
    font-weight:700;
}

/* Summary */
.fn-headline-summary{
    font-size:.88rem;
    line-height:1.45;
    color:var(--fn-muted);
    max-width:900px;
}

/* Section padding */
.fn-headline-section{
    padding:2rem 1rem;
}

Replace the CSS you pasted with this entire block:

/* =========================================================
   FREEDOM NEWS — NEWSPAPER HEADLINE FEED
   Replace your current headline CSS with this block
========================================================= */

/* Main headline section */
.fn-headline-section {
  padding: 1rem 1rem 2.5rem;
  background: #f4ecd9;
  color: #17130e;
}

/* Keep the feed wide enough for a news-site appearance */
.fn-headline-section-heading,
.fn-headline-feed {
  width: min(1120px, 100%);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

/* Latest Headlines header */
.fn-headline-section-heading {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.6rem 0;
  border-top: 3px solid #17130e;
  border-bottom: 1px solid #17130e;
}

/* Red Freedom News Wire label */
.fn-headline-section-heading::before {
  content: "FREEDOM NEWS WIRE";
  padding: 0.3rem 0.55rem;
  background: #8b1e1e;
  color: #fff8e8;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

/* Updated throughout the day text */
.fn-headline-section-heading::after {
  content: "UPDATED THROUGHOUT THE DAY";
  color: #655846;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* Hide the old label above Latest Headlines */
.fn-headline-section-heading .fn-section-label {
  display: none;
}

/* Latest Headlines title */
.fn-headline-section-heading h2 {
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

/* Bottom newspaper rule */
.fn-headline-feed {
  border-bottom: 3px double #17130e;
}

/* Individual story row */
.fn-headline-item {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(23, 19, 14, 0.24);
}

/* Source label */
.fn-headline-source {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0.12rem 0 0;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.57rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Headline */
.fn-headline-item h3 {
  grid-column: 2;
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.08rem, 1.8vw, 1.38rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.012em;
}

/* Headline link */
.fn-headline-item h3 a {
  color: #17130e;
  text-decoration: none;
}

/* Small arrow appearing on hover */
.fn-headline-item h3 a::after {
  content: "  ›";
  color: #8b1e1e;
  font-size: 0.82em;
  opacity: 0;
  transition: opacity 0.15s ease;
}

/* Headline hover */
.fn-headline-item h3 a:hover {
  color: #8b1e1e;
}

.fn-headline-item h3 a:hover::after {
  opacity: 1;
}

/* Story summary */
.fn-headline-summary {
  grid-column: 2;
  max-width: 900px;
  margin: 0.18rem 0 0;
  color: #625746;
  font-size: 0.79rem;
  line-height: 1.38;
}

/* =========================================================
   FREEDOM NEWS ORIGINAL / EDITORIAL STORY
========================================================= */

.fn-headline-original {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  margin: 0;
  padding: 0.9rem 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #17130e;
  box-shadow: none;
}

/* Original badge */
.fn-headline-original::before {
  content: "★ ORIGINAL";
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  width: fit-content;
  margin-top: 0.08rem;
  padding: 0.28rem 0.42rem;
  background: #8b1e1e;
  color: #fff8e8;
  font-family: var(--fn-mono);
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

/* Source inside original story */
.fn-headline-original .fn-headline-source {
  grid-column: 2;
  grid-row: auto;
  margin: 0 0 0.18rem;
  color: #8b1e1e;
}

/* Original story headline */
.fn-headline-original h3 {
  grid-column: 2;
  margin: 0;
  font-family: var(--fn-serif);
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  line-height: 1.04;
}

/* Original story summary */
.fn-headline-original .fn-headline-summary {
  grid-column: 2;
  max-width: 930px;
  margin-top: 0.28rem;
  color: #514737;
  font-size: 0.84rem;
  line-height: 1.4;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 760px) {
  .fn-headline-section {
    padding: 0.8rem 0.8rem 1.8rem;
  }

  .fn-headline-section-heading {
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
  }

  .fn-headline-section-heading::before {
    display: none;
  }

  .fn-headline-section-heading::after {
    font-size: 0.48rem;
  }

  .fn-headline-section-heading h2 {
    font-size: 1.32rem;
  }

  .fn-headline-item,
  .fn-headline-original {
    grid-template-columns: 1fr;
    padding: 0.68rem 0;
  }

  .fn-headline-source,
  .fn-headline-original .fn-headline-source {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.18rem;
  }

  .fn-headline-original::before {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.28rem;
  }

  .fn-headline-item h3,
  .fn-headline-original h3,
  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    grid-column: 1;
  }

  .fn-headline-item h3 {
    font-size: 1.08rem;
  }

  .fn-headline-original h3 {
    font-size: 1.25rem;
  }

  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    font-size: 0.75rem;
  }
}

This gives you the compact Citizens Free Press-style density, but with the cream, black, and dark-red Freedom News newspaper identity.

this is getting better but the top is wanting 

The headline feed looks much better now. The top masthead is the weak part—it still looks like plain default text on a black box.

Replace your current masthead/header CSS with this:

/* =========================================================
   FREEDOM NEWS — NEWSPAPER MASTHEAD
========================================================= */

.fn-simple-header {
  padding: 0.55rem 1rem;
  background: #17130e;
  border-bottom: 1px solid rgba(255, 248, 232, 0.18);
}

.fn-home-link {
  color: #d6b36a;
  font-family: var(--fn-mono);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-home-link:hover {
  color: #fff8e8;
}

/* Main newspaper masthead */
.fn-news-masthead {
  padding: 1.2rem 1rem 0.9rem;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(62, 43, 19, 0.018) 0,
      rgba(62, 43, 19, 0.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #f4ecd9;
  color: #17130e;
  text-align: center;
  border-top: 5px solid #17130e;
  border-bottom: 4px double #17130e;
}

.fn-news-masthead-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

/* Small text above the title */
.fn-news-eyebrow {
  margin: 0 0 0.4rem;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* Freedom News title */
.fn-news-masthead h1 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 1rem;
  color: #17130e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.6rem, 8vw, 6.8rem);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.065em;
  text-transform: uppercase;
}

/* Decorative stars */
.fn-news-masthead h1::before,
.fn-news-masthead h1::after {
  position: absolute;
  top: 50%;
  color: #8b1e1e;
  font-size: 1.1rem;
  transform: translateY(-50%);
}

.fn-news-masthead h1::before {
  content: "★";
  right: 100%;
}

.fn-news-masthead h1::after {
  content: "★";
  left: 100%;
}

/* Tagline */
.fn-news-tagline {
  margin: 0.7rem auto 0.65rem;
  color: #514737;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.9rem, 1.8vw, 1.12rem);
  font-style: italic;
  line-height: 1.4;
}

/* Date / update line generated below tagline */
.fn-news-masthead-inner::after {
  content: "INDEPENDENT NEWS • HISTORY • AMERICAN HERITAGE";
  display: block;
  margin: 0.35rem 0 0.7rem;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Navigation */
.fn-news-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(23, 19, 14, 0.45);
}

.fn-news-nav a {
  position: relative;
  padding: 0 0.85rem;
  color: #17130e;
  font-family: var(--fn-mono);
  font-size: 0.63rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-news-nav a:not(:last-child)::after {
  content: "•";
  position: absolute;
  right: -0.12rem;
  color: #8b1e1e;
}

.fn-news-nav a:hover {
  color: #8b1e1e;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Remove any unwanted dark masthead styling */
.freedom-news-page > .fn-news-masthead {
  color: #17130e;
  background-color: #f4ecd9;
}

/* =========================================================
   MOBILE MASTHEAD
========================================================= */

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 1rem 0.75rem 0.8rem;
  }

  .fn-news-masthead h1 {
    padding: 0 0.35rem;
    font-size: clamp(2.7rem, 15vw, 4.2rem);
  }

  .fn-news-masthead h1::before,
  .fn-news-masthead h1::after {
    display: none;
  }

  .fn-news-tagline {
    font-size: 0.84rem;
  }

  .fn-news-masthead-inner::after {
    font-size: 0.48rem;
    letter-spacing: 0.09em;
  }

  .fn-news-nav {
    gap: 0.3rem 0;
  }

  .fn-news-nav a {
    padding: 0 0.48rem;
    font-size: 0.57rem;
  }
}

That should turn the top from this plain black website header into a proper newspaper masthead:

★ FREEDOM NEWS ★

One page. The stories everyone is talking about.

INDEPENDENT NEWS • HISTORY • AMERICAN HERITAGE

It will also make the navigation look like an actual newspaper category bar rather than a row of default blue links.

exactly what am i replacing 

Replace only the masthead/header section of your CSS.

In your current file, find the section that starts with:

/* ------------------------------
   Masthead
------------------------------ */

Then delete everything from there down through the end of this rule:

.fn-news-nav a:hover {
  color: var(--fn-gold-soft);
  text-decoration: underline;
  text-underline-offset: 5px;
}

So you are replacing these existing selectors:

.fn-news-masthead
.fn-news-masthead-inner
.fn-news-eyebrow
.fn-news-masthead h1
.fn-news-tagline
.fn-news-nav
.fn-news-nav a
.fn-news-nav a:hover

Do not delete your headline feed CSS below:

/* ------------------------------
   Latest Headlines
------------------------------ */

Also, separately replace your existing simple top-header rules:

.fn-simple-header
.fn-home-link
.fn-home-link:hover,
.fn-home-link:focus

with the new .fn-simple-header and .fn-home-link rules I gave you.

The safest method is:

Delete the old Simple Freedom News Header CSS block.
Delete the old Masthead CSS block.
Paste the new masthead code at the very bottom of your CSS file.

Pasting it at the bottom will also override older rules you accidentally leave behind.

/* =========================================================
   FREEDOM NEWS — NEWSPAPER HEADLINE FEED
   Replace your current headline CSS with this block
========================================================= */

/* Main headline section */
.fn-headline-section {
  padding: 1rem 1rem 2.5rem;
  background: #f4ecd9;
  color: #17130e;
}

/* Keep the feed wide enough for a news-site appearance */
.fn-headline-section-heading,
.fn-headline-feed {
  width: min(1120px, 100%);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

/* Latest Headlines header */
.fn-headline-section-heading {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.6rem 0;
  border-top: 3px solid #17130e;
  border-bottom: 1px solid #17130e;
}

/* Red Freedom News Wire label */
.fn-headline-section-heading::before {
  content: "FREEDOM NEWS WIRE";
  padding: 0.3rem 0.55rem;
  background: #8b1e1e;
  color: #fff8e8;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

/* Updated throughout the day text */
.fn-headline-section-heading::after {
  content: "UPDATED THROUGHOUT THE DAY";
  color: #655846;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* Hide the old label above Latest Headlines */
.fn-headline-section-heading .fn-section-label {
  display: none;
}

/* Latest Headlines title */
.fn-headline-section-heading h2 {
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

/* Bottom newspaper rule */
.fn-headline-feed {
  border-bottom: 3px double #17130e;
}

/* Individual story row */
.fn-headline-item {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(23, 19, 14, 0.24);
}

/* Source label */
.fn-headline-source {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0.12rem 0 0;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.57rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Headline */
.fn-headline-item h3 {
  grid-column: 2;
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.08rem, 1.8vw, 1.38rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.012em;
}

/* Headline link */
.fn-headline-item h3 a {
  color: #17130e;
  text-decoration: none;
}

/* Small arrow appearing on hover */
.fn-headline-item h3 a::after {
  content: "  ›";
  color: #8b1e1e;
  font-size: 0.82em;
  opacity: 0;
  transition: opacity 0.15s ease;
}

/* Headline hover */
.fn-headline-item h3 a:hover {
  color: #8b1e1e;
}

.fn-headline-item h3 a:hover::after {
  opacity: 1;
}

/* Story summary */
.fn-headline-summary {
  grid-column: 2;
  max-width: 900px;
  margin: 0.18rem 0 0;
  color: #625746;
  font-size: 0.79rem;
  line-height: 1.38;
}

/* =========================================================
   FREEDOM NEWS ORIGINAL / EDITORIAL STORY
========================================================= */

.fn-headline-original {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  margin: 0;
  padding: 0.9rem 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #17130e;
  box-shadow: none;
}

/* Original badge */
.fn-headline-original::before {
  content: "★ ORIGINAL";
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  width: fit-content;
  margin-top: 0.08rem;
  padding: 0.28rem 0.42rem;
  background: #8b1e1e;
  color: #fff8e8;
  font-family: var(--fn-mono);
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

/* Source inside original story */
.fn-headline-original .fn-headline-source {
  grid-column: 2;
  grid-row: auto;
  margin: 0 0 0.18rem;
  color: #8b1e1e;
}

/* Original story headline */
.fn-headline-original h3 {
  grid-column: 2;
  margin: 0;
  font-family: var(--fn-serif);
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  line-height: 1.04;
}

/* Original story summary */
.fn-headline-original .fn-headline-summary {
  grid-column: 2;
  max-width: 930px;
  margin-top: 0.28rem;
  color: #514737;
  font-size: 0.84rem;
  line-height: 1.4;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 760px) {
  .fn-headline-section {
    padding: 0.8rem 0.8rem 1.8rem;
  }

  .fn-headline-section-heading {
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
  }

  .fn-headline-section-heading::before {
    display: none;
  }

  .fn-headline-section-heading::after {
    font-size: 0.48rem;
  }

  .fn-headline-section-heading h2 {
    font-size: 1.32rem;
  }

  .fn-headline-item,
  .fn-headline-original {
    grid-template-columns: 1fr;
    padding: 0.68rem 0;
  }

  .fn-headline-source,
  .fn-headline-original .fn-headline-source {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.18rem;
  }

  .fn-headline-original::before {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.28rem;
  }

  .fn-headline-item h3,
  .fn-headline-original h3,
  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    grid-column: 1;
  }

  .fn-headline-item h3 {
    font-size: 1.08rem;
  }

  .fn-headline-original h3 {
    font-size: 1.25rem;
  }

  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    font-size: 0.75rem;
  }
}

Yes—that is the headline feed block you already added. Leave that exactly where it is.

Now add the masthead styling below that entire block, after the final closing brace:

}

Paste this underneath it:

/* =========================================================
   FREEDOM NEWS — NEWSPAPER MASTHEAD
   Paste this below the headline feed CSS
========================================================= */

.fn-simple-header {
  padding: 0.55rem 1rem;
  background: #17130e;
  border-bottom: 1px solid rgba(255, 248, 232, 0.18);
}

.fn-home-link {
  color: #d6b36a;
  font-family: var(--fn-mono);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-home-link:hover,
.fn-home-link:focus {
  color: #fff8e8;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.fn-news-masthead {
  padding: 1.2rem 1rem 0.9rem;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(62, 43, 19, 0.018) 0,
      rgba(62, 43, 19, 0.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #f4ecd9;
  color: #17130e;
  text-align: center;
  border-top: 5px solid #17130e;
  border-bottom: 4px double #17130e;
}

.fn-news-masthead-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.fn-news-eyebrow {
  margin: 0 0 0.4rem;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.fn-news-masthead h1 {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 1rem;
  color: #17130e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.6rem, 8vw, 6.8rem);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.065em;
  text-transform: uppercase;
}

.fn-news-masthead h1::before,
.fn-news-masthead h1::after {
  position: absolute;
  top: 50%;
  color: #8b1e1e;
  font-size: 1.1rem;
  transform: translateY(-50%);
}

.fn-news-masthead h1::before {
  content: "★";
  right: 100%;
}

.fn-news-masthead h1::after {
  content: "★";
  left: 100%;
}

.fn-news-tagline {
  margin: 0.7rem auto 0.65rem;
  color: #514737;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.9rem, 1.8vw, 1.12rem);
  font-style: italic;
  line-height: 1.4;
}

.fn-news-masthead-inner::after {
  content: "INDEPENDENT NEWS • HISTORY • AMERICAN HERITAGE";
  display: block;
  margin: 0.35rem 0 0.7rem;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fn-news-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(23, 19, 14, 0.45);
}

.fn-news-nav a {
  position: relative;
  padding: 0 0.85rem;
  color: #17130e;
  font-family: var(--fn-mono);
  font-size: 0.63rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-news-nav a:not(:last-child)::after {
  content: "•";
  position: absolute;
  right: -0.12rem;
  color: #8b1e1e;
}

.fn-news-nav a:hover,
.fn-news-nav a:focus {
  color: #8b1e1e;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 1rem 0.75rem 0.8rem;
  }

  .fn-news-masthead h1 {
    padding: 0 0.35rem;
    font-size: clamp(2.7rem, 15vw, 4.2rem);
  }

  .fn-news-masthead h1::before,
  .fn-news-masthead h1::after {
    display: none;
  }

  .fn-news-tagline {
    font-size: 0.84rem;
  }

  .fn-news-masthead-inner::after {
    font-size: 0.48rem;
    letter-spacing: 0.09em;
  }

  .fn-news-nav a {
    padding: 0 0.48rem;
    font-size: 0.57rem;
  }
}

So the order at the bottom of your file should be:

/* NEWSPAPER HEADLINE FEED */
...your current block...

/* NEWSPAPER MASTHEAD */
...the new block above...

You do not need to remove the headline code you just pasted. The masthead code is an additional section.

ok we have to start over give me the entire competed css instead of blocks
Worked for 12s

Yes. Replace the entire contents of your current assets/css/freedom-news.css file with this completed stylesheet:

freedom-news-newspaper.css

This is the full file—not an extra block. Delete everything currently inside freedom-news.css, paste the contents of this file in its place, save, and refresh the page with:

Ctrl + Shift + R

The file includes:

The Freedom News homepage
Newspaper-style masthead
Compact headline wire
Freedom News Original badge
Mobile formatting
Newsletter issue-page styling
Images, cards, archive, subscription form, and monthly-edition styling

Library
/
freedom-news-newspaper.css
/* =========================================================
   Freedom News — Publication Styling
   File: /assets/css/freedom-news.css

   Used for:
   - /freedom-news.html
   - /newsletters/freedom-news-issue-001.html
   - future Freedom News editions

   Goal:
   Make Freedom News feel like its own rugged digital
   newspaper / field journal, separate from the main store.
========================================================= */


/* ------------------------------
   Freedom News Design System
------------------------------ */

:root {
  --fn-black: #101010;
  --fn-charcoal: #181818;
  --fn-navy: #111827;
  --fn-deep-navy: #0b1220;

  --fn-paper: #f6ead2;
  --fn-paper-light: #fff8e8;
  --fn-paper-dark: #e3cfaa;

  --fn-red: #8b1e1e;
  --fn-red-bright: #b12a2a;

  --fn-gold: #b8892f;
  --fn-gold-soft: #d6b36a;

  --fn-ink: #1d1b17;
  --fn-muted: #6e6252;

  --fn-border: rgba(89, 63, 28, 0.28);
  --fn-border-dark: rgba(246, 234, 210, 0.2);

  --fn-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
  --fn-soft-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);

  --fn-serif: Georgia, "Times New Roman", Times, serif;
  --fn-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fn-mono: "Courier New", Courier, monospace;
}


/* ------------------------------
   Page Reset / Wrapper
------------------------------ */

body {
  margin: 0;
}

/* ------------------------------
   Simple Freedom News Header
------------------------------ */

.fn-simple-header {
  padding: 1rem 1.25rem;
  background: #050505;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.fn-home-link {
  color: #fff;
  text-decoration: none;
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fn-home-link:hover,
.fn-home-link:focus {
  color: var(--fn-gold-soft);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.freedom-news-page {
  min-height: 100vh;
  color: var(--fn-ink);
  font-family: var(--fn-sans);
  background:
    radial-gradient(circle at top left, rgba(184, 137, 47, 0.16), transparent 30rem),
    radial-gradient(circle at top right, rgba(139, 30, 30, 0.16), transparent 28rem),
    linear-gradient(180deg, var(--fn-deep-navy) 0%, var(--fn-charcoal) 42%, var(--fn-paper) 42%, var(--fn-paper) 100%);
  overflow-x: hidden;
}

.freedom-news-page * {
  box-sizing: border-box;
}

.freedom-news-page a {
  color: inherit;
}


/* ------------------------------
   Shared Typography
------------------------------ */

.fn-kicker,
.fn-label,
.fn-card-kicker,
.fn-issue-number {
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.75rem;
  font-weight: 800;
}

.fn-kicker,
.fn-label,
.fn-card-kicker {
  color: var(--fn-gold-soft);
}

.fn-section-heading {
  max-width: 850px;
  margin: 0 auto 2.2rem;
  text-align: center;
}

.fn-section-heading h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.02;
  color: var(--fn-ink);
  margin: 0 0 1rem;
}

.fn-section-heading p {
  color: var(--fn-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0 auto;
}


/* ------------------------------
   Hero
------------------------------ */

.fn-hero {
  position: relative;
  isolation: isolate;
  padding: 5.5rem 1.25rem 4.5rem;
  color: var(--fn-paper-light);
  text-align: center;
  overflow: hidden;
}

.fn-hero::before {
  content: "FREEDOM NEWS";
  position: absolute;
  left: 50%;
  top: 1.25rem;
  transform: translateX(-50%);
  z-index: -1;
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4.5rem, 13vw, 13rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.fn-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(214, 179, 106, 0.8),
    transparent
  );
}

.fn-hero-inner {
  max-width: 950px;
  margin: 0 auto;
}

.fn-hero .fn-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fn-gold-soft);
  border: 1px solid rgba(214, 179, 106, 0.36);
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
  background: rgba(0, 0, 0, 0.18);
}

.fn-hero h1 {
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 10vw, 8.5rem);
  line-height: 0.85;
  letter-spacing: -0.075em;
  text-transform: uppercase;
  margin: 1.3rem 0 0;
  color: var(--fn-paper-light);
}

.fn-subtitle {
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--fn-gold-soft);
  font-weight: 900;
  font-size: clamp(0.95rem, 2vw, 1.25rem);
  margin: 1.25rem 0 1rem;
}

.fn-hero-copy {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(255, 248, 232, 0.86);
  font-size: 1.08rem;
  line-height: 1.8;
}

.fn-hero-actions,
.fn-latest-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.8rem;
}


/* ------------------------------
   Buttons
------------------------------ */

.fn-btn,
.fn-issue-card a,
.fn-signup-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.82rem 1.3rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--fn-mono);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

.fn-btn:hover,
.fn-issue-card a:hover,
.fn-signup-form button:hover {
  transform: translateY(-2px);
}

.fn-btn-primary,
.fn-signup-form button {
  background: var(--fn-red);
  color: #fff;
  box-shadow: 0 12px 28px rgba(139, 30, 30, 0.35);
}

.fn-btn-primary:hover,
.fn-signup-form button:hover {
  background: var(--fn-red-bright);
}

.fn-btn-secondary {
  background: rgba(255, 248, 232, 0.06);
  color: var(--fn-paper-light);
  border-color: rgba(255, 248, 232, 0.38);
}

.fn-btn-secondary:hover {
  border-color: var(--fn-gold-soft);
  background: rgba(255, 248, 232, 0.12);
}
.fn-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.25rem;
}

/* ------------------------------
   Latest Edition Feature
------------------------------ */

.fn-latest-wrap {
  padding: 0 1.25rem 4.5rem;
}

.fn-latest {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.75fr);
  gap: 1.35rem;
  align-items: stretch;
}

.fn-latest-main,
.fn-latest-card {
  border-radius: 30px;
  box-shadow: var(--fn-shadow);
}

.fn-latest-main {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 248, 232, 0.94), rgba(246, 234, 210, 0.98)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  padding: clamp(1.6rem, 4vw, 3.2rem);
}

.fn-latest-main::before {
  content: "LATEST EDITION";
  position: absolute;
  right: -1.3rem;
  top: 1.35rem;
  transform: rotate(10deg);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: rgba(139, 30, 30, 0.62);
  border: 2px solid rgba(139, 30, 30, 0.28);
  border-radius: 6px;
  padding: 0.45rem 1.4rem;
}

.fn-latest-main h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  margin: 0.25rem 0 0.65rem;
  color: var(--fn-ink);
}

.fn-latest-main h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  margin: 1.25rem 0 0.8rem;
}

.fn-latest-main p {
  color: var(--fn-ink);
  font-size: 1.05rem;
  line-height: 1.8;
}

.fn-latest-main .fn-issue-date {
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-weight: 800;
}

.fn-latest-main .fn-btn-secondary {
  color: var(--fn-ink);
  border-color: rgba(29, 27, 23, 0.25);
  background: rgba(29, 27, 23, 0.03);
}

.fn-latest-main .fn-btn-secondary:hover {
  border-color: var(--fn-gold);
  background: rgba(29, 27, 23, 0.07);
}

.fn-latest-card {
  background:
    linear-gradient(180deg, rgba(11, 18, 32, 0.97), rgba(24, 24, 24, 0.97)),
    var(--fn-deep-navy);
  border: 1px solid var(--fn-border-dark);
  padding: 2rem;
  color: var(--fn-paper-light);
}

.fn-latest-card ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.fn-latest-card li {
  border-top: 1px solid rgba(255, 248, 232, 0.13);
  padding: 0.85rem 0;
  line-height: 1.5;
  color: rgba(255, 248, 232, 0.88);
}

.fn-latest-card li::before {
  content: "★";
  color: var(--fn-gold-soft);
  margin-right: 0.5rem;
}


/* ------------------------------
   Content Blocks
------------------------------ */

.fn-content-block,
.fn-archive,
.fn-signup {
  padding: 4.5rem 1.25rem;
}

.fn-content-block {
  background:
    linear-gradient(180deg, var(--fn-paper) 0%, var(--fn-paper-light) 100%);
}

.fn-feature-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fn-feature-card,
.fn-issue-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.95), rgba(246, 234, 210, 0.95)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-feature-card::after,
.fn-issue-card::after {
  content: "";
  position: absolute;
  inset: 0.7rem;
  border: 1px solid rgba(89, 63, 28, 0.12);
  border-radius: 18px;
  pointer-events: none;
}

.fn-feature-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: var(--fn-deep-navy);
  color: var(--fn-gold-soft);
  font-family: var(--fn-mono);
  font-weight: 900;
  font-size: 0.82rem;
}

.fn-feature-card h3,
.fn-issue-card h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: 1.45rem;
  line-height: 1.1;
  margin: 0 0 0.7rem;
}

.fn-feature-card p,
.fn-issue-card p {
  color: var(--fn-muted);
  line-height: 1.7;
  margin-bottom: 0;
}


/* ------------------------------
   Archive
------------------------------ */

.fn-archive {
  background:
    radial-gradient(circle at top, rgba(184, 137, 47, 0.14), transparent 28rem),
    var(--fn-paper);
}

.fn-archive-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fn-issue-number {
  color: var(--fn-gold);
  margin: 0 0 0.7rem;
}

.fn-issue-card .fn-issue-date {
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.85rem;
  font-weight: 800;
}

.fn-issue-card a {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  background: var(--fn-deep-navy);
  color: #fff;
}

.fn-issue-card a:hover {
  background: var(--fn-red);
}


/* ------------------------------
   Subscribe
------------------------------ */

.fn-signup {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at center, rgba(184, 137, 47, 0.13), transparent 30rem),
    linear-gradient(180deg, var(--fn-deep-navy), var(--fn-black));
  color: var(--fn-paper-light);
  text-align: center;
  overflow: hidden;
}

.fn-signup::before {
  content: "JOIN THE LIST";
  position: absolute;
  left: 50%;
  top: 0.7rem;
  transform: translateX(-50%);
  z-index: -1;
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 12vw, 11rem);
  font-weight: 900;
  letter-spacing: -0.07em;
  color: rgba(255, 255, 255, 0.035);
}

.fn-signup-inner {
  max-width: 780px;
  margin: 0 auto;
}

.fn-signup h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
  margin: 0.4rem 0 1rem;
}

.fn-signup p {
  color: rgba(255, 248, 232, 0.84);
  line-height: 1.75;
  font-size: 1.05rem;
}

.fn-signup-form {
  display: flex;
  max-width: 620px;
  margin: 1.6rem auto 0;
  gap: 0.75rem;
}

.fn-signup-form input {
  flex: 1;
  min-height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(255, 248, 232, 0.34);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 0 1.1rem;
  font-size: 1rem;
}

.fn-signup-form input::placeholder {
  color: rgba(255, 248, 232, 0.62);
}

.fn-signup-form input:focus {
  outline: none;
  border-color: var(--fn-gold-soft);
  box-shadow: 0 0 0 4px rgba(214, 179, 106, 0.18);
}

.footer-news-message {
  margin-top: 1rem;
  font-weight: 800;
}

.footer-news-message.ok {
  color: #86efac;
}

.footer-news-message.error {
  color: #fca5a5;
}


/* =========================================================
   Individual Newsletter Edition Pages
   Use these classes on:
   /newsletters/freedom-news-issue-001.html
========================================================= */

.fn-issue-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(184, 137, 47, 0.16), transparent 30rem),
    linear-gradient(180deg, var(--fn-deep-navy) 0%, var(--fn-charcoal) 34%, var(--fn-paper) 34%, var(--fn-paper) 100%);
  color: var(--fn-ink);
  font-family: var(--fn-sans);
}

.fn-issue-hero {
  position: relative;
  padding: 5rem 1.25rem 3.5rem;
  text-align: center;
  color: var(--fn-paper-light);
  overflow: hidden;
}

.fn-issue-hero::before {
  content: "FREEDOM NEWS";
  position: absolute;
  left: 50%;
  top: 1rem;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 12vw, 12rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.fn-issue-hero-inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}

.fn-issue-hero h1 {
  font-family: var(--fn-serif);
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
  margin: 0.8rem 0 1rem;
}

.fn-issue-hero p {
  color: rgba(255, 248, 232, 0.84);
  line-height: 1.75;
  font-size: 1.07rem;
}

.fn-issue-hero-inner > p:not(.fn-issue-meta) {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.fn-issue-meta {
  font-family: var(--fn-mono);
  color: var(--fn-gold-soft);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 900;
}

.fn-issue-body {
  padding: 4rem 1.25rem;
  background: var(--fn-paper);
}

.fn-article-block,
.fn-callout,
.fn-product-spotlight,
.fn-quote-block,
.fn-two-column,
.fn-comparison-grid {
  max-width: 980px;
  margin: 0 auto 1.4rem;
}

.fn-article-block,
.fn-callout,
.fn-product-spotlight,
.fn-quote-block,
.fn-column-card,
.fn-comparison-card {
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 26px;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  box-shadow: var(--fn-soft-shadow);
}

.fn-article-block h2,
.fn-callout h2,
.fn-product-spotlight h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.03;
  letter-spacing: -0.035em;
  color: var(--fn-ink);
  margin: 0 0 1rem;
}

.fn-article-block h3,
.fn-product-spotlight h3,
.fn-column-card h3,
.fn-comparison-card h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: 1.55rem;
  margin: 1.4rem 0 0.65rem;
}

.fn-article-block p,
.fn-callout p,
.fn-product-spotlight p,
.fn-column-card p,
.fn-comparison-card p {
  color: var(--fn-ink);
  line-height: 1.85;
  font-size: 1.06rem;
}

.fn-callout {
  border-left: 8px solid var(--fn-red);
}

.fn-callout h2 {
  color: var(--fn-red);
}

.fn-quote-block blockquote {
  margin: 0;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1.35;
  font-weight: 800;
  color: var(--fn-ink);
}

.fn-quote-block cite {
  display: block;
  margin-top: 1rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 900;
}

.fn-two-column,
.fn-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.fn-product-spotlight {
  border-top: 8px solid var(--fn-gold);
}

.fn-issue-nav {
  max-width: 980px;
  margin: 2.25rem auto 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.fn-issue-nav a {
  flex: 1;
  text-align: center;
}

.fn-issue-nav .fn-btn-secondary {
  background: var(--fn-deep-navy);
  color: var(--fn-paper-light);
  border-color: var(--fn-deep-navy);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.fn-issue-nav .fn-btn-secondary:hover {
  background: var(--fn-charcoal);
  color: #fff;
  border-color: var(--fn-gold);
}

.fn-fact-list {
  margin: 1.2rem 0 0;
  padding-left: 1.35rem;
}

.fn-fact-list li {
  color: var(--fn-ink);
  line-height: 1.8;
  font-size: 1.04rem;
  margin-bottom: 1rem;
}

.fn-fact-list strong {
  color: var(--fn-red);
}

.fn-fact-list a {
  color: var(--fn-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fn-fact-list a:hover {
  color: var(--fn-red-bright);
}
.fn-article-block > a {
  display: inline-flex;
  margin-top: 0.75rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.fn-article-block > a:hover {
  color: var(--fn-red-bright);
}

/* ------------------------------
   Mobile
------------------------------ */

@media (max-width: 980px) {
  .fn-latest,
  .fn-feature-grid,
  .fn-archive-grid,
  .fn-two-column,
  .fn-comparison-grid {
    grid-template-columns: 1fr;
  }

  .fn-feature-grid,
  .fn-archive-grid {
    max-width: 640px;
  }
}

@media (max-width: 640px) {
  .fn-hero {
    padding: 4.5rem 1rem 3.5rem;
  }

  .fn-hero h1 {
    font-size: clamp(3.3rem, 18vw, 5rem);
  }

  .fn-hero-actions,
  .fn-latest-actions,
  .fn-signup-form,
  .fn-issue-nav {
    flex-direction: column;
  }

  .fn-btn,
  .fn-issue-card a,
  .fn-signup-form button {
    width: 100%;
  }

  .fn-latest-main,
  .fn-latest-card,
  .fn-feature-card,
  .fn-issue-card,
  .fn-article-block,
  .fn-callout,
  .fn-product-spotlight,
  .fn-quote-block,
  .fn-column-card,
  .fn-comparison-card {
    border-radius: 20px;
  }

  .fn-latest-main::before {
    display: none;
  }

  .fn-content-block,
  .fn-archive,
  .fn-signup,
  .fn-issue-body {
    padding: 3.25rem 1rem;
  }
}

.fn-archive-grid {
  justify-content: center;
}

.fn-archive-grid .fn-issue-card {
  max-width: 420px;
}
/* ------------------------------
   Newsletter Images
------------------------------ */

.fn-image-block {
  max-width: 860px;
  margin: 0 auto 1.4rem;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 26px;
  padding: 0.85rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-image-block img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
}

.fn-image-block figcaption {
  padding: 0.85rem 0.5rem 0.25rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fn-image-grid {
  max-width: 980px;
  margin: 0 auto 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.fn-image-grid figure {
  margin: 0;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 24px;
  padding: 0.75rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-image-grid img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center;
  background: var(--fn-paper);
  border-radius: 16px;
  border: 1px solid rgba(89, 63, 28, 0.18);
}

.fn-image-grid figcaption {
  padding: 0.75rem 0.35rem 0.2rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.75rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fn-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 1.5rem;
  align-items: center;
}

.fn-product-layout figure {
  margin: 0;
}

.fn-product-layout img {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}
.fn-spotlight-image-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.fn-spotlight-image-pair figure {
  margin: 0;
}

.fn-spotlight-image-pair img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}
 
@media (max-width: 760px) {
  .fn-image-grid,
  .fn-product-layout {
    grid-template-columns: 1fr;
  }

  .fn-image-block {
    max-width: 94%;
    padding: 0.55rem;
    margin-bottom: 1rem;
  }

  .fn-image-block img {
    height: 240px;
    max-height: 240px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
  }

  .fn-image-grid {
    gap: 0.85rem;
    margin-bottom: 1rem;
  }

  .fn-image-grid figure {
    padding: 0.55rem;
  }

  .fn-image-grid img {
  height: 220px;
  max-height: 220px;
  object-fit: contain;
  object-position: center;
  background: var(--fn-paper);
  border-radius: 14px;
}

  .fn-product-layout img {
    height: 240px;
    max-height: 240px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
  }

.fn-spotlight-image-pair img {
  height: 220px;
  border-radius: 14px;
}
  .fn-image-block figcaption,
  .fn-image-grid figcaption {
    font-size: 0.68rem;
    padding-top: 0.55rem;
  }
}
/* =========================================================
   FREEDOM NEWS — DAILY HOMEPAGE
========================================================= */

/* Homepage background */
.freedom-news-page {
  background: var(--fn-paper);
  color: var(--fn-ink);
}

/* ------------------------------
   Masthead
------------------------------ */

.fn-news-masthead {
  padding: 3.5rem 1.25rem 2.25rem;
  background:
    radial-gradient(circle at top right, rgba(139, 30, 30, 0.2), transparent 28rem),
    linear-gradient(135deg, var(--fn-deep-navy), var(--fn-black));
  color: var(--fn-paper-light);
  border-bottom: 4px solid var(--fn-red);
}

.fn-news-masthead-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.fn-news-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--fn-gold-soft);
  font-family: var(--fn-mono);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-news-masthead h1 {
  margin: 0;
  color: var(--fn-paper-light);
  font-family: var(--fn-serif);
  font-size: clamp(3.4rem, 9vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.fn-news-tagline {
  margin: 1rem 0 1.5rem;
  color: rgba(255, 248, 232, 0.84);
  font-family: var(--fn-serif);
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
}

.fn-news-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.fn-news-nav a {
  color: var(--fn-paper-light);
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-news-nav a:hover {
  color: var(--fn-gold-soft);
  text-decoration: underline;
  text-underline-offset: 5px;
}

/* ------------------------------
   Latest Headlines
------------------------------ */

.fn-headline-section {
  padding: 3.5rem 1.25rem;
  background: var(--fn-paper-light);
}

.fn-headline-section-heading,
.fn-headline-feed {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.fn-headline-section-heading {
  padding-bottom: 1.25rem;
  border-bottom: 5px solid var(--fn-black);
}

.fn-section-label {
  margin: 0 0 0.4rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-headline-section-heading h2 {
  margin: 0;
  color: var(--fn-black);
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 1;
}

.fn-headline-feed {
  margin-top: 0;
}

.fn-headline-item {
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--fn-border);
}

.fn-headline-item h3 {
  margin: 0.25rem 0 0.55rem;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.14;
}

.fn-headline-item h3 a {
  color: var(--fn-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.fn-headline-item h3 a:hover {
  color: var(--fn-red);
}

.fn-headline-source {
  margin: 0;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.fn-headline-summary {
  max-width: 780px;
  margin: 0;
  color: var(--fn-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.fn-headline-original {
  margin: 1.25rem 0;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--fn-border);
  border-left: 7px solid var(--fn-red);
  box-shadow: var(--fn-soft-shadow);
}

.fn-headline-original .fn-headline-source {
  color: var(--fn-red);
}

/* ------------------------------
   Freedom News Originals
------------------------------ */

.fn-originals-section {
  padding: 4rem 1.25rem;
  background: var(--fn-paper);
}

.fn-originals-section .fn-section-heading {
  text-align: left;
  max-width: 1000px;
}

.fn-originals-grid {
  max-width: 1000px;
  margin: 0 auto;
}

.fn-original-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  overflow: hidden;
  background: var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 20px;
  box-shadow: var(--fn-soft-shadow);
}

.fn-original-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.fn-original-card-content {
  padding: 2rem;
}

.fn-original-type {
  margin: 0 0 0.6rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-original-card h3 {
  margin: 0 0 0.8rem;
  font-family: var(--fn-serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.05;
}

.fn-original-card h3 a {
  color: var(--fn-ink);
  text-decoration: none;
}

.fn-original-card h3 a:hover {
  color: var(--fn-red);
  text-decoration: underline;
  text-underline-offset: 5px;
}

.fn-original-card-content > p:last-child {
  color: var(--fn-muted);
  line-height: 1.7;
}

/* ------------------------------
   Monthly Edition
   Homepage / News Stack Only
------------------------------ */

.fn-monthly-edition {
  padding: 4rem 1.25rem;
  background:
    radial-gradient(
      circle at top left,
      rgba(139, 30, 30, 0.2),
      transparent 30rem
    ),
    linear-gradient(
      135deg,
      #17130e 0%,
      #211b16 100%
    );
  color: #fff8e8;
  border-top: 5px solid #8b1e1e;
  border-bottom: 1px solid rgba(255, 248, 232, 0.18);
}

.fn-monthly-edition-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 2rem;
  align-items: center;
}

/* Left side */

.fn-monthly-copy {
  color: #fff8e8;
}

.fn-monthly-copy .fn-section-label {
  margin: 0 0 0.65rem;
  color: #d6b36a;
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.fn-monthly-copy h2 {
  margin: 0;
  color: #ffffff;
  font-family: var(--fn-serif);
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  font-weight: 900;
  line-height: 0.96;
  letter-spacing: -0.04em;
}

.fn-monthly-copy .fn-issue-date {
  margin: 0.8rem 0 1rem;
  color: #ead8b6;
  font-family: var(--fn-mono);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fn-monthly-copy h3 {
  margin: 0 0 0.8rem;
  color: #d6b36a;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.1;
}

.fn-monthly-copy > p:not(.fn-section-label):not(.fn-issue-date) {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 248, 232, 0.92);
  font-size: 1rem;
  line-height: 1.7;
}

/* Read Issue button */

.fn-monthly-copy .fn-btn.fn-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 1.4rem;
  padding: 0.8rem 1.35rem;

  background: #a12727;
  color: #ffffff;

  border: 2px solid #cf5555;
  border-radius: 4px;

  box-shadow: 0 10px 28px rgba(139, 30, 30, 0.45);

  font-family: var(--fn-mono);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;

  opacity: 1;
  visibility: visible;
}

.fn-monthly-copy .fn-btn.fn-btn-primary:visited {
  color: #ffffff;
}

.fn-monthly-copy .fn-btn.fn-btn-primary:hover,
.fn-monthly-copy .fn-btn.fn-btn-primary:focus {
  background: #c12e2e;
  color: #ffffff;
  border-color: #ef8585;
  transform: translateY(-2px);
}

/* Right-side issue list */

.fn-monthly-list {
  padding: 1.65rem;
  background: rgba(255, 248, 232, 0.09);
  color: #fff8e8;
  border: 1px solid rgba(255, 248, 232, 0.32);
  border-radius: 8px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
}

.fn-monthly-list .fn-card-kicker {
  margin: 0 0 1rem;
  color: #d6b36a;
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fn-monthly-list ul {
  margin: 0;
  padding-left: 1.25rem;
}

.fn-monthly-list li {
  margin: 0;
  padding: 0.55rem 0;
  color: rgba(255, 248, 232, 0.95);
  font-size: 0.95rem;
  line-height: 1.45;
}

.fn-monthly-list li::marker {
  color: #d6b36a;
}

/* Monthly Edition mobile layout */

@media (max-width: 760px) {
  .fn-monthly-edition {
    padding: 2.5rem 0.85rem;
  }

  .fn-monthly-edition-inner {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .fn-monthly-copy h2 {
    font-size: clamp(2.3rem, 13vw, 3.3rem);
  }

  .fn-monthly-copy .fn-btn.fn-btn-primary {
    width: 100%;
  }

  .fn-monthly-list {
    padding: 1.3rem;
  }
}
/* ------------------------------
   Homepage Mobile
------------------------------ */

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 2.8rem 1rem 2rem;
  }

  .fn-news-nav {
    gap: 0.7rem 1rem;
  }

  .fn-headline-section,
  .fn-originals-section,
  .fn-monthly-edition {
    padding: 3rem 1rem;
  }

  .fn-headline-item h3 {
    font-size: 1.55rem;
  }

  .fn-headline-original {
    padding: 1.15rem;
  }

  .fn-original-card,
  .fn-monthly-edition-inner {
    grid-template-columns: 1fr;
  }

  .fn-original-card img {
    height: auto;
    min-height: 0;
  }

  .fn-original-card-content {
    padding: 1.4rem;
  }
}

/* =========================================================
   FREEDOM NEWS — NEWSPAPER / WIRE HOMEPAGE OVERRIDES
   Paste remains at the very bottom of freedom-news.css.
   These rules intentionally override the earlier homepage
   styles without affecting individual newsletter issue pages.
========================================================= */

.freedom-news-page {
  background:
    repeating-linear-gradient(
      0deg,
      rgba(62, 43, 19, 0.018) 0,
      rgba(62, 43, 19, 0.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #f4ecd9;
  color: #17130e;
}

/* ---------- Masthead ---------- */

.fn-news-masthead {
  padding: 1.35rem 1rem 1.1rem;
  color: #17130e;
  text-align: center;
  background: #f4ecd9;
  border-top: 8px solid #17130e;
  border-bottom: 3px double #17130e;
}

.fn-news-masthead-inner {
  max-width: 1120px;
}

.fn-news-eyebrow {
  margin: 0 0 0.35rem;
  color: #8b1e1e;
  font-size: 0.63rem;
  letter-spacing: 0.22em;
}

.fn-news-masthead h1 {
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  line-height: 0.82;
  letter-spacing: -0.055em;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 rgba(139, 30, 30, 0.12);
}

.fn-news-tagline {
  max-width: 760px;
  margin: 0.7rem auto 0.85rem;
  color: #514737;
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-transform: uppercase;
}

.fn-news-nav {
  justify-content: center;
  gap: 0.35rem 1.1rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(23, 19, 14, 0.4);
}

.fn-news-nav a {
  color: #17130e;
  font-size: 0.67rem;
  letter-spacing: 0.11em;
}

.fn-news-nav a:hover {
  color: #8b1e1e;
}

/* ---------- Headline wire ---------- */

.fn-headline-section {
  padding: 1rem 1rem 2.4rem;
  background: transparent;
}

.fn-headline-section-heading,
.fn-headline-feed {
  width: min(1120px, 100%);
  max-width: none;
}

.fn-headline-section-heading {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.55rem 0;
  border-top: 3px solid #17130e;
  border-bottom: 1px solid #17130e;
}

.fn-headline-section-heading::before {
  content: "FREEDOM NEWS WIRE";
  color: #fff8e8;
  background: #8b1e1e;
  padding: 0.3rem 0.55rem;
  font-family: var(--fn-mono);
  font-size: 0.59rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.fn-headline-section-heading::after {
  content: "UPDATED THROUGHOUT THE DAY";
  color: #655846;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.fn-section-label {
  display: none;
}

.fn-headline-section-heading h2 {
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.fn-headline-feed {
  border-bottom: 3px double #17130e;
}

/* Standard news item */

.fn-headline-item {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(23, 19, 14, 0.25);
}

.fn-headline-source {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0.15rem 0 0;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.fn-headline-item h3 {
  grid-column: 2;
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.08rem, 1.8vw, 1.38rem);
  font-weight: 800;
  letter-spacing: -0.012em;
  line-height: 1.08;
}

.fn-headline-item h3 a {
  color: #17130e;
  text-decoration: none;
}

.fn-headline-item h3 a::after {
  content: "  ›";
  color: #8b1e1e;
  font-size: 0.82em;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.fn-headline-item h3 a:hover {
  color: #8b1e1e;
}

.fn-headline-item h3 a:hover::after {
  opacity: 1;
}

.fn-headline-summary {
  grid-column: 2;
  max-width: 900px;
  margin: 0.18rem 0 0;
  color: #625746;
  font-family: var(--fn-sans);
  font-size: 0.79rem;
  line-height: 1.38;
}

/* Freedom News original / editorial */

.fn-headline-original {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  margin: 0;
  padding: 0.9rem 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #17130e;
  box-shadow: none;
}

.fn-headline-original::before {
  content: "★ ORIGINAL";
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  width: fit-content;
  margin-top: 0.08rem;
  padding: 0.28rem 0.42rem;
  color: #fff8e8;
  background: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.fn-headline-original .fn-headline-source {
  grid-column: 2;
  grid-row: auto;
  margin: 0 0 0.18rem;
  color: #8b1e1e;
}

.fn-headline-original h3 {
  grid-column: 2;
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  line-height: 1.04;
}

.fn-headline-original .fn-headline-summary {
  grid-column: 2;
  max-width: 930px;
  margin-top: 0.28rem;
  color: #514737;
  font-size: 0.84rem;
}

/* ---------- Originals section ---------- */

.fn-originals-section {
  padding: 2.4rem 1rem;
  background: #e9dcc2;
  border-top: 1px solid rgba(23, 19, 14, 0.25);
  border-bottom: 1px solid rgba(23, 19, 14, 0.25);
}

.fn-originals-section .fn-section-heading {
  max-width: 1120px;
  margin-bottom: 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 3px double #17130e;
}

.fn-originals-section .fn-section-heading h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  text-transform: uppercase;
}

.fn-originals-section .fn-section-heading p {
  max-width: 820px;
  margin-left: 0;
  font-size: 0.86rem;
  line-height: 1.5;
}

.fn-originals-grid {
  max-width: 1120px;
}

.fn-original-card {
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
  border-radius: 0;
  background: #f8f0df;
  border: 1px solid rgba(23, 19, 14, 0.4);
  box-shadow: 5px 5px 0 rgba(23, 19, 14, 0.09);
}

.fn-original-card img {
  min-height: 210px;
}

.fn-original-card-content {
  padding: 1.25rem 1.4rem;
}

.fn-original-type {
  margin-bottom: 0.35rem;
  font-size: 0.6rem;
}

.fn-original-card h3 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.35rem, 2.7vw, 2.1rem);
}

.fn-original-card-content > p:last-child {
  margin-bottom: 0;
  font-size: 0.84rem;
  line-height: 1.5;
}

/* ---------- Monthly edition ---------- */

.fn-monthly-edition {
  padding: 2.8rem 1rem;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,0.018) 0,
      rgba(255,255,255,0.018) 1px,
      transparent 1px,
      transparent 5px
    ),
    #16130f;
  border-top: 5px solid #8b1e1e;
}

.fn-monthly-edition-inner {
  max-width: 1120px;
}

.fn-monthly-copy h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

.fn-monthly-copy h3 {
  margin: 0.55rem 0;
  font-size: clamp(1.15rem, 2.4vw, 1.6rem);
}

.fn-monthly-copy p,
.fn-monthly-list li {
  font-size: 0.88rem;
  line-height: 1.55;
}

.fn-monthly-list {
  border-radius: 0;
  border: 1px solid rgba(255, 248, 232, 0.32);
}

/* ---------- Mobile ---------- */

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 1.15rem 0.8rem 0.9rem;
  }

  .fn-news-masthead h1 {
    font-size: clamp(2.7rem, 16vw, 4.5rem);
  }

  .fn-news-tagline {
    font-size: 0.62rem;
  }

  .fn-headline-section {
    padding: 0.8rem 0.8rem 1.8rem;
  }

  .fn-headline-section-heading {
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
  }

  .fn-headline-section-heading::before {
    display: none;
  }

  .fn-headline-section-heading::after {
    font-size: 0.5rem;
  }

  .fn-headline-section-heading h2 {
    font-size: 1.35rem;
  }

  .fn-headline-item,
  .fn-headline-original {
    grid-template-columns: 1fr;
    padding: 0.7rem 0;
  }

  .fn-headline-source,
  .fn-headline-original .fn-headline-source {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.2rem;
  }

  .fn-headline-original::before {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.3rem;
  }

  .fn-headline-item h3,
  .fn-headline-original h3,
  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    grid-column: 1;
  }

  .fn-headline-item h3 {
    font-size: 1.08rem;
  }

  .fn-headline-original h3 {
    font-size: 1.28rem;
  }

  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    font-size: 0.76rem;
  }

  .fn-original-card {
    grid-template-columns: 1fr;
  }

  .fn-original-card img {
    min-height: 0;
    max-height: 240px;
  }
}

Library
/
freedom-news-newspaper.css
/* =========================================================
   Freedom News — Publication Styling
   File: /assets/css/freedom-news.css

   Used for:
   - /freedom-news.html
   - /newsletters/freedom-news-issue-001.html
   - future Freedom News editions

   Goal:
   Make Freedom News feel like its own rugged digital
   newspaper / field journal, separate from the main store.
========================================================= */


/* ------------------------------
   Freedom News Design System
------------------------------ */

:root {
  --fn-black: #101010;
  --fn-charcoal: #181818;
  --fn-navy: #111827;
  --fn-deep-navy: #0b1220;

  --fn-paper: #f6ead2;
  --fn-paper-light: #fff8e8;
  --fn-paper-dark: #e3cfaa;

  --fn-red: #8b1e1e;
  --fn-red-bright: #b12a2a;

  --fn-gold: #b8892f;
  --fn-gold-soft: #d6b36a;

  --fn-ink: #1d1b17;
  --fn-muted: #6e6252;

  --fn-border: rgba(89, 63, 28, 0.28);
  --fn-border-dark: rgba(246, 234, 210, 0.2);

  --fn-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
  --fn-soft-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);

  --fn-serif: Georgia, "Times New Roman", Times, serif;
  --fn-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fn-mono: "Courier New", Courier, monospace;
}


/* ------------------------------
   Page Reset / Wrapper
------------------------------ */

body {
  margin: 0;
}

/* ------------------------------
   Simple Freedom News Header
------------------------------ */

.fn-simple-header {
  padding: 1rem 1.25rem;
  background: #050505;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.fn-home-link {
  color: #fff;
  text-decoration: none;
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fn-home-link:hover,
.fn-home-link:focus {
  color: var(--fn-gold-soft);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.freedom-news-page {
  min-height: 100vh;
  color: var(--fn-ink);
  font-family: var(--fn-sans);
  background:
    radial-gradient(circle at top left, rgba(184, 137, 47, 0.16), transparent 30rem),
    radial-gradient(circle at top right, rgba(139, 30, 30, 0.16), transparent 28rem),
    linear-gradient(180deg, var(--fn-deep-navy) 0%, var(--fn-charcoal) 42%, var(--fn-paper) 42%, var(--fn-paper) 100%);
  overflow-x: hidden;
}

.freedom-news-page * {
  box-sizing: border-box;
}

.freedom-news-page a {
  color: inherit;
}


/* ------------------------------
   Shared Typography
------------------------------ */

.fn-kicker,
.fn-label,
.fn-card-kicker,
.fn-issue-number {
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.75rem;
  font-weight: 800;
}

.fn-kicker,
.fn-label,
.fn-card-kicker {
  color: var(--fn-gold-soft);
}

.fn-section-heading {
  max-width: 850px;
  margin: 0 auto 2.2rem;
  text-align: center;
}

.fn-section-heading h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1.02;
  color: var(--fn-ink);
  margin: 0 0 1rem;
}

.fn-section-heading p {
  color: var(--fn-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0 auto;
}


/* ------------------------------
   Hero
------------------------------ */

.fn-hero {
  position: relative;
  isolation: isolate;
  padding: 5.5rem 1.25rem 4.5rem;
  color: var(--fn-paper-light);
  text-align: center;
  overflow: hidden;
}

.fn-hero::before {
  content: "FREEDOM NEWS";
  position: absolute;
  left: 50%;
  top: 1.25rem;
  transform: translateX(-50%);
  z-index: -1;
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4.5rem, 13vw, 13rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.fn-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(214, 179, 106, 0.8),
    transparent
  );
}

.fn-hero-inner {
  max-width: 950px;
  margin: 0 auto;
}

.fn-hero .fn-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--fn-gold-soft);
  border: 1px solid rgba(214, 179, 106, 0.36);
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
  background: rgba(0, 0, 0, 0.18);
}

.fn-hero h1 {
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 10vw, 8.5rem);
  line-height: 0.85;
  letter-spacing: -0.075em;
  text-transform: uppercase;
  margin: 1.3rem 0 0;
  color: var(--fn-paper-light);
}

.fn-subtitle {
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--fn-gold-soft);
  font-weight: 900;
  font-size: clamp(0.95rem, 2vw, 1.25rem);
  margin: 1.25rem 0 1rem;
}

.fn-hero-copy {
  max-width: 780px;
  margin: 0 auto;
  color: rgba(255, 248, 232, 0.86);
  font-size: 1.08rem;
  line-height: 1.8;
}

.fn-hero-actions,
.fn-latest-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.8rem;
}


/* ------------------------------
   Buttons
------------------------------ */

.fn-btn,
.fn-issue-card a,
.fn-signup-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.82rem 1.3rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--fn-mono);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

.fn-btn:hover,
.fn-issue-card a:hover,
.fn-signup-form button:hover {
  transform: translateY(-2px);
}

.fn-btn-primary,
.fn-signup-form button {
  background: var(--fn-red);
  color: #fff;
  box-shadow: 0 12px 28px rgba(139, 30, 30, 0.35);
}

.fn-btn-primary:hover,
.fn-signup-form button:hover {
  background: var(--fn-red-bright);
}

.fn-btn-secondary {
  background: rgba(255, 248, 232, 0.06);
  color: var(--fn-paper-light);
  border-color: rgba(255, 248, 232, 0.38);
}

.fn-btn-secondary:hover {
  border-color: var(--fn-gold-soft);
  background: rgba(255, 248, 232, 0.12);
}
.fn-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.25rem;
}

/* ------------------------------
   Latest Edition Feature
------------------------------ */

.fn-latest-wrap {
  padding: 0 1.25rem 4.5rem;
}

.fn-latest {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.75fr);
  gap: 1.35rem;
  align-items: stretch;
}

.fn-latest-main,
.fn-latest-card {
  border-radius: 30px;
  box-shadow: var(--fn-shadow);
}

.fn-latest-main {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 248, 232, 0.94), rgba(246, 234, 210, 0.98)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  padding: clamp(1.6rem, 4vw, 3.2rem);
}

.fn-latest-main::before {
  content: "LATEST EDITION";
  position: absolute;
  right: -1.3rem;
  top: 1.35rem;
  transform: rotate(10deg);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: rgba(139, 30, 30, 0.62);
  border: 2px solid rgba(139, 30, 30, 0.28);
  border-radius: 6px;
  padding: 0.45rem 1.4rem;
}

.fn-latest-main h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  margin: 0.25rem 0 0.65rem;
  color: var(--fn-ink);
}

.fn-latest-main h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  margin: 1.25rem 0 0.8rem;
}

.fn-latest-main p {
  color: var(--fn-ink);
  font-size: 1.05rem;
  line-height: 1.8;
}

.fn-latest-main .fn-issue-date {
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-weight: 800;
}

.fn-latest-main .fn-btn-secondary {
  color: var(--fn-ink);
  border-color: rgba(29, 27, 23, 0.25);
  background: rgba(29, 27, 23, 0.03);
}

.fn-latest-main .fn-btn-secondary:hover {
  border-color: var(--fn-gold);
  background: rgba(29, 27, 23, 0.07);
}

.fn-latest-card {
  background:
    linear-gradient(180deg, rgba(11, 18, 32, 0.97), rgba(24, 24, 24, 0.97)),
    var(--fn-deep-navy);
  border: 1px solid var(--fn-border-dark);
  padding: 2rem;
  color: var(--fn-paper-light);
}

.fn-latest-card ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.fn-latest-card li {
  border-top: 1px solid rgba(255, 248, 232, 0.13);
  padding: 0.85rem 0;
  line-height: 1.5;
  color: rgba(255, 248, 232, 0.88);
}

.fn-latest-card li::before {
  content: "★";
  color: var(--fn-gold-soft);
  margin-right: 0.5rem;
}


/* ------------------------------
   Content Blocks
------------------------------ */

.fn-content-block,
.fn-archive,
.fn-signup {
  padding: 4.5rem 1.25rem;
}

.fn-content-block {
  background:
    linear-gradient(180deg, var(--fn-paper) 0%, var(--fn-paper-light) 100%);
}

.fn-feature-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fn-feature-card,
.fn-issue-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.95), rgba(246, 234, 210, 0.95)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-feature-card::after,
.fn-issue-card::after {
  content: "";
  position: absolute;
  inset: 0.7rem;
  border: 1px solid rgba(89, 63, 28, 0.12);
  border-radius: 18px;
  pointer-events: none;
}

.fn-feature-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: var(--fn-deep-navy);
  color: var(--fn-gold-soft);
  font-family: var(--fn-mono);
  font-weight: 900;
  font-size: 0.82rem;
}

.fn-feature-card h3,
.fn-issue-card h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: 1.45rem;
  line-height: 1.1;
  margin: 0 0 0.7rem;
}

.fn-feature-card p,
.fn-issue-card p {
  color: var(--fn-muted);
  line-height: 1.7;
  margin-bottom: 0;
}


/* ------------------------------
   Archive
------------------------------ */

.fn-archive {
  background:
    radial-gradient(circle at top, rgba(184, 137, 47, 0.14), transparent 28rem),
    var(--fn-paper);
}

.fn-archive-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fn-issue-number {
  color: var(--fn-gold);
  margin: 0 0 0.7rem;
}

.fn-issue-card .fn-issue-date {
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.85rem;
  font-weight: 800;
}

.fn-issue-card a {
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  background: var(--fn-deep-navy);
  color: #fff;
}

.fn-issue-card a:hover {
  background: var(--fn-red);
}


/* ------------------------------
   Subscribe
------------------------------ */

.fn-signup {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at center, rgba(184, 137, 47, 0.13), transparent 30rem),
    linear-gradient(180deg, var(--fn-deep-navy), var(--fn-black));
  color: var(--fn-paper-light);
  text-align: center;
  overflow: hidden;
}

.fn-signup::before {
  content: "JOIN THE LIST";
  position: absolute;
  left: 50%;
  top: 0.7rem;
  transform: translateX(-50%);
  z-index: -1;
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 12vw, 11rem);
  font-weight: 900;
  letter-spacing: -0.07em;
  color: rgba(255, 255, 255, 0.035);
}

.fn-signup-inner {
  max-width: 780px;
  margin: 0 auto;
}

.fn-signup h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
  margin: 0.4rem 0 1rem;
}

.fn-signup p {
  color: rgba(255, 248, 232, 0.84);
  line-height: 1.75;
  font-size: 1.05rem;
}

.fn-signup-form {
  display: flex;
  max-width: 620px;
  margin: 1.6rem auto 0;
  gap: 0.75rem;
}

.fn-signup-form input {
  flex: 1;
  min-height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(255, 248, 232, 0.34);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 0 1.1rem;
  font-size: 1rem;
}

.fn-signup-form input::placeholder {
  color: rgba(255, 248, 232, 0.62);
}

.fn-signup-form input:focus {
  outline: none;
  border-color: var(--fn-gold-soft);
  box-shadow: 0 0 0 4px rgba(214, 179, 106, 0.18);
}

.footer-news-message {
  margin-top: 1rem;
  font-weight: 800;
}

.footer-news-message.ok {
  color: #86efac;
}

.footer-news-message.error {
  color: #fca5a5;
}


/* =========================================================
   Individual Newsletter Edition Pages
   Use these classes on:
   /newsletters/freedom-news-issue-001.html
========================================================= */

.fn-issue-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(184, 137, 47, 0.16), transparent 30rem),
    linear-gradient(180deg, var(--fn-deep-navy) 0%, var(--fn-charcoal) 34%, var(--fn-paper) 34%, var(--fn-paper) 100%);
  color: var(--fn-ink);
  font-family: var(--fn-sans);
}

.fn-issue-hero {
  position: relative;
  padding: 5rem 1.25rem 3.5rem;
  text-align: center;
  color: var(--fn-paper-light);
  overflow: hidden;
}

.fn-issue-hero::before {
  content: "FREEDOM NEWS";
  position: absolute;
  left: 50%;
  top: 1rem;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--fn-serif);
  font-size: clamp(4rem, 12vw, 12rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

.fn-issue-hero-inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}

.fn-issue-hero h1 {
  font-family: var(--fn-serif);
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
  margin: 0.8rem 0 1rem;
}

.fn-issue-hero p {
  color: rgba(255, 248, 232, 0.84);
  line-height: 1.75;
  font-size: 1.07rem;
}

.fn-issue-hero-inner > p:not(.fn-issue-meta) {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.fn-issue-meta {
  font-family: var(--fn-mono);
  color: var(--fn-gold-soft);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 900;
}

.fn-issue-body {
  padding: 4rem 1.25rem;
  background: var(--fn-paper);
}

.fn-article-block,
.fn-callout,
.fn-product-spotlight,
.fn-quote-block,
.fn-two-column,
.fn-comparison-grid {
  max-width: 980px;
  margin: 0 auto 1.4rem;
}

.fn-article-block,
.fn-callout,
.fn-product-spotlight,
.fn-quote-block,
.fn-column-card,
.fn-comparison-card {
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 26px;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  box-shadow: var(--fn-soft-shadow);
}

.fn-article-block h2,
.fn-callout h2,
.fn-product-spotlight h2 {
  font-family: var(--fn-serif);
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.03;
  letter-spacing: -0.035em;
  color: var(--fn-ink);
  margin: 0 0 1rem;
}

.fn-article-block h3,
.fn-product-spotlight h3,
.fn-column-card h3,
.fn-comparison-card h3 {
  font-family: var(--fn-serif);
  color: var(--fn-red);
  font-size: 1.55rem;
  margin: 1.4rem 0 0.65rem;
}

.fn-article-block p,
.fn-callout p,
.fn-product-spotlight p,
.fn-column-card p,
.fn-comparison-card p {
  color: var(--fn-ink);
  line-height: 1.85;
  font-size: 1.06rem;
}

.fn-callout {
  border-left: 8px solid var(--fn-red);
}

.fn-callout h2 {
  color: var(--fn-red);
}

.fn-quote-block blockquote {
  margin: 0;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1.35;
  font-weight: 800;
  color: var(--fn-ink);
}

.fn-quote-block cite {
  display: block;
  margin-top: 1rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 900;
}

.fn-two-column,
.fn-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.fn-product-spotlight {
  border-top: 8px solid var(--fn-gold);
}

.fn-issue-nav {
  max-width: 980px;
  margin: 2.25rem auto 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.fn-issue-nav a {
  flex: 1;
  text-align: center;
}

.fn-issue-nav .fn-btn-secondary {
  background: var(--fn-deep-navy);
  color: var(--fn-paper-light);
  border-color: var(--fn-deep-navy);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.fn-issue-nav .fn-btn-secondary:hover {
  background: var(--fn-charcoal);
  color: #fff;
  border-color: var(--fn-gold);
}

.fn-fact-list {
  margin: 1.2rem 0 0;
  padding-left: 1.35rem;
}

.fn-fact-list li {
  color: var(--fn-ink);
  line-height: 1.8;
  font-size: 1.04rem;
  margin-bottom: 1rem;
}

.fn-fact-list strong {
  color: var(--fn-red);
}

.fn-fact-list a {
  color: var(--fn-red);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fn-fact-list a:hover {
  color: var(--fn-red-bright);
}
.fn-article-block > a {
  display: inline-flex;
  margin-top: 0.75rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.fn-article-block > a:hover {
  color: var(--fn-red-bright);
}

/* ------------------------------
   Mobile
------------------------------ */

@media (max-width: 980px) {
  .fn-latest,
  .fn-feature-grid,
  .fn-archive-grid,
  .fn-two-column,
  .fn-comparison-grid {
    grid-template-columns: 1fr;
  }

  .fn-feature-grid,
  .fn-archive-grid {
    max-width: 640px;
  }
}

@media (max-width: 640px) {
  .fn-hero {
    padding: 4.5rem 1rem 3.5rem;
  }

  .fn-hero h1 {
    font-size: clamp(3.3rem, 18vw, 5rem);
  }

  .fn-hero-actions,
  .fn-latest-actions,
  .fn-signup-form,
  .fn-issue-nav {
    flex-direction: column;
  }

  .fn-btn,
  .fn-issue-card a,
  .fn-signup-form button {
    width: 100%;
  }

  .fn-latest-main,
  .fn-latest-card,
  .fn-feature-card,
  .fn-issue-card,
  .fn-article-block,
  .fn-callout,
  .fn-product-spotlight,
  .fn-quote-block,
  .fn-column-card,
  .fn-comparison-card {
    border-radius: 20px;
  }

  .fn-latest-main::before {
    display: none;
  }

  .fn-content-block,
  .fn-archive,
  .fn-signup,
  .fn-issue-body {
    padding: 3.25rem 1rem;
  }
}

.fn-archive-grid {
  justify-content: center;
}

.fn-archive-grid .fn-issue-card {
  max-width: 420px;
}
/* ------------------------------
   Newsletter Images
------------------------------ */

.fn-image-block {
  max-width: 860px;
  margin: 0 auto 1.4rem;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 26px;
  padding: 0.85rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-image-block img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
}

.fn-image-block figcaption {
  padding: 0.85rem 0.5rem 0.25rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fn-image-grid {
  max-width: 980px;
  margin: 0 auto 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.fn-image-grid figure {
  margin: 0;
  background:
    linear-gradient(180deg, rgba(255, 248, 232, 0.96), rgba(246, 234, 210, 0.96)),
    var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 24px;
  padding: 0.75rem;
  box-shadow: var(--fn-soft-shadow);
}

.fn-image-grid img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center;
  background: var(--fn-paper);
  border-radius: 16px;
  border: 1px solid rgba(89, 63, 28, 0.18);
}

.fn-image-grid figcaption {
  padding: 0.75rem 0.35rem 0.2rem;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.75rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.fn-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 1.5rem;
  align-items: center;
}

.fn-product-layout figure {
  margin: 0;
}

.fn-product-layout img {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}
.fn-spotlight-image-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.fn-spotlight-image-pair figure {
  margin: 0;
}

.fn-spotlight-image-pair img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(89, 63, 28, 0.18);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}
 
@media (max-width: 760px) {
  .fn-image-grid,
  .fn-product-layout {
    grid-template-columns: 1fr;
  }

  .fn-image-block {
    max-width: 94%;
    padding: 0.55rem;
    margin-bottom: 1rem;
  }

  .fn-image-block img {
    height: 240px;
    max-height: 240px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
  }

  .fn-image-grid {
    gap: 0.85rem;
    margin-bottom: 1rem;
  }

  .fn-image-grid figure {
    padding: 0.55rem;
  }

  .fn-image-grid img {
  height: 220px;
  max-height: 220px;
  object-fit: contain;
  object-position: center;
  background: var(--fn-paper);
  border-radius: 14px;
}

  .fn-product-layout img {
    height: 240px;
    max-height: 240px;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
  }

.fn-spotlight-image-pair img {
  height: 220px;
  border-radius: 14px;
}
  .fn-image-block figcaption,
  .fn-image-grid figcaption {
    font-size: 0.68rem;
    padding-top: 0.55rem;
  }
}
/* =========================================================
   FREEDOM NEWS — DAILY HOMEPAGE
========================================================= */

/* Homepage background */
.freedom-news-page {
  background: var(--fn-paper);
  color: var(--fn-ink);
}

/* ------------------------------
   Masthead
------------------------------ */

.fn-news-masthead {
  padding: 3.5rem 1.25rem 2.25rem;
  background:
    radial-gradient(circle at top right, rgba(139, 30, 30, 0.2), transparent 28rem),
    linear-gradient(135deg, var(--fn-deep-navy), var(--fn-black));
  color: var(--fn-paper-light);
  border-bottom: 4px solid var(--fn-red);
}

.fn-news-masthead-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.fn-news-eyebrow {
  margin: 0 0 0.75rem;
  color: var(--fn-gold-soft);
  font-family: var(--fn-mono);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-news-masthead h1 {
  margin: 0;
  color: var(--fn-paper-light);
  font-family: var(--fn-serif);
  font-size: clamp(3.4rem, 9vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
}

.fn-news-tagline {
  margin: 1rem 0 1.5rem;
  color: rgba(255, 248, 232, 0.84);
  font-family: var(--fn-serif);
  font-size: clamp(1.15rem, 2.5vw, 1.55rem);
}

.fn-news-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.fn-news-nav a {
  color: var(--fn-paper-light);
  font-family: var(--fn-mono);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.fn-news-nav a:hover {
  color: var(--fn-gold-soft);
  text-decoration: underline;
  text-underline-offset: 5px;
}

/* ------------------------------
   Latest Headlines
------------------------------ */

.fn-headline-section {
  padding: 3.5rem 1.25rem;
  background: var(--fn-paper-light);
}

.fn-headline-section-heading,
.fn-headline-feed {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.fn-headline-section-heading {
  padding-bottom: 1.25rem;
  border-bottom: 5px solid var(--fn-black);
}

.fn-section-label {
  margin: 0 0 0.4rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-headline-section-heading h2 {
  margin: 0;
  color: var(--fn-black);
  font-family: var(--fn-serif);
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 1;
}

.fn-headline-feed {
  margin-top: 0;
}

.fn-headline-item {
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--fn-border);
}

.fn-headline-item h3 {
  margin: 0.25rem 0 0.55rem;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.14;
}

.fn-headline-item h3 a {
  color: var(--fn-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.fn-headline-item h3 a:hover {
  color: var(--fn-red);
}

.fn-headline-source {
  margin: 0;
  color: var(--fn-muted);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.fn-headline-summary {
  max-width: 780px;
  margin: 0;
  color: var(--fn-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.fn-headline-original {
  margin: 1.25rem 0;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--fn-border);
  border-left: 7px solid var(--fn-red);
  box-shadow: var(--fn-soft-shadow);
}

.fn-headline-original .fn-headline-source {
  color: var(--fn-red);
}

/* ------------------------------
   Freedom News Originals
------------------------------ */

.fn-originals-section {
  padding: 4rem 1.25rem;
  background: var(--fn-paper);
}

.fn-originals-section .fn-section-heading {
  text-align: left;
  max-width: 1000px;
}

.fn-originals-grid {
  max-width: 1000px;
  margin: 0 auto;
}

.fn-original-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  overflow: hidden;
  background: var(--fn-paper-light);
  border: 1px solid var(--fn-border);
  border-radius: 20px;
  box-shadow: var(--fn-soft-shadow);
}

.fn-original-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.fn-original-card-content {
  padding: 2rem;
}

.fn-original-type {
  margin: 0 0 0.6rem;
  color: var(--fn-red);
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fn-original-card h3 {
  margin: 0 0 0.8rem;
  font-family: var(--fn-serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.05;
}

.fn-original-card h3 a {
  color: var(--fn-ink);
  text-decoration: none;
}

.fn-original-card h3 a:hover {
  color: var(--fn-red);
  text-decoration: underline;
  text-underline-offset: 5px;
}

.fn-original-card-content > p:last-child {
  color: var(--fn-muted);
  line-height: 1.7;
}

/* ------------------------------
   Monthly Edition
------------------------------ */

.fn-monthly-edition {
  padding: 4rem 1.25rem;
  background: var(--fn-deep-navy);
  color: var(--fn-paper-light);
}

.fn-monthly-edition-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 2rem;
}

.fn-monthly-copy h2,
.fn-monthly-copy h3 {
  font-family: var(--fn-serif);
}

.fn-monthly-copy h2 {
  margin: 0;
  color: var(--fn-paper-light);
  font-size: clamp(2.5rem, 5vw, 4.4rem);
}

.fn-monthly-copy h3 {
  color: var(--fn-gold-soft);
  font-size: clamp(1.4rem, 3vw, 2rem);
}

.fn-monthly-copy p {
  color: rgba(255, 248, 232, 0.82);
  line-height: 1.7;
}

.fn-monthly-list {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 248, 232, 0.18);
  border-radius: 18px;
}

.fn-monthly-list ul {
  margin: 1rem 0 0;
  padding-left: 1.2rem;
}

.fn-monthly-list li {
  margin-bottom: 0.8rem;
  color: rgba(255, 248, 232, 0.86);
}

/* ------------------------------
   Homepage Mobile
------------------------------ */

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 2.8rem 1rem 2rem;
  }

  .fn-news-nav {
    gap: 0.7rem 1rem;
  }

  .fn-headline-section,
  .fn-originals-section,
  .fn-monthly-edition {
    padding: 3rem 1rem;
  }

  .fn-headline-item h3 {
    font-size: 1.55rem;
  }

  .fn-headline-original {
    padding: 1.15rem;
  }

  .fn-original-card,
  .fn-monthly-edition-inner {
    grid-template-columns: 1fr;
  }

  .fn-original-card img {
    height: auto;
    min-height: 0;
  }

  .fn-original-card-content {
    padding: 1.4rem;
  }
}

/* =========================================================
   FREEDOM NEWS — NEWSPAPER / WIRE HOMEPAGE OVERRIDES
   Paste remains at the very bottom of freedom-news.css.
   These rules intentionally override the earlier homepage
   styles without affecting individual newsletter issue pages.
========================================================= */

.freedom-news-page {
  background:
    repeating-linear-gradient(
      0deg,
      rgba(62, 43, 19, 0.018) 0,
      rgba(62, 43, 19, 0.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #f4ecd9;
  color: #17130e;
}

/* ---------- Masthead ---------- */

.fn-news-masthead {
  padding: 1.35rem 1rem 1.1rem;
  color: #17130e;
  text-align: center;
  background: #f4ecd9;
  border-top: 8px solid #17130e;
  border-bottom: 3px double #17130e;
}

.fn-news-masthead-inner {
  max-width: 1120px;
}

.fn-news-eyebrow {
  margin: 0 0 0.35rem;
  color: #8b1e1e;
  font-size: 0.63rem;
  letter-spacing: 0.22em;
}

.fn-news-masthead h1 {
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(3.2rem, 8vw, 6.8rem);
  line-height: 0.82;
  letter-spacing: -0.055em;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 rgba(139, 30, 30, 0.12);
}

.fn-news-tagline {
  max-width: 760px;
  margin: 0.7rem auto 0.85rem;
  color: #514737;
  font-family: var(--fn-mono);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-transform: uppercase;
}

.fn-news-nav {
  justify-content: center;
  gap: 0.35rem 1.1rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(23, 19, 14, 0.4);
}

.fn-news-nav a {
  color: #17130e;
  font-size: 0.67rem;
  letter-spacing: 0.11em;
}

.fn-news-nav a:hover {
  color: #8b1e1e;
}

/* ---------- Headline wire ---------- */

.fn-headline-section {
  padding: 1rem 1rem 2.4rem;
  background: transparent;
}

.fn-headline-section-heading,
.fn-headline-feed {
  width: min(1120px, 100%);
  max-width: none;
}

.fn-headline-section-heading {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.55rem 0;
  border-top: 3px solid #17130e;
  border-bottom: 1px solid #17130e;
}

.fn-headline-section-heading::before {
  content: "FREEDOM NEWS WIRE";
  color: #fff8e8;
  background: #8b1e1e;
  padding: 0.3rem 0.55rem;
  font-family: var(--fn-mono);
  font-size: 0.59rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.fn-headline-section-heading::after {
  content: "UPDATED THROUGHOUT THE DAY";
  color: #655846;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.fn-section-label {
  display: none;
}

.fn-headline-section-heading h2 {
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.fn-headline-feed {
  border-bottom: 3px double #17130e;
}

/* Standard news item */

.fn-headline-item {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  padding: 0.72rem 0;
  border-bottom: 1px solid rgba(23, 19, 14, 0.25);
}

.fn-headline-source {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  margin: 0.15rem 0 0;
  color: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.fn-headline-item h3 {
  grid-column: 2;
  margin: 0;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(1.08rem, 1.8vw, 1.38rem);
  font-weight: 800;
  letter-spacing: -0.012em;
  line-height: 1.08;
}

.fn-headline-item h3 a {
  color: #17130e;
  text-decoration: none;
}

.fn-headline-item h3 a::after {
  content: "  ›";
  color: #8b1e1e;
  font-size: 0.82em;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.fn-headline-item h3 a:hover {
  color: #8b1e1e;
}

.fn-headline-item h3 a:hover::after {
  opacity: 1;
}

.fn-headline-summary {
  grid-column: 2;
  max-width: 900px;
  margin: 0.18rem 0 0;
  color: #625746;
  font-family: var(--fn-sans);
  font-size: 0.79rem;
  line-height: 1.38;
}

/* Freedom News original / editorial */

.fn-headline-original {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: 0.9rem;
  margin: 0;
  padding: 0.9rem 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #17130e;
  box-shadow: none;
}

.fn-headline-original::before {
  content: "★ ORIGINAL";
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  width: fit-content;
  margin-top: 0.08rem;
  padding: 0.28rem 0.42rem;
  color: #fff8e8;
  background: #8b1e1e;
  font-family: var(--fn-mono);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.fn-headline-original .fn-headline-source {
  grid-column: 2;
  grid-row: auto;
  margin: 0 0 0.18rem;
  color: #8b1e1e;
}

.fn-headline-original h3 {
  grid-column: 2;
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  line-height: 1.04;
}

.fn-headline-original .fn-headline-summary {
  grid-column: 2;
  max-width: 930px;
  margin-top: 0.28rem;
  color: #514737;
  font-size: 0.84rem;
}

/* ---------- Originals section ---------- */

.fn-originals-section {
  padding: 2.4rem 1rem;
  background: #e9dcc2;
  border-top: 1px solid rgba(23, 19, 14, 0.25);
  border-bottom: 1px solid rgba(23, 19, 14, 0.25);
}

.fn-originals-section .fn-section-heading {
  max-width: 1120px;
  margin-bottom: 1rem;
  padding-bottom: 0.65rem;
  border-bottom: 3px double #17130e;
}

.fn-originals-section .fn-section-heading h2 {
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  text-transform: uppercase;
}

.fn-originals-section .fn-section-heading p {
  max-width: 820px;
  margin-left: 0;
  font-size: 0.86rem;
  line-height: 1.5;
}

.fn-originals-grid {
  max-width: 1120px;
}

.fn-original-card {
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
  border-radius: 0;
  background: #f8f0df;
  border: 1px solid rgba(23, 19, 14, 0.4);
  box-shadow: 5px 5px 0 rgba(23, 19, 14, 0.09);
}

.fn-original-card img {
  min-height: 210px;
}

.fn-original-card-content {
  padding: 1.25rem 1.4rem;
}

.fn-original-type {
  margin-bottom: 0.35rem;
  font-size: 0.6rem;
}

.fn-original-card h3 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.35rem, 2.7vw, 2.1rem);
}

.fn-original-card-content > p:last-child {
  margin-bottom: 0;
  font-size: 0.84rem;
  line-height: 1.5;
}

/* ---------- Monthly edition ---------- */

.fn-monthly-edition {
  padding: 2.8rem 1rem;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255,255,255,0.018) 0,
      rgba(255,255,255,0.018) 1px,
      transparent 1px,
      transparent 5px
    ),
    #16130f;
  border-top: 5px solid #8b1e1e;
}

.fn-monthly-edition-inner {
  max-width: 1120px;
}

.fn-monthly-copy h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

.fn-monthly-copy h3 {
  margin: 0.55rem 0;
  font-size: clamp(1.15rem, 2.4vw, 1.6rem);
}

.fn-monthly-copy p,
.fn-monthly-list li {
  font-size: 0.88rem;
  line-height: 1.55;
}

.fn-monthly-list {
  border-radius: 0;
  border: 1px solid rgba(255, 248, 232, 0.32);
}

/* ---------- Mobile ---------- */

@media (max-width: 760px) {
  .fn-news-masthead {
    padding: 1.15rem 0.8rem 0.9rem;
  }

  .fn-news-masthead h1 {
    font-size: clamp(2.7rem, 16vw, 4.5rem);
  }

  .fn-news-tagline {
    font-size: 0.62rem;
  }

  .fn-headline-section {
    padding: 0.8rem 0.8rem 1.8rem;
  }

  .fn-headline-section-heading {
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
  }

  .fn-headline-section-heading::before {
    display: none;
  }

  .fn-headline-section-heading::after {
    font-size: 0.5rem;
  }

  .fn-headline-section-heading h2 {
    font-size: 1.35rem;
  }

  .fn-headline-item,
  .fn-headline-original {
    grid-template-columns: 1fr;
    padding: 0.7rem 0;
  }

  .fn-headline-source,
  .fn-headline-original .fn-headline-source {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.2rem;
  }

  .fn-headline-original::before {
    grid-column: 1;
    grid-row: auto;
    margin: 0 0 0.3rem;
  }

  .fn-headline-item h3,
  .fn-headline-original h3,
  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    grid-column: 1;
  }

  .fn-headline-item h3 {
    font-size: 1.08rem;
  }

  .fn-headline-original h3 {
    font-size: 1.28rem;
  }

  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    font-size: 0.76rem;
  }

  .fn-original-card {
    grid-template-columns: 1fr;
  }

  .fn-original-card img {
    min-height: 0;
    max-height: 240px;
  }
}
/* =========================================================
   FREEDOM NEWS — SIGNUP SECTION CLEANUP
========================================================= */

.fn-signup {
  padding: 3.5rem 1rem;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(62, 43, 19, 0.018) 0,
      rgba(62, 43, 19, 0.018) 1px,
      transparent 1px,
      transparent 4px
    ),
    #f4ecd9;
  color: #17130e;
  text-align: center;
  border-top: 4px double #17130e;
  overflow: hidden;
}

/* Remove the giant faded background words */
.fn-signup::before {
  display: none;
}

.fn-signup-inner {
  width: min(760px, 100%);
  margin: 0 auto;
}

/* Small JOIN THE LIST label */
.fn-signup .fn-kicker,
.fn-signup .fn-label {
  display: inline-block;
  margin: 0 0 0.7rem;
  padding: 0.3rem 0.55rem;
  background: #8b1e1e;
  color: #fff8e8;
  font-family: var(--fn-mono);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

/* Main heading */
.fn-signup h2 {
  margin: 0 0 0.75rem;
  color: #17130e;
  font-family: var(--fn-serif);
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

/* Description */
.fn-signup p {
  max-width: 670px;
  margin: 0 auto;
  color: #625746;
  font-size: 0.9rem;
  line-height: 1.55;
}

/* Form layout */
.fn-signup-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  max-width: 680px;
  margin: 1.4rem auto 0;
}

/* Email field */
.fn-signup-form input {
  width: 100%;
  min-height: 46px;
  padding: 0 1rem;
  background: #fffaf0;
  color: #17130e;
  border: 1px solid rgba(23, 19, 14, 0.45);
  border-radius: 3px;
  font-size: 0.86rem;
  box-shadow: inset 0 1px 2px rgba(23, 19, 14, 0.08);
}

.fn-signup-form input::placeholder {
  color: #7b6d59;
}

.fn-signup-form input:focus {
  outline: none;
  border-color: #8b1e1e;
  box-shadow: 0 0 0 3px rgba(139, 30, 30, 0.12);
}

/* Subscribe button */
.fn-signup-form button {
  min-height: 46px;
  padding: 0 1.25rem;
  background: #8b1e1e;
  color: #fff8e8;
  border: 1px solid #8b1e1e;
  border-radius: 3px;
  font-family: var(--fn-mono);
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
}

.fn-signup-form button:hover,
.fn-signup-form button:focus {
  background: #17130e;
  border-color: #17130e;
  color: #fff8e8;
  transform: none;
}

/* Success and error messages */
.footer-news-message {
  margin-top: 0.8rem;
  font-size: 0.8rem;
  font-weight: 800;
}

.footer-news-message.ok {
  color: #326534;
}

.footer-news-message.error {
  color: #9b1c1c;
}

/* Mobile */
@media (max-width: 640px) {
  .fn-signup {
    padding: 2.6rem 0.85rem;
  }

  .fn-signup h2 {
    font-size: 2.1rem;
  }

  .fn-signup-form {
    grid-template-columns: 1fr;
  }

  .fn-signup-form button {
    width: 100%;
  }
}
/* Normal headline */
.fn-headline-item h3 a {
  color: #17130e;
}

/* Important story */
.fn-headline-item.fn-important h3 a {
  color: #8a5a12;
}

/* Super important story */
.fn-headline-item.fn-breaking h3 a {
  color: #8b1e1e;
}

/* Hover */
.fn-headline-item h3 a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
/* =========================================================
   FREEDOM NEWS — MORE COMPACT HEADLINE FEED
========================================================= */

/* Standard story spacing */
.fn-headline-item {
  padding: 0.5rem 0;
}

/* Standard headlines */
.fn-headline-item h3 {
  font-size: clamp(0.98rem, 1.5vw, 1.2rem);
  line-height: 1.05;
}

/* Standard summaries */
.fn-headline-summary {
  margin-top: 0.12rem;
  font-size: 0.72rem;
  line-height: 1.3;
}

/* Source labels */
.fn-headline-source {
  font-size: 0.53rem;
  line-height: 1.25;
}

/* Keep originals slightly larger */
.fn-headline-original {
  padding: 0.72rem 0;
}

.fn-headline-original h3 {
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  line-height: 1.02;
}

.fn-headline-original .fn-headline-summary {
  font-size: 0.76rem;
  line-height: 1.32;
}

/* Important and breaking stories */
.fn-headline-item.fn-important h3,
.fn-headline-item.fn-breaking h3 {
  font-size: clamp(1.02rem, 1.65vw, 1.28rem);
}

/* Mobile */
@media (max-width: 760px) {
  .fn-headline-item {
    padding: 0.52rem 0;
  }

  .fn-headline-item h3 {
    font-size: 1rem;
  }

  .fn-headline-original h3 {
    font-size: 1.18rem;
  }

  .fn-headline-summary,
  .fn-headline-original .fn-headline-summary {
    font-size: 0.7rem;
  }
}
/* =========================================================
   FIX: ISSUE HERO PRIMARY BUTTON
   Keep this at the very bottom of freedom-news.css
========================================================= */

.fn-issue-hero .fn-btn-primary {
  background: #b12a2a !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow:
    0 0 0 1px rgba(177, 42, 42, 0.25),
    0 10px 28px rgba(177, 42, 42, 0.55) !important;
}

.fn-issue-hero .fn-btn-primary:visited {
  color: #ffffff !important;
}

.fn-issue-hero .fn-btn-primary:hover,
.fn-issue-hero .fn-btn-primary:focus {
  background: #c62828 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  box-shadow:
    0 0 0 1px rgba(198, 40, 40, 0.3),
    0 12px 34px rgba(198, 40, 40, 0.7) !important;
}
/* =========================================================
   ORIGINAL HEADLINE WITH SMALL THUMBNAIL
========================================================= */

.fn-headline-original.fn-headline-with-thumb {
  display: grid;
  grid-template-columns: 118px 105px minmax(0, 1fr);
  column-gap: 0.9rem;
  align-items: center;
  margin: 0;
  padding: 0.9rem 0;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #17130e;
  box-shadow: none;
}

/* Keep the ORIGINAL badge in the first column */
.fn-headline-original.fn-headline-with-thumb::before {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  margin: 0;
}

/* Small article image */
.fn-headline-with-thumb .fn-headline-thumb {
  grid-column: 2;
  grid-row: 1;
  display: block;
  width: 105px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(23, 19, 14, 0.25);
  text-decoration: none;
}

.fn-headline-with-thumb .fn-headline-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Headline text area */
.fn-headline-with-thumb .fn-headline-copy {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
}

/* Reset the normal original-story grid positions */
.fn-headline-with-thumb .fn-headline-source,
.fn-headline-with-thumb h3,
.fn-headline-with-thumb .fn-headline-summary {
  grid-column: auto;
}

.fn-headline-with-thumb .fn-headline-source {
  margin: 0 0 0.15rem;
}

.fn-headline-with-thumb h3 {
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.06;
}

.fn-headline-with-thumb .fn-headline-summary {
  margin: 0.22rem 0 0;
  font-size: 0.8rem;
  line-height: 1.38;
}

/* Mobile */
@media (max-width: 760px) {
  .fn-headline-original.fn-headline-with-thumb {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 0.65rem 0.8rem;
    align-items: start;
  }

  .fn-headline-original.fn-headline-with-thumb::before {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: start;
  }

  .fn-headline-with-thumb .fn-headline-thumb {
    grid-column: 1;
    grid-row: 2;
    width: 82px;
  }

  .fn-headline-with-thumb .fn-headline-copy {
    grid-column: 2;
    grid-row: 2;
  }

  .fn-headline-with-thumb h3 {
    font-size: 1.08rem;
  }

  .fn-headline-with-thumb .fn-headline-summary {
    display: none;
  }
}
