  :root{
    --navy-950:#081A30;
    --navy-900:#0E2A4D;
    --navy-800:#163A63;
    --navy-700:#1E4A7C;
    --gold-300:#F0D9A0;
    --gold-400:#E3C077;
    --gold-500:#C9A15C;
    --gold-600:#AD8542;
    --cream:#F8F6F1;
    --paper:#FCFBF8;
    --white:#FFFFFF;
    --ink:#152238;
    --muted:#5B6B80;
    --line:#E4DED0;
    --ribbon: linear-gradient(100deg, var(--gold-600) 0%, var(--gold-400) 45%, var(--gold-300) 60%, var(--gold-500) 100%);
    --shadow-soft: 0 1px 2px rgba(8,26,48,0.06);
    --radius-s: 4px;
    --radius-m: 10px;
    --container: 1200px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
    /* Le bandeau de logos partenaires est purement décoratif : il continue de défiler. */
    .partners-track{animation-duration:32s !important; animation-iteration-count:infinite !important;}
  }
  body{
    margin:0;
    font-family:'Inter', -apple-system, sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    line-height:1.12;
    margin:0;
    color:var(--navy-950);
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  ul{margin:0; padding:0; list-style:none;}
  button{font-family:inherit; cursor:pointer;}

  .wrap{max-width:var(--container); margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  /* ---------- Header ---------- */
  header.site-header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:box-shadow .2s ease, background .2s ease;
  }
  header.site-header.is-scrolled{
    box-shadow:0 10px 30px rgba(8,26,48,0.09);
    background:rgba(255,255,255,0.99);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    height:78px;
  }
  .brand{display:flex; align-items:center; gap:10px;}
  .brand img{height:44px; width:auto;}

  nav.primary-nav{display:flex; align-items:center; gap:36px;}
  .nav-links{display:flex; align-items:center; gap:8px;}
  .nav-item{position:relative;}
  .nav-link{
    font-size:15px; font-weight:500; color:var(--navy-900);
    display:flex; align-items:center; gap:7px; padding:12px 14px;
    position:relative; border-radius:6px;
    transition:color .2s, background .2s;
  }
  .nav-link svg.nav-icon{opacity:0.75; transition:opacity .2s;}
  .nav-link::after{
    content:""; position:absolute; left:14px; right:14px; bottom:6px; height:2px;
    background:var(--ribbon); border-radius:2px;
    transform:scaleX(0); transform-origin:center; transition:transform .25s cubic-bezier(.2,.8,.3,1);
  }
  .nav-item:hover .nav-link, .nav-item.open .nav-link, .nav-link.nav-active{color:var(--gold-600); background:var(--cream);}
  .nav-item:hover .nav-link svg.nav-icon, .nav-item.open .nav-link svg.nav-icon, .nav-link.nav-active svg.nav-icon{opacity:1;}
  .nav-item:hover .nav-link::after, .nav-item.open .nav-link::after, .nav-link.nav-active::after{transform:scaleX(1);}
  .caret{width:9px; height:9px; transition:transform .2s;}
  .nav-item.open .caret{transform:rotate(180deg);}

  .nav-cta-group{display:flex; align-items:center; gap:22px;}
  .lang-switch{display:flex; align-items:center; gap:2px; background:var(--cream); border-radius:20px; padding:3px;}
  .lang-btn{
    border:none; background:none; font-size:12.5px; font-weight:700; letter-spacing:0.03em;
    color:var(--muted); padding:6px 12px; border-radius:16px; transition:all .18s;
    display:inline-flex; align-items:center; gap:6px;
  }
  .lang-btn .lang-flag{font-size:14px; line-height:1;}
  .lang-btn.active{background:var(--navy-950); color:var(--white);}
  .lang-btn:hover:not(.active){color:var(--navy-900);}
  @media (max-width:640px){ .lang-switch{display:none;} }
  .header-social{display:flex; align-items:center; gap:12px; padding-right:6px; border-right:1px solid var(--line);}
  .header-social a{color:var(--navy-800); opacity:0.85; transition:opacity .2s, color .2s;}
  .header-social a:hover{opacity:1; color:var(--gold-600);}
  @media (max-width:1100px){ .header-social{display:none;} }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:600; font-size:14.5px;
    padding:12px 22px; border-radius:var(--radius-s);
    border:1px solid transparent; transition:all .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-gold{
    background:var(--gold-500); color:var(--navy-950);
  }
  .btn-gold:hover{background:var(--gold-400); box-shadow:0 10px 22px rgba(201,161,92,0.35);}
  .btn-outline-light{
    border-color:rgba(255,255,255,0.35); color:var(--white);
  }
  .btn-outline-light:hover{border-color:var(--gold-400); color:var(--gold-400);}
  .btn-navy{
    background:var(--navy-900); color:var(--white);
  }
  .btn-navy:hover{background:var(--navy-800);}

  .search-wrap{display:flex; align-items:center;}
  .search-btn{
    background:none; border:none; padding:8px; border-radius:50%;
    color:var(--navy-900); display:flex; transition:background .15s, color .15s;
  }
  .search-btn:hover{background:var(--cream); color:var(--gold-600);}
  .search-form{
    display:flex; align-items:center; width:0; opacity:0; overflow:hidden;
    transition:width .28s cubic-bezier(.2,.8,.3,1), opacity .2s ease, margin .28s ease;
    border-bottom:1.5px solid var(--line); margin-left:0;
  }
  .search-wrap.open .search-form{width:210px; opacity:1; margin-left:4px; border-color:var(--gold-500);}
  .search-form input{
    border:none; outline:none; background:none; font-family:inherit;
    font-size:13.8px; padding:8px 4px; width:100%; color:var(--navy-900);
  }
  .search-form input::placeholder{color:var(--muted);}

  .mobile-toggle{display:none; background:none; border:none; padding:6px;}
  .mobile-toggle span{display:block; width:24px; height:2px; background:var(--navy-900); margin:5px 0;}

  /* ---------- Mega menu ---------- */
  .mega{
    position:fixed; top:79px; left:50%; transform:translateX(-50%) translateY(-8px);
    width:min(1080px, 92vw);
    max-height:calc(100vh - 100px);
    overflow-y:auto;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-m);
    box-shadow:0 24px 48px rgba(8,26,48,0.14);
    padding:28px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px 28px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .nav-item.open .mega{opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);}
  .mega-col{padding:16px 14px 10px; border-radius:8px; transition:background .2s;}
  .mega-col:hover{background:var(--cream);}
  .mega-col-title{
    display:flex; align-items:center; gap:10px;
    font-family:'Fraunces', serif; font-size:15.5px; font-weight:500;
    color:var(--navy-950); margin-bottom:12px; padding-bottom:12px;
    border-bottom:1px solid var(--line);
  }
  .mega-col-title .mc-icon{
    width:30px; height:30px; border-radius:7px; background:var(--navy-950);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .mega-col ul li a{
    display:flex; align-items:center; gap:0; font-size:13.6px; color:var(--muted); padding:6px 0;
    transition:color .15s, gap .15s;
  }
  .mega-col ul li a::before{
    content:""; width:0; height:1px; background:var(--gold-500); transition:width .15s; margin-right:0;
  }
  .mega-col ul li a:hover{color:var(--gold-600); gap:8px;}
  .mega-col ul li a:hover::before{width:8px;}
  .mega-promo{
    grid-column:1/-1; margin-top:4px; padding-top:20px; border-top:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  }
  .mega-promo-text{display:flex; align-items:center; gap:14px;}
  .mega-promo-text .mp-icon{
    width:40px; height:40px; border-radius:9px; background:var(--cream);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .mega-promo-text p{font-size:13.6px; color:var(--muted); line-height:1.5;}
  .mega-promo-text strong{color:var(--navy-950); display:block; font-size:14.3px; margin-bottom:2px;}

  /* section anchors sit clear of the sticky header */
  section, .particuliers, .why{scroll-margin-top:120px;}

  /* ---------- Back to top ---------- */
  .to-top{
    position:fixed; right:24px; bottom:24px; z-index:90;
    width:46px; height:46px; border-radius:50%;
    background:var(--navy-950); border:1px solid rgba(255,255,255,0.1);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transform:translateY(8px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s;
    box-shadow:0 12px 28px rgba(8,26,48,0.25);
  }
  .to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
  .to-top:hover{background:var(--navy-800);}

  .mini-menu{
    position:absolute; top:calc(100% + 1px); left:0; transform:translateY(-8px);
    width:250px; background:var(--white); border:1px solid var(--line);
    border-radius:var(--radius-m); box-shadow:0 24px 48px rgba(8,26,48,0.14);
    padding:10px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
  }
  .nav-item.open .mini-menu{opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);}
  .mini-menu a{
    display:flex; align-items:center; gap:11px;
    font-size:14px; color:var(--navy-800); padding:11px 12px; border-radius:6px;
  }
  .mini-menu a:hover{background:var(--cream); color:var(--gold-600);}
  .mini-menu .mini-icon{
    width:30px; height:30px; border-radius:7px; background:var(--cream);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .mini-menu a:hover .mini-icon{background:var(--white);}

  /* ---------- Highlight effect ---------- */
  .hl{
    position:relative; z-index:1; padding:0 .1em; color:var(--navy-950) !important;
  }
  .hl::before{
    content:""; position:absolute; left:-4px; right:-4px; top:0.28em; bottom:-0.04em;
    background:var(--ribbon); z-index:-1; border-radius:2px 9px 2px 9px;
    transform:rotate(-1.1deg); opacity:0.95;
    box-shadow:0 2px 0 rgba(173,133,66,0.35);
  }
  .hl-animate::before{
    transform-origin:left center;
    animation:hlGrow 0.85s cubic-bezier(.2,.75,.25,1) 0.5s both;
  }
  .hl-animate::after{
    content:""; position:absolute; right:-9px; top:-2px; width:6px; height:6px;
    background:var(--gold-300); border-radius:50%;
    opacity:0; animation:hlSpark 0.5s ease 1.3s both;
  }
  @keyframes hlGrow{
    from{transform:scaleX(0) rotate(-1.1deg);}
    to{transform:scaleX(1) rotate(-1.1deg);}
  }
  @keyframes hlSpark{
    0%{opacity:0; transform:scale(0.3);}
    60%{opacity:1; transform:scale(1.15);}
    100%{opacity:0; transform:scale(0.8);}
  }
  @media (prefers-reduced-motion: reduce){
    .hl-animate::before, .hl-animate::after{animation:none; opacity:1;}
  }

  /* ---------- Hero ---------- */
  .hero{
    background:var(--navy-950);
    position:relative; overflow:hidden;
    color:var(--white);
    padding:0;
    min-height:560px;
    display:flex; align-items:center;
  }
  .hero-bg-photo{position:absolute; inset:0; z-index:0; transition:transform .3s ease-out;}
  .hero-bg-photo img{
    width:100%; height:100%; object-fit:cover; object-position:center center;
    display:block;
    animation:heroKenBurns 30s ease-in-out infinite alternate;
  }
  @keyframes heroKenBurns{
    from{transform:scale(1);}
    to{transform:scale(1.05);}
  }
  @media (prefers-reduced-motion: reduce){
    .hero-bg-photo img{animation:none;}
  }
  .hero-scrim{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(100deg,
      rgba(8,26,48,1) 0%,
      rgba(8,26,48,1) 42%,
      rgba(8,26,48,0.92) 50%,
      rgba(8,26,48,0.55) 60%,
      rgba(8,26,48,0.2) 72%,
      rgba(8,26,48,0) 88%);
  }
  .hero-scrim::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(8,26,48,0.5) 0%, transparent 26%);
  }

  .hero-typewriter{
    position:absolute; right:48px; bottom:44px; z-index:2;
    max-width:340px; text-align:right;
  }
  .hero-typewriter .quote-bar{
    display:inline-block; width:30px; height:2px; background:var(--ribbon);
    border-radius:2px; margin-bottom:12px;
  }
  .hero-typewriter p{
    font-family:'Fraunces', serif; font-size:18px; font-style:italic; line-height:1.5;
    color:var(--white); text-shadow:0 2px 16px rgba(0,0,0,0.4);
  }
  .tw-cursor{
    display:inline-block; margin-left:1px; color:var(--gold-300);
    animation:twBlink 0.9s step-end infinite;
  }
  @keyframes twBlink{
    0%, 100%{opacity:1;}
    50%{opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){
    .tw-cursor{animation:none;}
  }
  @media (max-width:980px){
    .hero-typewriter{display:none;}
  }

  .hero-grid{
    position:relative; z-index:2; width:100%;
    padding-top:88px; padding-bottom:88px;
  }
  .hero-content{max-width:920px;}
  .hero-eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:14px; color:var(--gold-300); font-weight:500;
    margin-bottom:12px;
  }
  .eyebrow-mark{width:22px; height:2px; background:var(--ribbon); border-radius:2px;}
  .hero h1{
    font-size:clamp(32px, 4vw, 50px);
    color:var(--white);
    max-width:13ch;
  }
  .hero h1 .accent{
    background:var(--ribbon); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lede{
    margin-top:16px; font-size:16px; color:rgba(255,255,255,0.78);
    max-width:46ch; line-height:1.65;
  }
  .hero-actions{display:flex; gap:16px; margin-top:26px; flex-wrap:wrap;}
  .hero-points{
    display:flex; gap:28px; margin-top:38px; flex-wrap:wrap;
  }
  .hero-point{display:flex; align-items:center; gap:10px; max-width:none;}
  .hero-point .hp-icon{
    width:32px; height:32px; border-radius:8px; flex-shrink:0;
    border:1px solid rgba(230,197,119,0.4); background:rgba(8,26,48,0.35);
    display:flex; align-items:center; justify-content:center;
  }
  .hero-point span{font-size:12.6px; color:rgba(255,255,255,0.72); line-height:1.4; white-space:nowrap;}

  @media (max-width:980px){
    .hero{min-height:0;}
    .hero-grid{padding-top:64px; padding-bottom:56px;}
    .hero h1{max-width:none;}
    .hero-content{max-width:none;}
    .hero-scrim{background:linear-gradient(180deg, rgba(8,26,48,0.55) 0%, rgba(8,26,48,0.88) 55%, rgba(8,26,48,0.96) 100%);}
    .hero-scrim::after{display:none;}
  }

  /* ---------- Sections generic ---------- */
  section{padding:96px 0;}
  @media (max-width:640px){ section{padding:64px 0;} }
  .section-head{max-width:620px; margin-bottom:52px; margin-left:auto; margin-right:auto; text-align:center;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head h2{font-size:clamp(28px,3vw,38px);}
  .section-head p{margin-top:16px; font-size:16px; color:var(--muted); line-height:1.65;}
  .section-subtitle{
    font-family:'Inter', sans-serif; font-weight:600; font-size:14.5px;
    color:var(--gold-600); text-transform:none; margin-top:8px; letter-spacing:0.01em;
  }
  .why .section-subtitle{color:var(--gold-400);}
  .kicker{
    display:inline-flex; align-items:center; gap:9px;
    font-size:13.5px; font-weight:600; color:var(--gold-600);
    margin-bottom:16px;
  }
  .kicker::before{content:""; width:26px; height:3px; background:var(--ribbon); border-radius:2px;}

  /* ---------- Pro solutions ---------- */
  .solutions-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:var(--radius-m);
    overflow:hidden;
  }
  .solution-card{
    background:var(--white); padding:34px 30px;
    position:relative; transition:background .2s, transform .25s ease, box-shadow .25s ease;
    overflow:hidden;
  }
  .solution-card::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--ribbon); transform:scaleX(0); transform-origin:left;
    transition:transform .3s ease;
  }
  .solution-card:hover::before{transform:scaleX(1);}
  .solution-card:hover{background:var(--cream); transform:translateY(-5px); box-shadow:0 18px 36px rgba(8,26,48,0.1); z-index:1;}
  .solution-card .sicon{
    width:46px; height:46px; border-radius:9px;
    background:var(--navy-950);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
  }
  .solution-card h4{font-size:19px; margin-bottom:10px; letter-spacing:-0.005em;}
  .solution-card p{font-size:14.3px; color:var(--muted); line-height:1.6; margin-bottom:22px;}
  .solution-more{
    display:inline-flex; align-items:center; gap:7px;
    font-size:13.5px; font-weight:600; color:var(--navy-900);
    padding-bottom:2px; border-bottom:1px solid var(--navy-900);
  }
  .solution-card:hover .solution-more{color:var(--gold-600); border-color:var(--gold-500);}
  .solution-more svg{transition:transform .18s;}
  .solution-card:hover .solution-more svg{transform:translateX(3px);}

  @media (max-width:900px){ .solutions-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:620px){ .solutions-grid{grid-template-columns:1fr;} }

  /* ---------- Particuliers ---------- */
  .particuliers{background:var(--cream);}
  .part-layout{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:stretch;}
  .part-list{display:flex; flex-direction:column; justify-content:center; gap:6px;}
  .part-row{
    display:flex; align-items:center; gap:18px;
    padding:20px 4px; border-bottom:1px solid var(--line);
    transition:padding-left .2s ease;
  }
  .part-row:hover{padding-left:10px;}
  .part-row .picon{
    width:38px; height:38px; border-radius:50%;
    background:var(--white); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:background .2s, border-color .2s;
  }
  .part-row:hover .picon{background:var(--cream); border-color:var(--gold-500);}
  .part-row h4{font-size:16.5px; margin-bottom:3px;}
  .part-row p{font-size:13.6px; color:var(--muted);}

  .emprunteur-card{
    background:var(--navy-950); border-radius:var(--radius-m);
    padding:40px 36px; position:relative; overflow:hidden;
    color:var(--white);
  }
  .emprunteur-card::before{
    content:""; position:absolute; top:0; left:-10%; right:-10%; height:5px;
    background:var(--ribbon);
  }
  .emprunteur-badge{
    display:inline-block; font-size:12px; font-weight:600;
    color:var(--navy-950); background:var(--gold-400);
    padding:5px 11px; border-radius:20px; margin-bottom:20px;
  }
  .emprunteur-card h4{color:var(--white); font-size:24px; margin-bottom:14px; max-width:16ch;}
  .emprunteur-card p{color:rgba(255,255,255,0.7); font-size:14.6px; line-height:1.65; margin-bottom:26px; max-width:38ch;}
  .emprunteur-stats{display:flex; gap:30px; margin-bottom:30px;}
  .emprunteur-stats div .n{font-family:'Fraunces',serif; font-size:24px; color:var(--gold-400);}
  .emprunteur-stats div .l{font-size:12.5px; color:rgba(255,255,255,0.55); margin-top:2px;}

  @media (max-width:860px){ .part-layout{grid-template-columns:1fr;} }

  /* ---------- Why us ---------- */
  .why{background:var(--navy-950); color:var(--white); position:relative; overflow:hidden;}
  .why::before{
    content:""; position:absolute; top:-20%; right:-10%; width:60%; height:140%;
    background:radial-gradient(circle, rgba(201,161,92,0.08), transparent 65%);
    pointer-events:none;
  }
  .why .wrap{position:relative; z-index:1;}
  .why .section-head p{color:rgba(255,255,255,0.65);}
  .why .section-head h2{color:var(--white);}
  .why .kicker{color:var(--gold-400);}
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-m); overflow:hidden;}
  .why-item{
    background:var(--navy-950); padding:34px 28px;
    transition:background .25s, transform .25s;
    position:relative; overflow:hidden;
  }
  .why-item::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--ribbon); transform:scaleX(0); transform-origin:left;
    transition:transform .3s ease;
  }
  .why-item:hover::before{transform:scaleX(1);}
  .why-item:hover{background:#0F3055; transform:translateY(-4px);}
  .why-item .icon-mark{
    width:44px; height:44px; border-radius:10px;
    background:rgba(230,197,119,0.1); border:1px solid rgba(230,197,119,0.3);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px; transition:background .25s, border-color .25s;
  }
  .why-item:hover .icon-mark{background:rgba(230,197,119,0.18); border-color:var(--gold-400);}
  .why-item h4{color:var(--white); font-size:17px; margin-bottom:9px;}
  .why-item p{font-size:13.6px; color:rgba(255,255,255,0.6); line-height:1.6;}
  .why-footer{
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    margin-top:40px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.1);
  }
  .why-footer p{font-size:14.5px; color:rgba(255,255,255,0.6); max-width:44ch;}
  .why-footer a{
    display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600;
    color:var(--gold-400); border-bottom:1px solid rgba(230,197,119,0.4); padding-bottom:3px;
    transition:color .15s, border-color .15s;
  }
  .why-footer a:hover{color:var(--gold-300); border-color:var(--gold-300);}
  @media (max-width:900px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .why-grid{grid-template-columns:1fr;} }

  /* ---------- CTA banner ---------- */
  .cta-banner{
    background:var(--cream);
    padding:0 0 96px;
  }
  .cta-inner{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-m);
    padding:56px 60px;
    display:flex; align-items:center; justify-content:space-between; gap:40px;
    position:relative; overflow:hidden;
  }
  .cta-inner::after{
    content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px;
    border-radius:50%; background:radial-gradient(circle, rgba(201,161,92,0.14), transparent 70%);
  }
  .cta-inner h2{font-size:28px; max-width:16ch;}
  .cta-inner p{margin-top:10px; color:var(--muted); font-size:15px;}
  @media (max-width:760px){
    .cta-inner{flex-direction:column; align-items:flex-start; padding:40px 28px;}
  }

  /* ---------- Footer ---------- */
  footer{background:var(--navy-950); color:rgba(255,255,255,0.6); padding-top:72px;}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:36px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08);}
  .footer-brand img{height:40px; margin-bottom:16px; filter:brightness(0) invert(1);}
  .footer-brand p{font-size:13.6px; line-height:1.6; max-width:30ch; color:rgba(255,255,255,0.5);}
  .footer-col h5{color:var(--white); font-size:14px; font-weight:600; margin-bottom:18px; font-family:'Inter';}
  .footer-col ul li{margin-bottom:11px;}
  .footer-col a{font-size:13.6px; color:rgba(255,255,255,0.55); transition:color .15s;}
  .footer-col a:hover{color:var(--gold-400);}
  .footer-zones{padding:28px 0; border-bottom:1px solid rgba(255,255,255,0.08);}
  .footer-zones h5{color:var(--white); font-size:14px; font-weight:600; margin-bottom:14px; font-family:'Inter';}
  .footer-zones-list{font-size:13px; line-height:2; color:rgba(255,255,255,0.5);}
  .footer-zones-list a{color:rgba(255,255,255,0.55); transition:color .15s;}
  .footer-zones-list a:hover{color:var(--gold-400);}
  .footer-zones-list .dot{color:rgba(255,255,255,0.25); margin:0 2px;}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center;
    padding:26px 0; font-size:12.8px; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:12px;
  }
  .footer-bottom .legal-links{display:flex; gap:22px;}
  .footer-bottom a:hover{color:var(--gold-400);}
  .footer-credit{
    text-align:center; padding:14px 0 28px; font-size:11.5px; color:rgba(255,255,255,0.3);
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .footer-credit a{color:rgba(255,255,255,0.5); text-decoration:underline; text-underline-offset:2px; transition:color .15s;}
  .footer-credit a:hover{color:var(--gold-400);}

  /* Contenu présent pour le SEO / lecteurs d'écran, invisible à l'écran (ex: H1 unique du devis plein écran) */
  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  @media (max-width:900px){ .footer-top{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .footer-top{grid-template-columns:1fr;} }

  /* ---------- Responsive nav ---------- */
  @media (max-width:980px){
    .nav-links, .nav-cta-group .header-social, .nav-cta-group .search-wrap{display:none;}
    .mobile-toggle{display:block;}
    .nav-cta-group .btn-gold{padding:10px 16px; font-size:13.5px;}
  }

  .mobile-panel{
    display:none; position:fixed; top:78px; left:0; right:0; bottom:0; background:var(--white);
    z-index:99; padding:24px 24px 40px; overflow-y:auto;
  }
  .mobile-panel.open{display:block;}
  .mobile-panel .m-link{
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 2px; border-bottom:1px solid var(--line); font-size:16.5px; font-weight:500; color:var(--navy-900);
  }
  .mobile-panel .btn{width:100%; justify-content:center; margin-top:22px;}

  .m-group{border-bottom:1px solid var(--line);}
  .m-group-head{
    display:flex; justify-content:space-between; align-items:center; width:100%;
    background:none; border:none; padding:16px 2px; font-size:16.5px; font-weight:500;
    color:var(--navy-900); font-family:inherit; text-align:left;
  }
  .m-group-head .caret{width:11px; height:11px; transition:transform .2s; color:var(--muted);}
  .m-group.open .m-group-head .caret{transform:rotate(180deg); color:var(--gold-600);}
  .m-group-body{max-height:0; overflow:hidden; transition:max-height .28s ease;}
  .m-group.open .m-group-body{max-height:640px;}
  .m-group-body .m-sub-title{
    font-size:12px; font-weight:600; text-transform:none; color:var(--gold-600);
    padding:12px 2px 4px;
  }
  .m-group-body a{
    display:block; padding:8px 2px 8px 8px; font-size:14.3px; color:var(--muted);
    border-left:2px solid var(--line);
  }

  /* ---------- Scroll reveal ---------- */
  .reveal{
    opacity:0; transform:translateY(42px) scale(.98);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
    will-change:opacity, transform;
  }
  .reveal.is-visible{opacity:1; transform:translateY(0) scale(1);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* ---------- FAQ accordion ---------- */
  .faq-list{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px;
    background:none; border:none; padding:22px 2px; text-align:left; font-family:'Fraunces', serif;
    font-size:18px; color:var(--navy-950); font-weight:500;
  }
  .faq-q .fplus{
    flex-shrink:0; width:26px; height:26px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s, border-color .2s;
  }
  .faq-q .fplus::before, .faq-q .fplus::after{content:""; position:absolute; background:var(--navy-900); transition:transform .25s, opacity .2s;}
  .faq-q .fplus::before{width:10px; height:1.4px;}
  .faq-q .fplus::after{width:1.4px; height:10px;}
  .faq-item.open .faq-q .fplus{border-color:var(--gold-500); transform:rotate(90deg);}
  .faq-item.open .faq-q .fplus::after{opacity:0;}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:300px;}
  .faq-a p{padding:0 2px 24px; font-size:15px; color:var(--muted); line-height:1.7; max-width:64ch;}

  /* ---------- Process steps ---------- */
  .process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:36px;}
  .process-step{position:relative; padding-top:8px;}
  .process-step .p-num{
    font-family:'Fraunces', serif; font-size:42px; color:var(--gold-400); font-weight:400; line-height:1;
    margin-bottom:14px; opacity:0.9;
  }
  .process-step .p-num-bar{
    width:28px; height:3px; border-radius:2px; background:var(--ribbon);
    margin-bottom:18px; transform:scaleX(0); transform-origin:left;
    transition:transform .5s ease;
  }
  .process-step.is-visible .p-num-bar{transform:scaleX(1);}
  .process-step h4{font-size:17px; margin-bottom:9px;}
  .process-step p{font-size:14px; color:var(--muted); line-height:1.6;}
  @media (max-width:900px){
    .process-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
  }
  @media (max-width:560px){ .process-grid{grid-template-columns:1fr;} }

  /* ---------- About / intro ---------- */
  .about{background:var(--white);}
  .about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:stretch;}
  .about-figure{
    background:var(--navy-950); border-radius:var(--radius-m); padding:44px 36px;
    color:var(--white); position:relative; overflow:hidden;
    display:flex; flex-direction:column; justify-content:center;
  }
  .about-figure::before{content:""; position:absolute; top:0; left:-10%; right:-10%; height:5px; background:var(--ribbon);}
  .about-figure .af-num{font-family:'Fraunces', serif; font-size:38px; color:var(--gold-400); line-height:1;}
  .about-figure .af-label{font-size:13.2px; color:rgba(255,255,255,0.6); margin-top:9px; line-height:1.5;}
  .about-figure-grid{display:grid; grid-template-columns:1fr 1fr; row-gap:34px; column-gap:28px;}
  .about-text{display:flex; flex-direction:column; justify-content:center;}
  .about-text p{font-size:15.5px; color:var(--muted); line-height:1.75; margin-bottom:18px;}
  .about-text p:last-child{margin-bottom:0;}
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr;} }

  /* ---------- Testimonials ---------- */
  .testimonials-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden;}
  .testimonial-card{background:var(--white); padding:32px 28px; display:flex; flex-direction:column; gap:18px; position:relative;}
  .testimonial-card::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ribbon);
  }
  .testimonial-card .stars{display:flex; gap:3px;}
  .testimonial-card p.quote{font-size:14.6px; color:var(--ink); line-height:1.7; flex:1;}
  .testimonial-card .author{display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--line);}
  .testimonial-card .avatar{width:38px; height:38px; border-radius:50%; background:var(--navy-950); color:var(--gold-400); display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-size:15px; flex-shrink:0;}
  .testimonial-card .author-name{font-size:13.8px; font-weight:600; color:var(--navy-950);}
  .testimonial-card .author-role{font-size:12.6px; color:var(--muted);}
  @media (max-width:860px){ .testimonials-grid{grid-template-columns:1fr;} }
  /* ---------- Wizard de devis (cohérent avec le design system) ---------- */
  .wizard{
    background:var(--white); border-radius:var(--radius-m);
    padding:44px; max-width:680px; margin:0 auto;
    box-shadow:0 30px 70px rgba(8,26,48,0.14);
    border:1px solid var(--line);
  }
  .wizard-steps{display:flex; gap:8px; margin-bottom:30px;}
  .step-bar{flex:1; height:3px; border-radius:2px; background:var(--line); transition:background .3s;}
  .step-bar.done{background:var(--ribbon);}
  .service-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:6px;}
  @media (max-width:560px){ .service-grid{grid-template-columns:1fr;} }
  .service-pick{
    border:1.5px solid var(--line); border-radius:var(--radius-s); padding:14px 16px;
    font-family:inherit; font-size:14px; font-weight:600; color:var(--navy-800);
    text-align:left; background:var(--white); cursor:pointer; transition:all .15s;
  }
  .service-pick:hover{border-color:var(--gold-500); background:var(--cream);}
  .service-pick.selected{border-color:var(--gold-500); background:var(--cream); color:var(--gold-600); box-shadow:0 0 0 1px var(--gold-500);}
  .field{margin-top:16px;}
  .field label{display:block; font-size:13px; font-weight:600; color:var(--navy-800); margin-bottom:6px;}
  .field input, .field textarea{
    width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--radius-s);
    font-family:inherit; font-size:14.5px; color:var(--ink); transition:border-color .15s;
  }
  .field input:focus, .field textarea:focus{outline:none; border-color:var(--gold-500);}
  .field textarea{resize:vertical;}
  .wizard-nav{display:flex; justify-content:space-between; align-items:center; margin-top:30px;}
  .err-msg{color:#B4453B; font-size:13px; margin-top:10px;}
  .success-box{text-align:center; padding:24px 0;}
  .success-box .check{
    width:60px; height:60px; border-radius:50%; background:var(--cream);
    display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  }
  .field select{
    width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--radius-s);
    font-family:inherit; font-size:14.5px; color:var(--ink); background:var(--white); transition:border-color .15s; appearance:none;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5' stroke='%23596579' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 14px center;
  }
  .field select:focus{outline:none; border-color:var(--gold-500);}
  .field-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  @media (max-width:560px){ .field-grid-2{grid-template-columns:1fr;} }
  .consent-row{display:flex; align-items:flex-start; gap:10px; margin-top:18px;}
  .consent-row input[type="checkbox"]{margin-top:3px; width:16px; height:16px; flex-shrink:0; accent-color:var(--gold-500);}
  .consent-row label{font-size:13px; color:var(--muted); line-height:1.5; cursor:pointer;}
  .plate-lookup-row{display:flex; gap:10px;}
  .plate-lookup-row input{flex:1;}
  .plate-lookup-row .btn{white-space:nowrap; padding:12px 16px; font-size:13.5px;}
  .plate-lookup-status{font-size:12.5px; margin-top:8px; min-height:16px; color:var(--muted);}
  .plate-lookup-status.ok{color:#2E7D4F;}
  .plate-lookup-status.err{color:#B4453B;}
  @media (max-width:560px){ .plate-lookup-row{flex-direction:column;} }
  .plate-modal-overlay{
    position:fixed; inset:0; background:rgba(20,26,38,.55); display:none;
    align-items:center; justify-content:center; z-index:100; padding:20px;
  }
  .plate-modal-overlay.open{display:flex;}
  .plate-modal{
    background:var(--white); border-radius:var(--radius-m, 14px); padding:32px 28px;
    max-width:380px; width:100%; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.25);
  }
  .plate-modal-photo{display:flex; align-items:center; justify-content:center; margin:0 auto 10px; width:100%; height:160px; border-radius:14px; background:var(--cream); overflow:hidden;}
  .plate-modal-photo img{width:100%; height:100%; object-fit:contain; display:block;}
  .plate-modal-photo.icon svg{width:56px; height:56px; opacity:.55;}
  .plate-modal-brand{display:flex; align-items:center; justify-content:center; margin:0 auto 14px; height:30px;}
  .plate-modal-brand img{height:100%; width:auto; max-width:120px; object-fit:contain; display:block;}
  .plate-modal-brand[hidden]{display:none;}
  .plate-modal-kicker{font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--gold-600);}
  .plate-modal h3{margin:6px 0 4px; font-size:20px;}
  .plate-modal-details{color:var(--muted); font-size:13.5px; margin-bottom:10px;}
  .plate-modal-note{color:var(--muted); font-size:11.5px; font-style:italic; margin-bottom:20px;}
  .plate-modal-actions{display:flex; gap:10px; justify-content:center;}
  .plate-modal-actions .btn{flex:1;}

  /* ---------- Devis : formulaire plein écran avec barre de progression ---------- */
  .devis-screen{
    min-height:calc(100vh - 72px);
    display:flex; flex-direction:column; justify-content:center;
    background:linear-gradient(180deg, var(--cream) 0%, var(--white) 60%);
    padding:36px 0 56px;
  }
  .devis-progress-wrap{position:sticky; top:0; z-index:5; background:var(--white); border-bottom:1px solid var(--line); padding:16px 0;}
  .devis-progress-labels{display:flex; justify-content:space-between; max-width:680px; margin:0 auto 10px; padding:0 4px;}
  .devis-progress-labels span{font-size:11.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--muted-2, var(--muted));}
  .devis-progress-labels span.active{color:var(--gold-600);}
  .devis-wizard-outer{max-width:680px; margin:0 auto; padding:0 20px; width:100%;}
  @media (max-width:640px){
    .devis-screen{padding:20px 0 40px;}
    .wizard{padding:28px 20px;}
  }

  /* ---------- Petites grilles de chiffres (à propos / ville / sinistres) : responsive mobile ---------- */
  @media (max-width:640px){
    .stat-grid-3, .stat-grid-4{grid-template-columns:1fr 1fr !important;}
  }
  @media (max-width:400px){
    .stat-grid-3, .stat-grid-4{grid-template-columns:1fr !important;}
  }
  @media (max-width:700px){
    .netlink-grid{grid-template-columns:1fr !important;}
  }

  /* ---------- Pages catégorie / activité ---------- */
  .breadcrumb a{transition:color .15s;}
  .breadcrumb a:hover{color:var(--gold-300) !important;}
  .solution-card{cursor:pointer;}

  /* ---------- Badge d'avis (étoiles + note) ---------- */
  .rating-badge{
    display:inline-flex; align-items:center; gap:10px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
    border-radius:30px; padding:8px 16px 8px 12px;
  }
  .rating-badge .rb-stars{display:flex; gap:2px;}
  .rating-badge .rb-text{font-size:13px; font-weight:600; color:#fff; letter-spacing:.01em;}
  .rating-badge .rb-sub{font-size:11px; color:rgba(255,255,255,.6); font-weight:500;}
  .rating-badge.light{background:var(--cream); border-color:var(--line);}
  .rating-badge.light .rb-text{color:var(--navy-950);}
  .rating-badge.light .rb-sub{color:var(--muted);}

  /* ---------- À propos : équipe ---------- */
  .team-visual{
    position:relative; border-radius:16px; overflow:hidden;
    background:linear-gradient(135deg, var(--navy-950) 0%, var(--navy-800) 100%);
    padding:40px 32px; min-height:280px; display:flex; flex-direction:column; justify-content:flex-end;
  }
  .team-avatars{display:flex; margin-bottom:20px;}
  .team-avatars .ta{
    width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:18px; color:#fff; border:3px solid var(--navy-950);
    margin-left:-14px; flex-shrink:0;
  }
  .team-avatars .ta:first-child{margin-left:0;}
  .team-visual .tv-quote{color:rgba(255,255,255,.85); font-size:15px; line-height:1.6; font-family:'Fraunces',serif; font-style:italic;}
  .team-visual .tv-sign{margin-top:14px; color:var(--gold-300); font-size:12.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase;}
  .reasons-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  @media (max-width:640px){ .reasons-grid{grid-template-columns:1fr;} }
  .reason-item{display:flex; gap:14px; align-items:flex-start;}
  .reason-item .ri-icon{
    width:38px; height:38px; border-radius:10px; background:var(--navy-950);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .reason-item h4{font-size:15px; margin-bottom:5px; color:var(--navy-950);}
  .reason-item p{font-size:13.3px; color:var(--muted); line-height:1.6;}

  /* ---------- Devis : bloc carte / zone d'intervention ---------- */
  .devis-map-section{padding:64px 0 88px; background:var(--cream);}
  .devis-map-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
  @media (max-width:860px){ .devis-map-grid{grid-template-columns:1fr;} }
  .map-frame{
    position:relative; border-radius:14px; overflow:hidden; box-shadow:0 20px 50px rgba(8,26,48,0.12);
    border:1px solid var(--line); aspect-ratio:4/3; background:var(--navy-950);
  }
  .map-frame iframe{width:100%; height:100%; border:0; display:block;}
  .map-villes-list{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}
  .map-villes-list a{
    display:inline-block; padding:7px 13px; border:1.5px solid var(--line); border-radius:18px;
    font-size:12.3px; font-weight:600; color:var(--navy-800); text-decoration:none; background:#fff; transition:all .15s;
  }
  .map-villes-list a:hover{border-color:var(--gold-500); background:var(--cream); color:var(--gold-600);}
  .devis-trust-row{display:flex; flex-wrap:wrap; gap:22px; margin-top:24px;}
  .devis-trust-row .dt-item{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--navy-800);}

  /* ---------- Texte riche (contenu activité avec <strong>/<p>) ---------- */
  .rich-text p{margin-bottom:16px;}
  .rich-text p:last-child{margin-bottom:0;}
  .rich-text strong{color:var(--navy-950); font-weight:600;}

  /* ---------- Sections "ce que couvre" / étapes / vigilance ---------- */
  .info-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px;}
  .info-list li{display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:var(--muted); line-height:1.6;}
  .info-list li .il-dot{width:8px; height:8px; border-radius:50%; background:var(--gold-500); margin-top:7px; flex-shrink:0;}
  .steps-list{display:flex; flex-direction:column; gap:0;}
  .steps-list .step-item{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line);}
  .steps-list .step-item:last-child{border-bottom:none;}
  .steps-list .step-num{
    width:32px; height:32px; border-radius:50%; background:var(--navy-950); color:var(--gold-400);
    font-family:'Fraunces',serif; font-size:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .steps-list h4{font-size:14.5px; color:var(--navy-950); margin-bottom:4px;}
  .steps-list p{font-size:13.3px; color:var(--muted); line-height:1.6;}
  .vigilance-box{background:#FBF3E8; border:1px solid #EAD9BB; border-radius:12px; padding:22px 24px;}
  .vigilance-box li{display:flex; gap:10px; align-items:flex-start; font-size:13.8px; color:var(--navy-800); line-height:1.6; margin-bottom:10px;}
  .vigilance-box li:last-child{margin-bottom:0;}

  /* ---------- Mini FAQ (catégorie / ville) ---------- */
  .mini-faq{border-top:1px solid var(--line); margin-top:16px;}
  .mini-faq-item{padding:20px 0; border-bottom:1px solid var(--line);}
  .mini-faq-item h4{font-size:15px; color:var(--navy-950); margin-bottom:8px;}
  .mini-faq-item p{font-size:13.6px; color:var(--muted); line-height:1.65;}

  /* ---------- Écran de chargement (logo à l'arrivée sur le site) ---------- */
  #page-loader{
    position:fixed; inset:0; z-index:9999; background:var(--cream);
    display:flex; align-items:center; justify-content:center;
    transition:opacity .5s ease, visibility .5s ease;
  }
  #page-loader img{
    height:52px; opacity:0; transform:scale(.86);
    animation:loaderLogoIn .7s .05s cubic-bezier(.2,.7,.2,1) forwards;
  }
  #page-loader.is-done{opacity:0; visibility:hidden; pointer-events:none;}
  @keyframes loaderLogoIn{ to{ opacity:1; transform:scale(1); } }
  @media (prefers-reduced-motion: reduce){
    #page-loader{transition:none;}
    #page-loader img{animation:none; opacity:1; transform:none;}
  }

  /* ---------- Nos partenaires (bandeau de logos défilants) ---------- */
  .partners-marquee{
    overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .partners-track{
    display:flex; align-items:center; gap:64px; width:max-content;
    animation:partnersScroll 32s linear infinite;
  }
  .partners-marquee:hover .partners-track{ animation-play-state:paused; }
  .partners-logo{
    height:42px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .partners-logo img{
    height:100%; max-height:42px; width:auto; object-fit:contain;
    filter:grayscale(1) opacity(.55); transition:filter .25s ease;
  }
  .partners-logo:hover img{ filter:grayscale(0) opacity(1); }
  @keyframes partnersScroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
