/** Leadcraft Marketing — Front Page */

/** HERO + GALAXY */
#hero {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.hero-content {
  position: relative; z-index: 2; text-align: center;
  max-width: 860px; padding: 0 24px;
}
.hero-label {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .72rem; letter-spacing: 4px; color: var(--orange);
  text-transform: uppercase; margin-bottom: 24px;
  opacity: 0; animation: fade-in-up .8s .3s forwards;
}
.hero-label::before { content: '// '; }
.hero-title {
  font-family: var(--font-heading);
  font-size: clamp(2.4rem,6vw,4.8rem);
  font-weight: 700; line-height: 1.08;
  color: var(--white);
  margin-bottom: 20px;
  opacity: 0; animation: fade-in-up .9s .5s forwards;
}
.hero-title .line2 {
  font-style: italic; color: transparent;
  background: linear-gradient(135deg,var(--b300),var(--orange),var(--electric));
  -webkit-background-clip: text; background-clip: text;
  display: block;
}
.hero-sub {
  font-size: 1.1rem; font-weight: 400;
  color: rgba(240,248,255,.55);
  line-height: 1.8; max-width: 560px; margin: 0 auto 40px;
  opacity: 0; animation: fade-in-up .8s .7s forwards;
}
.hero-btns {
  display: flex; gap: 16px; justify-content: center;
  flex-direction: column; flex-wrap: wrap;
  opacity: 0; animation: fade-in-up .8s .9s forwards;
}

/** HERO STATS */
.hero-stats {
  display: flex; flex-wrap: wrap; gap: 28px;
  margin-top: 56px; justify-content: center;
  opacity: 0; animation: fade-in-up .8s 1.1s forwards;
}
.hero-stats > div { text-align: center; }
.hero-stats > article { text-align: center; }
.hero-stat-num {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem,2vw,2rem);
  font-weight: 700; color: var(--b200); line-height: 1;
}
.hero-stat-label {
  font-family: var(--font-mono);
  font-size: .68rem; letter-spacing: 2px;
  color: var(--muted); margin-top: 6px;
  text-transform: uppercase;
}

.scroll-hint {
  position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
  z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  opacity: 0; animation: fade-in .8s 1.4s forwards;
}
.scroll-hint-line {
  width: 1px; height: 48px;
  background: linear-gradient(to bottom,var(--orange),transparent);
  animation: scroll-pulse 2s infinite;
}
.scroll-hint-txt {
  font-family: var(--font-mono);
  font-size: .65rem; letter-spacing: 3px; color: var(--orange); opacity: .6;
}
@keyframes scroll-pulse {
  0%   { transform: scaleY(0); transform-origin: top; }
  50%  { transform: scaleY(1); transform-origin: top; }
  51%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/** CLIENTS STRIP */
.clients-strip {
  padding: 20px 0;
  background: var(--b800);
  border-top: 1px solid var(--border-faint);
  border-bottom: 1px solid var(--border-faint);
  overflow: hidden;
}
.clients-inner {
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.clients-label {
  font-family: var(--font-mono);
  font-size: .65rem; letter-spacing: 3px;
  color: var(--orange); text-transform: uppercase;
  flex-shrink: 0; margin: 0; padding-left: 0; white-space: nowrap;
}
.clients-track {
  overflow: hidden; flex: none; width: 100%;
}
@keyframes clients-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.clients-track ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center; flex-wrap: nowrap;
  width: max-content;
  animation: clients-marquee 18s linear infinite;
}
.clients-track:hover ul { animation-play-state: paused; }
.client-logo {
  flex: 0 0 160px;
  display: flex; align-items: center; justify-content: center;
  border-right: 1px solid var(--border-faint);
  transition: opacity .25s, filter .25s;
  opacity: .45;
  filter: grayscale(36%) brightness(80.6);
}
.client-logo:hover { opacity: 1; filter: none; }
.client-logo img {
  height: 28px; width: auto;
  display: block; max-width: 120px;
  object-fit: contain;
}

/** ORBIT SOLUTIONS */
#solutions { position: relative; }
#solutions::before {
  content: ''; position: absolute;
  top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 800px; height: 800px; border-radius: 50%;
  background: radial-gradient(circle,rgba(16,52,166,.15) 0%,transparent 65%);
  pointer-events: none;
}
#solutions.section-px { padding-left: 8px; padding-right: 8px; }

