*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --orange:#E87413;
  --orange-dark:#C25A0E;
  --gold:#F2911B;
  --gold-bright:#F4A028;
  --ink:#000000;
  --ink-soft:#0A0A0B;
  --cream:#FBFAF7;
  --white:#FFFFFF;
  --gray:#6E6E73;
  --gray-light:#9A9AA0;
  --border:#E8E6E0;
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',-apple-system,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.12;letter-spacing:-.02em;font-weight:700;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{padding:90px 0;}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;
  padding:1rem 2.4rem;border-radius:100px;
  transition:transform .25s ease,box-shadow .25s ease;
  cursor:pointer;border:none;
}
.btn-primary,a.btn-primary,.nav-links a.btn-primary{
  background:linear-gradient(135deg,#E87413 0%,#F2A028 50%,#F8C13A 100%);
  color:#000!important;font-weight:700;
  box-shadow:0 8px 24px rgba(242,145,27,.32);
}
.btn-primary:hover,a.btn-primary:hover,.nav-links a.btn-primary:hover{
  transform:translateY(-2px);box-shadow:0 12px 32px rgba(242,145,27,.45);color:#000!important;
}
.btn-dark{background:var(--ink);color:var(--white);}
.btn-dark:hover{transform:translateY(-2px);}
.btn-ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--white);}
.btn-lg{padding:1.2rem 2.8rem;font-size:1.05rem;}

/* ===== verse banner (gold italic, like outro) ===== */
.verse-banner{
  background:var(--ink);text-align:center;padding:1.1rem 24px;
}
.verse-banner em{
  font-family:'Sora',sans-serif;font-style:italic;font-weight:400;
  color:var(--gold-bright);font-size:.92rem;letter-spacing:.005em;
}
.verse-banner span{
  color:var(--gray);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;margin-left:.6rem;font-weight:600;
}

/* ===== nav (floating pill) ===== */
nav{
  position:sticky;top:16px;z-index:100;
  background:transparent;
  pointer-events:none;
  margin-top:18px;
}
.nav-inner{
  pointer-events:auto;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;
  height:72px;
  background:var(--ink);
  border-radius:100px;
  padding:0 .65rem 0 2.2rem;
  margin:0 auto;max-width:1240px;
  box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.06) inset;
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
}
.nav-inner .logo{justify-self:start;}
.nav-inner .nav-links{justify-self:center;}
.nav-inner .nav-cta{justify-self:end;}
.logo{display:inline-flex;align-items:center;}
.logo img{height:38px;width:auto;display:block;transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:center;}
.logo:hover img{transform:scale(1.08);}
.logo:active img{transform:scale(1);}
footer .logo img{height:48px;mix-blend-mode:normal;filter:invert(1) hue-rotate(180deg);}
.nav-links{display:flex;align-items:center;gap:2.4rem;}
.nav-links a{
  font-size:.95rem;font-weight:500;
  color:#FFF;opacity:.9;
  text-decoration:none;
  pointer-events:auto;cursor:pointer;
  position:relative;z-index:2;
  transition:color .25s ease,opacity .25s ease;
}
.nav-links a:hover{
  opacity:1;
  color:#F4A028;
}
.nav-cta{margin-left:0;}
.nav-cta .full{display:inline;}
.nav-cta .short{display:none;}
.nav-cta-mobile{display:none;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--white);}
.logo img{filter:none;}

/* ===== hero ===== */
.hero{position:relative;padding:80px 0 80px;overflow:hidden;background:var(--cream);}
.hero .container{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:center;
}
.hero-text{min-width:0;}
.hero-visual{display:flex;justify-content:center;align-items:center;}

