/* ============================================================
   vibemedia — AI office systems & creator automation
   Brand palette: deep indigo, vibe blue, electric violet, lavender
   Fonts: General Sans (display) / Satoshi (body) via Fontshare
   ============================================================ */

:root, [data-theme="light"] {
  /* Brand equity */
  --indigo: #171B5B;
  --indigo-900: #0F1244;
  --vibe: #315DFF;
  --vibe-600: #2849D6;
  --violet: #7C4DFF;
  --violet-600: #6938E6;
  --lavender: #ECE8FF;
  --sky: #EAF3FF;

  /* Surfaces */
  --bg: #FBFAFF;
  --bg-alt: #F4F2FF;
  --surface: #FFFFFF;
  --surface-2: #F7F8FC;
  --line: #E6E8F0;
  --line-2: #DDE1EE;

  /* Text */
  --text: #151826;
  --text-muted: #5B6172;
  --text-faint: #98A2B3;
  --text-inverse: #FFFFFF;

  /* Status */
  --green: #1E9E63;
  --amber: #C9870F;
  --coral: #E04860;

  /* Gradients */
  --grad-brand: linear-gradient(120deg, var(--vibe), var(--violet));
  --grad-deep: linear-gradient(150deg, #1B2170 0%, #2C2A8E 45%, #5B3FE0 100%);
  --glass-bg: rgba(255,255,255,0.62);
  --glass-border: rgba(124,77,255,0.16);

  /* Type scale */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-md: 17px;
  --text-lg: clamp(18px, 1.2vw, 20px);
  --text-xl: clamp(22px, 2vw, 28px);
  --text-2xl: clamp(28px, 3vw, 40px);
  --text-hero: clamp(36px, 5.5vw, 64px);

  /* Spacing */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;
  --space-20:80px; --space-24:96px; --space-32:128px;

  /* Radius */
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:24px; --r-2xl:32px; --r-pill:999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15,18,68,.06), 0 1px 1px rgba(15,18,68,.04);
  --shadow-md: 0 8px 24px -8px rgba(23,27,91,.12), 0 2px 6px rgba(23,27,91,.06);
  --shadow-lg: 0 24px 64px -24px rgba(23,27,91,.28), 0 8px 20px -12px rgba(23,27,91,.12);
  --shadow-glow: 0 0 0 5px rgba(49,93,255,.10), 0 18px 40px -12px rgba(49,93,255,.30);

  --font-display: 'General Sans','Satoshi','Inter',system-ui,sans-serif;
  --font-body: 'Satoshi','Inter',system-ui,-apple-system,sans-serif;
  --font-mono: 'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;

  --ease-out: cubic-bezier(0.2,0.8,0.2,1);
  --content: 1200px;
}

[data-theme="dark"] {
  --bg: #0C0E26;
  --bg-alt: #11132E;
  --surface: #14173A;
  --surface-2: #1A1D45;
  --line: #262A55;
  --line-2: #2F3463;
  --text: #EAEAF6;
  --text-muted: #A6ABCB;
  --text-faint: #6E739A;
  --text-inverse: #FFFFFF;
  --lavender: #2A2A6B;
  --sky: #182351;
  --vibe: #5B7BFF;
  --violet: #9B74FF;
  --glass-bg: rgba(20,23,58,0.55);
  --glass-border: rgba(124,77,255,0.28);
  --grad-deep: linear-gradient(150deg, #12153A 0%, #1E1E62 45%, #4830B5 100%);
  --shadow-md: 0 8px 24px -8px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.4);
  --shadow-lg: 0 24px 64px -24px rgba(0,0,0,.7), 0 8px 20px -12px rgba(0,0,0,.5);
  --shadow-glow: 0 0 0 5px rgba(91,123,255,.14), 0 18px 40px -12px rgba(91,123,255,.4);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) { color-scheme: dark; }
}

