:root{
  --navy:#1d2d3b;
  --navy2:#101a24;
  --orange:#ff8a2a;
  --white:#fff;
  --soft:#f6f7f8;
  --text:#101827;
  --muted:#667085;
  --line:rgba(29,45,59,.12);
  --shadow:0 30px 100px rgba(16,24,39,.12);
  --shadow2:0 16px 50px rgba(16,24,39,.06);
}

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

html{scroll-behavior:smooth}

body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.5;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit}

.container{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0;
  height:3px;
  z-index:300;
  background:linear-gradient(90deg,var(--orange),#ffd2a6);
}

/* HEADER */

header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border-bottom:1px solid rgba(29,45,59,.10);
}

.nav{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  font-size:1.35rem;
  font-weight:950;
  letter-spacing:-.045em;
  color:var(--navy);
  text-transform:uppercase;
}

.brand em{font-style:normal;color:var(--orange)}

.nav-links{
  display:flex;
  align-items:center;
  gap:20px;
  font-size:.95rem;
  color:var(--navy);
}

.nav-accent{
  color:var(--orange);
  font-weight:850;
}

/* BOUTONS */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-weight:850;
  box-shadow:0 16px 38px rgba(29,45,59,.20);
  position:relative;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}

.btn:hover{
  transform:translateY(-2px);
  background:var(--navy2);
  box-shadow:0 22px 52px rgba(29,45,59,.28);
}

.btn.light{
  background:#fff;
  color:var(--navy);
  border:1px solid rgba(29,45,59,.12);
  box-shadow:none;
}

.btn:after,.contact-link:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-120%);
  transition:.75s cubic-bezier(.22,1,.36,1);
}

.btn:hover:after,.contact-link:hover:before{transform:translateX(120%)}

/* HERO PREMIUM */

.hero{
  position:relative;
  min-height:calc(100vh - 72px);
  padding:0;
  overflow:hidden;
  background:#fff;
}

.hero:before{display:none}

.hero .container{
  position:relative;
  z-index:2;
}

.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  min-height:calc(100vh - 72px);
  align-items:center;
  gap:0;
}

.hero-grid>.premium-in:first-child{
  position:relative;
  z-index:10;
  max-width:820px;
  padding:clamp(80px,10vh,120px) 0 90px;
}

.eyebrow{
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:24px;
}

h1{
  color:var(--navy);
  font-size:clamp(3.8rem,6.4vw,7rem);
  line-height:.93;
  letter-spacing:-.045em;
  max-width:920px;
  margin-bottom:32px;
  text-wrap:balance;
}

.hero p{
  color:#243445;
  font-size:clamp(1.08rem,1.45vw,1.22rem);
  line-height:1.65;
  max-width:700px;
  margin-bottom:38px;
}

.hero-actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:12px;
}

.hero-actions .btn{
  width:auto;
  padding:14px 24px;
  font-size:.98rem;
}

.hero-consultant{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:68%;
  height:100%;
  z-index:1;
  display:block;
}

.hero-photo-frame{
  position:relative;
  width:100%;
  height:100%;
  min-height:calc(100vh - 72px);
  max-height:none;
  border-radius:0;
  overflow:hidden;
  border:0;
  box-shadow:none;
  background:#fff;
}

.hero-photo-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:none;
  filter:none;
  image-rendering:auto;
}

.hero-photo-frame:before{display:none}

.hero-photo-frame:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0) 65%,rgba(255,255,255,.14) 100%);
}

.founder-badge{
  position:absolute;
  right:48px;
  bottom:44px;
  left:auto;
  z-index:8;
  width:min(360px,calc(100% - 72px));
  display:block;
  padding:24px 28px;
  border-radius:28px;
  color:#fff;
  background:linear-gradient(145deg,rgba(15,29,43,.92),rgba(10,22,35,.86));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
}

.founder-badge:before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:4px;
  border-radius:99px;
  background:var(--orange);
}

