<!DOCTYPE html>

<html lang="fr">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Infinity Services — Nettoyage tertiaire & industriel · Lyon · Roanne · Annecy</title>

<meta name="description" content="PME de nettoyage tertiaire et industriel basée à Lyon, Roanne et Annecy. Une équipe proche et réactive, des secteurs maîtrisés, un engagement écoresponsable.">

<link rel="preconnect" href="https://fonts.googleapis.com">

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap" rel="stylesheet">

<style>

  :root{

    --green:#5e7a64;

    --green-deep:#3a4d40;

    --green-darkest:#26332b;

    --ink:#2a352e;

    --muted:#6c7a72;

    --orange:#e27864;

    --orange-deep:#c85f4b;

    --bg:#f4f8f4;

    --card:#ffffff;

    --sage-tint:#e8efe9;

    --sage-fill:#dde8e0;

    --sage-line:#d2e0d6;

    --radius:18px;

    --maxw:1180px;

    --ease:cubic-bezier(.2,.7,.2,1);

  }

  *{box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{

    margin:0;

    font-family:'Open Sans',system-ui,sans-serif;

    color:var(--ink);

    background:var(--bg);

    line-height:1.7;

    -webkit-font-smoothing:antialiased;

    overflow-x:hidden;

  }

  a{color:inherit;text-decoration:none;}

  img,svg{display:block;max-width:100%;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}


  /* ---------- type ---------- */

  .eyebrow{

    font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;

    color:var(--green);display:inline-block;margin:0 0 18px;

  }

  h1,h2,h3{margin:0;color:var(--green-darkest);letter-spacing:-.02em;font-weight:800;line-height:1.08;}

  h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:700;}

  h3{font-size:1.18rem;font-weight:700;letter-spacing:-.01em;}

  p{margin:0;}

  .lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:#46544c;font-weight:400;}


  /* ---------- buttons ---------- */

  .btn{

    display:inline-flex;align-items:center;gap:10px;

    font-weight:700;font-size:.97rem;border-radius:999px;

    padding:15px 26px;cursor:pointer;border:1.5px solid transparent;

    transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s;

    white-space:nowrap;

  }

  .btn-primary{background:var(--orange);color:#fff;box-shadow:0 8px 22px -10px rgba(226,120,100,.8);}

  .btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(226,120,100,.85);}

  .btn-ghost{background:transparent;color:var(--green-deep);border-color:var(--sage-line);}

  .btn-ghost:hover{background:#fff;border-color:var(--green);transform:translateY(-2px);}

  .btn-light{background:#fff;color:var(--green-deep);}

  .btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(38,51,43,.4);}


  /* ---------- header ---------- */

  header{position:sticky;top:0;z-index:50;background:rgba(244,248,244,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(210,224,214,.7);}

  .nav{display:flex;align-items:center;justify-content:space-between;height:74px;}

  .brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:1.12rem;color:var(--green-darkest);letter-spacing:-.01em;}

  .brand .crane{width:30px;height:30px;color:var(--green);}

  .brand b{font-weight:800;}

  .brand span{font-weight:400;color:var(--muted);}

  nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:.94rem;font-weight:600;color:var(--green-deep);}

  nav ul a{position:relative;padding:4px 0;transition:color .2s;}

  nav ul a:hover{color:var(--orange-deep);}

  nav ul a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--orange);transition:width .28s var(--ease);}

  nav ul a:hover::after{width:100%;}

  .nav-cta{display:flex;align-items:center;gap:18px;}

  .nav-tel{font-weight:700;color:var(--green-deep);font-size:.94rem;display:flex;align-items:center;gap:7px;}

  .burger{display:none;background:none;border:none;cursor:pointer;color:var(--green-deep);}

  @media(max-width:960px){

    nav ul,.nav-tel{display:none;}

    .burger{display:block;}

  }


  /* ---------- hero ---------- */

  .hero{position:relative;padding:84px 0 76px;overflow:hidden;}

  .hero-stroke{position:absolute;inset:0;z-index:0;pointer-events:none;}

  .hero-stroke svg{position:absolute;}

  .hs1{top:6%;right:-6%;width:46%;opacity:.5;color:var(--sage-fill);}

  .hs2{bottom:-4%;left:-8%;width:40%;opacity:.45;color:var(--sage-fill);transform:rotate(8deg);}

  .hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;}

  .hero h1{font-size:clamp(2.6rem,5.4vw,4.6rem);}

  .hero h1 .mark{position:relative;white-space:nowrap;color:var(--green);}

  .hero h1 .mark svg{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.42em;color:var(--orange);}

  .hero p.lead{margin:26px 0 32px;max-width:38ch;}

  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

  .hero-note{margin-top:18px;font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:8px;}


  .hero-card{

    background:var(--card);border-radius:24px;padding:30px;

    box-shadow:0 30px 60px -28px rgba(38,51,43,.32);border:1px solid #eef3ef;

  }

  .hero-card .label{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);}

  .hero-card h3{margin:6px 0 18px;font-size:1.35rem;}

  .hero-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}

  .hero-list li{display:flex;gap:13px;align-items:flex-start;font-size:.96rem;color:#3f4d45;}

  .hero-list .tick{flex:none;width:26px;height:26px;border-radius:8px;background:var(--sage-tint);color:var(--green);display:grid;place-items:center;margin-top:1px;}

  .hero-card .sep{height:1px;background:var(--sage-line);margin:22px 0;}

  .hero-card .place{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--green-deep);font-size:.98rem;}

  @media(max-width:880px){.hero .wrap{grid-template-columns:1fr;gap:36px;}.hero{padding:54px 0 56px;}}


  /* ---------- stats ---------- */

  .stats{border-top:1px solid var(--sage-line);border-bottom:1px solid var(--sage-line);background:rgba(232,239,233,.45);}

  .stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 28px;}

  .stat{text-align:center;}

  .stat .n{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;color:var(--green-deep);letter-spacing:-.03em;line-height:1;}

  .stat .n em{font-style:normal;color:var(--orange);}

  .stat .t{margin-top:8px;font-size:.86rem;color:var(--muted);font-weight:600;}

  @media(max-width:680px){.stats .wrap{grid-template-columns:repeat(2,1fr);gap:28px 16px;}}


  /* ---------- generic section ---------- */

  section.block{padding:92px 0;}

  .head{max-width:62ch;margin-bottom:48px;}

  .head.center{margin-left:auto;margin-right:auto;text-align:center;}

  .head p{margin-top:16px;}


  /* ---------- axes ---------- */

  .axes-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}

  .axe{

    position:relative;background:var(--card);border-radius:var(--radius);padding:38px 34px;

    border:1px solid #eef3ef;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s;

  }

  .axe:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(38,51,43,.3);}

  .axe .ico{width:54px;height:54px;border-radius:14px;background:var(--sage-tint);color:var(--green);display:grid;place-items:center;margin-bottom:22px;}

  .axe h3{font-size:1.5rem;margin-bottom:10px;}

  .axe .sub{color:var(--orange-deep);font-weight:700;font-size:.92rem;margin-bottom:14px;}

  .axe p{color:#4b584f;font-size:1rem;}

  .axe .corner{position:absolute;right:-30px;bottom:-30px;width:150px;opacity:.32;color:var(--sage-fill);}

  @media(max-width:760px){.axes-grid{grid-template-columns:1fr;}}


  /* ---------- pillars ---------- */

  .pillars{background:linear-gradient(180deg,var(--bg),#eef4ef);}

  .pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}

  .pillar{background:var(--card);border-radius:var(--radius);padding:30px 26px;border:1px solid #eef3ef;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s;}

  .pillar:hover{transform:translateY(-5px);box-shadow:0 24px 48px -26px rgba(38,51,43,.32);}

  .pillar .ico{width:48px;height:48px;color:var(--green);margin-bottom:18px;}

  .pillar .adj{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);font-weight:700;}

  .pillar h3{margin:6px 0 14px;font-size:1.22rem;}

  .pillar ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}

  .pillar li{display:flex;gap:10px;font-size:.92rem;color:#4b584f;}

  .pillar li .dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--green);margin-top:9px;}

  @media(max-width:980px){.pillars-grid{grid-template-columns:1fr 1fr;}}

  @media(max-width:560px){.pillars-grid{grid-template-columns:1fr;}}


  /* ---------- secteurs ---------- */

  .sect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

  .sector{

    display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid #eef3ef;

    border-radius:14px;padding:20px 22px;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;

  }

  .sector:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 18px 34px -24px rgba(38,51,43,.35);}

  .sector .ico{flex:none;width:46px;height:46px;border-radius:12px;background:var(--sage-tint);color:var(--green);display:grid;place-items:center;}

  .sector b{display:block;font-size:1.02rem;color:var(--green-darkest);}

  .sector small{color:var(--muted);font-size:.85rem;}

  @media(max-width:820px){.sect-grid{grid-template-columns:1fr 1fr;}}

  @media(max-width:520px){.sect-grid{grid-template-columns:1fr;}}


  /* ---------- engagement ---------- */

  .eco{background:var(--green-darkest);color:#dfe8e1;position:relative;overflow:hidden;}

  .eco .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}

  .eco h2{color:#fff;}

  .eco .lead{color:#bcccc1;}

  .eco-stroke{position:absolute;top:-10%;right:-6%;width:50%;opacity:.14;color:#9fb8a8;z-index:0;}

  .eco-list{display:grid;gap:18px;}

  .eco-item{display:flex;gap:16px;align-items:flex-start;}

  .eco-item .ico{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(159,184,168,.18);color:#bcd6c5;display:grid;place-items:center;}

  .eco-item b{color:#fff;display:block;font-size:1.02rem;}

  .eco-item span{color:#a9bdb0;font-size:.92rem;}

  @media(max-width:820px){.eco .wrap{grid-template-columns:1fr;gap:34px;}}


  /* ---------- agences ---------- */

  .agc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

  .agence{position:relative;background:var(--card);border:1px solid #eef3ef;border-radius:var(--radius);padding:30px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s;}

  .agence:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(38,51,43,.3);}

  .agence .pin{width:40px;height:40px;border-radius:11px;background:var(--sage-tint);color:var(--green);display:grid;place-items:center;margin-bottom:16px;}

  .agence h3{font-size:1.3rem;margin-bottom:6px;}

  .agence p{color:var(--muted);font-size:.92rem;}

  .agence .stroke{position:absolute;right:-20px;bottom:-24px;width:120px;opacity:.3;color:var(--sage-fill);}

  @media(max-width:760px){.agc-grid{grid-template-columns:1fr;}}


  /* ---------- cta band ---------- */

  .cta-band{padding:30px 0 100px;}

  .cta-inner{

    background:var(--green);color:#fff;border-radius:26px;padding:54px;

    display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;position:relative;overflow:hidden;

  }

  .cta-inner h2{color:#fff;}

  .cta-inner p{color:#e3eee6;margin-top:14px;max-width:46ch;}

  .cta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}

  .cta-actions .small{font-size:.84rem;color:#cfe0d4;}

  .cta-stroke{position:absolute;right:-4%;top:-20%;width:42%;opacity:.16;color:#fff;}

  @media(max-width:760px){.cta-inner{grid-template-columns:1fr;padding:38px 30px;}.cta-actions{align-items:stretch;}}


  /* ---------- footer ---------- */

  footer{background:#1f2a23;color:#9fb1a4;padding:60px 0 34px;font-size:.92rem;}

  .foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding-bottom:40px;border-bottom:1px solid rgba(159,177,164,.18);}

  footer .brand{color:#fff;margin-bottom:16px;}

  footer .brand .crane{color:#7e9a85;}

  footer .brand span{color:#9fb1a4;}

  footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-weight:700;}

  footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}

  footer a:hover{color:#fff;}

  .foot-bottom{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:#7c8d81;}

  @media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;gap:30px;}}


  /* ---------- reveal ---------- */

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}

  .reveal.in{opacity:1;transform:none;}

  @media(prefers-reduced-motion:reduce){

    .reveal{opacity:1;transform:none;transition:none;}

    html{scroll-behavior:auto;}

    *{animation:none!important;}

  }

  :focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px;}

</style>

</head>

<body>


<!-- ============ HEADER ============ -->

<header>

  <div class="wrap nav">

    <a class="brand" href="#" aria-label="Infinity Services, accueil">

      <svg class="crane" viewBox="0 0 48 48" fill="currentColor" aria-hidden="true">

        <path d="M24 4l9 11-9 5-9-5 9-11z" opacity=".55"/>

        <path d="M4 23l20-3 5 9-13 4L4 23z"/>

        <path d="M44 23l-20-3-5 9 13 4 12-10z" opacity=".75"/>

        <path d="M21 31l3 13 3-13-3 2-3-2z"/>

      </svg>

      <span><b>Infinity</b> Services</span>

    </a>

    <nav aria-label="Navigation principale">

      <ul>

        <li><a href="#approche">Notre approche</a></li>

        <li><a href="#valeurs">Nos engagements</a></li>

        <li><a href="#secteurs">Secteurs</a></li>

        <li><a href="#eco">Écoresponsable</a></li>

        <li><a href="#agences">Agences</a></li>

      </ul>

    </nav>

    <div class="nav-cta">

      <a class="nav-tel" href="tel:0426782386">

        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3-8.6A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.7a2 2 0 0 1-.5 2.1L8.1 9.6a16 16 0 0 0 6 6l1.1-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.5 2.7.6a2 2 0 0 1 1.7 2Z"/></svg>

        04 26 78 23 86

      </a>

      <a class="btn btn-primary" href="#devis">Demander un devis</a>

      <button class="burger" aria-label="Menu">

        <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M3 6h18M3 12h18M3 18h18"/></svg>

      </button>

    </div>

  </div>

</header>


<!-- ============ HERO ============ -->

<section class="hero">

  <div class="hero-stroke" aria-hidden="true">

    <svg class="hs1" viewBox="0 0 400 200"><path fill="currentColor" d="M10 120c60-70 160-90 250-60 50 16 90 8 130-30-30 60-90 86-160 78-70-8-130 8-180 56-20-18-30-30-40-44z"/></svg>

    <svg class="hs2" viewBox="0 0 400 200"><path fill="currentColor" d="M0 90c80-40 170-30 240 20 40 28 80 30 130 10-40 44-100 50-160 22-60-28-130-30-200 4-6-30-8-50-10-78z"/></svg>

  </div>

  <div class="wrap">

    <div class="hero-text">

      <span class="eyebrow">Nettoyage tertiaire &amp; industriel</span>

      <h1>Vos locaux à la hauteur

        <span class="mark">de vos exigences

          <svg viewBox="0 0 300 30" preserveAspectRatio="none" aria-hidden="true"><path fill="currentColor" d="M4 20c70-12 150-16 230-10 22 2 44 5 62 9-20-1-44-3-66-4-78-3-156 1-222 13-3-3-4-5-4-8z"/></svg>

        </span>.

      </h1>

      <p class="lead">PME de propreté à Lyon, Roanne et Annecy. Nous traitons vos locaux avec des équipes dédiées, une réactivité tenue et un soin du détail qui se voit à chaque passage.</p>

      <div class="hero-cta">

        <a class="btn btn-primary" href="#devis">Demander un devis · 15 min</a>

        <a class="btn btn-ghost" href="#approche">Découvrir notre approche</a>

      </div>

      <p class="hero-note">

        <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="var(--green)" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>

        Irritants traités en moins de 4 h · chefs d'équipe dédiés

      </p>

    </div>


    <aside class="hero-card reveal">

      <span class="label">En bref</span>

      <h3>Un partenaire propreté de proximité</h3>

      <ul class="hero-list">

        <li><span class="tick"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></span> Équipes formées aux process internes</li>

        <li><span class="tick"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></span> Interlocuteur unique par site</li>

        <li><span class="tick"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg></span> Produits écolabellisés, objectif zéro déchet</li>

      </ul>

      <div class="sep"></div>

      <div class="place">

        <svg width="18" height="18" viewBox="0 0 24 24" fill="var(--green)" aria-hidden="true"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg>

        Lyon · Roanne · Annecy

      </div>

    </aside>

  </div>

</section>


<!-- ============ STATS ============ -->

<div class="stats">

  <div class="wrap">

    <div class="stat reveal"><div class="n">2018</div><div class="t">Année de création</div></div>

    <div class="stat reveal"><div class="n">60</div><div class="t">Collaborateurs</div></div>

    <div class="stat reveal"><div class="n">3</div><div class="t">Agences de proximité</div></div>

    <div class="stat reveal"><div class="n">&lt;<em>4</em>h</div><div class="t">Traitement des irritants</div></div>

  </div>

</div>


<!-- ============ APPROCHE / 2 AXES ============ -->

<section class="block" id="approche">

  <div class="wrap">

    <div class="head reveal">

      <span class="eyebrow">Notre approche</span>

      <h2>Une lecture en deux axes : votre territoire, votre métier</h2>

      <p class="lead">Chaque site a son contexte. Nous construisons votre prestation à partir de là où vous êtes, et de ce que vous faites.</p>

    </div>

    <div class="axes-grid">

      <article class="axe reveal">

        <div class="ico">

          <svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg>

        </div>

        <h3>Axe local</h3>

        <p class="sub">Les quartiers et la ville</p>

        <p>Des agences ancrées à Lyon, Roanne et Annecy. Nous connaissons les contraintes d'accès, les horaires et le tissu local pour intervenir vite et juste, au plus près de vos sites.</p>

        <svg class="corner" viewBox="0 0 200 200" aria-hidden="true"><path fill="currentColor" d="M20 120c40-50 120-60 170-30-30-2-70 6-100 30-30 24-50 40-70 60-2-30 0-44 0-60z"/></svg>

      </article>

      <article class="axe reveal">

        <div class="ico">

          <svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4 0-9 2-9 6v2h18v-2c0-4-5-6-9-6Z"/></svg>

        </div>

        <h3>Axe client</h3>

        <p class="sub">Leurs spécificités</p>

        <p>Un bureau, un atelier, une crèche ou un cabinet médical n'ont pas les mêmes exigences. Nous adaptons protocoles, produits et fréquences à votre secteur et à vos usages réels.</p>

        <svg class="corner" viewBox="0 0 200 200" aria-hidden="true"><path fill="currentColor" d="M20 120c40-50 120-60 170-30-30-2-70 6-100 30-30 24-50 40-70 60-2-30 0-44 0-60z"/></svg>

      </article>

    </div>

  </div>

</section>


<!-- ============ PILIERS / VALEURS ============ -->

<section class="block pillars" id="valeurs">

  <div class="wrap">

    <div class="head center reveal">

      <span class="eyebrow">Nos engagements</span>

      <h2>Ce que vous pouvez attendre de nous</h2>

      <p class="lead">Quatre principes, et ce qu'ils signifient concrètement sur le terrain.</p>

    </div>

    <div class="pillars-grid">

      <article class="pillar reveal">

        <svg class="ico" width="44" height="44" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 2.9 6.3 6.9.6-5.2 4.5 1.6 6.7L12 16.9 5.8 20.6l1.6-6.7L2.2 8.9l6.9-.6L12 2z"/></svg>

        <span class="adj">Experts</span>

        <h3>Expertise</h3>

        <ul>

          <li><span class="dot"></span>Bureaux &amp; industrie</li>

          <li><span class="dot"></span>Médical</li>

          <li><span class="dot"></span>Écoles &amp; crèches</li>

          <li><span class="dot"></span>Loisirs &amp; commerce</li>

        </ul>

      </article>

      <article class="pillar reveal">

        <svg class="ico" width="44" height="44" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg>

        <span class="adj">Proches &amp; réactifs</span>

        <h3>Réactivité</h3>

        <ul>

          <li><span class="dot"></span>4 chefs d'équipe dédiés</li>

          <li><span class="dot"></span>Irritants traités en &lt; 4 h</li>

          <li><span class="dot"></span>Un interlocuteur par site</li>

        </ul>

      </article>

      <article class="pillar reveal">

        <svg class="ico" width="44" height="44" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8.5 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3Zm7 0a3 3 0 1 0-3-3 3 3 0 0 0 3 3Zm-7 2c-3 0-6 1.5-6 4.5V20h8v-2.5c0-1.4.5-2.6 1.3-3.6A9 9 0 0 0 8.5 13Zm7 0c-.5 0-1 .05-1.5.15 1 1 1.5 2.3 1.5 3.85V20h6v-2.5c0-3-3-4.5-6-4.5Z"/></svg>

        <span class="adj">Respectueux</span>

        <h3>Respect</h3>

        <ul>

          <li><span class="dot"></span>De nos agents</li>

          <li><span class="dot"></span>De nos clients</li>

          <li><span class="dot"></span>De l'environnement</li>

        </ul>

      </article>

      <article class="pillar reveal">

        <svg class="ico" width="44" height="44" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 5c-5 0-9 4-10 7 1 3 5 7 10 7s9-4 10-7c-1-3-5-7-10-7Zm0 11a4 4 0 1 1 4-4 4 4 0 0 1-4 4Zm0-6a2 2 0 1 0 2 2 2 2 0 0 0-2-2Z"/></svg>

        <span class="adj">Exigeants</span>

        <h3>Exigence</h3>

        <ul>

          <li><span class="dot"></span>Ponctualité</li>

          <li><span class="dot"></span>Qualité de service</li>

          <li><span class="dot"></span>Probité</li>

        </ul>

      </article>

    </div>

  </div>

</section>


<!-- ============ SECTEURS ============ -->

<section class="block" id="secteurs">

  <div class="wrap">

    <div class="head reveal">

      <span class="eyebrow">Secteurs maîtrisés</span>

      <h2>Les environnements que nous connaissons par cœur</h2>

      <p class="lead">Nous concentrons notre savoir-faire là où il fait la différence, avec des protocoles pensés pour chaque type de site.</p>

    </div>

    <div class="sect-grid">

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M3 21V10l6-4 6 4v3h6v8H3Zm5-3h2v-2H8v2Zm0-4h2v-2H8v2Zm8 4h3v-2h-3v2Z"/></svg></span><div><b>Industrie &amp; logistique</b><small>Ateliers, entrepôts, sites de production</small></div></div>

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M4 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3h2a2 2 0 0 1 2 2v11H4Zm3-3h2v-2H7v2Zm0-4h2v-2H7v2Zm0-4h2V8H7v2Zm4 8h2v-2h-2v2Zm0-4h2v-2h-2v2Zm0-4h2V8h-2v2Z"/></svg></span><div><b>Tertiaire</b><small>Bureaux, sièges sociaux, coworking</small></div></div>

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M11 3h2v6h6v2h-6v6h-2v-6H5V9h6V3Z"/></svg></span><div><b>Médical</b><small>Cabinets, centres de soins, paramédical</small></div></div>

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3 2 8l10 5 8-4v6h2V8L12 3ZM6 13.2V17c0 1.7 2.7 3 6 3s6-1.3 6-3v-3.8l-6 3-6-3Z"/></svg></span><div><b>Écoles &amp; crèches</b><small>Établissements scolaires, petite enfance</small></div></div>

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm0 4 1.5 3.5L17 11l-3 2 .8 3.5L12 14.7 9.2 16.5 10 13l-3-2 3.5-1.5L12 6Z"/></svg></span><div><b>Loisirs</b><small>Salles de sport, espaces de détente</small></div></div>

      <div class="sector reveal"><span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M5 7h14l1 4a3 3 0 0 1-3 3v6H6v-6a3 3 0 0 1-3-3l2-4Zm3-4h8l1 2H7l1-2Z"/></svg></span><div><b>Commerce</b><small>Surfaces de vente, points de proximité</small></div></div>

    </div>

  </div>

</section>


<!-- ============ ENGAGEMENT ECO ============ -->

<section class="block eco" id="eco">

  <svg class="eco-stroke" viewBox="0 0 400 200" aria-hidden="true"><path fill="currentColor" d="M10 120c60-70 160-90 250-60 50 16 90 8 130-30-30 60-90 86-160 78-70-8-130 8-180 56-20-18-30-30-40-44z"/></svg>

  <div class="wrap">

    <div class="reveal">

      <span class="eyebrow" style="color:#bcd6c5">Engagement</span>

      <h2>Une propreté raisonnée, pour vos équipes et la planète</h2>

      <p class="lead" style="margin-top:16px">Nous nettoyons mieux avec moins : produits écolabellisés, dosage maîtrisé et tri des déchets, sans rien céder sur le résultat.</p>

    </div>

    <div class="eco-list reveal">

      <div class="eco-item">

        <span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C8 6 5 9 5 13a7 7 0 0 0 14 0c0-4-3-7-7-11Zm0 16a4 4 0 0 1-4-4c0-.4.4-.4.7-.1A6 6 0 0 0 12 15c.3 0 .3.4 0 .6A4 4 0 0 1 12 18Z"/></svg></span>

        <div><b>Produits écolabellisés</b><span>Formulations à base d'ingrédients naturels, dosage précis et maîtrisé.</span></div>

      </div>

      <div class="eco-item">

        <span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="M7 4h10l-1 3H8L7 4Zm-2 5h14l-1.4 11.3A2 2 0 0 1 15.6 22H8.4a2 2 0 0 1-2-1.7L5 9Zm5 3v6h2v-6h-2Z"/></svg></span>

        <div><b>Objectif zéro déchet</b><span>Réduction du plastique et accompagnement de vos sites sur le tri.</span></div>

      </div>

      <div class="eco-item">

        <span class="ico"><svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor"><path d="m12 2 2.9 6.3 6.9.6-5.2 4.5 1.6 6.7L12 16.9 5.8 20.6l1.6-6.7L2.2 8.9l6.9-.6L12 2z"/></svg></span>

        <div><b>Matériel et méthodes durables</b><span>Investissement continu dans des équipements sobres et performants.</span></div>

      </div>

    </div>

  </div>

</section>


<!-- ============ AGENCES ============ -->

<section class="block" id="agences">

  <div class="wrap">

    <div class="head center reveal">

      <span class="eyebrow">Au plus près de vous</span>

      <h2>Trois agences, un service de proximité</h2>

    </div>

    <div class="agc-grid">

      <article class="agence reveal">

        <div class="pin"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg></div>

        <h3>Lyon</h3>

        <p>Agence historique au cœur de la métropole et de sa périphérie.</p>

        <svg class="stroke" viewBox="0 0 200 200" aria-hidden="true"><path fill="currentColor" d="M20 120c40-50 120-60 170-30-30-2-70 6-100 30-30 24-50 40-70 60-2-30 0-44 0-60z"/></svg>

      </article>

      <article class="agence reveal">

        <div class="pin"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg></div>

        <h3>Roanne</h3>

        <p>Une présence locale pour accompagner le bassin roannais au quotidien.</p>

        <svg class="stroke" viewBox="0 0 200 200" aria-hidden="true"><path fill="currentColor" d="M20 120c40-50 120-60 170-30-30-2-70 6-100 30-30 24-50 40-70 60-2-30 0-44 0-60z"/></svg>

      </article>

      <article class="agence reveal">

        <div class="pin"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z"/></svg></div>

        <h3>Annecy</h3>

        <p>Au service des entreprises du bassin annécien et de ses environs.</p>

        <svg class="stroke" viewBox="0 0 200 200" aria-hidden="true"><path fill="currentColor" d="M20 120c40-50 120-60 170-30-30-2-70 6-100 30-30 24-50 40-70 60-2-30 0-44 0-60z"/></svg>

      </article>

    </div>

  </div>

</section>


<!-- ============ CTA ============ -->

<section class="cta-band" id="devis">

  <div class="wrap">

    <div class="cta-inner reveal">

      <svg class="cta-stroke" viewBox="0 0 400 200" aria-hidden="true"><path fill="currentColor" d="M0 90c80-40 170-30 240 20 40 28 80 30 130 10-40 44-100 50-160 22-60-28-130-30-200 4-6-30-8-50-10-78z"/></svg>

      <div>

        <h2>Un devis pour vos locaux, en 15 minutes</h2>

        <p>Pas le temps d'un rendez-vous sur site ? Échangeons en visioconférence — disponibles les mardis et jeudis, de 9 h à 12 h.</p>

      </div>

      <div class="cta-actions">

        <a class="btn btn-light" href="tel:0426782386" style="width:100%;justify-content:center">Obtenir mon devis</a>

        <a class="btn btn-ghost" href="mailto:contact@ishp.fr" style="width:100%;justify-content:center;color:#fff;border-color:rgba(255,255,255,.45)">contact@ishp.fr</a>

        <span class="small">Réponse rapide · sans engagement</span>

      </div>

    </div>

  </div>

</section>


<!-- ============ FOOTER ============ -->

<footer>

  <div class="wrap">

    <div class="foot-top">

      <div>

        <a class="brand" href="#">

          <svg class="crane" width="28" height="28" viewBox="0 0 48 48" fill="currentColor" aria-hidden="true"><path d="M24 4l9 11-9 5-9-5 9-11z" opacity=".55"/><path d="M4 23l20-3 5 9-13 4L4 23z"/><path d="M44 23l-20-3-5 9 13 4 12-10z" opacity=".75"/><path d="M21 31l3 13 3-13-3 2-3-2z"/></svg>

          <span><b>Infinity</b> Services</span>

        </a>

        <p>Nettoyage tertiaire et industriel. Améliorons ensemble le bien-être au travail, à Lyon, Roanne et Annecy.</p>

      </div>

      <div>

        <h4>Agences</h4>

        <ul><li><a href="#agences">Lyon</a></li><li><a href="#agences">Roanne</a></li><li><a href="#agences">Annecy</a></li></ul>

      </div>

      <div>

        <h4>Explorer</h4>

        <ul><li><a href="#approche">Notre approche</a></li><li><a href="#secteurs">Secteurs</a></li><li><a href="#eco">Écoresponsable</a></li></ul>

      </div>

      <div>

        <h4>Contact</h4>

        <ul>

          <li><a href="tel:0426782386">04 26 78 23 86</a></li>

          <li><a href="mailto:contact@ishp.fr">contact@ishp.fr</a></li>

          <li><a href="#">LinkedIn</a></li>

        </ul>

      </div>

    </div>

    <div class="foot-bottom">

      <span>© 2026 Infinity Services — Tous droits réservés</span>

      <span>Maquette de refonte · à valider</span>

    </div>

  </div>

</footer>


<script>

  // Scroll reveal

  const io = new IntersectionObserver((entries)=>{

    entries.forEach(e=>{ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target);} });

  },{threshold:.12, rootMargin:'0px 0px -40px 0px'});

  document.querySelectorAll('.reveal').forEach((el,i)=>{

    el.style.transitionDelay = (Math.min(i%4,3)*70)+'ms';

    io.observe(el);

  });

</script>

</body>

</html>