.site-complete .hero { isolation: isolate; background: radial-gradient(ellipse at 85% 35%, #eddfc2, transparent 58%), var(--cream-50); }
.site-complete .hero::before { display: none; }
.site-complete .hero-grid { z-index: 1; }
.site-complete .hero h1 em { position: relative; padding-bottom: .14em; }
.site-complete .hero h1 em::after { display: block; width: 35%; height: 2px; margin-top: .16em; background: linear-gradient(90deg, var(--brand-red), #dcc69c); content: ''; }
.site-complete .site-header::after { position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--brand-red); transform: scaleX(var(--reading-progress,0)); transform-origin: left; pointer-events: none; content: ''; }
.site-complete .service-card > * { position: relative; z-index: 1; }
.site-complete .service-card .service-examples { z-index: 1; }
.site-complete .value-item { position: relative; }
.site-complete .value-item::after { position: absolute; top: 15%; bottom: 15%; left: -1px; width: 2px; border-radius: 2px; background: var(--brand-red); transform: scaleY(0); transform-origin: top; transition: transform 250ms ease; pointer-events: none; content: ''; }
.site-complete .journey { position: relative; isolation: isolate; }
.site-complete .method > .container { position: relative; isolation: isolate; }
.site-complete .method-guide { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: -1; }
.method-guide path { fill: none; stroke: var(--gold-300); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.method-guide .method-guide-base { opacity: .2; }
.method-guide .method-guide-progress { stroke-width: 2; }
.method-guide .method-guide-arrow { opacity: .7; }
.site-complete .method-cta { position: relative; }
.site-complete .method-cta.path-arrived .button { box-shadow: 0 0 0 5px rgba(250,226,160,.18), 0 8px 30px rgba(189,46,48,.3); border-color: var(--gold-300); }
.site-complete .method-cta .button { transform: none; transition: box-shadow 400ms ease, border-color 400ms ease, background 180ms ease; }
.site-complete .journey .step:not(:last-child)::before { opacity: .22; }
@media (prefers-reduced-motion: no-preference) {
  .site-complete .method-reveal .method-guide-base,
  .site-complete .method-reveal .step:not(:last-child)::before,
  .site-complete .method-reveal .step:not(.checkpoint-passed)::after { opacity: 0; }
  .site-complete .method-reveal .step-revealed:not(:first-child) { transition: opacity 260ms ease-out; }
  .site-complete .method-reveal .step:not(.step-revealed) { opacity: 0; pointer-events: none; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .site-complete .value-item:hover::after { transform: scaleY(1); }
  .site-complete .value-item:hover .value-art { box-shadow: 0 0 0 5px rgba(220,198,156,.15); }
}

.site-complete { --logo-full-width: 6.9rem; }
.site-complete .site-header { height: var(--header-current,var(--header-height)); margin-bottom: calc(var(--header-height) - var(--header-current,var(--header-height))); transition: height 240ms ease, margin-bottom 240ms ease; }
.site-complete.header-compact { --header-current: max(3.6rem,calc(var(--header-height) / 2)); }
.site-complete .site-header .brand-logo16 { width: var(--logo-full-width); transition: width 240ms ease; }
.site-complete.header-compact .site-header .brand-logo16 { width: calc(var(--logo-full-width) / 2); }
.site-complete .nav-wrap { top: var(--header-current,var(--header-height)); max-height: calc(100svh - var(--header-current,var(--header-height))); }
.site-complete .values-sticky { top: calc(var(--header-current,var(--header-height)) + 2rem); }
html.motion-compact-header { scroll-padding-top: 5rem; }
@media (max-width: 980px) { .site-complete { --logo-full-width: 6.4rem; } }
@media (max-width: 640px) { .site-complete { --logo-full-width: 6rem; } }

.site-complete .method > .container { max-width: 54rem; }
.site-complete .step-panel { grid-template-columns: minmax(0,15rem) minmax(0,1fr); gap: 2rem; }
.site-complete .step-heading h3 { max-width: 15rem; }
.site-complete .step-copy { max-width: 26rem; }
.site-complete .service-card:hover { transform: none; box-shadow: none; border-color: var(--line); }
.site-complete .service-card > .service-outline { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; }
.service-outline rect { fill: none; stroke: #b5965f; stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; transition: stroke-dashoffset 300ms ease-out, opacity 160ms ease; }
.site-complete .service-card:focus-within .service-outline rect { stroke-dashoffset: 0; opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .site-complete .service-card:hover .service-outline rect { stroke-dashoffset: 0; opacity: 1; }
}
@media (max-width: 760px) {
  .site-complete .step-panel { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .site-complete .step-heading h3, .site-complete .step-copy { max-width: none; }
}

/* Le logo garde ses dimensions et ses états existants. */
.site-complete .header-inner { gap: clamp(.55rem, 1.65vw, 1.4rem); }
.site-complete .header-inner > .brand { flex: none; margin-inline-end: auto; }
.site-complete .site-nav { gap: clamp(.85rem, 2vw, 1.8rem); }
.site-complete .site-nav a {
  font-size: calc(.78rem + .22rem * var(--header-emphasis, 1));
  white-space: nowrap;
}
.language-menu { position: relative; z-index: 101; flex: none; font-family: var(--font-ui); }
.language-menu summary {
  display: flex; align-items: center; justify-content: center; gap: .45rem;
  min-height: 2.75rem; padding: 0 .8rem; border: 1px solid var(--line);
  border-radius: 2rem; list-style: none; cursor: pointer;
  font-size: calc(.85rem + .12rem * var(--header-emphasis, 1)); font-weight: 700;
}
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu summary::after {
  content: ''; width: .35rem; height: .35rem; border: solid currentColor; border-width: 0 1.5px 1.5px 0;
  transform: translateY(-.12rem) rotate(45deg);
}
.language-menu[open] summary::after { transform: translateY(.09rem) rotate(225deg); }
.language-menu[open] summary, .language-menu summary:hover { background: var(--cream-100); }
.language-menu .language-globe { flex: none; }
.language-menu nav {
  position: absolute; inset: calc(100% + .45rem) 0 auto auto; min-width: 10rem;
  padding: .25rem; background: var(--cream-50); border: 1px solid var(--line);
  border-radius: .75rem; box-shadow: 0 .6rem 1.5rem rgb(8 28 43 / 13%);
}
.language-menu a {
  display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; padding: .35rem .55rem;
  border-radius: .5rem; font-size: .9rem; font-weight: 600; text-decoration: none;
}
.language-menu a:hover, .language-menu a:focus-visible, .language-menu a[aria-current] { background: var(--cream-100); }
.language-menu a[aria-current]::after {
  content: ''; width: .35rem; height: .62rem; margin-inline-start: auto;
  border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(42deg) translateY(-.09rem);
}
.language-flag { width: 1.25rem; height: .84rem; flex: none; border-radius: 2px; box-shadow: inset 0 0 0 1px rgb(8 28 43 / 17%); }
.flag-fr { background: linear-gradient(90deg, #243d70 33%, #fffaf1 33% 67%, #aa303c 67%); }
.flag-en {
  background: linear-gradient(90deg, transparent 44%, #aa303c 44% 56%, transparent 56%),
    linear-gradient(transparent 42%, #aa303c 42% 58%, transparent 58%),
    linear-gradient(90deg, transparent 38%, #fffaf1 38% 62%, transparent 62%),
    linear-gradient(transparent 33%, #fffaf1 33% 67%, transparent 67%),
    linear-gradient(32deg, transparent 44%, #fffaf1 44% 55%, transparent 55%),
    linear-gradient(-32deg, #243d70 44%, #fffaf1 44% 55%, #243d70 55%);
}
.flag-es { background: linear-gradient(#aa303c 25%, #eac469 25% 75%, #aa303c 75%); }

.hero-services {
  display: flex; flex-wrap: wrap; gap: .3rem 1rem; padding: 0; margin: 1.65rem 0 0; list-style: none;
  color: var(--navy-950); font-family: var(--font-ui); font-size: clamp(.93rem, 1.45vw, 1.15rem);
  font-weight: 700; text-transform: uppercase;
}
.hero-services strong { display: flex; align-items: baseline; gap: .42rem; font-weight: inherit; }
.hero-services strong::before {
  content: ''; align-self: center; width: .29em; height: .29em; flex: none;
  border-radius: 50%; background: var(--red-700);
}
.hero-services + .hero-lede { margin-top: .45rem; text-wrap: pretty; }
.hero-services + .hero-lede span { display: block; }
.site-complete .footer-main .brand { display: inline-flex; width: max-content; max-width: 100%; padding: .6rem .8rem; }
.site-complete .footer-main .brand-logo16 { width: 6.9rem; max-width: none; height: auto; }
.site-complete .method-cta { justify-content: center; margin-inline: 0; }
.site-complete .method-cta .button {
  min-height: 6.5rem; width: min(22rem, calc(100% - 6rem));
  font-size: clamp(1.08rem, 2.4vw, 1.55rem); text-align: center;
}
.site-complete .hero-quote { min-height: 3.85rem; padding-inline: 1.55rem; font-size: 1.02rem; }
.hero-quote-note { display: none; }
@media (max-width: 980px) {
  .site-complete .site-nav { gap: 0; align-items: stretch; }
  .site-complete .site-nav a { font-size: calc(.95rem + .1rem * var(--header-emphasis, 1)); }
  .site-complete .menu-toggle { flex: none; }
}
@media (max-width: 640px) {
  .site-complete .hero-grid { gap: 0; }
  .site-complete .hero-copy { display: contents; }
  .site-complete .hero h1 { grid-row: 1; }
  .site-complete .hero-vallon-art { grid-row: 2; }
  .site-complete .hero-services { grid-row: 3; margin-top: .8rem; }
  .site-complete .hero-lede { grid-row: 4; }
  .site-complete .hero-actions { grid-row: 5; }
  .site-complete .hero-note { display: none; }
  .site-complete .hero-quote { min-height: 6.5rem; flex-direction: column; gap: .35rem; font-size: 1.18rem; text-align: center; }
  .hero-quote-note { display: block; font-size: .81rem; font-weight: 500; line-height: 1.35; max-width: 34ch; }
  .site-complete .menu-toggle { position: relative; }
  .site-complete .menu-toggle span, .site-complete .menu-toggle::before, .site-complete .menu-toggle::after {
    position: absolute; inset: calc(50% - 1px) auto auto calc(50% - .6rem); margin: 0;
  }
  .site-complete .menu-toggle::before { transform: translateY(-8px); }
  .site-complete .menu-toggle::after { transform: translateY(8px); }
  .site-complete.header-compact .menu-toggle::before { transform: translateY(-5px); }
  .site-complete.header-compact .menu-toggle::after { transform: translateY(5px); }
  .site-complete .menu-toggle[aria-expanded="true"]::before { transform: rotate(45deg); }
  .site-complete .menu-toggle[aria-expanded="true"]::after { transform: rotate(-45deg); }
  .site-complete .contact-form .checkbox { grid-template-columns: 1.8rem minmax(0, 1fr); column-gap: .8rem; }
  .site-complete .contact-form #privacy { width: 1.5rem; height: 1.5rem; min-height: 0; margin: .1rem 0 0; padding: 0; }
}