.orbit-container {
  position: relative;
  max-width: 1100px; margin: 0 auto;
  display: flex; gap: 0; align-items: stretch;
  background: var(--b900);
  border-radius: 16px;
  flex-direction: column;
}
.orbit-node {
  position: absolute; top: 50%; left: 50%;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--b700);
  border: 1.5px solid rgba(240,120,35,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; cursor: pointer;
  transition: all .3s;
  box-shadow: 0 0 16px rgba(200,92,10,.3);
}
.orbit-node:hover,
.orbit-node.active {
  background: linear-gradient(135deg,var(--b500),rgba(240,120,35,.3));
  border-color: var(--orange);
  box-shadow: 0 0 28px rgba(240,120,35,.5);
  transform: translate(-50%,-50%) scale(1.15) !important;
}
.orbit-node.active { border-color: var(--electric); box-shadow: 0 0 36px rgba(240,120,35,.7); }

.orbit-container .kg {
  height: auto;
  min-height: 420px;
}
.orbit-panel {
  padding: 24px 0;
  display: flex; flex-direction: column; justify-content: center;
}
.solution-detail { display: none; }
.solution-detail.active {
  display: block;
  animation: slide-in .35s ease;
}
@keyframes slide-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
.sol-emoji { font-size: 2rem; display: block; margin-bottom: 16px; }
.sol-phase {
  font-family: var(--font-mono);
  font-size: .68rem; letter-spacing: 3px; color: var(--orange);
  text-transform: uppercase; margin-bottom: 10px;
}
.sol-title {
  font-family: var(--font-heading);
  font-size: 2rem; font-weight: 700;
  color: var(--b200); margin-bottom: 6px; line-height: 1.2;
}
.sol-tag {
  display: inline-block;
  background: rgba(240,120,35,.1); border: 1px solid rgba(240,120,35,.2);
  color: var(--electric);
  font-size: .68rem; font-weight: 600; letter-spacing: 2px;
  padding: 4px 12px; border-radius: 2px; margin-bottom: 20px;
}
.sol-desc {
  font-size: 1rem; color: rgba(240,248,255,.6);
  line-height: 1.8; margin-bottom: 24px;
}
.sol-items { list-style: none; margin-bottom: 28px; }
.sol-items li {
  padding: 9px 0 9px 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: relative;
}
.sol-items li::before {
  content: ''; position: absolute; left: 0; top: 16px;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--orange); box-shadow: 0 0 8px var(--orange);
}
.sol-items li:last-child { border-bottom: none; }
.sol-items li h4 {
  font-size: .92rem; font-weight: 600; color: var(--white);
  line-height: 1.5; margin: 0;
}
.sol-items li p { color: var(--muted); font-size: .85rem; margin: 2px 0 0; }
.sol-btn {
  display: inline-block;
  border: 1px solid var(--orange); color: var(--orange);
  padding: 10px 24px; border-radius: 3px;
  transition: all .25s; width: fit-content;
}
.sol-btn:hover { background: var(--orange); color: var(--b900); }

.orbit-nav { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
.orbit-dot {
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--dim); cursor: pointer;
  transition: all .25s; border: 1px solid transparent;
}
.orbit-dot.active { background: var(--orange); box-shadow: 0 0 10px var(--orange); }

