:root{
    --navy:#0f2a3a;        /* bleu marine profond (logo) */
    --navy-d:#0a1f2c;
    --cyan:#27b3d4;        /* cyan logo, accent */
    --cyan-d:#1d97b5;
    --ink:#16242c;         /* texte principal */
    --paper:#faf8f5;       /* blanc chaud */
    --paper2:#f1ede7;
    --line:#e6e1d8;
    --muted:#6d7a82;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.12;color:var(--navy);letter-spacing:.2px}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px}
  .label{font-family:'Inter';font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--cyan-d)}
  .btn{display:inline-block;font-family:'Inter';font-size:13.5px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:15px 30px;border-radius:2px;transition:.25s;cursor:pointer;border:1px solid var(--cyan)}
  .btn-fill{background:var(--cyan);color:#fff}
  .btn-fill:hover{background:var(--cyan-d);border-color:var(--cyan-d)}
  .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
  .btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
  .btn-dark{background:var(--navy);color:#fff;border-color:var(--navy)}
  .btn-dark:hover{background:var(--cyan);border-color:var(--cyan)}

  /* HEADER */
  header.nav{position:sticky;top:0;z-index:50;background:rgba(250,248,245,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
  .logo{display:flex;align-items:center;gap:12px}
  .logo img{height:46px;width:auto}
  .logo-txt{display:flex;flex-direction:column;line-height:1.05}
  .lt-main{font-family:'Inter';font-weight:700;font-size:17px;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy)}
  .lt-sub{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cyan-d);font-weight:500;margin-top:2px}
  @media(max-width:520px){.lt-main{font-size:14px;letter-spacing:1px}.lt-sub{font-size:8px}}
  .navlinks{display:flex;gap:38px;font-size:13.5px;font-weight:400;letter-spacing:.5px;color:var(--ink)}
  .navlinks a{position:relative;padding:4px 0;color:var(--ink);opacity:.85;transition:.2s}
  .navlinks a:hover{opacity:1;color:var(--cyan-d)}
  .nav-cta{font-size:12.5px}
  @media(max-width:880px){.navlinks{display:none}}

  /* HERO */
  .hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden}
  .hero-bg{position:absolute;inset:0;background:#0f2a3a url('https://static.wixstatic.com/media/d11e64_46c142fcd5a04711b99eb4f4bfdd6d0d~mv2.png/v1/fill/w_1600,h_1000,al_c,q_85,enc_auto/hero.png') center/cover no-repeat;}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,44,.92) 0%,rgba(10,31,44,.72) 45%,rgba(10,31,44,.35) 100%)}
  .hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px}
  .hero .label{color:var(--cyan);margin-bottom:22px;display:block}
  .hero h1{color:#fff;font-size:64px;font-weight:300;max-width:760px;margin-bottom:22px}
  .hero h1 em{font-style:italic;color:var(--cyan)}
  .hero p.lead{font-size:19px;font-weight:300;color:#dbe4ea;max-width:540px;margin-bottom:38px}
  .hero .cta-row{display:flex;gap:16px;flex-wrap:wrap}
  .hero-grid{display:grid;grid-template-columns:1.05fr .92fr;gap:54px;align-items:center}
  .hero-grid h1{font-size:52px;max-width:none;margin-bottom:20px}
  .hero-grid p.lead{max-width:470px;margin-bottom:26px}
  .hero-form{background:rgba(255,255,255,.97);border-radius:4px;padding:34px 32px;box-shadow:0 30px 70px rgba(8,22,31,.45)}
  .hero-form h3{font-family:'Cormorant Garamond';font-size:31px;color:var(--navy);margin-bottom:2px}
  .hero-form .sub{font-size:13px;color:var(--muted);margin-bottom:14px}
  .hero-form label{margin:12px 0 6px}
  .hero-form .btn{width:100%;border:none;margin-top:18px}
  @media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:34px}.hero-grid h1{font-size:40px}}
  @media(max-width:680px){.hero-grid h1{font-size:36px}}

  /* STRIP confiance */
  .strip{background:var(--navy);color:#fff}
  .strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:34px 32px;text-align:center}
  .strip .it{flex:1;min-width:150px}
  .strip .it .n{font-family:'Cormorant Garamond';font-size:38px;color:var(--cyan);line-height:1}
  .strip .it .t{font-size:13px;letter-spacing:.5px;color:#b9c6d0;margin-top:6px}

  /* SECTION base */
  section.s{padding:110px 0}
  .head{max-width:680px;margin-bottom:60px}
  .head.center{margin-left:auto;margin-right:auto;text-align:center}
  .head h2{font-size:46px;margin:14px 0 0}
  .head p{color:var(--muted);font-size:18px;margin-top:18px;font-weight:300}

  /* APPROCHE — éditorial 2 col */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
  .split .imgcol{position:relative;aspect-ratio:4/5;background:var(--paper2) center/cover no-repeat;border-radius:3px;overflow:hidden}
  .split .imgcol img{width:100%;height:100%;object-fit:cover;display:block}
  .split h2{font-size:42px;margin-bottom:22px}
  .split p{color:var(--muted);margin-bottom:18px;font-size:16.5px}
  .ticks{list-style:none;margin-top:26px}
  .ticks li{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:14px;align-items:baseline;font-size:16px;color:var(--ink)}
  .ticks li::before{content:"—";color:var(--cyan-d);font-weight:600}
  @media(max-width:880px){.split{grid-template-columns:1fr;gap:40px}}

  /* PRESTATIONS — grille */
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:10px}
  .card{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:.3s}
  .card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(15,42,58,.12)}
  .card .ph{aspect-ratio:3/2;background:var(--paper2) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#a9b6bf;font-size:12.5px;letter-spacing:.5px;border-bottom:1px solid var(--line)}
  .card .body{padding:28px 28px 32px}
  .card h3{font-size:25px;margin-bottom:8px}
  .card p{color:var(--muted);font-size:15px}
  @media(max-width:880px){.grid3{grid-template-columns:1fr}}

  .tags{margin-top:46px;text-align:center}
  .tags span{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:30px;padding:9px 20px;margin:5px;font-size:13.5px;letter-spacing:.3px}

  /* RÉALISATIONS */
  .reno{background:var(--paper2)}
  .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
  .gal .cell{aspect-ratio:1;background:#dfd9cf center/cover no-repeat;border-radius:3px;position:relative;overflow:hidden}
  .gal .cell.tall{grid-row:span 2;aspect-ratio:auto}
  .gal .cell img{width:100%;height:100%;object-fit:cover;display:block}
  .gal .cap{position:absolute;left:0;bottom:0;right:0;padding:16px 18px;background:linear-gradient(transparent,rgba(10,31,44,.82));color:#fff;font-size:13.5px;letter-spacing:.3px}
  .gal .ai{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8a96a0;font-size:12.5px;letter-spacing:.5px;text-align:center;padding:10px}
  @media(max-width:880px){.gal{grid-template-columns:1fr 1fr}.gal .cell.tall{grid-row:auto;aspect-ratio:1}}

  /* PROCESS */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px}
  .steps .st{padding:0 30px;border-left:1px solid var(--line)}
  .steps .st:first-child{padding-left:0;border-left:none}
  .steps .st .no{font-family:'Cormorant Garamond';font-size:30px;color:var(--cyan-d);margin-bottom:14px}
  .steps .st h3{font-size:22px;margin-bottom:8px}
  .steps .st p{color:var(--muted);font-size:14.5px}
  @media(max-width:880px){.steps{grid-template-columns:1fr 1fr;gap:34px 24px}.steps .st{border-left:none;padding:0}}

  /* TÉMOIGNAGES */
  .testi{background:var(--navy);color:#fff}
  .testi .head h2{color:#fff}
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:10px}
  .tcard{border:1px solid rgba(255,255,255,.14);border-radius:3px;padding:32px}
  .tcard .q{font-family:'Cormorant Garamond';font-size:22px;line-height:1.4;color:#eef4f7;font-style:italic}
  .tcard .who{margin-top:20px;font-size:13px;letter-spacing:.5px;color:var(--cyan)}
  .stars{color:var(--cyan);letter-spacing:3px;margin-bottom:16px;font-size:14px}
  @media(max-width:880px){.testi-grid{grid-template-columns:1fr}}

  /* SUIVI DE CHANTIER */
  .suivi{background:var(--paper2)}
  .dash{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px;box-shadow:0 30px 60px rgba(15,42,58,.10)}
  .dash .dhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}
  .dash .dhead .t{font-family:'Inter';font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--navy);font-weight:600}
  .dash .dhead .live{font-size:11px;color:var(--cyan-d);display:flex;align-items:center;gap:7px;font-weight:500}
  .dash .dhead .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan)}
  .dash .ktiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:22px}
  .dash .kt{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:13px 14px}
  .dash .kt .l{font-size:9.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
  .dash .kt .v{font-family:'Cormorant Garamond';font-size:27px;color:var(--cyan-d);line-height:1;margin-top:4px}
  .dash .kt .v.sm{font-family:'Inter';font-size:14px;font-weight:600;color:var(--navy);margin-top:7px}
  .dash .pr{margin-bottom:13px}
  .dash .pr .pl{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink);margin-bottom:5px}
  .dash .pr .pl span:last-child{color:var(--muted);font-size:11.5px}
  .dash .bar{height:8px;background:#eef1f3;border-radius:6px;overflow:hidden}
  .dash .bar i{display:block;height:100%;background:var(--cyan);border-radius:6px}
  .dash .plan{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
  .dash .plan .bar i{background:linear-gradient(90deg,var(--cyan),var(--navy))}

  /* PARTENAIRES */
  .partners{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .plogos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 44px;margin-top:8px}
  .plogo{height:62px;min-width:130px;display:flex;align-items:center;justify-content:center;padding:10px 20px;border:1px dashed var(--line);border-radius:6px;background:var(--paper);color:#9aa7b0;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}
  .plogo img{max-height:48px;max-width:150px;width:auto;object-fit:contain;display:block;filter:grayscale(1);opacity:.85;transition:.25s}
  .plogo img:hover{filter:grayscale(0);opacity:1}
  .pnote{text-align:center;color:var(--muted);font-size:13.5px;margin-top:26px}

  /* CONTACT */
  .contact .split{align-items:stretch}
  .contact .form{background:#fff;border:1px solid var(--line);border-radius:3px;padding:42px}
  .contact h2{font-size:44px}
  .contact .info{padding-top:10px}
  .contact .info .row{padding:18px 0;border-bottom:1px solid var(--line)}
  .contact .info .row .k{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan-d)}
  .contact .info .row .v{font-size:18px;color:var(--navy);margin-top:4px}
  form label{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:18px 0 7px}
  form input,form select,form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:2px;font-family:'Inter';font-size:15px;font-weight:300;background:var(--paper);color:var(--ink)}
  form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--cyan)}
  form .rgpd{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted);margin-top:16px}
  form .rgpd input{width:auto;margin-top:4px}
  form .btn{width:100%;margin-top:20px;border:none}

  /* FOOTER */
  footer{background:var(--navy-d);color:#9fb0bb;padding:60px 0 30px;font-size:14px;font-weight:300}
  footer .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
  footer img{height:42px;margin-bottom:14px}
  footer h4{font-family:'Inter';font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:600}
  footer a:hover{color:var(--cyan)}
  footer .bot{padding-top:22px;font-size:12px;color:#6d808c;text-align:center}