/* hero dashboard card — also a link to the case study */
.partenaire-dashboard-card{
  width:380px;background:#ffffff;border-radius:20px;
  border:.5px solid rgba(0,0,0,.08);padding:24px;
  box-shadow:0 10px 40px rgba(0,0,0,.06);
  position:relative;display:block;text-decoration:none;color:inherit;
  cursor:pointer;
  contain:layout style;
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),box-shadow .45s ease,border-color .45s ease;
}
.partenaire-dashboard-card:hover{
  transform:scale(1.035);
  border-color:rgba(232,116,19,.35);
  box-shadow:
    0 0 0 1px rgba(232,116,19,.18),
    0 0 60px rgba(232,116,19,.32),
    0 24px 60px rgba(0,0,0,.16);
}
.dashboard-content{transition:filter .35s ease,opacity .35s ease;}
.partenaire-dashboard-card:hover .dashboard-content{filter:blur(3px);opacity:.55;}
.dashboard-cta-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .35s ease;
  border-radius:20px;
}
.partenaire-dashboard-card:hover .dashboard-cta-overlay{opacity:1;}
.dashboard-cta-btn{
  background:linear-gradient(135deg,#E87413 0%,#F2A028 50%,#F8C13A 100%);
  color:var(--ink);font-family:'Sora',sans-serif;font-weight:700;
  font-size:.98rem;letter-spacing:.01em;
  padding:.95rem 1.5rem;border-radius:100px;white-space:nowrap;
  box-shadow:0 12px 32px rgba(232,116,19,.5),0 0 0 1px rgba(255,255,255,.4) inset;
  display:inline-flex;align-items:center;gap:.5rem;
  transform:scale(.92);transition:transform .35s cubic-bezier(.34,1.4,.64,1);
}
.partenaire-dashboard-card:hover .dashboard-cta-btn{transform:scale(1);}
.dashboard-cta-btn .arrow{transition:transform .35s ease;display:inline-block;}
.partenaire-dashboard-card:hover .dashboard-cta-btn .arrow{transform:translateX(4px);}
.partenaire-dashboard-card .card-header{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;
}
.partenaire-dashboard-card .status-badge{display:flex;align-items:center;gap:8px;}
.partenaire-dashboard-card .status-dot{
  width:8px;height:8px;border-radius:50%;background:#22c55e;
  display:inline-block;animation:dashboard-pulse 2s infinite;
}
@keyframes dashboard-pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
.partenaire-dashboard-card .status-label{font-size:12px;color:#6b7280;font-weight:500;}
.partenaire-dashboard-card .period-label{font-size:11px;color:#9ca3af;}
.partenaire-dashboard-card .metric-label{font-size:13px;color:#6b7280;margin-bottom:4px;min-height:22px;display:flex;align-items:center;}
.partenaire-dashboard-card .metric-client-logo{max-height:22px;width:auto;display:block;}
.partenaire-dashboard-card .metric-main{
  display:flex;align-items:baseline;gap:8px;margin-bottom:20px;
}
.partenaire-dashboard-card .metric-number{
  font-size:44px;font-weight:700;color:#111827;line-height:1;
  font-family:'Sora',sans-serif;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.partenaire-dashboard-card .metric-unit{font-size:14px;color:var(--gold);font-weight:600;}
.partenaire-dashboard-card .chart-wrapper{margin-bottom:20px;}
.partenaire-dashboard-card .chart-wrapper svg{width:100%;height:80px;display:block;}
.partenaire-dashboard-card .card-footer{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding-top:16px;border-top:.5px solid rgba(0,0,0,.08);
}
.partenaire-dashboard-card .footer-label{
  font-size:11px;color:#9ca3af;text-transform:uppercase;
  letter-spacing:.05em;margin-bottom:4px;
}
.partenaire-dashboard-card .footer-value{font-size:18px;font-weight:600;color:#111827;font-family:'Sora',sans-serif;font-variant-numeric:tabular-nums;}
.partenaire-dashboard-card .footer-value-gold{color:var(--gold);}

@media(max-width:1024px){
  .hero{padding:60px 0 60px;}
  .hero .container{
    display:flex;flex-direction:column;gap:0;
    padding-left:1.25rem;padding-right:1.25rem;max-width:100%;
  }
  .hero-text{display:contents;}
  .hero .badge{order:1;}
  .hero h1{order:2;margin-bottom:1.2rem;max-width:100%;overflow-wrap:break-word;word-break:normal;hyphens:none;}
  .hero-visual{order:3;margin-top:.5rem;margin-bottom:1.6rem;}
  .hero-sub{order:4;margin-bottom:1.4rem;max-width:100%;}
  .hero-actions{order:5;margin-bottom:1.2rem;}
  .hero-guarantee{order:6;margin-bottom:1.4rem;width:100%;max-width:100%;}
  .trust{order:7;}
  .partenaire-dashboard-card{max-width:380px;margin:0 auto;}
}
.badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--white);border:1px solid var(--border);
  padding:.5rem 1.1rem;border-radius:100px;
  font-size:.82rem;font-weight:600;color:var(--ink);
  margin-bottom:1.8rem;box-shadow:0 4px 16px rgba(0,0,0,.04);
}
.badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(242,145,27,.5);animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,145,27,.5);}70%{box-shadow:0 0 0 10px rgba(242,145,27,0);}100%{box-shadow:0 0 0 0 rgba(242,145,27,0);}}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;max-width:900px;margin-bottom:1.6rem;}
.hero h1 .accent{
  background:linear-gradient(135deg,#E87413 0%,#F2A028 50%,#F8C13A 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-sub{font-size:1.2rem;color:var(--gray);max-width:560px;margin-bottom:2.4rem;font-weight:300;}
.hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;}

/* Hero guarantee block (added 2026-05-19, copy à valider avec client) */
.hero-guarantee{
  display:inline-flex;align-items:center;gap:.85rem;
  padding:.85rem 1.1rem;border-radius:12px;
  border:1px solid rgba(212,168,46,.45);
  background:linear-gradient(135deg,rgba(212,168,46,.05) 0%,rgba(199,144,26,.02) 100%);
  margin-bottom:1.8rem;max-width:440px;
}
.hero-guarantee-icon{
  width:30px;height:30px;color:var(--gold);flex-shrink:0;
  filter:drop-shadow(0 0 12px rgba(212,168,46,.35));
}
.hero-guarantee-text-wrap{display:flex;flex-direction:column;gap:.15rem;min-width:0;}
.hero-guarantee-label{
  font-family:'Sora',sans-serif;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:700;color:var(--gold);
}
.hero-guarantee-text{
  font-size:.85rem;line-height:1.4;color:var(--ink);font-weight:400;
}
.trust{display:flex;align-items:center;gap:.8rem;}
.stars{color:var(--orange);font-size:1rem;letter-spacing:.1em;}
.trust-text{font-size:.86rem;color:var(--gray);}
.trust-text strong{color:var(--ink);font-weight:600;}

/* ===== metrics (light glass, same bubbles as results) ===== */
.metrics{
  background:var(--cream);color:var(--ink);position:relative;overflow:hidden;
  padding:40px 0 80px;
}
.metrics-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.metrics-bubbles .bubble{
  filter:blur(8px);
}
.metrics-bubbles .bubble:nth-child(1){
  width:520px;height:520px;top:-15%;right:-5%;
  background:radial-gradient(circle,rgba(242,145,27,.18) 0%,rgba(248,193,58,.05) 45%,transparent 70%);
  animation-delay:-2s;
}
.metrics-bubbles .bubble:nth-child(2){
  width:380px;height:380px;bottom:-15%;left:-3%;
  background:radial-gradient(circle,rgba(248,193,58,.16) 0%,transparent 65%);
  animation-delay:-9s;animation-duration:28s;
}
.metrics .container{position:relative;z-index:2;}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.metric{
  position:relative;text-align:center;
  padding:1rem 1.5rem;
}
.metric::after{
  content:"";position:absolute;top:50%;right:-1rem;width:1px;height:60%;
  transform:translateY(-50%);
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 50%,transparent 100%);
}
.metric:last-child::after{display:none;}
.metric-num{
  font-family:'Sora',sans-serif;font-weight:800;
  font-size:clamp(3rem,6vw,5rem);
  font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,#E0760E 0%,#F2911B 40%,#F4A028 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1;display:block;letter-spacing:-.02em;
  filter:drop-shadow(0 0 18px rgba(242,145,27,.25));
}
.metric-label{
  color:var(--gray);font-size:.95rem;margin-top:.6rem;font-weight:400;
  font-family:'Sora',sans-serif;letter-spacing:.02em;
}
@media(max-width:900px){.metrics-grid{grid-template-columns:1fr;gap:1rem;}}

/* ===== section heads ===== */
.eyebrow{
  font-family:'Sora',sans-serif;font-weight:600;font-size:.8rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--orange);
  margin-bottom:.9rem;
}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:1rem;}
.section-intro{color:var(--gray);font-size:1.1rem;max-width:560px;font-weight:300;}
.section-head{margin-bottom:3.5rem;}
.section-head.center{text-align:center;}
.section-head.center .section-intro{margin:0 auto;}

/* ===== partenaires ===== */
.partners{
  background:linear-gradient(180deg,#1F1F22 0%,#0A0A0B 30%,#000 50%,#0A0A0B 70%,#1A1A1D 100%);
  color:var(--white);
}
.partners .section-title{color:var(--white);}
.partners .section-intro{color:var(--gray-light);}
.partners-marquee-wrap{
  position:relative;overflow:hidden;margin-top:1.5rem;
  mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);
}
.partners-grid{
  display:flex;align-items:center;gap:3rem;width:max-content;padding:.4rem 0;
  animation:partnersScroll 55s linear infinite;
}
@keyframes partnersScroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 1.5rem));}
}
.partner-logo{
  width:140px;height:56px;flex-shrink:0;
  background:transparent;border:none;
  display:flex;align-items:center;justify-content:center;padding:.4rem;
}
.partner-logo img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.55;transition:opacity .35s ease,transform .35s ease;
}
.partner-logo:hover img{opacity:1;transform:scale(1.1);}
@media(max-width:900px){
  .partners-grid{animation-duration:42s;gap:2.2rem;}
  .partner-logo{width:115px;height:48px;}
}
@media(max-width:540px){
  .partners-grid{animation-duration:32s;gap:1.8rem;}
  .partner-logo{width:95px;height:42px;}
}

