/* ============================================================
   The Bardo Foundation · Lead-Magnet Landing Page System (WEB)
   Responsive companion to bardo-brand.css (which is print/Letter).
   Static, no build step · deploy to Cloudflare Pages as-is.
   Link this ONE stylesheet from all six landing pages; edit it
   once and every page updates. Poppins is loaded from Google Fonts
   in the <head> of each page.
   ============================================================ */

:root {
  /* Canonical in-market palette · do not add colors */
  --bardo-blue:       #0f2b52;
  --bardo-red:        #d80124;
  --bardo-gold:       #b8963e;
  --bardo-gold-hover: #a3823410; /* used via rgba below; see .btn:hover */
  --bardo-light-blue: #e7edf1;
  --white:            #ffffff;
  --black:            #000000;
  --near-black:       #212121;
  --light-gray:       #f0f0f0;
  --muted:            #6b7280;

  --maxw: 1080px;
  --radius: 6px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 400;
  color: var(--near-black);
  background: var(--white);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--bardo-blue); }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }

/* ---- Two-tone headline pattern (weight 300 + 700) ------------------ */
.tt { font-weight: 700; }
.tt .light { font-weight: 300; }

/* ---- Skip link (accessibility) ------------------------------------ */
.skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--bardo-blue); color: var(--white);
  padding: 10px 16px; z-index: 100;
}
.skip:focus { left: 8px; top: 8px; }

/* ---- Header / nav -------------------------------------------------- */
.site-header {
  background: var(--white); color: var(--near-black); /* was var(--bardo-blue) navy / white text, changed to white bg for the new logo image */
  border-bottom: 4px solid var(--bardo-gold); /* was 8px, shrunk back down as header height shrinks; logo itself untouched */
}
.site-header .wrap {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 80px; /* was 136px, now sized to just fit the 80px logo with no extra padding */
}
.brand { display: inline-flex; align-items: center; }
.brand img { height: 80px; width: auto; display: block; } /* unchanged — logo stays at its current size per request */
.site-header nav a {
  color: var(--near-black); text-decoration: none; font-weight: 400; /* was #dfe6ee, meant for a dark background */
  font-size: 15px; margin-left: 22px; /* was 30px, shrunk back down alongside the smaller header; logo excluded */
}
.site-header nav a:hover { color: var(--bardo-gold); }

/* ---- Language selector (header) ------------------------------------
   ADDED [this session]: replaces the old Guides/About/Donate nav links.
   Built as a native <details>/<summary> disclosure (no JS required).
   CONFIDENCE NOTE: modeled on thebardofoundation.org's own language
   switcher based on a successful content read (label "Language", current
   language shown, English/Español list) — but thebardofoundation.org was
   rate-limiting raw HTML/CSS fetches when this was built, so exact
   markup/class names/pixel values from the live site could not be
   verified. This is a faithful, from-scratch equivalent using this
   site's own brand variables, not a confirmed byte-for-byte copy. */
.lang-select { position: relative; margin-left: 22px; }
.lang-select summary {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--near-black); font-size: 15px; font-weight: 400;
}
.lang-select summary::-webkit-details-marker { display: none; }
.lang-select summary:hover { color: var(--bardo-gold); }
.lang-select-label {
  text-transform: uppercase; font-size: 11px; letter-spacing: 0.04em; color: #8b97a5;
}
.lang-select summary::after { content: "▾"; font-size: 10px; margin-left: 2px; color: #8b97a5; }
.lang-select[open] summary::after { content: "▴"; }
.lang-select-list {
  position: absolute; right: 0; top: calc(100% + 10px);
  background: var(--white); border: 1px solid var(--bardo-light-blue);
  border-radius: 4px; box-shadow: 0 10px 26px rgba(15,43,82,0.14);
  list-style: none; margin: 0; padding: 6px 0; min-width: 140px; z-index: 20;
}
.lang-select-list li a {
  display: block; padding: 8px 16px; font-size: 14px;
  color: var(--near-black); text-decoration: none;
}
.lang-select-list li a:hover { background: var(--bardo-light-blue); color: var(--bardo-blue); }
.lang-select-list li a[aria-current="true"] { color: var(--bardo-gold); font-weight: 700; }

/* ---- Hero --------------------------------------------------------- */
.hero { background: var(--bardo-blue); color: var(--white); padding: 56px 0 64px; }
.hero .grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: stretch; /* was 1.15fr 0.85fr / align-items: center, now equal-width columns stretched to equal height per request */
}
.hero .media { display: flex; flex-direction: column; justify-content: center; } /* was max-width: 50%; margin-left: auto — cap removed so this column matches the text column's width and height */
.eyebrow {
  color: var(--bardo-gold); font-weight: 400; text-transform: uppercase;
  letter-spacing: 0.08em; font-size: 14px; margin-bottom: 10px;
}

