/* ==========================================================
   Retouches de mise en page — septembre 2026
   ========================================================== */

/* 1. Titre d'accueil : 2 lignes nettes, sans mot isolé */
.hero-content{width:min(980px,calc(100% - 44px))}
.hero h1{font-size:clamp(2.9rem,5.4vw,5.6rem);max-width:none}
.hero h1 .line{display:block}
.hero p{max-width:720px}
@media(min-width:621px){.hero-proof{padding-bottom:58px}}
@media(min-width:760px){.hero h1 .line{white-space:nowrap}}

/* 2. Solutions : un filet ambré se déploie au survol */
.solutions-grid article{position:relative}
.solutions-grid article:before{content:'';position:absolute;left:0;top:0;height:3px;width:0;background:var(--amber);transition:width .35s ease}
.solutions-grid article:hover:before,.solutions-grid article:focus-within:before{width:100%}

/* 3. Blocs photo : zoom lent et texte qui remonte légèrement */
.visual-card img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.visual-card:hover img{transform:scale(1.07)}
.visual-card>div{transition:transform .5s ease}
.visual-card:hover>div{transform:translateY(-6px)}

/* 4. Secteurs d'activité : grille de cartes avec pictogrammes */
.sectors{background:#04101b}
.sectors-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:54px}
.sectors-head p{margin:0;max-width:520px}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;margin:0;padding:0}
.sector-grid li{display:flex;align-items:center;gap:16px;min-height:88px;padding:20px 22px;background:#0a1f33;border:1px solid #1d3a52;transition:border-color .25s,background .25s}
.sector-grid svg{flex:none;width:34px;height:34px;color:var(--amber);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.sector-grid span{font-weight:700;font-size:.98rem;line-height:1.3;color:#eef3f6}
.sector-grid li:hover{border-color:var(--amber);background:#0e2840}
.sector-grid li:hover svg{transform:translateY(-3px)}

/* 7. Notre méthode : bloc remonté, étapes révélées une à une */
.method.section{padding-top:30px}
.method-steps article{transition:background .25s}
.method-steps article:hover{background:var(--cloud)}
.js .method-steps article{opacity:0;transform:translateY(22px)}
.js .method-steps.is-visible article{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease,background .25s}
.js .method-steps.is-visible article:nth-child(2){transition-delay:.15s}
.js .method-steps.is-visible article:nth-child(3){transition-delay:.3s}
.js .method-steps.is-visible article:nth-child(4){transition-delay:.45s}

/* 10. Pied de page complet */
footer.site-footer{display:block;padding:64px max(22px,calc((100vw - var(--max))/2)) 0}
.footer-head{display:flex;align-items:center;gap:36px;padding-bottom:36px;border-bottom:1px solid #1d3a52}
.footer-tagline{margin:0;font-size:1rem;color:#dbe4ea}
@media(min-width:1001px){.footer-tagline{white-space:nowrap}}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:40px 0}
.footer-cols h2{font-size:.8rem;letter-spacing:.14em;color:#8ea3b3;margin:0 0 16px}
.footer-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-cols li,.footer-cols address{font-style:normal;font-size:.95rem;line-height:1.6}
.footer-cols a{color:#c7d2da}
.footer-cols a[href^="mailto"]{color:var(--amber)}
.footer-cols nav a:hover{color:var(--amber)}
.footer-social{display:flex;flex-wrap:wrap;gap:10px}
.footer-social a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #2b4a63;color:#dbe4ea;font-weight:700;font-size:.9rem;transition:border-color .2s,color .2s}
.footer-social a:hover{border-color:var(--amber);color:var(--amber)}
.footer-social a[href=""],.footer-social a:not([href]){display:none}
.footer-follow:not(:has(a[href]:not([href=""]))){display:none}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 0 28px;border-top:1px solid #1d3a52;font-size:.85rem;color:#8ea3b3}

/* Adaptations tablette et mobile */
@media(max-width:1000px){
  .sectors-head{grid-template-columns:1fr;gap:18px;margin-bottom:36px}
  .sector-grid{grid-template-columns:repeat(2,1fr)}
  .footer-head{flex-direction:column;align-items:flex-start;gap:18px}
  .footer-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .hero h1{font-size:2.9rem}
  .sector-grid{grid-template-columns:1fr 1fr;gap:10px}
  .sector-grid li{flex-direction:column;align-items:flex-start;gap:12px;min-height:0;padding:18px 16px}
  .sector-grid svg{width:30px;height:30px}
  .sector-grid span{font-size:.92rem}
  .footer-cols{grid-template-columns:1fr;gap:30px}
}
@media(prefers-reduced-motion:reduce){
  .js .method-steps article{opacity:1;transform:none}
  .visual-card:hover img,.visual-card:hover>div,.sector-grid li:hover svg{transform:none}
}

/* À propos : présentation de l'entreprise */
.about{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start;padding-bottom:24px}
.about-head h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.045em;margin-top:14px}
.about-body p{color:var(--muted);font-size:1.05rem;margin:0 0 16px;max-width:680px}
.about-body .about-lead{color:var(--ink);font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:700;line-height:1.4}
.about-body .about-mission{margin-top:28px;padding:20px 24px;border-left:4px solid var(--amber);background:var(--cloud);color:var(--ink);font-weight:600}
.about-mission strong{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#9a6a0d;margin-bottom:6px}
.two-cols{gap:80px;align-items:start}
.two-cols.section{padding-top:48px}
.two-cols .checklist{margin-top:0;align-self:start}

/* Les ancres restent visibles sous le menu fixe. */
section[id],footer[id]{scroll-margin-top:96px}

/* Menu : la rubrique en cours reste allumée */
.topbar nav a{position:relative;transition:color .2s}
.topbar nav a.is-active{color:var(--amber)}
.topbar nav a.is-active:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--amber)}

/* Bandeau jaune de l'accueil : texte entièrement visible */
@media(min-width:621px){.hero-proof{padding-top:22px;padding-bottom:64px}}

@media(max-width:1000px){
  .about{grid-template-columns:1fr;gap:24px}
  .topbar nav a.is-active:after{display:none}
  .topbar nav a.is-active{padding-left:10px;border-left:3px solid var(--amber)}
}

/* Réglage intermédiaire pour les ordinateurs portables compacts. */
@media(min-width:1001px) and (max-width:1180px){
  .topbar{gap:16px}
  .topbar nav{gap:14px;font-size:.8rem}
  .topbar .btn-small{padding:0 12px;font-size:.8rem}
  .capability-strip{grid-template-columns:repeat(2,1fr)}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .sector-grid{grid-template-columns:repeat(3,1fr)}
  .about{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:48px}
  .two-cols{gap:56px}
}