/** DIAGNOSTIC */
#diagnostic { position: relative; }
.monthly-grid {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr; gap: 2px;
  border: 1px solid var(--border-subtle);
  border-radius: 12px; overflow: hidden;
}
.monthly-card {
  background: var(--glass-bg);
  padding: 36px;
  border-right: 1px solid var(--border-faint);
  border-bottom: 1px solid var(--border-faint);
  position: relative; overflow: hidden;
  transition: opacity .6s ease, transform .6s ease, background .3s;
}
.monthly-card:hover { background: rgba(200,92,10,.25); }
.monthly-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg,transparent,var(--orange),transparent);
  transform: scaleX(0); transition: transform .4s;
}
.monthly-card:hover::before { transform: scaleX(1); }
.mc-head  { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.mc-icon  { font-size: 1.8rem; flex-shrink: 0; line-height: 1; padding-top: 2px; }
.mc-meta  { display: flex; flex-direction: column; gap: 4px; }
.mc-title {
  font-family: var(--font-heading);
  font-size: 1.1rem; font-weight: 600;
  color: var(--b200); line-height: 1.35;
}
.mc-freq {
  font-family: var(--font-mono);
  font-size: .65rem; letter-spacing: 2px; color: var(--electric);
}
.mc-desc {
  font-size: .92rem; color: rgba(240,248,255,.6); line-height: 1.75;
}

/** SERVICES */
#services header { max-width: 1100px; margin: 0 auto 48px; }
.services-tabs {
  max-width: 1100px; margin: 0 auto 40px;
  display: flex; gap: 8px; flex-wrap: wrap;
}
.tab-btn {
  padding: 10px 24px; border-radius: 4px;
  font-family: var(--font-mono); font-size: .78rem;
  font-weight: 500; letter-spacing: 1px;
  color: var(--muted); background: var(--glass-bg);
  border: 1px solid var(--border-mid); cursor: pointer;
  transition: all .2s;
  width: 100%; box-sizing: border-box;
}
.tab-btn:hover:not(.active) { color: var(--white); border-color: rgba(240,120,35,.4); }
.tab-btn.active {
  background: rgba(240,120,35,.12);
  color: var(--orange); border-color: var(--orange);
}
.service-panel { display: none; max-width: 1100px; margin: 0 auto; }
.service-panel.active { display: block; }
article.service-info {
  display: grid; grid-template-columns: 1fr;
  gap: 56px; align-items: start;
}
article.service-info > h2      { grid-column: 1; grid-row: 1; font-size: 1.4rem; margin-bottom: 16px; }
article.service-info > p       { grid-column: 1; grid-row: 2; font-size: .95rem; color: rgba(240,248,255,.6); line-height: 1.8; margin-bottom: 32px; }
article.service-info > ul      { grid-column: 1; grid-row: 3; }
article.service-info > div.service-cards { grid-column: 1; grid-row: auto; }
.service-deliverables { display: flex; flex-direction: column; gap: 10px; list-style: none; }
.service-deliverables li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--border-faint); border-radius: 6px;
  font-size: .9rem; color: rgba(240,248,255,.75); line-height: 1.5;
}
.service-deliverables li > span {
  flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
  background: var(--orange); display: flex; align-items: center; justify-content: center;
  margin-top: 1px;
}
.service-deliverables li > span svg { width: 11px; height: 11px; stroke: var(--b900); stroke-width: 3; fill: none; }
.service-cards { display: grid; grid-template-columns: 1fr; gap: 16px; }
.scard {
  background: var(--glass-bg); border: 1px solid rgba(240,120,35,.12);
  border-radius: 10px; padding: 20px 24px;
  transition: border-color .2s, background .2s;
}
.scard:hover { background: rgba(16,52,166,.25); border-color: rgba(240,120,35,.35); }
h3.scard-title {
  font-family: var(--font-heading);
  font-size: .88rem; font-weight: 600; color: var(--electric);
  white-space: nowrap; margin: 0 0 8px;
}
h4.scard-badge {
  font-family: var(--font-mono);
  font-size: .62rem; letter-spacing: 1px;
  padding: 3px 10px; border-radius: 2px;
  background: rgba(240,120,35,.1); border: 1px solid rgba(240,120,35,.25);
  color: var(--orange2); display: inline-block; margin-bottom: 14px;
}
.scard-items { display: flex; flex-direction: column; gap: 8px; list-style: none; }
.scard-items li {
  display: flex; align-items: center; gap: 8px;
  font-size: .85rem; color: rgba(240,248,255,.6);
}
.scard-items li > span { flex-shrink: 0; display: flex; align-items: center; color: var(--orange); }
.scard-items li > span svg { width: 10px; height: 10px; stroke: var(--orange); stroke-width: 2.5; fill: none; }

