
:root{
  --navy:#0b2140;
  --navy-deep:#06172d;
  --navy-soft:#173b65;
  --red:#c82931;
  --red-dark:#aa2027;
  --green:#98c650;
  --text:#101d2e;
  --muted:#687687;
  --line:#dbe3ec;
  --soft:#f5f7fa;
  --white:#fff;
  --max:1440px;
  --radius:12px;
  --shadow:0 14px 40px rgba(8,30,57,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:white;
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.48;
}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 42px),var(--max));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);border-bottom:1px solid #e5eaf0;
}
section[id]{scroll-margin-top:96px}
.header-inner{
  min-height:82px;display:flex;align-items:center;gap:28px;
}
.logo-wrap{display:flex;align-items:center;min-width:165px}
.logo-wrap img{width:92px;height:auto}
.nav{display:flex;align-items:center;gap:27px;margin-left:auto}
.nav a{
  position:relative;font-size:.78rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;padding:29px 0;
}
.nav a:hover,.nav a.active{color:var(--navy)}
.nav a.active:after,.nav a:hover:after{
  content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;background:var(--red)
}
.header-actions{display:flex;gap:9px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:43px;padding:0 18px;border-radius:3px;border:1px solid transparent;
  font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.015em;
  transition:.16s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:white}.btn-red:hover{background:var(--red-dark)}