.founder-badge strong{
  display:block;
  color:#fff;
  font-size:1.22rem;
  line-height:1.15;
  letter-spacing:-.03em;
  margin:0 0 7px;
  font-weight:950;
}

.founder-role{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:.94rem;
  line-height:1.35;
  margin:0 0 14px;
}

.founder-description{
  display:block;
  color:rgba(255,255,255,.84);
  font-size:.88rem;
  line-height:1.55;
  max-width:520px;
  margin:0;
}

.hero-card,.hero-proof-card,.hero-founder-text{display:none}

/* SECTIONS */

section{padding:86px 0}

.section-title{
  font-size:clamp(2.2rem,4vw,4.25rem);
  line-height:.98;
  letter-spacing:-.03em;
  color:var(--navy);
  max-width:860px;
  margin-bottom:20px;
  text-wrap:balance;
}

.accent,.orange-word{color:var(--orange)}

.orange-line{color:var(--orange);font-weight:800}

.section-lead{
  color:var(--muted);
  font-size:1.15rem;
  max-width:790px;
  margin-bottom:42px;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.card{
  background:rgba(255,255,255,.90);
  border:1px solid var(--line);
  border-radius:32px;
  padding:30px;
  box-shadow:var(--shadow2);
  backdrop-filter:blur(14px);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 22px 60px rgba(16,24,39,.10);
  border-color:rgba(255,138,42,.36);
}

.card h3{
  color:var(--navy);
  font-size:1.45rem;
  letter-spacing:-.04em;
  margin-bottom:14px;
}

.card h3:before{
  content:"";
  display:block;
  width:34px;
  height:4px;
  border-radius:99px;
  background:var(--orange);
  margin-bottom:18px;
}

.card p{color:var(--muted)}

/* ECOSYSTEME */

.ecosystem-section{
  background:radial-gradient(circle at 12% 10%,rgba(255,138,42,.08),transparent 24%),linear-gradient(180deg,#fff,#f7f8fa);
}

.ecosystem-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.ecosystem-card{
  min-height:290px;
  border-radius:32px;
  padding:30px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  backdrop-filter:blur(14px);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.ecosystem-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 24px 65px rgba(16,24,39,.10);
  border-color:rgba(255,138,42,.24);
}

.ecosystem-card span{
  display:inline-flex;
  color:var(--orange);
  font-weight:950;
  letter-spacing:.12em;
  font-size:.78rem;
  margin-bottom:42px;
}

.ecosystem-card h3{
  color:var(--navy);
  font-size:1.55rem;
  line-height:1.05;
  letter-spacing:-.035em;
  margin:0 0 16px;
}

.ecosystem-card p{
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.55;
}

/* REALISATIONS */

.projects-section{background:#fff}

.projects-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.project-card{
  border-radius:34px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  transition:transform .24s ease,box-shadow .24s ease;
}

.project-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 70px rgba(16,24,39,.12);
}

.project-image{
  display:block;
  height:330px;
  background:#eef1f4;
  overflow:hidden;
}

.project-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1);
}

.project-card:hover .project-image img{transform:scale(1.045)}

.project-content{padding:28px}

.project-content span{
  display:inline-flex;
  color:var(--orange);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.project-content h3{
  font-size:1.7rem;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--navy);
  margin-bottom:12px;
}

.project-content p{
  color:var(--muted);
  line-height:1.55;
  margin-bottom:18px;
}

.project-meta{
  display:inline-flex;
  padding:9px 12px;
  border-radius:999px;
  background:#f3f4f6;
  color:#344054;
  font-weight:800;
  font-size:.88rem;
  margin-bottom:18px;
}

.project-link{
  display:flex;
  color:var(--navy);
  font-weight:900;
}

.project-link:hover{color:var(--orange)}

/* SECTIONS SOMBRES */

.dark{
  color:#fff;
  background:linear-gradient(130deg,rgba(16,26,36,.95),rgba(29,45,59,.94)),url("assets/bg-performance.svg");
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  position:relative;
  overflow:hidden;
}