/** ABOUT */
.about-inner {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center;
}
.portrait-card {
  background: rgba(29,61,94,.5);
  border: 1px solid var(--border-mid);
  border-radius: 12px; padding: 36px;
  position: relative; overflow: hidden;
  transition: opacity .7s ease, transform .7s ease;
}
.portrait-card::before {
  content: ''; position: absolute;
  bottom: -40px; right: -40px;
  width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, rgba(240,120,35,.08), transparent);
}
.portrait-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 28px;
}
.portrait-header > p { margin: 0; }
.portrait-name {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.8rem; font-weight: 700;
  color: var(--white); margin-bottom: 4px;
}
.portrait-role {
  display: block;
  font-family: var(--font-mono);
  font-size: .68rem; letter-spacing: 2px; color: var(--orange);
  text-transform: uppercase;
}
img.portrait-photo {
  width: 88px; height: 88px; border-radius: 50%;
  object-fit: cover; object-position: top center;
  border: 2px solid var(--orange);
  box-shadow: 0 0 16px rgba(240,120,35,.25);
  display: block;
}
.portrait-xp { display: flex; flex-direction: column; gap: 16px; position: relative; z-index: 1; }
.xp-item { display: flex; gap: 16px; align-items: flex-start; }
.xp-icon {
  width: 40px; height: 40px; border-radius: 8px;
  background: rgba(240,120,35,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; flex-shrink: 0;
}
.xp-text strong { display: block; font-size: .92rem; color: var(--white); font-weight: 700; margin-bottom: 2px; }
.xp-text span   { font-size: .78rem; color: var(--muted); }

.about-text {
  transition: opacity .7s ease .15s, transform .7s ease .15s;
}
.about-text p { font-size: 1rem; color: rgba(240,248,255,.65); line-height: 1.85; margin-bottom: 16px; }
.about-pillars { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pillar {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  background: var(--glass-bg);
  border: 1px solid var(--border-faint);
  border-radius: 6px;
  font-size: .92rem; color: var(--white); font-weight: 500;
  transition: border-color .25s;
}
.pillar:hover { border-color: rgba(240,120,35,.3); }
.pillar-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--orange); flex-shrink: 0;
  box-shadow: 0 0 8px var(--orange);
}

/** PROCESS */
.process-track {
  max-width: 1000px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr;
  position: relative;
}
.process-track::before {
  content: ''; position: absolute;
  top: 20px; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, var(--b400), var(--orange));
  z-index: 0;
  display: none;
}
.process-step {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
  padding: 0 16px; position: relative; z-index: 1;
}
.process-num {
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--b800);
  border: 2px solid var(--b400);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading);
  font-size: 1rem; font-weight: 700; color: var(--b200);
  margin-bottom: 20px;
  box-shadow: 0 0 16px rgba(200,92,10,.3);
  transition: border-color .3s, box-shadow .3s;
}
.process-step:last-child .process-num {
  background: linear-gradient(135deg, var(--b400), var(--orange));
  border-color: var(--orange);
  color: var(--white);
  box-shadow: 0 0 24px rgba(240,120,35,.5);
}
.process-step h3 {
  font-size: .95rem; font-weight: 600;
  color: var(--electric); margin-bottom: 8px;
}
.process-step p { font-size: .85rem; color: var(--muted); line-height: 1.6; }

