*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --purple: #7048E8;
  --purple-light: #EDE9FF;
  --amber: #F5A623;
  --dark: #111827;
  --gray-700: #374151;
  --gray-500: #6B7280;
  --gray-300: #D1D5DB;
  --gray-100: #F3F4F6;
  --white: #FFFFFF;
  --font: 'Inter', -apple-system, sans-serif;
  --radius: 12px;
  --max-w: 1100px;
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.06);
}

html { scroll-behavior: smooth; }
body { font-family: var(--font); color: var(--dark); background: var(--white); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { line-height: 1.2; font-weight: 700; }

/* bilingual */
.en, span.en { display: none !important; }
html[lang="en"] .fr, html[lang="en"] span.fr { display: none !important; }
html[lang="en"] .en { display: block !important; }
html[lang="en"] span.en { display: inline !important; }
html[lang="en"] a.en { display: inline-flex !important; }

.container { max-width: var(--max-w); margin: 0 auto; padding: 0 1.5rem; }
section { padding: 5rem 0; }

/* ── BUTTONS ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem 1.25rem;
  border-radius: 8px;
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: all .15s;
}

.btn-primary {
  background: var(--purple);
  color: #fff;
}

.btn-primary:hover {
  background: #5C35D4;
}

/* ── HERO ── */
/* ── HERO ── */
.page-hero {
	background:
		radial-gradient(circle at top left, rgba(112,72,232,0.34), transparent 34%),
		linear-gradient(135deg, #1f1b4d 0%, #111827 48%, #0f172a 100%);
	color: #fff;
	padding: 7.5rem 0 4.25rem;
	margin-top: 64px;
}

.page-hero .container {
	max-width: 1100px;
}

.page-hero .kicker {
	display: inline-block;
	background: rgba(112,72,232,.55);
	color: #ffffff;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .38rem .9rem;
	border-radius: 999px;
	margin-bottom: 1.55rem;
}

.page-hero h1 {
	font-size: clamp(2.45rem, 5vw, 4rem);
	font-weight: 800;
	max-width: 800px;
	line-height: 1.18;
	letter-spacing: -0.045em;
	margin-bottom: 1.5rem;
	color: #fff;
}

.page-hero h1 em {
	font-style: normal;
	color: var(--amber);
}

.page-hero p {
	font-size: 1.12rem;
	color: #cbd5e1;
	max-width: 680px;
	line-height: 1.75;
}

/* ── PERSONAS ── */
.personas { padding: 5rem 0; }
.persona-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 3rem;
  background: var(--white);
  border: 1px solid var(--gray-300);
  border-radius: 20px;
  padding: 2.5rem;
  margin-bottom: 2rem;
  box-shadow: var(--shadow);
  transition: box-shadow .2s;
}
.persona-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,0.1); }
.persona-left { display: flex; flex-direction: column; gap: 1rem; }
.persona-sector { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: .3rem .85rem; border-radius: 999px; width: fit-content; }
.persona-icon { font-size: 2.5rem; line-height: 1; }
.persona-role { font-size: 1.2rem; font-weight: 700; color: var(--dark); line-height: 1.3; }
.persona-industries { font-size: .8rem; color: var(--gray-500); line-height: 1.6; }
.persona-right { display: flex; flex-direction: column; gap: 1.5rem; }
.persona-block h4 { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .6rem; }
.persona-block ul { list-style: none; display: flex; flex-direction: column; gap: .45rem; }
.persona-block ul li { font-size: .9rem; line-height: 1.5; display: flex; gap: .6rem; align-items: flex-start; }
.persona-block ul li::before { flex-shrink: 0; margin-top: .1rem; }
.problems h4 { color: #b91c1c; }
.problems ul li::before { content: "✗"; color: #ef4444; font-weight: 700; }
.benefits h4 { color: #15803d; }
.benefits ul li::before { content: "✓"; color: #16a34a; font-weight: 700; }
.persona-workflow { background: var(--gray-100); border-radius: var(--radius); padding: 1.1rem 1.25rem; font-size: .85rem; color: var(--gray-700); line-height: 1.6; border-left: 3px solid var(--purple); }
.persona-workflow strong { color: var(--dark); display: block; margin-bottom: .35rem; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; color: var(--purple); }

/* sector colors */
.sector-ops    { background: #fef3c7; color: #92400e; }
.sector-ti     { background: var(--purple-light, #EDE9FF); color: #4c1d95; }
.sector-finance{ background: #d1fae5; color: #064e3b; }
.sector-retail { background: #fce7f3; color: #9d174d; }
.sector-rd     { background: #e0f2fe; color: #075985; }

/* ── CTA ── */
.audience-cta { background: var(--dark); color: #fff; padding: 5rem 0; text-align: center; }
.audience-cta h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); margin-bottom: 1rem; }
.audience-cta p { color: #9ca3af; max-width: 520px; margin: 0 auto 2rem; }
.btn-amber { background: var(--amber); color: var(--dark); font-weight: 700; }
.btn-amber:hover { background: #E09010; }
.btn-outline { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.3); }
.btn-outline:hover { background: rgba(255,255,255,.08); }
.cta-row { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ── FOOTER ── */
footer { padding: 2rem 0; border-top: 1px solid var(--gray-100); text-align: center; font-size: .8rem; color: var(--gray-500); }

@media (max-width: 768px) {
  .persona-card { grid-template-columns: 1fr; gap: 1.5rem; }
}