/* ==========================================================================
   LPE STRATÉGIE : design system v4
   Navy #0A1A35 / Or #C9A227 / Ivoire #F7F4EC
   Display : Syne, Texte : Inter
   Traitement plat : pas de dégradé, pas d'ombre décorative, pas de flou.
   ========================================================================== */

:root{
  --navy:#0A1A35;
  --navy-deep:#060F20;
  --navy-soft:#12294D;
  --gold:#C9A227;
  --gold-light:#DDBB55;
  --gold-deep:#A9871F;
  --ivoire:#F7F4EC;
  --white:#FFFFFF;
  --ink:#151E32;
  --muted:#5C6472;
  --muted-dark:#93A2B8;
  --line:#E2DDCF;
  --line-dark:rgba(255,255,255,0.14);
  --radius:4px;
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;width:100%;}
body{
  margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);
  background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.62;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:'Syne',system-ui,sans-serif;font-weight:700;line-height:1.15;margin:0 0 .5em;letter-spacing:-0.008em;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media (max-width:640px){.container{padding:0 22px;}}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- numbered label ---------- */
.label{display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.label__num{font-family:'Syne',sans-serif;font-weight:700;font-size:12.5px;color:var(--gold-deep);letter-spacing:0.03em;}
.label__text{font-family:'Syne',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.on-dark .label__num{color:var(--gold);}
.on-dark .label__text{color:var(--muted-dark);}

/* ---------- header / nav ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid var(--line-dark);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:var(--maxw);margin:0 auto;}
.nav__brand{display:flex;align-items:center;gap:10px;}
.nav__brand img{height:32px;width:auto;}
.nav__links{display:flex;align-items:center;gap:36px;}
.nav__links a{font-size:14px;color:var(--muted-dark);font-weight:500;padding:6px 0;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;}
.nav__links a:hover, .nav__links a.active{color:var(--white);border-color:var(--gold);}
.nav .nav__cta{
  font-family:'Syne',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:0.02em;
  color:var(--navy) !important;background:var(--gold);padding:12px 24px;border-radius:var(--radius);
  transition:background .15s ease;white-space:nowrap;border-bottom:none !important;
}
.nav .nav__cta:hover{background:var(--gold-deep);}
.nav__toggle{display:none;background:none;border:0;color:var(--white);padding:8px;}
.nav__toggle svg{width:24px;height:24px;}

@media (max-width:900px){
  .nav__links{
    position:fixed;inset:64px 0 0 0;background:var(--navy);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px 26px 28px;
    transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;
  }
  .nav__links.open{transform:translateX(0);}
  .nav__links a{width:100%;padding:17px 0;border-bottom:1px solid var(--line-dark);}
  .nav__links .nav__cta{margin-top:20px;text-align:center;border-bottom:none !important;}
  .nav__toggle{display:block;}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Syne',sans-serif;font-weight:700;font-size:14.5px;letter-spacing:0.02em;
  padding:14px 28px;border-radius:var(--radius);border:1px solid transparent;transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-deep);}
.btn-ghost-dark{border-color:rgba(255,255,255,.35);color:var(--white);}
.btn-ghost-dark:hover{border-color:var(--gold);color:var(--gold);}
.btn-ghost{border-color:var(--line);color:var(--navy);}
.btn-ghost:hover{border-color:var(--navy);}
.btn-block{width:100%;}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:var(--white);padding:84px 0 78px;}
.hero__grid{display:grid;grid-template-columns:1.08fr 0.92fr;gap:56px;align-items:center;}
.hero__eyebrow{
  font-family:'Syne',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--gold-light);margin-bottom:26px;
}
.hero h1{font-size:clamp(32px,4vw,50px);color:var(--white);}
.hero h1 em{color:var(--gold);font-style:normal;}
.hero__lede{font-size:17px;color:var(--muted-dark);max-width:48ch;margin-bottom:8px;}
.hero__source{font-size:12px;color:var(--muted-dark);opacity:0.75;margin-bottom:34px;}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero__art{position:relative;aspect-ratio:1/1;}
.hero__chart-svg{width:100%;height:100%;}
.hero__chart-path{stroke-dasharray:620;stroke-dashoffset:620;animation:draw 1.8s ease forwards .3s;}
@keyframes draw{to{stroke-dashoffset:0;}}
@media (prefers-reduced-motion: reduce){.hero__chart-path{animation:none;stroke-dashoffset:0;}}
@media (max-width:960px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__art{display:none;}
  .hero{padding:52px 0 48px;}
}

/* ---------- sections ---------- */
section{padding:92px 0;}
.section-ivoire{background:var(--ivoire);}
.section-navy{background:var(--navy);color:var(--white);}
.section-navy .muted{color:var(--muted-dark);}
.section-head{max-width:640px;margin-bottom:50px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .label{justify-content:center;}
.section-head h2{font-size:clamp(26px,3.1vw,36px);}
.muted{color:var(--muted);}
@media (max-width:640px){section{padding:56px 0;}}

/* ---------- cards (expertises) ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:960px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-4,.grid-3{grid-template-columns:1fr;}}

.acc-card{background:var(--white);border:1px solid var(--line);}
.acc-card__head{
  width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;
  text-align:left;padding:22px 20px;
}
.acc-card__mark{width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;}
.acc-card__mark svg{width:20px;height:20px;stroke:var(--gold-deep);}
.acc-card__title{flex:1;font-family:'Syne',sans-serif;font-weight:700;font-size:16px;color:var(--navy);}
.acc-card__chevron{flex:none;width:16px;height:16px;stroke:var(--muted);transition:transform .2s ease;}
.acc-card[data-open="true"] .acc-card__chevron{transform:rotate(45deg);}
.acc-card__body{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.acc-card__body-inner{padding:0 20px 22px 54px;}
@media (max-width:640px){.acc-card__body-inner{padding-left:20px;}}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;margin-bottom:14px;}
.tag{
  font-family:'Syne',sans-serif;font-weight:700;font-size:10.8px;
  background:var(--ivoire);border:1px solid var(--line);border-radius:var(--radius);padding:6px 12px;color:var(--navy);
}

/* ---------- credentials (à propos) ---------- */
.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px;}
.credential{background:var(--white);padding:20px 22px;}
.credential__label{display:block;font-family:'Syne',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;}
.credential__value{font-size:14.5px;color:var(--navy);font-weight:600;margin:0;}
@media (max-width:640px){.credentials{grid-template-columns:1fr;}}
.acc-card__link{display:inline-flex;align-items:center;gap:6px;font-family:'Syne',sans-serif;font-weight:700;font-size:13px;color:var(--navy);border-bottom:1px solid var(--gold);}
.acc-card__link:hover{color:var(--gold-deep);}

/* ---------- DAF missions grid ---------- */
.missions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.mission{background:var(--white);padding:28px 26px;}
.mission__icon{width:34px;height:34px;margin-bottom:16px;}
.mission__icon svg{width:100%;height:100%;stroke:var(--gold-deep);}
.mission h3{font-size:15.5px;color:var(--navy);margin-bottom:8px;}
.mission p{font-size:13.5px;color:var(--muted);margin:0;}
@media (max-width:900px){.missions{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.missions{grid-template-columns:1fr;}}

/* ---------- comparison ---------- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:700px){.compare{grid-template-columns:1fr;}}
.compare__col{padding:30px 28px;}
.compare__col.dim{background:var(--white);}
.compare__col.hl{background:var(--navy);color:var(--white);}
.compare__head{display:flex;align-items:center;gap:11px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.compare__col.hl .compare__head{border-bottom-color:var(--line-dark);}
.compare__head span{font-family:'Syne',sans-serif;font-weight:700;font-size:15px;}
.compare__col.dim .compare__head span{color:var(--muted);}
.compare__col.hl .compare__head span{color:var(--white);}
.compare__badge{width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex:none;}
.compare__col.dim .compare__badge svg{stroke:var(--muted);width:15px;height:15px;}
.compare__col.hl .compare__badge svg{stroke:var(--gold);width:15px;height:15px;}
.compare__col li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14.5px;font-weight:500;}
.compare__col li svg{flex:none;width:16px;height:16px;}
.compare__col.dim li svg{stroke:#BCAF9E;}
.compare__col.hl li svg{stroke:var(--gold);}
.compare__col.dim li{color:var(--muted);}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);}
.stat{padding:30px 26px;text-align:center;background:var(--navy);}
.stat__num{font-family:'Syne',sans-serif;font-weight:700;font-size:clamp(27px,2.7vw,36px);color:var(--gold);line-height:1;}
.stat__label{font-size:12.5px;color:var(--muted-dark);margin-top:10px;}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr);}}

/* ---------- process ---------- */
.process__list{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative;}
.process__line{position:absolute;top:20px;left:12.5%;right:12.5%;height:1px;background:var(--line-dark);z-index:0;}
@media (max-width:900px){.process__list{grid-template-columns:repeat(2,1fr);row-gap:34px;}.process__line{display:none;}}
@media (max-width:560px){.process__list{grid-template-columns:1fr;}}
.process__item{position:relative;z-index:1;}
.process__badge{
  width:40px;height:40px;border-radius:50%;background:var(--navy);border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.process__badge span{font-family:'Syne',sans-serif;font-weight:700;font-size:14.5px;color:var(--gold);}
.process__item h3{font-size:16px;color:var(--white);margin-bottom:6px;}
.process__item p{font-size:13.5px;margin-bottom:0;}

/* ---------- pillars (pour qui) ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);text-align:left;}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,1fr);}}
.pillar{padding:26px 22px;background:var(--white);}
.pillar__icon{width:22px;height:22px;margin-bottom:14px;}
.pillar__icon svg{width:100%;height:100%;stroke:var(--gold-deep);}
.pillar h3{font-size:14.5px;margin:0;line-height:1.35;color:var(--navy);}
@media (max-width:560px){
  .pillars{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1px;margin:0 -22px;padding:0 22px 2px;border:none;}
  .pillar{flex:0 0 64%;scroll-snap-align:start;border:1px solid var(--line);}
}

/* ---------- FAQ ---------- */
.faq{max-width:820px;}
.faq__item{border-bottom:1px solid var(--line);}
.faq__item:first-child{border-top:1px solid var(--line);}
.faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:none;border:0;text-align:left;padding:21px 2px;
  font-family:'Syne',sans-serif;font-weight:700;font-size:15.5px;color:var(--navy);
}
.faq__q svg{flex:none;width:16px;height:16px;stroke:var(--muted);transition:transform .2s ease;}
.faq__item[data-open="true"] .faq__q svg{transform:rotate(45deg);}
.faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq__a p{color:var(--muted);font-size:14.5px;padding:0 2px 22px;max-width:66ch;margin:0;}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--navy);color:var(--white);
  padding:50px;display:flex;align-items:center;justify-content:space-between;
  gap:36px;flex-wrap:wrap;
}
.cta-band h2{font-size:clamp(22px,2.5vw,28px);color:var(--white);margin-bottom:6px;}
.cta-band p{color:var(--muted-dark);margin:0;}
@media (max-width:760px){.cta-band{padding:32px 24px;}}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:var(--muted-dark);padding:56px 0 26px;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
@media (max-width:760px){.footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.footer__grid{grid-template-columns:1fr;}}
.footer__brand img{height:28px;margin-bottom:16px;}
.footer__brand p{font-size:13px;max-width:32ch;}
.footer h4{font-family:'Syne',sans-serif;color:var(--white);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:18px;}
.footer li{margin-bottom:10px;font-size:13.5px;}
.footer a:hover{color:var(--gold-light);}
.footer__bottom{border-top:1px solid var(--line-dark);padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;}
.footer__bottom a:hover{color:var(--gold-light);}

/* ---------- page hero (inner pages) ---------- */
.page-hero{background:var(--navy);color:var(--white);padding:56px 0 62px;}
.breadcrumb{font-size:12.5px;color:var(--muted-dark);margin-bottom:18px;}
.breadcrumb a:hover{color:var(--gold-light);}
.page-hero h1{font-size:clamp(27px,3.6vw,40px);color:var(--white);max-width:820px;}
.page-hero p{color:var(--muted-dark);max-width:60ch;font-size:16px;margin:0;}

/* ---------- expertise detail blocks ---------- */
.expertise-block{padding:72px 0;border-bottom:1px solid var(--line);}
.expertise-block:last-of-type{border-bottom:0;}
.expertise-block__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:52px;align-items:start;}
@media (max-width:900px){.expertise-block__grid{grid-template-columns:1fr;gap:26px;}}
.expertise-block h2{font-size:clamp(22px,2.5vw,29px);}
.check-list li{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:14.5px;}
.check-list li:last-child{border-bottom:1px solid var(--line);}
.check-list svg{flex:none;width:17px;height:17px;stroke:var(--gold-deep);margin-top:2px;}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:52px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-info__item{display:flex;gap:14px;padding:17px 0;border-top:1px solid var(--line);}
.contact-info__item:last-child{border-bottom:1px solid var(--line);}
.contact-info__item svg{flex:none;width:19px;height:19px;stroke:var(--gold-deep);margin-top:2px;}
.contact-info__item h4{font-family:'Syne',sans-serif;font-size:13.5px;color:var(--navy);margin-bottom:3px;}
.contact-info__item p{font-size:13.5px;color:var(--muted);margin:0;}

