/* =====================================================

   DESIGN SYSTEM — matches the rest of the project

   ===================================================== */

:root { 
    --cream: #F4EFE3;
    --paper: #FBF7EC;
    --paper-2: #F1EAD8;
    --crimson: #9B2226;
    --crimson-deep: #7C1115;
    --gold: #C8943A;
    --gold-deep: #B08537;
    --gold-soft: rgba(176,133,55,.10);
    --sage: #4A5D3F;
    --sage-deep: #2E3D27;
    --ink: #16110C;
    --ink-2: #2C2520;
    --ink-soft: #5A4F44;
    --ink-mute: #8A7E70;
    --rule: rgba(22,17,12,.10);
    --rule-soft: rgba(22,17,12,.06);
    --shadow-sm: 0 1px 2px rgba(22,17,12,.06), 0 2px 6px rgba(22,17,12,.04);
    --shadow-md: 0 4px 14px rgba(22,17,12,.10), 0 12px 28px rgba(22,17,12,.06);
    --shadow-lg: 0 8px 28px rgba(22,17,12,.12), 0 24px 60px rgba(22,17,12,.10);
    --serif: 'Fraunces', Georgia, serif;
    --sans: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
    /* TCFRR seal — circular brand mark with transparent background.

     Consumed by .trust-band .seal-tiny and .foot-seal as a CSS

     background-image. WebP, 192px square source. */

    --cfrr-logo: url("https://web-ebook-content.s3.us-west-2.amazonaws.com/system/thelifelinecards/advisor-image-1.webp");
}



* { box-sizing: border-box; margin: 0; padding: 0; }



body {

  background: var(--paper);

  color: var(--ink);

  font-family: var(--sans);

  line-height: 1.55;

  font-size: 16px;

}



a { color: inherit; }



img { max-width: 100%; display: block; }



.wrap {

  max-width: 1100px;

  margin: 0 auto;

  padding: 0 28px;

}



/* =====================================================

   TRUST BAND — top of every page in the TCFRR ecosystem

   ===================================================== */

.trust-band {

  background: linear-gradient(180deg, #0F0A06 0%, #1A130B 100%);

  color: var(--cream);

  padding: 14px 24px;

  position: relative;

  overflow: hidden;

}

.trust-band::after {

  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.5) 50%, transparent);

}

.trust-band-inner {

  display: flex; align-items: center; justify-content: center; gap: 12px;

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 600;

  letter-spacing: .22em;

  text-transform: uppercase;

}

.trust-band .seal-tiny {

  width: 22px; height: 22px;

  border-radius: 50%;

  background-color: #1A130B; /* fallback if --cfrr-logo unavailable */

  background-image: var(--cfrr-logo);

  background-size: contain;

  background-repeat: no-repeat;

  background-position: center;

  box-shadow:

    0 0 0 0.5px var(--gold),

    0 0 0 2.5px rgba(176,133,55,.4);

  flex-shrink: 0;

}

.trust-band .name {

  color: var(--paper);

  letter-spacing: .14em;

}

.trust-band .name .it {

  font-family: var(--serif);

  font-style: italic;

  font-weight: 400;

  letter-spacing: 0;

  text-transform: none;

  color: var(--gold);

  font-size: 13px;

  margin-left: 4px;

}



/* =====================================================

   HERO — advisor identity

   ===================================================== */

.hero {

  padding: 80px 0 70px;

  background:

    radial-gradient(ellipse 1000px 500px at 50% 0%, rgba(200,148,58,.08), transparent 65%),

    var(--paper);

  position: relative;

}

.hero::after {

  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.32) 50%, transparent);

}



.hero-grid {

  display: grid;

  grid-template-columns: 280px 1fr;

  gap: 64px;

  align-items: center;

}

@media (max-width: 820px) {

  .hero-grid {

    grid-template-columns: 1fr;

    gap: 32px;

    text-align: center;

    justify-items: center;

  }

}



/* Portrait — gold-ringed circular frame; same treatment as

   the CFRR seal and the story-section portraits, so the

   advisor visually belongs to the TCFRR family of marks. */