/** PRICING */
.pricing-grid {
  max-width: 1000px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
.price-card {
  border: 1px solid rgba(240,120,35,.12);
  border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column;
  transition: opacity .6s ease, transform .6s ease, border-color .3s, box-shadow .3s;
}
.price-card:hover {
  transform: translateY(-6px);
  border-color: rgba(240,120,35,.4);
  box-shadow: 0 20px 60px rgba(29,61,94,.5);
}
.price-card.featured {
  border-color: var(--orange);
  box-shadow: 0 0 40px rgba(240,120,35,.2), 0 0 80px rgba(240,120,35,.05);
}
.price-card.featured:hover {
  box-shadow: 0 0 60px rgba(240,120,35,.3), 0 20px 60px rgba(29,61,94,.5);
}
.pc-head {
  background: rgba(29,61,94,.5);
  padding: 24px 24px 18px;
  border-bottom: 1px solid var(--border-subtle);
}
.price-card.featured .pc-head {
  background: linear-gradient(135deg,rgba(29,61,94,.5),rgba(240,120,35,.2));
}
.pc-badge {
  font-family: var(--font-mono);
  font-size: .75rem; letter-spacing: 3px; color: var(--orange); margin-bottom: 8px;
}
.price-card.featured .pc-badge { color: var(--electric); }
.pc-name {
  font-family: var(--font-heading);
  font-size: 1.2rem; font-weight: 600; color: var(--electric); margin-bottom: 6px;
}
.pc-price {
  font-family: var(--font-heading);
  font-size: 1.8rem; font-weight: 700; color: var(--b200); margin-bottom: 8px;
}
.price-card.featured .pc-price {
  color: transparent;
  background: linear-gradient(135deg,var(--b200),var(--orange2));
  -webkit-background-clip: text; background-clip: text;
}
.pc-price small { font-size: .8rem; color: var(--muted); font-family: var(--font-body); }
.pc-desc { font-size: .85rem; color: var(--muted); line-height: 1.65; }
.price-card.featured .pc-desc { color: rgba(240,248,255,.65); }
.pc-body   { padding: 18px 24px 24px; background: rgba(17,38,56,.4); flex: 1; display: flex; flex-direction: column; }
.pc-items  { list-style: none; margin-bottom: 20px; flex: 1; }
.pc-items li {
  font-size: .92rem; color: rgba(240,248,255,.7);
  padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.04);
  display: flex; gap: 10px; align-items: center;
}
.pc-items li:last-child { border-bottom: none; }
.pc-items li::before   { content: '✦'; color: var(--orange); font-size: .6rem; flex-shrink: 0; }
.pc-btn {
  display: block; text-align: center;
  padding: 11px; border-radius: 4px;
  text-decoration: none;
  border: 1px solid rgba(240,120,35,.25);
  color: rgba(240,248,255,.7);
  transition: all .25s;
  width: 100%; box-sizing: border-box;
}
.pc-btn:hover { border-color: var(--orange); color: var(--orange); }
.price-card.featured .pc-btn {
  background: linear-gradient(135deg,var(--b400),var(--orange));
  border: none; color: var(--white);
  box-shadow: 0 4px 20px rgba(240,120,35,.3);
}
.price-card.featured .pc-btn:hover {
  box-shadow: 0 8px 32px rgba(240,120,35,.5);
  transform: translateY(-1px);
}

/** TÉMOIGNAGES */
.testi-grid {
  max-width: 1100px; margin: 56px auto 0;
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
.testi-card {
  background: var(--glass-bg);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 28px;
  display: flex; flex-direction: column; gap: 20px;
  transition: opacity .6s ease, transform .6s ease, border-color .3s;
}
.testi-card:hover { border-color: rgba(240,120,35,.35); }
.testi-stars { font-size: .9rem; color: var(--orange); letter-spacing: 2px; }
.testi-quote {
  font-size: .92rem; color: rgba(240,248,255,.7);
  line-height: 1.8; font-style: italic; flex: 1;
}
.testi-author { display: flex; align-items: center; gap: 12px; }
.testi-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, var(--b500), rgba(240,120,35,.3));
  border: 1px solid rgba(240,120,35,.3);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading);
  font-size: 1rem; font-weight: 700; color: var(--white); flex-shrink: 0;
}
.testi-author-name { font-size: .92rem; font-weight: 700; color: var(--white); }
.testi-author-role { font-size: .78rem; color: var(--muted); }

/** CONTACT CTA (front page) */
#contact { position: relative; overflow: hidden; }
#contact article {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
  position: relative; z-index: 1;
}
#contact article .form-submit {
  margin-top: 40px;
  text-decoration: none;
}
#contact::before {
  content: ''; position: absolute;
  bottom: -20%; right: -10%;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle,rgba(240,120,35,.06),transparent 65%);
}
.contact-trust {
  font-family: var(--font-mono);
  font-size: .7rem; letter-spacing: 2px;
  color: var(--b100); margin-top: 8px;
  display: block;
}