/* ----- Reset ----- */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; scroll-behavior:smooth; scroll-padding-top:84px; }
body {
  min-height:100dvh; line-height:1.6; font-family:var(--font-body);
  font-size:var(--text-base); color:var(--text); background:var(--bg);
  transition: background .4s var(--ease-out), color .4s var(--ease-out);
  overflow-x:hidden;
}
img,svg,video { display:block; max-width:100%; }
ul[role="list"] { list-style:none; }
button,input,select,textarea { font:inherit; color:inherit; }
button { cursor:pointer; background:none; border:none; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,h4 { line-height:1.12; text-wrap:balance; font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; }
p { text-wrap:pretty; }
:focus-visible { outline:2px solid var(--vibe); outline-offset:3px; border-radius:var(--r-sm); }
::selection { background:rgba(124,77,255,.22); }

.skip-link { position:absolute; left:-999px; top:8px; background:var(--surface); padding:8px 16px; border-radius:var(--r-md); z-index:200; }
.skip-link:focus { left:8px; }

.container { width:100%; max-width:var(--content); margin-inline:auto; padding-inline:clamp(20px,4vw,40px); }

a,button,input,select,textarea {
  transition: color .18s var(--ease-out), background .18s var(--ease-out),
    border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out);
}

/* ----- Buttons ----- */
.btn { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:var(--text-sm);
  padding:11px 18px; border-radius:var(--r-pill); white-space:nowrap; }
.btn svg { transition:transform .2s var(--ease-out); }
.btn-primary { background:var(--grad-brand); color:#fff; box-shadow:var(--shadow-glow); }
.btn-primary:hover { transform:translateY(-2px); }
.btn-primary:hover svg { transform:translateX(3px); }
.btn-ghost { background:transparent; color:var(--text); border:1.5px solid var(--line-2); }
.btn-ghost:hover { border-color:var(--vibe); color:var(--vibe); }
.btn-sm { padding:9px 15px; }
.btn-lg { padding:15px 26px; font-size:var(--text-base); }

/* ----- Header ----- */
.site-header { position:sticky; top:0; z-index:100;
  background:color-mix(in oklab, var(--bg) 78%, transparent);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; gap:var(--space-8); height:68px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:700; }
.brand .word { font-family:var(--font-display); font-size:19px; letter-spacing:-.02em; }
.mark { width:30px; height:30px; }
.mark.sm { width:22px; height:22px; }
.nav-links { display:flex; gap:var(--space-6); margin-left:auto; }
.nav-links a { font-size:var(--text-sm); font-weight:500; color:var(--text-muted); }
.nav-links a:hover { color:var(--text); }
.header-actions { display:flex; align-items:center; gap:var(--space-3); margin-left:var(--space-6); }
.nav-links + .header-actions { margin-left:var(--space-4); }
.theme-toggle { width:38px; height:38px; display:grid; place-items:center; border-radius:var(--r-pill);
  border:1px solid var(--line-2); color:var(--text-muted); }
.theme-toggle:hover { color:var(--vibe); border-color:var(--vibe); }
.menu-btn { display:none; color:var(--text); }
.mobile-menu { display:none; flex-direction:column; gap:var(--space-3); padding:var(--space-5) clamp(20px,4vw,40px);
  border-bottom:1px solid var(--line); background:var(--surface); }
.mobile-menu a { font-weight:600; padding:8px 0; }

/* ----- Hero ----- */
.hero { position:relative; padding-top:clamp(48px,7vw,96px); padding-bottom:clamp(40px,5vw,72px); overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:-1; }
.orb { position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; }
.orb-1 { width:520px; height:520px; background:radial-gradient(circle,var(--vibe),transparent 65%); top:-160px; left:-100px; }
.orb-2 { width:480px; height:480px; background:radial-gradient(circle,var(--violet),transparent 65%); top:-80px; right:-120px; opacity:.45; }
.grid-overlay { position:absolute; inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:48px 48px; opacity:.35;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 75%); }
.hero-inner { text-align:center; max-width:880px; margin-inline:auto; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:var(--text-sm); font-weight:600;
  color:var(--violet-600); background:var(--lavender); padding:7px 14px; border-radius:var(--r-pill);
  border:1px solid var(--glass-border); }
[data-theme="dark"] .eyebrow { color:#C9B6FF; }
.eyebrow .dot { width:8px; height:8px; border-radius:50%; background:var(--grad-brand); box-shadow:0 0 0 4px rgba(124,77,255,.18); }
.hero-title { font-size:var(--text-hero); margin:var(--space-5) auto var(--space-5); max-width:16ch; font-weight:700; }
.hero-sub { font-size:var(--text-md); color:var(--text-muted); max-width:62ch; margin:0 auto var(--space-8); line-height:1.7; }
.hero-cta { display:flex; gap:var(--space-3); justify-content:center; flex-wrap:wrap; margin-bottom:var(--space-8); }
.hero-trust { display:flex; gap:var(--space-6); justify-content:center; flex-wrap:wrap; font-size:var(--text-sm);
  color:var(--text-muted); }
.hero-trust li { display:flex; align-items:center; gap:8px; }
.hero-trust svg { color:var(--vibe); flex:none; }

/* ----- Dashboard visual ----- */
.dashboard { margin-top:clamp(40px,5vw,64px); border-radius:var(--r-2xl); overflow:hidden;
  background:var(--glass-bg); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border); box-shadow:var(--shadow-lg); }
