
/* CIMYCO V2.9 — Real internal premium overhaul */

body[class*="v29-"]{
  --v29-night:#020f20;
  --v29-navy:#06182f;
  --v29-blue:#2c96ff;
  --v29-blue2:#67b9ff;
  --v29-line:#2d5476;
  background:var(--v29-night);
}

body[class*="v29-"] .site-header{
  background:rgba(2,15,32,.94)!important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(112,170,225,.11);
}

body[class*="v29-"] main{overflow:hidden}

/* HERO LAYOUT */
body[class*="v29-"] .expert-hero,
body[class*="v29-"] .page-hero,
body[class*="v29-"] .detail-hero{
  min-height:86vh!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;
  align-items:center!important;
  gap:5vw!important;
  padding:145px max(5vw,64px) 70px!important;
  background:
    radial-gradient(circle at 76% 34%,rgba(37,141,246,.13),transparent 25%),
    linear-gradient(118deg,#020f20,#06182f 60%,#082847)!important;
  position:relative;
}

body[class*="v29-"] .expert-hero-copy,
body[class*="v29-"] .page-hero>div:first-child,
body[class*="v29-"] .detail-copy{
  position:relative;
  z-index:4;
  max-width:760px;
}

body[class*="v29-"] .expert-hero h1,
body[class*="v29-"] .page-hero h1,
body[class*="v29-"] .detail-hero h1{
  font-size:clamp(56px,5.5vw,92px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  margin:16px 0 28px!important;
}
body[class*="v29-"] .expert-hero h1 span,
body[class*="v29-"] .page-hero h1 span{color:#9bbbd9!important}
body[class*="v29-"] .expert-lead,
body[class*="v29-"] .page-hero>div:first-child>p:last-child,
body[class*="v29-"] .detail-copy>p:last-child{
  color:#b9c9d9!important;
  font-size:18px!important;
  line-height:1.68!important;
}

/* hide legacy hero visuals so we actually change the presentation */
body[class*="v29-"] .expert-hero-visual,
body[class*="v29-"] .approach-visual,
body[class*="v29-"] .sector-orbit,
body[class*="v29-"] .detail-scene,
body[class*="v29-"] .contact-hero-visual-v281{
  display:none!important;
}

/* real visual art */
.v29-hero-art{
  position:relative;
  min-height:580px;
  border:1px solid #2e5579;
  background:#06182f;
  overflow:hidden;
  box-shadow:0 34px 95px rgba(0,0,0,.24);
  z-index:3;
}
.v29-hero-art img{
  width:100%;
  height:100%;
  min-height:580px;
  object-fit:cover;
  display:block;
  filter:saturate(1.08) contrast(1.04);
}
.v29-hero-art:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(2,15,32,.08),transparent 38%,rgba(27,122,215,.04));
  pointer-events:none;
}
.v29-scanline{
  position:absolute;
  left:0;right:0;top:-20%;
  height:80px;
  background:linear-gradient(180deg,transparent,rgba(95,183,255,.08),transparent);
  animation:v29scan 5.8s linear infinite;
}
@keyframes v29scan{to{top:110%}}

/* color and spacing rhythm */
body[class*="v29-"] .eyebrow,
body[class*="v29-"] .micro{color:var(--v29-blue2)!important}

body[class*="v29-"] .detail-intro,
body[class*="v29-"] .expert-intro,
body[class*="v29-"] .step-section,
body[class*="v29-"] .sector-grid-section,
body[class*="v29-"] .contact-page-grid{
  background:#f7f9fc!important;
}

body[class*="v29-"] .detail-intro h2,
body[class*="v29-"] .expert-intro h2,
body[class*="v29-"] .step-section h2,
body[class*="v29-"] .contact-panel h2{
  color:#07182c!important;
}

/* card system */
body[class*="v29-"] .detail-grid,
body[class*="v29-"] .sector-grid,
body[class*="v29-"] .method-grid,
body[class*="v29-"] .needs-grid{
  gap:12px!important;
  border:0!important;
}
body[class*="v29-"] .detail-grid article,
body[class*="v29-"] .sector-grid article,
body[class*="v29-"] .method-grid article,
body[class*="v29-"] .needs-grid article{
  border:1px solid #d2dde7!important;
  background:#fff!important;
  border-radius:2px;
  box-shadow:0 14px 42px rgba(15,47,78,.05);
  position:relative;
  overflow:hidden;
}
body[class*="v29-"] .detail-grid article:before,
body[class*="v29-"] .sector-grid article:before,
body[class*="v29-"] .method-grid article:before,
body[class*="v29-"] .needs-grid article:before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:3px;height:0;
  background:var(--v29-blue);
  transition:height .25s;
}
body[class*="v29-"] .detail-grid article:hover:before,
body[class*="v29-"] .sector-grid article:hover:before,
body[class*="v29-"] .method-grid article:hover:before,
body[class*="v29-"] .needs-grid article:hover:before{height:100%}

