:root {
  --cr-navy: #083b70;
  --cr-blue: #1268b3;
  --cr-teal: #0f8f86;
  --cr-orange: #f36f21;
  --cr-ink: #14263a;
  --cr-muted: #64748b;
  --cr-cloud: #f4f8fb;
  --cr-line: #dbe5ed;
  --cr-radius: 14px;
  --cr-shadow: 0 12px 36px rgba(9, 41, 74, 0.09);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #ffb37d; outline-offset: 3px; }
.wp-site-blocks { overflow: hidden; }
.cr-shell { max-width: 1180px; margin-inline: auto; padding-inline: clamp(1rem,3vw,1.75rem); }
.cr-section { padding-block: clamp(3.25rem,7vw,6.5rem); }
.cr-section-tight { padding-block: clamp(2rem,4vw,3.5rem); }
.cr-eyebrow { color: var(--cr-teal); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; margin-bottom: .7rem; }
.cr-lead { font-size: clamp(1.06rem,1.4vw,1.25rem); color: #31465d; max-width: 66ch; }
.cr-card { background: #fff; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); overflow: hidden; box-shadow: 0 8px 28px rgba(9,41,74,.06); height: 100%; }
.cr-card-body { padding: 1.35rem; }
.cr-card h3 { margin-top: 0; margin-bottom: .55rem; font-size: 1.22rem; }
.cr-card p { color: #4b6075; font-size: .96rem; }
.cr-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display:block; }
.cr-text-link { font-weight: 800; }
.cr-text-link::after { content: " →"; }
.cr-btn .wp-block-button__link { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .78rem 1.15rem; box-shadow: none; }
.cr-btn-outline .wp-block-button__link { background: #fff !important; color: var(--cr-navy) !important; border: 1px solid #a7bdd0; }
.cr-btn-navy .wp-block-button__link { background: var(--cr-navy) !important; }
.cr-btn-teal .wp-block-button__link { background: var(--cr-teal) !important; }

/* Header */
.cr-header-wrap { background:#fff; border-bottom:1px solid rgba(8,59,112,.12); position:relative; z-index:20; }
.cr-header { min-height:76px; display:flex; align-items:center; gap:1.5rem; }
.cr-header .wp-block-site-title { margin:0; font-family:Georgia,serif; font-weight:800; font-size:1.5rem; white-space:nowrap; }
.cr-header .wp-block-site-title a { color:var(--cr-navy); }
.cr-header .wp-block-navigation { flex:1; justify-content:center; font-size:.92rem; font-weight:650; }
.cr-header .wp-block-navigation a:hover { color:var(--cr-orange); }
.cr-header .wp-block-site-logo img { max-height:54px; width:auto; }
.cr-header-actions { white-space:nowrap; }

/* Hero */
.cr-hero { background: linear-gradient(90deg,#f7fbff 0%,#fff 52%,#edf6fa 100%); border-bottom:1px solid var(--cr-line); }
.cr-hero-inner { min-height: 560px; display:grid; grid-template-columns:1.03fr .97fr; align-items:stretch; }
.cr-hero-copy { padding: clamp(3.5rem,7vw,6.5rem) clamp(1rem,4vw,4.5rem) clamp(3rem,6vw,5rem) max(1rem,calc((100vw - 1180px)/2 + 1.75rem)); display:flex; flex-direction:column; justify-content:center; }
.cr-hero h1 { margin:0 0 1rem; font-size:clamp(2.8rem,5.3vw,5.35rem); letter-spacing:-.035em; max-width:11ch; }
.cr-hero-media { min-height:560px; }
.cr-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.cr-hero-note { margin-top:1.2rem; color:#52677b; font-size:.9rem; }

/* Audience */
.cr-audience-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.85rem; }
.cr-audience-card { padding:1.3rem 1.05rem; background:#fff; border:1px solid var(--cr-line); border-radius:12px; box-shadow:0 6px 20px rgba(9,41,74,.05); }
.cr-audience-card .cr-kicker { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#e9f5f3; color:var(--cr-teal); font-weight:850; margin-bottom:.8rem; }
.cr-audience-card h3 { font-size:1.05rem; margin:.25rem 0 .35rem; }
.cr-audience-card p { color:#52677b; font-size:.88rem; margin:0 0 .75rem; }

/* Split / model */
.cr-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.cr-split-media img { width:100%; min-height:360px; object-fit:cover; border-radius:16px; box-shadow:var(--cr-shadow); }
.cr-model-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.75rem; }
.cr-model-step { padding:1.25rem; border:1px solid var(--cr-line); border-radius:12px; background:#fff; }
.cr-model-step .cr-step-num { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--cr-navy); color:#fff; font-weight:800; margin-bottom:.8rem; }

/* Impact band */
.cr-impact { background:linear-gradient(115deg,#083b70 0%,#07548b 100%); color:#fff; }
.cr-impact h2, .cr-impact h3, .cr-impact p { color:#fff; }
.cr-impact-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:1.2rem; align-items:center; }
.cr-stat { border-left:1px solid rgba(255,255,255,.28); padding-left:1.4rem; }
.cr-stat strong { display:block; font:700 clamp(2rem,4vw,3.25rem)/1 Georgia,serif; }
.cr-stat span { font-size:.88rem; color:#dbeafa; }

/* Stories */
.cr-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.cr-tag { display:inline-block; background:#fff3eb; color:#a5440e; border:1px solid #ffd4bb; padding:.28rem .55rem; border-radius:999px; font-weight:800; font-size:.72rem; }

/* Callout */
.cr-callout { border-radius:18px; background:#eaf5ff; border:1px solid #cee2f4; padding:clamp(1.5rem,3vw,2.5rem); }
.cr-callout-orange { background:#fff4ec; border-color:#ffd5bb; }
.cr-callout-dark { background:var(--cr-navy); color:#fff; }
.cr-callout-dark h2, .cr-callout-dark h3, .cr-callout-dark p { color:#fff; }

/* Inner hero */
.cr-page-hero { background:#f5f9fc; border-bottom:1px solid var(--cr-line); }
.cr-page-hero-grid { display:grid; grid-template-columns:1fr 1fr; min-height:420px; }
.cr-page-hero-copy { padding:clamp(3rem,6vw,5rem) clamp(1rem,4vw,4.25rem) clamp(3rem,6vw,5rem) max(1rem,calc((100vw - 1180px)/2 + 1.75rem)); display:flex; flex-direction:column; justify-content:center; }
.cr-page-hero h1 { font-size:clamp(2.5rem,4.8vw,4.5rem); margin:0 0 1rem; }
.cr-page-hero-media img { width:100%; height:100%; object-fit:cover; }

/* Process */
.cr-process { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.cr-process-step { text-align:center; padding:1.1rem; }
.cr-process-num { width:42px; height:42px; margin:0 auto .8rem; border-radius:50%; display:grid; place-items:center; background:var(--cr-blue); color:#fff; font-weight:850; }
.cr-process-step:nth-child(4) .cr-process-num { background:var(--cr-orange); }
.cr-process-step h3 { font-size:1.05rem; }
.cr-process-step p { color:#52677b; font-size:.9rem; }

/* Check list */
.cr-check-list { list-style:none; padding:0; margin:1.25rem 0 0; }
.cr-check-list li { position:relative; padding:.45rem 0 .45rem 2rem; }
.cr-check-list li::before { content:"✓"; position:absolute; left:0; top:.42rem; width:1.35rem; height:1.35rem; border-radius:50%; display:grid; place-items:center; background:#e5f5f2; color:var(--cr-teal); font-weight:900; }

/* Resources */
.cr-resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.cr-resource-card { padding:1.4rem; background:#fff; border:1px solid var(--cr-line); border-radius:12px; }
.cr-resource-card .cr-resource-type { color:var(--cr-teal); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.cr-resource-card h3 { font-size:1.2rem; }

/* FAQ */
.cr-faq details { border-top:1px solid var(--cr-line); padding:1rem .1rem; }
.cr-faq details:last-child { border-bottom:1px solid var(--cr-line); }
.cr-faq summary { cursor:pointer; font-weight:750; color:var(--cr-navy); }
.cr-faq details p { color:#52677b; }

/* Footer */
.cr-footer { background:#062f59; color:#dcecff; padding-block:3.25rem 2rem; }
.cr-footer h2, .cr-footer h3, .cr-footer a { color:#fff; }
.cr-footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:2rem; }
.cr-footer p { color:#c7dbed; font-size:.92rem; }
.cr-footer .wp-block-navigation { display:block; }
.cr-footer .wp-block-navigation__container { display:block; }
.cr-footer .wp-block-navigation-item { margin:.4rem 0; }
.cr-footer-bottom { border-top:1px solid rgba(255,255,255,.16); margin-top:2rem; padding-top:1.2rem; color:#bcd1e4; font-size:.84rem; }

/* Forms */
.cr-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.cr-form .full { grid-column:1/-1; }
.cr-form label { display:block; font-weight:700; margin-bottom:.35rem; color:var(--cr-navy); }
.cr-form input, .cr-form select, .cr-form textarea { width:100%; border:1px solid #aec0cf; border-radius:6px; padding:.85rem .9rem; font:inherit; background:#fff; color:var(--cr-ink); }
.cr-form textarea { min-height:130px; resize:vertical; }

/* Mobile */
@media (max-width: 980px) {
  .cr-header { min-height:66px; }
  .cr-header .wp-block-navigation { justify-content:flex-end; }
  .cr-header-actions { display:none; }
  .cr-hero-inner, .cr-page-hero-grid { grid-template-columns:1fr; }
  .cr-hero-copy, .cr-page-hero-copy { padding-left:max(1rem,calc((100vw - 760px)/2 + 1rem)); padding-right:max(1rem,calc((100vw - 760px)/2 + 1rem)); }
  .cr-hero-media { min-height:380px; }
  .cr-page-hero-media { min-height:320px; }
  .cr-audience-grid { grid-template-columns:repeat(2,1fr); }
  .cr-split { grid-template-columns:1fr; }
  .cr-impact-grid { grid-template-columns:1fr 1fr; }
  .cr-impact-grid > :first-child { grid-column:1/-1; }
  .cr-story-grid, .cr-resource-grid { grid-template-columns:1fr 1fr; }
  .cr-process { grid-template-columns:1fr 1fr; }
  .cr-footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .cr-section { padding-block:3.25rem; }
  .cr-hero h1 { font-size:2.75rem; }
  .cr-hero-media { min-height:290px; }
  .cr-audience-grid, .cr-model-flow, .cr-impact-grid, .cr-story-grid, .cr-resource-grid, .cr-process, .cr-footer-grid, .cr-form { grid-template-columns:1fr; }
  .cr-impact-grid > :first-child { grid-column:auto; }
  .cr-stat { border-left:0; border-top:1px solid rgba(255,255,255,.25); padding:1.2rem 0 0; }
  .cr-form .full { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
