/* =========================================================
   EdgeAutomate — Blue/Grey Professional Theme
   ========================================================= */

/* Reset */
*,
*::before,
*::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img, svg, video, canvas { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }

/* Theme tokens */
:root{
  --white:#ffffff;
  --bg:#f5f7fb;            /* page background */
  --surface:#ffffff;       /* cards / surfaces */
  --surface-2:#eef2f8;     /* subtle alt section */

  --primary:#1e3a8a;       /* navy */
  --primary-600:#2563eb;   /* brighter blue for hover/cta */
  --primary-300:#93c5fd;

  --heading:#0f172a;       /* deep slate */
  --text:#334155;          /* slate */
  --text-muted:#64748b;

  --accent:#22d3ee;        /* tiny cyan hint */
  --border:#e5e7eb;

  --radius:14px;
  --shadow:0 10px 24px rgba(15,23,42,.08);
  --container:1140px;
}

/* Base */
html { scroll-behavior: smooth; }
body{
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container{
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 20px;
}

/* Headings & text */
h1,h2,h3,h4,h5,h6{
  color: var(--heading);
  line-height: 1.25;
  margin: 0 0 .5em 0;
  letter-spacing: -0.01em;
}
h1{ font-size: clamp(2rem, 2.6vw + 1rem, 3rem); }
h2{ font-size: clamp(1.5rem, 1.6vw + 1rem, 2.25rem); }
h3{ font-size: clamp(1.25rem, 1.2vw + .9rem, 1.5rem); }
p{ margin: 0 0 1rem 0; }
.small{ font-size:.925rem; color: var(--text-muted); }
.center{ text-align:center; }
.max-w-prose{ max-width:72ch; }

/* Layout helpers */
.section{ padding: clamp(48px,6vw,96px) 0; }
.section.alt{ background: var(--surface-2); }

.card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(16px,2vw,28px);
}

.grid{ display: grid; gap: clamp(16px,2vw,28px); }
.grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 991px){
  .grid.cols-4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .grid.cols-3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .grid.cols-2, .grid.cols-3, .grid.cols-4{ grid-template-columns: 1fr; }
}

/* Header / Nav */
.header{
  position: sticky; top: 0; z-index: 50;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 2px 12px rgba(15,23,42,.04);
}
.nav{ display:flex; align-items:center; justify-content:space-between; min-height:64px; }
.nav-brand{ display:inline-flex; align-items:center; gap:10px; font-weight:800; color:var(--primary); }
.brand-text{ font-size: 1.1rem; letter-spacing:.2px; }

.nav-menu{ display:flex; align-items:center; gap:18px; }
.nav-menu a{
  color: var(--text);
  padding: 10px 12px; border-radius: 10px;
}
.nav-menu a:hover{ background: var(--surface-2); color: var(--primary); }

.nav-toggle{ display:none; }
@media (max-width: 900px){
  .nav-menu{ display:none; }
  .nav-toggle{ display:inline-flex; }
}
/* Mobile open state */
@media (max-width: 900px){
  .nav-menu.is-open{
    display: flex !important;
    flex-direction: column;
    position: absolute; left: 0; right: 0; top: 64px;
    gap: 8px; background: var(--surface);
    border-bottom: 1px solid var(--border);
    padding: 12px 20px 16px; box-shadow: 0 8px 20px rgba(15,23,42,.06);
    z-index: 40;
  }
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 18px; border-radius:999px;
  border:1px solid var(--border);
  background: var(--surface); color: var(--text);
  font-weight:600; line-height:1; transition:.2s ease; white-space:nowrap;
}
.btn:hover{ transform: translateY(-1px); box-shadow: var(--shadow); }
.btn:active{ transform: translateY(0); box-shadow: none; }

.btn-primary{
  background: linear-gradient(180deg, var(--primary-600), var(--primary));
  border-color: transparent; color: var(--white);
}
.btn-primary:hover{ filter: brightness(1.02); }