.hero-portrait {

  width: 260px; height: 260px;

  border-radius: 50%;

  background:

    var(--advisor-photo, none),

    linear-gradient(160deg, #2F2418 0%, #1A130B 100%);

  background-size: cover;

  background-position: center;

  box-shadow:

    0 0 0 1px rgba(176,133,55,.55),

    0 0 0 8px var(--paper),

    0 0 0 9px rgba(176,133,55,.45),

    0 18px 40px rgba(22,17,12,.18),

    0 6px 14px rgba(22,17,12,.10);

  display: grid; place-items: center;

  position: relative;

}

@media (max-width: 820px) {

  .hero-portrait { width: 200px; height: 200px; }

}



.hero-portrait .placeholder {

  color: var(--gold);

  opacity: .7;

}

.hero-portrait .verified-badge {

  position: absolute;

  bottom: -2px; right: 6px;

  background: linear-gradient(180deg, var(--sage), var(--sage-deep));

  color: var(--paper);

  font-family: var(--sans);

  font-size: 9px;

  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;

  padding: 7px 13px;

  border-radius: 999px;

  box-shadow:

    0 8px 18px rgba(46,61,39,.28),

    0 1px 0 rgba(255,255,255,.15) inset;

  white-space: nowrap;

  display: inline-flex;

  align-items: center;

  gap: 5px;

}

.hero-portrait .verified-badge::before {

  content: "";

  width: 8px; height: 8px;

  border-radius: 50%;

  background: var(--gold);

  box-shadow: 0 0 0 1.5px var(--paper);

}



.hero-id .eyebrow {

  display: inline-flex; align-items: center; gap: 12px;

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--gold-deep);

  margin-bottom: 16px;

}

.hero-id .eyebrow::before {

  content: "";

  width: 24px; height: 1px;

  background: var(--gold); opacity: .55;

}

@media (max-width: 820px) {

  .hero-id .eyebrow { justify-content: center; }

}



/* Founding Sponsor mark — honorific tier designation for

   the early advisor cohort. Italic crimson Fraunces flanked

   by gold-gradient hairlines, echoing the sponsor-note

   ornament style used further down the page. */

.hero-id .founding-mark {

  display: inline-flex;

  align-items: center;

  gap: 14px;

  margin-bottom: 14px;

  font-family: var(--serif);

  font-style: italic;

  font-size: 15px;

  font-weight: 400;

  color: var(--crimson);

  letter-spacing: .005em;

  line-height: 1;

}

.hero-id .founding-mark .mark-line {

  width: 28px;

  height: 1px;

  background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);

  flex-shrink: 0;

}

@media (max-width: 820px) {

  .hero-id .founding-mark { justify-content: center; }

}



.hero-id h1 {

  font-family: var(--serif);

  font-size: clamp(38px, 5vw, 58px);

  font-weight: 350;

  line-height: 1.05;

  letter-spacing: -.018em;

  color: var(--ink);

  margin-bottom: 12px;

}



.hero-id .role {

  font-family: var(--serif);

  font-size: clamp(18px, 2vw, 22px);

  font-weight: 400;

  font-style: italic;

  color: var(--ink-2);

  line-height: 1.3;

  margin-bottom: 20px;

}

.hero-id .role .firm {

  color: var(--ink);

  font-style: normal;

  font-weight: 500;

}



.hero-id .since {

  font-family: var(--sans);

  font-size: 14px;

  color: var(--ink-soft);

  font-weight: 500;

  line-height: 1.5;

}

.hero-id .since strong {

  color: var(--ink);

  font-weight: 700;

}



/* =====================================================

   VERIFICATION STRIP — factual public-record signals.

   Sits between hero (identity) and sponsor-note (TCFRR

   voice). Answers "is this person real and properly

   registered?" before any prose. Stays factual and

   quiet — not a marketing band.

   ===================================================== */

.verify-strip {

  padding: 36px 0 48px;

  background: var(--paper);

}



