/* ===========================================================
   LifePath legal pages shared styles  (privacy.php / terms.php)
   Drop this file in the same web directory as the .php pages,
   or fold these rules into the site's main stylesheet and
   delete the <link> tag from each page.
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Mulish:wght@400;500;600;700&display=swap');

:root{
  --bg:#faf7f2;
  --surface:#ffffff;
  --ink:#2a2926;
  --muted:#6f6b64;
  --soft-ink:#544f48;
  --accent:#2f8f7d;
  --accent-ink:#1f6b5d;
  --accent-soft:#e6f1ee;
  --border:#ebe5db;
  --rule:#f0ebe2;
  --warn-bg:#fff6e9;
  --warn-border:#f0d9a8;
  --warn-ink:#8a5a14;
  --care-bg:#fdeee8;
  --care-border:#f3c9b8;
  --care-ink:#9c4a2c;
  --radius:14px;
  --measure:760px;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Mulish',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.skip-link{
  position:absolute;left:-999px;top:0;
  background:var(--accent-ink);color:#fff;padding:10px 16px;
  border-radius:0 0 8px 0;z-index:100;
}
.skip-link:focus{left:0;}

a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--accent);}

/* ---- top bar ---- */
.lp-bar{
  background:var(--surface);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:20;
}
.lp-bar-inner{
  max-width:1080px;margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.lp-wordmark{
  font-family:'Fraunces',serif;font-weight:600;font-size:1.32rem;
  color:var(--ink);text-decoration:none;letter-spacing:-0.01em;
  display:inline-flex;align-items:center;gap:9px;
}
.lp-wordmark .dot{
  width:11px;height:11px;border-radius:50%;
  background:var(--accent);display:inline-block;
}
.lp-back{font-size:.93rem;font-weight:600;text-decoration:none;}
.lp-back:hover{text-decoration:underline;}

/* ---- review banner (DELETE BEFORE PUBLISHING) ---- */
.lp-review{
  background:var(--warn-bg);
  border-bottom:1px solid var(--warn-border);
  color:var(--warn-ink);
}
.lp-review-inner{
  max-width:var(--measure);margin:0 auto;padding:12px 24px;
  font-size:.9rem;line-height:1.5;
}
.lp-review strong{font-weight:700;}

/* ---- page shell ---- */
.lp-wrap{max-width:var(--measure);margin:0 auto;padding:0 24px;}

.lp-head{padding:54px 0 28px;border-bottom:1px solid var(--rule);}
.lp-eyebrow{
  font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent-ink);margin:0 0 12px;
}
.lp-head h1{
  font-family:'Fraunces',serif;font-weight:600;
  font-size:clamp(2rem,5vw,2.7rem);line-height:1.1;letter-spacing:-0.02em;
  margin:0 0 14px;color:var(--ink);
}
.lp-updated{color:var(--muted);font-size:.95rem;margin:0;}

/* ---- table of contents ---- */
.lp-toc{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:22px 26px;margin:30px 0 8px;
}
.lp-toc h2{
  font-family:'Mulish',sans-serif;font-size:.78rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  margin:0 0 14px;
}
.lp-toc ol{margin:0;padding:0;list-style:none;
  columns:2;column-gap:34px;}
.lp-toc li{margin:0 0 9px;font-size:.95rem;break-inside:avoid;}
.lp-toc a{text-decoration:none;color:var(--soft-ink);}
.lp-toc a:hover{color:var(--accent-ink);text-decoration:underline;}

/* ---- body content ---- */
.lp-body{padding:18px 0 20px;}
.lp-body section{padding:24px 0;border-top:1px solid var(--rule);scroll-margin-top:84px;}
.lp-body section:first-of-type{border-top:none;}

.lp-body h2{
  font-family:'Fraunces',serif;font-weight:600;
  font-size:1.5rem;line-height:1.2;letter-spacing:-0.01em;
  margin:0 0 14px;color:var(--ink);
}
.lp-body h3{
  font-family:'Mulish',sans-serif;font-weight:700;
  font-size:1.06rem;margin:22px 0 8px;color:var(--ink);
}
.lp-body p{margin:0 0 15px;color:var(--soft-ink);}
.lp-body ul,.lp-body ol{margin:0 0 15px;padding-left:1.3em;color:var(--soft-ink);}
.lp-body li{margin:0 0 8px;}
.lp-body strong{color:var(--ink);font-weight:700;}

.lp-lead{font-size:1.05rem;color:var(--soft-ink);}

/* ---- summary card ---- */
.lp-summary{
  background:var(--accent-soft);
  border:1px solid #cfe6df;
  border-radius:var(--radius);
  padding:26px 30px;margin:30px 0 6px;
}
.lp-summary h2{
  font-family:'Fraunces',serif;font-size:1.2rem;margin:0 0 12px;color:var(--accent-ink);
}
.lp-summary ul{margin:0;padding-left:1.2em;color:var(--soft-ink);}
.lp-summary li{margin:0 0 9px;}
.lp-summary li::marker{color:var(--accent);}

/* ---- callout boxes ---- */
.lp-callout{
  border-radius:var(--radius);padding:20px 24px;margin:6px 0 20px;
  font-size:.98rem;
}
.lp-callout h3{margin:0 0 8px;font-size:1.02rem;}
.lp-callout p{margin:0 0 10px;}
.lp-callout p:last-child{margin-bottom:0;}

.lp-callout.care{
  background:var(--care-bg);border:1px solid var(--care-border);
}
.lp-callout.care h3{color:var(--care-ink);}
.lp-callout.care p{color:#7a4231;}

.lp-callout.note{
  background:var(--surface);border:1px solid var(--border);
}
.lp-callout.note h3{color:var(--accent-ink);}

/* ---- table (cookies) ---- */
.lp-table-wrap{overflow-x:auto;margin:6px 0 18px;}
table.lp-table{
  border-collapse:collapse;width:100%;font-size:.92rem;
  background:var(--surface);border:1px solid var(--border);border-radius:10px;
}
table.lp-table th,table.lp-table td{
  text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--rule);
}
table.lp-table th{
  background:#f6f1ea;font-weight:700;color:var(--ink);
  font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
}
table.lp-table tr:last-child td{border-bottom:none;}
table.lp-table td{color:var(--soft-ink);}

/* ---- contact block ---- */
.lp-contact{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px 22px;margin:6px 0 4px;
  font-size:.96rem;color:var(--soft-ink);line-height:1.6;
}

/* ---- footer ---- */
.lp-foot{
  border-top:1px solid var(--border);margin-top:30px;background:var(--surface);
}
.lp-foot-inner{
  max-width:var(--measure);margin:0 auto;padding:30px 24px 46px;
  display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;
}
.lp-foot .brand{font-family:'Fraunces',serif;font-weight:600;color:var(--ink);}
.lp-foot nav{display:flex;gap:20px;flex-wrap:wrap;}
.lp-foot nav a{font-size:.93rem;font-weight:600;text-decoration:none;color:var(--soft-ink);}
.lp-foot nav a:hover{color:var(--accent-ink);}
.lp-foot .copy{width:100%;font-size:.85rem;color:var(--muted);margin-top:4px;}

@media (max-width:620px){
  body{font-size:16px;}
  .lp-toc ol{columns:1;}
  .lp-bar-inner{padding:14px 18px;}
  .lp-wrap{padding:0 18px;}
}
