:root {
  --color-bg: #F7F9FB;
  --color-bg-alt: #EEF3F7;
  --color-primary: #2F3A56;
  --color-accent-blue: #A9C8FF;
  --color-accent-mint: #B9E7D3;
  --color-accent-lavender: #C9C2F5;
  --color-accent-coral: #F7B7A3;
  --color-text: #1F2532;
  --color-text-light: #4F5A6B;
  --color-border: #D3DCE4;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 10px rgba(0,0,0,0.08);
  --shadow-lg: 0 10px 24px rgba(0,0,0,0.10);
  --font-sans: system-ui,-apple-system,"Segoe UI",Roboto,Inter,"Helvetica Neue",Arial,sans-serif;
  --speed: 180ms;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-sans);
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display:block; }
a { color: var(--color-primary); text-decoration:none; }
a:hover, a:focus { text-decoration:underline; }
h1,h2,h3,h4 { line-height: 1.2; margin-top:0; }
h1 { font-size: clamp(2.2rem,4vw,3rem); }
h2 { font-size: clamp(1.6rem,2.6vw,2.1rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
ul,ol { margin:0 0 1.25rem 1.25rem; padding:0; }
.small { font-size: .85rem; }
.lead { font-size: 1.2rem; color: var(--color-text-light); }
.container { width: min(1180px, 92%); margin: 0 auto; }
.narrow { width: min(760px, 92%); }

/* Layout */
.site-header { background:#fff; border-bottom:1px solid var(--color-border); position:sticky; top:0; z-index:50; }
.site-header .logo a { font-weight:600; font-size:1.25rem; color:var(--color-primary); }
.logo-text .accent-ai { color: var(--color-accent-coral); }
.flex { display:flex; }
.between { justify-content:space-between; }
.center-y { align-items:center; }
.center { text-align:center; }
.grid { display:grid; }
.hero-grid { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:3rem; padding:4rem 0 2rem; }
.section { padding:4rem 0; }
.bg-alt { background: var(--color-bg-alt); }
.bg-accent-soft { background: linear-gradient(120deg,var(--color-accent-mint) 0%, var(--color-bg) 60%); }
.page-hero { padding:4rem 0 2rem; text-align:center; }
.cta-band { background: var(--color-primary); color:#fff; padding:2.5rem 0; }
.cta-band h2 { margin:0 0 .5rem; color:#fff; }
.hero { background: linear-gradient(140deg,#FFFFFF 0%, var(--color-accent-blue) 120%); }
.value-chips { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 0; }
.value-chips li { background:#fff; border:1px solid var(--color-border); padding:.4rem .8rem; border-radius:var(--radius-lg); font-size:.75rem; letter-spacing:.5px; text-transform:uppercase; }
.media-box { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); background:#fff; }
.gradient-frame { background:linear-gradient(135deg,var(--color-accent-mint),var(--color-accent-lavender)); padding:4px; }
.panel { background:#fff; padding:1.5rem; border:1px solid var(--color-border); border-radius:var(--radius-md); }
.card { background:#fff; border:1px solid var(--color-border); padding:1.25rem; border-radius:var(--radius-md); box-shadow: var(--shadow-sm); }
.product-card { background:#fff; border:1px solid var(--color-border); padding:1.25rem; border-radius:var(--radius-md); display:flex; flex-direction:column; gap:.5rem; }
.pricing-grid { display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.pricing-card { background:#fff; border:1px solid var(--color-border); padding:2rem 1.5rem; border-radius:var(--radius-md); position:relative; display:flex; flex-direction:column; gap:1rem; }
.pricing-card.highlight { border:2px solid var(--color-accent-coral); }
.plan-name { margin:.25rem 0; }
.price { font-size:2rem; margin:0; font-weight:600; }
.compare-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.compare-table th, .compare-table td { border:1px solid var(--color-border); padding:.6rem .75rem; text-align:left; }
.compare-table th { background: #fff; }
.testimonial-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.testimonial { background:#fff; padding:1.25rem 1.25rem 1rem; border:1px solid var(--color-border); border-radius:var(--radius-md); font-style:italic; position:relative; }
.testimonial footer { font-style:normal; margin-top:.75rem; font-size:.85rem; color: var(--color-text-light); }
.process-steps { list-style:none; display:grid; gap:1.5rem; padding:0; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin:2rem 0; }
.process-steps.compact { grid-template-columns:1fr; }
.process-steps li { background:#fff; padding:1rem; border:1px solid var(--color-border); border-radius:var(--radius-md); }
.industry-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.industry-box { background:#fff; padding:1rem; border:1px solid var(--color-border); border-radius:var(--radius-md); }
.resource-card, .blog-card { background:#fff; border:1px solid var(--color-border); padding:1rem; border-radius:var(--radius-md); }
.value-list { list-style:none; padding:0; display:grid; gap:.75rem; }
.tag-list, .topic-tags { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.6rem; }
.tag-list li, .topic-tags li { background:#fff; border:1px solid var(--color-border); padding:.4rem .7rem; border-radius:var(--radius-md); font-size:.75rem; letter-spacing:.5px; }
.feature-mini { list-style:none; padding:0; margin:0 0 .5rem; font-size:.85rem; display:grid; gap:.25rem; }
.benefit-tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.75px; background:var(--color-accent-mint); display:inline-block; padding:.25rem .5rem; border-radius:var(--radius-sm); }

/* Forms */
form { display:flex; flex-direction:column; gap:.75rem; }
input, select, textarea {
  width:100%; padding:.65rem .75rem; border:1px solid var(--color-border);
  border-radius:var(--radius-sm); font:inherit; background:#fff;
}
input:focus, select:focus, textarea:focus { outline:2px solid var(--color-accent-lavender); outline-offset:1px; }
.inline-field { display:flex; gap:.5rem; }
.inline-field input { flex:1; }
.checkbox { display:flex; align-items:center; gap:.5rem; font-size:.85rem; }
.form-note { font-size:.75rem; color: var(--color-text-light); }

/* Buttons */
.btn {
  --btn-bg: var(--color-primary);
  --btn-color: #fff;
  --btn-border: var(--color-primary);
  background: var(--btn-bg);
  color: var(--btn-color);
  border:1px solid var(--btn-border);
  padding:.7rem 1.15rem;
  border-radius:var(--radius-sm);
  font-weight:500;
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  gap:.4rem;
  text-decoration:none;
  transition:background var(--speed), color var(--speed), transform var(--speed);
}
.btn:hover { filter:brightness(1.07); text-decoration:none; }
.btn-outline {
  --btn-bg: #fff;
  --btn-color: var(--color-primary);
  --btn-border: var(--color-border);
}
.btn-secondary {
  --btn-bg: var(--color-accent-lavender);
  --btn-color: var(--color-primary);
  --btn-border: var(--color-accent-lavender);
}
.btn-primary { --btn-bg: var(--color-primary); --btn-color:#fff; }
.btn.sm { padding:.5rem .9rem; font-size:.8rem; }
.nav-cta .btn { font-size:.8rem; }

/* Footer */
.site-footer { background:#fff; border-top:1px solid var(--color-border); margin-top:4rem; }
.site-footer .footer-grid { display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); padding:3rem 0 2rem; }
.sub-footer { background: var(--color-bg-alt); padding:.6rem 0; }
.minimal { padding:2rem 0 1rem; }

/* Navigation */
.main-nav ul, .compact-nav { list-style:none; margin:0; padding:0; display:flex; gap:1.25rem; align-items:center; }
.compact-nav a { font-size:.9rem; }
.main-nav a, .compact-nav a { position:relative; }
.main-nav a.active::after,
.compact-nav a.active::after {
  content:""; position:absolute; left:0; right:0; bottom:-4px;
  height:2px; background: var(--color-accent-coral);
}
.nav-toggle { display:none; background:none; border:none; cursor:pointer; }
.nav-toggle .bar { display:block; width:22px; height:2px; background:var(--color-primary); margin:5px 0; }

/* Tables */
table { width:100%; border-collapse:collapse; }
th, td { padding:.55rem .6rem; vertical-align:top; }
th { text-align:left; }

/* Utilities */
.mt-md { margin-top:2rem; }
.mt-sm { margin-top:.75rem; }
.mt-lg { margin-top:3.5rem; }
.gap-sm { gap:1rem; }
.gap-md { gap:1.75rem; }
.gap-lg { gap:2.5rem; }
.cols-2 { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.cols-3 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.cols-4 { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.cols-5 { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }

/* Accessibility Helpers */
.visually-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); border:0;
}
.skip-link {
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus { left:8px; top:8px; width:auto; height:auto; padding:.6rem 1rem; background:#000; color:#fff; z-index:100; }

/* Responsive */
@media (max-width: 900px) {
  .main-nav { position:absolute; top:64px; right:0; background:#fff; padding:1rem 1.25rem; border:1px solid var(--color-border); border-radius:var(--radius-md); display:none; flex-direction:column; min-width:200px; }
  .main-nav.open { display:flex; }
  .nav-toggle { display:block; }
  .footer-grid { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
}