/** FADE ANIMATION UTILS — front-page cards */
.monthly-card,
.portrait-card,
.about-text,
.price-card,
.testi-card         { opacity: 0; transform: translateY(24px); }
.portrait-card,
.about-text         { transform: translateY(28px); }
.monthly-card.vis,
.portrait-card.vis,
.about-text.vis,
.price-card.vis,
.testi-card.vis     { opacity: 1; transform: none; }

/** RESPONSIVE — front-page specific */

@media (prefers-reduced-motion: reduce) {
  .clients-track ul { animation: none; }
}

@media (min-width: 640px) {
  .hero-btns    { flex-direction: row; }
  .hero-stats   { gap: 48px; }

  .clients-inner  { flex-direction: row; justify-content: center; gap: 32px; }
  .clients-label  { padding-left: 48px; }
  .clients-track  { flex: 0 0 480px; max-width: 480px; }

  #solutions.section-px { padding-left: 16px; padding-right: 16px; }
  .orbit-panel    { padding: 32px 16px; }

  .service-cards  { grid-template-columns: 1fr 1fr; }
  .services-tabs  { gap: 8px; }
  .tab-btn        { width: fit-content; }

  .process-track  { grid-template-columns: 1fr 1fr; gap: 32px; }

  .pc-btn         { width: auto; text-align: left; }
}

@media (min-width: 900px) {
  .clients-strip  { padding: 32px 0; }
  .clients-track  { flex: 0 0 600px; max-width: 600px; }
  .client-logo    { flex: 0 0 200px; }

  .orbit-container { flex-direction: row; }
  .orbit-container .kg { flex: 0 0 50%; }
  .orbit-panel    { flex: 0 0 50%; padding: 40px 48px; }
  #solutions.section-px { padding-left: 48px; padding-right: 48px; }

  .monthly-grid   { grid-template-columns: repeat(2, 1fr); }

  article.service-info { grid-template-columns: 1fr 1.2fr; }
  article.service-info > div.service-cards { grid-column: 2; grid-row: 1 / 4; }
  .services-tabs  { gap: 12px; }

  .pricing-grid   { grid-template-columns: repeat(3, 1fr); }
  .testi-grid     { grid-template-columns: repeat(3, 1fr); }
  .about-inner    { grid-template-columns: 1fr 1.1fr; gap: 64px; }
  .process-track  { grid-template-columns: repeat(4, 1fr); gap: 0; }
  .process-track::before { display: block; }
}

/** ============================================================
    ACQUISITION FUNNEL
    ============================================================ */