/* Publish/review date line · sits directly under the eyebrow, above the H1 */
.page-meta {
  color: #b8c2cd; font-weight: 300; font-size: 12.5px; letter-spacing: 0.02em;
  margin-bottom: 14px;
}
.hero h1 {
  font-size: clamp(30px, 5vw, 46px); line-height: 1.05; color: var(--white);
  margin-bottom: 16px;
}
.hero .lede { font-weight: 300; font-size: 19px; color: #dfe6ee; max-width: 34ch; }
.hero .accent { width: 58px; height: 3px; background: var(--bardo-red); margin: 22px 0 0; }

/* PDF cover thumbnail */
.cover-shot {
  border-radius: var(--radius) var(--radius) 0 0; /* was uniform var(--radius); bottom corners squared off to merge seamlessly with .capture below */
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.12);
  width: 100%; aspect-ratio: 480 / 207; /* was 480/311 (already-halved height from prior session); now shrunk to 2/3 of that: 311 * 2/3 ~ 207 */
  object-fit: cover; object-position: top; /* crops rather than stretches/distorts */
}

/* ---- Email capture card ------------------------------------------- */
.capture {
  background: var(--white); color: var(--near-black);
  border-radius: 0 0 var(--radius) var(--radius); /* was uniform var(--radius); top corners squared off to merge seamlessly with .cover-shot above */
  padding: 16px 16px; /* was 26px 24px, reduced ~35% so content fits within ~167px naturally */
  box-shadow: 0 14px 40px rgba(0,0,0,0.28);
}
.capture h2 { color: var(--bardo-blue); font-size: 15px; font-weight: 700; margin-bottom: 3px; padding-left: 25px; } /* was 19px/6px margin. padding-left added [this session]: aligns with the Mailjet embed's own internal 25px left padding (confirmed from the form's own HTML: .pas-form has padding-left:25px), since the iframe and this text share the same .capture padding but Mailjet then adds its own inset inside the iframe. */
.capture p.small { font-size: 11px; color: var(--muted); font-weight: 300; margin-bottom: 8px; padding-left: 25px; } /* was 13.5px/14px margin. padding-left added [this session], same reason as .capture h2 above. */
/* Mailjet form styling · see MAILJET section in the HTML template */
.capture input[type="email"],
.capture input[type="text"] {
  width: 100%; padding: 8px 10px; font-family: inherit; font-size: 13px; /* was 13px 14px padding / 16px font */
  border: 1.5px solid #cfd8e0; border-radius: var(--radius); margin-bottom: 6px; /* was 12px */
  color: var(--near-black);
}
.capture input:focus { outline: 2px solid var(--bardo-gold); border-color: var(--bardo-gold); }
.capture .btn { padding: 9px 14px; font-size: 12px; } /* scoped override, was inherited 15px/18px padding from shared .btn */
.capture .consent { font-size: 9px; margin-top: 6px; line-height: 1.3; } /* was 12px/12px margin/1.45 line-height */

