  :root{
    --ink:        #0f2a43;
    --ink-2:      #0a2036;
    --panel:      #143656;
    --line-dark:  rgba(225,82,28,.28);
    --line-soft:  rgba(238,242,247,.14);

    --paper:      #f7f8fa;
    --paper-2:    #eef2f7;
    --line:       rgba(15,42,67,.12);

    --gold:       #e1521c;
    --gold-light: #f5824a;
    --gold-deep:  #b8410f;

    --blue:       #1b5fa8;
    --blue-light: #3d95e7;

    --ivory:      #eef2f7;
    --ivory-mute: rgba(238,242,247,.72);
    --ivory-faint:rgba(238,242,247,.46);

    --text:       #0f2a43;
    --text-mute:  rgba(15,42,67,.68);
    --text-faint: rgba(15,42,67,.48);

    --display: 'Fraunces', serif;
    --body-f: 'Inter', sans-serif;

    --maxw: 1180px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body-f);
    color:var(--text-mute);
    background:var(--paper);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  ul{list-style:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  section{position:relative;}

  h1,h2,h3,h4{font-family:var(--display); font-weight:500; line-height:1.15; letter-spacing:-0.01em; color:var(--text);}
  .on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:var(--ivory);}
  em{font-style:italic; font-weight:400; color:var(--gold-deep);}
  .on-dark em{color:var(--gold-light);}

  .eyebrow{
    font-family:var(--body-f); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
    color:var(--gold-deep); font-weight:600; margin-bottom:20px; display:flex; align-items:center; gap:12px;
  }
  .on-dark .eyebrow{color:var(--gold);}
  .eyebrow::before{content:""; width:30px; height:1px; background:var(--gold-deep);}
  .on-dark .eyebrow::before{background:var(--gold);}
  .eyebrow.center{justify-content:center;}

  .btn{
    display:inline-flex; align-items:center; gap:10px; font-family:var(--body-f); font-size:12.5px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase; padding:16px 30px; border:1px solid var(--gold-deep);
    cursor:pointer; text-decoration:none; transition:all .25s ease; color:var(--text); background:transparent;
  }
  .btn:hover{background:var(--gold); color:var(--ink); border-color:var(--gold);}
  .btn-fill{background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#fff; border-color:transparent; border-radius:12px; box-shadow:0 6px 18px rgba(225,82,28,.35);}
  .btn-fill:hover{background:linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow:0 8px 22px rgba(225,82,28,.5); transform:translateY(-1px);}
  .on-dark .btn{color:var(--ivory); border-color:var(--gold);}
  .btn-plain{border:none; padding:0; letter-spacing:.04em; text-transform:none; font-size:14.5px; color:var(--text-mute); gap:8px;}
  .on-dark .btn-plain{color:var(--ivory-mute);}
  .btn-plain:hover{background:none; color:var(--gold-deep);}
  .on-dark .btn-plain:hover{color:var(--gold-light);}
  .btn-sm{padding:11px 20px; font-size:11px;}

  /* ---------- TOP BAR ---------- */
  .topbar{background:var(--ink); border-bottom:1px solid var(--line-soft);}
  .topbar-inner{max-width:var(--maxw); margin:0 auto; padding:9px 32px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;}
  .topbar a{color:var(--ivory-mute); text-decoration:none; font-size:12px; letter-spacing:.03em; display:flex; align-items:center; gap:8px;}
  .topbar a.phone{color:var(--gold-light); font-weight:600;}
  .topbar .msg{color:var(--ivory-faint); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase;}

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky; top:0; z-index:100;
    background:rgba(15,42,67,.94); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  .nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 32px; max-width:var(--maxw); margin:0 auto;}
  .wordmark{display:flex; align-items:center; gap:12px; text-decoration:none;}
  .wm-mark{width:32px; height:32px; flex:none;}
  .wm-mark .flame{fill:none; stroke:url(#navGold); stroke-width:9;}
  .wm-mark .drop{fill:url(#navGold);}
  .wm-text{font-family:var(--display); font-size:15px; letter-spacing:.12em; color:var(--ivory); font-weight:500; line-height:1;}
  .wm-text em{font-style:normal; display:block; font-size:8.5px; letter-spacing:.3em; color:var(--gold); margin-top:4px; font-weight:500;}
  .foot-wordmark .wm-mark{width:28px; height:28px;}
  .foot-wordmark .wm-text{font-size:13px;}

  .grain{
    position:fixed; inset:0; z-index:2000; pointer-events:none; opacity:.02; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .frame-corner{position:absolute; width:26px; height:26px; opacity:.85; z-index:2;}
  .frame-corner.tl{top:14px; left:14px; border-top:1px solid var(--gold); border-left:1px solid var(--gold);}
  .frame-corner.tr{top:14px; right:14px; border-top:1px solid var(--gold); border-right:1px solid var(--gold);}
  .frame-corner.bl{bottom:14px; left:14px; border-bottom:1px solid var(--gold); border-left:1px solid var(--gold);}
  .frame-corner.br{bottom:14px; right:14px; border-bottom:1px solid var(--gold); border-right:1px solid var(--gold);}

  nav.links{display:flex; gap:32px;}
  nav.links a{
    font-family:var(--body-f); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
    color:var(--ivory-mute); text-decoration:none; transition:color .2s ease;
  }
  nav.links a:hover{color:var(--gold-light);}
  .nav-cta{display:flex; align-items:center; gap:18px;}
  .nav-phone{font-family:var(--body-f); font-size:13px; color:var(--ivory-mute); text-decoration:none; display:none; letter-spacing:.02em;}
  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
  .burger span{width:22px; height:1px; background:var(--ivory);}
  .mobile-menu{display:none;}

  @media (max-width: 940px){
    nav.links{display:none;}
    .burger{display:flex;}
    .nav-phone{display:none;}
    .topbar .msg{display:none;}
    .mobile-menu.open{
      display:flex; flex-direction:column; gap:2px; background:var(--ink-2);
      padding:8px 32px 22px; border-top:1px solid var(--line-soft);
    }
    .mobile-menu a{color:var(--ivory-mute); font-size:12px; letter-spacing:.1em; text-transform:uppercase; padding:14px 0; text-decoration:none; border-bottom:1px solid var(--line-soft);}
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:auto; position:relative; overflow:hidden; background:var(--ink);
  }
  .hero-bg{position:absolute; inset:0; z-index:0; background: radial-gradient(circle at 78% 15%, rgba(27,95,168,.34) 0%, rgba(15,42,67,0) 48%), var(--ink);}

  .svc-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px;}
  .svc-badge{display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:100px; background:rgba(238,242,247,.045); border:1px solid rgba(238,242,247,.10); font-size:13px; font-weight:600; color:var(--ivory);}
  .svc-badge svg{width:16px; height:16px; flex:none;}
  .svc-badge.clim svg{color:var(--blue-light);}
  .svc-badge.chauf svg{color:var(--gold-light);}
  .svc-badge.ecs svg{color:var(--gold-light);}
  .cta-row2{display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:0;}
  .cta-micro{font-size:12.5px; color:var(--ivory-faint); margin:8px 0 6px;}
  .hero-inner{position:relative; z-index:1; padding:32px 0 24px;}
  .hero h1{font-size:clamp(28px, 3.8vw, 44px); max-width:680px; margin-bottom:14px;}
  .hero p.lead{font-size:15.5px; color:var(--ivory-mute); max-width:480px; margin-bottom:16px;}
  .hero-ctas{display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-bottom:40px;}

  .review-chip{display:inline-flex; align-items:center; gap:10px; background:rgba(234,243,250,.06); border:1px solid var(--line-soft); padding:10px 16px; border-radius:3px; margin-bottom:0;}
  .review-chip .stars{color:var(--gold-light); font-size:13px; letter-spacing:1px;}
  .review-chip .rtext{font-size:12px; color:var(--ivory-mute); letter-spacing:.02em;}
  .review-chip b{color:var(--ivory); font-weight:600;}

  .cred-row{display:flex; gap:22px; flex-wrap:wrap; border-top:1px solid var(--line-dark); padding-top:24px;}
  .cred-row span{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ivory-faint); font-weight:500;}
  .cred-row span b{color:var(--gold-light); font-weight:600;}

  @media (max-width:700px){ .hero{min-height:auto;} .hero-inner{padding:80px 0 44px;} }

  /* ---------- SECTION HEADERS ---------- */
  .sec-head{max-width:620px; margin-bottom:48px;}
  .sec-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .sec-head h2{font-size:clamp(26px, 3vw, 38px);}
  .sec-head p{color:var(--text-mute); margin-top:16px; font-size:15px;}
  .on-dark .sec-head p{color:var(--ivory-mute);}
  section.pad{padding:96px 0;}
  section.pad-sm{padding:64px 0;}
  .panel-bg{background:var(--paper-2);}
  .dark-bg{background:var(--ink); color:var(--ivory-mute);}
  .dark-bg-2{background:var(--ink-2); color:var(--ivory-mute);}

  /* ---------- POSITIONING STATEMENT ---------- */
  .position-block{text-align:center; padding:100px 0; overflow:hidden;}
  .position-block .wrap{position:relative; z-index:1;}
  .position-block blockquote{
    font-family:var(--display); font-size:clamp(24px,3.4vw,38px); font-weight:400; font-style:italic;
    color:var(--ivory); max-width:840px; margin:0 auto 30px; line-height:1.4;
  }
  .position-block p.sub{max-width:600px; margin:0 auto; font-size:15px; color:var(--ivory-mute);}

  /* ---------- SECTEURS ---------- */
  .sector-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line);}
  .sector-card{background:var(--paper); padding:40px 32px;}
  .sector-card .sic{width:34px; height:34px; color:var(--gold-deep); margin-bottom:22px;}
  .sector-card h3{font-size:19px; margin-bottom:12px;}
  .sector-card p{font-size:13.5px; color:var(--text-mute);}
  @media (max-width:820px){ .sector-grid{grid-template-columns:1fr;} }

  /* ---------- ENTREPRISE ---------- */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
  .about-grid p{color:var(--text-mute); font-size:15px; margin-bottom:18px;}
  .info-list div{
    display:grid; grid-template-columns:150px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--line);
  }
  .info-list div:first-child{padding-top:0;}
  .info-list div:last-child{border-bottom:none;}
  .info-list dt{
    font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; padding-top:2px;
  }
  .info-list dd{font-size:14.5px; color:var(--text); font-family:var(--display); font-weight:400;}

  /* ---------- EXPERTISE (tiles) ---------- */
  .domain-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line);}
  .domain-card{position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--ink);}
  .domain-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease; filter:brightness(1.4) saturate(1.1);}
  .domain-card:hover img{transform:scale(1.06);}
  .domain-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,42,67,.78) 0%, rgba(15,42,67,.06) 55%, transparent 75%);}
  .domain-card .roman{position:absolute; top:20px; left:20px; z-index:2; font-family:var(--display); font-style:italic; font-size:15px; color:var(--gold-light); letter-spacing:.04em; background:rgba(15,42,67,.55); width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(2px);}
  .domain-card:nth-child(1) .roman{color:#fff; background:rgba(27,95,168,.72);}
  .domain-card .caption{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:26px;}
  .domain-card .caption h3{color:var(--ivory); font-size:20px; margin-bottom:8px; font-weight:500;}
  .domain-card .caption p{color:var(--ivory-faint); font-size:13px;}

  .brands-row{display:flex; flex-wrap:wrap; gap:14px 40px; justify-content:center; margin-top:56px;}
  .brands-row span{font-family:var(--display); font-style:italic; font-size:16px; color:var(--text-faint); letter-spacing:.01em;}

  /* ---------- DIAGNOSTIC BANNER ---------- */
  .diag-banner{background:var(--ink); padding:64px 0; text-align:center;}
  .diag-banner h2{color:var(--ivory); font-size:clamp(22px,2.8vw,32px); margin-bottom:16px;}
  .diag-banner p{color:var(--ivory-mute); max-width:560px; margin:0 auto 32px; font-size:15px;}
  .diag-banner .ctas{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}

  /* ---------- GALERIE ---------- */
  .gallery-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:2px; background:var(--line);}
  .g-item{position:relative; overflow:hidden; background:var(--ink);}
  .g-item.tall{grid-column:span 2; aspect-ratio:3/4;}
  .g-item.wide{grid-column:span 2; aspect-ratio:4/3;}
  .g-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .g-item:hover img{transform:scale(1.05);}
  .g-item::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(15,42,67,.85) 0%, transparent 45%);}
  .g-item .g-cap{position:absolute; left:18px; bottom:16px; z-index:1; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ivory-mute);}
  @media (max-width:700px){ .gallery-grid{grid-template-columns:1fr 1fr;} .g-item.tall, .g-item.wide{grid-column:span 2;} }

  /* ---------- AVIS CLIENTS ---------- */
  .review-summary{display:flex; align-items:center; gap:18px; justify-content:center; margin-bottom:52px; flex-wrap:wrap;}
  .review-summary .rs-badge{text-align:center;}
  .review-summary .rs-label{font-family:var(--display); font-size:20px; color:var(--text); font-weight:500;}
  .review-summary .rs-stars{color:var(--gold-deep); font-size:18px; letter-spacing:2px; margin:6px 0;}
  .review-summary .rs-count{font-size:12.5px; color:var(--text-faint);}
  .review-summary .rs-google{display:flex; align-items:center; gap:6px; font-family:var(--body-f); font-weight:600; font-size:15px; color:var(--text); margin-top:6px;}
  .review-note{text-align:center; font-size:12px; color:var(--text-faint); margin:-32px auto 44px; max-width:520px;}

  .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .review-card{background:var(--paper); border:1px solid var(--line); padding:26px 24px; border-radius:4px;}
  .review-card .rc-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
  .review-card .rc-who{display:flex; align-items:center; gap:12px;}
  .review-card .rc-avatar{width:36px; height:36px; border-radius:50%; background:var(--gold-deep); color:var(--ivory); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:500; font-size:14px;}
  .review-card .rc-name{font-size:13.5px; font-weight:600; color:var(--text);}
  .review-card .rc-time{font-size:11px; color:var(--text-faint);}
  .review-card .rc-stars{color:var(--gold-deep); font-size:12px; letter-spacing:1.5px; margin-bottom:10px;}
  .review-card p{font-size:13.5px; color:var(--text-mute); line-height:1.6;}
  @media (max-width:820px){ .review-grid{grid-template-columns:1fr;} }

  /* ---------- REFERENCES (categories) ---------- */
  .cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .cat-card{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
  .cat-photos{display:grid; grid-template-columns:1.4fr 1fr; gap:2px; height:170px; overflow:hidden; min-height:0;}
  .cat-photos > *{min-height:0; min-width:0; overflow:hidden;}
  .cat-photos .stack{display:grid; grid-template-rows:1fr 1fr; gap:2px; overflow:hidden; min-height:0;}
  .cat-photos .stack > *{min-height:0; min-width:0; overflow:hidden;}
  .cat-photos.single{grid-template-columns:1fr;}
  .cat-photos.two{grid-template-columns:1fr 1fr;}
  .cat-photos img{width:100%; height:100%; object-fit:cover; display:block;}
  .cat-photos .ph{background:linear-gradient(135deg,#dceefb,#eef6fc); display:flex; align-items:center; justify-content:center; color:#7fb3d3; font-size:11px; font-weight:600; letter-spacing:.04em; text-align:center;}
  .cat-photos .ph svg{width:26px; height:26px; margin-bottom:6px; display:block; margin-left:auto; margin-right:auto; opacity:.7;}
  .cat-body{padding:22px 22px 24px;}
  .cat-body .tag{font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px;}
  .cat-body p{font-size:13px; line-height:1.55; color:var(--text-mute);}
  .feature-strip{margin-top:36px; padding-top:36px; border-top:1px solid var(--line);}
  .feature-strip .fs-head{margin-bottom:20px;}
  .feature-strip .fs-head .tag{font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep);}
  .feature-strip .fs-head h3{font-family:var(--display); font-weight:500; font-size:20px; color:var(--text); margin-top:6px;}
  .feature-strip .fs-head p{font-size:13px; color:var(--text-mute); margin-top:6px; max-width:560px; line-height:1.55;}
  .feature-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px;}
  .feature-card{display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px;}
  .feature-card .ph{width:110px; height:82px; flex:none; border-radius:6px; background:linear-gradient(135deg,#dceefb,#eef6fc); display:flex; align-items:center; justify-content:center; color:#7fb3d3; font-size:9px; font-weight:600;}
  .feature-card .fc-body h4{font-family:var(--display); font-weight:500; font-size:14.5px; color:var(--text); margin-bottom:6px;}
  .feature-card .fc-body p{font-size:12px; color:var(--text-mute); line-height:1.5;}
  @media (max-width:820px){
    .cat-grid{grid-template-columns:1fr;}
    .feature-grid{grid-template-columns:1fr;}
  }

  /* ---------- BLOG ---------- */
  .blog-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px;}
  .blog-card{text-decoration:none; color:inherit; display:block; border:1px solid var(--line); background:var(--paper); transition:border-color .2s ease;}
  .blog-card:hover{border-color:var(--gold-deep);}
  .blog-card .bc-tag{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; padding:22px 22px 0;}
  .blog-card h3{font-size:16px; padding:10px 22px 0; line-height:1.3;}
  .blog-card p{font-size:13px; color:var(--text-mute); padding:12px 22px 22px;}
  .blog-card .bc-read{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; padding:0 22px 22px; display:block;}
  @media (max-width:940px){ .blog-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .blog-grid{grid-template-columns:1fr;} }

  /* ---------- SAVOIR-FAIRE DISCRET (full bleed banner) ---------- */
  .discret{min-height:60vh; display:flex; align-items:center; position:relative; overflow:hidden;}
  .discret-bg{position:absolute; inset:0;}
  .discret-bg img{width:100%; height:100%; object-fit:cover;}
  .discret-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(15,42,67,.95) 20%, rgba(15,42,67,.55) 55%, rgba(15,42,67,.3) 100%);}
  .discret-inner{position:relative; z-index:1; max-width:520px; padding:84px 0;}
  .discret-inner h2{font-size:clamp(26px,3.4vw,38px); margin-bottom:22px;}
  .discret-inner p{color:var(--ivory-mute); font-size:15px; margin-bottom:16px;}

  /* ---------- METHODE ---------- */
  .tabs{display:flex; gap:0; border-bottom:1px solid var(--line); margin-bottom:40px;}
  .tab-btn{
    font-family:var(--body-f); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
    background:none; border:none; padding:16px 26px 16px 0; margin-right:26px; cursor:pointer; color:var(--text-faint);
    border-bottom:1px solid transparent; margin-bottom:-1px; transition:color .2s ease, border-color .2s ease;
  }
  .tab-btn.active{color:var(--gold-deep); border-color:var(--gold-deep);}
  .tab-panel{display:none;}
  .tab-panel.active{display:block;}
  .steps{display:grid; grid-template-columns:repeat(3, 1fr); gap:36px 30px;}
  .step .sn{font-family:var(--display); font-style:italic; font-size:26px; color:var(--gold-deep); margin-bottom:12px;}
  .step h4{font-size:15px; margin-bottom:8px; font-weight:500; color:var(--text); font-family:var(--display);}
  .step p{font-size:13.5px; color:var(--text-faint);}
  .norm-note{margin-top:40px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint); border-top:1px solid var(--line); padding-top:20px;}
  .norm-note b{color:var(--gold-deep);}

  /* ---------- QUALITE / SECURITE ---------- */
  .qs-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
  .subhead{font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:22px; font-weight:600;}
  .qrow{padding:16px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:150px 1fr; gap:16px;}
  .qrow:first-of-type{padding-top:0;}
  .qrow dt{font-family:var(--display); font-size:14.5px; color:var(--text); font-weight:500;}
  .qrow dd{font-size:13.5px; color:var(--text-mute);}

  /* ---------- EQUIPE ---------- */
  .equipe-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:0;}
  .equipe-photo{position:relative; min-height:420px;}
  .equipe-photo img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
  .equipe-text{background:var(--ink); padding:60px; color:var(--ivory-mute);}
  .equipe-text p{color:var(--ivory-mute); font-size:15px; margin-bottom:16px;}
  .equipe-stats{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:32px; border-top:1px solid var(--line-soft);}
  .eq-stat{padding:20px 0 0; border-bottom:1px solid var(--line-soft); padding-bottom:20px;}
  .eq-stat:nth-child(odd){padding-right:20px;}
  .eq-stat b{display:block; font-family:var(--display); font-size:26px; font-weight:500; color:var(--gold-light);}
  .eq-stat span{font-size:10.5px; color:var(--ivory-faint); text-transform:uppercase; letter-spacing:.08em;}
  @media (max-width:940px){ .equipe-grid{grid-template-columns:1fr;} .equipe-photo{min-height:260px;} }

  .cert-list{margin-top:20px;}
  .equipe-stats-3{grid-template-columns:repeat(3,1fr);}
  .equipe-stats-3 .eq-stat{padding-right:20px;}
  .equipe-stats-3 .eq-stat:last-child{padding-right:0;}

  /* ---------- PHONE POPOVER (desktop click on tel: links) ---------- */
  .phone-popover{position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:var(--ivory); border:1px solid var(--gold); border-radius:10px; padding:14px 20px; display:flex; align-items:center; gap:16px; font-family:var(--body-f); font-size:15px; font-weight:600; box-shadow:0 12px 32px rgba(0,0,0,.35); opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease; z-index:999;}
  .phone-popover.show{opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto;}
  .phone-popover .pp-copy{background:var(--gold); color:var(--ink); border:none; border-radius:6px; padding:7px 14px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:var(--body-f);}
  .cert-item{padding:18px 0; border-bottom:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:20px; align-items:baseline;}
  .cert-item:first-child{padding-top:0;}
  .cert-item .cn{font-family:var(--display); font-size:15px; color:var(--ivory); font-weight:500;}
  .cert-item .cs{font-size:12.5px; color:var(--ivory-faint); display:block; margin-top:4px;}
  .cert-item .cnum{font-size:11px; letter-spacing:.06em; color:var(--gold-light); white-space:nowrap;}

  /* ---------- ENGAGEMENTS ---------- */
  .promise-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px 30px;}
  .promise h4{font-size:15.5px; margin-bottom:10px; color:var(--text); font-weight:500; font-family:var(--display);}
  .promise .idx{font-size:11px; color:var(--gold-deep); letter-spacing:.1em; margin-bottom:10px; display:block;}
  .promise p{font-size:13px; color:var(--text-faint);}

  /* ---------- CLOSING QUOTE ---------- */
  .quote-block{padding:100px 0; text-align:center; background:var(--ink-2);}
  .quote-block p{font-family:var(--display); font-style:italic; font-weight:400; font-size:clamp(22px,3.2vw,36px); max-width:780px; margin:0 auto; line-height:1.35; color:var(--ivory);}

  /* ---------- CONTACT + FORM ---------- */
  .contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:start;}
  .contact-list{display:flex; flex-direction:column; gap:24px; margin-top:36px;}
  .contact-list a, .contact-list div{display:flex; align-items:center; gap:18px; text-decoration:none; color:var(--text); font-size:15.5px; font-family:var(--display);}
  .contact-list .ic{width:18px; height:18px; color:var(--gold-deep); flex:none;}
  .contact-reviews{margin-top:40px; display:flex; align-items:center; gap:14px; border-top:1px solid var(--line); padding-top:28px;}
  .contact-reviews .rs-stars{color:var(--gold-deep); font-size:15px; letter-spacing:1.5px;}
  .contact-reviews .rs-text{font-size:12.5px; color:var(--text-faint);}

  .form-card{border:1px solid var(--line); padding:40px; background:var(--paper);}
  .form-card > p.eyebrow{margin-bottom:10px;}
  .form-card > p.lead-form{font-size:13.5px; color:var(--text-mute); margin-bottom:28px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  .form-field{display:flex; flex-direction:column; gap:7px; margin-bottom:16px;}
  .form-field label{font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint); font-weight:600;}
  .form-field input, .form-field select, .form-field textarea{
    font-family:var(--body-f); font-size:14px; padding:12px 14px; border:1px solid var(--line); background:#fff;
    color:var(--text); border-radius:2px;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:none; border-color:var(--gold-deep);}
  .form-field textarea{resize:vertical; min-height:90px;}
  .form-consent{display:flex; align-items:flex-start; gap:10px; font-size:11.5px; color:var(--text-faint); margin:20px 0 24px;}
  .form-consent input{margin-top:3px;}
  .form-card .btn{width:100%; justify-content:center;}
  @media (max-width:820px){ .contact-grid{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }

  footer{background:var(--ink-2); padding:40px 0; border-top:1px solid var(--line-soft);}
  .foot-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px;}
  .foot-legal{font-size:11px; letter-spacing:.04em; color:var(--ivory-faint); text-align:right; line-height:1.7;}

  @media (max-width: 940px){
    .about-grid, .qs-grid, .contact-grid{grid-template-columns:1fr; gap:40px;}
    .domain-grid{grid-template-columns:1fr;}
    .domain-card{aspect-ratio:4/3;}
    .steps{grid-template-columns:1fr;}
    .promise-grid{grid-template-columns:1fr; gap:28px;}
    .review-grid{grid-template-columns:1fr;}
  }

  .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }

  /* ---------- BLOG INDEX (blog.html) ---------- */
  .blog-hero{background:var(--ink); padding:120px 0 64px; text-align:center;}
  .blog-hero h1{color:var(--ivory); font-size:clamp(30px,4vw,46px); max-width:680px; margin:0 auto 16px;}
  .blog-hero p{color:var(--ivory-mute); max-width:520px; margin:0 auto; font-size:15px;}
  .blog-index-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
  @media (max-width:700px){ .blog-index-grid{grid-template-columns:1fr;} }

  /* ---------- ARTICLE PAGE ---------- */
  .article-hero{background:var(--ink); padding:130px 0 60px;}
  .article-hero .wrap{max-width:760px;}
  .breadcrumb{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ivory-faint); margin-bottom:24px;}
  .breadcrumb a{color:var(--ivory-mute); text-decoration:none;}
  .breadcrumb a:hover{color:var(--gold-light);}
  .article-hero h1{color:var(--ivory); font-size:clamp(28px,3.6vw,44px); margin-bottom:20px;}
  .article-meta{color:var(--ivory-faint); font-size:12.5px; letter-spacing:.04em;}
  .article-body{max-width:720px; margin:0 auto; padding:72px 32px;}
  .article-body h2{font-size:24px; margin:44px 0 18px;}
  .article-body h2:first-child{margin-top:0;}
  .article-body h3{font-size:18px; margin:32px 0 14px; color:var(--gold-deep); font-family:var(--body-f); font-weight:600; letter-spacing:.01em;}
  .article-body p{font-size:15.5px; color:var(--text-mute); margin-bottom:18px;}
  .article-body ul{margin:0 0 20px; padding-left:0;}
  .article-body li{font-size:15.5px; color:var(--text-mute); margin-bottom:10px; padding-left:26px; position:relative;}
  .article-body li::before{content:"—"; position:absolute; left:0; color:var(--gold-deep);}
  .article-body strong{color:var(--text); font-weight:600;}
  .article-cta{background:var(--paper-2); border:1px solid var(--line); padding:36px 40px; margin:48px 0; text-align:center;}
  .article-cta p{margin-bottom:20px; font-size:15px;}
  .article-nav{display:flex; justify-content:space-between; gap:20px; padding-top:32px; border-top:1px solid var(--line); margin-top:8px; flex-wrap:wrap;}
  .article-nav a{font-size:12.5px; letter-spacing:.04em; color:var(--text-mute); text-decoration:none;}
  .article-nav a:hover{color:var(--gold-deep);}
