/* CABS — passe de resserrage d’après annotation visuelle.
   Couche indépendante : peut être retirée sans toucher au premier jet. */

:root {
  --cabs-home: #153f67;
  --cabs-territoires: #287c78;
  --cabs-societe: #2d7288;
  --cabs-publique: #355d84;
  --cabs-chroniques: #4b7f83;
  --cabs-wiki43: #2f6079;
}

/* En-tête : plus compact et aucune collision avec le bouton d’action. */
.site-header__inner {
  grid-template-columns: minmax(18.5rem, 1.08fr) minmax(32rem, 1.85fr) minmax(9rem, auto);
  gap: clamp(.9rem, 1.65vw, 1.65rem);
  min-height: 6.7rem;
  padding-block: .68rem;
}

.cabs-brand {
  grid-template-columns: 4.75rem minmax(0, 1fr);
  gap: .85rem;
}

.cabs-brand__mark {
  width: 4.75rem;
  height: 4.75rem;
}

.site-brand {
  font-size: clamp(1.42rem, 1.75vw, 1.82rem);
  line-height: .96;
}

.cabs-brand__tagline {
  margin-top: .32rem;
  font-size: .79rem;
}

.site-nav__row {
  justify-content: flex-end;
  gap: clamp(.72rem, 1.15vw, 1.35rem) !important;
}

.site-nav a {
  min-height: 2.25rem;
  font-size: .88rem;
}

.cabs-header-actions {
  gap: .42rem;
  padding-left: .15rem;
}

.cabs-header-search {
  width: 2.35rem;
  height: 2.35rem;
}

.cabs-header-cta {
  min-height: 2.75rem;
  padding: .48rem .82rem;
  border-radius: .9rem;
  font-size: .79rem;
}

/* Une nuance bleu/vert par rubrique, y compris menu, trait actif et bulle. */
.nav-tone--home { --nav-color: var(--cabs-home); }
.nav-tone--glances { --nav-color: var(--cabs-territoires); }
.nav-tone--between { --nav-color: var(--cabs-societe); }
.nav-tone--urchin { --nav-color: var(--cabs-publique); }
.nav-tone--sidestep { --nav-color: var(--cabs-chroniques); }
.nav-tone--wiki43 { --nav-color: var(--cabs-wiki43); }

.site-nav a.nav-tone--home,
.nav-preview.nav-tone--home { color: var(--cabs-home); }
.site-nav a.nav-tone--glances,
.nav-preview.nav-tone--glances { color: var(--cabs-territoires); }
.site-nav a.nav-tone--between,
.nav-preview.nav-tone--between { color: var(--cabs-societe); }
.site-nav a.nav-tone--urchin,
.nav-preview.nav-tone--urchin { color: var(--cabs-publique); }
.site-nav a.nav-tone--sidestep,
.nav-preview.nav-tone--sidestep { color: var(--cabs-chroniques); }
.site-nav a.nav-tone--wiki43,
.nav-preview.nav-tone--wiki43 { color: var(--cabs-wiki43); }

.nav-preview {
  width: min(21rem, 70vw);
  padding: .7rem .82rem;
  border-color: color-mix(in srgb, currentColor 20%, white);
  background: color-mix(in srgb, currentColor 4%, white 96%);
  box-shadow: 0 .75rem 1.8rem rgba(26, 67, 84, .11);
}

/* Hero : resserré en largeur ET en hauteur. */
.cabs-hero__inner {
  width: min(calc(100% - 3rem), 1080px);
  grid-template-columns: minmax(0, .88fr) minmax(20rem, .72fr);
  gap: clamp(1.8rem, 4vw, 4.2rem);
  min-height: 20.8rem;
  padding-block: clamp(1.8rem, 3.2vw, 3rem) clamp(2.1rem, 3.6vw, 3.35rem);
}

.cabs-hero__copy {
  max-width: 34rem;
}

.cabs-hero__eyebrow {
  margin-bottom: .72rem;
  letter-spacing: .2em;
}

.cabs-hero__title {
  max-width: 11.5ch;
  font-size: clamp(2.8rem, 4.5vw, 4.35rem);
  line-height: .96;
}

.cabs-hero__lead {
  max-width: 34rem;
  margin-top: .8rem;
  font-size: clamp(1.08rem, 1.55vw, 1.34rem);
  line-height: 1.18;
}