/** Funnel wrapper */
#acquisition .acq-funnel {
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/** --- FONDATION / DÉVELOPPEMENT blocks --- */
.acq-block {
  position: relative;
  width: 100%;
  border-radius: 16px;
  padding: 36px 28px 28px;
}
.acq-fondation {
  background: var(--b700);
  border: 1px solid rgba(255,255,255,.07);
}
.acq-developpement {
  background: var(--orange);
  border: none;
}
.acq-block-inner {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.acq-icon {
  width: 56px; height: 56px;
  background: rgba(255,255,255,.15);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.acq-icon svg { width: 26px; height: 26px; stroke: var(--white); }
.acq-block h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem; font-weight: 700;
  color: var(--white); margin-bottom: 6px;
}
.acq-block p {
  font-size: .92rem; color: rgba(240,248,255,.72); line-height: 1.6;
}
.acq-developpement p { color: rgba(255,255,255,.88); }

/** --- BADGES --- */
.acq-badge {
  position: absolute;
  top: -13px; left: 50%; transform: translateX(-50%);
  padding: 4px 18px;
  border-radius: 20px;
  font-family: var(--font-mono);
  font-size: .65rem; letter-spacing: 2px;
  text-transform: uppercase;
  white-space: nowrap;
  font-weight: 400;
}
.acq-badge--orange { background: var(--orange); color: #fff; }
.acq-badge--dark   { background: var(--b900);   color: var(--white); }

/** --- CONNECTORS --- */
.acq-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 6px 0;
}
.acq-connector-line {
  width: 1px; height: 22px;
  background: linear-gradient(to bottom, rgba(240,120,35,.5), rgba(240,120,35,.2));
}
.acq-connector-label {
  font-family: var(--font-mono);
  font-size: .6rem; letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
  border: 1px solid var(--border-mid);
  padding: 4px 14px;
  border-radius: 20px;
  background: var(--b800);
  white-space: nowrap;
}
.acq-connector-arrow {
  width: 0; height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 9px solid var(--orange);
  opacity: .8;
}
.acq-connector--plain { padding: 4px 0; }

/** --- LEVIERS PANEL --- */
.acq-levers {
  width: 100%;
  background: var(--b800);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 28px 20px 24px;
}
.acq-levers-title {
  text-align: center;
  font-family: var(--font-heading);
  font-size: 1.05rem; font-weight: 700;
  color: var(--b200); margin-bottom: 6px;
}
.acq-levers-sub {
  text-align: center;
  font-size: .82rem; color: var(--muted);
  line-height: 1.5; margin-bottom: 24px;
}

/** --- PENTAGON (desktop) --- */
.acq-pentagon {
  position: relative;
  width: min(420px, 100%);
  aspect-ratio: 1;
  margin: 0 auto 0;
  display: block;
}
.acq-center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 108px; height: 108px;
  border-radius: 50%;
  background: var(--b700);
  border: 2px dashed rgba(240,248,255,.18);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 10px;
  pointer-events: none;
}
.acq-center .acq-center-label {
  font-family: var(--font-mono);
  font-size: .5rem; letter-spacing: 2px;
  color: var(--muted); text-transform: uppercase;
  display: block; margin-bottom: 4px;
}
.acq-center strong {
  font-size: .75rem; font-weight: 700;
  color: var(--b100); line-height: 1.3;
  display: block;
}
.acq-center .acq-center-sub {
  font-size: .68rem; color: var(--muted);
  display: block; margin-top: 3px;
}

/** --- NODES (common) --- */
.acq-node {
  position: absolute;
  width: 96px; height: 96px;
  background: var(--b700);
  border: 1.5px solid rgba(240,248,255,.14);
  border-radius: 50%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 5px; cursor: pointer; text-align: center;
  padding: 8px;
  transition: border-color .2s, background .2s, transform .2s;
  font-family: inherit;
}
.acq-node:hover   { border-color: var(--orange); background: var(--b600); transform: scale(1.08); }
.acq-node--active { border-color: var(--orange); background: var(--b600); transform: scale(1.08); }
.acq-node-icon svg { width: 20px; height: 20px; stroke: var(--b200); transition: stroke .2s; }
.acq-node--active .acq-node-icon svg { stroke: var(--orange); }
.acq-node span { font-size: .66rem; color: var(--b200); line-height: 1.25; transition: color .2s; }
.acq-node--active span { color: var(--orange); }

/** Pentagon positions — r = 38% of container, 5 nodes */
/** TOP (SEO):            center at (50%, 12%) */
.acq-pentagon .acq-node:nth-child(2) { top: calc(12%  - 48px); left: calc(50%  - 48px); }
/** TOP-RIGHT (SEA):      center at (86.1%, 38.3%) */
.acq-pentagon .acq-node:nth-child(3) { top: calc(38.3% - 48px); left: calc(86.1% - 48px); }
/** BOTTOM-RIGHT (Email): center at (72.3%, 80.7%) */
.acq-pentagon .acq-node:nth-child(4) { top: calc(80.7% - 48px); left: calc(72.3% - 48px); }
/** BOTTOM-LEFT (Social): center at (27.7%, 80.7%) */
.acq-pentagon .acq-node:nth-child(5) { top: calc(80.7% - 48px); left: calc(27.7% - 48px); }
/** TOP-LEFT (LinkedIn):  center at (13.9%, 38.3%) */
.acq-pentagon .acq-node:nth-child(6) { top: calc(38.3% - 48px); left: calc(13.9% - 48px); }

