/* Life Insurance Learn — shared stylesheet
   Direction A: "Library / editorial" (chosen by James 2026-07-16)
   Static site: plain HTML + this CSS. No build step. */

:root{
  --paper:#faf8f3; --ink:#1f2a37; --muted:#5b6673; --line:#e4ddce;
  --accent:#2f6f6a; --accent-dark:#245853; --accent-soft:#e7f0ef; --gold:#806331;
  --maxw:960px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;line-height:1.6;font-size:18px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* Draft/mockup banner — remove at launch */
.mockup-banner{background:#7a2e2e;color:#fff;text-align:center;
  font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.5px;padding:7px 12px}

/* Header + nav */
header.site{border-bottom:1px solid var(--line);background:var(--paper)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:16px;flex-wrap:wrap}
.brand{font-size:24px;font-weight:700;letter-spacing:.3px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand span{color:var(--accent)}
nav.main{font-family:Arial,Helvetica,sans-serif;font-size:15px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
nav.main a{color:var(--muted)}
nav.main a:hover{color:var(--ink)}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:14px}
.toggle a{padding:6px 16px;color:var(--muted)}
.toggle a.on{background:var(--accent);color:#fff}
.toggle a.on:hover{text-decoration:none}

/* Breadcrumb */
.crumb{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--muted);padding:18px 0 0}
.crumb a{color:var(--muted)}

/* Hero */
.hero{padding:56px 0 40px}
.hero h1{font-size:40px;line-height:1.2;margin:0 0 14px;font-weight:700}
.hero p.lead{font-size:20px;color:var(--muted);margin:0 0 26px;max-width:660px}

/* Answer-first "short version" box */
.short{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);
  padding:18px 22px;max-width:700px;border-radius:4px}
.short h2{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  color:var(--gold);margin:0 0 8px}
.short p{margin:0;font-size:17px}

/* Section heads */
h2.section{font-size:15px;font-family:Arial,Helvetica,sans-serif;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px;margin:52px 0 24px}

/* Article body (content pages) */
.article{max-width:720px;padding:8px 0 20px}
.article h2{font-size:27px;margin:40px 0 12px;line-height:1.25}
.article h3{font-size:21px;margin:28px 0 8px}
.article p{margin:0 0 16px}
.article ul,.article ol{margin:0 0 18px;padding-left:22px}
.article li{margin:0 0 8px}
.term{border-bottom:1px dotted var(--gold);cursor:help}
blockquote{margin:20px 0;padding:12px 20px;border-left:3px solid var(--accent);background:#fff;color:#3a4652}

/* Category blocks — one card style for every kind of page.
   The whole card is the click target: the heading holds the only real link and
   its ::after stretches over the card. Keeps one link per card for screen
   readers and keyboards, while giving a full-size tap target on phones. */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two-up{grid-template-columns:1fr 1fr}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.card{position:relative;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--accent);border-radius:0;padding:20px 22px;
  display:flex;flex-direction:column;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease}
.card:hover,.card:focus-within{border-color:#cfc3aa;border-left-color:var(--accent-dark);
  box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-2px)}
