/* ════════════════════════════════════════════════════════════
   CapitalCalcs — shared styles for content/legal pages
   Emerald Glass design system (dark)
   ════════════════════════════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
:root {
  --navy:#F6F1E7; --navy-mid:#FFFDF8; --navy-light:#EFE9DB;
  --teal:#237A52; --teal-bright:#2C8F63; --teal-dim:rgba(35,122,82,0.10); --teal-dim2:rgba(35,122,82,0.06);
  --lilac:#237A52; --lime:#C99A2E;
  --slate:#6A6356; --white:#231C12;
  --border:rgba(44,42,32,0.15); --border-glow:rgba(35,122,82,0.30); --radius:18px;
  --text:#231C12; --text-sub:#6A6356;
  --glass:#FFFDF8;
  --glow-shadow:0 1px 3px rgba(44,42,32,0.05);
  --font-display:'Fraunces', Georgia, serif; --font-body:'DM Sans', sans-serif;
}
body {
  font-family:var(--font-body); background:var(--navy); color:var(--text);
  min-height:100vh; position:relative; overflow-x:hidden; line-height:1.65;
}
body::before {
  content:''; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(1000px 560px at 82% -10%, rgba(70,176,126,0.08), transparent 60%),
    radial-gradient(760px 480px at 8% 8%, rgba(167,139,250,0.09), transparent 55%);
}
a { color:var(--teal); text-decoration:none; }
a:hover { text-decoration:underline; }

/* ── NAV ── */
.pg-nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 48px; position:sticky; top:0; z-index:50;
  background:rgba(6,9,11,0.72); backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid var(--border);
}
.pg-logo { display:flex; align-items:center; gap:11px; }
.pg-logo svg { width:32px; height:32px; filter:drop-shadow(0 0 10px rgba(70,176,126,0.40)); }
.pg-logo .word { font-family:var(--font-display); font-weight:700; font-size:1.3rem; letter-spacing:-0.5px; color:var(--text); }
.pg-logo .word span { color:var(--teal); }
.pg-nav-links { display:flex; gap:28px; align-items:center; }
.pg-nav-links a { color:var(--text-sub); font-size:0.9rem; font-weight:500; }
.pg-nav-links a:hover { color:var(--text); text-decoration:none; }
.pg-nav-cta { background:var(--teal); color:#04130E; padding:10px 20px; border-radius:11px; font-weight:700; font-size:0.86rem; transition:all .2s; }
.pg-nav-cta:hover { box-shadow:0 0 20px rgba(70,176,126,0.45); text-decoration:none; transform:translateY(-1px); }

/* ── PAGE CONTAINER ── */
.pg { max-width:820px; margin:0 auto; padding:64px 28px 40px; position:relative; z-index:1; }
.pg-eyebrow { display:inline-block; font-size:0.72rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--teal); margin-bottom:18px; border:1px solid var(--border-glow); padding:7px 16px; border-radius:100px; background:var(--teal-dim2); }
.pg h1 { font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem,5vw,3.2rem); letter-spacing:-1.5px; line-height:1.08; margin-bottom:16px; }
.pg h1 em { font-style:normal; background:linear-gradient(120deg,var(--teal-bright),var(--teal) 60%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pg .lead { color:var(--text-sub); font-size:1.08rem; max-width:640px; margin-bottom:14px; }
.pg .updated { color:var(--text-sub); font-size:0.82rem; font-style:italic; margin-bottom:8px; }

/* ── CONTENT CARD ── */
.pg-card {
  background:var(--glass); backdrop-filter:blur(20px); border:1px solid var(--border);
  border-radius:var(--radius); padding:40px; margin-top:32px; box-shadow:var(--glow-shadow);
}
.pg-card h2 { font-family:var(--font-display); font-weight:600; font-size:1.4rem; letter-spacing:-0.5px; margin:34px 0 12px; color:var(--text); }
.pg-card h2:first-child { margin-top:0; }
.pg-card h3 { font-size:1.05rem; font-weight:600; margin:22px 0 8px; color:var(--text); }
.pg-card p { color:var(--text-sub); margin-bottom:14px; font-size:0.96rem; }
.pg-card ul, .pg-card ol { color:var(--text-sub); margin:0 0 14px 22px; font-size:0.96rem; }
.pg-card li { margin-bottom:8px; }
.pg-card strong { color:var(--text); font-weight:600; }
.pg-card a { font-weight:500; }
.callout { background:var(--teal-dim2); border:1px solid var(--border-glow); border-radius:12px; padding:18px 20px; margin:18px 0; font-size:0.92rem; color:var(--text); }
.callout strong { color:var(--teal); }

/* ── CONTACT GRID ── */
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:24px; }
.contact-tile { background:var(--navy-light); border:1px solid var(--border); border-radius:14px; padding:24px; }
.contact-tile .ct-label { font-size:0.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.contact-tile .ct-val { font-size:1rem; color:var(--text); font-weight:500; }
.contact-tile p { font-size:0.85rem; color:var(--text-sub); margin-top:6px; }

/* ── CONTACT FORM ── */
.contact-form { display:flex; flex-direction:column; gap:16px; margin:8px 0 4px; position:relative; }
.contact-form label { display:block; font-size:0.8rem; font-weight:600; color:var(--text-sub); margin-bottom:6px; letter-spacing:.2px; }
.contact-form input, .contact-form textarea {
  width:100%; background:var(--navy-light); border:1px solid var(--border); color:var(--text);
  padding:12px 15px; border-radius:11px; font-family:var(--font-body); font-size:0.95rem; outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-dim2); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--text-sub); }
