
/* AGP brand overrides for Pico.css */
:root {
  --agp-navy: #1C2E4A;
  --agp-sage: #9BBEAB;
  --agp-coral: #E27D60;
  --font-sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", sans-serif;
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

h1, h2, h3 { font-family: var(--font-serif); color: var(--agp-navy); }
body { font-family: var(--font-sans); }

header.primary { border-bottom: 1px solid rgba(0,0,0,.06); background: #fff; }
header .brand { display: inline-flex; gap: .6rem; align-items: center; color: var(--agp-navy); font-weight: 700; }

nav a { color: var(--agp-navy); font-weight: 600; }
nav a.blog { color: var(--agp-coral); }

.button, button, [role="button"] { border-radius: 14px; }
.button.coral { background: var(--agp-coral); border-color: var(--agp-coral); color:#fff; }
.button.coral:hover { filter: brightness(.95); }
.button.outline { background: transparent; border: 2px solid var(--agp-navy); color: var(--agp-navy); }

.card { border: 1px solid rgba(0,0,0,.08); border-radius: 16px; padding: 1rem; background: #fff; }
.section { padding: 3.5rem 0; }
.section.sage { background: color-mix(in srgb, var(--agp-sage) 12%, white); }
.section.navy { background: color-mix(in srgb, var(--agp-navy) 6%, white); }

footer { border-top: 1px solid rgba(0,0,0,.08); color:#5d6878; font-size: .95rem; }

.grid-2 { display:grid; gap:2rem; grid-template-columns:1fr; }
@media (min-width: 900px) { .grid-2 { grid-template-columns: 1.2fr 1fr; } }

.icon-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:1rem; }
@media (min-width: 900px) { .icon-grid { grid-template-columns: repeat(4,1fr); } }

.center { text-align:center; }
.max-3xl { max-width: 64rem; margin-inline:auto; }

.badge { display:inline-block; padding:.35rem .6rem; border-radius: .6rem; font-size:.9rem; background: #f3f5f7; color: #475569; }
.kicker { color:#64748b; letter-spacing:.02em; text-transform:uppercase; font-weight:600; font-size:.85rem; }
.lead { color:#475569; font-size:1.1rem; }
.list { margin: .5rem 0 0 1.1rem; }


/* Full-bleed section helpers */
.section.full-bleed {
  /* let the background color stretch edge-to-edge */
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding-left: 0;   /* padding handled by inner container */
  padding-right: 0;
}

/* keep your content aligned to the usual max width */
.section.full-bleed > .container {
  padding-left: var(--pico-spacing);
  padding-right: var(--pico-spacing);
}

/* optional: remove top/bottom border radius from cards in full-bleed bands */
.section.full-bleed .card {
  border-radius: 14px;
}






/* More robust full-bleed that ALWAYS re-constrains inner content */
:root {
  /* fallback container width if Pico vars ever change */
  --agp-container: min(1200px, calc(100vw - 2 * var(--pico-spacing)));
}

.section.full-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding-left: 0;
  padding-right: 0;
}

/* Re-constrain common wrappers as the FIRST child inside the section */
.section.full-bleed > .container,
.section.full-bleed > .max-3xl,
.section.full-bleed > .wrap,
.section.full-bleed > div:not([class]) {
  max-width: var(--agp-container);
  margin-inline: auto;
  padding-left: var(--pico-spacing);
  padding-right: var(--pico-spacing);
}