/** --- MOBILE GRID (hidden on desktop) --- */
.acq-nodes-mobile { display: none; }

/** --- DETAIL PANEL --- */
.acq-detail {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .35s ease, opacity .3s ease;
}
.acq-detail--open { max-height: 320px; opacity: 1; }
.acq-detail-inner {
  display: flex; gap: 16px; align-items: flex-start;
  background: var(--b700);
  border: 1px solid var(--border-mid);
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 16px;
}
.acq-detail-color {
  width: 4px; min-height: 80px;
  border-radius: 4px; flex-shrink: 0;
}
.acq-detail-text { flex: 1; }
.acq-detail-text h4 {
  font-family: var(--font-heading);
  font-size: .95rem; font-weight: 700;
  color: var(--orange); margin-bottom: 4px;
}
.acq-detail-text p { font-size: .82rem; color: var(--muted); margin-bottom: 12px; }
.acq-detail-text ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.acq-detail-text li {
  font-size: .82rem; color: var(--b200);
  padding-left: 14px; position: relative; line-height: 1.4;
}
.acq-detail-text li::before { content: '→'; position: absolute; left: 0; color: var(--orange); }

/** --- QUALIFICATION --- */
.acq-qualification {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.acq-qual-card {
  background: var(--b800);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}
.acq-qual-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
}
.acq-qual-phone::after { background: var(--orange); }
.acq-qual-web::after   { background: var(--b500); }
.acq-qual-icon { margin-bottom: 10px; }
.acq-qual-icon svg { width: 22px; height: 22px; stroke: var(--muted); }
.acq-qual-card h3 {
  font-family: var(--font-heading);
  font-size: .92rem; font-weight: 700;
  color: var(--b100); margin-bottom: 6px;
}
.acq-qual-card p { font-size: .82rem; color: var(--muted); line-height: 1.5; }

/** --- FLOW FOOTER --- */
.acq-flow-footer {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; justify-content: center;
  padding-top: 12px;
}
.acq-flow-pill {
  padding: 6px 16px; border-radius: 20px;
  font-size: .8rem; font-weight: 600;
}
.acq-flow-pill--blue   { background: rgba(37,79,121,.35);  color: var(--b200); border: 1px solid rgba(37,79,121,.5); }
.acq-flow-pill--orange { background: rgba(240,120,35,.2);  color: var(--orange); border: 1px solid rgba(240,120,35,.4); }
.acq-flow-pill--amber  { background: rgba(240,120,35,.12); color: var(--electric); border: 1px solid rgba(248,170,104,.3); }
.acq-flow-pill--green  { background: rgba(29,61,94,.6);    color: var(--white); border: 1px solid rgba(240,248,255,.2); }
.acq-flow-sep { color: var(--muted); font-size: .9rem; }

/** --- RESPONSIVE --- */
@media (max-width: 639px) {
  /* Hide pentagon, show flat grid */
  .acq-pentagon      { display: none; }
  .acq-nodes-mobile  {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 0;
  }
  .acq-node-m {
    background: var(--b700);
    border: 1.5px solid rgba(240,248,255,.14);
    border-radius: 12px;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 8px; padding: 14px 10px;
    cursor: pointer; text-align: center;
    transition: border-color .2s, background .2s;
    font-family: inherit;
    min-height: 80px;
  }
  .acq-node-m svg { width: 20px; height: 20px; stroke: var(--b200); transition: stroke .2s; }
  .acq-node-m span { font-size: .72rem; color: var(--b200); line-height: 1.3; transition: color .2s; }
  .acq-node-m:hover, .acq-node-m.acq-node--active { border-color: var(--orange); background: var(--b600); }
  .acq-node-m.acq-node--active svg  { stroke: var(--orange); }
  .acq-node-m.acq-node--active span { color: var(--orange); }

  .acq-detail--open { max-height: 520px; }
  .acq-detail-text ul { grid-template-columns: 1fr; }

  .acq-qualification { grid-template-columns: 1fr; }
  .acq-block-inner   { flex-direction: column; gap: 14px; }
  .acq-icon          { width: 48px; height: 48px; }
}