.contact-form textarea { resize:vertical; min-height:140px; line-height:1.6; }
.contact-form .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
.cf-submit { background:var(--teal); color:#04130E; border:none; padding:14px; border-radius:11px; font-family:var(--font-body); font-weight:700; font-size:0.95rem; cursor:pointer; transition:box-shadow .2s, transform .2s; }
.cf-submit:hover:not(:disabled) { box-shadow:0 0 22px rgba(70,176,126,0.40); transform:translateY(-1px); }
.cf-submit:disabled { opacity:.55; cursor:default; }
.cf-msg { font-size:0.86rem; min-height:20px; line-height:1.5; }
.cf-msg.ok { color:var(--teal); }
.cf-msg.err { color:#FF6B6B; }

/* ── GUIDES HUB CARDS ── */
.guide-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:8px; }
.guide-card { display:block; background:var(--navy-light); border:1px solid var(--border); border-radius:14px; padding:22px; text-decoration:none; transition:border-color .2s, transform .2s; }
.guide-card:hover { border-color:var(--border-glow); transform:translateY(-2px); text-decoration:none; }
.guide-card h3 { font-size:1.05rem; font-weight:600; color:var(--text); margin-bottom:8px; }
.guide-card p { font-size:0.86rem; color:var(--text-sub); line-height:1.55; margin:0; }
.guide-card .gc-more { display:inline-block; margin-top:12px; font-size:0.82rem; color:var(--teal); font-weight:600; }

/* ── FOOTER (shared with home) ── */
.site-footer { border-top:1px solid var(--border); margin-top:64px; padding:48px 48px 32px; position:relative; z-index:1; background:rgba(6,9,11,0.6); }
.footer-grid { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; }
.footer-brand .pg-logo { margin-bottom:14px; }
.footer-brand p { color:var(--text-sub); font-size:0.86rem; max-width:280px; line-height:1.6; }
.footer-col h4 { font-size:0.72rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--text); margin-bottom:16px; }
.footer-col a { display:block; color:var(--text-sub); font-size:0.88rem; margin-bottom:10px; }
.footer-col a:hover { color:var(--teal); text-decoration:none; }
.footer-bottom { max-width:1100px; margin:36px auto 0; padding-top:24px; border-top:1px solid var(--border); }
.footer-disclaimer { color:var(--text-sub); font-size:0.78rem; line-height:1.6; margin-bottom:14px; }
.footer-disclaimer strong { color:var(--text); }
.footer-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; color:var(--text-sub); font-size:0.8rem; }

@media(max-width:768px){
  .pg-nav { padding:16px 20px; }
  .pg-nav-links { gap:16px; }
  .pg-nav-links a:not(.pg-nav-cta) { display:none; }
  .pg { padding:44px 20px 32px; }
  .pg-card { padding:26px 22px; }
  .site-footer { padding:36px 20px 28px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .footer-brand { grid-column:1/-1; }
}

/* ═══ EDITORIAL DIRECTION A — flat, warm, serif (de-AI) ═══ */
body::before { background:none; }
.pg-nav { background:var(--navy); backdrop-filter:none; }
.pg-logo svg { filter:none; }
.pg-card { backdrop-filter:none; box-shadow:0 1px 3px rgba(44,42,32,0.05); }
.pg-nav-cta, .cf-submit { background:#2F9A64; color:#0A2417; }
.pg-nav-cta:hover, .cf-submit:hover { box-shadow:none; transform:translateY(-1px); }
/* Dark masthead + footer bands — re-scope vars so all nav/footer text flips to light, body stays cream */
body.light-mode .pg-nav, body.light-mode .site-footer {
  background:#181C14;
  --text:#EDE8DA; --text-sub:#AEB4A6; --teal:#62C896;
  --bg:#181C14; --surface:#20251C; --border:rgba(237,232,218,0.14);
}