/* ---- Buttons ------------------------------------------------------ */
.btn {
  display: inline-block; width: 100%; text-align: center; cursor: pointer;
  background: var(--bardo-gold); color: var(--bardo-blue);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
  font-size: 15px; font-family: inherit;
  border: none; border-radius: var(--radius); padding: 15px 18px; text-decoration: none;
  transition: background 0.15s ease;
}
.btn:hover { background: #a38234; }
.consent { font-size: 12px; color: var(--muted); font-weight: 300; margin-top: 12px; line-height: 1.45; }
.consent a { color: var(--bardo-blue); }

/* ---- Generic sections --------------------------------------------- */
section.block { padding: 56px 0; }
section.tint { background: var(--bardo-light-blue); }
/* v3 fix: .faq sections also carry .tint in the HTML (class="block tint faq"),
   which previously gave them the identical --bardo-light-blue background as
   the section directly above (Proof stats), also .tint. This override gives
   .faq its own distinct background so adjacent sections never match. Uses
   the existing --light-gray token (already defined above, previously unused
   for section backgrounds) rather than introducing a new color. */
section.tint.faq { background: var(--light-gray); }
h2.sec {
  font-weight: 700; color: var(--bardo-blue); font-size: 26px;
  border-bottom: 2px solid var(--bardo-gold); padding-bottom: 10px; margin-bottom: 22px;
}
h3.sub { font-weight: 700; color: var(--bardo-blue); font-size: 18px; margin: 22px 0 8px; }
p { margin: 12px 0; }
.src { font-size: 13px; color: var(--muted); font-weight: 300; font-style: italic; margin-top: 14px; }

/* "What's inside" list */
ul.inside { list-style: none; margin: 8px 0; }
ul.inside li {
  position: relative; padding-left: 30px; margin: 12px 0; line-height: 1.5;
}
ul.inside li::before {
  content: ''; position: absolute; left: 0; top: 4px;
  width: 14px; height: 14px; border: 2px solid var(--bardo-gold); border-radius: 3px;
}

/* Stat row (reuse of the brief's stat blocks, web sizing) */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 8px 0; }
.stat { background: var(--white); border-radius: var(--radius); padding: 22px 14px; text-align: center; box-shadow: 0 2px 10px rgba(15,43,82,0.06); }
.tint .stat { background: var(--white); }
.stat .fig { font-weight: 700; font-size: 32px; color: var(--bardo-blue); line-height: 1.05; }
.stat .fig.gold { color: var(--bardo-gold); }
.stat .lbl { font-size: 13px; font-weight: 400; color: var(--near-black); margin-top: 8px; line-height: 1.3; }

