/* Finition visuelle : palette courte, contrastes nets et décors discrets. */
:root {
  --ink: #0d493d;
  --cream: #fbfaf6;
  --lime: #edf5e9;
  --orange: #80512d;
  --muted: #496158;
  --accent: #0b6657;
}

html { text-rendering: optimizeLegibility; }

body {
  background: var(--cream);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.header,
footer {
  background: rgba(255, 255, 255, .97);
  border-color: #dbe7df;
}

.header { box-shadow: 0 1px 0 rgba(13, 73, 61, .03); }

/* Nouveau symbole : cadré à gauche du nom pour préserver le format horizontal. */
.logo .logo-mark {
  display: block;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  margin-right: 7px;
  border-radius: 50%;
  background: #fff url("logo-services-v1.png") center -8px / 100px no-repeat;
}

.logo img.logo-wordmark {
  width: 178px;
  max-height: 54px;
  object-fit: contain;
}

.nav a,
footer a,
.text-link { color: var(--ink); }

.nav-cta,
.button,
.button.light {
  background: var(--accent);
  box-shadow: 0 8px 18px rgba(11, 102, 87, .14);
}

.nav-cta:hover,
.button:hover,
.button.light:hover {
  background: #084c41;
  box-shadow: 0 10px 22px rgba(11, 102, 87, .19);
}

.hero {
  background: radial-gradient(circle at 78% 24%, rgba(218, 236, 215, .42), transparent 29%);
}

.hero-copy .intro {
  color: var(--muted);
  border-left-color: #9a704b;
}

.hero-art {
  background: #eef5ea;
  border-color: #d5e5da;
  box-shadow: 0 16px 34px rgba(13, 73, 61, .08);
}

.hero-art .sun { background: #9a704b; }
.arc { border-color: var(--ink); }

.stats,
.about-quote,
.about-copy,
.contact,
.service-grid article {
  background: #fff;
}

.stats { border-color: #dbe7df; }
.stats strong { color: var(--ink); }
.stats span,
.hero-contact,
.contact-details { color: var(--muted); }

.service-grid article {
  border-color: #dbe7df;
  border-radius: 14px;
}

.service-grid article:hover {
  border-color: #a8c8b5;
  box-shadow: 0 14px 28px rgba(13, 73, 61, .08);
}

.about,
.service-area,
.clim-installation { border-color: #dbe7df; }

.about-quote { color: var(--ink); }
.about-copy { background: #f7faf5; }

.service-area-locations {
  background: #f7faf5;
  border-color: #d5e5da;
  box-shadow: none;
}

.service-area-locations li {
  border-color: #cfe0d4;
  color: var(--ink);
}

.contact:before { background: #9a704b; }

@media (max-width: 720px) {
  .hero { background: none; }

  h1,
  h2 { letter-spacing: -1.55px; }

  .service-grid article {
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(13, 73, 61, .04);
  }

  .service-area-locations { border-radius: 14px; }

  .logo .logo-mark {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    margin-right: 5px;
    background-size: 78px;
    background-position: center -6px;
  }

  .logo img.logo-wordmark { width: 132px; max-height: 49px; }
}
