/* ══ VIVID OVERLAY — Well Associés ══════════════════════════ */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spinAngle{to{--ang:360deg}}
@keyframes rippleV2{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.8);opacity:0}}
@keyframes floatV2{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes neonPulseV2{0%,100%{text-shadow:0 0 10px currentColor,0 0 24px currentColor}50%{text-shadow:0 0 4px currentColor,0 0 8px currentColor}}
@keyframes gradShiftV2{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes cursorBlinkV2{0%,100%{opacity:1}50%{opacity:0}}

.shimmer-v2{overflow:hidden;position:relative}
.shimmer-v2::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:skewX(-20deg);transition:left .55s;z-index:2;pointer-events:none}
.shimmer-v2:hover::after{left:140%}

.glow-v2{position:relative}
.glow-v2::after{content:'';position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from var(--ang),transparent 20%,var(--gc,#3b82f6) 45%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinAngle 6s linear infinite;opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
.glow-v2:hover::after{opacity:1}
.glow-v2>*{position:relative;z-index:1}

.chiffres-cles{position:relative;overflow:hidden}
.chiffres-cles::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 48px,rgba(255,255,255,.012) 48px,rgba(255,255,255,.012) 49px),repeating-linear-gradient(90deg,transparent,transparent 48px,rgba(255,255,255,.012) 48px,rgba(255,255,255,.012) 49px);pointer-events:none}
.chiffre-cle{position:relative;overflow:hidden;transition:background .3s}
.chiffre-cle::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cc-col,#60a5fa);box-shadow:0 0 8px var(--cc-col,#60a5fa);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.chiffre-cle:hover::before{transform:scaleX(1)}
.cc-num{animation:neonPulseV2 4s ease-in-out infinite}

.problem{transition:all .3s;position:relative}
.problem::before{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.06);border-radius:16px;pointer-events:none;transition:border-color .3s}
.problem:hover::before{border-color:rgba(255,255,255,.16)}
.problem__issue{position:relative}
.problem__issue::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.4);border-radius:2px 0 0 2px}
.problem__solution{position:relative}
.problem__solution::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:#10b981;box-shadow:0 0 10px rgba(16,185,129,.4);border-radius:2px 0 0 2px}

.srv-card-modern{--gc:#3b82f6;transition:all .3s}
.srv-card-modern:hover{transform:translateY(-6px)}
.feature{transition:all .25s;position:relative;overflow:hidden}
.feature::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);transform:skewX(-20deg);transition:left .5s;pointer-events:none}
.feature:hover::after{left:140%}
.feature:hover{transform:translateY(-4px)}
.produit-card{transition:all .3s!important;position:relative;overflow:hidden}
.produit-card::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:skewX(-20deg);transition:left .5s;pointer-events:none}
.produit-card:hover::after{left:140%}
.produit-card:hover{transform:translateY(-5px)!important}

.cas-card{transition:all .3s;position:relative}
.cas-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#a78bfa);transform:scaleX(0);transform-origin:left;transition:transform .45s ease;z-index:1;border-radius:2px}
.cas-card:hover::before{transform:scaleX(1)}
.cas-card:hover{transform:translateY(-4px)}
.cas-stat span{display:block;transition:color .2s}
.cas-stat:hover span{animation:neonPulseV2 1.5s ease-in-out 1}