/* Authority callout */
.callout { background: var(--bardo-blue); color: #dfe6ee; border-radius: var(--radius); padding: 26px 28px; }
.callout .h { color: var(--bardo-gold); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 14px; margin-bottom: 8px; }
.callout p { color: #dfe6ee; }
.callout .callout-body { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.callout .callout-text { flex: 1 1 320px; min-width: 0; }
.callout .seal-link { flex-shrink: 0; display: block; }
.callout .seal-link img { display: block; width: 110px; height: auto; border-radius: 4px; }

/* ---- FAQ (accordion via <details>, no JS) ------------------------- */
.faq details {
  border-bottom: 1px solid #d5dee6; padding: 6px 0;
}
.faq summary {
  cursor: pointer; font-weight: 700; color: var(--bardo-blue); font-size: 17px;
  padding: 14px 0; list-style: none; position: relative; padding-right: 28px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: '+'; position: absolute; right: 4px; top: 12px;
  color: var(--bardo-gold); font-weight: 700; font-size: 22px; line-height: 1;
}
.faq details[open] summary::after { content: '\2212'; } /* minus */
.faq details p { margin: 0 0 16px; color: var(--near-black); }

/* ---- Final CTA band ----------------------------------------------- */
.cta-band { background: var(--bardo-blue); color: var(--white); padding: 48px 0; text-align: center; }
.cta-band h2 { color: var(--white); font-size: 26px; font-weight: 700; margin-bottom: 10px; }
.cta-band h2 .light { font-weight: 300; }
.cta-band p { color: #dfe6ee; font-weight: 300; max-width: 60ch; margin: 0 auto 22px; }
.cta-band .btn { width: auto; padding: 15px 34px; }

/* ---- Medical disclaimer (top banner, sits above the header) -------- */
.disclaimer-banner {
  background: #FF6A00; padding: 10px 0;
}
.disclaimer-banner .wrap {
  display: flex; align-items: center; gap: 8px;
  max-width: 50%; min-width: 280px; margin-left: auto; margin-right: auto; /* new: half-width text box, centered so space is removed equally from both sides; floor keeps it readable on narrow screens */
}
.disclaimer-banner p {
  margin: 0; font-size: 13px; font-weight: 500; color: #451D00; line-height: 1.4;
}
.disclaimer-banner svg { flex-shrink: 0; width: 16px; height: 16px; color: #451D00; }

/* ---- Footer ------------------------------------------------------- */
.site-footer { background: #0a1f3d; color: #aeb9c6; padding: 64px 0; font-size: 14px; } /* was 40px 0, more vertical breathing room */
.site-footer .wrap { max-width: calc(var(--maxw) + 42px); } /* widened ~42px so the larger seal has room; pushes bookend columns outward while .cols gap stays fixed. Scoped to the footer only. */
.site-footer a { color: #cdd6e0; text-decoration: none; }
.site-footer a:hover { color: var(--bardo-gold); }
.site-footer .cols > div > p { line-height: 2.2; } /* was a blanket .site-footer p rule affecting the about-text mission paragraph too; scoped to the Resources/Foundation link columns only via direct child selector */
.site-footer .about-col .about-text p { line-height: 1.6; } /* mission paragraph keeps normal prose spacing, not the wide link spacing above */
.site-footer .cols { display: grid; grid-template-columns: 1.4fr 0.8fr 0.8fr; gap: 80px; } /* was 1.6fr 0.8fr 0.8fr / gap 48px — narrower about-column, wider gap, more horizontal spread */
.site-footer .name { color: var(--bardo-gold); font-weight: 700; letter-spacing: 0.03em; margin-bottom: 16px; } /* was 8px, more room under the heading */
.site-footer .legal { margin-top: 40px; padding-top: 24px; border-top: 1px solid #1c355c; font-size: 12.5px; color: #8b97a5; font-weight: 300; } /* was margin-top 26px / padding-top 18px */
.site-footer .about-col { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; } /* was 18px, more horizontal spread from text to seal */
.site-footer .about-col .about-text { flex: 1 1 220px; min-width: 0; }
.site-footer .about-col .about-text p { color: #aeb9c6; margin: 0; }
.site-footer .seal-link { flex-shrink: 0; display: block; }
.site-footer .seal-link img { display: block; width: 63px; height: auto; border-radius: 4px; } /* was 42px, now 1.5x (63px) per request */

/* ---- Guide card grid (guides index page) --------------------------- */
/* Used only on /guides/index.html to list all lead magnets. Reuses the
   existing palette and radius; adds no new colors. */
.guide-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 8px 0;
}
.guide-card {
  display: flex; flex-direction: column;
  background: var(--white); border: 1px solid #dde4ea; border-radius: var(--radius);
  overflow: hidden; text-decoration: none; color: inherit;
  box-shadow: 0 2px 10px rgba(15,43,82,0.06);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.guide-card:hover { box-shadow: 0 10px 26px rgba(15,43,82,0.14); transform: translateY(-2px); }
.guide-card .thumb {
  background: var(--bardo-blue); aspect-ratio: 4 / 3;
  display: flex; align-items: center; justify-content: center;
}
.guide-card .thumb img { width: 100%; height: 100%; object-fit: cover; } /* was height: 50%; width: auto (a leftover 50%-smaller-images shrink) — now fills the box edge-to-edge */
.guide-card .track {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--bardo-gold); padding: 16px 18px 0;
}
.guide-card h3 {
  font-weight: 700; color: var(--bardo-blue); font-size: 18px;
  padding: 6px 18px 0; line-height: 1.3;
}
.guide-card p {
  font-weight: 300; font-size: 14.5px; color: var(--near-black);
  padding: 6px 18px 18px; margin: 0; flex-grow: 1;
}
.guide-card .cta-link {
  font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--bardo-blue); padding: 0 18px 18px;
}
.guide-card:hover .cta-link { color: var(--bardo-gold); }

/* ---- Responsive --------------------------------------------------- */
@media (max-width: 860px) {
  .hero .grid { grid-template-columns: 1fr; gap: 30px; }
  .hero .media { max-width: none; } /* was 160px cap from prior session, removed now that desktop 50%-width cap is also gone — mobile column takes full stacked width like the text column above it */
  .stats { grid-template-columns: repeat(2, 1fr); }
  .site-footer .cols { grid-template-columns: 1fr; gap: 18px; }
  .site-header nav a { margin-left: 14px; font-size: 14px; } /* reverted to original 14px as header shrinks back down */
  .guide-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  body { font-size: 16px; }
  .hero { padding: 40px 0 46px; }
  section.block { padding: 40px 0; }
  .guide-grid { grid-template-columns: 1fr; }
  .disclaimer-banner p { font-size: 12px; }
}