.verify-grid {
    display: grid;
    grid-template-columns: repeat(var(--header-box-number), 1fr);
    background: var(--cream);
    border: 1px solid var(--rule);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.verify-item {

  padding: 22px 22px;

  text-align: center;

  border-right: 1px solid var(--rule);

}

.verify-item:last-child { border-right: none; }



.verify-item .label {

  font-family: var(--sans);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .22em;

  text-transform: uppercase;

  color: var(--ink-mute);

  margin-bottom: 10px;

}

.verify-item .value {

  font-family: var(--serif);

  font-size: 18px;

  font-weight: 400;

  line-height: 1.3;

  color: var(--ink);

  letter-spacing: -.005em;

}

.verify-item .value .it {

  font-style: italic;

  color: var(--crimson);

}

.verify-item .value .reg {

  font-size: .55em;

  vertical-align: super;

  font-weight: 500;

}

.verify-item .value .muted {

  color: var(--ink-mute);

  font-weight: 350;

}



.verify-links {

  margin-top: 22px;

  display: flex;

  justify-content: center;

  gap: 12px;

  flex-wrap: wrap;

}

.verify-link {

  display: inline-flex;

  align-items: center;

  gap: 9px;

  padding: 11px 20px;

  background: var(--paper);

  border: 1px solid var(--rule);

  border-radius: 999px;

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;

  color: var(--ink-2);

  text-decoration: none;

  transition: border-color .18s ease, color .18s ease, background .18s ease;

}

.verify-link:hover {

  background: var(--cream);

  border-color: var(--gold);

  color: var(--ink);

}

.verify-link svg {

  opacity: .55;

  transition: transform .18s ease, opacity .18s ease;

}

.verify-link:hover svg { opacity: 1; transform: translate(1px, -1px); }



@media (max-width: 720px) {

  .verify-grid {

    grid-template-columns: repeat(1, 1fr);

  }

  .verify-item:nth-child(2) { border-right: none; }

  .verify-item:nth-child(1),

  .verify-item:nth-child(2) {

    border-bottom: 1px solid var(--rule);

  }

  .verify-item:nth-child(3) { border-right: 1px solid var(--rule); }

}

@media (max-width: 460px) {

  .verify-grid { grid-template-columns: 1fr; }

  .verify-item {

    border-right: none !important;

    border-bottom: 1px solid var(--rule);

  }

  .verify-item:last-child { border-bottom: none; }

}



/* =====================================================

   SPONSORSHIP EXPLAINER — what this listing means

   ===================================================== */

.sponsor-note {

  padding: 50px 0;

  background: var(--paper-2);

  position: relative;

}

.sponsor-note::after {

  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.32) 50%, transparent);

}

.sponsor-note-inner {

  max-width: 760px;

  margin: 0 auto;

  text-align: center;

}

.sponsor-note .ornament {

  display: flex; justify-content: center; align-items: center;

  gap: 14px;

  margin-bottom: 22px;

}

.sponsor-note .ornament .line {

  width: 50px; height: 1px;

  background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);

}

.sponsor-note .ornament .diamond {

  width: 6px; height: 6px;

  background: var(--gold);

  transform: rotate(45deg);

  opacity: .7;

}

.sponsor-note p {

  font-family: var(--serif);

  font-size: clamp(17px, 2.1vw, 22px);

  font-weight: 350;

  line-height: 1.55;

  color: var(--ink-2);

}

.sponsor-note p .it {

  font-style: italic;

  color: var(--crimson);

}

.sponsor-note p .tm {

  font-size: .55em;

  vertical-align: super;

}



/* =====================================================

   ADVISOR BIO — the advisor's own words about who they are

   Visually distinct from sponsor-note (TCFRR voice) so the

   reader knows "this is them speaking, not TCFRR".

   ===================================================== */

.advisor-bio {

  padding: 70px 0 80px;

  background: var(--paper);

  position: relative;

}

.advisor-bio::after {

  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.32) 50%, transparent);

}

.advisor-bio-inner {

  max-width: 720px;

  margin: 0 auto;

}

.advisor-bio .eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--gold-deep);

  margin-bottom: 18px;

}

.advisor-bio .eyebrow::before {

  content: ""; width: 28px; height: 1px;

  background: var(--gold); opacity: .55;

}

.advisor-bio h2 {

  font-family: var(--serif);

  font-size: clamp(28px, 3.6vw, 36px);

  font-weight: 350;

  line-height: 1.15;

  letter-spacing: -.012em;

  color: var(--ink);

  margin-bottom: 28px;

}

.advisor-bio h2 .it { font-style: italic; color: var(--crimson); }

.advisor-bio p {

  font-size: 17px;

  line-height: 1.7;

  color: var(--ink-2);

  margin-bottom: 16px;

}

.advisor-bio p:last-child { margin-bottom: 0; }

.advisor-bio p strong { color: var(--ink); font-weight: 600; }

/* Subtle italicized signature attribution */

.advisor-bio .signoff {

  margin-top: 28px;

  padding-top: 22px;

  border-top: 1px solid rgba(22,17,12,.08);

  font-family: var(--serif);

  font-size: 16px;

  font-style: italic;

  color: var(--ink-soft);

}