.dark:before{
  content:"";
  position:absolute;
  inset:0;
  backdrop-filter:blur(4px);
  background:rgba(16,26,36,.22);
}

.dark .container{position:relative;z-index:2}

.dark .section-title,.dark .card h3{color:#fff}

.dark .section-lead{color:rgba(255,255,255,.76)}

.dark .card{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.13);
  color:#fff;
  backdrop-filter:blur(18px);
}

.dark .card p{color:rgba(255,255,255,.72)}

/* MARCHE LOCAL */

.split{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:48px;
  align-items:start;
}

.local-section{
  background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(255,255,255,.76)),url("assets/bg-noumea.svg");
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}

.quote-box{
  background:var(--soft);
  border-radius:36px;
  padding:38px;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
}

.quote-box p{
  color:var(--navy);
  font-size:1.35rem;
  letter-spacing:-.035em;
}

.list{
  display:grid;
  gap:16px;
  list-style:none;
}

.list li{
  padding:20px 22px;
  border-radius:22px;
  border:1px solid var(--line);
  background:#fff;
  color:#263544;
  box-shadow:0 8px 28px rgba(16,24,39,.035);
}

/* VISION */

.metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.metric{
  border-radius:30px;
  padding:28px;
  background:linear-gradient(180deg,#fff,#f7f7f8);
  border:1px solid var(--line);
  transition:transform .24s ease;
  position:relative;
  overflow:hidden;
}

.metric:before{
  content:"";
  position:absolute;
  inset:auto -30% -60% -30%;
  height:120px;
  background:radial-gradient(ellipse at center,rgba(255,138,42,.16),transparent 68%);
}

.metric:hover{transform:translateY(-8px) scale(1.01)}

.metric strong{
  display:block;
  color:var(--orange);
  font-size:2.4rem;
  letter-spacing:-.035em;
  margin-bottom:8px;
}

.metric span{color:var(--muted)}

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

.strategic-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82)),radial-gradient(circle at 85% 10%,rgba(255,138,42,.16),transparent 34%);
}

.strategic-card strong{
  font-size:clamp(2rem,3.4vw,3.2rem);
  line-height:.95;
  letter-spacing:-.035em;
}

.strategic-card span{
  font-size:1.05rem;
  line-height:1.55;
}

/* AVIS */

.reviews-box{
  border:1px solid var(--line);
  border-radius:34px;
  background:linear-gradient(180deg,#fff,#fafafa);
  box-shadow:var(--shadow2);
  padding:22px;
  overflow:hidden;
}

/* CONTACT */

.contact-simple-section{
  background:radial-gradient(circle at 50% 0%,rgba(255,138,42,.10),transparent 26%),linear-gradient(145deg,var(--navy),var(--navy2));
  color:#fff;
  overflow:hidden;
}

.contact-simple{
  text-align:center;
  max-width:980px;
  margin:0 auto;
  padding:72px 34px;
}

.tag{
  display:inline-flex;
  color:var(--orange);
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-bottom:16px;
  position:relative;
  padding-left:54px;
}

.tag:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:38px;
  height:3px;
  border-radius:99px;
  background:var(--orange);
  transform:translateY(-50%);
}

.center-tag{
  justify-content:center;
  padding-left:0;
}

.center-tag:before{display:none}

.contact-simple h2{
  color:#fff;
  font-size:clamp(2.8rem,6vw,6rem);
  line-height:.9;
  letter-spacing:-.055em;
  margin:18px auto 20px;
  max-width:900px;
}

.contact-simple>p{
  color:rgba(255,255,255,.74);
  font-size:1.18rem;
  line-height:1.6;
  max-width:680px;
  margin:0 auto;
}

.contact-simple-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:42px auto 22px;
}

.contact-pill{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  justify-content:center;
  min-height:132px;
  padding:24px 18px;
  border-radius:28px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 60px rgba(0,0,0,.14);
  transition:transform .24s ease,background .24s ease,border-color .24s ease;
}