/* ===== résultats clients — high-tech section ===== */
.results{
  background:linear-gradient(180deg,#1F1F22 0%,#0A0A0B 35%,#000 50%,#0A0A0B 65%,#1F1F22 100%);
  color:var(--white);position:relative;overflow:hidden;
  padding:90px 0 90px;
}
.results .container,.results .results-marquee-wrap{position:relative;z-index:2;}
.results .container{max-width:none;padding:0;}
.results .section-head{max-width:1180px;margin-left:auto;margin-right:auto;padding:0 24px 1.2rem;margin-bottom:0;}
.results .section-title{color:var(--white);}
.results .section-intro{color:var(--gray-light);}
.results .eyebrow{color:var(--gold);}
.results-grid-pattern{
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);
  background-size:32px 32px;
  mask-image:radial-gradient(ellipse 70% 50% at center,black 0%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 50% at center,black 0%,transparent 80%);
  pointer-events:none;
}
.results-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.bubble{
  position:absolute;border-radius:50%;
  background:radial-gradient(circle,rgba(242,145,27,.32) 0%,rgba(248,193,58,.08) 40%,transparent 70%);
  filter:blur(2px);
  animation:bubbleFloat 22s ease-in-out infinite;
}
.bubble:nth-child(1){width:520px;height:520px;top:-8%;left:-6%;animation-delay:0s;}
.bubble:nth-child(2){width:380px;height:380px;top:55%;left:55%;animation-delay:-7s;animation-duration:28s;}
.bubble:nth-child(3){width:440px;height:440px;top:8%;right:-8%;animation-delay:-12s;animation-duration:25s;background:radial-gradient(circle,rgba(248,193,58,.22) 0%,transparent 70%);}
.bubble:nth-child(4){width:260px;height:260px;bottom:-4%;left:30%;animation-delay:-18s;animation-duration:30s;}
.bubble:nth-child(5){width:200px;height:200px;top:35%;right:25%;animation-delay:-3s;animation-duration:18s;background:radial-gradient(circle,rgba(248,193,58,.18) 0%,transparent 70%);}
@keyframes bubbleFloat{
  0%,100%{transform:translate(0,0) scale(1);}
  25%{transform:translate(60px,-40px) scale(1.08);}
  50%{transform:translate(-40px,50px) scale(.92);}
  75%{transform:translate(30px,30px) scale(1.04);}
}
.results .container{position:relative;z-index:2;}

.results-marquee-wrap{
  position:relative;overflow:hidden;
  padding:48px 0 60px;
  mask-image:linear-gradient(90deg,transparent 0%,black 5%,black 95%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 5%,black 95%,transparent 100%);
}
.results-grid{
  display:flex;gap:1.4rem;width:max-content;
  animation:resultsScroll 48s linear infinite;
}
@keyframes resultsScroll{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - .7rem));}
}
.result-logo{
  position:absolute;top:1.4rem;right:1.4rem;
  width:54px;height:28px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.4;
  pointer-events:none;
  z-index:1;
  transition:opacity .3s ease;
}
.result-logo-keep{filter:brightness(1.4) saturate(1.2);opacity:.7;}
.result-logo-round{width:32px;height:32px;border-radius:50%;object-fit:cover;filter:grayscale(1);opacity:.7;}
.result-card:hover .result-logo{opacity:.7;}
.result-card:hover .result-logo-keep{opacity:1;}
.result-card:hover .result-logo-round{opacity:1;}
.result-card{
  width:330px;flex-shrink:0;
  position:relative;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
  border-radius:20px;
  padding:1.8rem 1.6rem;
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),border-color .35s,box-shadow .45s;
  overflow:hidden;
}
.result-card::before{
  content:"";position:absolute;inset:0;border-radius:20px;
  background:linear-gradient(135deg,rgba(242,145,27,.14) 0%,transparent 55%);
  opacity:0;transition:opacity .45s ease;pointer-events:none;
}
.result-card::after{
  content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);
  transition:left .9s ease;pointer-events:none;
}
.result-card:hover{
  transform:translateY(-10px);
  border-color:rgba(242,145,27,.45);
  box-shadow:0 18px 42px rgba(242,145,27,.22),0 0 0 1px rgba(242,145,27,.2) inset;
}
.result-card:hover::before{opacity:1;}
.result-card:hover::after{left:100%;}
.result-num{
  font-family:'Sora',sans-serif;font-weight:800;
  font-size:clamp(2.6rem,4.5vw,3.8rem);
  font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,#E87413 0%,#F2A028 50%,#F8C13A 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  line-height:1;display:block;letter-spacing:-.02em;
  filter:drop-shadow(0 0 20px rgba(242,145,27,.3));
}
.result-what{
  font-family:'Sora',sans-serif;font-weight:600;color:var(--white);
  font-size:.98rem;margin-top:.8rem;line-height:1.35;
}
.result-client{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .8rem;margin-top:1.1rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:100px;
  font-size:.78rem;color:var(--gray-light);letter-spacing:.01em;
}
.result-client::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--orange);box-shadow:0 0 8px rgba(242,145,27,.6);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
@keyframes pulse-dot{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.5;transform:scale(.85);}
}
@media(max-width:900px){.results-grid{animation-duration:32s;}}
@media(max-width:540px){.result-card{width:280px;padding:1.6rem 1.4rem;}.results-grid{animation-duration:24s;}}

/* ===== process (1, 2, 3) ===== */
.process{
  background:transparent;
  color:var(--white);position:relative;overflow:visible;
  padding:20px 0 100px;
}
.process .container{position:relative;z-index:1;}
.process .section-title{color:var(--white);}
.process .section-intro{color:var(--gray-light);}
.process .eyebrow{color:var(--gold-bright);}
.process-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  position:relative;
}
.process-grid::before{
  content:"";position:absolute;top:60px;left:25%;right:25%;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(242,145,27,.25) 20%,rgba(242,145,27,.25) 80%,transparent 100%);
  z-index:0;display:none;
}
@media(min-width:900px){.process-grid::before{display:block;}}
.process-step{
  position:relative;z-index:1;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;padding:2.4rem 2rem;
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),border-color .35s,box-shadow .45s;
  overflow:hidden;
}
.process-step::before{
  content:"";position:absolute;inset:0;border-radius:22px;
  background:linear-gradient(135deg,rgba(242,145,27,.1) 0%,transparent 55%);
  opacity:0;transition:opacity .45s ease;pointer-events:none;
}
.process-step:hover{
  transform:translateY(-8px);
  border-color:rgba(242,145,27,.4);
  box-shadow:0 30px 70px rgba(242,145,27,.18);
}
.process-step:hover::before{opacity:1;}
.process-num{
  font-family:'Sora',sans-serif;font-weight:800;font-size:.9rem;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  letter-spacing:.2em;margin-bottom:1.2rem;
}
.process-icon{
  width:64px;height:64px;border-radius:16px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.6rem;
  box-shadow:0 12px 30px rgba(242,145,27,.35);
}
.process-icon svg{width:28px;height:28px;color:var(--ink);}
.process-step h3{
  font-family:'Sora',sans-serif;font-weight:700;font-size:1.3rem;
  margin-bottom:.7rem;color:var(--white);letter-spacing:-.01em;
}
.process-step p{color:var(--gray-light);font-size:.98rem;line-height:1.55;font-weight:300;}
@media(max-width:900px){
  .process-grid{grid-template-columns:1fr;gap:1.2rem;}
  .process{padding:60px 0 70px;}
}

