/* Freedom Preservation Project home (freedompreservationproject.com). Uses the site's tokens from site.css. */
.page-fpp { background: var(--ink); }
.fpp-wordmark { gap: .7rem; }
.fpp-shield { color: var(--rust-bright); flex: 0 0 auto; }
.fpp-header .header-action[aria-current="page"] { color: var(--ink); background: var(--rust); }

/* The test */
.fpp-hero { padding-block: clamp(4.5rem, 10vw, 7.5rem) clamp(4rem, 8vw, 6rem); background-image: radial-gradient(circle at 85% 0%, rgba(232, 176, 76, 0.12), transparent 45%); }
.fpp-hero-inner { display: grid; gap: 1.6rem; }
.fpp-hero h1 { max-width: 20ch; margin: 0; font: 700 clamp(2.2rem, 5vw, 3.9rem)/1.05 var(--serif); letter-spacing: -.01em; color: var(--paper); text-wrap: balance; }
.fpp-hero h1 em { font-style: italic; font-weight: 500; color: var(--rust-bright); }
.fpp-lead { max-width: 42rem; margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.55; color: var(--paper-dim); }
.fpp-actions { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; }
.fpp-actions .primary-action { display: inline-flex; align-items: center; min-height: 3rem; text-decoration: none; }
.fpp-ghost { display: inline-flex; align-items: center; gap: .5rem; min-height: 3rem; padding: .85rem 1.35rem; border-radius: 999px; border: 1px solid rgba(206, 220, 245, 0.35); color: var(--paper); font-weight: 600; text-decoration: none; }
.fpp-ghost:hover { border-color: var(--rust-bright); color: var(--rust-bright); }

/* Three doors */
.fpp-doors h2 { margin: .4rem 0 1.6rem; font: 700 clamp(1.8rem, 3.4vw, 2.4rem)/1.1 var(--serif); color: var(--ink-on-light); }
.fpp-door-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.fpp-door { display: flex; flex-direction: column; gap: .85rem; min-width: 0; padding: 1.75rem; border-radius: 14px; background: #ffffff; border: 1px solid #d9dfea; color: var(--dim-on-light); }
.fpp-door h3 { margin: 0; font: 700 1.55rem/1.15 var(--serif); color: var(--ink-on-light); }
.fpp-door p { margin: 0; font-size: 1rem; line-height: 1.55; }
.fpp-door ul { margin: 0; padding-left: 1.1rem; font-size: .95rem; line-height: 1.6; }
.fpp-door ul a { color: var(--ink-on-light); font-weight: 600; }
.fpp-door ul a:hover { color: var(--gold-on-light); }
.fpp-kicker { margin: 0; font: 500 .75rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--gold-on-light); }
.fpp-door-go { margin-top: auto; font-weight: 700; color: var(--gold-on-light); text-decoration: none; }
.fpp-door-go:hover { text-decoration: underline; }
.fpp-door-more { margin: .5rem 0 0; font-size: .9rem; }
.fpp-door-more a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.fpp-countdown { display: flex; align-items: baseline; gap: .6rem; padding: .9rem 1rem; border-radius: 10px; background: var(--ink); color: var(--paper); }
.fpp-count { font: 700 2.1rem/1 var(--serif); font-variant-numeric: tabular-nums; }
.fpp-count-label { text-wrap: balance; font: .78rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--paper-dim); }
.fpp-door-dark { background: var(--ink-soft); border-color: #26304a; color: var(--paper-dim); }
.fpp-door-dark h3 { color: var(--paper); }
.band-light .fpp-door-dark p { color: var(--paper-dim); }
.fpp-door-dark .fpp-kicker { color: var(--rust-bright); }
.fpp-door-dark img { width: 100%; height: 150px; object-fit: cover; object-position: 70% 25%; border-radius: 10px; }
.fpp-enter { align-self: flex-start; margin-top: auto; display: inline-flex; align-items: center; min-height: 2.75rem; text-decoration: none; }

/* Stay in the Zone */
.fpp-zone { background: var(--ink-soft); }
.fpp-zone-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2rem clamp(2rem, 5vw, 4rem); align-items: start; }
.fpp-zone-copy h2 { margin: .4rem 0 .9rem; font: 700 clamp(1.8rem, 3.4vw, 2.4rem)/1.1 var(--serif); color: var(--paper); }
.fpp-zone-copy p { margin: 0; font-size: 1.1rem; line-height: 1.55; color: var(--paper-dim); }
.fpp-zone-cards { display: grid; gap: .75rem; }
.fpp-zone-card { padding: 1.1rem 1.25rem; border-radius: 12px; border: 1px solid #26304a; background: var(--ink); }
.fpp-zone-card .fpp-kicker { margin-bottom: .3rem; color: var(--paper-dim); }
.fpp-zone-card p { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--paper); }
.fpp-footer-line { font: .74rem/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 960px) { .fpp-door-grid { grid-template-columns: 1fr; } .fpp-zone-grid { grid-template-columns: 1fr; } }
.band-light .fpp-door-dark .fpp-kicker { color: var(--rust-bright); }
.band-light .fpp-enter, .band-light .fpp-enter:hover { color: var(--ink); }
