/*
Theme Name: CheyOr Technologies
Theme URI: https://cheyortechnologies.com/
Author: CheyOr Technologies
Author URI: https://cheyortechnologies.com/
Description: Thème hybride CheyOr : design fidèle à la version 1.4.14, pages Gutenberg modifiables et formulaire WordPress Jetpack conservé.
Version: 2.7.49
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: cheyor-technologies-hybrid
License: GNU General Public License v2 or later
*/

:root{--black:#15110d;--black2:#201811;--brown:#2d1c11;--copper:#ba7440;--gold:#d79452;--cream:#fbf8f2;--sand:#f5ede3;--line:#e4d4c5;--text:#251a13}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.top{height:76px;padding:0 2.2vw;display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:50;background:#17130feF;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff18;color:white}.logo img{width:190px;height:62px;object-fit:contain}.top nav{display:flex;align-items:stretch;height:100%;gap:25px;flex:1}.top nav a{display:flex;align-items:center;color:#eee9e2;text-decoration:none;font-size:11px;position:relative;white-space:nowrap}.top nav a:hover,.top nav a.active{color:white}.top nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold)}.top-cta{padding:13px 18px;background:linear-gradient(135deg,#d2925f,#a75f32);border-radius:5px;color:white;text-decoration:none;font-size:11px;white-space:nowrap}.top-cta span,.btn span{margin-left:14px}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:520px;background:#15110d;color:white;display:grid;grid-template-columns:1fr 1.15fr;overflow:hidden}.hero-copy{padding:80px 3vw 65px 6vw;z-index:2}.eyebrow{text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:.12em}.hero h1{font:600 clamp(40px,4.2vw,67px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:20px 0 25px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:560px;color:#e6ded5}.buttons{display:flex;gap:16px;margin-top:30px}.btn{display:inline-flex;align-items:center;padding:14px 20px;border-radius:4px;text-decoration:none;font-weight:600;font-size:12px}.filled{background:linear-gradient(135deg,#d69461,#aa6336);color:white}.outline{border:1px solid var(--gold);color:white}.dark{background:var(--brown);color:white}.hero-visual{position:relative;min-height:520px;background:#15110d}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15110d 0%,transparent 38%),linear-gradient(0deg,#15110d55,transparent 55%);mix-blend-mode:multiply}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.44) sepia(.7) saturate(1.5) contrast(1.15)}.chip{position:absolute;z-index:3;padding:9px 14px;border:1px solid #c7834b88;border-radius:5px;background:#1c1611dd;color:#f0dfcc;font-size:10px}.c1{top:55px;left:25%}.c2{top:95px;right:11%}.c3{bottom:70px;left:15%}.c4{bottom:140px;right:7%}.section{padding:68px 6vw;background:#fff}.section header,.clarify header{text-align:center}.section h2,.clarify h2{font:500 34px/1.1 Georgia,'Times New Roman',serif;margin:0}.section header i,.clarify header i{display:block;width:30px;height:2px;background:var(--copper);margin:12px auto 28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.cards article{padding:24px 22px;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 28px #4b2b1510}.icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--black2);color:var(--gold);font-size:24px}.cards h3{display:inline-block;margin-left:12px;font:500 21px Georgia,'Times New Roman',serif;vertical-align:top}.cards p{font-size:12px;min-height:72px;margin-left:62px}.cards ul{list-style:none;padding:12px 0 0;margin:0;font-size:11px}.cards li{margin:8px 0}.cards li:before{content:'◉';color:var(--copper);margin-right:10px}.clarify{padding:35px 6vw;background:linear-gradient(90deg,#f9f3ea,#fff,#f9f3ea)}.clarify-grid{display:grid;grid-template-columns:repeat(4,1fr)}.clarify article{display:flex;gap:18px;padding:10px 24px;border-right:1px solid var(--line)}.clarify article:last-child{border:0}.clarify article>span{font-size:32px;color:var(--copper)}.clarify h3{font:500 18px Georgia,'Times New Roman',serif;margin:0 0 8px}.clarify p{font-size:11px;margin:0}.steps{padding-bottom:30px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.step-grid:before{content:'';position:absolute;top:14px;left:12%;right:12%;height:1px;background:var(--line)}.step-grid article{text-align:center;position:relative;padding:0 30px}.step-grid b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;margin:0 auto 18px;background:var(--brown);color:white}.step-grid span{font-size:38px;color:var(--copper)}.step-grid h3{font:500 21px Georgia,'Times New Roman',serif;margin:5px 0}.step-grid p{font-size:11px}.opero{min-height:310px;padding:35px 6vw 0;background:linear-gradient(90deg,#f5eee5,#fff);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;overflow:hidden}.opero h2{font:500 38px Georgia,'Times New Roman',serif;margin:12px 0}.opero p{max-width:600px}.opero-media{height:330px}.opero-media img{width:100%;height:100%;object-fit:contain}.contact-strip{padding:15px 7vw;background:#211811;color:white;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;border-top:1px solid #d4955a66}.send{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:22px}.contact-strip h2{font:500 26px Georgia,'Times New Roman',serif;margin:0}.contact-strip p{margin:0;color:#ddd2c7}footer{padding:38px 6vw 18px;background:#17130f;color:#e8e0d8}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:60px}.footer-grid>div:first-child img{width:180px;filter:brightness(1.15)}.footer-grid p,.footer-grid a{font-size:11px;color:#cfc5ba}.footer-grid a{display:block;text-decoration:none;margin:8px 0}.footer-grid h3{font-size:13px;color:white}.socials{display:flex;gap:8px}.socials span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #75685c;border-radius:50%;font-size:10px}.legal{display:flex;justify-content:center;gap:28px;margin-top:30px;padding-top:16px;border-top:1px solid #ffffff18;font-size:9px;color:#91867b}@media(max-width:1050px){.top nav{display:none;position:absolute;top:76px;left:0;right:0;height:auto;padding:24px;background:#17130f;flex-direction:column;align-items:flex-start}.top nav.open{display:flex}.top nav a{padding:6px}.top-cta{margin-left:auto}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 7vw}.hero-visual{min-height:360px}.cards,.clarify-grid,.step-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.opero{grid-template-columns:1fr}.contact-strip{grid-template-columns:55px 1fr}.contact-strip .btn{grid-column:2}}@media(max-width:650px){.logo img{width:145px}.top-cta{display:none}.cards,.clarify-grid,.step-grid{grid-template-columns:1fr}.clarify article{border-right:0;border-bottom:1px solid var(--line)}.step-grid:before{display:none}.opero-media{height:240px}.footer-grid{grid-template-columns:1fr}.contact-strip{padding:22px 7vw}.hero h1{font-size:42px}.section{padding:52px 7vw}}


@media (max-width: 1400px) {
  .top { gap: 17px; }
  .logo img { width: 160px; }
  .top nav { gap: 13px; }
  .top nav a { font-size: 10px; }
  .top-cta { padding: 11px 14px; }
}

.language-switcher {
  position: relative;
  flex: 0 0 auto;
  color: #fff;
}

.language-switcher summary {
  min-width: 38px;
  padding: 8px 9px;
  border: 1px solid #8c6a4e;
  border-radius: 4px;
  color: #f2e8de;
  font-size: 10px;
  text-align: center;
  list-style: none;
  cursor: pointer;
}

.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary::after { content: '▾'; margin-left: 5px; color: var(--gold); }
.language-switcher[open] summary { background: #2b2119; }

.language-switcher > div {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 170px;
  padding: 8px;
  border: 1px solid #5c493a;
  border-radius: 7px;
  background: #1b1612;
  box-shadow: 0 18px 45px #0006;
}

.language-switcher > div::before {
  content: '';
  position: absolute;
  top: -13px;
  left: 0;
  right: 0;
  height: 13px;
}

.language-switcher a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 9px;
  border-radius: 4px;
  color: #eee5dc;
  text-decoration: none;
  font-size: 11px;
}

.language-switcher a:hover { background: #30251d; color: #fff; }
.language-switcher a b { width: 24px; color: var(--gold); font-size: 9px; letter-spacing: .08em; }

@media (max-width: 650px) {
  .language-switcher { margin-left: auto; }
  .language-switcher > div { right: -48px; }
}

@media (max-width: 1150px) {
  .top nav {
    display: none;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    height: auto;
    padding: 24px;
    background: #17130f;
    flex-direction: column;
    align-items: flex-start;
  }

  .top nav.open { display: flex; }
  .top nav a { padding: 6px; font-size: 12px; }
  .top-cta { margin-left: auto; }
  .menu { display: block; }
}

.fangorn-case {
  padding: 78px 6vw;
  background: #eee9dd;
  color: #173423;
}

.case-heading {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 7vw;
  align-items: end;
  margin-bottom: 42px;
}

.case-heading h2 {
  margin: 12px 0 0;
  font: 500 clamp(34px, 3.5vw, 54px)/1.08 Georgia,'Times New Roman',serif;
  letter-spacing: -.025em;
}

.case-heading > p {
  margin: 0;
  color: #526558;
  font-size: 15px;
}

.fangorn-visit {
  margin: 28px 0 42px!important;
  position: relative;
  z-index: 1;
}
.fangorn-visit .btn {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin: 0!important;
}
.fangorn-visit .btn { color: #fff; }

.fangorn-browser {
  margin: 0;
  overflow: hidden;
  border: 1px solid #b9b8a8;
  border-radius: 12px;
  background: #0b2919;
  box-shadow: 0 28px 70px #123a252b;
}

.browser-bar {
  height: 46px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 7px;
  background: #183c29;
  color: #dce5d8;
}

.browser-bar i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d3b36c;
}

.browser-bar i:nth-child(2) { opacity: .65; }
.browser-bar i:nth-child(3) { opacity: .4; }
.browser-bar span { margin-left: 12px; font-size: 10px; letter-spacing: .08em; }
.fangorn-browser img { display: block; width: 100%; height: auto; }

.case-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 44px 0 64px;
  border-top: 1px solid #bfc3b5;
  border-bottom: 1px solid #bfc3b5;
}

.case-metrics article {
  padding: 28px 24px;
  border-right: 1px solid #bfc3b5;
}

.case-metrics article:last-child { border-right: 0; }
.case-metrics strong { display: block; font: 500 38px Georgia,'Times New Roman',serif; color: #a76734; }
.case-metrics span { display: block; margin-top: 5px; color: #526558; font-size: 11px; }

.fangorn-refuges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.fangorn-refuges article {
  overflow: hidden;
  background: #f8f5ec;
  border: 1px solid #c9c9bb;
  border-radius: 8px;
}

.fangorn-refuges img {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.fangorn-refuges article:last-child img { object-position: center 58%; }
.fangorn-refuges div { padding: 22px; }
.fangorn-refuges small { color: #78856f; text-transform: uppercase; letter-spacing: .08em; }
.fangorn-refuges h3 { margin: 9px 0; font: 500 23px Georgia,'Times New Roman',serif; }
.fangorn-refuges p { margin: 0; color: #526558; font-size: 12px; }

.fangorn-platform {
  margin-top: 74px;
  padding: 58px;
  border-radius: 12px;
  background: #112d20;
  color: #f5f0e5;
  box-shadow: 0 30px 70px #0c281a26;
}

.platform-heading {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  column-gap: 6vw;
  align-items: end;
}

.platform-heading .eyebrow { grid-column: 1 / -1; }
.platform-heading h2 { margin: 12px 0 0; font: 500 clamp(32px, 3vw, 48px)/1.08 Georgia,'Times New Roman',serif; }
.platform-heading > p:last-child { margin: 0; color: #c6d1c6; font-size: 13px; }

.platform-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 38px;
}

.platform-grid article {
  padding: 28px;
  border: 1px solid #8cac9361;
  border-radius: 8px;
  background: #173928;
}

.platform-grid article > span { color: #d4a467; font-size: 10px; letter-spacing: .14em; }
.platform-grid h3 { margin: 12px 0; font: 500 22px/1.15 Georgia,'Times New Roman',serif; }
.platform-grid p { color: #c6d1c6; font-size: 12px; }
.platform-grid ul { margin: 18px 0 0; padding: 0; list-style: none; color: #e1e7df; font-size: 11px; }
.platform-grid li { margin: 9px 0; }
.platform-grid li::before { content: '◉'; margin-right: 9px; color: #d4a467; font-size: 8px; }

.confidential-note {
  margin-top: 22px;
  padding: 18px 20px;
  border-left: 3px solid #d4a467;
  background: #0d261a;
  color: #d9e0d7;
  font-size: 12px;
}

.confidential-note strong { color: #fff; }
.confidential-note span { color: #d4a467; }

@media (max-width: 900px) {
  .case-heading { grid-template-columns: 1fr; }
  .case-metrics { grid-template-columns: 1fr 1fr; }
  .case-metrics article:nth-child(2) { border-right: 0; }
  .case-metrics article:nth-child(-n+2) { border-bottom: 1px solid #bfc3b5; }
  .fangorn-refuges { grid-template-columns: 1fr; }
  .fangorn-refuges img { height: 330px; }
  .fangorn-platform { padding: 38px 30px; }
  .platform-heading { grid-template-columns: 1fr; row-gap: 18px; }
  .platform-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .fangorn-case { padding: 52px 7vw; }
  .case-metrics { grid-template-columns: 1fr; }
  .case-metrics article { border-right: 0; border-bottom: 1px solid #bfc3b5; }
  .case-metrics article:last-child { border-bottom: 0; }
  .fangorn-refuges img { height: 230px; }
  .fangorn-platform { margin-top: 52px; padding: 32px 20px; }
}

.work-showcase {
  padding: 72px 6vw 82px;
  background: linear-gradient(180deg, #f8f3ec 0%, #fff 100%);
}

.hero-visual img[src$="marketing-presence-web.jpg"] {
  object-position: center;
  filter: brightness(.44) sepia(.7) saturate(1.5) contrast(1.15);
}

.hero-visual {
  overflow: hidden;
}

.hero-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
  transform: translateZ(0);
}

.cards article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: 12px;
  align-content: start;
}

.cards article .icon {
  grid-column: 1;
  grid-row: 1;
}

.cards article h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  line-height: 1.12;
  text-align: center;
}

.cards article h3.two-line-centered {
  justify-content: center;
  text-align: center;
  font-size: 18px;
}

.cards article p {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  margin: 24px 0 0;
  text-align: center;
}

.cards article ul {
  grid-column: 1 / -1;
  grid-row: 3;
}

.home-principles {
  padding: 54px 6vw 58px;
  background: linear-gradient(90deg, #f5ede3 0%, #fff 50%, #f5ede3 100%);
  border-bottom: 1px solid #e4d4c5;
}

.principles-heading {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 7vw;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto 34px;
}

.principles-heading h2 {
  margin: 8px 0 0;
  font: 500 clamp(32px, 3vw, 46px)/1.06 Georgia,'Times New Roman',serif;
}

.principles-heading > p {
  margin: 0;
  color: #69594e;
  line-height: 1.7;
}

.principles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 1280px;
  margin: 0 auto;
  border-top: 1px solid #d9c6b3;
}

.principles-grid article {
  padding: 24px 26px 8px;
  border-right: 1px solid #d9c6b3;
}

.principles-grid article:first-child { padding-left: 0; }
.principles-grid article:last-child { padding-right: 0; border-right: 0; }
.principles-grid span { color: #b86e38; font-size: 10px; letter-spacing: .12em; }
.principles-grid h3 { margin: 8px 0; font: 500 22px Georgia,'Times New Roman',serif; }
.principles-grid p { margin: 0; color: #69594e; font-size: 12px; line-height: 1.65; }

@media (max-width: 900px) {
  .principles-heading { grid-template-columns: 1fr; gap: 18px; }
  .principles-grid { grid-template-columns: 1fr 1fr; }
  .principles-grid article { border-bottom: 1px solid #d9c6b3; }
  .principles-grid article:nth-child(2) { border-right: 0; }
  .principles-grid article:nth-child(3) { padding-left: 0; border-bottom: 0; }
  .principles-grid article:nth-child(4) { border-bottom: 0; }
}

@media (max-width: 560px) {
  .home-principles { padding: 46px 7vw 50px; }
  .principles-grid { grid-template-columns: 1fr; }
  .principles-grid article,
  .principles-grid article:first-child,
  .principles-grid article:nth-child(3),
  .principles-grid article:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid #d9c6b3; }
  .principles-grid article:last-child { border-bottom: 0; }
}

@media (min-width: 1051px) {
  .hero,
  .hero-copy,
  .hero-visual {
    height: 620px;
    min-height: 620px;
  }

  .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

@media (min-width: 651px) and (max-width: 1320px) {
  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.work-heading {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 6vw;
  align-items: end;
  max-width: 1280px;
  margin: 0 auto 34px;
}

.work-heading h2 {
  margin: 10px 0 0;
  color: #24170f;
  font: 500 clamp(34px, 4vw, 58px)/1.04 Georgia,'Times New Roman',serif;
}

.work-heading > p {
  margin: 0;
  color: #6c5b4f;
  line-height: 1.75;
}

.work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}

.work-grid article {
  overflow: hidden;
  border: 1px solid #dcccbc;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 22px 55px #40251212;
}

.work-grid article > img {
  width: 100%;
  height: 290px;
  object-fit: cover;
  background: #18120e;
}

.work-grid article:last-child > img {
  object-fit: cover;
  object-position: center;
  padding: 0;
  background: transparent;
}

.work-grid article > div { padding: 30px; }
.work-grid h3 { margin: 8px 0 14px; font: 500 29px/1.12 Georgia,'Times New Roman',serif; }
.work-grid p:not(.eyebrow) { color: #66584e; line-height: 1.65; }
.work-grid ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 24px; padding: 0; list-style: none; }
.work-grid li { padding: 7px 10px; border: 1px solid #decab7; border-radius: 999px; color: #71451f; font-size: 11px; }
.work-grid .btn { margin-top: 18px; color: #29190f; }

@media (max-width: 900px) {
  .work-heading { grid-template-columns: 1fr; }
  .work-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .work-showcase { padding: 52px 7vw 60px; }
  .work-grid article > img { height: 220px; }
  .work-grid article > div { padding: 24px 20px; }
}

/* Page-specific editorial structures */
.page-feature {
  --feature-accent: #bd743e;
  padding: 76px 6vw;
  overflow: hidden;
}

.feature-heading {
  max-width: 760px;
  margin-bottom: 42px;
}

.feature-heading h2 {
  margin: 9px 0 14px;
  font: 500 clamp(34px, 3.8vw, 56px)/1.05 Georgia,'Times New Roman',serif;
  letter-spacing: -.025em;
}

.feature-heading > p:last-child { max-width: 680px; color: #6b5a4d; line-height: 1.72; }
.feature-items article span { color: var(--feature-accent); font-size: 10px; letter-spacing: .14em; }
.feature-items h3 { margin: 8px 0 7px; font: 500 22px/1.14 Georgia,'Times New Roman',serif; }
.feature-items p { margin: 0; font-size: 12px; line-height: 1.65; }

.decision-board {
  background: #211811;
  color: #f8f2eb;
}
.decision-board .feature-heading > p:last-child { color: #cbbbae; }
.decision-board .feature-items { max-width: 1220px; margin-left: auto; border-top: 1px solid #74543c; }
.decision-board .feature-items article { display: grid; grid-template-columns: 70px .65fr 1.35fr; gap: 24px; padding: 22px 0; align-items: baseline; border-bottom: 1px solid #4b382a; }
.decision-board .feature-items p { color: #cbbbae; }

.change-track { background: linear-gradient(135deg,#f1e6d9,#fff 52%,#f5eee5); }
.change-track .feature-heading { margin-left: 0; margin-right: auto; text-align: left; }
.change-track .feature-items { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; max-width: 1260px; margin: 0 auto; }
.change-track .feature-items::before { content: ''; position: absolute; top: 20px; left: 6%; right: 6%; height: 1px; background: #c9956e; }
.change-track .feature-items article { position: relative; padding: 58px 28px 22px; border-left: 1px solid #dbc3b0; }
.change-track .feature-items article:last-child { border-right: 1px solid #dbc3b0; }
.change-track .feature-items article::before { content: ''; position: absolute; top: 14px; left: 24px; width: 13px; height: 13px; border: 4px solid #f7f0e8; border-radius: 50%; background: var(--feature-accent); box-shadow: 0 0 0 1px #bd743e; }

.service-continuum { background: #f9f7f3; }
.service-continuum .feature-heading { max-width: 1000px; }
.service-continuum .feature-items { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.service-continuum .feature-items article { min-height: 220px; padding: 28px; border: 1px solid #dccbbb; border-radius: 10px; background: #fff; box-shadow: 0 15px 40px #42260f0a; }
.service-continuum .feature-items article:nth-child(even) { transform: translateY(28px); background: #2a1e16; color: #f5eee6; }
.service-continuum .feature-items article:nth-child(even) p { color: #cfbfb2; }

.content-orbit { position: relative; background: #1d1713; color: #f7f0e8; }
.content-orbit::after { content: ''; position: absolute; width: 470px; height: 470px; right: -170px; bottom: -210px; border: 1px solid #9a6845; border-radius: 50%; box-shadow: 0 0 0 70px #6f45251c,0 0 0 140px #6f452512; }
.content-orbit .feature-heading > p:last-child { color: #cdbfb5; }
.content-orbit .feature-items { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.2fr 1fr; grid-template-areas: 'a hub b' 'c hub d'; gap: 14px; max-width: 1140px; }
.content-orbit .feature-items::before { content: 'CheyOr'; grid-area: hub; display: grid; place-items: center; min-height: 280px; border: 1px solid #a97149; border-radius: 50%; color: #e6a56f; font: 500 38px Georgia,'Times New Roman',serif; }
.content-orbit .feature-items article { padding: 24px; border: 1px solid #5a4231; background: #281e18; }
.content-orbit .feature-items article:nth-child(1){grid-area:a}.content-orbit .feature-items article:nth-child(2){grid-area:b}.content-orbit .feature-items article:nth-child(3){grid-area:c}.content-orbit .feature-items article:nth-child(4){grid-area:d}
.content-orbit .feature-items p { color: #cdbfb5; }

.decision-matrix { background: #f4ede4; }
.decision-matrix .feature-heading { display: grid; grid-template-columns: .8fr 1.2fr; column-gap: 6vw; max-width: none; align-items: end; }
.decision-matrix .feature-heading .eyebrow { grid-column: 1/-1; }
.decision-matrix .feature-heading h2,.decision-matrix .feature-heading > p:last-child { margin-bottom: 0; }
.decision-matrix .feature-items { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #cfb9a5; background: #fff; }
.decision-matrix .feature-items article { padding: 28px; border-right: 1px solid #cfb9a5; }
.decision-matrix .feature-items article:last-child { border-right: 0; }
.decision-matrix .feature-items article:nth-child(3) { background: #2a1e16; color: #fff; }
.decision-matrix .feature-items article:nth-child(3) p { color: #d4c5ba; }

.manifesto-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7vw; background: #fff; }
.manifesto-grid .feature-heading { margin: 0; position: sticky; top: 120px; align-self: start; }
.manifesto-grid .feature-heading h2 { font-size: clamp(42px,5vw,74px); }
.manifesto-grid .feature-items { border-top: 1px solid #d5c0ae; }
.manifesto-grid .feature-items article { display: grid; grid-template-columns: 52px 1fr; padding: 29px 0; border-bottom: 1px solid #d5c0ae; }
.manifesto-grid .feature-items article h3,.manifesto-grid .feature-items article p { grid-column: 2; }

.product-layers { background: linear-gradient(120deg,#eaf3f5,#fff); }
.product-layers .feature-heading { max-width: 900px; }
.product-layers .feature-items { display: flex; flex-direction: column; max-width: 1050px; margin-left: auto; }
.product-layers .feature-items article { width: calc(100% - var(--offset)); margin-left: var(--offset); padding: 20px 28px; border: 1px solid #aac3ca; background: #fff; box-shadow: 0 10px 30px #1f687116; }
.product-layers .feature-items article:nth-child(1){--offset:0px}.product-layers .feature-items article:nth-child(2){--offset:45px}.product-layers .feature-items article:nth-child(3){--offset:90px}.product-layers .feature-items article:nth-child(4){--offset:135px}
.product-layers .feature-items h3 { display: inline-block; min-width: 190px; }
.product-layers .feature-items p { display: inline; color: #50686d; }

/* Legal and privacy pages */
.legal-hero { padding: 110px 8vw 74px; background: #211811; color: #fff; }
.legal-hero h1 { max-width: 920px; margin: 12px 0; font: 500 clamp(44px,6vw,78px)/1 Georgia,'Times New Roman',serif; }
.legal-hero > p:last-child { color: #cdbeb2; }
.legal-content { max-width: 980px; margin: 0 auto; padding: 72px 7vw 90px; }
.legal-content section { display: grid; grid-template-columns: .42fr 1fr; gap: 5vw; padding: 30px 0; border-bottom: 1px solid #ddcbbb; }
.legal-content h2 { margin: 0; font: 500 26px Georgia,'Times New Roman',serif; }
.legal-content p { margin: 0; color: #62544a; line-height: 1.75; }
.legal-content nav { display: flex; gap: 12px; margin-top: 38px; }
.legal-content .btn.outline { color: var(--text); background: transparent; }
.legal-content .btn.outline:hover { color: #fff; background: var(--brown); border-color: var(--brown); }
footer .legal a { color: inherit; text-decoration: none; }
footer .legal a:hover { color: var(--gold); }

.form-trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.privacy-inline { color: #8b532c; text-decoration: underline; text-underline-offset: 2px; }
.contact-form button:disabled { cursor: wait; opacity: .62; }
.top a:focus-visible,.btn:focus-visible,.language-switcher summary:focus-visible,.contact-form :focus-visible { outline: 3px solid #e8a56d; outline-offset: 3px; }

/* Accessibility, Safari and Apple-device refinements */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a, button, summary, input, select, textarea { -webkit-tap-highlight-color: rgba(215,148,82,.22); }
.top {
  padding-left: calc(2.2vw + env(safe-area-inset-left));
  padding-right: calc(2.2vw + env(safe-area-inset-right));
}
footer { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
.skip-link {
  position: fixed;
  z-index: 1000;
  top: calc(8px + env(safe-area-inset-top));
  left: calc(8px + env(safe-area-inset-left));
  padding: 11px 16px;
  border-radius: 5px;
  background: #fff;
  color: #251a13;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-180%);
  transition: transform .18s ease;
}
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }
.not-found {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 90px max(7vw, env(safe-area-inset-left));
  background: radial-gradient(circle at 72% 40%, #8b552b55, transparent 34%), #17130f;
  color: #fff;
}
.not-found h1 { margin: 14px 0; font: 600 clamp(48px,7vw,92px)/1 Georgia,'Times New Roman',serif; }
.not-found > p:not(.eyebrow) { max-width: 650px; color: #ddd2c7; font-size: 17px; }
.not-found .buttons { flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 850px) {
  .page-feature { padding: 58px 7vw; }
  .decision-board .feature-items article { grid-template-columns: 42px 1fr; }
  .decision-board .feature-items p { grid-column: 2; }
  .change-track .feature-items,.service-continuum .feature-items,.decision-matrix .feature-items { grid-template-columns: 1fr 1fr; }
  .change-track .feature-items::before { display: none; }
  .change-track .feature-items article { padding-top: 30px; border-bottom: 1px solid #dbc3b0; }
  .service-continuum .feature-items article:nth-child(even) { transform: none; }
  .content-orbit .feature-items { grid-template-columns: 1fr 1fr; grid-template-areas: 'hub hub' 'a b' 'c d'; }
  .content-orbit .feature-items::before { min-height: 180px; border-radius: 100px; }
  .decision-matrix .feature-heading,.manifesto-grid { grid-template-columns: 1fr; }
  .manifesto-grid .feature-heading { position: static; }
  .product-layers .feature-items article { width: auto; margin-left: 0; }
}

@media (max-width: 1050px) {
  .top nav.open {
    min-height: calc(100svh - 76px);
    max-height: calc(100svh - 76px);
    overflow-y: auto;
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
    background: #17130f;
  }
}

@media (max-width: 560px) {
  .change-track .feature-items,.service-continuum .feature-items,.decision-matrix .feature-items,.content-orbit .feature-items { grid-template-columns: 1fr; }
  .content-orbit .feature-items { grid-template-areas: 'hub' 'a' 'b' 'c' 'd'; }
  .decision-matrix .feature-items article { border-right: 0; border-bottom: 1px solid #cfb9a5; }
  .legal-hero { padding: 78px 7vw 54px; }
  .legal-content section { grid-template-columns: 1fr; gap: 12px; }
  .legal-content nav { flex-direction: column; align-items: flex-start; }
}


.contact-form-section {
  padding: 72px 6vw;
  background: linear-gradient(120deg, #f4ebdf 0%, #fff 58%);
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 7vw;
  align-items: start;
}

.contact-intro {
  position: sticky;
  top: 118px;
}

.contact-intro h2 {
  font: 500 clamp(34px, 3.4vw, 52px)/1.08 Georgia,'Times New Roman',serif;
  margin: 14px 0 20px;
}

.contact-intro > p:not(.eyebrow) {
  max-width: 520px;
  color: #5a4b40;
}

.contact-form {
  padding: 36px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 18px 55px #50311912;
}

.form-required-legend {
  margin: 0 0 24px;
  padding: 11px 13px;
  border-left: 3px solid var(--copper);
  background: #faf5ee;
  color: #6b5c50;
  font-size: 11px;
}

.form-required-legend b {
  color: #a84d2d;
  font-size: 15px;
}

.required-note {
  color: #a84d2d;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  white-space: nowrap;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.contact-form label {
  display: block;
  margin-bottom: 20px;
  color: #38291f;
  font-size: 12px;
  font-weight: 600;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 13px 14px;
  border: 1px solid #d8c9bc;
  border-radius: 5px;
  background: #fdfbf8;
  color: var(--text);
  font: 14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  transition: border-color .2s, box-shadow .2s;
}

.contact-form textarea {
  resize: vertical;
  min-height: 150px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: 0;
  border-color: var(--copper);
  box-shadow: 0 0 0 3px #ba74401f;
}

.contact-form .consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 400;
  color: #6b5c50;
}

.contact-form .consent input {
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--copper);
  flex: 0 0 auto;
}

.contact-form button {
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

.form-status {
  margin: 14px 0 0;
  color: #6d513c;
  font-size: 12px;
}

.form-status.error {
  color: #a33b2f;
}

@media (max-width: 900px) {
  .contact-form-section { grid-template-columns: 1fr; }
  .contact-intro { position: static; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 650px) {
  .contact-form-section { padding: 52px 7vw; }
  .contact-form { padding: 24px 18px; }
}


/* WordPress block-theme compatibility */
body{--wp--style--global--content-size:none;--wp--style--global--wide-size:none}
.wp-site-blocks{padding:0!important}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
.wp-block-template-part{margin:0!important;max-width:none!important;width:100%!important}
main.wp-block-group{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.wp-block-post-content{display:contents;margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.wp-block-post-content>*{margin-block-start:0!important;margin-block-end:0!important;max-width:none!important;width:100%!important}
.hero,.home-principles,.section,.clarify,.feature-section,.contact-form-section,.legal-hero,.legal-content,.contact-strip{margin-block-start:0!important;margin-block-end:0!important;max-width:none!important;width:100%!important}
.footer-grid>div:first-child img{display:block;width:180px!important;height:auto!important;max-width:100%!important;object-fit:contain}
@media(min-width:1051px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important}
  .hero-copy{display:grid!important;grid-template-rows:minmax(0,.35fr) auto auto auto minmax(28px,.65fr) auto;align-content:stretch!important;padding:60px 3vw 40px 6vw!important}
  .hero-copy::before,.hero-copy::after{content:"";display:block;pointer-events:none}
  .hero-copy::before{grid-row:1}
  .hero-copy>.eyebrow{grid-row:2;margin:0!important;align-self:start}
  .hero-copy>h1{grid-row:3;margin:20px 0 25px!important;align-self:start}
  .hero-copy>p:not(.eyebrow){grid-row:4;margin:0!important;max-width:720px!important;align-self:start}
  .hero-copy::after{grid-row:5}
  .hero-copy>.buttons{grid-row:6;margin:0!important;align-self:start}
}
@media(min-width:1051px) and (max-width:1500px){
    .hero h1{font-size:clamp(40px,4.1vw,56px)!important}
  .hero-copy>p:not(.eyebrow){font-size:14px!important;line-height:1.55!important}
}
  @media(min-width:1151px) and (max-width:1400px){
  .top{gap:10px;padding-left:1.2vw;padding-right:1.2vw}
  .logo img{width:145px}
  .top nav{gap:9px}
  .top nav a{font-size:11.5px}
    .top-cta{padding:10px 11px;font-size:10.5px}
  }
  @media(min-width:1501px){
    .hero{height:640px!important;min-height:640px!important}
    .hero-copy{height:640px!important;min-height:640px!important}
    .hero-visual{min-height:640px!important}
  }
.wp-block-post-title{display:none!important}
header.wp-block-template-part.top{position:sticky}
body.admin-bar header.wp-block-template-part.top{top:32px}
body.admin-bar header.top{top:32px}
@media(max-width:782px){body.admin-bar header.wp-block-template-part.top,body.admin-bar header.top{top:46px}}

/* CheyOr finishing pass — editorial hierarchy, responsive navigation and stable surfaces. */
body { font-size: 15px; }
.section, .home-principles, .page-feature, .fangorn-case { padding-top: clamp(52px, 7vw, 96px); padding-bottom: clamp(52px, 7vw, 96px); }
.section > header h2, .section h2, .page-feature h2 { font-size: clamp(34px, 4vw, 58px); letter-spacing: -.025em; }
.home-principles { background: var(--cream); }
.home-principles .principles-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr); gap:8vw; align-items:end; max-width:1180px; margin:0 auto 48px; }
.home-principles .principles-heading h2 { font:500 clamp(38px,5vw,72px)/.98 Georgia,'Times New Roman',serif; margin:14px 0 0; letter-spacing:-.04em; }
.home-principles .principles-heading > p { max-width:620px; font-size:clamp(16px,1.5vw,21px); line-height:1.5; }
.principles-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:1180px; margin:auto; border-top:1px solid var(--line); }
.principles-grid article { padding:24px 22px 8px 0; border-right:1px solid var(--line); margin-right:22px; }
.principles-grid article:last-child { border-right:0; margin-right:0; }
.principles-grid span { color:var(--copper); font-weight:700; font-size:12px; }
.principles-grid h3 { font:500 24px Georgia,'Times New Roman',serif; margin:26px 0 10px; }
.principles-grid p { font-size:14px; max-width:220px; }
.opero { min-height:420px; padding-top:clamp(52px,6vw,88px); padding-bottom:0; }
.opero h2 { font-size:clamp(42px,5vw,72px); line-height:.98; }
.opero p { font-size:16px; max-width:520px; }
.fangorn-case { background:#eee9dd; }
body, main, .site-main, .wp-site-blocks { background:var(--cream); }
.top { min-height:76px; }
.top nav a, .top-cta { font-size:clamp(10px, .72vw, 12px); }
@media (min-width:783px) and (max-width:1120px) {
  .top { gap:12px; padding:0 1.4vw; }
  .top nav { gap:9px; }
  .top nav a { font-size:10px; }
  .top-cta { padding:11px 12px; font-size:10px; }
  .logo img { width:155px; }
}
@media (max-width:782px) {
  .home-principles .principles-heading { grid-template-columns:1fr; gap:8px; margin-bottom:30px; }
  .principles-grid { grid-template-columns:1fr 1fr; }
  .principles-grid article:nth-child(2) { border-right:0; margin-right:0; }
  .principles-grid article:nth-child(3), .principles-grid article:nth-child(4) { border-top:1px solid var(--line); }
  .section h2, .page-feature h2 { font-size:clamp(34px,9vw,50px); }
}
@media (max-width:520px) {
  .principles-grid { grid-template-columns:1fr; }
  .principles-grid article, .principles-grid article:nth-child(2) { border-right:0; border-top:1px solid var(--line); margin-right:0; }
}

/* Opero: benefits and product evolution, without exposing implementation details. */
.opero-capabilities, .opero-future { padding:clamp(60px,8vw,108px) 6vw; color:var(--text); }
.opero-capabilities { background:#f8f2e9; }
.opero-future { background:#eee9dd; }
.apps-heading { max-width:780px; margin:0 auto 42px; text-align:center; }
.apps-heading h2 { font:500 clamp(34px,4vw,58px)/1.02 Georgia,'Times New Roman',serif; margin:14px 0; letter-spacing:-.025em; }
.apps-heading > p:last-child { max-width:680px; margin:0 auto; font-size:clamp(16px,1.5vw,19px); line-height:1.55; color:#5f5045; }
.apps-grid, .opero-future-grid { max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.apps-grid article, .opero-future-grid article { padding:30px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 32px #4b2b1510; }
.app-kicker, .opero-future-grid article > span { color:var(--copper); font-weight:700; font-size:12px; letter-spacing:.08em; }
.apps-grid h3, .opero-future-grid h3 { font:500 28px Georgia,'Times New Roman',serif; margin:14px 0 10px; }
.apps-grid p, .opero-future-grid p { margin:0; color:#5f5045; line-height:1.6; }
.apps-note { max-width:1180px; margin:22px auto 0; padding:18px 22px; border-left:3px solid var(--copper); background:#fffaf4; font-size:14px; }
@media (max-width:782px) { .apps-grid, .opero-future-grid { grid-template-columns:1fr; } .apps-grid article, .opero-future-grid article { padding:24px; } }

/* Domaine de Fangorn: communicate the scope through outcomes, not feature lists. */
.fangorn-benefits { padding:clamp(60px,8vw,108px) 6vw; background:#f8f2e9; color:var(--text); }
.fangorn-benefits-grid { max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); }
.fangorn-benefits-grid article { padding:28px 26px 24px 0; margin-right:26px; border-right:1px solid var(--line); }
.fangorn-benefits-grid article:last-child { border-right:0; margin-right:0; }
.fangorn-benefits-grid span { color:var(--copper); font-size:12px; font-weight:700; letter-spacing:.08em; }
.fangorn-benefits-grid h3 { font:500 25px Georgia,'Times New Roman',serif; margin:18px 0 10px; }
.fangorn-benefits-grid p { margin:0; color:#5f5045; line-height:1.6; }
@media (max-width:900px) { .fangorn-benefits-grid { grid-template-columns:1fr 1fr; } .fangorn-benefits-grid article:nth-child(2) { border-right:0; margin-right:0; } .fangorn-benefits-grid article:nth-child(n+3) { border-top:1px solid var(--line); padding-top:28px; } }
@media (max-width:520px) { .fangorn-benefits-grid { grid-template-columns:1fr; } .fangorn-benefits-grid article, .fangorn-benefits-grid article:nth-child(2) { border-right:0; border-top:1px solid var(--line); margin-right:0; padding-top:28px; } .fangorn-benefits-grid article:first-child { border-top:0; } }

/* About: show how a real working practice can become a durable product. */
.about-evolution { padding:clamp(60px,8vw,108px) 6vw; background:#eee9dd; color:var(--text); }
.about-evolution-inner { max-width:1180px; margin:auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr); gap:8vw; align-items:end; }
.about-evolution h2 { font:500 clamp(38px,5vw,70px)/.98 Georgia,'Times New Roman',serif; margin:14px 0 0; letter-spacing:-.04em; }
.about-evolution-copy { max-width:630px; font-size:clamp(16px,1.45vw,19px); line-height:1.6; color:#5f5045; }
.about-evolution-copy p { margin:0 0 18px; }
.about-evolution-copy strong { color:var(--text); }
@media (max-width:782px) { .about-evolution-inner { grid-template-columns:1fr; gap:22px; } }

/* Clear service explanations: outcomes first, without a catalogue of mechanics. */
.cheyor-capabilities { padding:clamp(60px,8vw,108px) 6vw; background:#f8f2e9; color:var(--text); }
.cheyor-capabilities.alt { background:#eee9dd; }
.capabilities-heading { max-width:800px; margin:0 auto 68px; text-align:center; }
.capabilities-heading h2 { font:500 clamp(36px,4.5vw,64px)/1.02 Georgia,'Times New Roman',serif; margin:14px 0; letter-spacing:-.03em; }
.capabilities-heading > p:last-child { max-width:710px; margin:0 auto; color:#5f5045; font-size:clamp(16px,1.45vw,19px); line-height:1.6; }
.capabilities-grid { max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.capabilities-grid article { padding:28px 24px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 12px 32px #4b2b1510; }
.capabilities-grid span { color:var(--copper); font-size:12px; font-weight:700; letter-spacing:.08em; }
.capabilities-grid h3 { font:500 25px Georgia,'Times New Roman',serif; margin:16px 0 10px; }
.capabilities-grid p { margin:0; color:#5f5045; line-height:1.6; }
.capabilities-note { max-width:1180px; margin:22px auto 0; padding:18px 22px; background:#fffaf4; border-left:3px solid var(--copper); color:#5f5045; }
@media (max-width:980px) { .capabilities-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .capabilities-grid { grid-template-columns:1fr; } .capabilities-grid article { padding:24px; } }

/* Gutenberg natif — couche de compatibilité fidèle au rendu CheyOr 1.4.14. */
.wp-block-group,
.wp-block-buttons,
.wp-block-image,
.wp-block-list { margin-block-start:0; margin-block-end:0; }
.wp-block-group:where(.hero,.section,.clarify,.contact-strip,.contact-form-section,.page-feature,.home-principles,.fangorn-case,.fangorn-benefits,.opero-capabilities,.opero-future,.about-evolution,.cheyor-capabilities) { max-width:none; }
.hero-visual > .wp-block-image { width:100%; height:100%; }
.hero-visual > .wp-block-image img { display:block; width:100%; height:100%; object-fit:cover; }
.opero-media > .wp-block-image { width:100%; height:100%; }
.opero-media > .wp-block-image img { display:block; width:100%; height:100%; object-fit:contain; }

/* Les boutons restent des blocs Gutenberg, le style est porté par leur lien. */
.wp-block-button.btn { display:block; padding:0; border:0; border-radius:0; background:none; color:inherit; }
.wp-block-button.btn > .wp-block-button__link {
  display:inline-flex; align-items:center; min-height:44px; padding:14px 20px;
  border-radius:4px; text-decoration:none; font-weight:600; font-size:12px;
  line-height:1.35; box-shadow:none;
}
.wp-block-button.filled > .wp-block-button__link { background:linear-gradient(135deg,#d69461,#aa6336); color:#fff; }
.wp-block-button.outline > .wp-block-button__link { border:1px solid var(--gold); background:transparent; color:#fff; }
.wp-block-button.dark > .wp-block-button__link { background:var(--brown); color:#fff; }
.wp-block-button.btn > .wp-block-button__link span { margin-left:14px; }

/* Éléments courts convertis en paragraphes éditables. */
p.cheyor-span,p.cheyor-inline-b { margin:0; }
.cards p.icon.cheyor-span { display:inline-grid; margin:0; min-height:0; }
.clarify article > p.cheyor-span { flex:0 0 auto; font-size:32px; line-height:1; color:var(--copper); }
.step-grid p.cheyor-inline-b { display:grid; place-items:center; position:relative; z-index:1; width:28px; height:28px; border-radius:50%; margin:0 auto 18px; background:var(--brown); color:#fff; font-weight:700; }
.step-grid p.cheyor-span { font-size:38px; line-height:1.2; color:var(--copper); }
.principles-grid p.cheyor-span,
.platform-grid article > p.cheyor-span,
.feature-items article p.cheyor-span,
.opero-future-grid article > p.cheyor-span,
.fangorn-benefits-grid p.cheyor-span,
.capabilities-grid p.cheyor-span { color:var(--copper); font-size:12px; font-weight:700; letter-spacing:.08em; }
.send > p { margin:0; }

/* Contact 2.4 — le contenu reste Gutenberg, Jetpack garde tout le fonctionnel. */
.cheyor-jetpack-contact {
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:clamp(44px,7vw,118px);
  align-items:start;
}

.cheyor-jetpack-contact .contact-intro {
  min-width:0;
}

.cheyor-jetpack-contact .contact-details article {
  display:flex;
  flex-wrap:nowrap;
}

.cheyor-jetpack-contact .contact-location-icon {
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  margin:0;
  border-radius:50%;
  background:var(--brown);
  color:var(--gold);
  font-size:18px;
}

.cheyor-jetpack-contact .contact-detail-label {
  margin:0;
  color:#8b7665;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.cheyor-jetpack-contact .contact-detail-value {
  margin:3px 0 0;
  color:var(--text);
  font-size:13px;
}

.cheyor-jetpack-contact .contact-form-shell {
  min-width:0;
  padding:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px #50311912;
}

.cheyor-jetpack-contact .form-required-legend {
  width:100%;
  margin:0 0 26px!important;
  padding:13px 15px;
  border-left:3px solid var(--copper);
  background:#faf5ee;
  color:#6b5c50;
  font-size:13px;
}

.cheyor-jetpack-contact .form-required-legend strong {
  color:#a84d2d;
}

/* Neutralise l'ancien style "liste" sans modifier le bloc de consentement. */
.cheyor-jetpack-contact .is-style-list {
  list-style:none!important;
  padding-left:0!important;
}

.cheyor-jetpack-contact form.contact-form,
.cheyor-jetpack-contact .wp-block-jetpack-contact-form-container,
.cheyor-jetpack-contact .wp-block-jetpack-contact-form {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.cheyor-jetpack-contact form.contact-form {
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.cheyor-jetpack-contact .cheyor-form-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px 18px!important;
  align-items:start!important;
}

.cheyor-jetpack-contact .grunion-field-wrap,
.cheyor-jetpack-contact [class*="wp-block-jetpack-field-"] {
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  flex-basis:auto!important;
}

.cheyor-jetpack-contact .grunion-field-select-wrap,
.cheyor-jetpack-contact .grunion-field-textarea-wrap,
.cheyor-jetpack-contact .grunion-field-consent-wrap,
.cheyor-jetpack-contact .contact-submit,
.cheyor-jetpack-contact .wp-block-jetpack-field-select,
.cheyor-jetpack-contact .wp-block-jetpack-field-textarea,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent,
.cheyor-jetpack-contact .wp-block-jetpack-button,
.cheyor-jetpack-contact .wp-block-buttons,
.cheyor-jetpack-contact .wp-block-jetpack-contact-form__response {
  grid-column:1 / -1!important;
}

.cheyor-jetpack-contact label,
.cheyor-jetpack-contact .grunion-field-label {
  display:block!important;
  width:auto!important;
  margin:0 0 8px!important;
  color:#38291f!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1.35!important;
  white-space:normal!important;
}

.cheyor-jetpack-contact .required,
.cheyor-jetpack-contact .required-note,
.cheyor-jetpack-contact .grunion-label-required {
  color:#a84d2d!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:500!important;
}

.cheyor-jetpack-contact input:not([type="checkbox"]):not([type="radio"]),
.cheyor-jetpack-contact select,
.cheyor-jetpack-contact textarea {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:13px 14px!important;
  border:1px solid #d8c9bc!important;
  border-radius:5px!important;
  background:#fdfbf8!important;
  color:var(--text)!important;
  font:14px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  box-shadow:none!important;
}

.cheyor-jetpack-contact input:not([type="checkbox"]):not([type="radio"]),
.cheyor-jetpack-contact select {
  min-height:50px!important;
}

.cheyor-jetpack-contact textarea {
  min-height:170px!important;
  resize:vertical;
}

.cheyor-jetpack-contact input:focus,
.cheyor-jetpack-contact select:focus,
.cheyor-jetpack-contact textarea:focus {
  outline:0!important;
  border-color:var(--copper)!important;
  box-shadow:0 0 0 3px #ba74401f!important;
}

.cheyor-jetpack-contact .grunion-field-consent-wrap,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent {
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  column-gap:10px!important;
  align-items:start!important;
}

.cheyor-jetpack-contact .grunion-field-consent-wrap input[type="checkbox"],
.cheyor-jetpack-contact .wp-block-jetpack-field-consent input[type="checkbox"] {
  grid-column:1!important;
  width:17px!important;
  height:17px!important;
  margin:2px 0 0!important;
  accent-color:var(--copper);
}

.cheyor-jetpack-contact .grunion-field-consent-wrap label,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent label {
  grid-column:2!important;
  margin:0!important;
  color:#6b5c50!important;
  font-weight:400!important;
}

/* Jetpack ajoute ce texte pour l'opt-in marketing : il ne fait pas partie du consentement demandé. */
.cheyor-jetpack-contact .wp-block-jetpack-field-consent__description,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent .field-consent-description,
.cheyor-jetpack-contact .grunion-field-consent-wrap .grunion-field-description,
.cheyor-jetpack-contact .grunion-field-consent-wrap .contact-form__disclaimer,
.cheyor-jetpack-contact .contact-form__disclaimer {
  display:none!important;
}

.cheyor-jetpack-contact button[type="submit"],
.cheyor-jetpack-contact input[type="submit"],
.cheyor-jetpack-contact .wp-block-button__link {
  display:inline-flex!important;
  width:auto!important;
  min-height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 20px!important;
  border:0!important;
  border-radius:4px!important;
  background:linear-gradient(135deg,#d69461,#aa6336)!important;
  color:#fff!important;
  font:600 13px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  text-decoration:none!important;
  cursor:pointer;
}

.cheyor-jetpack-contact .contact-submit,
.cheyor-jetpack-contact .wp-block-buttons {
  margin:4px 0 0!important;
  justify-content:flex-start!important;
}

/* Éditeur : même grille générale, sans masquer les commandes Gutenberg. */
.editor-styles-wrapper .cheyor-jetpack-contact .contact-form-shell {
  min-width:0;
}

@media (max-width:900px) {
  .cheyor-jetpack-contact {
    grid-template-columns:1fr!important;
  }
  .cheyor-jetpack-contact .contact-intro {
    position:static;
  }
}

@media (max-width:650px) {
  .cheyor-jetpack-contact .contact-form-shell {
    padding:24px 18px;
  }
  .cheyor-jetpack-contact .cheyor-form-grid {
    grid-template-columns:1fr!important;
  }
  .cheyor-jetpack-contact .grunion-field-wrap,
  .cheyor-jetpack-contact [class*="wp-block-jetpack-field-"] {
    grid-column:1!important;
  }
}

/* Jetpack Forms — une seule grille, au niveau qui contient réellement les champs. */
.cheyor-jetpack-contact .jetpack-contact-form-container,
.cheyor-jetpack-contact form.contact-form,
.cheyor-jetpack-contact form.jetpack-contact-form__form {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.cheyor-jetpack-contact form.jetpack-contact-form__form {
  display:block!important;
  margin:0!important;
}

.cheyor-jetpack-contact .cheyor-form-grid,
.cheyor-jetpack-contact form.cheyor-form-grid {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:20px 28px!important;
  width:100%!important;
  min-width:0!important;
  align-items:start!important;
}

.cheyor-jetpack-contact .cheyor-form-grid > [data-jp-field-id],
.cheyor-jetpack-contact .cheyor-form-grid > .grunion-field-wrap {
  grid-column:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

/* Même composition que le français dans chaque langue. */
.cheyor-localized-contact .cheyor-form-grid > *:has(button[type="submit"], input[type="submit"]) {
  grid-column:1/-1!important;
}
.cheyor-localized-contact .cheyor-form-grid > *:has(textarea) {
  order:80!important;
  grid-column:1!important;
  grid-row:4!important;
}
.cheyor-localized-contact .cheyor-form-grid > *:has(input[type="checkbox"]) {
  order:90!important;
  grid-column:2!important;
  grid-row:4!important;
}
.cheyor-localized-contact .cheyor-form-grid > *:has(button[type="submit"], input[type="submit"]) {order:100!important;}

.cheyor-jetpack-contact [data-cheyor-field="first"] {order:10;}
.cheyor-jetpack-contact [data-cheyor-field="last"] {order:20;}
.cheyor-jetpack-contact [data-cheyor-field="organization"] {order:30;}
.cheyor-jetpack-contact [data-cheyor-field="email"] {order:40;}
.cheyor-jetpack-contact [data-cheyor-field="phone"] {order:50;}
.cheyor-jetpack-contact [data-cheyor-field="subject"] {order:60;}
.cheyor-jetpack-contact [data-cheyor-field="website"] {order:70;}
.cheyor-jetpack-contact [data-cheyor-field="message"] {order:80;}
.cheyor-jetpack-contact [data-cheyor-field="consent"] {order:90;}
.cheyor-localized-contact [data-cheyor-field="consent"] {
  grid-column:2!important;
  grid-row:4!important;
}
.cheyor-jetpack-contact [data-cheyor-field="other"] {order:75;grid-column:1/-1!important;}

.cheyor-jetpack-contact .cheyor-form-grid > .contact-submit,
.cheyor-jetpack-contact .cheyor-form-grid > .cheyor-submit-row,
.cheyor-jetpack-contact .cheyor-form-grid > button[type="submit"],
.cheyor-jetpack-contact .cheyor-form-grid > input[type="submit"],
.cheyor-jetpack-contact .cheyor-form-grid > .wp-block-buttons,
.cheyor-jetpack-contact .cheyor-form-grid > .wp-block-jetpack-button,
.cheyor-jetpack-contact .cheyor-form-grid > [class*="form-response"],
.cheyor-jetpack-contact .cheyor-form-grid > [class*="form-error"] {
  grid-column:1/-1!important;
  order:100;
  min-width:0!important;
}

/* CheyOr 2.7.10 — annule définitivement l'ancienne matrice réservée aux
   traductions. Cette règle ne dépend pas du moment où le guide est initialisé. */
@media(min-width:651px){
  .cheyor-localized-contact .cheyor-form-grid > [data-cheyor-field="phone"]{grid-row:3!important;grid-column:1!important}
  .cheyor-localized-contact .cheyor-form-grid > [data-cheyor-field="website"]{grid-row:3!important;grid-column:2!important}
  .cheyor-localized-contact .cheyor-form-grid > [data-cheyor-field="message"]{grid-row:4!important;grid-column:1!important}
  .cheyor-localized-contact .cheyor-form-grid > [data-cheyor-field="consent"]{grid-row:4!important;grid-column:2!important}
  .cheyor-localized-contact .cheyor-form-grid > .cheyor-submit-row{grid-row:5!important;grid-column:1!important}
}

/* Les formulaires traduits reprennent le bouton compact du formulaire français. */
.cheyor-localized-contact .cheyor-form-grid > .cheyor-submit-row {
  grid-column:1!important;
  width:max-content!important;
  max-width:100%!important;
}

.cheyor-jetpack-contact .jetpack-field__input-phone-wrapper {
  display:flex!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  padding:0!important;
  border:1px solid #decbbd!important;
  border-radius:5px!important;
  background:#fffdfa!important;
  box-sizing:border-box!important;
}

.cheyor-jetpack-contact .jetpack-field__input-prefix,
.cheyor-jetpack-contact .jetpack-custom-combobox {
  flex:0 0 auto!important;
  min-width:0!important;
}

.cheyor-jetpack-contact .jetpack-combobox-trigger {
  min-height:48px!important;
  padding:0 12px!important;
  border:0!important;
  border-right:1px solid #decbbd!important;
  border-radius:0!important;
  background:transparent!important;
  color:#31251e!important;
  box-shadow:none!important;
}

.cheyor-jetpack-contact .jetpack-field__input-phone-wrapper > input,
.cheyor-jetpack-contact .jetpack-field__input-phone-wrapper .jetpack-field__input-element {
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  border:0!important;
  border-radius:0 5px 5px 0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.cheyor-jetpack-contact [data-cheyor-field="consent"],
.cheyor-jetpack-contact .grunion-field-consent-wrap,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent {
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

.cheyor-jetpack-contact [data-cheyor-field="consent"] > label,
.cheyor-jetpack-contact .grunion-field-consent-wrap > label.grunion-field-label.consent,
.cheyor-jetpack-contact .grunion-field-consent-wrap label,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent label {
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:#6e6056!important;
  font-weight:400!important;
  line-height:1.5!important;
}

.cheyor-jetpack-contact [data-cheyor-field="consent"] label *,
.cheyor-jetpack-contact .grunion-field-consent-wrap label *,
.cheyor-jetpack-contact .wp-block-jetpack-field-consent label *,
.cheyor-jetpack-contact .cheyor-consent-copy {
  font-style:normal!important;
  font-weight:400!important;
}

.cheyor-jetpack-contact [data-cheyor-field="consent"] input[type="checkbox"] {
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin:2px 0 0!important;
}

.cheyor-jetpack-contact .cheyor-consent-copy {
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  white-space:normal!important;
}

.cheyor-jetpack-contact .privacy-inline {
  display:block!important;
  margin-top:18px!important;
  color:#965426!important;
  font-weight:400!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}

.cheyor-jetpack-contact .required-note {
  display:block!important;
  color:#a84d2d!important;
  font-style:normal!important;
  font-weight:500!important;
}

.cheyor-jetpack-contact [hidden] {
  display:none!important;
}

.cheyor-jetpack-contact button[type="submit"],
.cheyor-jetpack-contact input[type="submit"] {
  min-height:48px!important;
  padding:13px 22px!important;
  border:0!important;
  border-radius:4px!important;
  background:linear-gradient(135deg,#d69461,#aa6336)!important;
  color:#fff!important;
  font-weight:600!important;
  box-shadow:none!important;
}

.cheyor-jetpack-contact .cheyor-button-arrow {
  margin-left:14px;
}

.editor-styles-wrapper .cheyor-jetpack-contact .wp-block-jetpack-contact-form,
.editor-styles-wrapper .cheyor-jetpack-contact .jetpack-contact-form-container {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

@media (max-width:650px) {
  .cheyor-jetpack-contact .cheyor-form-grid,
  .cheyor-jetpack-contact form.cheyor-form-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .cheyor-localized-contact .cheyor-form-grid > [data-jp-field-id],
  .cheyor-localized-contact .cheyor-form-grid > .grunion-field-wrap {
    grid-column:1!important;
    grid-row:auto!important;
  }
  .cheyor-localized-contact .cheyor-form-grid > .cheyor-submit-row,
  .cheyor-localized-contact .cheyor-form-grid > .contact-submit {
    grid-column:1!important;
    grid-row:auto!important;
  }
}


/* CheyOr 2.5.7 — parcours de demande guidé par tuiles */
.cheyor-guided-request{margin:0 0 26px;padding:24px;border:1px solid #e1d4c6;border-radius:22px;background:linear-gradient(145deg,#fffdf9,#f8f1e8);box-shadow:0 16px 38px rgba(54,34,18,.07)}
.cheyor-guided-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.cheyor-guided-head h3{margin:4px 0 5px;font:600 25px/1.15 Georgia,'Times New Roman',serif;color:#2d1c11}
.cheyor-guided-head p{margin:0;color:#71665c;font-size:12px}
.cheyor-guided-progress{white-space:nowrap;color:#9b6b45;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cheyor-guided-step[hidden]{display:none!important}
.cheyor-guided-step h4{margin:0 0 13px;font-size:13px;color:#4a3525}
.cheyor-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cheyor-choice-tile{appearance:none;width:100%;min-height:78px;padding:14px 15px;border:1px solid #ded0c1;border-radius:14px;background:#fff;text-align:left;color:#2b2018;cursor:pointer;transition:.16s ease;box-shadow:none}
.cheyor-choice-tile:hover,.cheyor-choice-tile:focus{border-color:#bd7338;transform:translateY(-1px);box-shadow:0 8px 18px rgba(96,57,26,.08);outline:none}
.cheyor-choice-tile.is-selected{border:2px solid #bd7338;background:#fff9f2}
.cheyor-choice-tile strong{display:block;font-size:13px;margin-bottom:4px}
.cheyor-choice-tile small{display:block;color:#7b7066;font-size:11px;line-height:1.35}
.cheyor-guided-actions{display:flex;justify-content:space-between;gap:10px;margin-top:15px}
.cheyor-guided-back{appearance:none;border:0;background:transparent;color:#8b5a35;font-weight:700;cursor:pointer;padding:8px 0}
.cheyor-guided-summary{display:grid;gap:8px;padding:14px;border:1px solid #d7e3d9;border-radius:14px;background:#f7fbf8}
.cheyor-guided-summary div{display:flex;gap:8px;align-items:baseline}
.cheyor-guided-summary small{min-width:105px;color:#758078;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.cheyor-guided-summary strong{font-size:12px;color:#214936}
.cheyor-guided-precision{width:100%;min-height:44px;margin-top:10px;padding:10px 12px;border:1px solid #d8cabc;border-radius:10px;background:#fff}
.cheyor-guided-done{margin-top:12px;color:#315f48;font-size:11px;font-weight:700}
.cheyor-guided-request + .form-required-legend{margin-top:18px}
@media(max-width:700px){.cheyor-guided-request{padding:18px}.cheyor-tile-grid{grid-template-columns:1fr}.cheyor-guided-head{flex-direction:column;gap:7px}.cheyor-guided-summary div{display:grid;gap:2px}.cheyor-guided-summary small{min-width:0}}


/* 2.5.7 — parcours Fangorn : les choix précédents restent visibles */
.cheyor-guided-step{padding-top:4px}
.cheyor-guided-step + .cheyor-guided-step{margin-top:18px;padding-top:18px;border-top:1px solid #eadfd3}
.cheyor-choice-tile.is-selected{border:2px solid #bd7338!important;background:#fff7ed!important;box-shadow:0 8px 20px rgba(103,62,27,.10)}
.cheyor-choice-tile.is-selected strong{color:#8f5428}
.cheyor-native-need-hidden{display:none!important}

/* Les pages de contact traduites ne doivent pas créer une carte dans une carte. */
.contact-form-shell .cheyor-contact-form-host{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
}
.cheyor-contact-form-host > .cheyor-guided-request{margin-top:0}


/* 2.5.7 Preview — une seule couche visuelle sur Contact, toutes langues */
.contact-form-shell .contact-form-shell,
.contact-form-shell .cheyor-contact-form-host,
.contact-form-section .contact-form-shell .cheyor-contact-form-host,
.cheyor-jetpack-contact .contact-form-shell .cheyor-contact-form-host{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
}
.contact-form-shell .contact-form-shell{
    width:100%!important;
    max-width:none!important;
}
.contact-form-shell > .cheyor-guided-request:first-child,
.cheyor-contact-form-host > .cheyor-guided-request:first-child{
    margin-top:0!important;
}


/* 2.6.2 DOM Contact — une seule vraie carte blanche */
.contact-form-shell {
    background:#fff!important;
}
.contact-form-shell > *:not(.cheyor-guided-request),
.contact-form-shell .wp-block-group,
.contact-form-shell .wp-block-columns,
.contact-form-shell .wp-block-column,
.contact-form-shell .wp-block-jetpack-contact-form,
.contact-form-shell .wp-block-jetpack-contact-form-container,
.contact-form-shell .contact-form,
.contact-form-shell .grunion-field-wrap,
.contact-form-shell .cheyor-contact-form-host {
    box-shadow:none!important;
}
.contact-form-shell .wp-block-jetpack-contact-form,
.contact-form-shell .wp-block-jetpack-contact-form-container,
.contact-form-shell .contact-form,
.contact-form-shell .cheyor-contact-form-host {
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
}
.contact-form-shell .wp-block-jetpack-contact-form,
.contact-form-shell .wp-block-jetpack-contact-form-container,
.contact-form-shell .cheyor-contact-form-host {
    padding:0!important;
    margin:0!important;
    max-width:none!important;
    width:100%!important;
}

/* Guide généré côté navigateur */
.cheyor-guided-request.cheyor-guided-dom {
    width:100%!important;
    margin:0 0 22px!important;
    padding:20px!important;
    border:1px solid #e7d9cc!important;
    border-radius:14px!important;
    background:#fffaf5!important;
    box-sizing:border-box!important;
}
.cheyor-guided-dom .cheyor-guided-kicker {
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#a46231;
    font-weight:700;
    margin-bottom:6px;
}
.cheyor-guided-dom .cheyor-guided-title {
    font-size:24px;
    line-height:1.15;
    margin:0 0 6px;
}
.cheyor-guided-dom .cheyor-guided-subtitle {
    margin:0 0 16px;
    color:#6f6257;
}
.cheyor-guided-dom .cheyor-guided-step[hidden]{display:none!important}
.cheyor-guided-dom .cheyor-guided-step + .cheyor-guided-step{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #eadfd3;
}
.cheyor-guided-dom .cheyor-guided-step-label{
    font-weight:700;
    margin:0 0 10px;
}
.cheyor-guided-dom .cheyor-tile-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.cheyor-guided-dom .cheyor-choice-tile{
    appearance:none;
    text-align:left;
    border:1px solid #dfd1c4;
    background:#fff;
    border-radius:12px;
    padding:14px;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    gap:4px;
    min-height:88px;
}
.cheyor-guided-dom .cheyor-choice-tile strong{
    font-size:15px;
    line-height:1.25;
}
.cheyor-guided-dom .cheyor-choice-tile small{
    color:#766a61;
    line-height:1.35;
}
.cheyor-guided-dom .cheyor-choice-tile.is-selected{
    grid-column:1/-1!important;
    width:100%!important;
    border:2px solid #bd7338!important;
    background:#fff4e9!important;
}
.cheyor-guided-dom .cheyor-choice-tile[hidden]{display:none!important}
.cheyor-guided-dom textarea.cheyor-guided-precision{
    width:100%;
    min-height:88px;
    margin-top:10px;
}
@media(max-width:780px){
    .cheyor-guided-dom .cheyor-tile-grid{grid-template-columns:1fr}
}

/* CheyOr 2.7.2 — moteur Contact guidé unique, détection structurelle et hero multilingue. */
.cheyor-guided-request:not([data-cheyor-status="ready"]){display:none}

.contact-form-shell{
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:36px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px #50311912;
}

.contact-form-shell .contact-form-shell,
.contact-form-shell > form,
.contact-form-shell form.jetpack-contact-form__form,
.contact-form-shell form.contact-form,
.contact-form-shell .contact-form,
.contact-form-shell .jetpack-contact-form,
.contact-form-shell .jetpack-contact-form-container,
.contact-form-shell .wp-block-jetpack-contact-form-container,
.contact-form-shell .wp-block-jetpack-contact-form,
.contact-form-shell .cheyor-contact-form-host{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Le formulaire Jetpack peut être rendu directement ou via un bloc ref. Dans
   les deux cas, aucune surface interne ne doit redevenir une seconde carte. */
.contact-form-section .contact-form-shell > form,
.contact-form-section .contact-form-shell .cheyor-contact-form-host,
.contact-form-section .contact-form-shell .jetpack-contact-form-container,
.contact-form-section .contact-form-shell .wp-block-jetpack-contact-form-container,
.contact-form-section .contact-form-shell .wp-block-jetpack-contact-form{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.cheyor-guided-request[data-cheyor-status="ready"]{
  display:block;
  margin:0 0 26px;
}

.cheyor-choice-tile.is-selected{
  grid-column:1/-1;
}

.cheyor-choice-tile small:empty{display:none}

.cheyor-guided-precision-label{
  display:block;
  margin-top:18px;
  color:#4a3525;
  font-size:12px;
  font-weight:600;
}

.cheyor-guided-precision-label .cheyor-guided-precision{
  display:block;
  width:100%;
  margin-top:8px;
}

/* Le guide pilote la valeur du select natif, qui reste soumis par Jetpack.
   Le wrapper doit sortir entièrement de la grille : s'il reste en display:block,
   il réserve une cellule invisible et décale Website, Message et Consentement. */
.cheyor-native-need-hidden{
  display:none!important;
}

@media(max-width:700px){
  .contact-form-shell{padding:22px}
  .cheyor-tile-grid{grid-template-columns:1fr}
}

/* CheyOr 2.7.3 — CTA de fin de page robuste aux anciens contenus Gutenberg.
   Certaines pages traduites ont enregistré les trois enfants dans un ordre
   différent. Les zones explicites empêchent alors le texte de tomber dans la
   colonne étroite réservée à l'icône. */
.contact-strip > .send{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  margin:0!important;
}

.contact-strip > .wp-block-group:not(.send){
  grid-column:2;
  grid-row:1;
  width:auto!important;
  max-width:none!important;
  min-width:0;
  margin:0!important;
}

.contact-strip > .wp-block-buttons{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

/* Supprime uniquement les séparateurs vides hérités placés entre le CTA et le
   footer. Aucun contenu éditorial non vide n'est masqué. */
.contact-strip ~ .wp-block-spacer,
.contact-strip ~ p:empty,
.contact-strip ~ p:has(> br:only-child),
.contact-strip ~ .wp-block-group:empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

footer{margin:0!important}

@media(max-width:1050px){
  .contact-strip > .wp-block-buttons{
    grid-column:2;
    grid-row:2;
    justify-self:start;
  }
}

/* CheyOr 2.7.4 — hauteur desktop identique dans toutes les langues.
   96 px correspond au rendu compact validé en français et en italien. Le
   responsive reste automatique, car le bouton passe sous le texte sous
   1050 px. */
@media(min-width:1051px){
  html body main#main-content section.wp-block-group.contact-strip{
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding-top:15px!important;
    padding-bottom:15px!important;
    grid-template-rows:66px!important;
    align-content:center!important;
    overflow:hidden!important;
  }
}

@media(max-width:1050px){
  html body main#main-content section.wp-block-group.contact-strip{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:auto!important;
    overflow:visible!important;
  }
}

/* CheyOr 2.7.6 — neutralise l'espacement Gutenberg interne qui décalait et
   rognait le titre du CTA espagnol dans la hauteur desktop commune. */
html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send){
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:center!important;
  gap:0!important;
}

html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send) > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

@media(min-width:1051px){
  html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send){
    height:66px!important;
    min-height:0!important;
    max-height:66px!important;
    overflow:visible!important;
  }
}

/* CheyOr 2.7.7 — annule les coordonnées résiduelles d'anciens blocs traduits.
   Le groupe et ses deux lignes suivent uniquement le centrage du CTA. */
html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send),
html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send) > h2,
html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send) > p{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
}

html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send){
  padding:0!important;
}

/* CheyOr 2.7.11 — règle terminale fondée uniquement sur la coque réellement
   commune aux sept formulaires. Elle gagne aussi contre d'anciennes
   coordonnées inline et ne dépend d'aucune classe de langue ou d'état. */
@media(min-width:651px){
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-cheyor-field="phone"]{
    grid-row:3!important;grid-column:1!important
  }
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-cheyor-field="website"]{
    grid-row:3!important;grid-column:2!important
  }
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-cheyor-field="message"]{
    grid-row:4!important;grid-column:1!important
  }
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-cheyor-field="consent"]{
    grid-row:4!important;grid-column:2!important
  }
  html body main#main-content .contact-form-shell .cheyor-form-grid > .cheyor-submit-row{
    grid-row:5!important;grid-column:1!important
  }
}

/* CheyOr 2.7.9 — le formulaire français est la matrice visuelle des six
   langues étrangères. Après initialisation du guide, toutes les grilles
   utilisent les mêmes cellules et le select masqué ne réserve aucune case. */
@media(min-width:651px){
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="first"]{grid-row:1!important;grid-column:1!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="last"]{grid-row:1!important;grid-column:2!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="organization"]{grid-row:2!important;grid-column:1!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="email"]{grid-row:2!important;grid-column:2!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="phone"]{grid-row:3!important;grid-column:1!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="website"]{grid-row:3!important;grid-column:2!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="message"]{grid-row:4!important;grid-column:1!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field="consent"]{grid-row:4!important;grid-column:2!important}
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > .cheyor-submit-row{grid-row:5!important;grid-column:1!important}
}

@media(max-width:650px){
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > [data-cheyor-field],
  .cheyor-jetpack-contact .cheyor-form-grid.cheyor-guided-layout-ready > .cheyor-submit-row{
    grid-row:auto!important;
    grid-column:1!important;
  }
}

@media(min-width:1051px){
  html body main#main-content section[data-cheyor-canonical-contact-strip]{overflow:visible!important}
  html body main#main-content section[data-cheyor-canonical-contact-strip] > .contact-strip-copy{
    display:grid!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    align-self:stretch!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send) > h2,
html body main#main-content section.wp-block-group.contact-strip > .wp-block-group:not(.send) > p{
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
}


/* CheyOr 2.7.18 — formulaire Contact réellement responsive sur iPhone.
   Jetpack peut injecter ses propres layouts grid/flex sur les wrappers de champs.
   Sous 650 px, on neutralise ces layouts et on impose un flux vertical unique. */
@media (max-width:650px) {
  .cheyor-jetpack-contact,
  .cheyor-jetpack-contact .contact-form-shell,
  .cheyor-jetpack-contact .cheyor-contact-form-host,
  .cheyor-jetpack-contact .jetpack-contact-form-container,
  .cheyor-jetpack-contact .wp-block-jetpack-contact-form-container,
  .cheyor-jetpack-contact .wp-block-jetpack-contact-form,
  .cheyor-jetpack-contact form.contact-form,
  .cheyor-jetpack-contact form.jetpack-contact-form__form {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .cheyor-jetpack-contact .contact-form-shell {
    padding:22px 16px!important;
    overflow:hidden!important;
  }

  .cheyor-jetpack-contact .cheyor-form-grid,
  .cheyor-jetpack-contact form.cheyor-form-grid,
  .cheyor-jetpack-contact .wp-block-jetpack-contact-form {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:18px!important;
  }

  .cheyor-jetpack-contact .cheyor-form-grid > *,
  .cheyor-jetpack-contact .wp-block-jetpack-contact-form > [class*="wp-block-jetpack-field-"],
  .cheyor-jetpack-contact .grunion-field-wrap,
  .cheyor-jetpack-contact [class*="wp-block-jetpack-field-"] {
    display:block!important;
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  .cheyor-jetpack-contact label,
  .cheyor-jetpack-contact .grunion-field-label,
  .cheyor-jetpack-contact .wp-block-jetpack-label {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 7px!important;
    position:static!important;
    float:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .cheyor-jetpack-contact input:not([type="checkbox"]):not([type="radio"]),
  .cheyor-jetpack-contact select,
  .cheyor-jetpack-contact textarea,
  .cheyor-jetpack-contact .jetpack-field__input-phone-wrapper {
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    float:none!important;
    box-sizing:border-box!important;
  }

  .cheyor-jetpack-contact textarea {
    min-height:150px!important;
  }

  .cheyor-jetpack-contact .grunion-field-consent-wrap,
  .cheyor-jetpack-contact .wp-block-jetpack-field-consent {
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:0 10px!important;
    align-items:start!important;
  }

  .cheyor-jetpack-contact .grunion-field-consent-wrap input[type="checkbox"],
  .cheyor-jetpack-contact .wp-block-jetpack-field-consent input[type="checkbox"] {
    grid-column:1!important;
    grid-row:1!important;
    width:18px!important;
    height:18px!important;
    margin:3px 0 0!important;
  }

  .cheyor-jetpack-contact .grunion-field-consent-wrap label,
  .cheyor-jetpack-contact .wp-block-jetpack-field-consent label {
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    margin:0!important;
  }

  .cheyor-localized-contact .cheyor-form-grid > [data-cheyor-field],
  .cheyor-localized-contact .cheyor-form-grid > *:has(textarea),
  .cheyor-localized-contact .cheyor-form-grid > *:has(input[type="checkbox"]),
  .cheyor-localized-contact .cheyor-form-grid > *:has(button[type="submit"], input[type="submit"]),
  .cheyor-jetpack-contact .cheyor-form-grid > .contact-submit,
  .cheyor-jetpack-contact .cheyor-form-grid > .cheyor-submit-row,
  .cheyor-jetpack-contact .cheyor-form-grid > .wp-block-buttons {
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:100%!important;
  }

  .cheyor-jetpack-contact button[type="submit"],
  .cheyor-jetpack-contact input[type="submit"],
  .cheyor-jetpack-contact .wp-block-button__link {
    max-width:100%!important;
  }
}


/* CheyOr 2.7.19 — correction terminale iPhone.
   Sur petit écran on abandonne totalement la grille 2 colonnes du formulaire :
   le conteneur réel des champs devient un flux flex vertical. Cela neutralise
   aussi les coordonnées grid-row/grid-column héritées des versions desktop. */
@media (max-width:650px) {
  html body main#main-content .cheyor-jetpack-contact .cheyor-form-grid,
  html body main#main-content .cheyor-jetpack-contact form.cheyor-form-grid,
  html body main#main-content .contact-form-shell .cheyor-form-grid,
  html body main#main-content .contact-form-shell form.cheyor-form-grid {
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:18px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  html body main#main-content .contact-form-shell .cheyor-form-grid > *,
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-cheyor-field],
  html body main#main-content .contact-form-shell .cheyor-form-grid > [data-jp-field-id],
  html body main#main-content .contact-form-shell .cheyor-form-grid > .grunion-field-wrap,
  html body main#main-content .contact-form-shell .cheyor-form-grid > [class*="wp-block-jetpack-field-"],
  html body main#main-content .contact-form-shell .cheyor-form-grid > .cheyor-submit-row,
  html body main#main-content .contact-form-shell .cheyor-form-grid > .contact-submit {
    display:block!important;
    position:static!important;
    float:none!important;
    flex:0 0 auto!important;
    order:initial!important;
    grid-area:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    inset:auto!important;
    transform:none!important;
  }

  html body main#main-content .contact-form-shell .cheyor-form-grid > [hidden],
  html body main#main-content .contact-form-shell .cheyor-form-grid > .cheyor-native-need-hidden {
    display:none!important;
  }

  html body main#main-content .contact-form-shell .grunion-field-wrap,
  html body main#main-content .contact-form-shell [class*="wp-block-jetpack-field-"] {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  html body main#main-content .contact-form-shell label,
  html body main#main-content .contact-form-shell .grunion-field-label {
    display:block!important;
    position:static!important;
    float:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  html body main#main-content .contact-form-shell input:not([type="checkbox"]):not([type="radio"]),
  html body main#main-content .contact-form-shell select,
  html body main#main-content .contact-form-shell textarea {
    display:block!important;
    float:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* Le consentement garde seulement sa petite grille interne checkbox + texte. */
  html body main#main-content .contact-form-shell [data-cheyor-field="consent"],
  html body main#main-content .contact-form-shell .grunion-field-consent-wrap,
  html body main#main-content .contact-form-shell .wp-block-jetpack-field-consent {
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:0 10px!important;
    align-items:start!important;
  }

  html body main#main-content .contact-form-shell [data-cheyor-field="consent"] label,
  html body main#main-content .contact-form-shell .grunion-field-consent-wrap label,
  html body main#main-content .contact-form-shell .wp-block-jetpack-field-consent label {
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }
}


/* CheyOr 2.7.20 — navigation réellement adaptative sur iPad.
   Priorité : texte lisible et aéré. Le menu complet n'est conservé que
   lorsqu'il peut respirer ; sinon on bascule proprement sur le menu compact. */

/* Grand iPad paysage / petits écrans desktop : menu complet, texte nettement lisible. */
@media (min-width:1281px) and (max-width:1500px) {
  .top {
    min-height:76px!important;
    gap:10px!important;
    padding-left:1.05vw!important;
    padding-right:1.05vw!important;
  }

  .logo {
    flex:0 0 auto!important;
  }

  .logo img {
    width:128px!important;
    height:58px!important;
  }

  .top nav {
    display:flex!important;
    position:static!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:76px!important;
    padding:0!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:space-between!important;
    gap:6px!important;
    background:transparent!important;
  }

  .top nav a {
    flex:0 0 auto!important;
    padding:0 2px!important;
    font-size:13.5px!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
  }

  .language-switcher {
    flex:0 0 auto!important;
  }

  .language-switcher summary {
    min-width:58px!important;
    padding:10px 10px!important;
    font-size:12px!important;
  }

  .top-cta {
    flex:0 0 auto!important;
    padding:11px 13px!important;
    font-size:11.5px!important;
  }

  .top-cta span {
    margin-left:8px!important;
  }

  .menu {
    display:none!important;
  }
}

/* Entre iPad portrait et les largeurs où 9 titres ne respirent plus :
   passage au menu compact plutôt que réduction excessive de la typographie. */
@media (min-width:783px) and (max-width:1280px) {
  .top {
    min-height:76px!important;
    height:76px!important;
    gap:14px!important;
    padding:0 22px!important;
  }

  .logo img {
    width:160px!important;
    height:60px!important;
  }

  .top nav {
    display:none!important;
    position:absolute!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    height:auto!important;
    max-height:calc(100vh - 76px)!important;
    overflow:auto!important;
    padding:22px 26px 26px!important;
    background:#17130ff7!important;
    backdrop-filter:blur(16px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    border-top:1px solid #ffffff18!important;
    box-shadow:0 20px 45px #0005!important;
  }

  .top nav.open {
    display:flex!important;
  }

  .top nav a {
    display:flex!important;
    width:100%!important;
    min-height:44px!important;
    align-items:center!important;
    padding:9px 4px!important;
    font-size:15px!important;
    line-height:1.25!important;
    white-space:normal!important;
    border-bottom:1px solid #ffffff10!important;
  }

  .top nav a.active:after {
    left:0!important;
    right:auto!important;
    bottom:4px!important;
    width:34px!important;
  }

  .language-switcher {
    margin-left:auto!important;
  }

  .language-switcher summary {
    font-size:13px!important;
    padding:10px 12px!important;
  }

  .top-cta {
    padding:11px 14px!important;
    font-size:12px!important;
  }

  .top-cta span {
    margin-left:8px!important;
  }

  .menu {
    display:block!important;
    flex:0 0 auto!important;
    font-size:27px!important;
    line-height:1!important;
    padding:8px!important;
  }
}

/* Très grands écrans : ne pas laisser l'ancienne formule clamp ramener
   artificiellement le menu à une taille microscopique. */
@media (min-width:1501px) {
  .top nav a {
    font-size:14px!important;
  }

  .top-cta {
    font-size:12.5px!important;
  }
}


/* CheyOr 2.7.21 — iPad : détection par capacité tactile plutôt que par
   seule largeur CSS. Safari iPad peut exposer un viewport "desktop" large,
   ce qui empêchait les breakpoints 2.7.20 de s'appliquer. */

/* iPad / tablette tactile paysage avec assez de place :
   menu complet, mais typographie réellement lisible. */
@media (any-pointer:coarse) and (min-width:1180px) {
  header.top {
    min-height:78px!important;
    height:78px!important;
    padding:0 18px!important;
    gap:12px!important;
  }

  header.top .logo {
    flex:0 0 auto!important;
  }

  header.top .logo img {
    width:145px!important;
    height:auto!important;
  }

  header.top nav#primary-navigation {
    display:flex!important;
    position:static!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:78px!important;
    padding:0!important;
    flex-direction:row!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:8px!important;
    background:transparent!important;
    overflow:visible!important;
  }

  header.top nav#primary-navigation > a {
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    padding:0 2px!important;
    font-size:14.5px!important;
    line-height:1.15!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
  }

  header.top .language-switcher {
    flex:0 0 auto!important;
    margin-left:0!important;
  }

  header.top .language-switcher summary {
    min-width:58px!important;
    padding:11px 10px!important;
    font-size:13px!important;
  }

  header.top .top-cta {
    flex:0 0 auto!important;
    padding:12px 14px!important;
    font-size:12.5px!important;
    white-space:nowrap!important;
  }

  header.top button.menu {
    display:none!important;
  }
}

/* iPad / tablette tactile plus étroite :
   on ne miniaturise jamais les 9 liens ; passage au menu compact. */
@media (any-pointer:coarse) and (min-width:783px) and (max-width:1179px) {
  header.top {
    min-height:78px!important;
    height:78px!important;
    padding:0 20px!important;
    gap:14px!important;
  }

  header.top .logo img {
    width:155px!important;
    height:auto!important;
  }

  header.top nav#primary-navigation {
    display:none!important;
    position:absolute!important;
    top:78px!important;
    left:0!important;
    right:0!important;
    height:auto!important;
    max-height:calc(100vh - 78px)!important;
    overflow:auto!important;
    padding:20px 24px 24px!important;
    background:#17130ff7!important;
    backdrop-filter:blur(16px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    box-shadow:0 20px 45px #0005!important;
  }

  header.top nav#primary-navigation.open {
    display:flex!important;
  }

  header.top nav#primary-navigation > a {
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    width:100%!important;
    padding:10px 4px!important;
    font-size:15px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }

  header.top .language-switcher {
    margin-left:auto!important;
  }

  header.top .language-switcher summary {
    font-size:13px!important;
  }

  header.top .top-cta {
    padding:11px 13px!important;
    font-size:12px!important;
  }

  header.top button.menu {
    display:block!important;
    flex:0 0 auto!important;
    font-size:28px!important;
    line-height:1!important;
    padding:8px!important;
  }
}


/* CheyOr 2.7.22 — iPad paysage : conserver une typo confortable,
   mais donner un traitement légèrement plus compact uniquement aux titres longs. */
@media (any-pointer:coarse) and (min-width:1180px) {
  header.top {
    gap:9px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  header.top .logo img {
    width:136px!important;
  }

  header.top nav#primary-navigation {
    gap:5px!important;
    justify-content:space-between!important;
  }

  /* Liens courts : restent grands. */
  header.top nav#primary-navigation > a {
    font-size:14.25px!important;
    padding-left:1px!important;
    padding-right:1px!important;
    letter-spacing:-.018em!important;
  }

  /* Titres naturellement longs dans les 7 langues :
     Transformation, Services, Marketing, Achats. */
  header.top nav#primary-navigation > a:nth-child(3),
  header.top nav#primary-navigation > a:nth-child(4),
  header.top nav#primary-navigation > a:nth-child(5),
  header.top nav#primary-navigation > a:nth-child(6) {
    font-size:13.2px!important;
    letter-spacing:-.025em!important;
  }

  header.top .language-switcher summary {
    min-width:54px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }

  header.top .top-cta {
    padding-left:12px!important;
    padding-right:12px!important;
    font-size:12px!important;
  }
}

/* Si la largeur tactile devient vraiment limite, on préfère le compact
   plutôt que de laisser les longs titres entrer en collision. */
@media (any-pointer:coarse) and (min-width:1180px) and (max-width:1225px) {
  header.top nav#primary-navigation {
    display:none!important;
  }

  header.top button.menu {
    display:block!important;
    flex:0 0 auto!important;
    font-size:28px!important;
    line-height:1!important;
    padding:8px!important;
  }

  header.top nav#primary-navigation.open {
    display:flex!important;
    position:absolute!important;
    top:78px!important;
    left:0!important;
    right:0!important;
    height:auto!important;
    max-height:calc(100vh - 78px)!important;
    overflow:auto!important;
    padding:20px 24px 24px!important;
    background:#17130ff7!important;
    backdrop-filter:blur(16px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    box-shadow:0 20px 45px #0005!important;
  }

  header.top nav#primary-navigation.open > a {
    width:100%!important;
    min-height:46px!important;
    padding:10px 4px!important;
    font-size:15px!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
}


/* CheyOr 2.7.23 — validation Contact mobile.
   Les erreurs Jetpack restent visibles mais deviennent sobres ; les conteneurs
   réellement vides sont masqués par guided-contact.js. */
@media (max-width:650px) {
  html body main#main-content .contact-form-shell .contact-form__error,
  html body main#main-content .contact-form-shell .contact-form__errors,
  html body main#main-content .contact-form-shell .wp-block-jetpack-contact-form__response,
  html body main#main-content .contact-form-shell [class*="form-error"],
  html body main#main-content .contact-form-shell [class*="form-response"][role="alert"],
  html body main#main-content .contact-form-shell [role="alert"].contact-form__error {
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    margin:14px 0!important;
    padding:12px 14px!important;
    border:1px solid #d9aa98!important;
    border-left:3px solid #a84d2d!important;
    border-radius:8px!important;
    background:#fff7f3!important;
    color:#7c3826!important;
    box-shadow:none!important;
    font-size:15px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }

  html body main#main-content .contact-form-shell .contact-form__error:empty,
  html body main#main-content .contact-form-shell .contact-form__errors:empty,
  html body main#main-content .contact-form-shell .wp-block-jetpack-contact-form__response:empty,
  html body main#main-content .contact-form-shell [class*="form-error"]:empty,
  html body main#main-content .contact-form-shell [class*="form-response"][role="alert"]:empty {
    display:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    min-height:0!important;
    background:transparent!important;
  }

  html body main#main-content .contact-form-shell [aria-invalid="true"] {
    border-color:#c78670!important;
    box-shadow:0 0 0 1px #c7867033!important;
  }

  html body main#main-content .contact-form-shell .contact-submit,
  html body main#main-content .contact-form-shell .cheyor-submit-row,
  html body main#main-content .contact-form-shell .wp-block-buttons {
    margin-top:8px!important;
  }
}




/* CheyOr 2.7.27 — accueil FR desktop : même hauteur de hero que les autres pages.
   Le hero revient à 640 px ; seuls les espacements internes de l'accueil FR
   sont légèrement compactés pour que les deux CTA restent entièrement visibles. */
@media (min-width:1501px) and (hover:hover) and (pointer:fine) {
  html[lang^="fr"] body.home .hero,
  html[lang^="fr"] body.home .hero-copy,
  html[lang^="fr"] body.home .hero-visual {
    height:640px!important;
    min-height:640px!important;
  }

  html[lang^="fr"] body.home .hero-copy {
    padding:48px 3vw 28px 6vw!important;
    grid-template-rows:minmax(0,.22fr) auto auto auto minmax(16px,.38fr) auto!important;
  }

  html[lang^="fr"] body.home .hero-copy > h1 {
    margin:14px 0 18px!important;
  }
}

/* Mentions légales — 7 langues : bouton retour sombre par défaut,
   et non uniquement au survol. */
.legal-content .wp-block-button.btn.outline > .wp-block-button__link {
  background:var(--brown)!important;
  color:#fff!important;
  border-color:var(--brown)!important;
}
.legal-content .wp-block-button.btn.outline > .wp-block-button__link:hover {
  background:#17110d!important;
  color:#fff!important;
  border-color:#17110d!important;
}


/* CheyOr 2.7.30 — contraste des CTA outline.
   Le style global 2.7.x mettait le texte de TOUS les boutons outline en blanc,
   y compris sur les cartes et sections blanches. */
.wp-block-button.outline > .wp-block-button__link {
  color:var(--brown)!important;
}
.hero .wp-block-button.outline > .wp-block-button__link,
.contact-strip .wp-block-button.outline > .wp-block-button__link {
  color:#fff!important;
}
.wp-block-button.outline > .wp-block-button__link:hover {
  background:var(--brown);
  border-color:var(--brown);
  color:#fff!important;
}


/* CheyOr 2.7.31 — cartes expertise similaires.
   Le titre est centré par rapport à la largeur TOTALE de la carte,
   et non par rapport à la zone restante après l'icône. */
.cards article h3 {
  grid-column:1 / -1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:stretch!important;
  min-height:48px!important;
  padding-left:62px!important;
  padding-right:62px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative;
  z-index:1;
}
.cards article .icon {
  grid-column:1!important;
  grid-row:1!important;
  position:relative;
  z-index:2;
}

/* Questions à clarifier / Questions to clarify / équivalents traduits :
   davantage d'air entre le titre de section et les quatre questions. */
.clarify > header {
  margin-bottom:22px!important;
}

@media (max-width:650px) {
  .cards article h3 {
    padding-left:58px!important;
    padding-right:16px!important;
  }
  .clarify > header {
    margin-bottom:18px!important;
  }
}


/* CheyOr 2.7.32 — même respiration que sous « Questions… » :
   +22px après le texte d’introduction des blocs CheyOr capabilities,
   dans les 7 langues. */


/* CheyOr 2.7.33 — correction effective de la respiration avant les cartes.
   La couche Gutenberg située plus bas annulait la marge de `.capabilities-heading`.
   On impose ici l'espace final, après le paragraphe et avant la grille,
   avec la même respiration visuelle que les sections `.clarify`. */
.cheyor-capabilities .capabilities-heading {
  margin:0 auto 22px!important;
}

@media (max-width:650px) {
  .cheyor-capabilities .capabilities-heading {
    margin-bottom:18px!important;
  }
}


/* CheyOr 2.7.34 — respiration cohérente entre texte d'introduction et cartes.
   Couvre TOUTES les structures équivalentes, sur TOUTES les pages et dans les 7 langues.
   On neutralise les marges basses historiques des blocs d'introduction puis on porte
   l'espace sur la grille suivante : rendu stable même avec les styles Gutenberg. */

.principles-heading,
.capabilities-heading,
.feature-heading,
.work-heading,
.platform-heading,
.apps-heading {
  margin-bottom:0!important;
}

.principles-heading + .principles-grid,
.capabilities-heading + .capabilities-grid,
.feature-heading + .feature-items,
.work-heading + .work-grid,
.platform-heading + .platform-grid,
.apps-heading + .fangorn-benefits-grid,
.apps-heading + .apps-grid,
.apps-heading + .opero-future-grid {
  margin-top:28px!important;
}

@media (max-width:650px) {
  .principles-heading + .principles-grid,
  .capabilities-heading + .capabilities-grid,
  .feature-heading + .feature-items,
  .work-heading + .work-grid,
  .platform-heading + .platform-grid,
  .apps-heading + .fangorn-benefits-grid,
  .apps-heading + .apps-grid,
  .apps-heading + .opero-future-grid {
    margin-top:22px!important;
  }
}


/* CheyOr 2.7.36 — encarts sous les cartes uniformisés.
   Référence visuelle : capabilities-note (une seule ligne compacte).
   Les deux paragraphes Gutenberg d'Opero restent éditables mais s'affichent
   comme une seule phrase continue, sans hauteur inutile. */
.apps-note {
  max-width:1180px!important;
  margin:22px auto 0!important;
  padding:18px 22px!important;
  border-left:3px solid var(--copper)!important;
  background:#fffaf4!important;
  color:#5f5045!important;
  font-size:inherit!important;
  line-height:1.6!important;
}
.apps-note > p {
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  line-height:inherit!important;
}
.apps-note > p + p::before {
  content:" "!important;
}

/* Même géométrie pour l'encart de référence. */
.capabilities-note {
  max-width:1180px!important;
  margin:22px auto 0!important;
  padding:18px 22px!important;
  border-left:3px solid var(--copper)!important;
  background:#fffaf4!important;
  color:#5f5045!important;
  line-height:1.6!important;
}

/* 2.7.37 — Fangorn project CTA: never overlap the project heading. */
@media (max-width: 650px) {
  .fangorn-visit { margin-top:22px!important; }
}


/* CheyOr 2.7.48 — Opero public support/privacy links for TestFlight readiness. */
.opero-resources { padding:42px 7vw; background:var(--sand); display:flex; align-items:center; justify-content:space-between; gap:28px; border-top:1px solid var(--line); }
.opero-resources > .wp-block-group { max-width:680px; }
.opero-resources h2 { margin:8px 0 8px; font:500 clamp(28px,3.4vw,44px)/1.05 Georgia,'Times New Roman',serif; }
.opero-resources p:not(.eyebrow) { margin:0; color:#62544a; }
.opero-resources .buttons { margin-top:0; flex:0 0 auto; }
@media(max-width:850px){ .opero-resources { flex-direction:column; align-items:flex-start; } .opero-resources .buttons { margin-top:4px; } }
@media(max-width:520px){ .opero-resources .buttons { width:100%; flex-direction:column; } .opero-resources .wp-block-button, .opero-resources .wp-block-button__link { width:100%; } }