/* ===== testimonials (marquee) ===== */
.testimonials{background:linear-gradient(180deg,var(--cream) 0%,#F3EFE6 100%);overflow:hidden;padding:60px 0 50px;}
.testimonials .container{max-width:none;padding:0;}
.testimonials .section-head{max-width:1180px;margin-left:auto;margin-right:auto;padding:0 24px;margin-bottom:2rem;}
.testi-marquee-wrap{
  position:relative;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);
}
.testi-marquee{
  display:flex;gap:1.6rem;width:max-content;padding:.8rem 0;
  animation:marquee 70s linear infinite reverse;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - .8rem));}
}
.testi{
  width:380px;flex-shrink:0;
  background:var(--white);border:1px solid var(--border);border-radius:18px;
  padding:1.9rem;display:flex;flex-direction:column;
  transition:transform .3s ease,box-shadow .3s ease;
}
.testi:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08);}
.testi-stars{color:var(--orange);font-size:.9rem;letter-spacing:.08em;margin-bottom:.9rem;}
.testi-quote{font-size:1rem;color:var(--ink);margin-bottom:1.3rem;line-height:1.65;flex:1;}
.testi-author{display:flex;align-items:center;gap:.8rem;}
.testi-avatar{
  width:48px;height:48px;border-radius:50%;flex-shrink:0;overflow:hidden;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold) 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:'Sora',sans-serif;font-weight:800;color:var(--ink);font-size:.95rem;letter-spacing:-.01em;
}
.testi-avatar img{width:100%;height:100%;object-fit:cover;}
.testi-name{font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;}
.testi-role{font-size:.8rem;color:var(--gray-light);}
@media(max-width:900px){.testi-marquee{animation-duration:42s;}}
@media(max-width:540px){
  .testi{width:240px;padding:1.3rem;}
  .testi-quote{font-size:.88rem;line-height:1.55;margin-bottom:1rem;}
  .testi-marquee{animation-duration:42s;gap:1.1rem;}
}

