/*
Theme Name: Axiom Core
Theme URI: https://reAImagineGroup.ai
Author: reAImagine Group
Author URI: https://reAImagineGroup.ai
Description: Gutenberg-first starter theme matching the Axiom visual system.
Version: 1.1.0
License: GPL-2.0-or-later
Text Domain: axiom-core
*/

:root{
  --ax-teal:#1FB6A6;
  --ax-slate:#1F2933;
  --ax-gray:#F4F6F8;
  --ax-amber:#F5A524;

  --ax-max:1120px;
  --ax-radius:16px;
  --ax-shadow:0 10px 30px rgba(31,41,51,.10);
  --ax-border:1px solid rgba(31,41,51,.10);
  --ax-space-1:8px;
  --ax-space-2:12px;
  --ax-space-3:18px;
  --ax-space-4:28px;
  --ax-space-5:44px;
  --ax-space-6:68px;

  --ax-h1:clamp(2.1rem, 3.3vw, 3.1rem);
  --ax-h2:clamp(1.6rem, 2.4vw, 2.2rem);
  --ax-h3:1.25rem;
  --ax-body:1rem;
}

body{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ax-slate);
  background: white;
  line-height: 1.6;
}
a{ color: var(--ax-teal); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover{ opacity:.85; }

.ax-wrap{
  max-width: var(--ax-max);
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.ax-section{ padding: var(--ax-space-6) 0; }
.ax-section.ax-muted{ background: var(--ax-gray); }
.ax-hero{
  padding: calc(var(--ax-space-6) + 18px) 0 var(--ax-space-6);
  background: linear-gradient(180deg, rgba(31,182,166,.10), rgba(244,246,248,.55));
  border-bottom: var(--ax-border);
}
.ax-kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  border: var(--ax-border);
  background: rgba(255,255,255,.75);
  font-size: .92rem;
}
.ax-dot{ width:10px;height:10px;border-radius:999px;background: var(--ax-teal); }
.ax-h1{ font-size: var(--ax-h1); line-height:1.12; margin: 14px 0 12px; letter-spacing:-.02em; }
.ax-lede{ font-size: 1.12rem; max-width: 60ch; margin: 0 0 22px; }
.ax-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top: 18px; }
.ax-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  border: var(--ax-border);
  font-weight: 600;
  text-decoration:none;
  background: white;
  color: var(--ax-slate);
}
.ax-btn.primary{
  background: var(--ax-teal);
  border-color: rgba(31,182,166,.45);
  color: #062521;
}
.ax-btn.ghost{ background: transparent; }
.ax-grid{ display:grid; gap: 16px; }
.ax-grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.ax-grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (max-width: 900px){
  .ax-grid.cols-3,.ax-grid.cols-2{ grid-template-columns: 1fr; }
}
.ax-card{
  border: var(--ax-border);
  border-radius: var(--ax-radius);
  background: white;
  box-shadow: var(--ax-shadow);
  padding: 18px 18px 16px;
}
.ax-card h3{
  margin: 0 0 8px;
  font-size: var(--ax-h3);
  letter-spacing: -.01em;
}
.ax-card p{ margin: 0; color: rgba(31,41,51,.90); }
.ax-meta{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  font-size: .92rem;
  color: rgba(31,41,51,.72);
}
.ax-pill{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: var(--ax-border);
  background: rgba(244,246,248,.70);
}
.ax-divider{ height:1px; background: rgba(31,41,51,.10); margin: 22px 0; }

.site-header{
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.88);
  border-bottom: var(--ax-border);
}
.site-footer{
  border-top: var(--ax-border);
  background: var(--ax-gray);
}
.ax-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  padding: 12px 0;
}
.ax-brand{
  display:flex;
  gap:10px;
  align-items:center;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--ax-slate);
  text-decoration:none;
}
.ax-brand svg{ display:block; }
.ax-small{
  font-size: .92rem;
  color: rgba(31,41,51,.72);
}
.ax-menu{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items:center;
}
.ax-menu a{
  color: rgba(31,41,51,.86);
  text-decoration:none;
  font-weight: 600;
  font-size: .95rem;
  padding: 8px 10px;
  border-radius: 999px;
}
.ax-menu a:hover{
  background: rgba(244,246,248,.85);
}
.ax-accent{ color: var(--ax-amber); }

/* WordPress defaults */
.wp-block-group{ margin: 0; }


.ax-logo{ height: 28px; width: auto; display:block; }
@media (max-width: 520px){ .ax-logo{ height: 24px; } }