.btn-outline{
  background: transparent; color: var(--primary);
  border-color: var(--primary-300);
}
.btn-outline:hover{ background: var(--primary-300); color: var(--heading); }

/* Bits */
.badge-accent{
  display:inline-block; font-size:.8rem; font-weight:700;
  color:#064e5a; background: linear-gradient(180deg, #a5f3fc, var(--accent));
  padding:6px 10px; border-radius:999px;
}

/* Hero (no decorative images) */
.hero{
  background:
    radial-gradient(900px 420px at 90% -10%, rgba(37,99,235,.12) 0, rgba(37,99,235,0) 60%),
    radial-gradient(900px 420px at 10% -10%, rgba(34,211,238,.10) 0, rgba(34,211,238,0) 60%),
    var(--bg);
  padding: clamp(64px,10vw,120px) 0;
}
.hero .eyebrow{ color: var(--primary-600); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.hero .max-w-prose{ color: var(--text); }

/* Features */
.features .feature{ display:grid; grid-template-columns:56px 1fr; gap:14px; }
.features .icon{
  height:56px; width:56px; border-radius:14px;
  background: linear-gradient(180deg, var(--primary-300), #dbeafe);
  display:grid; place-items:center; color:var(--primary);
  box-shadow: var(--shadow);
}

/* Pricing */
.pricing .plan{ text-align:left; }
.pricing .price{ font-size:2rem; font-weight:800; color:var(--heading); }
.pricing .per{ color:var(--text-muted); }

/* Testimonials */
.testimonial{ display:grid; gap:12px; }
.testimonial .quote{ font-size:1.05rem; color:var(--heading); }
.testimonial .by{ color:var(--text-muted); }

/* Footer */
.footer{
  background: var(--surface);
  border-top: 1px solid var(--border);
  color: var(--text);
  padding:32px 0;
}
.footer .muted{ color: var(--text-muted); }

/* Utilities */
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:12px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mt-5{margin-top:32px}.mt-6{margin-top:48px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.mb-6{margin-bottom:48px}

/* Optional dark mode */
body.dark{
  background:#0b1220; color:#e5e7eb;
}
body.dark .header,
body.dark .footer,
body.dark .card{ background:#0f172a; border-color:#1f2937; }
body.dark h1, body.dark h2, body.dark h3{ color:#e2e8f0; }
body.dark .nav-menu a:hover{ background:#111827; color:#93c5fd; }
body.dark .btn{ background:#111827; color:#e5e7eb; border-color:#1f2937; }
body.dark .btn-primary{ background: linear-gradient(180deg, #60a5fa, #1e40af); }
/* ==== EA Mobile Patch: Results + Assessment (keep desktop intact) ==== */
@media (max-width: 900px){
  /* Results cards stack cleanly + left-align content */
  #results .results-grid{ display:grid; grid-template-columns:1fr; gap:14px }
  #results .kpi, #results .card{ text-align:left }
  #results .kpi .tagrow{ display:flex; flex-wrap:wrap; gap:8px }
  #results .kpi h3{ font-size:1.6rem }

  /* Assessment block: stack columns + make buttons wrap (no squish) */
  #free-assessment .assessment-wrap{ display:grid; grid-template-columns:1fr; gap:16px }
  #free-assessment .assessment-cta .mt-4{ display:flex; flex-wrap:wrap; gap:10px }
  #free-assessment .assessment-cta .mt-4 .btn{ flex:1 1 48%; min-width:140px }

  /* “Sample Outcomes” card: keep readable layout on small screens */
  #free-assessment .card.on-dark{ text-align:left }
  #free-assessment .card.on-dark .grid.cols-3{ grid-template-columns:1fr 1fr; gap:12px }
}

@media (max-width: 420px){
  /* On very small phones, make CTAs full-width */
  #free-assessment .assessment-cta .mt-4 .btn{ flex:1 1 100%; min-width:unset }
  #free-assessment .card.on-dark .grid.cols-3{ grid-template-columns:1fr }
}