.advisor-bio .signoff strong {

  font-style: normal;

  color: var(--ink);

}



/* =====================================================

   ASK JENNIFER — factual topics neighbors call about.

   TCFRR-voiced. Sits between the advisor bio (her voice)

   and the programs section (the free-card CTA), so the

   only call-to-action that follows is for the free

   resource. Opens the door for outreach without becoming

   a services menu.

   ===================================================== */

.ask-jennifer {

  padding: 70px 0 80px;

  background: var(--paper-2);

  position: relative;

}

.ask-jennifer::after {

  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.32) 50%, transparent);

}

.ask-jennifer-inner {

  max-width: 720px;

  margin: 0 auto;

}

.ask-jennifer .eyebrow {

  display: inline-flex;

  align-items: center;

  gap: 12px;

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--gold-deep);

  margin-bottom: 18px;

}

.ask-jennifer .eyebrow::before {

  content: ""; width: 28px; height: 1px;

  background: var(--gold); opacity: .55;

}

.ask-jennifer h2 {

  font-family: var(--serif);

  font-size: clamp(28px, 3.6vw, 36px);

  font-weight: 350;

  line-height: 1.15;

  letter-spacing: -.012em;

  color: var(--ink);

  margin-bottom: 16px;

}

.ask-jennifer h2 .it { font-style: italic; color: var(--crimson); }

.ask-jennifer .lede {

  font-family: var(--serif);

  font-size: 17px;

  font-weight: 350;

  line-height: 1.65;

  color: var(--ink-2);

  margin-bottom: 36px;

  max-width: 620px;

}



.topic-list {

  list-style: none;

  padding: 0;

  margin: 0;

  border-top: 1px solid var(--rule);

}

.topic-row {

  display: grid;

  grid-template-columns: 60px 1fr;

  gap: 20px;

  padding: 26px 0;

  border-bottom: 1px solid var(--rule);

  align-items: baseline;

}

.topic-row .numeral {

  font-family: var(--serif);

  font-style: italic;

  font-size: 22px;

  font-weight: 350;

  color: var(--gold-deep);

  letter-spacing: .02em;

  line-height: 1;

}

.topic-row .body .topic {

  font-family: var(--serif);

  font-size: 19px;

  font-weight: 400;

  color: var(--ink);

  line-height: 1.35;

  margin-bottom: 6px;

  letter-spacing: -.005em;

}

.topic-row .body .desc {

  font-family: var(--sans);

  font-size: 14px;

  color: var(--ink-soft);

  line-height: 1.6;

}



@media (max-width: 600px) {

  .topic-row {

    grid-template-columns: 40px 1fr;

    gap: 14px;

    padding: 22px 0;

  }

  .topic-row .numeral { font-size: 19px; }

  .topic-row .body .topic { font-size: 18px; }

}



/* =====================================================

   MAIN CONTENT — bio + contact rail

   ===================================================== */

.profile {

  padding: 80px 0;

  background: var(--paper);

}

.profile-grid {

  display: grid;

  grid-template-columns: 1fr 320px;

  gap: 64px;

  align-items: start;

}

@media (max-width: 880px) {

  .profile-grid {

    grid-template-columns: 1fr;

    gap: 48px;

  }

}



/* Bio (right-side primary content on desktop, top on mobile) */

.bio { order: 2; }

@media (max-width: 880px) { .bio { order: 1; } }



.bio .eyebrow {

  display: inline-flex; align-items: center; gap: 12px;

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--gold-deep);

  margin-bottom: 18px;

}

.bio .eyebrow::before {

  content: "";

  width: 24px; height: 1px;

  background: var(--gold); opacity: .55;

}



.bio h2 {

  font-family: var(--serif);

  font-size: clamp(30px, 3.6vw, 42px);

  font-weight: 350;

  line-height: 1.1;

  letter-spacing: -.012em;

  color: var(--ink);

  margin-bottom: 24px;

}

.bio h2 .it { font-style: italic; color: var(--crimson); }



.bio p {

  font-family: var(--serif);

  font-size: 18px;

  line-height: 1.7;

  color: var(--ink-2);

  margin-bottom: 18px;

  font-weight: 350;

}

.bio p strong { color: var(--ink); font-weight: 500; }



.bio .pullquote {

  font-family: var(--serif);

  font-size: 22px;

  font-style: italic;

  font-weight: 350;

  line-height: 1.45;

  color: var(--crimson);

  border-left: 3px solid var(--gold);

  padding: 8px 0 8px 24px;

  margin: 32px 0;

}

