500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--orange:#f36a12;--orange2:#d9570b;--ink:#24211f;--muted:#57514b;--cream:#eee2d1;--line:#d8c8b5;--white:#fff;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Quicksand',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}
.site-header{height:92px;padding:10px 5.5%;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px;margin-right:auto}.brand img{width:70px;height:70px}.brand strong{display:block;font-family:'Quicksand',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:29px;color:var(--orange2)}.brand small{display:block;font-size:15px;line-height:1.25;color:var(--ink)}nav{display:flex;gap:30px;font-size:16px}nav a{padding:8px 0}nav a:hover{color:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 22px;border-radius:8px;font-weight:600;transition:.2s}.btn-orange{background:var(--orange);color:#24211f}.btn-orange:hover{background:var(--orange2);transform:translateY(-1px)}.btn-outline{border:1px solid var(--orange);color:var(--ink)}.btn-outline:hover{background:#fff7f0}.btn-light{background:#fff;color:var(--orange2)}.menu{display:none;border:0;background:none;font-size:25px}
.hero{min-height:500px;display:grid;grid-template-columns:1.15fr .85fr;background:linear-gradient(110deg,#fff 0%,#fbf5ee 62%,#f8e4d2 100%);overflow:hidden}.hero-copy{padding:72px 6% 55px}.eyebrow{font-size:13px;letter-spacing:3px;color:var(--orange2);font-weight:700;margin:0 0 13px}.hero h1,h2{font-family:'Quicksand',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:500;line-height:1.05}.hero h1{font-size:61px;margin:0 0 22px}.hero h1 em,h2 em{font-style:normal;color:var(--orange2)}.lead{font-size:19px;max-width:610px;margin:0 0 27px}.actions{display:flex;gap:14px;flex-wrap:wrap}.trust-row{display:flex;gap:28px;margin-top:42px}.trust-row div{display:flex;gap:10px;align-items:center;color:var(--orange);font-size:25px}.trust-row span{font-size:13px;line-height:1.35;color:var(--ink)}
.hero-art{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center}
.section{padding:75px 6%}.section-head{text-align:center;max-width:850px;margin:0 auto 48px}.section-head h2{font-size:42px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.service-grid article{padding:28px 18px;text-align:center;border:1px solid transparent;border-radius:var(--radius);transition:.2s}.service-grid article:hover{border-color:var(--line);box-shadow:0 12px 35px #5c493a10}.icon{margin:auto auto 17px;width:66px;height:66px;border-radius:50%;background:#fff4eb;color:var(--orange);display:grid;place-items:center;font-size:31px}.service-grid h3{font-size:17px;margin:0 0 10px}.service-grid p{font-size:15px;color:var(--muted);margin:0}
.local{padding-top:0;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--cream)}.local-art{min-height:440px;position:relative;overflow:hidden;background:linear-gradient(#f8e4d2 0 35%,#f3c7a3 35% 100%)}.sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#f36a12;right:16%;top:13%}.hills{position:absolute;bottom:0;width:130%;height:48%;border-radius:50% 50% 0 0}.h1{background:#e9a16b;left:-15%}.h2{background:#f6c49d;left:20%;height:40%;bottom:-5%}.church{position:absolute;bottom:26%;left:52%;width:90px;height:170px;background:#fff;border-radius:5px}.church:before{content:"";position:absolute;top:-95px;left:0;border-left:45px solid transparent;border-right:45px solid transparent;border-bottom:95px solid #d9570b}.church i{position:absolute;width:15px;height:30px;background:#f36a12;left:37px;top:65px}.houses{position:absolute;bottom:22%;left:20%;display:flex;gap:8px;align-items:end}.houses b{display:block;width:85px;height:65px;background:#e7b78e;border-top:28px solid #d9570b}.village{position:absolute;z-index:2;left:30px;bottom:28px;background:#fff;color:var(--ink);padding:13px 18px;border-radius:9px;font-weight:700;box-shadow:0 10px 25px #0002}.local-copy{padding:70px 9%}.local-copy h2{font-size:43px;margin:0 0 25px}.local-copy p:not(.eyebrow){color:var(--muted);max-width:650px}.local-copy .btn{margin-top:13px}
.why{background:#fff}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;max-width:1000px;margin:auto}.why-grid span{font-size:42px;color:var(--orange)}.why-grid h3{margin:8px 0 4px}.why-grid p{color:var(--muted);font-size:15px;margin:0}
.contact{padding:48px 6%;background:linear-gradient(105deg,var(--orange),#ef7e29);color:#24211f;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact .eyebrow{color:#ffe3cc}.contact h2{font-size:40px;margin:0 0 5px}.contact p{margin:0}.contact .btn-light{min-width:190px}
footer{background:#2b2927;color:#24211f;padding:42px 6% 25px;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:40px;align-items:start}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:80px;height:80px}.footer-brand strong{display:block;font-family:'Quicksand',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:24px}.footer-brand span{display:block;color:#d5dde0;font-size:14px}.footer-links{display:grid;gap:5px;font-size:15px}.legal{text-align:right;font-size:13px;color:#c8d0d3}.legal a{margin-left:12px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:18px;margin:0;color:#aeb8bc;font-size:13px;text-align:right}
@media(max-width:950px){nav{display:none}.site-header{gap:12px}.menu{display:block}.site-header>.btn{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-bottom:30px}.hero-art{min-height:330px}.service-grid{grid-template-columns:repeat(2,1fr)}.local{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}.legal{text-align:left}.copyright{text-align:left}}
@media(max-width:600px){.site-header{height:76px;padding:7px 18px}.brand img{width:58px;height:58px}.brand strong{font-size:23px}.brand small{font-size:12px}.hero-copy{padding:48px 22px}.hero h1{font-size:43px}.lead{font-size:16px}.trust-row{gap:14px;flex-wrap:wrap;margin-top:30px}.hero-art{min-height:300px}.hero-photo-wrap{width:220px}.section{padding:58px 22px}.section-head h2,.local-copy h2{font-size:34px}.service-grid{grid-template-columns:1fr}.local-copy{padding:55px 22px}.why-grid{grid-template-columns:1fr 1fr;gap:22px}.contact{padding:42px 22px;display:block}.contact h2{font-size:33px}.contact .btn{margin-top:25px}footer{display:block;padding:35px 22px}.footer-links{margin:28px 0}.legal a{margin:0 14px 0 0}.copyright{margin-top:25px}}

.contact-details{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:15px}
.contact-details a,.contact-details span{color:#24211f}
.contact-details a:hover{text-decoration:underline}
@media(max-width:600px){.contact-details{display:grid;gap:7px}}

.service-grid-three{grid-template-columns:repeat(4,1fr);max-width:1100px;margin:auto}
.contact-section{align-items:flex-start}
.contact-intro{max-width:560px}
.contact-form{width:min(520px,100%);display:grid;gap:12px;background:#ffffff18;padding:24px;border-radius:14px}
.contact-form label{display:grid;gap:5px;font-size:14px;font-weight:600}
.contact-form label span{font-weight:400;opacity:.8}
.contact-form input,.contact-form textarea{font:inherit;border:0;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);outline:0}
.contact-form textarea{resize:vertical}
.contact-form .consent{display:flex;grid-template-columns:none;flex-direction:row;align-items:flex-start;font-weight:400;font-size:13px;gap:8px}
.contact-form .consent input{margin-top:3px}
.contact-form .btn{border:0;cursor:pointer}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:950px){.service-grid-three{grid-template-columns:repeat(2,1fr)}.contact-section{display:block}.contact-form{margin-top:30px}}
@media(max-width:600px){.service-grid-three{grid-template-columns:1fr}.contact-form{padding:18px}}


/* About page */
.hero-small { padding-bottom: 3.5rem; }
.narrow { max-width: 850px; }
.narrow p { line-height: 1.8; }
.about-highlight {
  margin: 2.5rem 0;
  padding: 2rem;
  border-radius: 18px;
  background: #f7f1e8;
}
.about-highlight h2 { margin-top: 0; }
.about-highlight li { margin: .65rem 0; }
.about-cta {
  margin-top: 3rem;
  padding: 2.2rem;
  text-align: center;
  border-radius: 20px;
  background: #f7f1e8;
}
.about-cta h2 { margin-bottom: .35rem; }

.challenge-field small {
  display: block;
  margin-top: .4rem;
  opacity: .75;
}

/* V57 — À propos : encadrement de l’introduction */
.inner-hero .hero-copy {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem 3rem;
  background: #f7f1e8;
  border: 1px solid #ded3c5;
  border-radius: 20px;
  box-shadow: 0 6px 18px rgba(60, 50, 40, 0.06);
  box-sizing: border-box;
}

.inner-hero .hero-copy h1 {
  font-weight: 600;
}

.inner-hero .hero-copy p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* Conseils / articles */
.advice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}
.advice-card {
  padding: 1.8rem;
  border-radius: 18px;
  background: #f7f1e8;
}
.advice-card h2 { margin: .35rem 0 .8rem; }
.advice-card p { line-height: 1.7; }
.text-link { font-weight: 700; }
.article h1 { margin-bottom: 2rem; }
.article-body { line-height: 1.8; }
.article-body h2 { margin-top: 2rem; }
.article-body p { margin: 1rem 0; }
@media (max-width: 800px) {
  .advice-grid { grid-template-columns: 1fr; }
}

/* Real intervention photography */
.fieldwork-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 2.2rem;
  align-items: center;
}
.fieldwork-photo, .about-photo, .article-photo { margin: 0; }
.fieldwork-photo img, .about-photo img, .article-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
}
.fieldwork-photo figcaption, .about-photo figcaption, .article-photo figcaption {
  margin-top: .55rem;
  font-size: .88rem;
  opacity: .7;
}
.about-visual-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.3rem;
  margin: 2.5rem 0;
}
.article-photo { margin: 0 0 2rem; }
@media (max-width: 800px) {
  .fieldwork-grid, .about-visual-grid { grid-template-columns: 1fr; }
}

/* V8 — orange / cream visual direction */
.hero-copy { padding-right: 3%; }
.hero-photo-wrap { position:relative; width:280px; }
.hero-photo-accent {
  position:absolute; width:220px; height:220px; border-radius:50%;
  background:#f6c49d; right:-38px; top:-32px; z-index:0;
}
.hero-photo {
  position:relative; z-index:1; margin:0; padding:10px; background:#fff;
  border-radius:20px; box-shadow:0 18px 40px #7f6d5c22; transform:rotate(2deg);
}
.hero-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; display:block; border-radius:13px; }
.hero-photo figcaption { padding:8px 4px 2px; font-size:13px; font-weight:700; color:var(--orange2); text-align:center; }

.service-grid-three .icon { background:#fff1e7; color:var(--orange); }
.service-grid-three article:hover { border-color:#f3c9aa; }

.local-art { background:linear-gradient(#f8e4d2 0 35%,#f3c7a3 35% 100%); }
.local .village { border:1px solid #f1d0b5; }
.contact { background:linear-gradient(105deg,var(--orange),#ef7b24); }

@media(max-width:950px){
  .hero-art { min-height:360px; }
}
@media(max-width:600px){
  .hero-art { min-height:280px; }
  .hero-photo-wrap { width:220px; }
  .hero-photo-accent { width:170px; height:170px; right:-24px; top:-22px; }
}

/* V9 — trust and reassurance */
.trust-section { background:#fff; }
.trust-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem;
}
.trust-card {
  padding:1.5rem; border:1px solid var(--line); border-radius:18px; background:#fff;
}
.trust-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  background:#f3d2b8; color:var(--orange); font-weight:800; font-size:1.2rem;
}
.trust-card h3 { margin:.9rem 0 .55rem; }
.trust-card p { line-height:1.65; margin:0; color:var(--muted); }

.process-section { background:var(--cream); }
.process-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem;
}
.process-step {
  position:relative; padding:1.5rem 1.2rem 1.2rem; background:#fff;
  border-radius:18px; border-top:3px solid var(--orange);
}
.process-step span {
  font-size:.82rem; font-weight:800; color:var(--orange);
  letter-spacing:.08em;
}
.process-step h3 { margin:.6rem 0 .45rem; }
.process-step p { margin:0; line-height:1.6; color:var(--muted); }

.reassurance-section { padding-top:2rem; }
.reassurance-box {
  width:50%;
  margin:0 auto;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:1.2rem;
  padding:2rem 2.2rem; border-radius:20px;
  background:linear-gradient(105deg,#fff1e7,#fbf5ee);
  border:1px solid #f3d0b6;
  text-align:center;
}
.reassurance-box h2 { margin:.25rem 0 .5rem; }
.reassurance-box p { max-width:700px; margin-left:auto; margin-right:auto; }

@media(max-width:900px){
  .trust-grid,.process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px){
  .trust-grid,.process-grid { grid-template-columns:1fr; }
  .reassurance-box { width:100%; }
}

/* V11 — terminal whoami at the far right */
.site-header { position:relative; z-index:20; }
.header-inner {
  display:grid !important;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:1.15rem;
}
.header-inner nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1.1rem;
  white-space:nowrap;
}
.header-inner nav a {
  display:inline-flex;
  align-items:center;
  min-height:40px;
}
.header-inner nav .nav-cta { margin-left:.1rem; }

.header-whoami {
  justify-self:end;
  min-width:154px;
  padding:.48rem .7rem .52rem;
  border:1px solid #3b3b3b;
  border-radius:7px;
  background:#202020;
  color:#e7e7e7;
  box-shadow:0 5px 14px rgba(0,0,0,.10);
  font:500 .70rem/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
.header-whoami .terminal-line { display:block; white-space:nowrap; }
.header-whoami .terminal-prompt { color:#f36a12; }
.header-whoami .terminal-result {
  display:block;
  color:#f2f2f2;
  margin-top:.08rem;
}
.header-whoami .terminal-result::before { content:"> "; color:#f36a12; }

@media(max-width:1050px){
  .header-inner { grid-template-columns:auto 1fr auto; }
  .header-inner nav { grid-column:auto; }
  .header-whoami { min-width:142px; }
}
@media(max-width:760px){
  .header-inner { display:flex !important; flex-wrap:wrap; justify-content:space-between; }
  .header-whoami { order:3; width:100%; justify-self:auto; }
  .header-inner nav {
    width:auto;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:.55rem .8rem;
  }
}

/* V12 — same visual composition across main pages */
.inner-hero { min-height:420px; }
.inner-hero .hero-copy { align-self:center; }
.hero-photo-small { width:245px; }
.hero-photo-small .hero-photo img { aspect-ratio:4/5; }
@media(max-width:800px){
  .inner-hero { grid-template-columns:1fr; min-height:auto; padding-top:3rem; padding-bottom:3rem; }
  .inner-hero .hero-art { min-height:300px; }
}

.header-inner nav a[aria-current="page"] {
  color: var(--orange);
  font-weight:800;
}
.header-inner nav a[aria-current="page"]:not(.nav-cta) {
  position:relative;
}
.header-inner nav a[aria-current="page"]:not(.nav-cta)::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:2px;
  border-radius:2px;
  background:var(--orange);
}

/* V14 — bandeaux Pourquoi CDN Info / Comment ça se passe */
.section-band {
  border:1px solid var(--line);
  border-radius:24px;
  padding:2.4rem 2.5rem 2.5rem;
  position:relative;
  overflow:hidden;
}
.section-band::before {
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:var(--orange);
}
.why-band { background:#fffdfb; }
.why-band .section-head { margin-bottom:2rem; }
.why-band .trust-grid { max-width:none; }
.why-band .trust-card {
  background:#fff;
  border-color:var(--line);
  box-shadow:none;
}
.process-section { background:var(--cream); }
.process-band { background:#fffaf5; border-color:#efd9c5; }
.process-band .section-head { margin-bottom:2rem; }
.process-flow {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:stretch;
  gap:1rem;
}
.process-step {
  padding:1.35rem 1.25rem 1.2rem;
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--orange);
  border-radius:16px;
}
.process-step span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:50%;
  background:#fff1e7;
  color:var(--orange);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.05em;
}
.process-step h3 { margin:.75rem 0 .45rem; }
.process-step p { margin:0; line-height:1.6; color:var(--muted); font-size:15px; }
.process-connector {
  align-self:center;
  color:var(--orange);
  font-size:1.5rem;
  font-weight:700;
}
@media(max-width:1000px){
  .process-flow { grid-template-columns:1fr 1fr; }
  .process-connector { display:none; }
}
@media(max-width:600px){
  .section-band { padding:2rem 1.1rem 1.2rem; border-radius:18px; }
  .why-band .section-head,.process-band .section-head { margin-bottom:1.4rem; }
  .why-band .trust-grid { grid-template-columns:1fr; }
  .process-flow { grid-template-columns:1fr; }
}


/* V16 — thème plus soutenu + CTA animé */
body { background:#f6eee3; }
.site-header { background:#f3e9da; }
.hero {
  background:linear-gradient(110deg,#f6eee3 0%,#eee1cf 62%,#e9c8a7 100%);
}
.why { background:#f1e6d6; }
.why-band { background:#e9dcc9; }
.why-band .trust-card { background:#f6eee3; border-color:#d6c3ac; }
.process-section { background:#e4d5c1; }
.process-band { background:#ede1d0; border-color:#d2bda3; }
.process-step { background:#f6eee3; border-color:#d8c8b5; }
.reassurance-box {
  background:linear-gradient(105deg,#e9d4bc,#f0e4d3);
  border-color:#d0b294;
}

/* Le bouton "Me contacter" du bandeau Besoin d'aide ? */
.reassurance-box .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  padding:13px 24px;
  border-radius:8px;
  background:var(--orange);
  color:#24211f;
  font-weight:700;
  border:0;
  box-shadow:0 0 0 0 rgba(243,106,18,.45);
  animation: reassurancePulse 2s ease-in-out infinite;
  transition:transform .2s, background .2s, box-shadow .2s;
}
.reassurance-box .button:hover {
  background:var(--orange2);
  transform:translateY(-2px) scale(1.03);
  animation-play-state:paused;
}
@keyframes reassurancePulse {
  0%,100% { box-shadow:0 0 0 0 rgba(243,106,18,.42); }
  50% { box-shadow:0 0 0 10px rgba(243,106,18,0); }
}
@media (prefers-reduced-motion:reduce) {
  .reassurance-box .button { animation:none; }
}

/* V18 corrections */
.why-band, .process-band { max-width: 1100px; margin-left:auto; margin-right:auto; }
.process-band { background:var(--orange); border-color:var(--orange2); }
.process-band::before { background:#24211f; }
.process-band .eyebrow, .process-band .section-head h2, .process-band .section-head h2 em { color:#24211f; }
.process-band .section-head p:not(.eyebrow) { color:#24211f; }
.process-band .process-step { background:#f3e9da; border-color:#d8c8b5; color:#24211f; }
.process-band .process-step h3, .process-band .process-step p { color:#24211f; }
.process-band .process-connector { color:#24211f; }
.process-band .process-step span { background:#24211f; color:#f3e9da; }
.reassurance-box { color:#24211f; }
.reassurance-box .eyebrow, .reassurance-box h2, .reassurance-box h2 em, .reassurance-box p { color:#24211f; }
.contact-section { background:#24211f; color:#f3e9da; }
.contact-section .eyebrow, .contact-section h2, .contact-section p, .contact-section .contact-details a, .contact-section .contact-details span { color:#f3e9da; }
.contact-form { background:#f3e9da; color:#24211f; }
.contact-form label { color:#24211f; }
.contact-form input, .contact-form textarea { background:#fffaf2; color:#24211f; border:1px solid #d8c8b5; }
.contact-form .btn-light { background:var(--orange); color:#24211f; }
.contact-form small { color:#57514b; }
@media(max-width:950px){ .why-band, .process-band { max-width:none; } }

/* V18 — bandeau d'aide plus visible */
.reassurance-box { background:var(--orange); border-color:var(--orange2); }
.reassurance-box .eyebrow, .reassurance-box h2, .reassurance-box p { color:#24211f; }
.reassurance-box .eyebrow { font-size:15px; letter-spacing:3px; font-weight:800; }
.reassurance-box h2 { font-size:32px; line-height:1.15; }
.reassurance-box p { font-size:17px; line-height:1.55; }
.reassurance-box .button { background:#24211f; color:#f3e9da; }
.reassurance-box .button:hover { background:#11100f; }
.process-band .section-head .eyebrow { font-size:15px; }
.process-band .section-head h2 { font-size:42px; }
.process-band .process-step h3 { font-size:18px; }
.process-band .process-step p { font-size:16px; }

/* V19 — texte plus lisible, aucune police blanche */
body, body p, body li, body span, body small, body strong,
main, section, article, .card, .trust-card, .process-step,
.reassurance-box, .contact, .contact-form, footer {
  color: #24211f;
}
.header-inner nav a,
.header-inner .nav-cta,
.help-banner,
.help-banner *,
.reassurance-box *,
.process-section *,
.why-band * {
  color: #24211f;
}

/* V20 — menu éclairci */
.site-header {
  background: #fffaf2 !important;
  border-bottom: 1px solid #e8d8c4;
}
.site-header nav a {
  color: #24211f !important;
}

/* V20 — ligne au-dessus de "Mon savoir-faire", même esprit que le parcours */
.savoir-faire-process-band {
  width: min(100%, 980px);
  margin: 0 auto 1.1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #24211f;
}
.savoir-faire-process-band .band-line {
  height: 2px;
  flex: 1;
  background: #d9570b;
  opacity: .8;
}
.savoir-faire-process-band .band-label {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .08em;
  white-space: nowrap;
}

/* CDN Info dans le pied de page */
/* V21 — toutes les polices du pied de page +2px */
footer,
footer * {
  font-size: calc(1em + 2px) !important;
}
footer .footer-brand,
footer .footer-brand *,
footer .brand,
footer .brand * {
  color: #fff !important;
}

/* V22 — "Besoin d'aide ?" combiné avec le service local, sous Mon savoir-faire */
.local-help-section {
  padding-top: 0;
}
.local-help-band {
  width: min(100%, 1100px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  overflow: hidden;
  border-radius: 20px;
  background: #e9dcc9;
  border: 1px solid #d2bda3;
}
.local-help-art {
  min-height: 470px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(#f8e4d2 0 35%,#f3c7a3 35% 100%);
}
.local-help-art .sun {
  position:absolute;width:100px;height:100px;border-radius:50%;
  background:#f36a12;right:16%;top:13%;
}
.local-help-art .hills {
  position:absolute;bottom:0;width:130%;height:48%;border-radius:50% 50% 0 0;
}
.local-help-art .h1 {background:#e9a16b;left:-15%}
.local-help-art .h2 {background:#f6c49d;left:20%;height:40%;bottom:-5%}
.local-help-art .church {
  position:absolute;bottom:26%;left:52%;width:90px;height:170px;background:#fff;border-radius:5px;
}
.local-help-art .church:before {
  content:"";position:absolute;top:-95px;left:0;
  border-left:45px solid transparent;border-right:45px solid transparent;
  border-bottom:95px solid #d9570b;
}
.local-help-art .church i {
  position:absolute;width:15px;height:30px;background:#f36a12;left:37px;top:65px;
}
.local-help-art .houses {
  position:absolute;bottom:22%;left:20%;display:flex;gap:8px;align-items:end;
}
.local-help-art .houses b {
  display:block;width:85px;height:65px;background:#e7b78e;border-top:28px solid #d9570b;
}
.local-help-art .village {
  position:absolute;z-index:2;left:30px;bottom:28px;background:#fff;color:#24211f;
  padding:13px 18px;border-radius:9px;font-weight:700;box-shadow:0 10px 25px #0002;
}
.local-help-copy {
  padding:55px 7%;
}
.local-help-copy h2 {
  font-size:40px;
  margin:0 0 18px;
}
.local-help-copy > p:not(.eyebrow) {
  color:#57514b;
  max-width:650px;
}
.local-help-callout {
  margin-top:30px;
  padding:24px 26px;
  border-radius:16px;
  background:#f36a12;
  border:1px solid #d9570b;
}
.local-help-callout .eyebrow,
.local-help-callout h3,
.local-help-callout p {
  color:#24211f;
}
.local-help-callout .eyebrow {
  font-size:15px;
  letter-spacing:3px;
  font-weight:800;
}
.local-help-callout h3 {
  font-size:25px;
  line-height:1.2;
  margin:.25rem 0 .55rem;
}
.local-help-callout p {
  font-size:16px;
  line-height:1.5;
}
.local-help-callout .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  padding:13px 24px;
  border-radius:8px;
  background:#24211f;
  color:#f3e9da;
  font-weight:700;
  box-shadow:0 0 0 0 rgba(36,33,31,.3);
  animation: reassurancePulse 2s ease-in-out infinite;
  transition:transform .2s, background .2s, box-shadow .2s;
}
.local-help-callout .button:hover {
  background:#11100f;
  transform:translateY(-2px) scale(1.03);
  animation-play-state:paused;
}
@media(max-width:800px){
  .local-help-band { grid-template-columns:1fr; }
  .local-help-art { min-height:320px; }
}
@media(max-width:600px){
  .local-help-copy { padding:40px 22px; }
  .local-help-copy h2 { font-size:34px; }
  .local-help-callout h3 { font-size:22px; }
}

/* V22 — pied de page réduit de 1 point par rapport à la V21 */
footer, footer * {
  font-size: inherit !important;
}
footer { font-size:15px !important; }
footer .footer-brand strong { font-size:23px !important; }
footer .footer-brand span { font-size:13px !important; }
footer .footer-links { font-size:14px !important; }
footer .legal { font-size:12px !important; }
footer .copyright { font-size:12px !important; }

/* V23 — accessibilité, savoir-faire mis en valeur et contact/local réunis */

/* Navigation clavier et accès direct */
.skip-link {
  position:absolute;
  left:1rem;
  top:-100px;
  z-index:100;
  padding:.8rem 1rem;
  border-radius:8px;
  background:#24211f;
  color:#fff !important;
  font-weight:700;
}
.skip-link:focus {
  top:1rem;
}
:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px;
}
button, a, input, textarea {
  -webkit-tap-highlight-color:transparent;
}
button, .btn, .button, nav a {
  min-height:44px;
}

/* Même traitement visuel que "Comment ça se passe ?" */
.services-band {
  background:#fffaf5;
  border-color:#efd9c5;
}
.services-band .section-head {
  margin-bottom:2rem;
}

/* Cinq services sur grand écran, puis adaptation */
.service-grid-three {
  grid-template-columns:repeat(5,minmax(0,1fr));
  max-width:1100px;
  margin:auto;
}
@media(max-width:1100px) {
  .service-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .service-grid-three { grid-template-columns:1fr; }
}

/* Bloc local + aide + formulaire : une seule histoire visuelle */
.local-help-section {
  padding-top:2rem;
}
.local-help-contact-band {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  overflow:hidden;
  border-radius:24px;
  border:1px solid #d2bda3;
  background:#e9dcc9;
}
.local-help-content {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  min-width:0;
}
.local-help-art {
  min-height:100%;
}
.local-help-copy {
  padding:48px 7%;
}
.local-help-copy h2 {
  font-size:38px;
}
.local-help-callout {
  margin-top:25px;
}
.local-help-callout h3 {
  font-size:27px;
}
.local-help-callout .button {
  background:#24211f;
  color:#f3e9da;
}
.contact-form-card {
  width:auto;
  margin:0;
  border-radius:0;
  padding:38px 34px;
  background:#24211f;
  color:#fff;
  align-content:start;
}
.contact-form-card .contact-form-heading h2,
.contact-form-card .contact-form-heading p,
.contact-form-card label,
.contact-form-card small {
  color:#fff;
}
.contact-form-card .contact-form-heading {
  margin-bottom:8px;
}
.contact-form-card .contact-form-heading h2 {
  margin:.2rem 0 .5rem;
  font-size:31px;
}
.contact-form-card .contact-form-heading p:not(.eyebrow) {
  opacity:.9;
}
.contact-form-card input,
.contact-form-card textarea {
  border:2px solid transparent;
}
.contact-form-card input:focus,
.contact-form-card textarea:focus {
  border-color:var(--orange);
}
.contact-form-card .btn-light {
  background:#f3e9da;
  color:#24211f;
  font-weight:800;
}
.contact-form-card .btn-light:hover {
  background:#fff;
}
@media(max-width:1000px) {
  .local-help-contact-band { grid-template-columns:1fr; }
  .local-help-content { grid-template-columns:.8fr 1.2fr; }
}
@media(max-width:700px) {
  .local-help-content { grid-template-columns:1fr; }
  .local-help-art { min-height:300px; }
  .contact-form-card { padding:30px 22px; }
}

/* "À propos" : texte centré */
.about-centered {
  text-align:center;
}
.about-centered p,
.about-centered ul {
  text-align:center;
}
.about-centered ul {
  list-style-position:inside;
  padding-left:0;
}
.about-centered .about-highlight {
  text-align:center;
}
.about-centered .about-visual-grid {
  justify-items:center;
}
.about-centered .about-photo {
  max-width:620px;
}

/* Préférence pour moins d'animations */
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* Contraste renforcé si demandé par le système */
@media(prefers-contrast:more) {
  body { color:#111; }
  a { text-decoration:underline; text-decoration-thickness:2px; }
  .btn, .button { border:2px solid #24211f; }
  input, textarea { border:2px solid #24211f; }
}

/* V24 — finitions de navigation et lisibilité */

/* Cadre "Besoin d'aide" plus travaillé et moins vide */
.local-help-callout {
  position:relative;
  overflow:hidden;
  padding:28px 30px 30px;
  box-shadow:0 12px 30px rgba(90,50,20,.14);
}
.local-help-callout::after {
  content:"?";
  position:absolute;
  right:-12px;
  top:-38px;
  font-size:170px;
  line-height:1;
  font-weight:800;
  color:rgba(36,33,31,.09);
  pointer-events:none;
}
.local-help-callout > * {
  position:relative;
  z-index:1;
}
.local-help-callout .eyebrow {
  display:inline-block;
  padding:5px 9px;
  border-radius:5px;
  background:rgba(36,33,31,.09);
}
.local-help-callout h3 {
  max-width:520px;
}
.local-help-callout p:not(.eyebrow) {
  max-width:570px;
}

/* Bouton "remonter" */
.back-to-top {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:50;
  width:48px;
  height:48px;
  min-height:48px;
  display:grid;
  place-items:center;
  border:1px solid #d9570b;
  border-radius:50%;
  background:var(--orange);
  color:#24211f;
  font-size:24px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s, transform .2s, visibility .2s, background .2s;
}
.back-to-top.is-visible {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover {
  background:var(--orange2);
  transform:translateY(-2px);
}
@media(max-width:600px){
  .back-to-top { right:16px; bottom:16px; }
}

/* Vignettes Conseils : plus de contraste, relief et lecture */
.advice-grid {
  gap:1.6rem;
}
.advice-card {
  position:relative;
  min-height:260px;
  padding:2rem;
  background:#fffaf3;
  border:1px solid #d8c5ad;
  box-shadow:0 8px 24px rgba(66,48,32,.10);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.advice-card::before {
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:5px;
  background:var(--orange);
  border-radius:18px 18px 0 0;
}
.advice-card:hover {
  transform:translateY(-4px);
  border-color:#e3a06e;
  box-shadow:0 16px 34px rgba(66,48,32,.16);
}
.advice-card h2 {
  font-size:24px;
  line-height:1.2;
  margin:1rem 0 .9rem;
}
.advice-card p {
  color:#46413c;
  line-height:1.7;
}
.advice-card .text-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:.5rem;
  color:var(--orange2);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* About : centrage réellement appliqué aux blocs de texte */
.about-centered {
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:center !important;
}
.about-centered li,
.about-centered h2,
.about-centered .about-cta {
  text-align:center !important;
}
.about-centered p {
  text-align:justify !important;
  text-justify:inter-word;
}
.about-centered .about-highlight ul {
  padding-left:0;
  list-style-position:inside;
}
.about-centered .about-visual-grid {
  display:flex;
  justify-content:center;
}
.about-centered .about-photo {
  width:min(100%,620px);
}

/* V25 — lecture des paragraphes et retour en haut */
main p:not(.eyebrow),
main .hero-lead,
main .about-highlight li,
main article p {
  text-align: justify;
  text-justify: inter-word;
}

/* Les éléments courts et centrés restent centrés. */
.section-head p,
.about-cta p,
.hero-copy p.eyebrow,
.hero-photo figcaption,
.process-step p {
  text-align: center;
}

/* Le bloc À propos reste centré comme demandé. */
.about-centered {
  text-align: center !important;
}
.about-centered li,
.about-centered h2,
.about-centered .about-cta {
  text-align: center !important;
}
.about-centered p {
  text-align: justify !important;
  text-justify: inter-word;
}

/* Retour en haut : clic géré en JS pour éviter le simple saut d'ancre. */
.back-to-top {
  cursor: pointer;
}

/* V26 — alignement et lisibilité de l'accueil */
.hero-eyebrow {
  text-align:center;
  letter-spacing:2.2px;
  max-width:610px;
}
.hero-copy .hero-eyebrow { margin-left:auto; margin-right:auto; }

/* Les deux CTA ont exactement le même cadre et la même animation. */
.hero .actions .btn {
  min-width:205px;
  min-height:50px;
  border:2px solid #f3a66f;
  box-shadow:0 0 0 1px rgba(243,166,111,.28);
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.hero .actions .btn:hover {
  transform:translateY(-2px);
  border-color:var(--orange);
  box-shadow:0 7px 18px rgba(90,50,20,.14);
}
.hero .actions .btn-orange:hover { background:var(--orange2); }
.hero .actions .btn-outline:hover { background:#fff7f0; }

.why-title,
.services-title {
  font-size:39px !important;
  line-height:1.15 !important;
  font-style:normal !important;
}
.why-band .section-head > p:not(.eyebrow) {
  text-align:center !important;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.why-band .trust-card h3,
.service-grid-three h3 {
  font-size:17px;
  line-height:1.2;
  white-space:nowrap;
}
.why-band .trust-card p,
.service-grid-three p { font-size:16px; }
.service-grid-three { justify-content:center; }

/* Whoami : taille et contraste suffisants pour rester lisible dans l'en-tête. */
.header-whoami {
  min-width:190px;
  padding:.6rem .8rem .65rem;
  font-size:.78rem;
  line-height:1.35;
}
.header-whoami .terminal-line,
.header-whoami .terminal-result { color:#f2f2f2 !important; }
.header-whoami .terminal-prompt,
.header-whoami .terminal-result::before { color:#f36a12 !important; }
.header-whoami .terminal-result { font-weight:700; }

/* À propos : titre principal sans petite vignette CDN INFO. */
.inner-hero .hero-copy { text-align:center; }
.inner-hero .hero-copy h1 { max-width:760px; margin-left:auto; margin-right:auto; }
.inner-hero .hero-lead { margin-left:auto; margin-right:auto; }
.about-centered { max-width:900px; }
.about-centered .about-highlight ul {
  text-align:left !important;
  list-style-position:inside;
  padding-left:0;
  width:max-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.about-cta {
  padding:2rem 2.2rem 2.2rem;
  border:2px solid #f3b27f;
  background:#fff8ef;
}
.about-cta h2 { margin-bottom:1rem; }
.about-cta .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  min-height:50px;
  padding:13px 24px;
  border:2px solid #f3a66f;
  border-radius:8px;
  background:var(--orange);
  color:#24211f;
  font-weight:800;
  box-shadow:0 0 0 1px rgba(243,166,111,.28);
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.about-cta .button:hover {
  background:var(--orange2);
  border-color:var(--orange);
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(90,50,20,.14);
}

/* Retour en haut : interaction fiable, y compris sur les pages sans script inline. */
.back-to-top { z-index:100; }

@media(max-width:1100px) {
  .header-whoami { min-width:175px; }
  .why-title, .services-title { font-size:35px !important; }
  .why-band .trust-card h3, .service-grid-three h3 { white-space:normal; }
}
@media(max-width:700px) {
  .hero-eyebrow { letter-spacing:1.5px; font-size:12px; }
  .why-title, .services-title { font-size:30px !important; }
  .header-whoami { min-width:0; width:100%; font-size:.76rem; }
}


/* V27 — accueil : titre Services et bouton retour */
#services .section-head {
  text-align:center;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
#services .services-title {
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}
#services .service-grid-three {
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
}

/* Le bouton de remontée reste disponible sur toutes les pages.
   Le JS le rend visible après défilement ; l'ancre reste fonctionnelle sans JS. */
.back-to-top {
  display:grid;
  opacity:0;
  visibility:hidden;
}
.back-to-top.is-visible {
  display:grid;
  opacity:1;
  visibility:visible;
}

/* V27 — À propos : titre plus mesuré et non justifié */
.inner-hero .hero-copy h1 {
  font-size:42px !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-justify:auto !important;
  max-width:780px;
}
.inner-hero .hero-copy .hero-lead {
  font-size:18px;
  text-align:center !important;
}
.about-highlight {
  background:#fffaf5;
  border:1px solid #ead9c7;
}
@media(max-width:700px) {
  .inner-hero .hero-copy h1 {
    font-size:32px !important;
  }
}


/* V28 — centrage visuel des services, À propos et conseils */
#services .service-grid-three {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(100%, 960px);
  margin-left: auto;
  margin-right: auto;
  justify-content: initial;
}

.inner-hero .hero-copy h1 {
  font-size: 38px !important;
  line-height: 1.15 !important;
  max-width: 760px;
  margin: 0 auto 16px;
  text-align: center !important;
  text-justify: auto !important;
}
.inner-hero .hero-copy .hero-lead {
  max-width: 720px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.55;
  text-align: center !important;
}

.conseils .section-head h2,
.section-head h2 { text-wrap: balance; }
.advice-intro h2 { font-size: 22px; }

@media(max-width:1100px) {
  #services .service-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 700px); }
}
@media(max-width:700px) {
  #services .service-grid-three { grid-template-columns: 1fr; width: 100%; }
  .inner-hero .hero-copy h1 { font-size: 30px !important; }
  .inner-hero .hero-copy .hero-lead { font-size: 16px; }
}


/* V29 — À propos : transmission et liste de titres */
.about-centered .about-highlight {
  text-align: left;
}
.about-centered .about-highlight h2 {
  text-align: center !important;
}
.about-centered .about-highlight p {
  text-align: justify !important;
}
.about-centered .about-highlight ul {
  width: fit-content;
  max-width: 100%;
  margin: .7rem auto 1.1rem;
  padding-left: 1.45rem;
  list-style-position: outside;
  text-align: left !important;
}
.about-centered .about-highlight li {
  text-align: left !important;
  margin: .5rem 0;
}

/* V29 — Services : axe central plus net sur la page d'accueil */
#services .service-grid-three {
  width: min(100%, 860px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  justify-content: center;
}
#services .service-grid-three article {
  min-width: 0;
}
@media(max-width:1100px) {
  #services .service-grid-three {
    width: min(100%, 700px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:700px) {
  #services .service-grid-three {
    width: 100%;
    grid-template-columns: 1fr;
  }
}

/* V29 — bouton retour : toujours visible dès qu'il est rendu */
.back-to-top {
  display: grid !important;
}

/* V32 — conseil ordinateur lent : visuel plus discret */
.article-photo img {
  width: 46%;
  max-width: 46%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 700px) {
  .article-photo img {
    width: 100%;
    max-width: 100%;
  }
}

/* V32 — protection : le compte standard comme premier réflexe */
.article-body .security-priority {
  font-weight: 700;
}

/* V33 — galerie de vraies interventions */
.fieldwork-section { background:#fffaf2; }
.fieldwork-gallery {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:2.5rem;
}
.fieldwork-card {
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(90,50,20,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.fieldwork-card:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(90,50,20,.13); }
.fieldwork-card img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.fieldwork-card-featured { grid-column:span 2; }
.fieldwork-card-featured img { aspect-ratio:16/8; }
.fieldwork-card figcaption { padding:15px 17px 17px; }
.fieldwork-card figcaption strong { display:block; color:var(--ink); font-size:1rem; margin-bottom:5px; }
.fieldwork-card figcaption span { display:block; color:var(--muted); font-size:.9rem; line-height:1.5; }
@media(max-width:900px) {
  .fieldwork-gallery { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .fieldwork-card-featured { grid-column:span 2; }
}
@media(max-width:600px) {
  .fieldwork-gallery { grid-template-columns:1fr; gap:18px; }
  .fieldwork-card-featured { grid-column:auto; }
  .fieldwork-card-featured img, .fieldwork-card img { aspect-ratio:4/3; }
}


/* V34 — Services : 3 cartes en première ligne, 2 centrées en seconde */
#services .service-grid-three {
  width: min(100%, 980px);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}
#services .service-grid-three article { grid-column: span 2; }
#services .service-grid-three article:nth-child(4) { grid-column: 2 / span 2; }
#services .service-grid-three article:nth-child(5) { grid-column: 4 / span 2; }
@media(max-width:1100px) {
  #services .service-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); width:min(100%,700px); }
  #services .service-grid-three article:nth-child(4),
  #services .service-grid-three article:nth-child(5) { grid-column:auto; }
}
@media(max-width:700px) {
  #services .service-grid-three { grid-template-columns:1fr; width:100%; }
}

/* V34 — Accueil : aperçu photo compact, galerie complète sur « En images » */
.fieldwork-teaser-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:980px;
  margin:2.2rem auto 0;
}
.fieldwork-teaser-grid .fieldwork-card img { aspect-ratio:4/3; }
.fieldwork-teaser-action { text-align:center; margin-top:30px; }
.gallery-page-section { padding-top:60px; }
.gallery-contact-section .local-help-band { min-height:0; }
@media(max-width:900px) {
  .fieldwork-teaser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fieldwork-teaser-grid .fieldwork-card:last-child { grid-column:1 / -1; max-width:calc(50% - 11px); justify-self:center; }
}
@media(max-width:600px) {
  .fieldwork-teaser-grid { grid-template-columns:1fr; }
  .fieldwork-teaser-grid .fieldwork-card:last-child { grid-column:auto; max-width:none; }
}

/* V35 — galerie avant / après */
.before-after-section { background:#fff; }
.before-after-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:30px; }
.before-after-card { margin:0; background:#fffaf2; border:1px solid rgba(70,45,30,.12); border-radius:16px; overflow:hidden; box-shadow:0 10px 26px rgba(70,45,30,.08); }
.before-after-card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.before-after-card figcaption { padding:16px 18px 19px; }
.before-after-card figcaption strong { display:block; color:var(--ink); font-size:1.05rem; margin-bottom:5px; }
.before-after-card figcaption span { display:block; color:var(--muted); font-size:.92rem; line-height:1.55; }
@media(max-width:700px){ .before-after-grid { grid-template-columns:1fr; } }

/* V36 — visuel maintenance avant/après */
.maintenance-banner {
  margin: 30px auto 0;
  max-width: 1100px;
  background: #fffaf2;
  border: 1px solid rgba(70,45,30,.12);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(70,45,30,.10);
}
.maintenance-banner picture,
.maintenance-banner img { display:block; width:100%; }
.maintenance-banner img { height:auto; }
.maintenance-banner figcaption {
  padding: 13px 18px 15px;
  text-align:center;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}
@media (max-width:700px){
  .maintenance-banner { margin-top:24px; border-radius:14px; }
  .maintenance-banner figcaption { font-size:.88rem; padding:12px 14px 14px; }
}

/* V37 — seconde image dans les bandeaux héros, sans modifier la mise en page */
.hero-photo-secondary {
  position:absolute;
  z-index:2;
  width:150px;
  right:-58px;
  top:150px;
  padding:8px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 14px 30px rgba(70,45,30,.16);
  transform:rotate(-5deg);
}
.hero-photo-secondary img {
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
  border-radius:11px;
}
.hero-photo-secondary figcaption {
  padding:7px 2px 1px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  color:var(--orange2);
  text-align:center;
}
@media(max-width:950px){
  .hero-photo-secondary { right:-42px; width:125px; top:145px; }
}
@media(max-width:600px){
  .hero-photo-secondary { right:-25px; width:105px; top:135px; padding:6px; border-radius:13px; }
  .hero-photo-secondary img { border-radius:9px; }
  .hero-photo-secondary figcaption { font-size:9px; padding-top:5px; }
}

/* V38 — galerie légèrement plus compacte et bandeaux héros mieux équilibrés */
.fieldwork-gallery { gap:20px; max-width:1180px; margin-left:auto; margin-right:auto; }
.fieldwork-card img { aspect-ratio:4/3; }
.fieldwork-card-featured img { aspect-ratio:16/8; }

/* Seconde vignette des bandeaux : visible, équilibrée, sans déborder excessivement. */
.hero-photo-secondary {
  width:132px;
  right:-32px;
  top:118px;
  transform:rotate(-5deg);
}
@media(max-width:950px){
  .hero-photo-secondary { width:118px; right:-26px; top:122px; }
}
@media(max-width:800px){
  .hero-photo-secondary { width:112px; right:-18px; top:118px; }
}
@media(max-width:600px){
  .hero-photo-secondary { width:96px; right:-12px; top:112px; padding:6px; }
  .hero-photo-secondary figcaption { font-size:9px; }
}


/* V39 — bandeaux héros : deux images réellement côte à côte, sans chevauchement */
.hero-photo-wrap {
  width: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, .82fr);
  align-items: center;
  gap: 18px;
  position: relative;
}
.hero-photo-wrap .hero-photo {
  width: 100%;
  box-sizing: border-box;
}
.hero-photo-wrap .hero-photo-secondary {
  position: relative;
  width: 100%;
  right: auto;
  top: auto;
  margin: 0;
  transform: rotate(-5deg);
  z-index: 2;
}
.hero-photo-wrap .hero-photo-secondary img {
  width: 100%;
}
.hero-photo-wrap .hero-photo-accent {
  right: -12px;
  top: 4px;
}

.before-after-visuals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
.before-after-visuals .maintenance-banner {
  margin: 0;
}
.before-after-visuals .maintenance-banner img {
  width: 100%;
  height: auto;
  display: block;
}

@media(max-width:950px){
  .hero-photo-wrap { width: 390px; gap: 14px; }
}
@media(max-width:700px){
  .before-after-visuals { grid-template-columns: 1fr; gap: 18px; }
}
@media(max-width:600px){
  .hero-photo-wrap {
    width: 315px;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, .9fr);
    gap: 10px;
  }
  .hero-photo-wrap .hero-photo-secondary {
    transform: rotate(-5deg);
  }
}

/* V40 — En images : visuel enrichi unique + bloc contact plus compact et centré */
.before-after-visuals { display:block; max-width:1100px; margin:0 auto; }
.before-after-visuals .maintenance-banner-featured { max-width:1100px; margin:30px auto 0; }
.gallery-contact-section .local-help-band {
  max-width: 860px;
  grid-template-columns: 1fr;
}
.gallery-contact-section .local-help-copy {
  padding: 38px 55px 42px;
  text-align: center;
}
.gallery-contact-section .local-help-copy h2,
.gallery-contact-section .local-help-copy > p:not(.eyebrow) {
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.gallery-contact-section .local-help-copy > p:not(.eyebrow) { max-width:680px; }
.gallery-contact-section .local-help-copy .btn { margin-left:auto; margin-right:auto; }
@media(max-width:600px){
  .gallery-contact-section .local-help-copy { padding:32px 22px 36px; }
}

/* V41 — le visuel Avant / Après reste une image unique et son bouton est accessible. */
.before-after-image-link { display:block; text-decoration:none; border-radius:inherit; }
.before-after-image-link:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.before-after-image-link img { display:block; }

/* V48 TEST — aperçu des pages sans les deux visuels du bandeau */
.hero-art { display:none !important; }
.hero { grid-template-columns:1fr !important; }
.hero-copy { max-width: 1100px; margin-left:auto; margin-right:auto; }
.inner-hero .hero-copy { width:100%; box-sizing:border-box; }


/* V52 TEST — hero accueil uniquement : texte à gauche, illustration ajustée à droite */
@media (min-width: 951px) {
  body.homepage .hero {
    grid-template-columns: 1.12fr .88fr !important;
    min-height: 500px;
    align-items: stretch;
  }

  body.homepage .hero-copy {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 72px 4% 55px 7% !important;
    align-self: center !important;
    text-align: left !important;
  }

  body.homepage .hero-copy h1 {
    max-width: 760px !important;
    margin: 0 0 22px !important;
    text-align: left !important;
  }

  body.homepage .hero-copy .hero-lead {
    max-width: 720px !important;
    margin: 0 0 24px !important;
    text-align: left !important;
  }

  body.homepage .hero-copy .actions {
    justify-content: flex-start !important;
  }

  body.homepage .hero-copy .trust-row {
    justify-content: flex-start !important;
  }

  body.homepage .hero > .hero-art {
    display: flex !important;
    min-height: 500px !important;
    width: auto !important;
    padding: 55px 7% 55px 2% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.homepage .hero > .hero-art .hero-illustration {
    width: 100% !important;
    max-width: 500px !important;
    max-height: 365px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.homepage .hero > .hero-art .hero-illustration img {
    width: 100% !important;
    height: 365px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
}

@media (max-width: 950px) {
  body.homepage .hero {
    grid-template-columns: 1fr !important;
  }

  body.homepage .hero > .hero-art {
    display: flex !important;
    min-height: 300px !important;
    padding: 0 22px 42px !important;
  }

  body.homepage .hero-copy {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* V51 TEST — le lien En images reste présent dans toutes les navigations */
.site-header nav a[href="en-images.html"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* V53 TEST — accueil : contenu de la colonne gauche centré */
@media (min-width: 951px) {
  body.homepage .hero-copy {
    padding-left: 6% !important;
    padding-right: 6% !important;
    text-align: center !important;
  }

  body.homepage .hero-copy h1 {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.homepage .hero-copy .hero-lead {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.homepage .hero-copy .actions {
    justify-content: center !important;
  }

  body.homepage .hero-copy .trust-row {
    justify-content: center !important;
  }
}


/* V54 TEST — accueil : paragraphe lead réellement centré */
@media (min-width: 951px) {
  body.homepage .hero-copy > p.lead {
    width: 100% !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}


/* V55 TEST — illustration hero avec angles arrondis */
@media (min-width: 951px) {
  body.homepage .hero > .hero-art .hero-illustration {
    border-radius: 22px !important;
    overflow: hidden !important;
  }
}


/* Conseils — trois colonnes orange/gris */
.advice-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  align-items: stretch;
  margin-top: 2rem;
}

.advice-category {
  display: flex;
  flex-direction: column;
  padding: 1.35rem;
  border: 1px solid #e2e5e7;
  border-radius: 18px;
  background: #f7f8f8;
  box-shadow: 0 8px 24px rgba(39, 45, 49, .06);
}

.advice-category-head {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: .85rem;
  align-items: start;
  min-height: 205px;
  padding: .15rem .1rem 1.1rem;
}

.advice-category-head h2 {
  margin: .15rem 0 .5rem;
  font-size: 1.35rem;
  line-height: 1.15;
}

.advice-category-head p:not(.eyebrow) {
  margin: 0;
  font-size: .95rem;
  line-height: 1.55;
}

.category-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #eceeef;
  color: #ee6b13;
}

.category-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.advice-category .eyebrow {
  color: #ee6b13;
}

.advice-list {
  display: grid;
  gap: .8rem;
}

.advice-card {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: .8rem;
  align-items: start;
  padding: .95rem;
  border: 1px solid #e4e6e8;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(39, 45, 49, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.advice-card:hover {
  transform: translateY(-2px);
  border-color: #ee6b13;
  box-shadow: 0 8px 20px rgba(39, 45, 49, .09);
}

.advice-card-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 11px;
  background: #f0f1f2;
  color: #ee6b13;
}

.advice-card-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.advice-card-content h3 {
  margin: .05rem 0 .4rem;
  font-size: 1.03rem;
  line-height: 1.25;
}

.advice-card-content p:not(.eyebrow) {
  margin: 0 0 .55rem;
  font-size: .9rem;
  line-height: 1.45;
}

.advice-card .text-link {
  color: #ee6b13;
}

@media (max-width: 980px) {
  .advice-columns {
    grid-template-columns: 1fr;
  }

  .advice-category-head {
    min-height: auto;
  }
}

@media (max-width: 560px) {
  .advice-category {
    padding: 1.05rem;
  }

  .advice-card {
    grid-template-columns: 1fr;
  }
}


/* Conseils — hiérarchie renforcée des trois catégories */
.advice-columns {
  align-items: stretch;
}

.advice-category {
  position: relative;
  padding: 1.55rem;
  border: 1px solid #d9dddf;
  border-radius: 20px;
  background: #f4f5f5;
  box-shadow: 0 10px 28px rgba(39, 45, 49, .07);
}

.advice-category::before {
  content: "";
  display: block;
  height: 3px;
  width: 46px;
  margin: 0 0 1.15rem;
  border-radius: 3px;
  background: #ee6b13;
}

.advice-category-head {
  grid-template-columns: 62px 1fr;
  gap: 1rem;
  min-height: 218px;
  padding: 0 0 1.15rem;
  border-bottom: 1px solid #dfe2e3;
}

.advice-category-head .eyebrow {
  margin-bottom: .3rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.advice-category-head h2 {
  margin: 0 0 .6rem;
  font-size: 1.48rem;
  line-height: 1.18;
  font-weight: 700;
  color: #252b2f;
}

.advice-category-head p:not(.eyebrow) {
  font-size: .96rem;
  line-height: 1.55;
  color: #4f575c;
}

.category-icon {
  width: 62px;
  height: 62px;
  background: #ebecee;
  border: 1px solid #dfe2e3;
  color: #ee6b13;
}

.category-icon svg {
  width: 34px;
  height: 34px;
}

.advice-list {
  margin-top: 1rem;
}

.advice-card {
  padding: .9rem;
  border-color: #e1e4e5;
  box-shadow: 0 3px 12px rgba(39, 45, 49, .045);
}

.advice-card:hover {
  transform: translateY(-1px);
  border-color: #ee6b13;
}

.advice-card-content h3 {
  font-size: 1rem;
  font-weight: 650;
}

@media (max-width: 980px) {
  .advice-columns {
    grid-template-columns: 1fr;
  }

  .advice-category-head {
    min-height: auto;
  }
}


/* Conseils — centrage du contenu des fiches */
.advice-card {
  grid-template-columns: 1fr;
  text-align: center;
  justify-items: center;
}

.advice-card-icon {
  margin: 0 auto .25rem;
}

.advice-card-content {
  width: 100%;
}

.advice-card-content .eyebrow {
  text-align: center;
}

.advice-card-content h3,
.advice-card-content p:not(.eyebrow) {
  text-align: center;
}

.advice-card .text-link {
  display: inline-block;
}

/* Conseils — colonne centrée, contenu texte aligné à gauche */
.article > .container.narrow {
  width: 100%;
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
}

.article {
  text-align: center;
}

.article .eyebrow,
.article h1,
.article .about-cta {
  text-align: center;
}

.article .article-body {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.article-body p,
.article-body h2,
.article-body li {
  text-align: left !important;
}

.article-body ul,
.article-body ol {
  display: block;
  width: auto;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.2rem;
}

.article-photo {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.article-photo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.article .about-cta {
  text-align: center;
}

/* Conseils — mise en évidence des niveaux de titre */
.article .article-body h2 {
  font-weight: 700;
  padding-bottom: 0.45rem;
  margin-top: 2.2rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid currentColor;
}

.article .article-body h3 {
  font-weight: 700;
  margin-top: 1.7rem;
  margin-bottom: 0.75rem;
}

/* V57 — Services : fond des pictogrammes */
.service-grid-three .icon {
  background: #f3d2b8;
  color: var(--orange);
}

/* V57 — Services : cinq cadres indépendants */
#services .service-grid-three > article {
  border: 1px solid rgba(120, 120, 120, 0.20);
  border-radius: 22px;
  padding: 2rem 1.5rem 1.8rem;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.20);
  box-shadow: 0 5px 16px rgba(60, 50, 40, 0.07);
}

#services .service-grid-three > article .icon {
  margin-left: auto;
  margin-right: auto;
  background: #f3d2b8;
  color: var(--orange);
}

/* V57 — Processus : pictogrammes avec le même fond beige-orangé */
.process-band .process-step span {
  background: #f3d2b8;
  color: var(--orange);
}

/* V58 — index Mes conseils : 6 catégories */
.advice-category-directory{width:min(100%,1120px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.advice-category-tile{display:flex;align-items:flex-start;gap:16px;min-height:150px;padding:1.5rem 1.35rem;box-sizing:border-box;text-decoration:none;color:inherit;background:rgba(255,255,255,.2);border:1px solid rgba(120,120,120,.2);border-radius:22px;box-shadow:0 5px 16px rgba(60,50,40,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.advice-category-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(60,50,40,.1);border-color:rgba(120,120,120,.32)}
.advice-category-tile-icon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#f3d2b8;color:var(--orange);font-size:1.3rem;font-weight:700}
.advice-category-tile-content{display:flex;flex-direction:column;gap:.5rem;text-align:left}
.advice-category-tile-content strong{font-size:1.08rem;line-height:1.25}
.advice-category-tile-content span{font-size:.92rem;line-height:1.5;opacity:.84}
@media(max-width:900px){.advice-category-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.advice-category-directory{grid-template-columns:1fr;gap:16px}.advice-category-tile{min-height:120px}}
/* V58 — pages de catégories */
.advice-list{display:grid;gap:16px;max-width:900px;margin:0 auto}
.advice-list-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:1.25rem 1.4rem;color:inherit;text-decoration:none;background:rgba(255,255,255,.2);border:1px solid rgba(120,120,120,.2);border-radius:18px;box-shadow:0 4px 14px rgba(60,50,40,.06)}
.advice-list-card>span:first-child{display:flex;flex-direction:column;gap:.3rem;text-align:left}
.advice-list-card small{font-size:.82rem;opacity:.72}
.advice-list-arrow{color:var(--orange);font-size:1.25rem;font-weight:700}
.advice-list-card-planned{opacity:.72}
.advice-back{text-align:center;margin-top:2rem}


/* V58 — pages catégories : respiration autour du cadre de titre */
.advice-category-page-hero,
.advice-category-page-hero .container{
  padding-top: 1.2rem;
}

.advice-category-page-hero .hero-copy{
  margin-top: 1.1rem;
  margin-bottom: 1.1rem;
  padding-top: 2.35rem;
  padding-bottom: 2.35rem;
}

.advice-category-page-hero h1{
  margin-top: 0;
}


/* V58 — amélioration visuelle des catégories */
.advice-category-index{
  padding-top: 1.2rem;
}

.advice-category-directory{
  width:min(100%,1120px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.advice-category-tile{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:158px;
  padding:1.45rem 1.4rem;
  background:linear-gradient(145deg,#fffaf4 0%,#f7f1e8 100%);
  border:1px solid #ded3c5;
  border-radius:22px;
  box-shadow:0 7px 20px rgba(60,50,40,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.advice-category-tile::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:var(--orange);
  opacity:.9;
}

.advice-category-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(60,50,40,.12);
  border-color:#d3b59e;
}

.advice-category-tile-icon{
  position:relative;
  z-index:1;
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#f3d2b8;
  color:var(--orange);
  font-size:1.45rem;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(180,100,45,.08);
}

.advice-category-tile-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:.48rem;
  text-align:left;
}

.advice-category-tile-content strong{
  font-size:1.1rem;
  line-height:1.25;
}

.advice-category-tile-content span{
  font-size:.9rem;
  line-height:1.5;
  color:#625b54;
  opacity:1;
}

/* V58 — pages catégories : pictogramme plus travaillé */
.advice-category-page-hero .hero-copy{
  position:relative;
}

.advice-category-page-hero h1{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
}

.advice-category-icon-large{
  flex:0 0 56px;
  width:56px;
  height:56px;
  margin:0;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#f3d2b8;
  color:var(--orange);
  font-size:1.45rem;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(180,100,45,.08);
}

.advice-category-icon-large span{
  line-height:1;
}

.advice-category-page .advice-list-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#fffaf4 0%,#f7f1e8 100%);
  border-color:#ded3c5;
}

.advice-category-page .advice-list-card::before{
  content:"";
  width:4px;
  align-self:stretch;
  flex:0 0 4px;
  border-radius:4px;
  background:var(--orange);
  opacity:.85;
}

.advice-category-page .advice-list-card strong{
  font-weight:700;
}

.advice-category-page .advice-list-arrow{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:50%;
  background:#f3d2b8;
  color:var(--orange);
}

@media(max-width:900px){
  .advice-category-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  .advice-category-directory{grid-template-columns:1fr;gap:16px}
  .advice-category-tile{min-height:120px}
  .advice-category-page-hero h1{flex-direction:column}
}

/* V58 — conseils.html : aucune fiche affichée sur l’index */
body.advice-index .advice-category { display:none; }


/* V58 — indication de navigation des catégories */
.advice-category-hint{
  margin:0 auto 1.4rem;
  text-align:center;
  font-size:.95rem;
  color:#625b54;
}

.advice-category-tile-content{
  flex:1 1 auto;
  min-width:0;
}

.advice-category-tile-link{
  display:inline-block;
  margin-top:.2rem;
  color:var(--orange);
  font-size:.86rem;
  font-weight:700;
  line-height:1.3;
  transition:letter-spacing .18s ease;
}

.advice-category-tile:hover .advice-category-tile-link{
  letter-spacing:.01em;
}


/* V58 — conseils : centrage de l'indication */
.advice-category-hint{
  width:100%;
  margin:0 auto 1.6rem;
  text-align:center !important;
}

/* V58 — conseils : lecture plus confortable des fiches */
.article .article-body{
  font-size:1.02rem;
  line-height:1.78;
  color:#3f3b37;
}

.article .article-body p{
  max-width:760px;
  margin:0 auto 1.15rem;
  text-align:left !important;
}

.article .article-body h2{
  max-width:760px;
  margin:2.45rem auto 1rem;
  padding-bottom:.55rem;
  font-size:1.28rem;
  line-height:1.35;
  font-weight:700;
  color:#2f2d2b;
  border-bottom:2px solid #f3d2b8;
  text-align:left !important;
}

.article .article-body h3{
  max-width:760px;
  margin:1.8rem auto .75rem;
  font-size:1.08rem;
  line-height:1.4;
  font-weight:700;
  color:#514a44;
  text-align:left !important;
}

.article .article-body ul,
.article .article-body ol{
  max-width:720px;
  margin:.7rem auto 1.25rem;
  padding-left:1.5rem;
  text-align:left;
}

.article .article-body li{
  margin-bottom:.55rem;
  line-height:1.68;
  text-align:left !important;
}

.article .article-body li::marker{
  color:var(--orange);
}

.article .article-body strong{
  font-weight:700;
  color:#2f2d2b;
}

.article .article-body blockquote{
  max-width:720px;
  margin:1.6rem auto;
  padding:1rem 1.25rem;
  background:#f7f1e8;
  border-left:4px solid var(--orange);
  border-radius:0 12px 12px 0;
  color:#514a44;
}

.article .article-body .article-photo{
  margin:2rem auto;
}

@media (max-width:700px){
  .article .article-body{
    font-size:1rem;
    line-height:1.7;
  }

  .article .article-body p,
  .article .article-body h2,
  .article .article-body h3{
    max-width:100%;
  }
}


/* V58 — fiche « ordinateur chauffe » : encadré À retenir */
.article-callout{
  max-width:760px;
  margin:2.2rem auto 0;
  padding:1.2rem 1.35rem;
  background:#f7f1e8;
  border:1px solid #ded3c5;
  border-left:4px solid var(--orange);
  border-radius:0 16px 16px 0;
  box-shadow:0 4px 12px rgba(60,50,40,.05);
}

.article-callout > strong{
  display:block;
  margin-bottom:.45rem;
  color:#2f2d2b;
}

.article-callout p{
  margin-bottom:0 !important;
}


/* V60.12 — menu mobile commun à toutes les pages */
.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  flex:0 0 46px;
  padding:0;
  border:1px solid rgba(243,106,18,.45);
  border-radius:13px;
  background:#fffaf4;
  color:var(--orange2);
  box-shadow:0 4px 12px rgba(60,50,40,.10);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.menu-toggle:hover{background:#f7eee3;box-shadow:0 6px 16px rgba(60,50,40,.14);}
.menu-toggle:active{transform:translateY(1px);}
.menu-toggle:focus-visible{outline:3px solid rgba(243,106,18,.35);outline-offset:3px;}
.menu-toggle>span{display:flex;flex-direction:column;gap:5px;width:22px;}
.menu-toggle>span>span{display:block;height:2px;width:22px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease;}
.header-inner{min-width:0;}
@media(max-width:950px){
  .menu-toggle{display:inline-flex;}
  .header-inner{display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:12px;min-width:0;}
  .header-inner .brand{min-width:0;margin-right:auto;}
  .header-inner .brand img{flex:0 0 auto;}
  .header-whoami{display:none!important;}
  .header-inner nav{
    display:none!important;
    position:fixed;
    top:84px;
    left:10px;
    right:10px;
    width:auto!important;
    max-width:none!important;
    box-sizing:border-box;
    margin:0!important;
    padding:12px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
    white-space:normal;
    background:rgba(255,255,255,.98);
    border:1px solid #ded3c5;
    border-radius:16px;
    box-shadow:0 14px 32px rgba(45,38,31,.16);
    z-index:100;
    max-height:calc(100vh - 104px);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  .header-inner nav.mobile-open{display:flex!important;}
  .header-inner nav a{
    min-height:44px;
    box-sizing:border-box;
    width:100%;
    padding:11px 13px!important;
    border-radius:10px;
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
  }
  .header-inner nav a:hover,.header-inner nav a:focus-visible{background:#f7eee3;color:var(--orange2);}
  .header-inner nav .nav-cta{margin:5px 0 0!important;justify-content:center;background:var(--orange);color:#24211f;}
  .header-inner nav .nav-cta:hover,.header-inner nav .nav-cta:focus-visible{background:var(--orange2);color:#fff;}
}
@media(max-width:600px){
  .site-header{height:76px;padding:7px 14px;}
  .menu-toggle{width:44px;height:44px;flex-basis:44px;border-radius:12px;}
  .header-inner nav{top:82px;left:8px;right:8px;}
}
@media(prefers-reduced-motion:reduce){.menu-toggle,.menu-toggle>span>span{transition:none;}}