/* ===== funnel (platforms → Partenaire.io) ===== */
.funnel-section{
  background:transparent;
  padding:90px 0 40px;
  position:relative;overflow:visible;text-align:center;
}
.funnel-section .section-head{color:var(--white);margin-bottom:2rem;}
.funnel-section .section-title{color:var(--white);}
.funnel-section .section-intro{color:var(--gray-light);}
.funnel-section .eyebrow{color:var(--gold-bright);}
.serif-accent{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
/* dark-zone unifies funnel + process under one background + glow */
.dark-zone{
  position:relative;
  background:linear-gradient(180deg,#1A1A1D 0%,#000 25%,#000 75%,#1A1A1D 100%);
  overflow:hidden;
}
.dark-zone::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 22% at center 38%,rgba(242,145,27,.26) 0%,transparent 75%),
    radial-gradient(ellipse 100% 30% at center 0%,rgba(248,193,58,.05) 0%,transparent 70%),
    radial-gradient(ellipse 60% 25% at center 75%,rgba(242,145,27,.05) 0%,transparent 70%);
  pointer-events:none;
}
.dark-zone::after{
  content:"";position:absolute;left:0;right:0;top:-1px;height:80px;
  background:linear-gradient(180deg,var(--ink) 0%,transparent 100%);
  pointer-events:none;
  z-index:1;
}
.funnel-stage{
  position:relative;height:460px;max-width:900px;margin:0 auto;z-index:1;
}
.funnel-center{
  position:absolute;bottom:20px;left:50%;
  width:130px;height:130px;border-radius:28px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    0 30px 80px rgba(242,145,27,.55),
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 60px rgba(242,145,27,.3);
  z-index:10;
  transform:translateX(-50%);
  animation:centerPulse 5s ease-in-out infinite;
}
.funnel-center::before{
  content:"";position:absolute;inset:-20px;border-radius:48px;
  background:radial-gradient(circle,rgba(242,145,27,.4) 0%,transparent 70%);
  z-index:-1;animation:centerGlow 4s ease-in-out infinite;
}
.funnel-center img{width:72%;height:auto;filter:brightness(0) invert(1);position:relative;z-index:1;}
@keyframes centerPulse{
  0%,100%{transform:translateX(-50%) translateY(0) scale(1);}
  50%{transform:translateX(-50%) translateY(-6px) scale(1.02);}
}
@keyframes centerGlow{
  0%,100%{opacity:.55;transform:scale(1);}
  50%{opacity:.85;transform:scale(1.1);}
}
.funnel-icon{
  position:absolute;
  width:var(--size,72px);height:var(--size,72px);border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    0 22px 50px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 1px 0 rgba(255,255,255,.12) inset;
  bottom:var(--y,0);left:calc(50% + var(--x,0));
  animation:iconFloat var(--dur,5s) ease-in-out infinite var(--d,0s);
  z-index:var(--z,2);
}
.funnel-icon svg{width:50%;height:50%;}
@keyframes iconFloat{
  0%,100%{transform:translateX(-50%) translateY(0) rotate(var(--r,0deg));}
  50%{transform:translateX(-50%) translateY(-12px) rotate(calc(var(--r,0deg) + 2deg));}
}
.ic-meta{background:linear-gradient(135deg,#0866FF,#0064E0);}
.ic-instagram{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);}
.ic-tiktok{background:#0F0F0F;}
.ic-youtube{background:#FF0000;}
.ic-google-ads{background:#fff;}
.ic-google-ads svg{width:58%;height:58%;}
.ic-linkedin{background:#0A66C2;}
.ic-x{background:#0A0A0A;}
.ic-whatsapp{background:#25D366;}
.ic-stripe{background:#635BFF;}
@media(max-width:760px){
  .funnel-stage{
    height:280px;max-width:340px;
    transform:scale(.6);transform-origin:center bottom;
  }
  .funnel-section{padding:30px 0 0;}
  /* disable the floating widget animations on mobile — they fight with scroll smoothness on lower-power devices */
  .funnel-icon{animation:none;transform:translateX(-50%);}
  .funnel-center{animation:none;transform:translateX(-50%);}
  .funnel-center::before{animation:none;}
}

/* ===== founder ===== */
.founder{
  background:linear-gradient(180deg,#000 0%,#0A0A0B 40%,#0A0A0B 60%,#1A1A1D 100%);
  color:var(--white);overflow:hidden;position:relative;
}
.founder::before{
  content:"";position:absolute;top:0;right:0;width:50%;height:100%;
  background:radial-gradient(ellipse at right,rgba(242,145,27,.08) 0%,transparent 60%);
  pointer-events:none;
}
.founder-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:5rem;align-items:center;position:relative;z-index:1;}
.founder-photo{position:relative;cursor:pointer;}
.founder-photo-frame{
  position:relative;z-index:1;
  border-radius:18px;overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.6);
  transition:box-shadow .6s ease;
}
.founder-photo img{
  width:100%;display:block;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
  transform-origin:center;
  will-change:transform;
}
.founder-photo:hover .founder-photo-frame{
  box-shadow:0 50px 100px rgba(242,145,27,.25),0 40px 80px rgba(0,0,0,.6);
}
.founder-photo:hover img{transform:scale(1.05);}

@keyframes dotPulse{
  0%,100%{transform:scale(1);opacity:.7;}
  50%{transform:scale(1.6);opacity:.15;}
}
#chartDotHalo{transform-box:fill-box;transform-origin:center;}
.founder-photo::before{
  content:"";position:absolute;inset:-14px;border-radius:22px;
  background:linear-gradient(135deg,rgba(242,145,27,.4) 0%,transparent 50%,rgba(248,193,58,.2) 100%);
  z-index:-1;filter:blur(2px);
}
.founder .eyebrow{color:var(--gold-bright);margin-bottom:1.4rem;}
.founder h2{
  font-family:'Sora',sans-serif;font-weight:800;
  font-size:clamp(2.6rem,5.5vw,4.4rem);
  line-height:1;letter-spacing:-.02em;margin-bottom:2rem;color:var(--white);
}
.founder h2 .serif{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  letter-spacing:-.01em;
}
.founder p{color:var(--gray-light);font-size:1.04rem;font-weight:300;margin-bottom:1.1rem;line-height:1.65;}
.founder p strong{color:var(--white);font-weight:600;}
.founder .sig{
  font-family:'Sora',sans-serif;font-weight:700;color:var(--white);
  font-size:1.05rem;margin-top:2.2rem;padding-top:1.4rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.founder .sig span{display:block;color:var(--gray);font-weight:400;font-size:.85rem;margin-top:.2rem;letter-spacing:.02em;}
@media(max-width:900px){
  /* on mobile: title intro (eyebrow + h2) ABOVE photo, then text + sig below */
  .founder-inner{display:flex;flex-direction:column;gap:1.8rem;}
  .founder-text{display:contents;}
  .founder-text .eyebrow{order:1;margin-bottom:.6rem;}
  .founder-text h2{order:2;margin-bottom:0;}
  .founder-photo{order:3;}
  .founder-text p{order:4;}
  .founder-text .sig{order:5;}
}

/* ===== booking (Cal.com embed) ===== */
.booking{
  background:linear-gradient(180deg,#1A1A1D 0%,#0A0A0B 50%,#1A1A1D 100%);
  color:var(--white);position:relative;overflow:hidden;padding:80px 0;
}
.booking::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at center,rgba(242,145,27,.1) 0%,transparent 70%);
  pointer-events:none;
}
.booking .container{position:relative;z-index:1;}
.booking .section-title{color:var(--white);}
.booking .section-intro{color:var(--gray-light);}
.cal-embed{
  background:var(--white);border-radius:22px;overflow:hidden;
  max-width:1100px;margin:0 auto;position:relative;
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 0 1px rgba(242,145,27,.1) inset;
  transition:transform .45s cubic-bezier(.34,1.4,.64,1),box-shadow .45s ease;
}
.booking .cal-embed:hover,
.booking .cal-embed.is-hover{
  transform:translateY(0) scale(1.018);
  box-shadow:
    0 0 0 1px rgba(232,116,19,.35),
    0 0 60px rgba(232,116,19,.32),
    0 30px 70px rgba(0,0,0,.5),
    0 0 0 1px rgba(242,145,27,.45) inset;
}
.cal-embed iframe{display:block;width:100%;min-height:780px;border:0;overflow:hidden;}
@media(max-width:540px){.cal-embed iframe{min-height:920px;}}

/* placeholder when Cal.com link not yet set */
.cal-placeholder{
  background:linear-gradient(135deg,#FBFAF7 0%,#F3EFE6 100%);
  border-radius:22px;
  max-width:760px;margin:0 auto;
  padding:3.5rem 2.5rem;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(242,145,27,.15) inset;
  position:relative;overflow:hidden;
}
.cal-placeholder::before{
  content:"";position:absolute;top:-100px;right:-100px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,145,27,.18) 0%,transparent 70%);
  pointer-events:none;
}
.cal-placeholder-icon{
  width:64px;height:64px;border-radius:16px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.6rem;
  box-shadow:0 16px 40px rgba(242,145,27,.4);
}
.cal-placeholder-icon svg{width:32px;height:32px;color:var(--ink);}
.cal-placeholder h3{
  font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(1.6rem,2.5vw,2.1rem);
  color:var(--ink);margin-bottom:.8rem;letter-spacing:-.01em;
}
.cal-placeholder p{color:var(--gray);font-size:1.05rem;margin-bottom:1.8rem;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.55;}
.cal-placeholder .btn{font-size:1rem;padding:1.05rem 2rem;}

/* ===== final CTA ===== */
.final-cta{
  background:linear-gradient(180deg,#1A1A1D 0%,#000 50%,#0A0A0B 100%);
  text-align:center;position:relative;overflow:hidden;
  padding:60px 0 60px;
}
.final-cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 90% at center,rgba(242,145,27,.12) 0%,transparent 70%);
  pointer-events:none;
}
.final-cta .container{position:relative;z-index:1;}
.final-cta h2{
  font-size:clamp(2.2rem,4.5vw,3.4rem);
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  margin-bottom:1.2rem;max-width:720px;margin-left:auto;margin-right:auto;font-weight:800;
}
.final-cta p{color:var(--gray-light);font-size:1.15rem;margin-bottom:2.4rem;font-weight:400;}

/* ===== verse outro ===== */
.verse-outro{
  background:#000;padding:50px 24px;text-align:center;
  position:relative;overflow:hidden;
}
.verse-outro::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 100% at center,rgba(242,145,27,.07) 0%,transparent 70%);
  pointer-events:none;
}
.verse-outro-text{
  font-family:'Sora',sans-serif;font-style:italic;font-weight:400;
  color:var(--gold);font-size:clamp(.95rem,1.7vw,1.15rem);
  max-width:920px;margin:0 auto;line-height:1.6;letter-spacing:.005em;
  position:relative;z-index:1;
}
.verse-outro-ref{
  display:block;margin-top:.9rem;font-size:.75rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gray);font-style:normal;font-weight:600;
  font-family:'Sora',sans-serif;position:relative;z-index:1;
}

/* ===== footer ===== */
footer{background:var(--ink);color:var(--gray-light);position:relative;}
.footer-verse-banner{
  background:#000;padding:2.4rem 0;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-verse-banner p{
  font-family:'Sora',sans-serif;font-style:italic;font-weight:400;
  color:var(--gold);font-size:clamp(.95rem,1.7vw,1.15rem);
  max-width:920px;margin:0 auto;line-height:1.6;letter-spacing:.005em;
}
.footer-verse-banner span{
  display:block;margin-top:.7rem;font-size:.75rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gray);font-style:normal;font-weight:600;
}
.footer-glow{
  position:relative;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--orange) 50%,transparent 100%);
  opacity:.4;
}
.footer-glow::after{
  content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  width:340px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,145,27,.18) 0%,transparent 70%);
  pointer-events:none;
}
.footer-main{padding:90px 24px 36px;position:relative;z-index:1;}
.footer-top{
  display:grid;grid-template-columns:2.2fr 1fr 1fr 1.2fr;gap:3rem;
  margin-bottom:3.5rem;
}
.footer-brand .logo{display:inline-flex;margin-bottom:1.4rem;align-items:center;}
.footer-brand .logo img{height:60px;width:auto;display:block;content:url('assets/logo-full-dark.png');}
.footer-mission{
  font-family:'Sora',sans-serif;font-size:1.05rem;color:var(--white);
  font-weight:400;line-height:1.55;max-width:340px;
}
.footer-mission strong{color:var(--white);font-weight:700;}
.footer-tagline{
  margin-top:.9rem;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--orange);font-weight:600;
}
.footer-col h4{
  color:var(--white);font-family:'Sora',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:1.4rem;
}
.footer-col a{
  display:block;font-size:.92rem;padding:.4rem 0;color:var(--gray-light);
  transition:color .2s ease,transform .2s ease;
}
.footer-col a:hover{color:var(--orange);transform:translateX(3px);}
.social-link{display:inline-flex;align-items:center;gap:.6rem;}
.social-link svg{flex-shrink:0;transition:transform .25s ease;}
.social-link:hover svg{transform:scale(1.15);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding-top:2rem;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.78rem;flex-wrap:wrap;gap:1rem;color:var(--gray);
}
.footer-verse-mini{color:var(--gray);font-style:italic;}
@media(max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem 2rem;}
  .footer-brand{grid-column:span 2;}
  .footer-main{padding:60px 24px 30px;}
}
@media(max-width:540px){
  .footer-top{grid-template-columns:1fr;}
  .footer-brand{grid-column:span 1;}
  .footer-bottom{flex-direction:column;text-align:center;}
}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ===== responsive ===== */
@media(max-width:900px){
  nav{top:12px;}
  .nav-inner{
    margin:0 16px;height:60px;padding:0 .55rem 0 1.6rem;
    grid-template-columns:1fr auto auto;gap:.55rem;
  }
  .nav-inner .logo{justify-self:start;}
  .nav-inner .logo img{height:26px;}
  .nav-inner .nav-cta{
    display:inline-flex;justify-self:end;align-items:center;
    padding:.55rem .95rem;font-size:.78rem;font-weight:600;
    border-radius:100px;line-height:1;letter-spacing:.01em;
    box-shadow:0 4px 14px rgba(199,144,26,.35);
  }
  .nav-inner .nav-cta .full{display:none;}
  .nav-inner .nav-cta .short{display:inline;}
  .nav-links{
    position:absolute;top:calc(100% + 10px);left:0;right:0;
    background:var(--ink);flex-direction:column;
    padding:1.4rem;gap:1.1rem;
    border-radius:20px;
    box-shadow:0 14px 40px rgba(0,0,0,.4);
    transform:translateY(-10px);opacity:0;pointer-events:none;
    transition:transform .3s ease,opacity .3s ease;
  }
  .nav-links a{font-size:1.05rem;}
  .nav-links .nav-cta-mobile{
    display:inline-flex;justify-content:center;
    margin-top:.4rem;padding:.9rem 1.2rem;
    background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
    color:#000!important;border-radius:100px;font-weight:600;
    -webkit-text-fill-color:#000;
  }
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav-toggle{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.06);color:#FFF;
    transition:background .25s ease;
  }
  .nav-toggle:hover{background:rgba(255,255,255,.12);}
  .metrics-grid{grid-template-columns:1fr;gap:2.5rem;}
  .testi-grid{columns:1;}
  .partners-grid{grid-template-columns:repeat(3,1fr);}
  .founder-inner{grid-template-columns:1fr;gap:2.5rem;}
  .footer-top{grid-template-columns:1fr;gap:2rem;}
  .section{padding:80px 0;}
}
@media(max-width:540px){
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{justify-content:center;}
  .final-cta{padding:32px 0 18px;}
  .final-cta h2{margin-bottom:.8rem;}
  .final-cta p{margin-bottom:1.4rem;font-size:1rem;}
  .verse-outro{padding:36px 24px 32px;}
}