.bio .pullquote .quote-attrib {

  font-family: var(--sans);

  font-size: 11px;

  font-style: normal;

  font-weight: 700;

  letter-spacing: .22em;

  text-transform: uppercase;

  color: var(--ink-soft);

  margin-top: 14px;

}



.bio .why-section {

  margin-top: 48px;

  padding-top: 48px;

  border-top: 1px solid var(--rule);

}

.bio .why-section h3 {

  font-family: var(--serif);

  font-size: 24px;

  font-weight: 400;

  color: var(--ink);

  margin-bottom: 16px;

  letter-spacing: -.005em;

}

.bio .why-section h3 .it { font-style: italic; color: var(--crimson); }



/* Contact rail (left-side fixed-width column on desktop) */

.contact-rail { order: 1; }

@media (max-width: 880px) { .contact-rail { order: 2; } }



.contact-card {

  background: var(--cream);

  border: 1px solid var(--rule);

  border-radius: 16px;

  padding: 32px;

  box-shadow: var(--shadow-sm);

  position: sticky;

  top: 24px;

}

@media (max-width: 880px) {

  .contact-card { position: static; }

}



.contact-card h3 {

  font-family: var(--serif);

  font-size: 22px;

  font-weight: 400;

  color: var(--ink);

  margin-bottom: 4px;

  letter-spacing: -.005em;

}

.contact-card .sublead {

  font-size: 13px;

  color: var(--ink-soft);

  font-weight: 500;

  margin-bottom: 24px;

  line-height: 1.5;

}



.contact-row {

  display: flex; align-items: flex-start; gap: 14px;

  padding: 16px 0;

  border-bottom: 1px solid var(--rule-soft);

}

.contact-row:last-child { border-bottom: none; padding-bottom: 0; }

.contact-row:first-of-type { padding-top: 0; }



.contact-row .ico {

  width: 36px; height: 36px;

  border-radius: 50%;

  background: var(--gold-soft);

  color: var(--gold-deep);

  display: grid; place-items: center;

  flex-shrink: 0;

}

.contact-row .body {

  flex: 1;

}

.contact-row .label {

  font-family: var(--sans);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .22em;

  text-transform: uppercase;

  color: var(--ink-mute);

  margin-bottom: 4px;

}

.contact-row .value {

  font-family: var(--sans);

  font-size: 15px;

  font-weight: 600;

  color: var(--ink);

  line-height: 1.4;

}

.contact-row .meta {

  font-size: 12px;

  color: var(--ink-soft);

  margin-top: 4px;

  font-weight: 500;

}

.contact-row .value a {

  text-decoration: none;

  border-bottom: 1px dotted var(--gold);

  padding-bottom: 1px;

  transition: color .15s ease, border-color .15s ease;

}

.contact-row .value a:hover { color: var(--crimson); border-color: var(--crimson); }



.contact-card .footnote {

  margin-top: 20px;

  padding-top: 20px;

  border-top: 1px solid var(--rule-soft);

  font-size: 12px;

  color: var(--ink-soft);

  line-height: 1.55;

  font-style: italic;

}



/* =====================================================

   COMMUNITY PROGRAMS SECTION

   The Lifeline Card is the only program right now;

   layout supports more being added later.

   ===================================================== */

.programs {

  padding: 80px 0;

  background: var(--paper-2);

  position: relative;

}

.programs::before {

  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.32) 50%, transparent);

}



.programs .head {

  text-align: center;

  max-width: 680px;

  margin: 0 auto 48px;

}

.programs .eyebrow {

  display: inline-flex; align-items: center; gap: 12px;

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--gold-deep);

  margin-bottom: 18px;

}

.programs .eyebrow::before, .programs .eyebrow::after {

  content: "";

  width: 24px; height: 1px;

  background: var(--gold); opacity: .55;

}

.programs h2 {

  font-family: var(--serif);

  font-size: clamp(30px, 3.6vw, 42px);

  font-weight: 350;

  line-height: 1.1;

  letter-spacing: -.012em;

  margin-bottom: 14px;

}

.programs h2 .it { font-style: italic; color: var(--crimson); }

.programs .head p {

  font-size: 16px;

  color: var(--ink-soft);

  line-height: 1.65;

}



.program-grid {

  display: grid;

  grid-template-columns: 1fr;

  gap: 24px;

  max-width: 720px;

  margin: 0 auto;

}



