/*
Theme Name: MCA2L Clean Pro
Author: ArgosseNetworks
Version: 18.3.0
Description: Theme WordPress MCA2L Clean Pro sans système de licence, avec UX vidéo stabilisée et branding ArgosseNetworks.
*/

:root {
    --forest: #1a3c2a;
    --forest-deep: #0f2a1a;
    --sage: #5a8a6a;
    --sage-light: #7aaa8a;
    --moss: #8cb48c;
    --sand: #f5f0e8;
    --sand-light: #faf7f2;
    --cream: #fffcf7;
    --gold: #c4a255;
    --gold-light: #d4b87a;
    --charcoal: #2a2a2a;
    --slate: #4a4a4a;
    --muted: #7a7a7a;
    --white: #ffffff;
    --border: rgba(26, 60, 42, 0.1);
    --font-display: 'Playfair Display', Georgia, serif;
    --font-body: 'DM Sans', -apple-system, sans-serif;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font-body);
    color: var(--charcoal);
    background: var(--cream);
    line-height: 1.7;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
body.admin-bar .nav { top: 32px; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; font-family: inherit; background: none; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.8rem 1rem;background:#fff;color:var(--forest);z-index:2000;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.nav__toggle{display:none;flex-direction:column;gap:5px;padding:.4rem}
.nav__toggle span{display:block;width:24px;height:2px;background:var(--forest);transition:transform .25s ease,opacity .25s ease}
.nav__toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle.is-open span:nth-child(2){opacity:0}
.nav__toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.service-card__link:hover,.audience-card__link:hover{text-decoration:underline}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(196,162,85,.8);box-shadow:0 0 0 4px rgba(196,162,85,.12);background:#fff}
.footer a{color:inherit}
.footer a:hover{color:#fff}

@keyframes fadeUp { from { opacity: 0; transform: translateY(40px);} to { opacity: 1; transform: translateY(0);} }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.9);} to { opacity: 1; transform: scale(1);} }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.4;} }
@keyframes float { 0%,100%{transform:translate(0,0) rotate(0deg);} 33%{transform:translate(20px,-30px) rotate(5deg);} 66%{transform:translate(-15px,20px) rotate(-3deg);} }
.reveal { opacity: 0; transform: translateY(40px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }
.top-bar { background: var(--forest-deep); color: var(--sand); padding: .5rem 0; font-size: .82rem; letter-spacing: .05em; }
.top-bar .container { display:flex; justify-content:space-between; align-items:center; }
.top-bar a { color: var(--gold-light); }
.top-bar__label { display:flex; align-items:center; gap:.5rem; }
.top-bar__dot { width:6px; height:6px; background:var(--moss); border-radius:50%; animation:pulse 2s ease-in-out infinite; }
.nav {
    position: sticky; top: 0; z-index: 1000; background: rgba(255,252,247,.92);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border); transition: box-shadow .3s;
}
.nav.scrolled { box-shadow: 0 4px 30px rgba(26,60,42,.08); }
.nav .container { display:flex; justify-content:space-between; align-items:center; height:76px; }
.nav__logo { font-family:var(--font-display); font-size:1.7rem; font-weight:700; color:var(--forest); letter-spacing:-.02em; }
.nav__logo span { color: var(--gold); }
.nav__links, .nav__links ul { display:flex; align-items:center; gap:2.2rem; list-style:none; margin:0; padding:0; }
.nav__links a {
    font-size:.88rem; font-weight:500; color:var(--slate);
    position:relative; padding:.3rem 0; transition: color .3s;
}
.nav__links a::after {
    content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px;
    background:var(--gold); transition: width .3s var(--ease-out);
}
.nav__links a:hover { color: var(--forest); }
.nav__links a:hover::after { width:100%; }
.nav__cta {
    background: var(--forest); color:#fff; padding:.7rem 1.6rem; border-radius:50px;
    font-size:.85rem; font-weight:600; letter-spacing:.02em; transition:all .3s var(--ease-out);
}
.nav__cta:hover { background:var(--forest-deep); transform:translateY(-2px); box-shadow:0 6px 20px rgba(26,60,42,.25); }
.hero {
    position:relative; min-height:92vh; display:flex; align-items:center;
    background:linear-gradient(160deg,var(--forest-deep) 0%, var(--forest) 40%, #1e4d35 100%);
    overflow:hidden;
}
.hero__bg-pattern {
    position:absolute; inset:0;
    background-image:
      radial-gradient(ellipse at 80% 20%, rgba(196,162,85,.08) 0%, transparent 60%),
      radial-gradient(ellipse at 20% 80%, rgba(90,138,106,.10) 0%, transparent 50%);
}
.hero__grid-overlay {
    position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:60px 60px;
}
.hero__floating-leaf {
    position:absolute; width:300px; height:300px; border-radius:60% 40% 50% 50% / 40% 60% 40% 60%;
    background:rgba(140,180,140,.06); animation:float 20s ease-in-out infinite;
}
.hero__floating-leaf:nth-child(3) { top:10%; right:-5%; animation-delay:-5s; }
.hero__floating-leaf:nth-child(4) { bottom:15%; left:-8%; width:200px; height:200px; animation-delay:-10s; }
.hero .container {
    position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr;
    gap:4rem; align-items:center; padding-top:2rem; padding-bottom:2rem;
}
.hero__content { color:#fff; }
.hero__eyebrow {
    display:inline-flex; align-items:center; gap:.6rem; font-size:.78rem; font-weight:600;
    text-transform:uppercase; letter-spacing:.15em; color:var(--gold-light); margin-bottom:1.5rem;
    animation:fadeUp .8s var(--ease-out) .2s both;
}
.hero__eyebrow::before { content:''; display:block; width:40px; height:1px; background:var(--gold); }
.hero__title {
    font-family:var(--font-display); font-size:clamp(2.5rem,4.5vw,3.8rem); font-weight:600;
    line-height:1.15; margin-bottom:.8rem; animation:fadeUp .8s var(--ease-out) .3s both;
}
.hero__title em { font-style:italic; color:var(--gold-light); }
.hero__subtitle {
    font-family:var(--font-display); font-size:1.15rem; font-weight:400;
    color:rgba(255,255,255,.7); margin-bottom:1.2rem; font-style:italic;
    animation:fadeUp .8s var(--ease-out) .4s both;
}
.hero__tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.5rem; animation:fadeUp .8s var(--ease-out) .5s both; }
.hero__tag {
    padding:.35rem 1rem; border:1px solid rgba(255,255,255,.15); border-radius:50px;
    font-size:.78rem; color:rgba(255,255,255,.6); letter-spacing:.03em;
}
.hero__actions { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp .8s var(--ease-out) .6s both; }
.header-cta, .btn {
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    padding:.9rem 2rem; border-radius:50px; font-size:.9rem; font-weight:600; letter-spacing:.02em;
    transition:all .35s var(--ease-out);
}
.btn--primary { background:var(--gold); color:var(--forest-deep); }
.btn--primary:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 8px 25px rgba(196,162,85,.35); }
.btn--outline { border:1.5px solid rgba(255,255,255,.3); color:#fff; background:transparent; }
.btn--outline:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px); }
.btn--dark { background:var(--forest); color:#fff; }
.btn--gold-outline { border:1.5px solid var(--gold); color:var(--gold); background:transparent; }
.hero__visual { position:relative; animation:scaleIn 1s var(--ease-out) .5s both; }
.hero__image-wrapper { position:relative; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.3); }
.hero__image-wrapper img { width:100%; height:500px; object-fit:cover; }
.hero__image-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(15,42,26,.4), transparent 50%); }
.hero__badge {
    position:absolute; bottom:-20px; right:-20px; background:#fff; border-radius:20px; padding:1.2rem 1.5rem;
    box-shadow:0 15px 40px rgba(0,0,0,.12); display:flex; align-items:center; gap:.8rem;
}
.hero__badge-icon {
    width:44px; height:44px; background:linear-gradient(135deg, var(--sage), var(--moss));
    border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.3rem;
}
.hero__badge-text { font-size:.78rem; font-weight:600; color:var(--forest); }
.hero__badge-text span { display:block; font-size:.7rem; font-weight:400; color:var(--muted); }
.expert-section, .services, .audiences, .partner, .testimonials, .commitments, .contact-form-section { padding:7rem 0; }
.expert-section, .audiences, .testimonials, .contact-form-section { background:var(--cream); }
.services, .partner, .commitments { background:var(--sand-light); }
.expert-section .container, .partner .container, .contact-form-section .container {
    display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
}
.section-eyebrow {
    display:inline-flex; align-items:center; gap:.6rem; font-size:.75rem; font-weight:600;
    text-transform:uppercase; letter-spacing:.15em; color:var(--sage); margin-bottom:1.2rem;
}
.section-eyebrow::before { content:''; width:30px; height:2px; background:var(--gold); }
.section-title {
    font-family:var(--font-display); font-size:clamp(2rem,3vw,2.6rem); font-weight:600;
    color:var(--forest); line-height:1.2; margin-bottom:1.5rem;
}
.section-text { font-size:1.02rem; color:var(--slate); line-height:1.8; margin-bottom:1.5rem; }
.expert-section__phone {
    display:inline-flex; align-items:center; gap:.8rem; font-family:var(--font-display);
    font-size:1.3rem; font-weight:600; color:var(--forest); margin-top:.5rem;
}
.expert-visual__img img { width:100%; height:440px; object-fit:cover; border-radius:20px; box-shadow:0 20px 50px rgba(26,60,42,.12); }
.smartcity { padding:7rem 0; background:var(--forest); position:relative; overflow:hidden; }
.smartcity::before {
    content:''; position:absolute; inset:0;
    background:
      radial-gradient(ellipse at 10% 50%, rgba(140,180,140,.08), transparent 60%),
      radial-gradient(ellipse at 90% 30%, rgba(196,162,85,.06), transparent 50%);
}
.smartcity .container { position:relative; z-index:2; max-width:850px; text-align:center; }
.smartcity .section-eyebrow { color:var(--gold-light); justify-content:center; }
.smartcity .section-title { color:#fff; font-size:clamp(2rem,3.5vw,2.8rem); }
.smartcity__text { font-size:1.08rem; color:rgba(255,255,255,.75); line-height:1.9; margin-bottom:2.5rem; }
.services__header, .audiences__header, .testimonials__header, .commitments__header {
    text-align:center; max-width:700px; margin:0 auto 4rem;
}
.services__grid, .testimonials__grid, .commitments__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.8rem; }
.audiences__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
.service-card, .testimonial-card, .commitment-card, .audience-card, .guarantee-item, .partner__diagram, .form-card {
    background:#fff; border:1px solid var(--border); border-radius:20px;
}
.service-card, .testimonial-card, .commitment-card, .form-card { padding:2.2rem; }
.service-card__icon {
    width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
    font-size:1.5rem; margin-bottom:1.3rem; background:rgba(90,138,106,.12); color:var(--sage);
}
.service-card__title, .commitment-card__title, .footer__brand-name { font-family:var(--font-display); }
.service-card__title { font-size:1.2rem; font-weight:600; color:var(--forest); margin-bottom:.8rem; }
.service-card__desc, .service-card__text, .audience-card__text, .testimonial-card__text { color:var(--muted); }
.service-card { display:flex; flex-direction:column; }
.service-card__link { margin-top:auto; padding-top:1rem; }
.service-card__link, .audience-card__link {
    font-size:.82rem; font-weight:600; color:var(--sage); display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem;
}
.audience-card { overflow:hidden; padding:0; }
.audience-card__img { height:220px; overflow:hidden; position:relative; }
.audience-card__img img { width:100%; height:100%; object-fit:cover; }
.audience-card__img-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(15,42,26,.5), transparent 60%); }
.audience-card__label {
    position:absolute; bottom:1rem; left:1.5rem; color:#fff; font-family:var(--font-display); font-size:1.3rem; font-weight:600;
}
.audience-card__body { padding:1.8rem; }
.stats { padding:5rem 0; background:linear-gradient(135deg, var(--forest-deep), var(--forest)); }
.stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
.stat-item { text-align:center; color:#fff; }
.stat-item__number {
    font-family:var(--font-display); font-size:clamp(2.2rem,3.5vw,3rem); font-weight:700;
    color:var(--gold-light); line-height:1; margin-bottom:.4rem;
}
.stat-item__label { font-size:.85rem; color:rgba(255,255,255,.6); }
.partner__guarantees { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:2rem; }
.guarantee-item { display:flex; align-items:flex-start; gap:.7rem; padding:1rem; }
.guarantee-item__icon {
    width:36px; height:36px; min-width:36px; background:rgba(90,138,106,.1); border-radius:10px;
    display:flex; align-items:center; justify-content:center; color:var(--sage); font-size:1rem;
}
.partner__diagram { padding:3rem; box-shadow:0 15px 40px rgba(26,60,42,.06); }
.partner__diagram-center {
    width:140px; height:140px; border-radius:50%; background:linear-gradient(135deg, var(--forest), var(--sage));
    margin:0 auto 2rem; display:flex; align-items:center; justify-content:center; color:#fff;
    font-family:var(--font-display); font-weight:700; font-size:1.2rem; text-align:center; line-height:1.3;
}
.partner__diagram-items { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.partner__diagram-item { text-align:center; padding:1rem; border-radius:14px; background:var(--sand-light); }
.testimonial-card__quote { font-size:2rem; color:var(--gold); font-family:var(--font-display); line-height:1; margin-bottom:1rem; }
.testimonial-card__author { margin-top:1.5rem; padding-top:1.2rem; border-top:1px solid var(--border); }
.cta-section {
    padding:5rem 0; background:linear-gradient(160deg, var(--forest-deep) 0%, var(--forest) 100%);
    position:relative; overflow:hidden;
}
.cta-section .container { text-align:center; max-width:700px; }
.cta-section__title {
    font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,2.2rem);
    color:#fff; margin-bottom:2rem; line-height:1.4;
}
.commitments__subtitle { font-size:1rem; color:var(--slate); line-height:1.8; margin-top:1rem; }
.commitment-card { text-align:center; padding:3rem 2rem; }
.commitment-card__icon {
    width:80px; height:80px; border-radius:50%; margin:0 auto 1.5rem; display:flex; align-items:center; justify-content:center;
    font-size:2rem; background:rgba(90,138,106,.12); color:var(--sage);
}
.commitment-card__title { font-size:1.3rem; font-weight:600; color:var(--forest); margin-bottom:.4rem; }
.commitment-card__subtitle { font-size:.88rem; color:var(--muted); font-style:italic; margin-bottom:1rem; }
.contact-form-section .container { align-items:start; gap:4rem; }
.contact-form__info-title { font-family:var(--font-display); font-size:2.2rem; color:var(--forest); margin-bottom:1rem; }
.contact-form__info-text { color:var(--slate); line-height:1.8; margin-bottom:2rem; }
.contact-form__promise {
    display:flex; align-items:center; gap:.8rem; padding:1.2rem; background:rgba(90,138,106,.06);
    border-radius:14px; border:1px solid rgba(90,138,106,.15);
}
.contact-form__promise-text { font-size:.88rem; color:var(--forest); font-weight:500; }
.form-card__step { display:flex; align-items:center; gap:.8rem; margin-bottom:1.5rem; }
.form-card__step-number {
    width:32px; height:32px; border-radius:50%; background:var(--forest); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:700;
}
.form-card__step-label { font-weight:600; color:var(--forest); font-size:.95rem; }
.form-group { margin-bottom:1.2rem; }
.form-group label { display:block; font-size:.82rem; font-weight:500; color:var(--slate); margin-bottom:.4rem; }
.form-group input, .form-group select, .form-group textarea {
    width:100%; padding:.8rem 1rem; border:1.5px solid var(--border); border-radius:12px;
    font-size:.9rem; color:var(--charcoal); background:var(--sand-light); outline:none;
}
.form-group textarea { min-height:100px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-checkbox { display:flex; align-items:flex-start; gap:.6rem; margin:1.5rem 0; }
.notice { padding:.9rem 1rem; border-radius:12px; margin-bottom:1rem; font-size:.88rem; }
.notice--success { background:rgba(90,138,106,.12); color:var(--forest); }
.notice--error { background:rgba(168,41,41,.10); color:#7b1f1f; }
.footer { background:var(--forest-deep); color:rgba(255,255,255,.7); padding:4.5rem 0 2rem; }
.footer__grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:3rem; margin-bottom:3rem; }
.footer__brand-name { font-size:1.5rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.footer__brand-name span { color:var(--gold); }
.footer__col-title {
    font-size:.82rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-bottom:1.5rem;
}
.footer__links { list-style:none; margin:0; padding:0; }
.footer__links li { margin-bottom:.7rem; }
.footer__bottom {
    padding-top:2rem; border-top:1px solid rgba(255,255,255,.08);
    display:flex; justify-content:space-between; align-items:center; font-size:.78rem; color:rgba(255,255,255,.35);
}
.entry-wrap { padding:5rem 0; }
.entry-card { background:#fff; border:1px solid var(--border); border-radius:24px; padding:2rem; box-shadow:0 10px 28px rgba(26,60,42,.05); }
.entry-title { font-family:var(--font-display); font-size:clamp(2rem,3vw,2.8rem); color:var(--forest); margin-bottom:1rem; }
@media (max-width:1024px) {
    .hero .container, .expert-section .container, .partner .container, .contact-form-section .container { grid-template-columns:1fr; }
    .services__grid, .testimonials__grid, .commitments__grid { grid-template-columns:repeat(2,1fr); }
    .audiences__grid, .stats__grid, .footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
    .container { padding:0 1.2rem; }
    .nav .container{height:auto;min-height:76px;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem;gap:1rem;}
    .nav__toggle{display:flex;margin-left:auto;}
    .nav__cta{display:none;}
    .nav__links{display:none;width:100%;}
    .nav__links.is-open{display:block;}
    .nav__links .menu{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0 .5rem;}
    .nav__links .menu li{width:100%;}
    .nav__links .menu a{display:block;width:100%;padding:.25rem 0;} 
    .services__grid, .audiences__grid, .testimonials__grid, .commitments__grid, .stats__grid, .form-row, .footer__grid, .partner__guarantees { grid-template-columns:1fr; }
    .hero__content { text-align:center; }
    .hero__eyebrow, .hero__tags, .hero__actions { justify-content:center; }
    .footer__bottom { flex-direction:column; gap:1rem; text-align:center; }
}


/* Variantes homepage */
body.mca2l-variant-executive .hero{background:linear-gradient(160deg,#10273f 0%, #173754 42%, #204b6d 100%)}
body.mca2l-variant-executive .hero__tag, body.mca2l-variant-executive .top-bar{background:rgba(255,255,255,.10)}
body.mca2l-variant-executive .btn--primary, body.mca2l-variant-executive .nav__cta{background:#173754}
body.mca2l-variant-executive .btn--primary:hover, body.mca2l-variant-executive .nav__cta:hover{background:#10273f}
body.mca2l-variant-executive .section-eyebrow, body.mca2l-variant-executive .nav__logo span{color:#d4b87a}

body.mca2l-variant-immersive .hero{min-height:96vh;background:radial-gradient(circle at top right, rgba(196,162,85,.16), transparent 25%), linear-gradient(160deg,var(--forest-deep) 0%, #1f5137 40%, #0e291a 100%)}
body.mca2l-variant-immersive .hero__image-wrapper{transform:rotate(-1deg) scale(1.03)}
body.mca2l-variant-immersive .service-card, body.mca2l-variant-immersive .audience-card, body.mca2l-variant-immersive .testimonial-card{box-shadow:0 18px 40px rgba(26,60,42,.10)}
body.mca2l-variant-immersive .section-title{letter-spacing:-.03em}


.page-hero{padding:4rem 0 2rem;background:linear-gradient(180deg,#f7fbf8 0%,#fff 100%)}
.page-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.page-hero--no-image .page-hero__grid{grid-template-columns:1fr}
.page-hero__title{font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.05;color:var(--forest);margin:.5rem 0 1rem}
.page-hero__intro{font-size:1.05rem;line-height:1.8;max-width:62ch;color:var(--text)}
.page-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.page-hero__media{border-radius:28px;overflow:hidden;box-shadow:0 16px 40px rgba(15,35,25,.12);border:1px solid rgba(22,53,36,.08)}
.page-hero__media img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}
.entry-wrap--premium{padding-top:1.5rem}
.entry-card--premium{padding:2.25rem 2rem}
.entry-content h2{font-family:var(--font-display);font-size:1.7rem;color:var(--forest);margin:1.8rem 0 .8rem}
.entry-content p,.entry-content li{font-size:1rem;line-height:1.85;color:var(--text)}
.entry-content ul{padding-left:1.2rem}
.entry-content > *:first-child{margin-top:0}
@media (max-width: 900px){.page-hero__grid{grid-template-columns:1fr}.page-hero__media img{min-height:220px}}


.form-honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;pointer-events:none !important;height:0 !important;width:0 !important;}
.footer__socials{margin-top:1.5rem;}
.footer__social-list{display:flex;flex-wrap:wrap;gap:.75rem 1rem;list-style:none;margin:.75rem 0 0;padding:0;}
.footer__social-list a{display:inline-flex;align-items:center;padding:.45rem .8rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;text-decoration:none;}
.footer__social-list a:hover{transform:translateY(-1px);}

.premium-insights{padding:0 0 3rem;background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%)}
.premium-insights__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.premium-panel{background:#fff;border:1px solid rgba(22,53,36,.08);border-radius:28px;padding:2rem;box-shadow:0 12px 30px rgba(15,35,25,.06)}
.premium-panel--accent{background:linear-gradient(180deg,#163524 0%,#204a31 100%);color:#fff}
.premium-steps{margin:1rem 0 0;padding-left:1.2rem;display:grid;gap:.9rem}
.premium-steps li{padding-left:.2rem}
.premium-case{font-size:1rem;line-height:1.8;color:inherit;opacity:.96}
.premium-impact-title{margin:1.5rem 0 .8rem;font-size:1.05rem}
.premium-impact-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.premium-impact-list li{position:relative;padding-left:1.3rem}
.premium-impact-list li:before{content:"•";position:absolute;left:0;top:0;color:currentColor}
.related-links-block{padding:1rem 0 4rem;background:#fff}
.related-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.related-link-card{background:#fff;border:1px solid rgba(22,53,36,.08);border-radius:24px;padding:1.5rem;box-shadow:0 10px 26px rgba(15,35,25,.05)}
.related-link-card h3{margin:0 0 .75rem;color:var(--forest);font-size:1.15rem}
.related-link-card p{margin:0 0 1rem;line-height:1.7;color:var(--text)}
.related-link-card a{text-decoration:none;font-weight:600}
.bottom-cta-strip{padding:0 0 4rem;background:#fff}
.bottom-cta-strip__inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;border-radius:28px;background:linear-gradient(135deg,#f7fbf8 0%,#eef5f0 100%);border:1px solid rgba(22,53,36,.08)}
.bottom-cta-strip__inner .section-title{margin:0}
@media (max-width: 900px){.premium-insights__grid,.related-links-grid{grid-template-columns:1fr}.bottom-cta-strip__inner{flex-direction:column;align-items:flex-start}}


/* V16.1 — vidéo premium + animations */
.cinema-section{padding:clamp(4rem,7vw,7rem) 0;background:radial-gradient(circle at top left, rgba(183,148,92,.10), transparent 35%),linear-gradient(180deg,#0d1714 0%, #10201c 100%);position:relative;overflow:hidden}
.cinema-section::before,.cinema-section::after{content:"";position:absolute;border-radius:999px;filter:blur(18px);opacity:.35;pointer-events:none}
.cinema-section::before{width:280px;height:280px;background:rgba(183,148,92,.18);top:-80px;left:-70px}
.cinema-section::after{width:360px;height:360px;background:rgba(93,145,129,.16);bottom:-120px;right:-100px}
.cinema-section__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,3vw,3rem);align-items:center}
.cinema-section__content{position:relative;z-index:1}
.cinema-section__actions{margin-top:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}
.cinema-section__panel{margin-top:1.5rem;padding:1.15rem 1.2rem;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.cinema-section__panel strong{display:block;margin-bottom:.45rem;color:#fff;font-size:1rem}
.cinema-section__panel p{margin:0;color:rgba(255,255,255,.74)}
.cinema-section__media{position:relative;z-index:1}
.cinema-player{position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#09110f;box-shadow:0 28px 80px rgba(0,0,0,.35);min-height:420px;transform:translateZ(0)}
.cinema-player__glow{position:absolute;inset:-20%;background:conic-gradient(from 180deg, rgba(183,148,92,.0), rgba(183,148,92,.28), rgba(93,145,129,.22), rgba(183,148,92,.0));animation:mca2lSpin 16s linear infinite;opacity:.8}
.cinema-player__video,.cinema-player__poster{position:relative;z-index:1;width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.cinema-player__poster-wrap{position:relative;height:100%}
.cinema-player__placeholder{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;z-index:2;padding:1rem 1.1rem;border-radius:20px;background:rgba(7,12,11,.72);border:1px solid rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(10px)}
.cinema-player__placeholder p{margin:.35rem 0 0;color:rgba(255,255,255,.8)}
.cinema-player__placeholder-badge{display:inline-flex;padding:.45rem .8rem;border-radius:999px;background:rgba(183,148,92,.18);border:1px solid rgba(183,148,92,.32);font-size:.82rem;color:#f0d7a8}
.cinema-player__play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:3;width:88px;height:88px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(7,12,11,.55);backdrop-filter:blur(10px);cursor:pointer;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.cinema-player__play::before,.cinema-player__play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,255,255,.14);animation:mca2lPulse 2.4s ease-out infinite}
.cinema-player__play::after{animation-delay:.8s}
.cinema-player__play-icon{position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:24px solid #fff}
.cinema-player__play.is-playing{opacity:0;pointer-events:none}
.hero__visual{transition:transform .25s ease-out, box-shadow .25s ease-out;will-change:transform}
.hero__tag,.service-card,.audience-card,.testimonial-card,.commitment-card{transition:transform .28s ease, box-shadow .28s ease,border-color .28s ease}
.hero__tag:hover,.service-card:hover,.audience-card:hover,.testimonial-card:hover,.commitment-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,.14)}
@keyframes mca2lSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes mca2lPulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media (max-width: 980px){
  .cinema-section__grid{grid-template-columns:1fr}
  .cinema-player,.cinema-player__video,.cinema-player__poster{min-height:320px}
}
@media (prefers-reduced-motion: reduce){
  .cinema-player__glow,.cinema-player__play::before,.cinema-player__play::after{animation:none}
  .hero__visual,.hero__tag,.service-card,.audience-card,.testimonial-card,.commitment-card{transition:none}
}


/* V16.2 immersive hero */
.hero--immersive{position:relative;min-height:100vh;display:flex;align-items:center;padding:9rem 0 5rem;color:#fff;overflow:hidden;background:#09110f}
.hero--immersive .container{position:relative;z-index:3}
.hero__shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(2rem,4vw,4rem);align-items:end}
.hero__media,.hero__video,.hero__fallback{position:absolute;inset:0;width:100%;height:100%}
.hero__video,.hero__fallback{object-fit:cover;transform:scale(1.04)}
.hero__gradient{position:absolute;inset:0;background:linear-gradient(90deg, rgba(5,9,9,.82) 0%, rgba(8,14,13,.74) 35%, rgba(10,18,16,.54) 62%, rgba(9,16,15,.82) 100%),linear-gradient(180deg, rgba(7,10,10,.35) 0%, rgba(7,10,10,.08) 25%, rgba(7,10,10,.45) 100%)}
.hero--immersive .hero__content{max-width:780px;position:relative;z-index:4}
.hero--immersive .hero__eyebrow,.hero--immersive .hero__title,.hero--immersive .hero__subtitle,.hero--immersive .hero__tags,.hero--immersive .hero__actions,.hero--immersive .hero__microcopy,.hero--immersive .hero__visual{opacity:0;transform:translateY(30px);animation:mca2lHeroRise .85s var(--ease-out) forwards}
.hero--immersive .hero__title{animation-delay:.08s;color:#fff;font-size:clamp(2.8rem,5vw,5.3rem);line-height:1.02;max-width:11ch;text-shadow:0 10px 40px rgba(0,0,0,.35)}
.hero--immersive .hero__subtitle{animation-delay:.16s;font-size:clamp(1rem,1.55vw,1.24rem);max-width:54ch;color:rgba(255,255,255,.82)}
.hero--immersive .hero__tags{animation-delay:.24s}
.hero--immersive .hero__actions{animation-delay:.32s}
.hero--immersive .hero__microcopy{animation-delay:.40s}
.hero--immersive .hero__visual{animation-delay:.48s}
.hero--immersive .hero__eyebrow{color:#dce7de;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.hero--immersive .hero__tag{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.hero--immersive .btn--outline,.hero--immersive .btn--ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22);color:#fff}
.hero__microcopy{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1.4rem}
.hero__microcopy span{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .85rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.hero__microcopy span::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 0 5px rgba(212,184,122,.12)}
.hero__spotlight-card{padding:1.1rem;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 100%);backdrop-filter:blur(16px);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.hero--immersive .hero__badge{position:relative;right:auto;bottom:auto;margin-bottom:1rem;background:rgba(8,12,12,.45);border-color:rgba(255,255,255,.12);box-shadow:none}
.hero__highlights{display:grid;grid-template-columns:1fr;gap:.85rem}
.hero__highlight{padding:1rem 1.05rem;border-radius:20px;background:rgba(7,12,11,.42);border:1px solid rgba(255,255,255,.08)}
.hero__highlight strong{display:block;font-family:var(--font-display);font-size:1.7rem;line-height:1;color:#fff;margin-bottom:.3rem}
.hero__highlight span{display:block;color:rgba(255,255,255,.7);font-size:.84rem;line-height:1.45}
.hero__scroll{position:absolute;left:50%;bottom:1.35rem;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:rgba(255,255,255,.74);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}
.hero__scroll i{display:block;width:1px;height:44px;background:linear-gradient(180deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.8) 100%);position:relative;overflow:hidden}
.hero__scroll i::after{content:'';position:absolute;left:0;top:-14px;width:1px;height:14px;background:#fff;animation:mca2lScrollCue 1.9s ease-in-out infinite}
@keyframes mca2lHeroRise{to{opacity:1;transform:translateY(0)}}
@keyframes mca2lScrollCue{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(58px);opacity:0}}
@media (min-width:1025px){.hero--immersive .hero__content{padding-right:1rem}}
@media (max-width:1024px){.hero--immersive{min-height:auto;padding:8rem 0 4rem}.hero__shell{grid-template-columns:1fr;align-items:start}.hero--immersive .hero__title{max-width:none}.hero__spotlight-card{max-width:560px}.hero__scroll{display:none}}
@media (max-width:768px){.hero--immersive{padding-top:7.5rem}.hero__microcopy{display:none}.hero__highlights{grid-template-columns:1fr 1fr}.hero__highlight strong{font-size:1.35rem}}
@media (max-width:560px){.hero__highlights{grid-template-columns:1fr}.hero--immersive .hero__title{font-size:clamp(2.2rem,12vw,3.2rem)}}

/* V17 premium storytelling */
.media-sound-toggle{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(5,14,12,.52);backdrop-filter:blur(12px);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.02em;box-shadow:0 14px 34px rgba(0,0,0,.22);transition:transform .24s ease,background .24s ease,border-color .24s ease,opacity .24s ease}
.media-sound-toggle:hover{transform:translateY(-2px);background:rgba(8,18,15,.72);border-color:rgba(255,255,255,.38)}
.media-sound-toggle.is-on{background:rgba(183,148,92,.18);border-color:rgba(183,148,92,.55)}
.hero__sound-toggle{right:clamp(1rem,2vw,2rem);bottom:6.8rem}
.cinema-player__sound-toggle{right:1.2rem;bottom:1.2rem}

.methodology{padding:clamp(4rem,6vw,6.5rem) 0;background:linear-gradient(180deg,#f7f4ef 0%,#fff 100%)}
.methodology__intro{max-width:860px;margin:0 auto 2rem;text-align:center}
.methodology__timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative}
.method-step{position:relative;padding:1.5rem 1.35rem 1.4rem;background:#fff;border:1px solid rgba(22,53,36,.08);border-radius:24px;box-shadow:0 18px 44px rgba(25,40,33,.07)}
.method-step::before{content:'';position:absolute;left:1.35rem;right:1.35rem;top:0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--gold),rgba(22,53,36,.25))}
.method-step__index{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:rgba(183,148,92,.12);color:var(--forest);font-weight:700;margin-bottom:1rem}
.method-step__title{font-family:var(--font-display);font-size:1.18rem;color:var(--forest);margin:0 0 .7rem}
.method-step__text{margin:0;color:var(--muted)}

.case-studies{padding:clamp(4rem,6vw,6.2rem) 0;background:linear-gradient(180deg,#10201c 0%,#0d1714 100%);color:#fff;position:relative;overflow:hidden}
.case-studies::before{content:'';position:absolute;inset:auto auto -120px -90px;width:280px;height:280px;background:rgba(183,148,92,.18);filter:blur(28px);border-radius:50%}
.case-studies__header{text-align:center;max-width:840px;margin:0 auto 2rem}
.case-studies__header .section-title,.case-studies__header .section-eyebrow{color:#fff}
.case-studies__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.case-card{padding:1.6rem;border-radius:26px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);backdrop-filter:blur(10px);box-shadow:0 22px 50px rgba(0,0,0,.18)}
.case-card__sector{display:inline-flex;padding:.4rem .75rem;border-radius:999px;background:rgba(183,148,92,.14);color:#f4dfb4;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.case-card__text{margin:1rem 0 1.2rem;color:rgba(255,255,255,.8)}
.case-card__metric{font-family:var(--font-display);font-size:2.2rem;line-height:1;color:#fff;margin-bottom:.35rem}
.case-card__label{color:rgba(255,255,255,.62);font-size:.95rem}

.cta-section--premium{position:relative;overflow:hidden}
.cta-section--premium::before{content:'';position:absolute;inset:-20% 30% auto -10%;height:220px;background:radial-gradient(circle, rgba(183,148,92,.16) 0%, rgba(183,148,92,0) 68%);pointer-events:none}
.cta-section__content{display:grid;grid-template-columns:1.3fr auto;gap:1.5rem;align-items:center}
.cta-section__text{max-width:760px;color:rgba(255,255,255,.82);margin:1rem 0 0}
.cta-section__actions{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}

.stat-item__number.counter{display:inline-block}

@media (max-width: 1024px){
  .methodology__timeline,.case-studies__grid,.cta-section__content{grid-template-columns:1fr 1fr}
  .cta-section__actions{justify-content:flex-start}
}
@media (max-width: 767px){
  .hero__sound-toggle{right:1rem;bottom:5.25rem}
  .methodology__timeline,.case-studies__grid,.cta-section__content{grid-template-columns:1fr}
  .media-sound-toggle{padding:.65rem .9rem;font-size:.8rem}
}


.footer__credit{display:inline-flex;align-items:center;gap:.35rem;opacity:.82}.footer__credit a{font-weight:700}.footer__credit a:hover{text-decoration:underline}