/* ===== booking modal ===== */
.booking-modal{
  position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,.78);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  align-items:center;justify-content:center;
  padding:24px;
  display:none;
  transition:opacity .35s ease;
}
.booking-modal.open{display:flex;opacity:1;pointer-events:auto;}
.booking-modal-card{
  background:#FFF;
  border-radius:24px;
  max-width:900px;width:100%;
  padding:0;text-align:center;
  position:relative;overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 0 1px rgba(242,145,27,.2) inset;
  transform:scale(.92) translateY(20px);
  transition:transform .45s cubic-bezier(.34,1.4,.64,1);
}
.booking-modal-iframe{
  display:block;width:100%;height:min(740px,85vh);border:0;
}
.booking-modal.open .booking-modal-card{transform:scale(1) translateY(0);}
.booking-modal-card::before{
  content:"";position:absolute;top:-100px;right:-100px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,145,27,.18) 0%,transparent 70%);
  pointer-events:none;
}
.booking-modal-close{
  position:absolute;top:16px;right:16px;z-index:2;
  width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,.06);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,transform .2s ease;
}
.booking-modal-close:hover{background:rgba(0,0,0,.12);transform:rotate(90deg);}
.booking-modal-close svg{width:18px;height:18px;color:var(--ink);}
.booking-modal-icon{
  width:60px;height:60px;border-radius:16px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;
  box-shadow:0 14px 32px rgba(242,145,27,.4);position:relative;z-index:1;
}
.booking-modal-icon svg{width:30px;height:30px;color:#000;}
.booking-modal-card h3{
  font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(1.5rem,2.5vw,2rem);
  color:var(--ink);margin-bottom:.7rem;letter-spacing:-.01em;position:relative;z-index:1;
}
.booking-modal-card p{
  color:var(--gray);font-size:1rem;margin-bottom:1.6rem;
  max-width:440px;margin-left:auto;margin-right:auto;line-height:1.55;
  position:relative;z-index:1;
}

/* ===== case studies / témoignages page (WOW) ===== */
.cases-hero{
  padding:100px 0 60px;text-align:center;background:var(--cream);
  position:relative;overflow:hidden;
}
.cases-hero::before{
  content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:900px;height:600px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(242,145,27,.12) 0%,transparent 65%);
  pointer-events:none;
}
.cases-hero .container{position:relative;z-index:1;}
.cases-hero .eyebrow{margin-bottom:1.4rem;}
.cases-hero h1{font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:800;margin-bottom:1.2rem;line-height:1.05;}
.cases-hero h1 .accent{
  font-family:'Playfair Display',serif;font-style:italic;font-weight:500;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.cases-hero p{color:var(--gray);font-size:1.18rem;max-width:640px;margin:0 auto;font-weight:300;line-height:1.55;}

.cases-section{background:var(--cream);padding:30px 0 110px;}
.cases-list{display:flex;flex-direction:column;gap:2rem;}

.case-row{
  position:relative;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:28px;
  padding:2rem;display:grid;grid-template-columns:1fr 320px;gap:2.2rem;
  transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .5s ease,border-color .5s ease;
  align-items:center;
  overflow:hidden;
}
.case-row::before{
  content:"";position:absolute;inset:0;border-radius:28px;
  background:linear-gradient(135deg,rgba(242,145,27,.05) 0%,transparent 50%,rgba(248,193,58,.04) 100%);
  opacity:0;transition:opacity .5s ease;pointer-events:none;
}
.case-row::after{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent 30%,rgba(242,145,27,.06) 50%,transparent 70%);
  transition:left 1.2s ease;pointer-events:none;
}
.case-row:hover{
  transform:translateY(-8px);
  box-shadow:0 40px 80px rgba(0,0,0,.1),0 0 0 1px rgba(242,145,27,.18) inset;
  border-color:rgba(242,145,27,.25);
}
.case-row:hover::before{opacity:1;}
.case-row:hover::after{left:120%;}

.case-row-left{display:flex;flex-direction:column;position:relative;z-index:1;}
.case-logos{
  background:linear-gradient(135deg,var(--cream) 0%,#F5F2EA 100%);
  border:1px solid var(--border);
  border-radius:20px;
  padding:1.4rem 1.6rem;
  display:flex;align-items:center;justify-content:center;gap:1.6rem;
  margin-bottom:1.6rem;min-height:130px;
  position:relative;overflow:hidden;
}
.case-logos::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(242,145,27,.06) 0%,transparent 60%);
  pointer-events:none;
}
.case-client-logo{
  font-family:'Sora',sans-serif;font-weight:800;font-size:1.45rem;
  color:var(--ink);letter-spacing:-.02em;text-align:center;line-height:1.05;
  position:relative;z-index:1;cursor:pointer;
  padding:.6rem 1rem;border-radius:14px;
  transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .35s ease,box-shadow .35s ease;
}
.case-client-logo:hover{
  transform:scale(1.06);
  background:rgba(242,145,27,.06);
  box-shadow:0 10px 28px rgba(242,145,27,.18);
}