.program-card {

  background: var(--cream);

  border: 1px solid var(--rule);

  border-radius: 18px;

  padding: 36px 40px;

  box-shadow: var(--shadow-sm);

  position: relative;

  overflow: hidden;

  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;

}

.program-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }

.program-card::before {

  content: ""; position: absolute; left: 0; top: 0; bottom: 0;

  width: 4px;

  background: linear-gradient(180deg, var(--crimson), var(--crimson-deep));

}



.program-card .program-eyebrow {

  font-family: var(--sans);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: .26em;

  text-transform: uppercase;

  color: var(--crimson);

  margin-bottom: 8px;

}



.program-card h3 {

  font-family: var(--serif);

  font-size: 28px;

  font-weight: 400;

  letter-spacing: -.012em;

  margin-bottom: 14px;

  color: var(--ink);

}

.program-card h3 .it { font-style: italic; color: var(--crimson); }

.program-card h3 .tm { font-size: .55em; vertical-align: super; }



.program-card p {

  font-size: 15px;

  line-height: 1.65;

  color: var(--ink-2);

  margin-bottom: 24px;

}



.program-card .cta {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  background: linear-gradient(180deg, var(--crimson), var(--crimson-deep));

  color: var(--cream);

  padding: 12px 22px;

  border-radius: 999px;

  text-decoration: none;

  font-family: var(--sans);

  font-size: 14px;

  font-weight: 600;

  letter-spacing: .02em;

  box-shadow:

    0 6px 18px rgba(155,34,38,.28),

    0 1px 0 rgba(255,255,255,.10) inset;

  transition: transform .2s ease;

}

.program-card .cta:hover { transform: translateY(-1px); }

.program-card .cta svg {

  transition: transform .25s ease;

}

.program-card .cta:hover svg { transform: translateX(3px); }



/* =====================================================

   DISCLOSURES SECTION — compliance language

   Visually de-emphasized but present.

   ===================================================== */

.disclosures {

  padding: 56px 0;

  background: var(--paper);

}

.disclosures-inner {

  max-width: 720px;

  margin: 0 auto;

  font-family: var(--sans);

  font-size: 12px;

  line-height: 1.65;

  color: var(--ink-soft);

}

.disclosures h3 {

  font-family: var(--sans);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: .22em;

  text-transform: uppercase;

  color: var(--ink-mute);

  margin-bottom: 16px;

  text-align: center;

}

.disclosures p {

  margin-bottom: 12px;

}

.disclosures p:last-child { margin-bottom: 0; }

.disclosures strong { color: var(--ink-2); font-weight: 600; }



/* =====================================================

   FOOTER

   ===================================================== */

.foot {

  background: linear-gradient(180deg, #0F0A06 0%, #1A130B 100%);

  color: var(--cream);

  padding: 56px 0 48px;

  position: relative;

}

.foot::before {

  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;

  background: linear-gradient(90deg, transparent, rgba(176,133,55,.5) 50%, transparent);

}

.foot-inner {

  text-align: center;

}

.foot-seal {

  width: 60px; height: 60px;

  margin: 0 auto 20px;

  border-radius: 50%;

  background-color: #1A130B; /* fallback if --cfrr-logo unavailable */

  background-image: var(--cfrr-logo);

  background-size: contain;

  background-repeat: no-repeat;

  background-position: center;

  box-shadow:

    0 0 0 0.5px var(--gold),

    0 0 0 4.5px rgba(176,133,55,.4);

}

.foot h4 {

  font-family: var(--serif);

  font-size: 18px;

  font-weight: 400;

  margin-bottom: 6px;

}

.foot h4 .it { font-style: italic; color: var(--gold); }

.foot .foot-sub {

  font-family: var(--sans);

  font-size: 13px;

  color: rgba(244,239,227,.65);

  margin-bottom: 28px;

}

.foot .foot-links {

  display: flex; justify-content: center; gap: 24px;

  font-size: 12px;

  letter-spacing: .12em;

  text-transform: uppercase;

  font-weight: 600;

  margin-bottom: 28px;

  flex-wrap: wrap;

}

.foot .foot-links a {

  color: rgba(244,239,227,.7);

  text-decoration: none;

  transition: color .15s ease;

}

.foot .foot-links a:hover { color: var(--gold); }

.foot .copyright {

  font-size: 11px;

  color: rgba(244,239,227,.45);

  letter-spacing: .04em;

}