/* gintáqua — feuille de style issue de la maquette (docs/maquette-site-gintaqua.html).
   Les photos de fond sont passées par la variable --photo, posée par les blocs. */
/* gintáqua · feuille de style (polices hébergées sur le site) */
@font-face{font-family:'Inter';src:url('../fonts/inter-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('../fonts/montserrat-latin.woff2') format('woff2');font-weight:500 900;font-style:normal;font-display:swap;}
:root{
    --dark1:#0b1510;
    --dark2:#182a1f;
    --lime:#c3d61a;
    --lime-dark:#a3b510;
    --ink:#151d17;
    --body:#4a544d;
    --muted:#7c867f;
    --cream:#f4f6f1;
    --white:#ffffff;
    --line:#e3e7de;
    --radius:16px;
    --maxw:1290px;
    --maxw-narrow:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--white);color:var(--body);
    font-family:'Inter',sans-serif;font-size:16.5px;line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4,h5,h6{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--ink);line-height:1.2;margin:0;}
  .wrap{max-width:var(--maxw-narrow);margin:0 auto;padding:0 24px;}
  .wrap-wide{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

  .btn{
    display:inline-flex;align-items:center;gap:9px;
    padding:18px 34px;border-radius:0;
    font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;
    border:2px solid transparent;cursor:pointer;transition:all .18s ease;
  }
  .btn-lime{background:var(--lime);color:var(--ink);}
  .btn-lime:hover{background:var(--lime-dark);}
  .btn-outline-dark{border-color:var(--ink);color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink);color:var(--white);border-color:var(--ink);}
  .btn-outline-lime{border-color:var(--lime);color:var(--ink);}
  .btn-outline-lime:hover{border-color:#444;}
  .btn-white-text{color:var(--white);}
  .btn-white-text:hover{color:var(--lime);}
  a:focus-visible,button:focus-visible{outline:2px solid var(--lime-dark);outline-offset:2px;}

  .divider-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
  .divider-eyebrow hr{border:none;border-top:3px solid var(--lime);width:40px;margin:0;}
  .divider-eyebrow span{font-size:14px;font-weight:600;color:var(--muted);text-transform:lowercase;}
  .divider-eyebrow.center{justify-content:center;}

  /* ===== HEADER ===== */
  header.site-header{position:sticky;top:0;z-index:60;background:var(--white);box-shadow:0 1px 8px rgba(0,0,0,.05);}
  .nav{max-width:var(--maxw);margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;}
  .logo{display:flex;flex-direction:column;line-height:1;}
  .logo-word{font-family:'Montserrat',sans-serif;font-weight:900;font-size:24px;color:var(--ink);letter-spacing:-0.02em;}
  .logo-tag{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-top:2px;}
  .logo-img{display:block;height:52px;width:auto;}
  @media (max-width:600px){.logo-img{height:40px;}}
  .nav-links{display:flex;gap:2px;list-style:none;margin:0;padding:0;}
  .nav-links a{font-size:16px;font-weight:600;color:var(--muted);padding:10px 14px;display:block;}
  .nav-links a:hover, .nav-links a.active{color:var(--ink);}
  /* sous-menu Services */
  .has-sub{position:relative;}
  .sub-trigger{display:flex !important;align-items:center;gap:6px;}
  .caret{width:10px;height:6px;transition:transform .25s ease;}
  .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:0;min-width:230px;background:var(--white);box-shadow:0 12px 28px rgba(0,0,0,.1);border-top:3px solid var(--lime);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;z-index:70;}
  .sub-menu a{font-size:15px !important;padding:10px 20px !important;color:var(--muted);}
  .sub-menu a:hover{color:var(--ink);background:#f4f5f2;box-shadow:inset 3px 0 0 var(--lime);}
  @media (min-width:1101px){
    .has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease;}
    .has-sub:hover .caret,.has-sub:focus-within .caret{transform:rotate(180deg);}
  }
  @media (max-width:1100px){
    .caret{display:none;}
    .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;border-left:3px solid var(--lime);min-width:0;padding:0;margin:2px 0 8px 14px;transition:none;}
    .sub-menu a{padding:7px 16px !important;}
  }
  .nav-toggle{display:none;background:none;border:1px solid var(--ink);width:42px;height:42px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
  .nav-toggle span{width:18px;height:2px;background:var(--ink);}
  @media (max-width:1100px){
    .nav-links{position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;align-items:flex-start;padding:20px 24px;gap:4px;display:none;box-shadow:0 8px 12px rgba(0,0,0,.05);}
    .nav-links.open{display:flex;}
    .nav-toggle{display:flex;}
    .nav-cta .btn{padding:12px 20px;font-size:14px;}
  }
  .nav-cta{display:flex;align-items:center;gap:16px;}

  /* ===== HERO (overlapping card over full-bleed image) ===== */
  .hero-outer{position:relative;background:var(--cream);}
  .hero-bgsplit{display:grid;grid-template-columns:1fr 1fr;min-height:600px;}
  @media (max-width:920px){.hero-bgsplit{grid-template-columns:1fr;min-height:auto;}}
  .hero-bgsplit .left-empty{background:var(--cream);}
  .hero-bgsplit .right-photo{
    position:relative;overflow:hidden;
    background:#233a29 var(--photo, none) center/cover no-repeat;
  }
  @media (max-width:920px){.hero-bgsplit .right-photo{min-height:320px;}}
  .hero-card-row{
    position:relative;margin-top:-600px;
  }
  @media (max-width:920px){.hero-card-row{margin-top:0;}}
  .hero-card-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:600px;}
  @media (max-width:920px){.hero-card-grid{grid-template-columns:1fr;min-height:auto;}}
  .hero-card{
    background:var(--white);box-shadow:0 0 14px rgba(0,0,0,.14);
    padding:60px;position:relative;z-index:2;
  }
  @media (min-width:921px){.hero-card{margin-right:-60px;}}
  @media (max-width:767px){.hero-card{padding:32px;}}
  .hero-card h1{font-size:44px;line-height:1.2;margin:14px 0 20px;}
  @media (max-width:767px){.hero-card h1{font-size:32px;}}
  .hero-card p.lede{color:var(--muted);margin:0 0 26px;max-width:44ch;}
  .hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
  .hero-call{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:var(--ink);}
  .hero-card-right-empty{min-height:1px;}

  /* ===== SERVICES INTRO SPLIT (28/72) ===== */
  .services-intro{padding:80px 0;}
  .si-grid{display:grid;grid-template-columns:28% 72%;gap:0 40px;}
  @media (max-width:920px){.si-grid{grid-template-columns:1fr;gap:32px 0;}}
  .si-left h3{font-size:30px;margin:10px 0 14px;}
  .si-left p{color:var(--muted);margin:0 0 22px;}
  .si-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:700px){.si-icons{grid-template-columns:1fr;}}
  .si-icon-card{text-align:left;}
  .si-icon-circle{width:60px;height:60px;border-radius:50%;background:var(--lime);display:grid;place-items:center;margin-bottom:16px;}
  .si-icon-circle svg{width:26px;height:26px;stroke:var(--ink);}
  .si-icon-card h3{font-size:18px;margin-bottom:8px;}
  .si-icon-card p{font-size:14px;color:var(--muted);margin:0;}

  /* ===== EXPERIENCE BAND (55/45, image + stat / text + checklist) ===== */
  .experience-band{background:var(--cream);padding:80px 0;}
  .exp-grid{display:grid;grid-template-columns:55% 45%;gap:0;align-items:center;}
  @media (max-width:920px){.exp-grid{grid-template-columns:1fr;gap:32px;}}
  .exp-photo-col{display:flex;flex-direction:column;}
  .exp-photo{
    aspect-ratio:16/11;border-radius:0;position:relative;overflow:hidden;
    background:linear-gradient(150deg,#2b4433,#0f1c14);
  }
  .exp-stat{background:var(--dark1);color:var(--white);padding:34px 40px;display:inline-block;align-self:flex-start;margin-top:-1px;}
  .exp-stat .num{font-size:42px;font-weight:900;line-height:1;}
  .exp-stat .label{font-size:14px;color:#c6ccc4;margin-top:6px;}
  .exp-text{padding-left:48px;}
  @media (max-width:920px){.exp-text{padding-left:0;}}
  .exp-text h2{font-size:32px;margin:10px 0 18px;}
  .exp-text p{color:var(--muted);margin:0 0 20px;}
  .check-list{list-style:none;margin:0;padding:0;}
  .check-list li{display:flex;gap:10px;align-items:center;padding:5px 0;font-size:15px;color:var(--ink);}
  .check-list li svg{width:14px;height:14px;fill:var(--lime-dark);flex:none;}

  /* ===== DARK 2-COL BAND (services quality + counters) ===== */
  .dark-band{background:var(--dark1);padding:80px 0;}
  .db-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
  @media (max-width:860px){.db-grid{grid-template-columns:1fr;}}
  .db-left h2{color:var(--white);font-size:32px;margin-top:10px;}
  .db-left .divider-eyebrow span{color:#c6ccc4;}
  .db-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;}
  @media (max-width:600px){.db-counters{grid-template-columns:1fr;}}
  .db-counters .num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:48px;color:var(--lime);line-height:1;}
  .db-counters .label{color:#c6ccc4;font-size:14px;font-weight:600;margin-top:8px;}

  /* ===== SERVICES GRID (3-col nested masonry) ===== */
  .services-grid-section{padding:90px 0;}
  .sg-head{text-align:center;max-width:600px;margin:0 auto 44px;}
  .sg-head h2{font-size:32px;margin-top:10px;}
  .sg-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
  @media (max-width:920px){.sg-columns{grid-template-columns:1fr;}}
  .sg-item{display:grid;grid-template-columns:110px 1fr;gap:16px;margin-bottom:20px;}
  .sg-photo{aspect-ratio:1/1;overflow:hidden;background-size:cover;background-position:center;}
  .sg-photo.p1{background:repeating-linear-gradient(115deg,#4a6472 0 3px,#33454f 3px 30px);}
  .sg-photo.p2{background:repeating-linear-gradient(115deg,#7a5a3a 0 3px,#5c4229 3px 30px);}
  .sg-photo.p3{background:repeating-linear-gradient(115deg,#5c6d63 0 3px,#455349 3px 30px);}
  .sg-photo.p5{background:repeating-linear-gradient(115deg,#7d6b55 0 3px,#5f503f 3px 30px);}
  .sg-photo.p6{background:repeating-linear-gradient(115deg,#6a5a4a 0 3px,#4d4135 3px 30px);}
  .sg-photo.p4{background:repeating-linear-gradient(115deg,#6b7a5c 0 3px,#525e45 3px 30px);}
  .sg-photo.tall{background:repeating-linear-gradient(115deg,#5a6a7a 0 3px,#3f4c58 3px 40px);aspect-ratio:auto;height:100%;min-height:420px;}
  .sg-text h3{font-size:16px;margin-bottom:6px;}
  .sg-text p{font-size:13.5px;color:var(--muted);margin:0 0 8px;}
  .sg-text a:hover{color:var(--lime-dark);}
  .sg-text a{font-size:12.5px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--lime);padding-bottom:2px;}

  /* ===== WHY CHOOSE (3-col icon-left) ===== */
  .why-band{background:var(--cream);padding:90px 0;}
  .wb-head{text-align:center;max-width:600px;margin:0 auto 44px;}
  .wb-head h2{font-size:32px;margin-top:10px;}
  .wb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:860px){.wb-grid{grid-template-columns:1fr;}}
  .wb-item{padding:32px;background:var(--white);}
  .wb-icon{width:44px;height:44px;flex:none;}
  .wb-icon svg{width:44px;height:44px;stroke:var(--lime-dark);}
  .wb-item h3{font-size:17px;margin-bottom:6px;}
  .wb-item p{font-size:14px;color:var(--muted);margin:0;}

  /* ===== TESTIMONIALS (3-col, quote-left) ===== */
  .testi-band{background:var(--white);padding:90px 0;}
  .tb-head{text-align:center;max-width:600px;margin:0 auto 44px;}
  .tb-head h2{font-size:32px;margin-top:10px;}
  .tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
  @media (max-width:860px){.tb-grid{grid-template-columns:1fr;}}
  .quote-icon{width:34px;height:34px;fill:var(--lime);margin-bottom:22px;}
  .tb-item blockquote{margin:0 0 24px;font-style:italic;font-size:15px;color:var(--body);}
  .tb-person{display:flex;align-items:center;gap:12px;}
  .tb-avatar{width:48px;height:48px;border-radius:50%;background:var(--cream);flex:none;}
  .tb-person .name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--ink);}
  .tb-person .loc{font-size:12.5px;color:var(--muted);}

  /* ===== TRUST / BADGE STRIP ===== */
  .badge-strip{background:var(--cream);padding:40px 0;}
  .badge-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px 40px;align-items:center;}
  .badge-row span{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--muted);letter-spacing:.02em;text-transform:uppercase;opacity:.75;}

  /* ===== FAQ + CTA (50/50) ===== */
  .faqcta-band{padding:90px 0;}
  .fc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  @media (max-width:900px){.fc-grid{grid-template-columns:1fr;gap:36px;}}
  .fc-left h2{font-size:30px;margin:10px 0 18px;}
  .fc-left p{color:var(--muted);margin:0 0 26px;max-width:44ch;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;
    font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;color:var(--ink);
    
  }
  .faq-q .plus{flex:none;width:16px;height:16px;position:relative;}
  .faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--ink);top:50%;left:50%;transform:translate(-50%,-50%);}
  .faq-q .plus::before{width:14px;height:2px;}
  .faq-q .plus::after{width:2px;height:14px;transition:transform .2s ease,opacity .2s ease;}
  .faq-item.open .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
  .faq-item.open .faq-q{color:var(--lime-dark);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{margin:0 0 20px;color:var(--muted);font-size:14.5px;}
  .faq-item.open .faq-a{max-height:200px;}

  /* ===== BOTTOM DARK CTA BAR (44/30/26) ===== */
  .cta-bar{background:var(--dark1);padding:56px 0;}
  .cb-grid{display:grid;grid-template-columns:44% 30% 26%;gap:30px;align-items:center;}
  @media (max-width:860px){.cb-grid{grid-template-columns:1fr;text-align:center;gap:22px;}}
  .cb-grid h2{color:var(--white);font-size:26px;}
  .cb-grid .divider-eyebrow span{color:#c6ccc4;}
  .cb-phone{display:flex;align-items:center;gap:14px;}
  @media (max-width:860px){.cb-phone{justify-content:center;}}
  .cb-phone-icon{width:50px;height:50px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex:none;}
  .cb-phone-icon svg{width:20px;height:20px;stroke:var(--ink);}
  .cb-phone .label{font-size:13px;color:#b7bfb3;}
  .cb-phone .number{font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:var(--white);}
  .cb-btn-col{text-align:right;}
  @media (max-width:860px){.cb-btn-col{text-align:center;}}

  /* ===== FOOTER (simple single row) ===== */
  footer{background:var(--cream);padding:24px 0;}
  .footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
  .footer-inner .logo-word{color:var(--ink);font-size:20px;}
  .footer-logo{display:block;height:46px;width:auto;}
  .footer-inner p{font-size:13.5px;color:var(--muted);margin:0;}

  /* ===== pages métiers ===== */
  .trade-page[hidden], main[hidden]{display:none !important;}
  .tp-hero{background:var(--dark1);color:#c9d2cb;padding:70px 0 80px;}
  .tp-hero h1{color:var(--white);font-size:clamp(32px,4.6vw,54px);font-weight:800;max-width:820px;margin:6px 0 20px;}
  .tp-hero p{max-width:640px;font-size:18px;margin:0 0 32px;}
  .tp-hero .divider-eyebrow span{color:var(--lime);}
  .tp-back{display:inline-block;font-size:14px;font-weight:600;color:#9aa69d;margin-bottom:28px;}
  .tp-back:hover{color:var(--lime);}
  .tp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;}
  .tp-call{font-weight:600;color:var(--white);border-bottom:2px solid var(--lime);padding-bottom:2px;}
  .tp-services{padding:90px 0;}
  .tp-services h2,.tp-steps h2{font-size:clamp(26px,3vw,36px);margin-bottom:40px;}
  .tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:960px){.tp-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.tp-grid{grid-template-columns:1fr;}}
  .tp-card{background:var(--cream);padding:30px 28px;}
  .tp-card-icon{width:44px;height:44px;border-radius:50%;background:var(--lime);display:grid;place-items:center;margin-bottom:18px;}
  .tp-card-icon svg{width:20px;height:20px;stroke:var(--ink);}
  .tp-card h3{font-size:19px;margin-bottom:8px;}
  .tp-card p{margin:0;font-size:15px;color:var(--body);line-height:1.6;}
  .tp-steps{background:var(--cream);padding:90px 0;}
  .tp-steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:none;}
  @media (max-width:960px){.tp-steps-list{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.tp-steps-list{grid-template-columns:1fr;}}
  .tp-steps-list li{padding-top:0;}
  .tp-num{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:40px;line-height:1;color:var(--lime-dark);margin-bottom:14px;}
  .tp-steps-list h3{font-size:18px;margin-bottom:6px;}
  .tp-steps-list p{margin:0;font-size:15px;line-height:1.6;}
  .tp-others{padding:50px 0 70px;border-top:1px solid var(--line);}
  .tp-others p{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
  .tp-others-links{display:flex;flex-wrap:wrap;gap:10px;}
  .tp-others-links a{padding:11px 18px;border:1px solid var(--line);font-weight:600;font-size:15px;color:var(--ink);transition:all .18s ease;}
  .tp-others-links a:hover{border-color:var(--lime);background:var(--lime);}
  .sub-menu a.active{color:var(--ink);box-shadow:inset 3px 0 0 var(--lime);}

  /* ===== pages métiers : blocs détaillés ===== */
  .ph{margin:0;position:relative;background:repeating-linear-gradient(135deg,#eef1ea 0 14px,#e6eae1 14px 28px);border:1px dashed #b9c2b3;display:grid;place-items:center;overflow:hidden;}
  .ph-inner{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:24px;color:#6e7a70;max-width:320px;}
  .ph-inner svg{width:30px;height:30px;}
  .ph-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
  .ph-label{font-size:14px;line-height:1.45;color:#4a544d;}
  .ph-dark{background:repeating-linear-gradient(135deg,#16251c 0 14px,#1b2c21 14px 28px);border-color:#3a4a3f;}
  .ph-dark .ph-inner{color:#9aa69d;} .ph-dark .ph-label{color:#c9d2cb;}
  .ph-hero{aspect-ratio:4/3;}
  .ph-intro{aspect-ratio:4/5;}
  .ph-feature{aspect-ratio:5/4;}
  .ph-gal{aspect-ratio:4/3;}
  .tp-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  @media (max-width:920px){.tp-hero-grid{grid-template-columns:1fr;gap:40px;}}
  .tp-intro{padding:90px 0 40px;}
  .tp-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;}
  @media (max-width:920px){.tp-intro-grid{grid-template-columns:1fr;gap:36px;} .ph-intro{aspect-ratio:16/10;}}
  .tp-intro h2{font-size:clamp(26px,3vw,38px);margin:6px 0 22px;}
  .tp-intro p{font-size:17px;margin:0 0 16px;max-width:620px;}
  .tp-features{padding:40px 0 90px;}
  .tp-features > .wrap-wide > h2{font-size:clamp(26px,3vw,36px);margin-bottom:56px;}
  .tp-feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:44px 0;}
  .tp-feature.rev .tp-feature-text{order:2;}
  @media (max-width:920px){.tp-feature{grid-template-columns:1fr;gap:28px;} .tp-feature.rev .tp-feature-text{order:0;}}
  .tp-feature-num{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;color:var(--lime-dark);letter-spacing:.08em;margin-bottom:10px;}
  .tp-feature h3{font-size:clamp(22px,2.2vw,28px);margin-bottom:16px;}
  .tp-feature p{margin:0 0 14px;}
  .tp-checks{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
  @media (max-width:600px){.tp-checks{grid-template-columns:1fr;}}
  .tp-checks li{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:15px;color:var(--ink);line-height:1.45;}
  .tp-checks svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--lime-dark);}
  .tp-tip-band{padding:0 0 90px;}
  .tp-tip{display:flex;gap:24px;align-items:flex-start;background:var(--ink);color:#c9d2cb;padding:40px 44px;max-width:980px;}
  @media (max-width:600px){.tp-tip{flex-direction:column;padding:30px 24px;}}
  .tp-tip-mark{flex:none;width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:20px;font-style:normal;}
  .tp-tip h3{color:var(--white);font-size:20px;margin-bottom:10px;}
  .tp-tip p{margin:0 0 10px;}
  .tp-tip p:last-child{margin-bottom:0;}
  .tp-gallery{padding:90px 0;}
  .tp-gallery h2{font-size:clamp(26px,3vw,36px);margin-bottom:36px;}
  .tp-gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;}
  .tp-gallery-grid .ph-gal:first-child{aspect-ratio:auto;grid-row:span 1;}
  @media (max-width:920px){.tp-gallery-grid{grid-template-columns:1fr 1fr;} .tp-gallery-grid .ph-gal:first-child{grid-column:1/-1;aspect-ratio:16/9;}}
  .tp-gallery-grid .ph-gal:nth-child(4){aspect-ratio:auto;}
  @media (max-width:920px){.tp-gallery-grid .ph-gal:nth-child(4){aspect-ratio:4/3;}}
  @media (max-width:600px){.tp-gallery-grid{grid-template-columns:1fr;}}
  .tp-cta{background:var(--lime);padding:56px 0;}
  .tp-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
  .tp-cta h2{font-size:clamp(24px,2.8vw,34px);margin-bottom:6px;}
  .tp-cta p{margin:0;color:var(--ink);}
  .tp-cta-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
  .tp-cta .btn-lime{background:var(--ink);color:var(--white);}
  .tp-cta .btn-lime:hover{background:#000;}
  .tp-cta .tp-call{color:var(--ink);border-color:var(--ink);}
  .faq-item.open .faq-a{max-height:420px;}

  /* ===== page Réalisations ===== */
  .rl-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2a3a2f;border:1px solid #2a3a2f;}
  .rl-hero-stats div{background:var(--dark2);padding:30px 22px;}
  .rl-hero-stats .num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:40px;line-height:1;color:var(--lime);}
  .rl-hero-stats .label{font-size:14px;color:#c6ccc4;margin-top:8px;}
  @media (max-width:500px){.rl-hero-stats{grid-template-columns:1fr;}}
  .rl-projects{padding:90px 0;}
  .rl-projects h2{font-size:clamp(26px,3vw,36px);margin-bottom:28px;}
  .rl-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
  .rl-filter{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;padding:10px 16px;background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .18s ease;}
  .rl-filter:hover{border-color:var(--lime);}
  .rl-filter.active{background:var(--ink);border-color:var(--ink);color:var(--white);}
  .rl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px;}
  @media (max-width:960px){.rl-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.rl-grid{grid-template-columns:1fr;}}
  .rl-card[hidden]{display:none;}
  .rl-card .ph{aspect-ratio:4/3;margin-bottom:16px;}
  .rl-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:4px 10px;margin-bottom:10px;}
  .rl-card h3{font-size:19px;margin-bottom:4px;}
  .rl-meta{font-size:13.5px;color:var(--muted);margin:0 0 8px;}
  .rl-card p.rl-desc{margin:0;font-size:15px;line-height:1.6;}
  .rl-empty{display:none;padding:30px;background:var(--cream);text-align:center;color:var(--muted);}
  .rl-empty.show{display:block;}
  .rl-ba{background:var(--cream);padding:90px 0;}
  .rl-ba h2{font-size:clamp(26px,3vw,36px);margin-bottom:12px;}
  .rl-ba > .wrap-wide > p{max-width:640px;margin:0 0 40px;}
  .rl-ba-item{margin-bottom:44px;}
  .rl-ba-item:last-child{margin-bottom:0;}
  .rl-ba-item h3{font-size:20px;margin-bottom:16px;}
  .rl-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:700px){.rl-ba-pair{grid-template-columns:1fr;}}
  .rl-ba-pair .ph{aspect-ratio:4/3;}
  .rl-ba-pair .ph.rl-ba-portrait{aspect-ratio:3/4;}
  .rl-ba-label{position:absolute;top:14px;left:14px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;background:var(--ink);color:var(--white);}
  .rl-ba-label.after{background:var(--lime);color:var(--ink);}
  .rl-wip{padding:90px 0;}
  .rl-wip h2{font-size:clamp(26px,3vw,36px);margin-bottom:12px;}
  .rl-wip > .wrap-wide > p{max-width:680px;margin:0 0 40px;}
  .rl-wip-sub{font-size:20px;margin:0 0 20px;}
  .rl-wip-grid + .rl-wip-sub{margin-top:56px;}
  .rl-wip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px;}
  @media (max-width:960px){.rl-wip-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.rl-wip-grid{grid-template-columns:1fr;}}
  .rl-wip-item{margin:0;}
  .rl-wip-item .ph{aspect-ratio:4/5;margin-bottom:14px;}
  .rl-wip-item figcaption{font-size:15px;line-height:1.55;}
  .rl-wip-item strong{display:block;font-family:'Montserrat',sans-serif;font-size:17px;margin-bottom:2px;}
  .rl-wip-num{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;color:var(--lime-dark);letter-spacing:.06em;margin-bottom:4px;}
  .rl-wip-alt{background:var(--cream);}
  .rl-case{padding:90px 0;}
  .rl-case-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
  @media (max-width:920px){.rl-case-grid{grid-template-columns:1fr;gap:36px;}}
  .rl-case h2{font-size:clamp(26px,3vw,36px);margin:6px 0 26px;}
  .rl-case .ph{aspect-ratio:16/10;}
  .rl-case .ph.rl-case-photo{aspect-ratio:4/5;}
  .rl-case-steps{display:grid;gap:22px;margin-top:28px;}
  .rl-case-steps h3{font-size:17px;margin-bottom:4px;color:var(--lime-dark);}
  .rl-case-steps p{margin:0;}
  .rl-facts{background:var(--ink);color:#c9d2cb;padding:34px;}
  .rl-facts h3{color:var(--white);font-size:18px;margin-bottom:18px;}
  .rl-facts dl{margin:0;display:grid;gap:14px;}
  .rl-facts dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);}
  .rl-facts dd{margin:2px 0 0;color:var(--white);font-weight:600;}
  .rl-facts blockquote{margin:26px 0 0;padding-top:22px;font-style:italic;}

  /* ===== page À propos ===== */
  .ab-values{padding:90px 0;}
  .ab-values h2,.ab-team h2,.ab-trades h2{font-size:clamp(26px,3vw,36px);margin-bottom:40px;}
  .ab-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:960px){.ab-values-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.ab-values-grid{grid-template-columns:1fr;}}
  .ab-value{border-top:4px solid var(--lime);background:var(--cream);padding:28px 24px;}
  .ab-value .n{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:32px;color:var(--lime-dark);line-height:1;margin-bottom:14px;}
  .ab-value h3{font-size:18px;margin-bottom:8px;}
  .ab-value p{margin:0;font-size:15px;line-height:1.6;}
  .ab-trades{padding:0 0 90px;}
  .ab-trades-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  @media (max-width:860px){.ab-trades-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.ab-trades-grid{grid-template-columns:1fr;}}
  .ab-trade{background:var(--white);padding:26px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:background .18s ease;}
  .ab-trade:hover{background:var(--lime);}
  .ab-trade strong{font-family:'Montserrat',sans-serif;font-size:17px;color:var(--ink);}
  .ab-trade span{font-size:14px;color:var(--muted);display:block;margin-top:2px;}
  .ab-trade:hover span{color:var(--ink);}
  .ab-trade .arrow{font-size:22px;color:var(--ink);}
  .ab-team{background:var(--cream);padding:90px 0;}
  .ab-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:960px){.ab-team-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:500px){.ab-team-grid{grid-template-columns:1fr;}}
  .ab-member .ph{aspect-ratio:1/1;margin-bottom:14px;background-color:var(--white);}
  .ab-member h3{font-size:17px;margin-bottom:2px;}
  .ab-member p{margin:0;font-size:14px;color:var(--muted);}
  .ab-zone{padding:90px 0;}
  .ab-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  @media (max-width:920px){.ab-zone-grid{grid-template-columns:1fr;gap:36px;}}
  .ab-zone h2{font-size:clamp(26px,3vw,36px);margin:6px 0 20px;}
  .ab-zone .ph{aspect-ratio:1/1;}
  .ab-commit{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px;}
  .ab-commit li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--ink);}
  .ab-commit svg{width:18px;height:18px;flex:none;margin-top:4px;stroke:var(--lime-dark);}

  /* ===== À propos : blocs SEO ===== */
  .ab-seo{padding:90px 0 40px;}
  .ab-seo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start;}
  @media (max-width:920px){.ab-seo-grid{grid-template-columns:1fr;gap:36px;}}
  .ab-seo h2{font-size:clamp(26px,3vw,38px);margin:6px 0 22px;}
  .ab-seo h3{font-size:20px;margin:30px 0 10px;}
  .ab-seo p{font-size:17px;margin:0 0 16px;max-width:720px;}
  .ab-seo-aside{background:var(--cream);padding:32px;border-top:4px solid var(--lime);position:sticky;top:110px;}
  @media (max-width:920px){.ab-seo-aside{position:static;}}
  .ab-seo-aside h3{margin:0 0 14px;font-size:18px;}
  .ab-seo-aside ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;}
  .ab-seo-aside li{display:flex;gap:10px;font-weight:600;color:var(--ink);font-size:15px;line-height:1.45;}
  .ab-seo-aside svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--lime-dark);}
  .ab-reno{background:var(--cream);padding:90px 0;}
  .ab-reno h2,.ab-exp h2,.ab-idf h2{font-size:clamp(26px,3vw,36px);margin-bottom:14px;}
  .ab-lead{max-width:720px;margin:0 0 40px;font-size:17px;}
  .ab-reno-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:960px){.ab-reno-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.ab-reno-grid{grid-template-columns:1fr;}}
  .ab-reno-card{background:var(--white);padding:28px 26px;}
  .ab-reno-card h3{font-size:18px;margin-bottom:8px;}
  .ab-reno-card p{margin:0;font-size:15px;line-height:1.6;}
  .ab-exp{padding:90px 0;}
  .ab-exp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;}
  @media (max-width:860px){.ab-exp-grid{grid-template-columns:1fr;}}
  .ab-exp-block{padding:30px 0;}
  .ab-exp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;}
  .ab-exp-head h3{font-size:21px;}
  .ab-exp-head a{font-size:13px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--lime);padding-bottom:1px;white-space:nowrap;}
  .ab-exp-block > p{margin:0 0 14px;font-size:15px;}
  .ab-exp-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
  @media (max-width:500px){.ab-exp-list{grid-template-columns:1fr;}}
  .ab-exp-list li{display:flex;gap:9px;font-size:14.5px;color:var(--ink);line-height:1.45;}
  .ab-exp-list svg{width:14px;height:14px;flex:none;margin-top:4px;stroke:var(--lime-dark);}
  .ab-idf{background:var(--dark1);color:#c9d2cb;padding:90px 0;}
  .ab-idf h2{color:var(--white);}
  .ab-idf .divider-eyebrow span{color:var(--lime);}
  .ab-idf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#24342a;border:1px solid #24342a;}
  @media (max-width:960px){.ab-idf-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.ab-idf-grid{grid-template-columns:1fr;}}
  .ab-dep{background:var(--dark1);padding:26px 24px;}
  .ab-dep-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:34px;line-height:1;color:var(--lime);}
  .ab-dep h3{color:var(--white);font-size:17px;margin:8px 0 10px;}
  .ab-dep p{margin:0;font-size:14px;line-height:1.6;color:#aab4ac;}
  .ab-idf-note{margin:28px 0 0;font-size:15px;max-width:760px;}

  /* À propos : sans séparateurs ni traits avant les titres */
  .trade-page[data-page="apropos"] .divider-eyebrow hr{display:none;}
  .trade-page[data-page="apropos"] .ab-exp-block{border-top:none;padding:22px 0;}
  .trade-page[data-page="apropos"] .ab-idf-grid{background:none;border:none;gap:16px;}
  .trade-page[data-page="apropos"] .ab-dep{background:var(--dark2);}
  .trade-page[data-page="apropos"] .faq-item{border-bottom:none;}

  /* Tirets verts devant les titres supprimés partout */
  .divider-eyebrow hr{display:none;}

  /* ===== page Contact ===== */
  .ct-main{padding:90px 0;}
  .ct-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
  @media (max-width:920px){.ct-grid{grid-template-columns:1fr;gap:40px;}}
  .ct-info h2,.ct-form-wrap h2{font-size:clamp(24px,2.6vw,32px);margin:6px 0 24px;}
  .ct-cards{display:grid;gap:14px;}
  .ct-card{display:flex;gap:16px;align-items:flex-start;background:var(--cream);padding:22px 22px;}
  .ct-ico{width:46px;height:46px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex:none;}
  .ct-ico svg{width:20px;height:20px;stroke:var(--ink);}
  .ct-card .k{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
  .ct-card .v{font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:var(--ink);word-break:break-word;}
  .ct-card .s{font-size:14px;color:var(--muted);margin-top:2px;}
  .ct-card a.v:hover{color:var(--lime-dark);}
  .ct-urgent{margin-top:22px;background:var(--ink);color:#c9d2cb;padding:26px;}
  .ct-urgent h3{color:var(--white);font-size:18px;margin-bottom:8px;}
  .ct-urgent p{margin:0 0 14px;font-size:15px;}
  .ct-form-wrap{background:var(--white);box-shadow:0 0 14px rgba(0,0,0,.1);padding:44px;}
  @media (max-width:600px){.ct-form-wrap{padding:26px;}}
  .ct-form-wrap > p{margin:-12px 0 26px;color:var(--muted);}
  .ct-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px;}
  @media (max-width:600px){.ct-form{grid-template-columns:1fr;}}
  .ct-field{display:flex;flex-direction:column;gap:6px;}
  .ct-field.full{grid-column:1/-1;}
  .ct-field label{font-size:14px;font-weight:600;color:var(--ink);}
  .ct-field label .req{color:var(--lime-dark);}
  .ct-field input,.ct-field select,.ct-field textarea{font:inherit;font-size:15px;color:var(--ink);background:#fafbf8;border:1px solid var(--line);padding:13px 14px;border-radius:0;width:100%;}
  .ct-field textarea{min-height:140px;resize:vertical;}
  .ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--lime-dark);background:var(--white);box-shadow:0 0 0 3px rgba(195,214,26,.25);}
  .ct-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .ct-chips label{cursor:pointer;}
  .ct-chips input{position:absolute;opacity:0;pointer-events:none;}
  .ct-chips span{display:inline-block;padding:9px 14px;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink);transition:all .15s ease;}
  .ct-chips input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--white);}
  .ct-chips input:focus-visible + span{outline:2px solid var(--lime-dark);outline-offset:2px;}
  .ct-submit{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px;}
  .ct-submit .btn{border:none;}
  .ct-note{font-size:13px;color:var(--muted);margin:0;}
  .ct-msg{grid-column:1/-1;display:none;padding:14px 16px;font-size:14.5px;}
  .ct-msg.err{display:block;background:#fbeaea;color:#8a2a2a;}
  .ct-msg.ok{display:block;background:#f1f6d6;color:var(--ink);}
  .ct-zone{background:var(--cream);padding:80px 0;}
  .ct-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  @media (max-width:920px){.ct-zone-grid{grid-template-columns:1fr;gap:32px;}}
  .ct-zone h2{font-size:clamp(24px,2.6vw,32px);margin:6px 0 18px;}
  .ct-zone .ph{aspect-ratio:16/11;}
  .ct-deps{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .ct-deps span{background:var(--white);padding:8px 12px;font-weight:600;font-size:14px;color:var(--ink);}

  /* Photos du bloc "Services que nous proposons" */
  .sg-photo.p1{background:#33454f var(--photo, none) center/cover no-repeat;}
  .sg-photo.p3{background:#33454f var(--photo, none) center/cover no-repeat;}
  .sg-photo.p5{background:#33454f var(--photo, none) center/cover no-repeat;}
  .sg-photo.p2{background:#33454f var(--photo, none) center/cover no-repeat;}
  .sg-photo.p4{background:#33454f var(--photo, none) center/cover no-repeat;}
  .sg-photo.p6{background:#4d4135 var(--photo, none) center/cover no-repeat;}
  .sg-photo.tall{background:#3f4c58 var(--photo, none) center/cover no-repeat;}
  .ph.has-img{background:none;border:none;}
  .ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  /* À propos : bloc CTA à droite du hero */
  .ab-hero-cta{background:var(--dark2);padding:36px;display:flex;flex-direction:column;gap:16px;}
  .ab-hero-cta h2{color:var(--white);font-size:24px;margin:0;}
  .ab-hero-cta p{margin:0 0 6px;font-size:16px;}
  .ab-hero-cta .btn{text-align:center;justify-content:center;}
  .ab-hero-line{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);color:var(--white);}
  .ab-hero-line .ic{width:42px;height:42px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex:none;}
  .ab-hero-line .ic svg{width:18px;height:18px;stroke:var(--ink);}
  .ab-hero-line .k{display:block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9aa69d;}
  .ab-hero-line .v{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;word-break:break-word;}
  .ab-hero-line:hover .v{color:var(--lime);}
  @media (max-width:600px){.ab-hero-cta{padding:26px;}}
  /* Contact : carte Île-de-France */
  .ct-map{margin:0;}
  .ct-map figcaption{margin-top:10px;font-size:13.5px;color:var(--muted);text-align:center;}
  .idf-map{width:100%;height:auto;display:block;}
  .idf-map .dep{fill:#ffffff;stroke:#b9c2b3;stroke-width:1.2;stroke-linejoin:round;transition:fill .15s;}
  .idf-map .dep.pc{fill:#e9eddf;}
  .idf-map .dep:hover{fill:#f1f6d6;}
  .idf-map .pin path{fill:#c3d61a;stroke:#151d17;stroke-width:1.6;}
  .idf-map .pin circle{fill:#151d17;}
  .idf-map .lbl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;fill:#151d17;}
  .idf-map .lbl .n{fill:#6e7a70;font-weight:800;}
  .idf-map .lbl{paint-order:stroke;stroke:#ffffff;stroke-width:3px;stroke-linejoin:round;}
  .idf-map .lbl.sm{font-size:11px;font-weight:800;}


/* ================= Compléments (refonte SEO et ergonomie) ================= */
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;}
h1,h2,h3,h4,h5,h6,.btn{font-family:'Montserrat',system-ui,Arial,sans-serif;}
html{scroll-padding-top:110px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}
.ico{width:1em;height:1em;flex:none;}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:10px 16px;font-weight:600;}
.skip:focus{top:12px;}
.btn{text-transform:none;}

/* Barre supérieure */
.topbar{background:var(--dark1);color:#c6ccc4;font-size:14px;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;}
.topbar p{margin:0;}
.topbar-links{display:flex;gap:26px;list-style:none;margin:0;padding:0;}
.topbar-links a{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-weight:500;}
.topbar-links a:hover{color:var(--lime);}
.topbar-links .ico{color:var(--lime);}
@media (max-width:900px){.topbar p{display:none;}.topbar-inner{justify-content:center;}}
@media (max-width:767px){.topbar{display:none;}}

/* En-tête */
.site-header .nav{padding:14px 24px;gap:20px;position:relative;}
.logo{flex:none;}
.logo-img{height:54px;width:auto;}
.nav-links>li>a.active{color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime);}
.nav-mobile-only{display:none!important;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-toggle span{transition:transform .2s,opacity .2s;}
@media (max-width:1100px){
  .nav-links{max-height:calc(100vh - 82px);overflow-y:auto;padding-bottom:24px!important;}
  .nav-links>li{width:100%;border-bottom:1px solid var(--line);}
  .nav-links>li>a.active{box-shadow:none;}
  .nav-mobile-only{display:block!important;border-bottom:0!important;margin-top:8px;}
  .nav-mobile-only a{display:inline-flex!important;align-items:center;gap:10px;color:var(--ink)!important;font-family:'Montserrat',system-ui,sans-serif;font-weight:800;}
  .nav-mobile-only .ico{color:var(--lime-dark);}
  .nav-toggle{display:flex;}
}
@media (max-width:600px){.logo-img{height:42px;}.nav-cta .btn{display:none;}}

/* Fil d'Ariane */
.crumbs{margin-bottom:24px;font-size:14px;}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0;color:#9aa69d;}
.crumbs li+li::before{content:"›";margin-right:8px;color:#6e7a70;}
.crumbs a{color:#c9d2cb;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;}
.crumbs a:hover{color:var(--lime);}
.crumbs [aria-current]{color:var(--lime);}

/* Accueil */
.hero-kicker{font-family:'Montserrat',system-ui,sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-dark);margin:0 0 12px;}
.hero-card .hero-actions{gap:14px 20px;}
.hero-bgsplit .right-photo img,.exp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-bgsplit .right-photo{background:#233a29;}
.exp-photo{background:#233a29;}
.cb-tel{color:inherit;}
.cb-tel:hover .number{color:var(--lime);}
.faq-a a,.prose a,.ab-idf-note a,.ct-check a,.ct-msg a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:3px;}
.ab-idf-note a{color:var(--lime);}

/* Pages métiers sans photo */
.tp-feature.no-media{grid-template-columns:1fr;max-width:860px;}
.tp-intro-grid.no-media{grid-template-columns:1fr;}
.tp-intro-grid.no-media>div{max-width:820px;}
.nowrap{white-space:nowrap;}
.cb-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;}
@media (max-width:860px){.cb-grid{grid-template-columns:1fr;}}
.tp-hero-sm{padding:56px 0 64px;}
.tp-hero-sm h1{font-size:clamp(30px,4vw,46px);}
.tp-others{background:var(--white);}

/* À propos et zones */
.ab-idf-short{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.ab-idf-short .ct-deps span{background:var(--dark2);color:var(--white);}
@media (max-width:920px){.ab-idf-short{grid-template-columns:1fr;gap:28px;}}
.city-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.city-list li{background:var(--cream);color:var(--ink);font-weight:600;font-size:14px;padding:7px 12px;}
.zone-svc{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:0!important;}
.zone-svc li{display:block!important;}
.zone-svc a{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-weight:600;color:var(--ink);}
.zone-svc a::after{content:"→";color:var(--lime-dark);}
.zone-svc a:hover{color:var(--lime-dark);}
.ct-zone-link{margin:26px 0 0;}
.rl-facts-btn{margin-top:26px;}

/* Contact */
.ct-check{flex-direction:row!important;align-items:flex-start;gap:12px!important;}
.ct-check input{width:20px!important;height:20px;flex:none;margin-top:2px;accent-color:var(--lime-dark);}
.ct-check label{font-weight:400!important;color:var(--body)!important;line-height:1.5;}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
.ct-msg[hidden]{display:none!important;}
.ct-msg.err:not([hidden]){display:block;}
.ct-form-wrap h2{scroll-margin-top:120px;}
/* Les boutons radio masqués des délais héritaient de width:100 % et
   débordaient à 360 px (défaut de la maquette). */
.ct-chips input{width:1px!important;height:1px;}

/* Pied de page */
.site-footer{background:var(--dark1);color:#aab4ac;padding:0;font-size:15px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:48px;padding-top:70px;padding-bottom:56px;}
.f-logo img{height:58px;width:auto;margin-bottom:22px;}
.f-brand p{max-width:360px;margin:0;}
.f-title{font-family:'Montserrat',system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--white);margin:0 0 16px;}
.f-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.f-col a{color:#c6ccc4;}
.f-col a:hover,.f-contact a:hover,.fb-inner a:hover{color:var(--lime);}
.f-zone{margin:0 0 22px;line-height:1.6;}
.f-btn{padding:14px 22px;font-size:14px;}
.f-col .f-btn{color:var(--ink);}
.f-contact{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;}
.f-contact li{display:flex;gap:12px;align-items:flex-start;}
.f-contact .ico{color:var(--lime);width:18px;height:18px;margin-top:.2em;}
.f-contact a{color:var(--white);font-weight:600;}
.footer-bottom{background:#060d09;font-size:14px;}
.fb-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 28px;padding-top:18px;padding-bottom:18px;}
.fb-inner p{margin:0;}
.f-legal{display:flex;flex-wrap:wrap;gap:6px 24px;list-style:none;margin:0;padding:0;}
.f-legal a,.f-credit a{color:var(--white);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;}
@media (max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px;}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr;gap:34px;padding-top:50px;padding-bottom:40px;}.fb-inner{flex-direction:column;align-items:flex-start;}}

/* Barre d'action mobile */
.mbar{display:none;}
@media (max-width:767px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:65;background:var(--white);box-shadow:0 -6px 20px -8px rgba(0,0,0,.3);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-family:'Montserrat',system-ui,sans-serif;font-weight:800;font-size:15px;}
  .mbar-call{background:var(--ink);color:var(--white);}
  .mbar-call .ico{color:var(--lime);}
  .mbar-devis{background:var(--lime);color:var(--ink);}
}

/* Pages légales */
.legal-wrap{padding:80px 0 90px;}
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;align-items:start;}
.legal-toc{position:sticky;top:120px;}
.legal-toc-title{font-family:'Montserrat',system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.legal-toc ol{list-style:none;margin:0;padding:0;border-left:3px solid var(--line);}
.legal-toc a{display:block;padding:6px 14px;font-size:15px;color:var(--ink);}
.legal-toc a:hover{color:var(--lime-dark);}
.prose{max-width:780px;}
.prose section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--line);}
.prose section:last-child{border-bottom:0;}
.prose h2{font-size:26px;margin-bottom:16px;}
.prose ul{padding-left:22px;}
.prose li{margin-bottom:6px;}
.updated{font-size:14.5px;color:var(--muted);}
.kv{margin:0 0 1em;}
.kv div{display:grid;grid-template-columns:210px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);}
.kv dt{font-weight:600;color:var(--ink);}
.kv dd{margin:0;}
@media (max-width:900px){.legal{grid-template-columns:1fr;gap:30px;}.legal-toc{position:static;}}
@media (max-width:600px){.kv div{grid-template-columns:1fr;gap:2px;}}