details.faq-item{transition:all .3s}
details.faq-item[open]{border-color:rgba(200,169,110,.35)!important;background:rgba(200,169,110,.04)!important;box-shadow:0 4px 24px rgba(200,169,110,.06)!important}
details.faq-item summary{transition:color .2s}
details.faq-item[open] summary{color:#fff!important}

.blog-card{transition:all .3s!important}
.blog-card:hover{transform:translateY(-6px)!important}
.blog-card__img{position:relative;overflow:hidden}
.blog-art-v2{position:absolute;inset:0;overflow:hidden}
.blog-art-v2 span{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}

.canvas-section{padding:96px 0;position:relative;overflow:hidden}
.canvas-section .canvas-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1180px;margin:0 auto;padding:0 24px}
.canvas-section canvas{width:100%;height:380px;border-radius:20px;border:1px solid rgba(255,255,255,.08);display:block}
.canvas-text .canvas-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#60a5fa;margin-bottom:16px}
.canvas-text .canvas-eyebrow::before{content:'';width:18px;height:2px;background:#3b82f6;border-radius:2px;display:inline-block}
.canvas-text h2{font-size:clamp(1.8rem,3.5vw,2.7rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:16px}
.canvas-text h2 em{font-style:normal;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.canvas-text p{color:rgba(255,255,255,.55);font-size:.95rem;line-height:1.75;margin-bottom:24px}
.canvas-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.canvas-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.22);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;color:#a78bfa}
.canvas-badge-dot{width:6px;height:6px;border-radius:50%;background:#a78bfa;box-shadow:0 0 7px #a78bfa}
.canvas-flow-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.canvas-flow-step{display:flex;align-items:center;gap:12px;font-size:.87rem;color:rgba(255,255,255,.5)}
.canvas-flow-step .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

.srv-terminal-modern{background:#060a10;border:1px solid rgba(16,185,129,.18);border-radius:12px;padding:16px 18px;font-family:'Courier New',monospace;font-size:.75rem;position:relative;overflow:hidden}
.srv-terminal-modern::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(16,185,129,.4),transparent)}

/* ── Hub navigation cards ── */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;margin-top:48px}
.hub-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:36px 32px;display:flex;flex-direction:column;gap:14px;transition:all .3s;position:relative;overflow:hidden;text-decoration:none;color:inherit}
.hub-card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.16);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.hub-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--hub-col,#3b82f6);box-shadow:0 0 14px var(--hub-col,#3b82f6);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.hub-card:hover::before{transform:scaleX(1)}
.hub-card__icon{font-size:2.2rem}
.hub-card__num{font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--hub-col,#60a5fa);opacity:.75}
.hub-card h3{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--cream,#f4f0e8);margin:0;line-height:1.25}
.hub-card p{font-size:.86rem;color:rgba(244,240,232,.48);line-height:1.7;margin:0;flex:1}
.hub-card__tags{display:flex;flex-wrap:wrap;gap:6px}
.hub-card__tags span,.hub-card__tag{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:3px 10px;font-size:.71rem;color:rgba(244,240,232,.45)}
.hub-card__cta{font-size:.82rem;font-weight:600;color:var(--hub-col,#60a5fa);display:inline-flex;align-items:center;gap:6px}
.hub-card__cta::after{content:'→';transition:transform .2s}
.hub-card:hover .hub-card__cta::after{transform:translateX(4px)}

/* ── Page hero (inner pages) ── */
.page-hero{padding:100px 0 64px;background:var(--dark,#0b0f1a);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:var(--hero__bg-grid,repeating-linear-gradient(0deg,transparent,transparent 60px,rgba(255,255,255,.015) 60px,rgba(255,255,255,.015) 61px),repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.015) 60px,rgba(255,255,255,.015) 61px));pointer-events:none}
.page-hero .container{position:relative;z-index:1}
.page-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#60a5fa;margin-bottom:16px}
.page-hero__eyebrow::before{content:'';width:18px;height:2px;background:#3b82f6;border-radius:2px}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.03em;color:#fff;margin:0 0 20px}
.page-hero h1 em{font-style:italic;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero__sub{font-size:1.05rem;color:rgba(255,255,255,.5);line-height:1.75;max-width:600px;margin:0 0 36px}
.page-hero__cta{display:flex;gap:16px;flex-wrap:wrap}
.page-hero__stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.07)}
.page-hero__stat span{display:block;font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:-.03em}
.page-hero__stat small{font-size:.75rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em}

/* ── Channel cards (nos-offres — d'où viennent les leads) ── */
.ch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.ch-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:24px 22px;display:flex;flex-direction:column;gap:14px;transition:all .3s;position:relative;overflow:hidden}
.ch-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ch-col,#3b82f6);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.ch-card:hover::before{transform:scaleX(1)}
.ch-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.14)}
.ch-card__head{display:flex;align-items:center;gap:14px}
.ch-logo{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.ch-card__title{font-size:.92rem;font-weight:700;color:#fff;margin-bottom:6px;line-height:1.2}
.ch-card__chips{display:flex;flex-wrap:wrap;gap:4px}
.ch-card__chips span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:2px 8px;font-size:.65rem;color:rgba(255,255,255,.4)}
.ch-card>p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.72;margin:0}

/* ── Proprietary platform banner ── */
.proprio-banner{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,rgba(16,185,129,.07),rgba(59,130,246,.07));border:1px solid rgba(16,185,129,.2);border-radius:16px;padding:24px 28px;margin:40px 0;flex-wrap:wrap}
.proprio-banner__icon{font-size:1.8rem;flex-shrink:0}
.proprio-banner strong{display:block;color:#fff;font-size:.98rem;font-weight:700;margin-bottom:4px}
.proprio-banner span{font-size:.8rem;color:rgba(255,255,255,.4);letter-spacing:.04em}
.proprio-banner__badge{margin-left:auto;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:999px;padding:6px 16px;font-size:.75rem;font-weight:700;color:#10b981;white-space:nowrap}

/* ── Guarantee cards (pourquoi nos leads transforment) ── */
.garanti-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:40px}
.garanti-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:32px 28px;transition:all .3s;position:relative;overflow:hidden}
.garanti-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gc-col,#10b981);box-shadow:0 0 10px var(--gc-col,#10b981);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.garanti-card:hover::after{transform:scaleX(1)}
.garanti-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.14)}
.garanti-card__icon{font-size:2rem;margin-bottom:16px;display:block}
.garanti-card h3{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 12px}
.garanti-card>p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.75;margin:0 0 20px}
.garanti-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.garanti-list li{font-size:.82rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:8px}
.garanti-list li::before{content:'✓';color:var(--gc-col,#10b981);font-weight:700;flex-shrink:0}

.flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:1100px){.ch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .canvas-section .canvas-inner{grid-template-columns:1fr;gap:40px}
  .canvas-section canvas{height:260px}
  .flow-grid{grid-template-columns:1fr;gap:36px}
  .hub-grid{grid-template-columns:1fr}
  .proprio-banner{flex-direction:column;align-items:flex-start;gap:12px}
  .proprio-banner__badge{margin-left:0}
  .ch-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){.ch-grid{grid-template-columns:1fr}}

/* ===== Grille produits accueil : 3 cartes + 2ᵉ ligne bouton · RAC · bouton ===== */
.hub-grid--3{grid-template-columns:repeat(3,1fr)}
.hub-row2{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px;align-items:stretch}
.hub-cta{display:flex;flex-direction:column;gap:10px;justify-content:center;text-decoration:none;border-radius:20px;padding:36px 32px;border:1px dashed rgba(244,240,232,.22);background:rgba(244,240,232,.03);transition:all .3s}
.hub-cta:hover{transform:translateY(-6px);border-style:solid;border-color:rgba(200,169,110,.5);background:rgba(244,240,232,.06)}
.hub-cta__ico{font-size:2rem;line-height:1}
.hub-cta__title{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--cream,#f4f0e8);line-height:1.25}
.hub-cta__sub{font-size:.86rem;color:rgba(244,240,232,.48);line-height:1.65}
.hub-cta__go{margin-top:6px;font-size:.82rem;font-weight:600;color:var(--accent,#c8a96e)}
.hub-cta--primary{border:1px solid rgba(200,169,110,.45);background:linear-gradient(135deg,rgba(200,169,110,.16),rgba(200,169,110,.04))}
.hub-cta--primary:hover{border-color:var(--accent,#c8a96e);background:linear-gradient(135deg,rgba(200,169,110,.24),rgba(200,169,110,.08))}
.hub-cta--primary .hub-cta__sub{color:rgba(244,240,232,.62)}
@media(max-width:980px){.hub-grid--3{grid-template-columns:1fr}.hub-row2{grid-template-columns:1fr}}