/* Case brand (real logo image variant — like Nicholas Tang but for companies) */
.case-brand{
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  position:relative;z-index:1;cursor:pointer;
  padding:.85rem 1.2rem;border-radius:14px;min-width:180px;
  transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .35s ease,box-shadow .35s ease;
}
.case-brand:hover{
  transform:scale(1.05);
  background:rgba(242,145,27,.06);
  box-shadow:0 10px 28px rgba(242,145,27,.18);
}
.case-brand-logo{
  max-width:170px;max-height:80px;width:auto;height:auto;
  object-fit:contain;display:block;
  transition:filter .35s ease;
}
.case-brand:hover .case-brand-logo{
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.12));
}
.case-brand .case-client-domain{
  margin-top:.1rem;
}

/* White-on-transparent logos (e.g. Poly Epoxy) — invert to dark on cream bg */
.case-brand-logo-invert{
  filter:brightness(0);
}

.case-client-logo .sub{
  display:block;font-size:.78rem;font-weight:600;color:var(--gray);
  letter-spacing:.12em;margin-top:.25rem;text-transform:uppercase;
}
.case-client-domain{
  display:block;font-size:.72rem;font-weight:600;color:var(--orange);
  letter-spacing:.12em;margin-top:.5rem;text-transform:uppercase;
}
.case-cross{
  font-family:'Sora',sans-serif;font-weight:700;
  color:var(--orange);font-size:1.4rem;opacity:.55;
  position:relative;z-index:1;flex-shrink:0;
}
.case-partenaire-mark{
  width:64px;height:64px;flex-shrink:0;position:relative;z-index:1;cursor:pointer;
  transition:transform .35s cubic-bezier(.34,1.4,.64,1),filter .35s ease;
}
.case-partenaire-mark img{width:100%;height:auto;display:block;}
.case-partenaire-mark:hover{
  transform:scale(1.12) rotate(-4deg);
  filter:drop-shadow(0 8px 20px rgba(242,145,27,.45));
}

/* photo variant */
.case-person{
  display:flex;align-items:center;gap:1rem;position:relative;z-index:1;
  cursor:pointer;padding:.4rem .6rem;border-radius:18px;
  transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .35s ease,box-shadow .35s ease;
}
.case-person:hover{
  transform:scale(1.04);
  background:rgba(242,145,27,.05);
  box-shadow:0 10px 28px rgba(242,145,27,.15);
}
.case-person-photo{
  width:100px;height:100px;border-radius:50%;flex-shrink:0;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(242,145,27,.4);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:border-color .35s ease,box-shadow .35s ease;
  background:#FFF;
}
.case-person-photo > img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.case-person:hover .case-person-photo{
  border-color:rgba(242,145,27,.85);
  box-shadow:0 14px 32px rgba(242,145,27,.35),0 10px 24px rgba(0,0,0,.18);
}
/* Light-bg logo variant — company logos sized big inside white circle */
.case-person-photo-light{background:#FFF;}
.case-person-photo-light > img{
  width:90%;height:90%;object-fit:contain;
}
/* Dark-bg logo variant — logo designed for dark background */
.case-person-photo-dark{background:#000;}
.case-person-photo-dark > img{
  width:88%;height:88%;object-fit:contain;
}
.case-person-info{text-align:left;}
.case-person-name{
  font-family:'Sora',sans-serif;font-weight:800;font-size:1.2rem;
  color:var(--ink);letter-spacing:-.01em;
}
.case-person-domain{
  font-size:.72rem;font-weight:600;color:var(--orange);
  letter-spacing:.12em;margin-top:.35rem;text-transform:uppercase;
}

.case-title{
  font-family:'Sora',sans-serif;font-weight:700;
  font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2;color:var(--ink);
  margin-bottom:.9rem;letter-spacing:-.01em;
}
.case-desc{color:var(--gray);font-size:1rem;line-height:1.6;margin-bottom:1.6rem;flex:1;}

.case-cta{
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:.65rem;
  background:var(--ink);color:var(--white);
  padding:.95rem 1.7rem;border-radius:100px;font-family:'Sora',sans-serif;
  font-weight:600;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;
  transition:transform .3s ease,background .3s ease,box-shadow .3s ease;
}
.case-cta span{transition:transform .3s ease;}
.case-cta:hover{
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold-bright) 100%);
  color:var(--ink);
  box-shadow:0 12px 30px rgba(242,145,27,.4);
}
.case-cta:hover span{transform:translateX(5px);}