.contact-pill:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.13);
  border-color:rgba(255,138,42,.35);
}

.contact-pill strong{
  color:#fff;
  font-size:1.1rem;
  letter-spacing:-.02em;
}

.contact-pill span{
  color:rgba(255,255,255,.64);
  font-size:.94rem;
}

.contact-simple-note{
  margin-top:12px!important;
  font-size:.95rem!important;
  color:rgba(255,255,255,.52)!important;
}

/* FOOTER */

.site-footer{
  background:radial-gradient(circle at 85% 8%,rgba(255,138,42,.16),transparent 30%),linear-gradient(145deg,var(--navy),var(--navy2));
  color:rgba(255,255,255,.74);
  padding:64px 0 32px;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-premium-grid{
  display:grid;
  grid-template-columns:1.35fr .7fr .95fr;
  gap:48px;
  align-items:start;
}

.footer-brand-block strong,.footer-block strong{
  display:block;
  color:#fff;
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.footer-brand-block p{
  max-width:620px;
  margin-bottom:12px;
}

.footer-positioning{
  color:rgba(255,255,255,.62);
  margin-top:22px;
}

.footer-block{
  display:grid;
  gap:10px;
}

.footer-block a,.footer-block span{
  color:rgba(255,255,255,.76);
  transition:color .22s ease,transform .22s ease;
}

.footer-block a:hover{
  color:var(--orange);
  transform:translateX(3px);
}

.footer-bottom{
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.56);
  font-size:.92rem;
}

.footer-bottom nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.footer-bottom a{color:rgba(255,255,255,.70)}

.footer-bottom a:hover{color:var(--orange)}

/* COOKIES */

.cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  max-width:1180px;
  margin:0 auto;
  padding:18px 20px;
  border-radius:26px;
  background:rgba(16,26,36,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.cookie-banner.hidden{display:none!important}

.cookie-text strong{
  display:block;
  font-size:1rem;
  margin-bottom:4px;
  color:#fff;
}

.cookie-text p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
}

.cookie-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.cookie-actions a{
  color:rgba(255,255,255,.72);
  font-size:.92rem;
}

.cookie-actions a:hover{color:var(--orange)}

.cookie-btn{
  border:0;
  border-radius:999px;
  padding:11px 16px;
  font-weight:850;
  cursor:pointer;
  transition:transform .18s ease;
}

.cookie-btn.primary{
  background:var(--orange);
  color:#1b1208;
}

.cookie-btn.secondary{
  background:rgba(255,255,255,.10);
  color:#fff;
}

.cookie-btn:hover{transform:translateY(-1px)}

/* ANIMATIONS */

.premium-in{
  opacity:0;
  transform:translateY(34px) scale(.975);
  filter:blur(8px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--delay,0ms);
}

.premium-in.visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.reveal-title{
  background:linear-gradient(115deg,var(--navy) 0%,var(--navy) 42%,var(--orange) 58%,var(--navy) 75%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:titleSheen 7s cubic-bezier(.22,1,.36,1) infinite;
}

@keyframes titleSheen{
  0%,45%{background-position:0% 50%}
  70%,100%{background-position:100% 50%}
}

/* RESPONSIVE */

@media(max-width:1100px){
  .ecosystem-grid{grid-template-columns:repeat(2,1fr)}
  .projects-grid{grid-template-columns:1fr}

  .hero{min-height:auto}

  .hero-grid{
    min-height:auto;
    display:flex;
    flex-direction:column;
  }

  .hero-grid>.premium-in:first-child{
    width:100%;
    max-width:none;
    padding:70px 0 36px;
  }

  .hero-consultant{
    position:relative;
    inset:auto;
    width:100%;
    height:620px;
    order:2;
  }

  .hero-photo-frame{
    min-height:620px;
    height:620px;
    border-radius:36px;
    box-shadow:var(--shadow2);
    border:1px solid rgba(29,45,59,.08);
  }

  .hero-photo-frame:after{
    background:linear-gradient(180deg,transparent 55%,rgba(16,26,36,.34) 100%);
  }

  .founder-badge{
    right:24px;
    left:24px;
    bottom:24px;
    width:auto;
  }
}

@media(max-width:900px){
  .nav{
    justify-content:center;
    height:66px;
  }

  .nav-links{display:none}

  .brand{font-size:1.28rem}

  .grid-3,
  .metric-grid,
  .strategic-grid,
  .split,
  .footer-premium-grid,
  .contact-simple-actions{
    grid-template-columns:1fr;
  }

  .ecosystem-grid{grid-template-columns:1fr}

  .ecosystem-card,.strategic-card{min-height:auto}

  .dark,.local-section{background-attachment:scroll}

  section{padding:62px 0}

  .contact-simple{padding:52px 20px}

  .contact-pill{min-height:104px}

  .site-footer{padding:48px 0 28px}

  .cookie-banner{
    flex-direction:column;
    align-items:flex-start;
    left:14px;
    right:14px;
    bottom:14px;
  }

  .cookie-actions{
    width:100%;
    flex-wrap:wrap;
  }

  .cookie-btn{flex:1}
}

@media(max-width:700px){
  .hero-grid>.premium-in:first-child{
    padding:46px 0 30px;
  }

  h1,
  .hero h1{
    font-size:clamp(2.42rem,11.3vw,3.9rem);
    line-height:.92;
    letter-spacing:-.045em;
    max-width:92%;
    padding-right:16px;
    word-break:normal;
    overflow-wrap:normal;
  }

  .hero p{font-size:1.05rem}

  .hero-actions{gap:12px}

  .hero-actions .btn,.btn{width:100%}

  .hero-consultant{height:500px}

  .hero-photo-frame{
    min-height:500px;
    height:500px;
    border-radius:30px;
  }

  .founder-badge{
    left:16px;
    right:16px;
    bottom:16px;
    padding:18px 20px;
    border-radius:22px;
  }

  .founder-badge strong{font-size:1.06rem}
  .founder-role{font-size:.86rem}

  .founder-description{
    font-size:.78rem;
    line-height:1.45;
  }
}

@media(max-width:520px){
  .container{width:min(100% - 28px,1180px)}

  .section-title{
    font-size:2.35rem;
    letter-spacing:-.035em;
    line-height:1;
  }

  .eyebrow{
    font-size:.68rem;
    letter-spacing:.095em;
  }

  .section-lead{font-size:1.05rem}

  .quote-box,.reviews-box{border-radius:24px}

  .reviews-box{padding:12px}

  .project-image{height:250px}
}


/* CAMPAGNES VIDÉO / SUCCESS STORIES */
.video-proof-section{
  background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.video-teaser-home{
  background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);
}

.tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,138,42,.10);
  color:var(--orange);
  font-weight:950;
  font-size:.78rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.proof-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:34px 0 34px;
}