.dash-topbar { display:flex; align-items:center; gap:var(--space-4); padding:14px var(--space-5);
  border-bottom:1px solid var(--line); background:color-mix(in oklab, var(--surface) 70%, transparent); }
.dash-brand { display:flex; align-items:center; gap:8px; font-weight:700; font-family:var(--font-display); font-size:var(--text-sm); }
.dash-tabs { display:flex; gap:var(--space-2); margin-left:var(--space-4); }
.dash-tab { font-size:var(--text-xs); font-weight:600; color:var(--text-muted); padding:5px 12px; border-radius:var(--r-pill); }
.dash-tab.active { background:var(--lavender); color:var(--violet-600); }
[data-theme="dark"] .dash-tab.active { color:#C9B6FF; }
.dash-status { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:var(--text-xs);
  font-weight:600; color:var(--green); }
.live-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(30,158,99,.18);
  animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.dash-body { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); padding:var(--space-5); }
.dash-col { display:flex; flex-direction:column; gap:var(--space-4); }
.dash-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:var(--space-4); box-shadow:var(--shadow-sm); }
.dc-head { display:flex; align-items:center; gap:10px; font-weight:600; font-size:var(--text-sm); margin-bottom:var(--space-3); }
.dc-icon { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; font-size:11px; font-weight:700;
  font-family:var(--font-mono); color:#fff; flex:none; }
.dc-icon.front{background:#315DFF} .dc-icon.wait{background:#7C4DFF} .dc-icon.mgr{background:#171B5B}
.dc-icon.int{background:#2849D6} .dc-icon.soc{background:#9B59FF} .dc-icon.eml{background:#3C7BFF}
.dc-icon.bo{background:#5B3FE0}
.dc-list { display:flex; flex-direction:column; gap:9px; }
.dc-list li { display:flex; align-items:center; gap:9px; font-size:var(--text-sm); color:var(--text-muted); }
.dc-list.compact li { font-size:var(--text-xs); }
.tick { color:var(--green); font-size:9px; }
.tick.warn { color:var(--amber); }
.dc-list em { margin-left:auto; font-style:normal; font-size:11px; font-weight:600; color:var(--text-faint);
  background:var(--surface-2); padding:2px 8px; border-radius:var(--r-pill); }
.signage { background:var(--grad-deep); border-radius:var(--r-md); padding:var(--space-4); color:#fff; }
.sig-line { font-family:var(--font-display); font-weight:600; font-size:var(--text-base); }
.sig-sub { font-size:var(--text-xs); opacity:.8; margin:4px 0 10px; }
.sig-bar { height:6px; border-radius:99px; background:rgba(255,255,255,.2); overflow:hidden; }
.sig-bar span { display:block; height:100%; background:#fff; border-radius:99px; }
.kpi-row { display:flex; gap:var(--space-3); margin-bottom:var(--space-3); }
.kpi { flex:1; text-align:center; background:var(--surface-2); border-radius:var(--r-md); padding:10px 6px; }
.kpi b { display:block; font-family:var(--font-display); font-size:var(--text-xl); color:var(--vibe); }
.kpi span { font-size:11px; color:var(--text-muted); }
.brief { font-size:var(--text-xs); color:var(--text-muted); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.badge { font-size:10px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--violet-600);
  background:var(--lavender); padding:3px 9px; border-radius:var(--r-pill); }
[data-theme="dark"] .badge { color:#C9B6FF; }
.intake-rows { display:flex; flex-direction:column; gap:8px; }
.ir { display:flex; justify-content:space-between; align-items:center; font-size:var(--text-sm); color:var(--text-muted); }
.ir b { font-size:11px; font-weight:700; padding:2px 9px; border-radius:var(--r-pill); }
.ok { color:var(--green); background:rgba(30,158,99,.12); }
.run { color:var(--vibe); background:rgba(49,93,255,.12); }
.wait { color:var(--amber); background:rgba(201,135,15,.12); }
.post-preview { display:flex; gap:10px; align-items:center; padding:8px 0; border-top:1px solid var(--line); }
.post-preview:first-of-type { border-top:none; }
.pp-thumb { width:42px; height:42px; border-radius:10px; background:var(--grad-brand); flex:none; }
.pp-thumb.alt { background:linear-gradient(120deg,#7C4DFF,#315DFF); }
.pp-meta { display:flex; flex-direction:column; gap:3px; font-size:var(--text-sm); }
.pp-meta span { color:var(--text-muted); }
.pp-meta b { font-size:11px; padding:2px 8px; border-radius:var(--r-pill); width:max-content; }
.int-chips { display:flex; flex-wrap:wrap; gap:6px; }
.int-chips span { font-size:11px; font-weight:600; padding:4px 10px; border-radius:var(--r-pill);
  background:var(--surface-2); border:1px solid var(--line); color:var(--text-muted); }

/* ----- Strip ----- */
.strip { padding:var(--space-12) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-alt); }
.strip-label { text-align:center; font-size:var(--text-sm); color:var(--text-muted); margin-bottom:var(--space-5); }
.strip-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-3); }
.strip-chips span { font-family:var(--font-display); font-weight:600; font-size:var(--text-sm); color:var(--text-faint);
  padding:8px 16px; border-radius:var(--r-pill); border:1px solid var(--line); background:var(--surface); }

/* ----- Sections ----- */
.section { padding-block:clamp(56px,7vw,112px); }
.section-alt { background:var(--bg-alt); }
.section-head { max-width:680px; margin:0 auto var(--space-12); text-align:center; }
.kicker { display:inline-block; font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--violet-600); margin-bottom:var(--space-3); }
[data-theme="dark"] .kicker { color:#C9B6FF; }
.kicker.on-dark { color:#C9B6FF; }
.section-title { font-size:var(--text-2xl); margin-bottom:var(--space-4); }
.section-lead { font-size:var(--text-md); color:var(--text-muted); max-width:58ch; margin-inline:auto; }

/* ----- Industry cards ----- */
.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); margin-bottom:var(--space-8); }
.industry-card { text-align:left; padding:var(--space-6); border-radius:var(--r-xl); border:1.5px solid var(--line);
  background:var(--surface); box-shadow:var(--shadow-sm); transition:all .25s var(--ease-out); }
.industry-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--glass-border); }
.industry-card.active { border-color:var(--vibe); box-shadow:var(--shadow-glow); }
.ind-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:var(--r-md);
  background:var(--lavender); color:var(--violet-600); margin-bottom:var(--space-4); }
[data-theme="dark"] .ind-icon { color:#C9B6FF; }
.industry-card.active .ind-icon { background:var(--grad-brand); color:#fff; }
.industry-card h3 { font-size:var(--text-lg); margin-bottom:8px; }
.industry-card p { font-size:var(--text-sm); color:var(--text-muted); margin-bottom:var(--space-4); }
.ind-tags { display:flex; flex-wrap:wrap; gap:6px; }
.ind-tags span { font-size:11px; font-weight:600; color:var(--text-faint); background:var(--surface-2);
  padding:4px 10px; border-radius:var(--r-pill); border:1px solid var(--line); }
.industry-detail { border-radius:var(--r-xl); border:1px solid var(--line); background:var(--surface);
  padding:var(--space-6) var(--space-8); box-shadow:var(--shadow-sm); }
.id-panel h4 { font-size:var(--text-lg); margin-bottom:8px; color:var(--vibe); }
.id-panel p { color:var(--text-muted); max-width:80ch; }

/* ----- Solution cards ----- */
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); }
.sol-card { position:relative; padding:var(--space-8) var(--space-6) var(--space-6); border-radius:var(--r-xl);
  border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-sm); transition:all .25s var(--ease-out); }
.sol-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.sol-num { position:absolute; top:var(--space-5); right:var(--space-6); font-family:var(--font-mono);
  font-size:var(--text-sm); color:var(--text-faint); }
.sol-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:var(--r-md);
  background:var(--lavender); color:var(--violet-600); margin-bottom:var(--space-4); }