.case-stats{
  background:var(--ink);color:var(--white);border-radius:22px;
  padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;
  position:relative;overflow:hidden;
  box-shadow:0 24px 50px rgba(0,0,0,.3);
  min-height:262px;
  justify-content:center;
}
.case-stats::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 0%,rgba(242,145,27,.15) 0%,transparent 60%),
    radial-gradient(circle at 70% 100%,rgba(248,193,58,.1) 0%,transparent 60%);
  pointer-events:none;
}
.case-stats::after{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,145,27,.5),transparent);
}
.case-stat{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  padding:.95rem 1.1rem;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
  cursor:default;
  min-height:62px;
  transition:background .3s ease,border-color .3s ease,transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s ease;
}
.case-row:hover .case-stat{
  background:rgba(255,255,255,.045);
  border-color:rgba(242,145,27,.18);
}
.case-stat:hover{
  transform:translateX(3px);
  background:rgba(242,145,27,.07);
  border-color:rgba(242,145,27,.4);
  box-shadow:0 8px 24px rgba(242,145,27,.18);
}
.case-stat-num{
  display:inline-block;
  font-family:'Sora',sans-serif;font-weight:800;font-size:2rem;line-height:1;
  background:linear-gradient(135deg,#E87413 0%,#F2A028 50%,#F8C13A 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  letter-spacing:-.025em;
  filter:drop-shadow(0 0 14px rgba(242,145,27,.3));
  transition:filter .35s ease,transform .35s cubic-bezier(.34,1.4,.64,1);
  flex-shrink:0;
}
.case-stat:hover .case-stat-num{
  filter:drop-shadow(0 0 22px rgba(248,193,58,.55));
  transform:scale(1.06);
}
.case-stat-label{
  font-size:.72rem;color:var(--gray-light);
  letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  text-align:right;line-height:1.3;
  transition:color .35s ease;
}
.case-stat:hover .case-stat-label{color:var(--white);}

@media(max-width:900px){
  /* switch from grid to flex column so we can interleave .case-stats with the text children */
  .case-row{display:flex;flex-direction:column;padding:1.5rem;gap:1.3rem;}
  /* let case-row-left's children become direct flex items of case-row, so they can be ordered alongside case-stats */
  .case-row-left{display:contents;}
  .case-logos{order:1;}
  .case-title{order:2;}
  .case-desc{order:3;}
  .case-stats{order:4;}
  .case-cta{order:5;align-self:flex-start;}
}
@media(max-width:540px){
  /* whole card tighter */
  .case-row{padding:1.2rem;gap:.95rem;}

  /* logos block: smaller circle + tighter padding so it stops dominating */
  .case-logos{padding:1rem 1.1rem;gap:1rem;border-radius:16px;}
  .case-person{gap:.9rem;}
  .case-person-photo{width:72px;height:72px;border-width:1.5px;box-shadow:0 6px 16px rgba(0,0,0,.14);}
  .case-person-name{font-size:1rem;}
  .case-person-domain{font-size:.6rem;margin-top:.22rem;letter-spacing:.08em;}
  .case-cross{font-size:1.4rem;}
  .case-partenaire-mark{width:50px;}
  .case-client-logo{font-size:1.1rem;}

  /* text: smaller title + tighter description */
  .case-title{font-size:1.08rem;line-height:1.25;margin-bottom:.55rem;}
  .case-desc{font-size:.86rem;line-height:1.5;margin-bottom:0;}

  /* stats card */
  .case-stats{padding:1rem .9rem;gap:.4rem;border-radius:16px;min-height:208px;}
  .case-stat{padding:.7rem .9rem;gap:.7rem;border-radius:11px;min-height:50px;}
  .case-stat-num{font-size:1.4rem;}
  .case-stat-label{font-size:.62rem;letter-spacing:.07em;}

  /* CTA: smaller pill */
  .case-cta{padding:.75rem 1.3rem;font-size:.74rem;letter-spacing:.07em;gap:.5rem;}
}

/* ===== team page ===== */
.team-hero{padding:90px 0 50px;text-align:center;}
.team-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;margin-bottom:1.1rem;}
.team-hero p{color:var(--gray);font-size:1.15rem;max-width:560px;margin:0 auto;font-weight:300;}
.team-section{padding:40px 0 110px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.member{
  background:var(--white);border:1px solid var(--border);border-radius:18px;
  padding:1.8rem 1.2rem 1.5rem;
  text-align:center;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.member:hover{
  transform:translateY(-6px);
  border-color:rgba(232,116,19,.25);
  box-shadow:0 18px 44px rgba(232,116,19,.12),0 0 0 1px rgba(232,116,19,.08);
}
.member-photo{
  width:140px;height:140px;margin:0 auto 1.1rem;
  border-radius:50%;overflow:hidden;
  background:linear-gradient(135deg,#FBFAF7 0%,#F3EFE6 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.06),0 0 0 1px rgba(0,0,0,.04);
  transition:box-shadow .35s ease,transform .35s ease;
}
.member:hover .member-photo{
  box-shadow:0 10px 24px rgba(232,116,19,.18),0 0 0 2px rgba(232,116,19,.25);
}
.member-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.member-photo .placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:'Sora',sans-serif;font-weight:800;font-size:2.4rem;
  background:linear-gradient(135deg,var(--orange) 0%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.member-info{padding:0;}
.member-name{font-family:'Sora',sans-serif;font-weight:700;font-size:1.08rem;margin-bottom:.25rem;line-height:1.2;}
.member-role{font-size:.86rem;color:var(--gray);font-weight:400;line-height:1.4;}
@media(max-width:900px){
  .team-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:540px){
  .team-grid{grid-template-columns:1fr;gap:1.1rem;}
  .member{padding:1.5rem 1.2rem 1.3rem;}
  .member-photo{width:120px;height:120px;}
}

/* ===== Mobile vertical compaction (added 2026-05-19) ===== */
@media(max-width:900px){
  /* section spacing — was 90px, way too much when stacked */
  .section{padding:48px 0;}
  .section-head{margin-bottom:2rem;}
  .section-title{font-size:clamp(1.7rem,5.6vw,2.4rem);line-height:1.15;}
  .section-intro{font-size:.98rem;}

  /* hero — tighter */
  .hero{padding:32px 0 28px;}
  .hero h1{margin-bottom:.9rem;font-size:clamp(2.1rem,7.5vw,3rem);}
  .hero-visual{margin-top:.4rem;margin-bottom:1.1rem;}
  .hero-sub{margin-bottom:.95rem;font-size:1.02rem;}
  .hero-actions{margin-bottom:.95rem;}
  .hero-guarantee{margin-bottom:1rem;padding:.7rem .9rem;}
  .hero .badge{margin-bottom:.85rem;}
  /* dashboard card — shrunk on mobile so it doesn't dominate */
  .partenaire-dashboard-card{
    width:auto;max-width:300px;padding:1.1rem 1.2rem;border-radius:16px;
  }
  .partenaire-dashboard-card .card-header{margin-bottom:14px;}
  .partenaire-dashboard-card .status-label{font-size:11px;}
  .partenaire-dashboard-card .period-label{font-size:10px;}
  .partenaire-dashboard-card .metric-label{font-size:11.5px;}
  .partenaire-dashboard-card .metric-main{margin-bottom:14px;gap:6px;}
  .partenaire-dashboard-card .metric-number{font-size:32px;}
  .partenaire-dashboard-card .metric-unit{font-size:12px;}
  .partenaire-dashboard-card .chart-wrapper{margin-bottom:14px;}
  .partenaire-dashboard-card .chart-wrapper svg{height:60px;}
  .partenaire-dashboard-card .card-footer{padding-top:12px;gap:10px;}
  .partenaire-dashboard-card .footer-label{font-size:10px;}
  .partenaire-dashboard-card .footer-value{font-size:15px;}

  /* metrics — was 40px/80px, compress */
  .metrics{padding:24px 0 32px;}
  .metrics-grid{gap:.6rem;}
  .metric{padding:.5rem 1rem;text-align:center;}
  .metric::after{display:none;}
  .metric-num{font-size:clamp(2.4rem,12vw,3.2rem);text-align:center;display:block;width:100%;}
  .metric-label{font-size:.82rem;margin-top:.25rem;}

  /* results — heading and marquee tight */
  .results .section-head{padding:0 24px .6rem;}

  /* process */
  .process{padding:40px 0 50px;}

  /* testimonials marquee section */
  .testimonials{padding:36px 0 28px;}
  .testimonials .section-head{margin-bottom:1.2rem;}

  /* funnel */
  .funnel-section{padding:36px 0 24px;}

  /* founder */
  .founder{padding:40px 0;}

  /* partners */
  .partners{padding:36px 0 44px;}

  /* booking + merged final-cta */
  .booking, .final-cta{padding:42px 0 44px !important;}
  .final-cta h2{margin-bottom:.7rem;}
  .final-cta p{margin-bottom:1.4rem;font-size:1rem;}

  /* verse outro */
  .verse-outro{padding:34px 24px;}
}

@media(max-width:540px){
  .section{padding:36px 0;}
  .section-head{margin-bottom:1.4rem;}
  .hero{padding:24px 0 18px;}
  .hero h1{margin-bottom:.7rem;}
  .hero-guarantee{padding:.65rem .8rem;gap:.65rem;}
  .hero-guarantee-icon{width:24px;height:24px;}
  .hero-guarantee-label{font-size:.62rem;}
  .hero-guarantee-text{font-size:.78rem;line-height:1.35;}
  .metrics{padding:22px 0 32px;}
  .process, .partners, .booking, .final-cta{padding:32px 0 !important;}
  .testimonials{padding:28px 0 24px;}
  .funnel-section{padding:28px 0 18px;}
  .founder{padding:32px 0;}
  .verse-outro{padding:26px 20px;}
  .verse-banner{padding:.65rem 1rem;font-size:.78rem;line-height:1.4;}
}