.btn-navy{background:var(--navy);color:white}
.btn-outline{background:white;border-color:#6e86a0;color:var(--navy)}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.65);color:white}
.menu-btn{display:none;background:transparent;border:0;font-size:1.5rem;color:var(--navy)}

.hero-shell{padding:0 0 24px;background:white}
.hero{
  min-height:520px;
  position:relative;
  display:flex;align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(4,18,34,.88),rgba(4,18,34,.5) 50%,rgba(4,18,34,.12) 80%),
    url(../images/hero-angers.jpg);
  background-size:cover;background-position:65% 55%;
}
.hero-credit{
  position:absolute;right:14px;bottom:10px;z-index:2;
  color:rgba(255,255,255,.5);font-size:.62rem;
}
.hero-credit a{color:inherit;text-decoration:underline}
.hero-content{position:relative;z-index:2;padding:62px 0 64px;color:white;max-width:690px}
.hero h1{font-size:clamp(2.9rem,5vw,5.1rem);line-height:.98;letter-spacing:-.045em;margin:0 0 22px}
.hero p{max-width:610px;font-size:1rem;color:#edf2f6;margin:0 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}

.section{padding:66px 0}
.section-title{text-align:center;margin-bottom:38px}
.section-title .kicker{
  color:var(--navy);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.87rem
}
.section-title .rule{width:38px;height:2px;background:var(--red);margin:10px auto 0}

.values{
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1040px;margin:0 auto;
}
.value{text-align:center;padding:8px 18px}
.value-icon{
  width:62px;height:62px;margin:0 auto 16px;display:grid;place-items:center;
  border:2px solid var(--navy);border-radius:50%;color:var(--navy);font-weight:900;font-size:1.25rem
}
.value-icon svg{width:26px;height:26px}
.value h3{font-size:.98rem;margin:0 0 7px;color:var(--navy)}
.value p{font-size:.82rem;color:#3e4d5d;margin:0}

.divider{height:1px;background:var(--line);margin:15px 0 0}

.poles-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
}
.pole-card{
  border:1px solid #ccd6e0;background:white;box-shadow:0 4px 12px rgba(9,32,59,.04);
  display:flex;flex-direction:column;transition:.18s ease;
}
.pole-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pole-media{
  height:172px;position:relative;overflow:hidden;background:#153858;flex:none;
}
.pole-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.pole-card:hover .pole-media img{transform:scale(1.05)}
.pole-icon{
  position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:50%;
  background:var(--navy);border:2px solid white;color:white;display:grid;place-items:center;font-size:.65rem;font-weight:900;
  box-shadow:0 2px 6px rgba(9,32,59,.4);
}
.pole-copy{padding:14px 13px;flex:1;display:flex;flex-direction:column;justify-content:center}
.pole-copy h3{font-size:.88rem;line-height:1.28;margin:0;color:#13243a}
.pole-copy small{color:var(--muted);font-size:.7rem}
.center-action{text-align:center;margin-top:26px}

.dashboard{
  display:grid;grid-template-columns:1fr 1.35fr 1fr 1.08fr;gap:17px;align-items:stretch;
}
.panel{
  border:1px solid #d9e1e9;background:white;padding:17px;min-height:310px;
}
.panel-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
  color:var(--navy);font-size:.84rem;font-weight:900;text-transform:uppercase
}
.panel-head a{font-size:.68rem;text-transform:none;font-weight:700}
.news-item{display:grid;grid-template-columns:76px 1fr;gap:11px;padding:9px 0;border-bottom:1px solid #edf0f3}
.thumb{
  min-height:54px;background:linear-gradient(135deg,#94aabc,#284b6b);position:relative
}
.thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 55%,rgba(255,255,255,.15))}
.news-copy small{font-size:.62rem;color:#8390a0}.news-copy strong{display:block;font-size:.75rem;line-height:1.25;margin-top:2px}
.video-box{
  min-height:198px;position:relative;display:flex;align-items:center;justify-content:center;color:white;
  background:linear-gradient(0deg,rgba(4,18,34,.72),rgba(4,18,34,.08)),
             linear-gradient(135deg,#668ca5,#183d5e);
}
.play{width:55px;height:55px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;font-size:1.1rem}
.video-caption{position:absolute;left:14px;right:14px;bottom:12px;font-size:.76rem;font-weight:800}
.video-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}
.video-strip div{height:48px;background:linear-gradient(135deg,#8099ac,#304f68)}
.event{display:grid;grid-template-columns:48px 1fr;gap:12px;border-bottom:1px solid #ebeff3;padding:8px 0 12px}
.date{
  border:1px solid #dce4eb;text-align:center;padding:5px 2px;color:var(--navy);font-weight:900;line-height:1
}
.date strong{font-size:1.13rem}.date span{display:block;font-size:.58rem;margin-top:4px}
.event-copy strong{font-size:.75rem;line-height:1.24;display:block}.event-copy small{font-size:.62rem;color:var(--muted)}

.idea-panel{background:#f6f8fb;border:1px solid #e0e6ed;padding:18px}
.idea-panel .panel-head{margin-bottom:13px}
.idea-card{
  background:white;border:1px solid #dde4eb;box-shadow:var(--shadow);padding:18px;
}
.idea-status{
  display:inline-block;background:#e8eef5;color:#29415c;padding:4px 7px;font-size:.59rem;font-weight:900;text-transform:uppercase;margin-bottom:9px
}
.idea-card h3{font-size:.92rem;line-height:1.25;margin:0 0 9px}
.idea-card p{font-size:.75rem;color:#48586a;margin:0}
.idea-meta{font-size:.62rem;color:var(--muted);margin-top:14px}
.idea-link{display:block;color:#315f91;font-size:.7rem;font-weight:800;margin-top:12px}
.idea-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px}
.arrow{width:30px;height:30px;border:0;background:transparent;color:var(--navy);cursor:pointer}
.dots{display:flex;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:#c6d1dc;border:0;padding:0}.dot.active{background:var(--navy)}
.idea-note{font-size:.61rem;color:#68778a;text-align:center;margin-top:14px}

.cta{
  background:
    linear-gradient(90deg,rgba(6,23,45,.96),rgba(6,23,45,.87)),
    linear-gradient(135deg,#194565,#06172d);
  padding:42px 0;color:white;text-align:center;
}
.cta h2{font-size:2rem;margin:0}.cta p{color:#d6e0e9;margin:5px 0 18px}
.cta-buttons{display:flex;gap:13px;justify-content:center}

.footer{background:#06192f;color:#d1dbe5;padding:36px 0 0}
.footer-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr 1fr 1fr;gap:26px}
.footer-grid>div{min-width:0}
.footer-logo img{width:104px;background:white;padding:8px;border-radius:6px}
.footer p{font-size:.68rem;color:#aebccb;margin-top:12px}
.footer strong{font-size:.74rem;color:white;text-transform:uppercase}
.footer a{display:block;font-size:.68rem;margin-top:6px;color:#d4dde6}
.newsletter input{width:100%;padding:9px;border:0;margin:9px 0 6px}
.footer-bottom{margin-top:28px;border-top:1px solid #1a3550;padding:13px 0;font-size:.62rem;display:flex;justify-content:space-between}
.footer-bottom a{display:inline;margin-top:0;color:#d4dde6}
.footer-bottom a:hover{color:white;text-decoration:underline}

.page-hero{background:var(--navy);color:white;padding:70px 0}
.page-hero h1{font-size:3rem;margin:0}.page-hero p{max-width:760px;color:#d5e0e9}
.page-hero.photo{
  position:relative;padding:96px 0;
  background-size:cover;background-position:center 65%;
}
.page-hero.photo-mouvement{background-image:linear-gradient(90deg,rgba(4,18,34,.9),rgba(4,18,34,.6) 55%,rgba(4,18,34,.25) 100%),url(../images/mouvement/hero-mouvement.jpg)}
.page-hero.photo-poles{background-image:linear-gradient(90deg,rgba(4,18,34,.9),rgba(4,18,34,.6) 55%,rgba(4,18,34,.25) 100%),url(../images/travaux/hero-poles.jpg)}
.page-hero.photo .hero-credit{position:absolute;right:14px;bottom:10px;color:rgba(255,255,255,.5);font-size:.62rem}
.page-hero.photo .hero-credit a{color:inherit;text-decoration:underline}
.page-section{padding:65px 0}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);padding:24px;background:white}.card h3{margin-top:0}.card p{color:var(--muted)}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:920px;margin:0 auto}

.subsection{padding:60px 0}
.subsection.alt{background:var(--soft)}
.subsection-head{max-width:760px;margin:0 0 30px}
.subsection-head .kicker{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;margin-bottom:8px;display:block}
.subsection-head h2{font-size:1.9rem;margin:0 0 12px;color:var(--navy)}
.subsection-head p{color:var(--muted);margin:0;font-size:.95rem}

.callout{background:#eef3f8;border-left:4px solid var(--navy);padding:18px 22px;font-size:.9rem;color:#1c3350;font-weight:600}
.callout strong{color:var(--navy)}

.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.org-card{border:1px solid var(--line);background:white;padding:22px}
.org-card h3{margin:0 0 8px;color:var(--navy);font-size:1rem}
.org-card p{margin:0;color:var(--muted);font-size:.85rem}

.expertise-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:stretch;margin-top:8px}
.expertise-media{overflow:hidden;min-height:280px}
.expertise-media img{width:100%;height:100%;object-fit:cover;display:block}
.expertise-lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.expertise-list{background:white;border:1px solid var(--line);box-shadow:0 4px 12px rgba(9,32,59,.04);padding:20px}
.expertise-list h4{margin:0 0 14px;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.expertise-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.expertise-list li{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:#3e4d5d;line-height:1.35}
.ok-dot,.no-dot{flex:none;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:.6rem;font-weight:900;color:white;margin-top:2px}
.ok-dot{background:var(--green)}
.no-dot{background:var(--red)}

.stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:30px 22px;margin-top:32px}
.step{padding:0}
.step .num{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:white;font-size:.78rem;font-weight:900;margin-bottom:12px;box-shadow:0 3px 8px rgba(9,32,59,.22)}
.step.last .num{background:var(--red)}
.step h4{margin:0 0 6px;font-size:.85rem;color:var(--navy)}
.step p{margin:0;font-size:.78rem;color:var(--muted);line-height:1.42}

.poles-intro{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-top:8px}
.poles-intro-media{overflow:hidden}
.poles-intro-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:5/4}
.poles-intro-steps{display:flex;flex-direction:column;gap:24px}
.mini-step{display:flex;gap:16px;align-items:flex-start}
.mini-step-icon{width:50px;height:50px;flex:none;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;color:var(--navy)}
.mini-step-icon svg{width:22px;height:22px}
.mini-step h4{margin:0 0 4px;font-size:.95rem;color:var(--navy)}
.mini-step p{margin:0;font-size:.83rem;color:var(--muted);line-height:1.4}

.pipeline{max-width:940px;margin:44px auto 0;display:flex;flex-direction:column;align-items:center}
.pipeline-chip{background:var(--soft);border:1px solid var(--line);border-radius:30px;padding:11px 24px;font-size:.8rem;font-weight:700;color:var(--navy)}
.pipeline-chevron{width:20px;height:20px;color:#a9bacb;margin:8px 0}
.pipeline-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%}
.pipeline-stage{background:white;border:1px solid var(--line);box-shadow:0 4px 12px rgba(9,32,59,.04);padding:22px 14px;text-align:center;transition:.18s ease}
.pipeline-stage:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pipeline-stage-icon{width:48px;height:48px;margin:0 auto 12px;border:2px solid var(--navy);border-radius:50%;display:grid;place-items:center;color:var(--navy)}
.pipeline-stage-icon svg{width:22px;height:22px}
.pipeline-stage h4{margin:0;font-size:.8rem;color:var(--navy);font-weight:800;line-height:1.3}
.pipeline-stage-media{width:48px;height:48px;margin:0 auto 12px;display:grid;grid-template-columns:1fr 1fr;gap:2px;overflow:hidden;border-radius:50%}
.pipeline-stage-media img{width:100%;height:100%;object-fit:cover;display:block}
.pipeline-note{font-size:.72rem;color:var(--muted);margin:16px 0 0;text-align:center;font-style:italic}
.pipeline-node{background:var(--navy);color:white;padding:15px 32px;font-weight:800;font-size:.85rem;border-radius:3px;text-align:center}
.pipeline-node.final{background:var(--red)}
.pipeline-caption{text-align:center;font-size:.8rem;color:var(--muted);margin-top:18px;max-width:640px}

.page-lead{max-width:820px}
.page-lead p{font-size:1.05rem;color:#2b3c4e;margin:0 0 14px}
.pitfalls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;max-width:980px}
.pitfall{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:#fbeceb;border:1px solid #f1c9c7}
.pitfall .x{color:var(--red);font-weight:900;font-size:1.1rem;line-height:1.2}
.pitfall p{margin:0;font-size:.85rem;color:#5a2c2a}

.pole-explorer{margin-top:32px}
.pole-hint{font-size:.8rem;color:var(--muted);margin:0 0 18px}
.pole-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pole-tab{border:1px solid #ccd6e0;cursor:pointer;padding:0;font:inherit;text-align:left;width:100%;border-radius:0}
.pole-tab.active{box-shadow:0 0 0 2px var(--red) inset;transform:translateY(-3px)}
.pole-tab .pole-media{height:100px}
.pole-tab .pole-copy{padding:10px 12px}
.pole-tab .pole-copy h4{margin:0;font-size:.78rem;line-height:1.3;color:#13243a;font-weight:800}

.pole-panels{margin-top:24px}
.pole-panel{display:none;border:1px solid var(--line);background:white;padding:34px}
.pole-panel.active{display:block}
.pole-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.pole-num{width:44px;height:44px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-weight:900;font-size:.9rem;flex:none}
.pole-detail-head h3{margin:0;color:var(--navy);font-size:1.4rem}
.pole-question{font-size:1.02rem;font-weight:700;color:#1c3350;margin:0 0 24px;padding-left:14px;border-left:3px solid var(--red)}
.pole-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:24px}
.pole-grid-2 h5{margin:0 0 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--soft);border:1px solid var(--line);padding:6px 12px;font-size:.74rem;font-weight:700;color:#33475c;border-radius:20px}
.pole-list{margin:0;padding-left:18px;color:#3e4d5d;font-size:.85rem}
.pole-list li{margin-bottom:6px}

.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.feature-item{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);background:white}
.feature-icon{width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--navy);display:grid;place-items:center;font-weight:900;flex:none;font-size:1rem}
.feature-copy strong{display:block;font-size:.84rem;color:#1c2e42;margin-bottom:5px}
.form-card{max-width:760px;margin:0 auto;border:1px solid var(--line);padding:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-full{grid-column:1/-1}
label{font-size:.72rem;font-weight:800;display:block;margin-bottom:4px}
input,textarea,select{width:100%;padding:11px;border:1px solid #b8c5d2}
textarea{min-height:130px}
.notice{background:#fff5d9;border:1px solid #efd282;padding:12px;font-size:.74rem}

@media(max-width:1180px){
  .nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}.nav a{padding:7px 0}.nav a:after{display:none}
  .menu-btn{display:block}.header-actions{margin-left:auto}
  .poles-grid{grid-template-columns:repeat(3,1fr)}
  .dashboard{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .pipeline-stages{grid-template-columns:1fr 1fr}
  .pole-tabs{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 26px),var(--max))}
  .header-inner{min-height:68px;gap:10px}.logo-wrap{min-width:auto}.logo-wrap img{width:68px}
  .nav{top:68px}.header-actions .btn-outline{display:none}.header-actions .btn{padding:0 10px;font-size:.65rem;min-height:38px}
  .hero{min-height:500px}.hero-content{padding:54px 0}.hero h1{font-size:3.1rem}
  .page-hero.photo{padding:56px 0}.page-hero.photo h1{font-size:2.1rem}
  .values{grid-template-columns:1fr 1fr;gap:20px}
  .poles-grid{grid-template-columns:1fr 1fr;gap:10px}.pole-media{height:130px}
  .dashboard{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:5px}
  .cards3,.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}
  .value-grid{grid-template-columns:1fr;gap:26px}
  .org-grid{grid-template-columns:1fr}
  .poles-intro,.expertise-layout{grid-template-columns:1fr}
  .expertise-lists{grid-template-columns:1fr}
  .pipeline-stages{grid-template-columns:1fr 1fr}
  .subsection-head h2{font-size:1.5rem}
  .pole-tabs{grid-template-columns:1fr 1fr}
  .pole-grid-2{grid-template-columns:1fr}
  .pole-panel{padding:22px}
  .pitfalls,.feature-list{grid-template-columns:1fr}
}