[data-theme="dark"] .sol-icon { color:#C9B6FF; }
.sol-card h3 { font-size:var(--text-lg); margin-bottom:8px; }
.sol-card p { font-size:var(--text-sm); color:var(--text-muted); margin-bottom:var(--space-4); }
.sol-card ul { display:flex; flex-direction:column; gap:7px; }
.sol-card ul li { position:relative; padding-left:18px; font-size:var(--text-sm); color:var(--text-muted); }
.sol-card ul li::before { content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%;
  background:var(--grad-brand); }
.sol-creator { grid-column:span 3; background:var(--grad-deep); border:none; color:#fff;
  display:grid; grid-template-columns:1.1fr 1.4fr; gap:var(--space-8); align-items:start; }
.sol-creator .sol-num { color:rgba(255,255,255,.55); }
.sol-creator .sol-icon { background:rgba(255,255,255,.15); color:#fff; }
.sol-creator h3 { font-size:var(--text-xl); }
.sol-creator p { color:rgba(255,255,255,.82); }
.sol-creator ul { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.sol-creator ul li { color:rgba(255,255,255,.9); }
.sol-creator ul li::before { background:#fff; }
.sol-tag { position:absolute; top:var(--space-5); left:var(--space-6); font-size:10px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; background:rgba(255,255,255,.18); color:#fff;
  padding:4px 11px; border-radius:var(--r-pill); }
.sol-creator .sol-icon { margin-top:var(--space-6); }
.footnote { margin-top:var(--space-8); font-size:var(--text-xs); color:var(--text-faint); text-align:center; max-width:80ch; margin-inline:auto; }

/* ----- Workflow ----- */
.workflow { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-4); counter-reset:wf; }
.wf-step { position:relative; padding:var(--space-6) var(--space-4); border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.wf-step:not(:last-child)::after { content:""; position:absolute; right:-12px; top:42px; width:24px; height:2px;
  background:var(--line-2); z-index:1; }
.wf-num { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:var(--r-md);
  background:var(--grad-brand); color:#fff; font-family:var(--font-mono); font-weight:600; font-size:var(--text-sm);
  margin-bottom:var(--space-4); }
.wf-step h3 { font-size:var(--text-lg); margin-bottom:6px; }
.wf-step p { font-size:var(--text-sm); color:var(--text-muted); }

/* ----- Day in life ----- */
.dil-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-4); }
.dil-card { padding:var(--space-6); border-radius:var(--r-lg); background:var(--surface); border:1px solid var(--line);
  box-shadow:var(--shadow-sm); }
.dil-role { display:block; font-family:var(--font-display); font-weight:600; font-size:var(--text-sm); color:var(--vibe);
  margin-bottom:var(--space-3); padding-bottom:var(--space-3); border-bottom:1px solid var(--line); }
.dil-card p { font-size:var(--text-sm); color:var(--text-muted); }

/* ----- Trust ----- */
.trust-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-4); }
.trust-card { padding:var(--space-6); border-radius:var(--r-lg); background:var(--surface); border:1px solid var(--line);
  box-shadow:var(--shadow-sm); transition:all .25s var(--ease-out); }