.cabs-hero__actions {
  gap: .8rem 1.55rem;
  margin-top: 1.15rem;
}

.cabs-hero__primary,
.cabs-hero__secondary {
  min-height: 2.7rem;
  font-size: .9rem;
}

.cabs-hero__primary {
  padding: .62rem 1.15rem;
}

.cabs-hero__motto {
  align-self: start;
  justify-self: center;
  max-width: 20rem;
  margin-top: .35rem;
  font-size: clamp(1.12rem, 1.75vw, 1.55rem);
  line-height: 1.08;
  transform: rotate(-3deg);
}

.cabs-hero__motto::after {
  width: 3.8rem;
  margin-top: .5rem;
}

.cabs-hero__location {
  bottom: .85rem;
}

/* Le panneau des repères reste compact et devient un vrai groupe de liens. */
.cabs-values {
  width: min(calc(100% - 3rem), 1080px);
  margin-top: -1.05rem;
  padding: .72rem 1rem;
}

.cabs-value {
  position: relative;
  color: inherit;
  text-decoration: none;
  border-radius: .72rem;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cabs-value:hover,
.cabs-value:focus-visible {
  z-index: 2;
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 .55rem 1.2rem rgba(28, 74, 88, .08);
}

.cabs-value--citizens:hover,
.cabs-value--citizens:focus-visible {
  background: color-mix(in srgb, var(--cabs-societe) 7%, white);
}

.cabs-value--projects:hover,
.cabs-value--projects:focus-visible,
.cabs-value--living:hover,
.cabs-value--living:focus-visible {
  background: color-mix(in srgb, var(--cabs-territoires) 7%, white);
}

.cabs-value--dialogue:hover,
.cabs-value--dialogue:focus-visible {
  background: color-mix(in srgb, var(--cabs-chroniques) 7%, white);
}

.cabs-value::after {
  content: "→";
  position: absolute;
  right: .72rem;
  top: 50%;
  color: #7b99a2;
  font-size: .9rem;
  opacity: 0;
  transform: translate(-.25rem, -50%);
  transition: opacity 150ms ease, transform 150ms ease;
}

.cabs-value:hover::after,
.cabs-value:focus-visible::after {
  opacity: 1;
  transform: translate(0, -50%);
}

.cabs-value strong {
  padding-right: 1rem;
}

/* Accents des rubriques : mêmes couleurs partout sur le site. */
.territory--glances { --accent: var(--cabs-territoires); }
.territory--between { --accent: var(--cabs-societe); }
.territory--urchin { --accent: var(--cabs-publique); }
.territory--sidestep { --accent: var(--cabs-chroniques); }

.home-room.territory--glances .home-room__title { color: var(--cabs-territoires); }
.home-room.territory--between .home-room__title { color: var(--cabs-societe); }
.home-room.territory--urchin .home-room__title { color: var(--cabs-publique); }
.home-room.territory--sidestep .home-room__title { color: var(--cabs-chroniques); }

@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: minmax(17rem, 1fr) minmax(29rem, 1.65fr) auto;
    gap: .85rem;
  }

  .site-nav__row {
    gap: .72rem !important;
  }

  .site-nav a {
    font-size: .81rem;
  }

  .cabs-header-cta {
    padding-inline: .68rem;
  }
}

@media (max-width: 1050px) {
  .site-header__inner {
    grid-template-columns: 1fr auto;
  }

  .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .site-nav__row {
    justify-content: flex-start;
    gap: 1.05rem !important;
  }

  .cabs-hero__inner {
    width: min(calc(100% - 2rem), 930px);
    grid-template-columns: minmax(0, 1fr) minmax(17rem, .7fr);
  }

  .cabs-values {
    width: min(calc(100% - 2rem), 930px);
  }
}

@media (max-width: 760px) {
  .cabs-hero__inner {
    width: min(calc(100% - 1.25rem), 720px);
    min-height: 23rem;
    padding-block: 2rem 5.4rem;
  }

  .cabs-hero__title {
    max-width: 12ch;
  }

  .cabs-values {
    width: min(calc(100% - 1.25rem), 720px);
  }

  .cabs-value::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cabs-value,
  .cabs-value::after {
    transition: none;
  }
}
