/* Composition éditoriale propre à l’accueil. Le contenu reste linéaire sans JS,
   sur petit écran ou en mouvement réduit ; seuls les rôles du socle sont lus. */
.version-three .orbit-section { position: relative; padding: 0; background: var(--surface-raised); }
.orbit-anchor { position: absolute; top: 0; }
.orbit-sticky { padding: 4rem 0; }
.orbit-overview { text-align: center; padding: 3rem 0; }
.orbit-overview h2 { font-size: clamp(2rem, 4.1vw, 4rem); line-height: 1.04; letter-spacing: -.035em; }
.orbit-overview h2 em { font-family: var(--font-hero-editorial); font-weight: 400; letter-spacing: -.035em; }
.orbit-feature { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 3.5rem 0; border-top: 1px solid var(--line); scroll-margin-top: 7rem; }
.orbit-copy { max-width: 430px; }
.orbit-copy .orbit-chapter { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.6rem; color: var(--text); font-size: .9375rem; line-height: 1.4; letter-spacing: 0; text-transform: none; font-weight: 600; }
.orbit-chapter-number { flex: none; padding-right: 1rem; border-right: 1px solid var(--line); font-family: var(--font-display); font-size: 2.25rem; line-height: 1.1; font-weight: 600; color: var(--tone-brand-fg); font-variant-numeric: tabular-nums; }
.orbit-chapter-name { max-width: 25ch; }
.orbit-copy h3 { font-size: clamp(2rem, 3.65vw, 3.6rem); line-height: 1.06; letter-spacing: -.035em; }
.orbit-description { margin-top: 1.5rem; color: var(--text-muted); max-width: 42ch; font-size: 1rem; line-height: 1.8; }
.orbit-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; color: var(--text-muted); font-size: .8125rem; line-height: 1.45; list-style: none; margin: 1.5rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--line); }
.orbit-facts li { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; min-width: 0; }
.orbit-facts li span { max-width: min(100%, 14ch); }
.orbit-facts svg { flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.orbit-copy .text-link { font-size: .875rem; margin-top: 1.5rem; background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
.orbit-object { width: 240px; justify-self: center; }
.orbit-card { width: 240px; height: 240px; background: var(--surface-raised); border: 0; border-radius: 30px; overflow: hidden; box-shadow: var(--elevation-sm); }
.orbit-card-visual { height: 100%; overflow: hidden; }
.orbit-object-label { text-align: center; margin: .8rem 0 0; font-size: .82rem; font-weight: 500; color: var(--text); }
.orbit-object-label span { font-size: .7rem; color: var(--text-muted); margin-right: .45rem; }
.orbit-bottom { display: none; }
/* Conservé pour réemploi, sans affichage ni arrêt de tabulation. */
.orbit-section .orbit-bottom[hidden] { display: none; }
.orbit-section a:focus-visible, .orbit-section button:focus-visible, .orbit-connections a:focus-visible { outline: 3px solid var(--tone-brand-fg); outline-offset: 5px; border-radius: 3px; }
.orbit-connections { padding-block: 6rem; }
.orbit-connections-heading h2 { font-size: clamp(2rem, 3.7vw, 3.6rem); line-height: 1.1; }
.orbit-connections-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 3rem; gap: 1.5rem; }
.orbit-connections-grid h3 { font-size: clamp(1.8rem,2.5vw,2.5rem); line-height: 1.12; margin: 0 0 1rem; }
.orbit-connections-grid p { color: var(--text-muted); font-size: .9375rem; line-height: 1.7; }
.orbit-connection-symbol, .orbit-channel-symbols { height: 30px; display: flex; align-items: center; gap: 1.25rem; color: var(--text); }
.orbit-connection-symbol svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.orbit-channel-symbols svg { width: 25px; height: 30px; }
.orbit-channel-symbols span { font-size: 1rem; font-weight: 500; }
.orbit-connection-note, .orbit-connections .text-link { display: inline-flex; color: var(--text-muted); margin-top: 1.4rem; font-size: .8rem; }
.orbit-connections .text-link { color: var(--tone-brand-fg); }
@media (min-width: 1000px) and (min-height: 740px) and (prefers-reduced-motion: no-preference) {
  .orbit-section.is-orbit-animated { height: 570svh; }
  .is-orbit-animated .orbit-sticky { position: sticky; top: 0; height: 100svh; padding: 0; overflow: clip; }
  .is-orbit-animated .orbit-scene { position: relative; height: 100%; isolation: isolate; }
  .is-orbit-animated .orbit-overview { position: absolute; left: 50%; top: 49%; width: min(650px, 60vw); transform: translate(-50%, -50%); padding: 0; z-index: 8; pointer-events: none; }
  .is-orbit-animated .orbit-overview h2 { font-size: clamp(2rem, 3.2vw, 3.4rem); width: max-content; max-width: 100%; margin-inline: auto; }
  .is-orbit-animated .orbit-feature { position: static; display: block; padding: 0; border: 0; }
  .is-orbit-animated .orbit-copy { position: absolute; top: 48%; left: 0; width: 37%; transform: translateY(-50%); z-index: 20; visibility: hidden; opacity: 0; }
  .is-orbit-animated .orbit-object { position: absolute; top: 49%; left: 50%; margin: -120px 0 0 -120px; transform-origin: 120px 120px; }
  .is-orbit-animated .orbit-object-label { white-space: nowrap; font-size: 1.0625rem; line-height: 1.25; font-weight: 550; }
  .is-orbit-animated .orbit-object-label span { font-size: .8125rem; }
  .is-orbit-animated .orbit-bottom { position: absolute; bottom: 28px; left: 0; right: 0; z-index: 40; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; }
  .orbit-nav { display: inline-flex; align-items: center; justify-self: start; max-width: 100%; gap: .2rem; padding: .3rem; border: 1px solid var(--line); border-radius: 100px; background: var(--surface-raised); }
  .orbit-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: .5rem .8rem; font-size: .75rem; font-weight: 500; gap: .4rem; color: var(--text-muted); text-decoration: none; border-radius: 100px; white-space: nowrap; }
  .orbit-nav a > span { font-size: .63rem; }
  .orbit-nav a[aria-current] { color: var(--tone-brand-fg); background: var(--tone-brand-soft); }
  .orbit-nav a:hover { background: var(--surface-sunken); color: var(--text); }
  .orbit-nav svg { width: 18px; height: 18px; }
}
@media (min-width: 1000px) and (max-width: 1100px) {
  .is-orbit-animated .orbit-copy { width: 38%; }
  .is-orbit-animated .orbit-copy h3 { font-size: 2.5rem; }
  .is-orbit-animated .orbit-description { font-size: .9rem; }
  .is-orbit-animated .orbit-bottom { grid-template-columns: 1fr; }
  .orbit-nav { width: 100%; justify-content: space-between; }
  .orbit-nav a { padding-inline: .55rem; font-size: .7rem; }
}
@media (max-width: 999px) {
  .orbit-sticky { padding-block: 2.5rem; }
  .orbit-overview { padding: 2.5rem 0; }
  .orbit-overview h2 { font-size: clamp(2rem, 6.7vw, 3rem); }
  .orbit-feature { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 0; }
  .orbit-copy { max-width: 100%; }
  .orbit-copy h3 { font-size: 2.3rem; }
  .orbit-copy .orbit-chapter { margin-bottom: 1.25rem; font-size: .875rem; }
  .orbit-chapter-number { font-size: 2rem; }
  .orbit-description { font-size: .95rem; }
  .orbit-object { margin-bottom: .5rem; }
  .orbit-connections { padding-block: 3.5rem; }
  .orbit-connections-grid { grid-template-columns: 1fr; gap: 2.5rem; margin-top: 2rem; }
}