.proof-strip div{
  padding:24px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
}

.proof-strip strong{
  display:block;
  color:var(--navy);
  font-size:clamp(2rem,3.2vw,3.4rem);
  line-height:1;
  letter-spacing:-.06em;
  margin-bottom:10px;
}

.proof-strip span{
  display:block;
  color:var(--muted);
  font-weight:750;
}

.video-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

.video-card{
  overflow:hidden;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  transition:transform .24s ease,box-shadow .24s ease;
}

.video-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 70px rgba(16,24,39,.12);
}

.video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0b1118;
  overflow:hidden;
}

.video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.video-content{padding:24px 24px 28px}

.video-content span{
  display:inline-flex;
  color:var(--orange);
  font-weight:950;
  font-size:.74rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.video-content h3{
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.05;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.video-content p{
  color:var(--muted);
  line-height:1.55;
}

.video-playlist{
  margin-top:34px;
  display:flex;
  gap:20px;
  align-items:center;
  flex-wrap:wrap;
}

.video-playlist p{
  color:var(--muted);
  max-width:620px;
}

@media (max-width: 760px){
  .proof-strip,
  .video-grid{
    grid-template-columns:1fr;
  }

  .video-playlist{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* NAVIGATION INTERNE RÉALISATIONS */
.realisation-jump-section{
  padding:28px 0 18px;
  background:#fff;
}

.realisation-jump{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.realisation-jump a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(16,24,39,.05);
  transition:transform .2s ease, color .2s ease, border-color .2s ease;
}

.realisation-jump a:hover{
  transform:translateY(-3px);
  color:var(--orange);
  border-color:rgba(255,138,42,.35);
}

.video-grid-featured .video-card-wide{
  grid-column:span 2;
}

/* RÉALISATIONS PHOTO */
.photo-realisation-section{
  background:linear-gradient(180deg,#f7f8fa 0%,#fff 100%);
  padding:90px 0;
}

.photo-section-head{max-width:980px}

.photo-feature{
  margin:38px 0 28px;
  position:relative;
  overflow:hidden;
  border-radius:42px;
  min-height:520px;
  background:#0b1118;
  box-shadow:0 34px 90px rgba(16,24,39,.16);
}

.photo-feature img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  display:block;
  opacity:.88;
  transform:scale(1.01);
}

.photo-feature:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,14,20,.75) 0%,rgba(8,14,20,.24) 45%,rgba(8,14,20,.05) 100%);
}

.photo-feature-content{
  position:absolute;
  z-index:2;
  left:42px;
  bottom:42px;
  max-width:560px;
  color:#fff;
}

.photo-feature-content span,
.photo-category-card span{
  display:inline-flex;
  color:var(--orange);
  font-weight:950;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.photo-feature-content h3{
  font-size:clamp(2rem,4vw,4rem);
  line-height:.95;
  letter-spacing:-.06em;
  margin:0 0 16px;
}

.photo-feature-content p{
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.55;
}

.photo-category-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.photo-category-card{
  overflow:hidden;
  border-radius:34px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow2);
  transition:transform .24s ease, box-shadow .24s ease;
}

.photo-category-card:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 72px rgba(16,24,39,.12);
}