body[class*="v29-"] .detail-grid article:hover,
body[class*="v29-"] .sector-grid article:hover,
body[class*="v29-"] .method-grid article:hover,
body[class*="v29-"] .needs-grid article:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 55px rgba(15,47,78,.10);
}

/* rich dark blocks */
body[class*="v29-"] .expert-story,
body[class*="v29-"] .detail-outcomes,
body[class*="v29-"] .ai-offer,
body[class*="v29-"] .split-feature,
body[class*="v29-"] .page-cta,
body[class*="v29-"] .v28-overview{
  background:
    radial-gradient(circle at 76% 34%,rgba(38,133,225,.09),transparent 24%),
    linear-gradient(120deg,#04152a,#071a32 68%,#09213e)!important;
}

/* detail page outcome chips */
body[class*="v29-"] .outcome-list span,
body[class*="v29-"] .ai-usecases span{
  border-color:#365b7e!important;
  background:#0a203c!important;
  color:#d1dfec!important;
}

/* CTA buttons */
body[class*="v29-"] .btn,
body[class*="v29-"] .story-link,
body[class*="v29-"] .text-link{
  transition:transform .2s,box-shadow .2s,color .2s;
}
body[class*="v29-"] .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(33,131,224,.24);
}

/* Contact richer styling */
body.v29-contact .contact-page-grid{
  background:linear-gradient(135deg,#f8fafc,#eef4f9)!important;
}
body.v29-contact .contact-panel{
  background:#07182c;
  color:#fff;
  padding:34px!important;
  min-height:100%;
}
body.v29-contact .contact-panel h2{color:#fff!important}
body.v29-contact .contact-panel>p{color:#aabed1!important}
body.v29-contact .contact-panel>a:not(.meeting-card){color:#66b4fa!important}
body.v29-contact .meeting-card{
  background:#0a203b!important;
  border-color:#31577a!important;
  color:#fff!important;
}
body.v29-contact .meeting-card small{color:#a8bdd0!important}
body.v29-contact .contact-form-wrap{
  border:1px solid #cbd9e4!important;
  box-shadow:0 24px 70px rgba(15,47,78,.08)!important;
}

/* Approach steps become connected */
body.v29-approche .method-grid{
  position:relative;
}
body.v29-approche .method-grid:before{
  content:"";
  position:absolute;
  left:7%;right:7%;top:58px;
  height:2px;
  background:linear-gradient(90deg,#b8d3ec,#2a95ff,#b8d3ec);
  z-index:0;
}
body.v29-approche .method-grid article{
  z-index:1;
}

/* Sectors more distinctive */
body.v29-secteurs .sector-grid article:nth-child(1),
body.v29-secteurs .sector-grid article:nth-child(3),
body.v29-secteurs .sector-grid article:nth-child(5),
body.v29-secteurs .sector-grid article:nth-child(7){
  background:linear-gradient(145deg,#fff,#f4f8fb)!important;
}

/* Reveal animations */
body[class*="v29-"] [data-v29-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
}
body[class*="v29-"] [data-v29-reveal].v29-visible{
  opacity:1;
  transform:none;
}

@media(max-width:1050px){
  body[class*="v29-"] .expert-hero,
  body[class*="v29-"] .page-hero,
  body[class*="v29-"] .detail-hero{
    grid-template-columns:1fr!important;
  }
  .v29-hero-art{min-height:460px}
  .v29-hero-art img{min-height:460px}
}
@media(max-width:700px){
  body[class*="v29-"] .expert-hero,
  body[class*="v29-"] .page-hero,
  body[class*="v29-"] .detail-hero{
    padding:120px 24px 55px!important;
    min-height:auto!important;
  }
  body[class*="v29-"] .expert-hero h1,
  body[class*="v29-"] .page-hero h1,
  body[class*="v29-"] .detail-hero h1{
    font-size:46px!important;
  }
  .v29-hero-art{min-height:340px}
  .v29-hero-art img{min-height:340px}
}
@media(prefers-reduced-motion:reduce){
  .v29-scanline{animation:none}
  body[class*="v29-"] [data-v29-reveal]{opacity:1;transform:none;transition:none}
}


/* CIMYCO V2.9.1 — contrast & hero polish */

/* SECTOR CARDS: force readable dark titles on light cards */
body.v29-secteurs .sector-grid article h3,
body.v29-secteurs .sector-grid article h2,
body.v29-secteurs .sector-grid article strong{
  color:#07182c!important;
}
body.v29-secteurs .sector-grid article p{
  color:#5b6d7f!important;
}
body.v29-secteurs .sector-grid article span{
  color:#147bd9!important;
}
body.v29-secteurs .sector-grid article{
  background:#fff!important;
}
body.v29-secteurs .sector-grid article:nth-child(odd){
  background:linear-gradient(145deg,#fff,#f5f8fb)!important;
}

/* generic light-card guard */
body[class*="v29-"] .detail-grid article h3,
body[class*="v29-"] .method-grid article h3,
body[class*="v29-"] .needs-grid article h3,
body[class*="v29-"] .sector-grid article h3{
  color:#07182c!important;
}
body[class*="v29-"] .detail-grid article p,
body[class*="v29-"] .method-grid article p,
body[class*="v29-"] .needs-grid article p,
body[class*="v29-"] .sector-grid article p{
  color:#5d6e80!important;
}

/* Improve hero image framing */
body.v29-approche .v29-hero-art,
body.v29-secteurs .v29-hero-art,
body.v29-contact .v29-hero-art{
  border-color:#3a6d98;
  box-shadow:
    0 34px 95px rgba(0,0,0,.26),
    inset 0 0 0 1px rgba(105,184,255,.04);
}
body.v29-approche .v29-hero-art img,
body.v29-secteurs .v29-hero-art img,
body.v29-contact .v29-hero-art img{
  object-fit:cover;
  filter:saturate(1.16) contrast(1.08);
}

/* Hero title accents */
body.v29-secteurs .page-hero h1 span,
body.v29-approche .page-hero h1 span{
  color:#a7c6e4!important;
}
body.v29-contact .page-hero h1{
  max-width:700px;
}

/* subtle light sweep */
body.v29-approche .v29-hero-art:before,
body.v29-secteurs .v29-hero-art:before,
body.v29-contact .v29-hero-art:before{
  content:"";
  position:absolute;
  inset:-30% -50%;
  background:linear-gradient(110deg,transparent 35%,rgba(95,181,255,.08) 50%,transparent 65%);
  transform:translateX(-35%);
  animation:v291sweep 8s ease-in-out infinite;
  z-index:2;
  pointer-events:none;
}
@keyframes v291sweep{
  0%,20%{transform:translateX(-35%)}
  70%,100%{transform:translateX(35%)}
}

/* Approach cards stronger hierarchy */
body.v29-approche .method-grid article b{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#1680e8!important;
  border:1px solid #9fc9ee;
  background:#f8fbff;
}
body.v29-approche .method-grid article h3{
  margin-top:28px!important;
}

/* Contact dark panel polish */
body.v29-contact .contact-panel{
  background:
    radial-gradient(circle at 85% 15%,rgba(36,135,227,.10),transparent 30%),
    linear-gradient(135deg,#06172d,#09213e)!important;
}
body.v29-contact .meeting-card:hover{
  border-color:#5fb4ff!important;
  background:#0c294b!important;
}

/* hero art image safety */
.v29-hero-art img{
  opacity:1!important;
  visibility:visible!important;
}

@media(prefers-reduced-motion:reduce){
  body.v29-approche .v29-hero-art:before,
  body.v29-secteurs .v29-hero-art:before,
  body.v29-contact .v29-hero-art:before{animation:none}
}