/* Deux compositions marketing : messages et accès au studio. Les interfaces
   illustrées restent statiques ; seul le lien de parcours est interactif. */
.orbit-connections { --surface-connection-warm:oklch(.955 .015 75); --surface-connection-chip:color-mix(in oklch,var(--surface-raised) 76%,transparent); }
.connection-card { position:relative;isolation:isolate;overflow:hidden;border-radius:1.5rem;min-width:0;display:flex;flex-direction:column;padding:2.25rem;background:var(--surface-page); }
.connection-campaigns { background:linear-gradient(150deg,var(--tone-brand-soft),var(--surface-page) 65%); }
.connection-presence { background:var(--surface-connection-warm); }
.connection-copy { position:relative;z-index:2; }
.connection-copy .connection-label { font-size:.625rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;margin-bottom:1.25rem;color:var(--text-muted); }
.connection-copy>p:not(.connection-label) { max-width:45ch; }
.connection-tags { list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem; }
.connection-tags li { display:flex;align-items:center;gap:.4rem;background:var(--surface-connection-chip);border:1px solid var(--line-subtle);border-radius:2rem;padding:.45rem .7rem;white-space:nowrap;font-size:.6875rem;font-weight:500;color:var(--text); }
.connection-tags small { font-size:.5625rem;color:var(--text-muted); }
.connection-card svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none; }
.connection-tags svg { width:14px;height:14px; }
.campaign-scene { position:relative;margin:2.5rem -.4rem 0;display:flex;flex-direction:column;gap:.85rem;flex:1;justify-content:center;min-height:330px; }
.campaign-audience { background:var(--surface-raised);border:1px solid var(--line-subtle);border-radius:.8rem;padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--elevation-sm);margin:0 .6rem .15rem; }
.campaign-avatars { display:flex;padding-right:.3rem; }
.campaign-avatars span { display:grid;place-items:center;width:29px;height:29px;border:2px solid var(--surface-raised);border-radius:50%;background:var(--tone-brand-soft);color:var(--tone-brand-fg);font-size:.625rem;font-weight:600;margin-right:-.45rem; }
.campaign-avatars span:nth-child(2) { background:var(--surface-connection-warm);color:var(--text-muted); }
.campaign-audience strong { display:block;font-size:.75rem;line-height:1.4; }
.campaign-audience>div>span { display:block;font-size:.625rem;color:var(--text-muted);margin-top:.2rem; }
.campaign-audience>svg { margin-left:auto;color:var(--text-muted); }
.campaign-email { background:var(--surface-raised);border:1px solid var(--line-subtle);border-radius:.9rem;box-shadow:var(--elevation-lg);overflow:hidden;transform:rotate(-2deg);margin-right:1.7rem; }
.campaign-email-top { display:flex;align-items:center;gap:.6rem;padding:.85rem;border-bottom:1px solid var(--line-subtle);font-size:.5625rem;color:var(--text-muted); }
.channel-icon { width:31px;height:31px;display:grid;place-items:center;background:var(--tone-brand-soft);color:var(--tone-brand-fg);border-radius:.6rem;flex:none; }
.campaign-email-top strong { display:block;font-size:.6875rem;color:var(--text);line-height:1.45; }
.campaign-draft { margin-left:auto;background:var(--surface-sunken);padding:.25rem .45rem;border-radius:.3rem;font-size:.5rem; }
.campaign-email-body { display:flex;gap:1rem;align-items:center;padding:1rem; }
.campaign-email-body>img { width:32%;height:100px;border-radius:.5rem;object-fit:cover; }
.campaign-email-body small { font-size:.4375rem;letter-spacing:.08em;color:var(--text-muted);display:block;margin-bottom:.5rem; }
.campaign-email-body strong { font-size:1.1rem;line-height:1.2;letter-spacing:-.025em;display:block; }
.campaign-mini-cta { margin-top:.7rem;display:inline-flex;gap:1rem;align-items:center;background:var(--primary);color:var(--text-on-solid);border-radius:.35rem;padding:.4rem .6rem;font-size:.5625rem; }
.campaign-message { display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--line-subtle);border-radius:.8rem;background:var(--surface-raised);box-shadow:var(--elevation-lg);position:relative; }
.campaign-message small { display:block;font-size:.5625rem;color:var(--text-muted);margin-bottom:.2rem; }
.campaign-message strong { display:block;font-size:.7rem;line-height:1.4;font-weight:500; }
.campaign-whatsapp { margin-left:2rem;transform:rotate(1.5deg); }
.campaign-whatsapp .channel-icon { background:var(--tone-success-soft);color:var(--tone-success-fg); }
.message-ticks { margin-left:auto;color:var(--tone-success-fg); }
.campaign-sms { margin-right:3.5rem;box-shadow:var(--elevation-sm); }
.campaign-sms .channel-icon { background:var(--surface-sunken);color:var(--text-muted); }
.connection-card .connection-footnote { position:relative;margin-top:1.5rem;font-size:.5625rem;line-height:1.6;color:var(--text-muted); }
.connection-photo { position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:62% 50%; }
.connection-presence::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--surface-connection-warm),color-mix(in oklch,var(--surface-connection-warm) 93%,transparent) 22%,color-mix(in oklch,var(--surface-connection-warm) 35%,transparent) 46%,transparent 70%); }
.presence-scene { position:relative;min-height:340px;margin-top:2rem;flex:1; }
.presence-browser { position:absolute;width:70%;left:-.4rem;bottom:80px;border:1px solid var(--line-subtle);background:var(--surface-raised);border-radius:.7rem;overflow:hidden;box-shadow:var(--elevation-lg);transform:rotate(-4deg); }
.presence-browser-bar { display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .6rem;font-size:.5rem;color:var(--text-muted); }
.presence-browser-bar>span:first-child { font-size:.3rem;letter-spacing:.1em;color:var(--line-strong); }
.presence-browser-bar svg { width:11px;height:11px; }
.presence-browser-cover { height:95px;position:relative; }
.presence-browser-cover img { width:100%;height:100%;object-fit:cover;filter:brightness(.72); }
.presence-browser-cover>span { position:absolute;left:1rem;bottom:.75rem;color:var(--text-inverse);font-family:var(--font-hero-editorial);font-size:1.6rem;line-height:1.1; }
.presence-browser-cover small { font-family:var(--font-sans);font-size:.5rem;display:block;margin-top:.3rem; }
.presence-browser-body { padding:.9rem; }
.presence-website-title { font-size:.65rem;font-weight:600;margin-bottom:.5rem; }
.presence-website-title>span { display:block;font-size:.45rem;font-weight:400;color:var(--text-muted); }
.presence-class { display:flex;align-items:center;gap:.6rem;border-top:1px solid var(--line-subtle);padding:.65rem 0;font-size:.5rem; }
.presence-class strong { font-size:.5625rem;line-height:1.4; }
.presence-class small { display:block;font-size:.4375rem;font-weight:400;color:var(--text-muted); }
.presence-book { margin-left:auto;background:var(--tone-brand-soft);color:var(--tone-brand-fg);padding:.3rem .45rem;border-radius:.3rem;font-weight:500; }
.presence-embed { position:absolute;bottom:10px;left:0;background:var(--surface-raised);box-shadow:var(--elevation-lg);border:1px solid var(--line-subtle);border-radius:.65rem;padding:.75rem 1rem;display:flex;gap:.7rem;align-items:center;transform:rotate(-2deg); }
.presence-embed>svg { color:var(--tone-brand-fg); }
.presence-embed span { font-size:.5625rem;color:var(--text-muted); }
.presence-embed strong { display:block;color:var(--text);font-size:.625rem; }
.presence-phone { position:absolute;width:135px;bottom:30px;left:51%;border:4px solid var(--surface-inverse);border-radius:1.3rem;background:var(--surface-raised);box-shadow:var(--elevation-lg);padding:.6rem .35rem .4rem;transform:rotate(7deg); }
.presence-phone-notch { height:6px;width:36px;border-radius:9px;background:var(--surface-inverse);margin:-.25rem auto .6rem; }
.presence-phone-brand { font-family:var(--font-hero-editorial);font-size:1.45rem;text-align:center;line-height:1;margin-bottom:.5rem; }
.presence-phone-brand span { font-family:var(--font-sans);font-size:.3rem;letter-spacing:.18em;display:block;margin-top:.25rem; }
.presence-phone>img { height:65px;width:100%;object-fit:cover;border-radius:.4rem; }
.presence-phone-content { padding:.7rem .25rem 0; }
.presence-phone-content>small { font-size:.3125rem;letter-spacing:.06em;color:var(--text-muted);display:block; }
.presence-phone-content>strong { font-size:.6875rem;display:block;margin:.2rem 0; }
.presence-phone-content>span { font-size:.4375rem;display:block;color:var(--text-muted); }
.presence-phone-button { background:var(--primary);color:var(--text-on-solid);text-align:center;padding:.5rem .1rem;margin-top:.6rem;border-radius:.35rem;font-size:.4375rem;font-weight:600; }
.presence-phone-nav { display:flex;justify-content:space-around;padding:.6rem 0 .2rem;color:var(--text-muted); }
.presence-phone-nav svg { width:10px;height:10px; }
.connection-link { position:relative;align-self:flex-start;margin-top:1.5rem;display:flex;align-items:center;gap:1rem;background:var(--surface-raised);border:1px solid var(--line-subtle);border-radius:2rem;padding:.6rem .9rem;color:var(--text);font-size:.6875rem;font-weight:600;text-decoration:none;box-shadow:var(--elevation-sm); }
.connection-link:hover { color:var(--tone-brand-fg);border-color:var(--tone-brand-border); }
@media(min-width:1000px) and (prefers-reduced-motion:no-preference) { .campaign-email,.presence-browser { transition:transform .45s ease; }.connection-card:hover .campaign-email,.connection-card:hover .presence-browser { transform:rotate(0); } }
@media(max-width:1000px) and (min-width:761px) { .connection-card{padding:1.5rem}.connection-tags li{padding:.4rem .5rem;font-size:.6rem}.campaign-draft{display:none}.campaign-email-body{gap:.65rem}.campaign-email-body strong{font-size:.9rem}.presence-phone{left:50%;width:115px}.presence-browser{width:80%}.campaign-audience{margin-inline:0;padding:.75rem}.campaign-avatars{display:none} }
@media(max-width:760px) { .orbit-connections-grid{grid-template-columns:1fr;gap:1.25rem}.connection-card{padding:1.6rem;max-width:580px;width:100%;margin-inline:auto}.connection-copy h3{font-size:2rem}.connection-copy>p:not(.connection-label){font-size:.875rem}.campaign-scene{margin-top:1.8rem;min-height:320px}.campaign-email-body strong{font-size:.9375rem}.presence-scene{min-height:360px}.connection-photo{object-position:62% 50%} }
@media(max-width:380px) { .connection-card{padding:1.25rem}.connection-copy h3{font-size:1.8rem}.campaign-audience{margin-inline:0;padding:.7rem}.campaign-avatars{display:none}.campaign-email{margin-right:.2rem}.campaign-email-body{gap:.6rem}.campaign-email-body strong{font-size:.9375rem}.campaign-email-top{gap:.4rem;padding:.6rem}.campaign-draft{display:none}.campaign-whatsapp{margin-left:.6rem}.campaign-sms{margin-right:1rem}.presence-phone{width:116px;left:50%}.presence-browser{width:80%}.presence-browser-cover>span{font-size:1.35rem}.presence-embed{padding:.6rem .7rem}.connection-tags li{padding:.4rem .5rem} }