.calendly-card{background:var(--white);border:1px solid var(--line);padding:10px;max-width:900px;margin:0 auto;overflow:hidden;}
.form-card{background:var(--white);border:1px solid var(--line);padding:32px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:19px;}
.field label{display:block;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.03em;text-transform:uppercase;color:var(--navy);margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;
  font-family:'Inter',sans-serif;font-size:14.5px;color:var(--ink);background:var(--white);transition:border-color .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold-deep);outline:none;}
.field textarea{resize:vertical;min-height:96px;}
.field-error{display:none;color:#a33d3d;font-size:12px;margin-top:6px;}
.field.invalid input, .field.invalid select, .field.invalid textarea{border-color:#a33d3d;}
.field.invalid .field-error{display:block;}
.form-success{display:none;text-align:center;padding:44px 20px;}
.form-success svg{width:40px;height:40px;stroke:var(--gold-deep);margin-bottom:14px;}
.form-success h3{font-size:19px;margin-bottom:8px;}
.form-success p{color:var(--muted);}

/* ---------- legal pages ---------- */
.legal{max-width:800px;}
.legal h2{font-size:19px;margin-top:38px;}
.legal p, .legal li{color:var(--muted);font-size:14.5px;}
.legal li{margin-bottom:8px;padding-left:16px;position:relative;}
.legal li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--gold);}
.legal .updated{font-size:12.5px;color:var(--ink);margin-bottom:36px;padding:12px 16px;background:var(--ivoire);border:1px solid var(--line);}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1;transform:none;}
