/*
Theme Name: HCAI Governance Institute
Theme URI: https://hcaigovernance.org/
Author: Human-Centered AI Governance Institute
Author URI: https://hcaigovernance.org/
Description: A responsive block theme for the Human-Centered AI Governance Institute, emphasizing ethics, governance, accountability, impact, accessibility, and human decision authority.
Version: 1.1.8
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: hcai-governance-theme-v111
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: block-patterns, full-site-editing, accessibility-ready, custom-colors, custom-logo, education, portfolio
*/

:root {
  --hcai-navy: #002060;
  --hcai-blue: #0066cc;
  --hcai-bright-blue: #0066ff;
  --hcai-gold: #d9a300;
  --hcai-silver: #a6a6a6;
  --hcai-ink: #16223a;
  --hcai-muted: #566175;
  --hcai-pale: #f2f7fc;
  --hcai-border: #d9e4ef;
  --hcai-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { overflow-wrap: break-word; }

.hcai-site-header {
  border-bottom: 1px solid var(--hcai-border);
  box-shadow: 0 2px 12px rgba(0, 32, 96, 0.07);
  position: relative;
  z-index: 20;
}
.hcai-header-row { min-height: 92px; }
.hcai-brand-stack { min-width: 250px; }
.hcai-fixed-logo-link { display: block; flex: 0 0 110px; width: 110px; height: 110px; line-height: 0; }
.hcai-fixed-logo-image { display: block; width: 110px !important; height: 110px !important; max-width: 110px !important; max-height: 110px !important; object-fit: contain; }
.hcai-brand-stack .wp-block-site-title { margin: 0; }
.hcai-brand-stack .wp-block-site-title a { text-decoration: none; }
.hcai-brand-kicker { margin: 0.2rem 0 0; letter-spacing: 0.035em; }
.hcai-location { white-space: nowrap; }

.hcai-hero {
  background: linear-gradient(135deg, #002060 0%, #063b86 58%, #0066cc 100%);
  color: var(--hcai-white);
}
.hcai-hero h1, .hcai-hero h2, .hcai-hero p { color: inherit; }
.hcai-eyebrow {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.hcai-section { padding-top: clamp(3rem, 7vw, 5.5rem); padding-bottom: clamp(3rem, 7vw, 5.5rem); }
.hcai-section-tight { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.hcai-pale { background: var(--hcai-pale); }
.hcai-navy { background: var(--hcai-navy); color: var(--hcai-white); }
.hcai-navy h2, .hcai-navy h3, .hcai-navy p, .hcai-navy li { color: inherit; }

.hcai-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}
.hcai-card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hcai-card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hcai-card {
  background: var(--hcai-white);
  border: 1px solid var(--hcai-border);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 32, 96, 0.06);
  padding: 1.5rem;
}
.hcai-card h3 { margin-top: 0; }
.hcai-card-accent { border-top: 5px solid var(--hcai-blue); }
.hcai-card-gold { border-top-color: var(--hcai-gold); }
.hcai-card-number {
  align-items: center;
  background: var(--hcai-navy);
  border-radius: 999px;
  color: var(--hcai-white);
  display: inline-flex;
  font-weight: 700;
  height: 2rem;
  justify-content: center;
  margin-bottom: 0.75rem;
  width: 2rem;
}
.hcai-meta-box {
  background: var(--hcai-pale);
  border-left: 5px solid var(--hcai-blue);
  padding: 1.25rem 1rem;
}
.hcai-address {
  font-style: normal;
  line-height: 1.6;
  overflow-wrap: normal;
  word-break: normal;
}
.hcai-address a {
  white-space: nowrap;
}
.hcai-legal-note {
  border: 1px solid var(--hcai-border);
  border-radius: 8px;
  background: #fffdf5;
  padding: 1rem 1.25rem;
}
.hcai-site-footer { border-top: 5px solid var(--hcai-blue); }
.hcai-site-footer a { color: inherit; }
.hcai-footer-small { font-size: 0.86rem; opacity: 0.9; }
.hcai-checklist li { margin-bottom: 0.7rem; }

.wp-element-button, .wp-block-button__link {
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.wp-element-button:hover, .wp-block-button__link:hover {
  box-shadow: 0 8px 18px rgba(0, 32, 96, 0.18);
  transform: translateY(-1px);
}
.wp-block-navigation a:focus-visible,
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--hcai-gold);
  outline-offset: 3px;
}

@media (max-width: 980px) {
  .hcai-card-grid, .hcai-card-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcai-header-row { align-items: flex-start !important; }
}
@media (max-width: 680px) {
  .hcai-address a { white-space: normal; overflow-wrap: anywhere; }
  .hcai-card-grid, .hcai-card-grid.three, .hcai-card-grid.two { grid-template-columns: 1fr; }
  .hcai-location { display: none; }
  .hcai-brand-stack { min-width: 0; }
  .hcai-section { padding-top: 2.75rem; padding-bottom: 2.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