.card .kind{flex:0 0 auto;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--gold);margin:0 0 8px;display:flex;align-items:center;gap:6px}
.card .kind svg{width:14px;height:14px;flex:0 0 auto}
.kind svg,.icon svg{fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.tool-band .icon{color:var(--accent-dark)}
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.card h3{margin:0 0 8px;font-size:21px;line-height:1.25}
.card h3 a{color:var(--ink)}
.card h3 a:hover{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card h3 a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.card p{margin:0 0 14px;font-size:16px;color:var(--muted);flex:1}
.card .more{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:bold;color:var(--accent)}
.card:hover .more{text-decoration:underline}

/* Tool band — the calculator, promoted out of the grid */
.tool-band{position:relative;background:var(--accent-dark);padding:24px 26px;margin:24px 0 0;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;transition:background .15s ease}
.tool-band:hover,.tool-band:focus-within{background:#1d4844}
.tool-band .icon{flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  background:var(--accent-soft);display:flex;align-items:center;justify-content:center}
.tool-band .icon svg{width:24px;height:24px}
.tool-band .band-body{flex:1 1 260px}
.tool-band .kind{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:1.2px;
  text-transform:uppercase;color:#b9d6d3;margin:0 0 5px}
.tool-band h3{margin:0 0 4px;font-size:22px;color:#fff;line-height:1.25}
.tool-band h3 a{color:#fff}
.tool-band h3 a:hover{text-decoration:none}
.tool-band h3 a::after{content:"";position:absolute;inset:0}
.tool-band h3 a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.tool-band p{margin:0;font-size:16px;color:#d3e5e3}
.tool-band .cta{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:bold;color:#fff;
  border:1px solid #a6ccc8;padding:9px 16px;white-space:nowrap}
.tool-band:hover .cta{background:rgba(255,255,255,.12)}

@media(prefers-reduced-motion:reduce){
  .card,.tool-band{transition:none}
  .card:hover,.card:focus-within{transform:none}
}

/* Pills */
.pill{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:13px;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:5px 12px;margin:4px 6px 0 0;color:var(--muted)}

/* Comparison table */
table.compare{width:100%;border-collapse:collapse;margin:22px 0;background:#fff;font-size:16px}
table.compare th,table.compare td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
table.compare th{background:var(--accent-soft);font-family:Arial,Helvetica,sans-serif;font-size:14px}
table.compare caption{caption-side:top;text-align:left;font-family:Arial,Helvetica,sans-serif;font-size:13px;
  color:var(--muted);margin-bottom:6px}

/* FAQ */
.faq{margin:16px 0}
.faq details{background:#fff;border:1px solid var(--line);border-radius:6px;margin:0 0 10px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:700;padding:14px 0;font-size:18px}
.faq details[open] summary{border-bottom:1px solid var(--line);margin-bottom:10px}
.faq p{margin:0 0 14px}

/* Inline diagrams */
.diagram{margin:22px 0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 16px}
.diagram svg{width:100%;height:auto;max-width:660px;display:block;margin:0 auto}
.diagram figcaption{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:var(--muted);
  margin-top:12px;text-align:center;line-height:1.5}

/* "More options" differentiator block */
.more-options{border:1px dashed var(--gold);border-radius:6px;padding:22px;margin-top:26px;background:#fffdf7}
.more-options h3{margin:0 0 6px;font-size:20px}
.more-options p{margin:0 0 8px;color:var(--muted);font-size:16px}

/* Cross-site pointer */
.cross{border:1px dashed var(--gold);border-radius:6px;padding:22px;margin-top:26px;background:#fffdf7}
.cross h3{margin:0 0 6px;font-size:20px}
.cross p{margin:0;color:var(--muted);font-size:16px}

/* Sources block */
.sources{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 22px;margin:30px 0;font-size:15px}
.sources h3{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  color:var(--muted);margin:0 0 10px}
.sources ul{margin:0;padding-left:20px}
.sources li{margin:0 0 7px;color:var(--muted)}

/* Footer */
footer{margin-top:60px;border-top:1px solid var(--line);background:#f4efe4}
.foot-in{padding:30px 0;font-size:14px;color:var(--muted);font-family:Arial,Helvetica,sans-serif;line-height:1.7}
.disclaimer{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:18px;color:#42505e}
.pub{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.byline{font-style:italic;font-family:Georgia,serif;color:#42505e;margin-top:10px}
.updated{color:var(--muted);font-size:13px;font-family:Arial,Helvetica,sans-serif}
.correction{margin:14px 0 0;padding:12px 14px;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--gold);border-radius:0;color:#42505e}
.correction a{font-weight:bold}
.foot-links{margin-top:10px}
.foot-links a{color:var(--muted)}

@media(max-width:900px){
  .cards{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  body{font-size:17px}
  .cards,.cards.two-up,.two{grid-template-columns:1fr}
  .tool-band{align-items:flex-start}
  .hero h1{font-size:32px}
  .article h2{font-size:23px}
}

/* Section accordions — collapse long-page sections. Content stays in the HTML, so
   crawlers and AI engines still read it (accordion content is indexed under mobile-first). */
details.acc{border:1px solid var(--line);border-radius:8px;margin:18px 0;background:#fff}
details.acc>summary{cursor:pointer;list-style:none;padding:16px 22px;font-size:24px;line-height:1.25;
  font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:14px}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:"+";font-size:28px;font-weight:400;color:var(--accent);line-height:1}
details.acc[open]>summary::after{content:"\2013"}
details.acc[open]>summary{border-bottom:1px solid var(--line)}
details.acc>summary:hover{color:var(--accent)}
details.acc>summary h2{margin:0;font:inherit;color:inherit;display:inline;letter-spacing:normal;text-transform:none}

details.acc>*:not(summary){padding-left:22px;padding-right:22px}
details.acc>*:not(summary):last-child{padding-bottom:8px}
@media(max-width:760px){ details.acc>summary{font-size:20px} }
