/* Landing pages for ads (burialassistance., burialcoverage., finalexpense., termlife., wholelife., homeprotection.,
   iul. cainlife.com). Same cream, navy and gold as the main site, with one green "Call Now" button that glows. */
:root {
  --cream: #FBF8F1; --paper: #FFFFFF; --navy: #14235A; --ink: #2A3565; --soft: #5E6A95; --gold: #B58A4A; --line: #E6DDCB;
  --blue: #0F5BB5; --green: #23874A; --green-dark: #1B6E3B; --rate: #DCEBFB; --rate-edge: #8DB8E8;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 18px/1.6 var(--sans); -webkit-text-size-adjust: 100%; }
a { color: var(--navy); }
a:focus-visible, .cta:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 6px; }
[hidden] { display: none !important; }
.wrap { width: min(760px, 100%); margin: 0 auto; padding: 0 20px; }

/* ---- top bar ---- */
.bar { background: var(--paper); border-bottom: 3px solid var(--navy); }
.bar .wrap { width: min(1040px, 100%); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; padding-bottom: 12px; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--navy); text-decoration: none; min-width: 0; }
.brand img { width: 48px; height: 48px; flex: none; }
.brand b { display: block; font: 1.2rem/1.15 var(--serif); letter-spacing: 0.12em; }
.brand small { display: block; font: 700 0.68rem/1.3 var(--sans); letter-spacing: 0.08em; color: var(--soft); text-transform: uppercase; }
.agent { text-align: right; line-height: 1.35; }
.agent strong { display: block; font-size: 0.95rem; color: var(--navy); }
.agent a { font-weight: 700; font-size: 1.15rem; color: var(--green-dark); }
.agent span { display: block; font-size: 0.85rem; color: var(--soft); }

/* ---- content ---- */
main.wrap { padding-top: 34px; padding-bottom: 24px; }
.kicker { margin: 0 0 10px; text-align: center; color: var(--gold); font: 700 0.85rem var(--sans); letter-spacing: 0.14em; text-transform: uppercase; }
h1 { margin: 0 0 22px; text-align: center; color: var(--navy); font: 400 clamp(1.9rem, 6vw, 2.9rem)/1.12 var(--serif); letter-spacing: -0.01em; text-wrap: balance; }
h2 { margin: 36px 0 12px; color: var(--navy); font: 400 clamp(1.5rem, 4.5vw, 2rem)/1.2 var(--serif); text-wrap: balance; }
p { margin: 0 0 16px; text-wrap: pretty; }
.sub { text-align: center; font-size: 1.12rem; color: var(--ink); margin-bottom: 26px; }
.tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.tags li { padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--navy); font-size: 0.9rem; font-weight: 600; }
.steps { margin: 26px 0 8px; }
.steps h2 { margin-top: 0; font-size: 1.35rem; font-family: var(--sans); font-weight: 700; }
.steps p b { color: var(--navy); }
.note { text-align: center; font-size: 0.9rem; color: var(--soft); }

/* ---- the two choices: green Call button (glows), and the online quote link ---- */
.choose { margin: 26px 0 30px; text-align: center; }
.cta { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; min-height: 84px; padding: 14px 18px;
       background: var(--green); color: #fff; text-decoration: none; border-radius: 16px; animation: glow 2.2s ease-in-out infinite; }
.cta:hover { background: var(--green-dark); }
.cta .big { display: inline-flex; align-items: center; gap: 12px; font: 700 clamp(1.35rem, 5.4vw, 1.8rem)/1.2 var(--sans); }
.cta .big svg { width: 1.15em; height: 1.15em; flex: none; }
.cta .small { font: 600 clamp(0.92rem, 3.6vw, 1.08rem)/1.3 var(--sans); color: rgba(255, 255, 255, 0.85); letter-spacing: 0.02em; }
.online { display: inline-block; margin-top: 16px; padding: 6px 4px; color: var(--blue); font: 700 clamp(1.15rem, 4.6vw, 1.4rem)/1.3 var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.online:hover { color: #0B4A96; }
@keyframes glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(35, 135, 74, 0.0), 0 6px 16px rgba(20, 35, 90, 0.12); }
  50% { box-shadow: 0 0 0 9px rgba(35, 135, 74, 0.22), 0 0 26px 8px rgba(35, 135, 74, 0.35); }
}
@media (prefers-reduced-motion: reduce) { .cta { animation: none; box-shadow: 0 0 0 6px rgba(35, 135, 74, 0.2); } }

/* ---- sample rates ---- */
.rates { margin: 22px 0 26px; padding: 22px 18px 16px; background: #F3F8FE; border-radius: 12px; text-align: center; }
.rates h2 { margin: 0 0 14px; font: 900 clamp(1.7rem, 7vw, 2.4rem)/1.1 var(--sans); letter-spacing: 0.01em; color: #111; }
.rates ul { list-style: none; margin: 0 auto; padding: 0; max-width: 480px; display: grid; gap: 12px; }
.rates li { padding: 10px 12px; background: var(--rate); border: 3px solid var(--rate-edge); border-radius: 10px; font: 800 clamp(1.2rem, 5.2vw, 1.6rem)/1.2 var(--sans); color: #111; }
.rates small { display: block; margin-top: 12px; font: italic 0.92rem/1.4 var(--sans); color: #222; }

/* ---- carriers ---- */
.carriers { margin: 34px 0 10px; text-align: center; }
.carriers h2 { margin: 0 0 16px; }
.carriers ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.carriers li { display: grid; place-items: center; min-height: 76px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.carriers img { max-width: 100%; max-height: 50px; width: auto; height: auto; }
.carriers p { margin-top: 10px; font-size: 0.82rem; color: var(--soft); }

/* ---- what it covers ---- */
.covers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.covers li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; color: var(--navy); font-weight: 600; }
.covers li::before { content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat; }
.close { margin-top: 40px; padding: 26px 18px 6px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; text-align: center; }
.close h2 { margin-top: 0; }

/* ---- footer ---- */
footer { margin-top: 18px; padding: 26px 0 36px; background: #EFEAE0; color: var(--ink); font-size: 0.86rem; line-height: 1.55; }
footer p { margin: 0 0 12px; }
footer .links a { margin-right: 4px; }
footer .who { font-weight: 700; color: var(--navy); }

@media (max-width: 620px) {
  body { font-size: 17px; }
  .wrap { padding: 0 16px; }
  .bar .wrap { flex-direction: column; align-items: stretch; gap: 8px; }
  .agent { text-align: left; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
  .agent strong { width: 100%; }
  .agent span { display: inline; }
  main.wrap { padding-top: 24px; }
  .carriers ul { grid-template-columns: repeat(2, 1fr); }
  .covers { grid-template-columns: 1fr; }
}