.photo-category-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
  transition:transform .9s cubic-bezier(.22,1,.36,1);
}

.photo-category-card:hover img{transform:scale(1.045)}

.photo-category-card div{padding:24px}

.photo-category-card h3{
  color:var(--navy);
  font-size:1.35rem;
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 10px;
}

.photo-category-card p{
  color:var(--muted);
  line-height:1.55;
}

.private-books{
  margin-top:30px;
  padding:34px;
  border-radius:36px;
  background:linear-gradient(135deg,#101a24 0%,#1d2d3b 100%);
  color:#fff;
  display:grid;
  grid-template-columns:1.6fr .75fr;
  gap:30px;
  align-items:center;
  box-shadow:0 30px 80px rgba(16,24,39,.18);
}

.private-books h3{
  font-size:clamp(1.7rem,3vw,2.8rem);
  line-height:1;
  letter-spacing:-.055em;
  margin:0 0 14px;
}

.private-books p{
  color:rgba(255,255,255,.78);
  line-height:1.6;
  max-width:820px;
}

.private-books-meta{
  border-radius:28px;
  padding:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
}

.private-books-meta strong{
  display:block;
  color:#fff;
  font-size:clamp(2.4rem,5vw,4.6rem);
  letter-spacing:-.07em;
  line-height:1;
  margin-bottom:10px;
}

.private-books-meta span{
  color:rgba(255,255,255,.72);
  font-weight:800;
  line-height:1.45;
}

@media (max-width: 900px){
  .video-grid-featured .video-card-wide{grid-column:span 1}
  .photo-category-grid{grid-template-columns:repeat(2,1fr)}
  .private-books{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .photo-realisation-section{padding:70px 0}
  .photo-feature{border-radius:30px;min-height:430px}
  .photo-feature img{min-height:430px}
  .photo-feature-content{left:24px;right:24px;bottom:26px}
  .photo-category-grid{grid-template-columns:1fr}
  .photo-category-card img{height:240px}
  .private-books{padding:26px;border-radius:28px}
}


/* GALERIES PHOTO DÉDIÉES */
.gallery-hero{padding:90px 0 42px;background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%)}
.gallery-hero .eyebrow{margin-bottom:18px}.gallery-hero h1{font-size:clamp(3rem,5.4vw,6.2rem);max-width:980px;margin-bottom:24px}.gallery-hero p{color:var(--muted);max-width:760px;font-size:1.08rem;line-height:1.65}.gallery-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.gallery-section{padding:40px 0 100px;background:#f7f8fa}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{display:block;overflow:hidden;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow2);cursor:zoom-in;aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1),filter .3s ease}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.03)}.gallery-note{margin-top:28px;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow2)}.photo-category-card{display:block;color:inherit;position:relative}.photo-category-card .gallery-cta{display:inline-flex;margin-top:16px;color:var(--orange);font-weight:950;font-size:.86rem;letter-spacing:.05em;text-transform:uppercase}.lightbox-overlay{position:fixed;inset:0;z-index:1000;background:rgba(8,14,20,.92);display:none;align-items:center;justify-content:center;padding:24px}.lightbox-overlay.active{display:flex}.lightbox-overlay img{max-width:min(96vw,1600px);max-height:86vh;object-fit:contain;border-radius:18px;box-shadow:0 34px 120px rgba(0,0,0,.55)}.lightbox-close{position:absolute;top:22px;right:22px;border:1px solid rgba(255,255,255,.24);color:#fff;background:rgba(255,255,255,.08);width:48px;height:48px;border-radius:999px;font-size:28px;cursor:pointer}.lightbox-caption{position:absolute;left:24px;right:24px;bottom:18px;color:rgba(255,255,255,.72);text-align:center;font-size:.9rem}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.gallery-hero{padding:64px 0 34px}.gallery-grid{grid-template-columns:1fr;gap:14px}.gallery-item{border-radius:22px}}

/* Patch galeries : séparation par univers client */
.gallery-series{margin:42px 0 52px}
.gallery-series:first-child{margin-top:0}
.gallery-series-head{margin-bottom:20px}
.gallery-series-head span{display:inline-flex;color:var(--orange);font-weight:950;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;margin-bottom:10px}
.gallery-series-head h2{font-size:clamp(1.8rem,3vw,3rem);line-height:.98;margin:0 0 10px;color:var(--ink)}
.gallery-series-head p{max-width:760px;color:var(--muted);font-size:1.02rem;line-height:1.62;margin:0}
.gallery-grid.compact{margin-bottom:10px}
@media(max-width:640px){.gallery-series{margin:34px 0 42px}.gallery-series-head h2{font-size:2rem}}


/* PATCH SUNSET COLLECTION — cartes uniformes + galerie responsive */
.photo-category-grid{align-items:stretch;}
.photo-category-card{height:100%;}
.photo-category-card img{height:260px;object-fit:cover;object-position:center center;}
.sunset-gallery-section{padding-top:38px;}
.sunset-gallery-grid{grid-template-columns:repeat(2,1fr);gap:22px;}
.sunset-gallery-grid .gallery-item{aspect-ratio:16/10;border-radius:30px;}
.sunset-gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center center;}
@media(max-width:900px){
  .sunset-gallery-grid{grid-template-columns:1fr;}
  .sunset-gallery-grid .gallery-item{aspect-ratio:4/3;}
}
@media(max-width:640px){
  .photo-category-card img{height:230px;}
  .sunset-gallery-grid{gap:14px;}
  .sunset-gallery-grid .gallery-item{border-radius:22px;aspect-ratio:4/3;}
}



/* === PATCH V22 GBE : blocs performance premium, tags propres, sunset responsive === */

/* Supprime le trait qui barrait les pastilles/tags */
.tag:before,
.center-tag:before{
  display:none!important;
}

/* Évite le rendu brut si la classe du bloc performance existe mais que le CSS manque */
.performance-authority-section{
  padding:76px 0;
  background:linear-gradient(135deg,#101a24 0%,#1d2d3b 64%,#2b211c 100%);
  color:#fff;
  overflow:hidden;
}

.performance-authority-card{
  border-radius:42px;
  padding:clamp(34px,5vw,64px);
  background:
    radial-gradient(circle at 92% 8%,rgba(255,138,42,.16),transparent 30%),
    linear-gradient(135deg,rgba(16,26,36,.96),rgba(29,45,59,.94));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 110px rgba(16,24,39,.22);
}

.performance-authority-card .tag{
  background:rgba(255,138,42,.12);
  color:var(--orange);
}

.performance-authority-card .section-title{
  color:#fff;
  max-width:980px;
}

.performance-authority-card .section-lead{
  color:rgba(255,255,255,.76);
  max-width:980px;
}

.performance-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin:34px 0 28px;
}

.performance-metrics-6{
  grid-template-columns:repeat(3,1fr);
}

.performance-metrics > div{
  min-height:178px;
  padding:28px;
  border-radius:30px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 18px 55px rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.performance-metrics strong{
  display:block;
  color:#fff;
  font-size:clamp(2.5rem,5vw,4.7rem);
  line-height:.92;
  letter-spacing:-.07em;
  margin-bottom:16px;
  font-weight:950;
}

.performance-metrics span{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
  line-height:1.35;
  font-weight:850;
}

.ca-metric{
  position:relative;
}

.ca-metric strong{
  letter-spacing:-.05em;
}

.metric-arrow{
  position:absolute;
  right:24px;
  top:24px;
  color:var(--orange);
  font-size:2rem;
  line-height:1;
}

.performance-note{
  margin-top:26px;
  padding:22px 26px;
  border-radius:24px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.13);
}

.performance-note p{
  color:rgba(255,255,255,.68);
  font-size:.98rem;
  line-height:1.55;
  margin:0;
}

.performance-note-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.method-second-row{
  margin-top:22px;
}

/* Sunset dans la grille : même taille que les autres cartes */
.photo-category-grid{
  align-items:stretch;
}

.photo-category-card{
  height:100%;
}

.photo-category-card img{
  height:260px;
  object-fit:cover;
  object-position:center center;
}

.sunset-gallery-section{
  padding-top:38px;
}

.sunset-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.sunset-gallery-grid .gallery-item{
  aspect-ratio:16/10;
  border-radius:30px;
}

.sunset-gallery-grid .gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

@media(max-width:1000px){
  .performance-metrics,
  .performance-metrics-6{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:760px){
  .performance-authority-section{
    padding:54px 0;
  }

  .performance-authority-card{
    border-radius:30px;
    padding:28px 20px;
  }

  .performance-metrics,
  .performance-metrics-6{
    grid-template-columns:1fr;
    gap:14px;
  }

  .performance-metrics > div{
    min-height:132px;
    padding:24px;
  }

  .performance-note-grid{
    grid-template-columns:1fr;
  }

  .sunset-gallery-grid{
    grid-template-columns:1fr;
  }

  .sunset-gallery-grid .gallery-item{
    aspect-ratio:4/3;
  }
}

@media(max-width:640px){
  .photo-category-card img{
    height:230px;
  }

  .sunset-gallery-grid{
    gap:14px;
  }

  .sunset-gallery-grid .gallery-item{
    border-radius:22px;
    aspect-ratio:4/3;
  }
}


/* FIX FINAL TAGS ORANGE */
.tag::before,
.center-tag::before{
  display:none!important;
  content:none!important;
}