.trust-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.trust-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:var(--r-md);
  background:var(--lavender); color:var(--violet-600); margin-bottom:var(--space-4); }
[data-theme="dark"] .trust-icon { color:#C9B6FF; }
.trust-card h3 { font-size:var(--text-base); margin-bottom:6px; }
.trust-card p { font-size:var(--text-sm); color:var(--text-muted); }

/* ----- Outcomes ----- */
.outcome-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); }
.outcome-card { padding:var(--space-8) var(--space-6); border-radius:var(--r-xl); background:var(--surface);
  border:1px solid var(--line); box-shadow:var(--shadow-sm); text-align:center; }
.outcome-num { display:block; font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700;
  color:var(--vibe); margin:var(--space-3) 0; background:var(--grad-brand); -webkit-background-clip:text;
  background-clip:text; -webkit-text-fill-color:transparent; }
.outcome-card .badge { display:inline-block; }
.outcome-card p { font-size:var(--text-sm); color:var(--text-muted); }

/* ----- CTA / intake ----- */
.cta-section { background:var(--grad-deep); }
.cta-wrap { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.cta-copy { color:#fff; }
.cta-title { font-size:var(--text-2xl); margin-bottom:var(--space-4); color:#fff; }
.cta-lead { font-size:var(--text-md); color:rgba(255,255,255,.82); margin-bottom:var(--space-6); }
.cta-points { display:flex; flex-direction:column; gap:10px; }
.cta-points li { display:flex; align-items:center; gap:10px; font-size:var(--text-sm); color:rgba(255,255,255,.92); }
.cta-points svg { color:#9B74FF; flex:none; background:rgba(255,255,255,.12); border-radius:50%; padding:3px; width:22px; height:22px; }
.intake { background:var(--surface); border-radius:var(--r-2xl); padding:clamp(24px,3vw,36px); box-shadow:var(--shadow-lg);
  display:flex; flex-direction:column; gap:var(--space-5); }
.intake-step { display:flex; flex-direction:column; gap:var(--space-3); }
.intake-label { font-family:var(--font-display); font-weight:600; font-size:var(--text-sm); }
.seg { display:flex; flex-wrap:wrap; gap:8px; }
.seg-opt { font-size:var(--text-sm); font-weight:600; padding:9px 14px; border-radius:var(--r-pill);
  border:1.5px solid var(--line-2); color:var(--text-muted); }
.seg-opt:hover { border-color:var(--vibe); color:var(--vibe); }
.seg-opt.active { background:var(--grad-brand); color:#fff; border-color:transparent; }
.intake-input { width:100%; padding:12px 14px; border-radius:var(--r-md); border:1.5px solid var(--line-2);
  background:var(--surface-2); font-size:var(--text-sm); }
.intake-input:focus { border-color:var(--vibe); background:var(--surface); }
.chip-select { display:flex; flex-wrap:wrap; gap:8px; }
.chip-opt { font-size:var(--text-sm); font-weight:600; padding:8px 14px; border-radius:var(--r-pill);
  border:1.5px solid var(--line-2); color:var(--text-muted); }
.chip-opt:hover { border-color:var(--violet); color:var(--violet); }
.chip-opt.active { background:var(--lavender); border-color:var(--violet); color:var(--violet-600); }
[data-theme="dark"] .chip-opt.active { color:#C9B6FF; }
.contact-row { flex-direction:row; gap:10px; align-items:stretch; }
.contact-row .intake-input { flex:1; }
.contact-row .btn { white-space:nowrap; }
.intake-note { font-size:var(--text-xs); color:var(--text-muted); }

/* ----- Footer ----- */
.site-footer { background:var(--bg-alt); border-top:1px solid var(--line); padding-top:var(--space-16); }
.footer-inner { display:grid; grid-template-columns:1.3fr 2fr; gap:var(--space-12); padding-bottom:var(--space-12); }
.footer-brand p { font-size:var(--text-sm); color:var(--text-muted); max-width:42ch; margin-top:var(--space-4); }
.footer-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-8); }
.footer-nav h4 { font-size:var(--text-sm); margin-bottom:var(--space-4); }
.footer-nav a { display:block; font-size:var(--text-sm); color:var(--text-muted); padding:5px 0; }
.footer-nav a:hover { color:var(--vibe); }
.footer-base { display:flex; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap;
  padding:var(--space-6) 0; border-top:1px solid var(--line); font-size:var(--text-xs); color:var(--text-faint); }

/* ----- Reveal animation ----- */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.in { opacity:1; transform:none; }

/* ----- Responsive ----- */
@media (max-width:1024px) {
  .industry-grid { grid-template-columns:repeat(2,1fr); }
  .solution-grid { grid-template-columns:repeat(2,1fr); }
  .sol-creator { grid-column:span 2; grid-template-columns:1fr; gap:var(--space-5); }
  .sol-creator .sol-icon { margin-top:0; }
  .workflow { grid-template-columns:repeat(2,1fr); }
  .wf-step::after { display:none; }
  .dil-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid { grid-template-columns:repeat(3,1fr); }
  .outcome-grid { grid-template-columns:repeat(2,1fr); }
  .cta-wrap { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .nav-links { display:none; }
  .menu-btn { display:grid; place-items:center; }
  .header-actions .btn-primary { display:none; }
  .mobile-menu.open { display:flex; }
  .dash-body { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; gap:var(--space-8); }
}
@media (max-width:560px) {
  .industry-grid, .solution-grid, .dil-grid, .trust-grid, .outcome-grid, .workflow { grid-template-columns:1fr; }
  .sol-creator { grid-column:span 1; }
  .sol-creator ul { grid-template-columns:1fr; }
  .footer-nav { grid-template-columns:repeat(2,1fr); }
  .contact-row { flex-direction:column; }
  .hero-trust { gap:var(--space-3); }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}
