/* Captia Sortant — expérience éditoriale dédiée.
   Les scènes restent immobiles au repos et s’activent depuis leurs contrôles. */

body.outbound-page {
  --outbound-mist: #9ab8d5;
  --outbound-blue: #4e85bf;
  --outbound-violet: #8b6bd6;
  --outbound-green: #65d6ad;
  --outbound-line: rgba(154,184,213,.2);
}

body.outbound-page .ambient-a {
  width: 52vw;
  height: 52vw;
  top: -24vw;
  right: -15vw;
  opacity: .08;
  background: var(--outbound-blue);
}

body.outbound-page .ambient-b {
  opacity: .045;
  background: var(--outbound-violet);
}

body.outbound-page .ambient { animation-play-state: paused; }

body.outbound-page .service-hero {
  position: relative;
  min-height: 100svh;
  grid-template-columns: minmax(0,1.04fr) minmax(390px,.82fr);
  gap: clamp(42px,6vw,88px);
  padding-top: clamp(140px,17vh,196px);
  padding-bottom: clamp(78px,10vh,112px);
}

body.outbound-page .service-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(760px,66vw);
  aspect-ratio: 1;
  right: -19%;
  top: -11%;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(78,133,191,.1),rgba(139,107,214,.035) 38%,transparent 69%);
  pointer-events: none;
}

body.outbound-page .service-hero > .reveal:first-child { align-self: center; }

body.outbound-page.captia-editorial-v3 .service-hero h1 {
  max-width: 760px;
  margin-top: 27px;
  font-size: clamp(62px,7.3vw,104px);
  line-height: .91 !important;
}

body.outbound-page .service-lede {
  max-width: 650px;
  font-size: clamp(17px,1.5vw,20px);
}

/* Mission control sortant */
body.outbound-page .outbound-signal {
  min-height: 500px;
  isolation: isolate;
  border-color: rgba(154,184,213,.17) !important;
  background:
    radial-gradient(circle at 50% 45%,rgba(78,133,191,.14),transparent 29%),
    radial-gradient(circle at 85% 10%,rgba(139,107,214,.09),transparent 36%),
    linear-gradient(150deg,rgba(255,255,255,.025),rgba(255,255,255,.005)),
    #080809 !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08),0 50px 110px -68px rgba(0,0,0,.95) !important;
}

body.outbound-page .outbound-signal::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  border-radius: inherit;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size: 31px 31px;
  mask-image: radial-gradient(circle at 50% 45%,#000 0 28%,rgba(0,0,0,.65) 52%,transparent 86%);
  pointer-events: none;
}

body.outbound-page .outbound-signal::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 15% 10% 21%;
  border: 1px solid rgba(154,184,213,.055);
  border-radius: 50%;
  transform: rotate(-8deg);
  pointer-events: none;
}

.outbound-signal-head {
  position: absolute;
  z-index: 8;
  top: 20px;
  left: 22px;
  right: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(245,245,245,.58);
  font: 500 10px/1.3 "DM Mono",ui-monospace,monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.outbound-live { display: inline-flex; align-items: center; gap: 9px; }
.outbound-live b { color: rgba(245,245,245,.62); font-weight: 500; }
.outbound-live i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--outbound-green);
  box-shadow: 0 0 0 4px rgba(101,214,173,.07),0 0 13px rgba(101,214,173,.4);
  animation: outbound-live-pulse 1.9s ease-in-out infinite;
  animation-play-state: paused;
}

.outbound-signal.is-previewing .outbound-live i { animation-play-state: running; }

.outbound-stage {
  position: absolute;
  inset: 55px 0 68px;
  overflow: hidden;
  perspective: 1200px;
  transform-style: preserve-3d;
}

.outbound-field {
  position: absolute;
  left: 50%;
  top: 47%;
  width: 255px;
  aspect-ratio: 1;
  transform: translate3d(-50%,-50%,52px) rotateX(var(--outbound-rx,0deg)) rotateY(var(--outbound-ry,0deg));
  border-radius: 50%;
  background: radial-gradient(circle,rgba(154,184,213,.055),transparent 66%);
}

.outbound-field > i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--orbit-size);
  aspect-ratio: 1;
  border: 1px solid rgba(154,184,213,var(--orbit-alpha));
  border-left-color: transparent;
  border-bottom-color: rgba(139,107,214,var(--orbit-alpha));
  border-radius: 50%;
  transform: translate(-50%,-50%) rotate(var(--orbit-tilt));
  animation: outbound-orbit var(--orbit-speed) linear infinite;
  animation-play-state: paused;
}

.outbound-field > i:nth-child(1) { --orbit-size: 100%; --orbit-alpha: .25; --orbit-tilt: 12deg; --orbit-speed: 8s; }
.outbound-field > i:nth-child(2) { --orbit-size: 72%; --orbit-alpha: .16; --orbit-tilt: -25deg; --orbit-speed: 6s; animation-direction: reverse; }
.outbound-field > i:nth-child(3) { --orbit-size: 132%; --orbit-alpha: .1; --orbit-tilt: 34deg; --orbit-speed: 12s; }

.outbound-route {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 47%;
  width: 39%;
  height: 1px;
  overflow: hidden;
  transform-origin: left center;
  background: linear-gradient(90deg,rgba(154,184,213,.34),rgba(78,133,191,.08) 70%,transparent);
}

.outbound-route-a { transform: rotate(205deg); }
.outbound-route-b { transform: rotate(-31deg); width: 42%; }
.outbound-route-c { transform: rotate(31deg); width: 41%; }

.outbound-route > i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 44%;
  background: linear-gradient(90deg,transparent,var(--outbound-mist),#fff,transparent);
  box-shadow: 0 0 11px rgba(154,184,213,.7);
  transform: translateX(-130%);
  animation: outbound-route-charge 1.55s cubic-bezier(.45,.05,.55,.95) infinite;
  animation-play-state: paused;
}

.outbound-route-b > i { animation-delay: .32s; }
.outbound-route-c > i { animation-delay: .68s; }

.outbound-contact {
  position: absolute;
  z-index: 3;
  display: grid;
  grid-template-columns: 10px auto;
  grid-template-rows: auto auto;
  column-gap: 8px;
  min-width: 108px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 12px;
  background: rgba(9,9,10,.76);
  box-shadow: inset 0 1px rgba(255,255,255,.035),0 16px 38px -28px #000;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: border-color 280ms ease,transform 500ms cubic-bezier(.2,.7,.2,1),background 280ms ease;
}

.outbound-contact-a { left: 6%; top: 17%; }
.outbound-contact-b { right: 5%; top: 12%; }
.outbound-contact-c { right: 4%; bottom: 11%; }

.outbound-contact > i {
  position: relative;
  grid-row: 1 / 3;
  align-self: center;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--outbound-mist);
  box-shadow: 0 0 9px rgba(154,184,213,.56);
}

.outbound-contact > i::before {
  content: "";
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(154,184,213,.35);
  border-radius: 50%;
  opacity: 0;
  animation: outbound-node-pulse 1.8s ease-out infinite;
  animation-play-state: paused;
}

.outbound-contact b {
  color: rgba(245,245,245,.72);
  font: 500 8px/1.2 "DM Mono",ui-monospace,monospace;
  letter-spacing: .09em;
}

.outbound-contact small {
  margin-top: 4px;
  color: rgba(245,245,245,.3);
  font: 400 7px/1.2 "DM Mono",ui-monospace,monospace;
  letter-spacing: .04em;
}

.outbound-trigger {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 47%;
  width: 108px;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid rgba(154,184,213,.46);
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 30%,rgba(154,184,213,.2),transparent 39%),
    rgba(5,5,6,.9);
  color: #f5f5f5;
  box-shadow: inset 0 1px rgba(255,255,255,.14),0 0 0 8px rgba(5,5,6,.45),0 0 45px rgba(78,133,191,.16);
  transform: translate3d(-50%,-50%,108px);
  cursor: pointer;
  transition: border-color 280ms ease,box-shadow 280ms ease,transform 280ms cubic-bezier(.2,.7,.2,1);
}

.outbound-trigger::before {
  content: "";
  position: absolute;
  inset: -13px;
  border-radius: inherit;
  background: conic-gradient(from 20deg,transparent 0 18%,rgba(154,184,213,.76) 24%,transparent 31% 64%,rgba(139,107,214,.48) 71%,transparent 79%);
  -webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 1px),#000 0);
  mask: radial-gradient(farthest-side,transparent calc(100% - 1px),#000 0);
  animation: outbound-trigger-orbit 4.8s linear infinite;
  animation-play-state: paused;
  pointer-events: none;
}

.outbound-trigger::after {
  content: "";
  position: absolute;
  inset: -2px;
  border: 1px solid rgba(154,184,213,.3);
  border-radius: inherit;
  opacity: 0;
  animation: outbound-trigger-pulse 1.8s ease-out infinite;
  animation-play-state: paused;
  pointer-events: none;
}

.outbound-trigger:hover,
.outbound-trigger:focus-visible,
.outbound-signal.is-pinned .outbound-trigger {
  border-color: rgba(194,218,239,.78);
  box-shadow: inset 0 1px rgba(255,255,255,.18),0 0 0 9px rgba(78,133,191,.08),0 0 58px rgba(78,133,191,.3);
  transform: translate3d(-50%,-50%,124px) scale(1.035);
}

.outbound-trigger[aria-disabled="true"],
.outbound-step-control[aria-disabled="true"] { cursor: default; opacity: .72; }

.outbound-trigger-copy { display: grid; place-items: center; gap: 7px; }
.outbound-trigger-copy img { width: 58px; height: 58px; object-fit: contain; filter: drop-shadow(0 0 14px rgba(137,170,204,.32)); animation: outbound-brand-breathe 5.6s ease-in-out infinite alternate; }
.outbound-trigger-copy small { color: rgba(245,245,245,.66); font: 500 9px/1 "DM Mono",ui-monospace,monospace; letter-spacing: .13em; }

.outbound-signal.is-previewing .outbound-field > i,
.outbound-signal.is-previewing .outbound-route > i,
.outbound-signal.is-previewing .outbound-contact > i::before,
.outbound-signal.is-previewing .outbound-trigger::before,
.outbound-signal.is-previewing .outbound-trigger::after { animation-play-state: running; }

.outbound-signal.is-previewing .outbound-contact {
  border-color: rgba(154,184,213,.18);
  background: rgba(12,14,17,.84);
}

.outbound-signal.is-previewing .outbound-contact-a { transform: translate(-2px,-2px); }
.outbound-signal.is-previewing .outbound-contact-b { transform: translate(2px,-2px); }
.outbound-signal.is-previewing .outbound-contact-c { transform: translate(2px,2px); }

.outbound-signal.is-page-hidden *,
body.motion-paused .outbound-signal *,
body.motion-paused .outbound-step * {
  animation-play-state: paused !important;
  transition: none !important;
}

.outbound-signal-status {
  align-items: center;
  min-height: 47px;
  margin: 0;
  border-color: rgba(255,255,255,.075) !important;
}

.outbound-signal-status b { color: var(--outbound-mist) !important; }
.outbound-signal-status span,
.outbound-signal-status b { font-size: 10px; line-height: 1.35; }

/* Deux lectures simples : l’accumulation et la séquence contrôlée. */
body.outbound-page .outbound-panel {
  position: relative;
  min-height: 365px;
  overflow: hidden;
  padding-bottom: 138px;
}

body.outbound-page .outbound-panel::after {
  content: "";
  position: absolute;
  width: 290px;
  aspect-ratio: 1;
  right: -110px;
  bottom: -170px;
  border: 1px solid rgba(154,184,213,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(154,184,213,.018),0 0 0 72px rgba(154,184,213,.012);
  pointer-events: none;
}

body.outbound-page .outbound-panel h3 { margin-top: 48px; }

.outbound-queue,
.outbound-rules {
  position: absolute;
  z-index: 1;
  left: clamp(25px,3vw,36px);
  right: clamp(25px,3vw,36px);
  bottom: 28px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  background: rgba(8,8,9,.54);
}

.outbound-queue > span,
.outbound-rules > span {
  position: relative;
  min-width: 0;
  padding: 15px 13px;
}

.outbound-queue > span + span,
.outbound-rules > span + span { border-left: 1px solid rgba(255,255,255,.07); }

.outbound-queue i,
.outbound-rules i {
  display: block;
  width: 6px;
  height: 6px;
  margin-bottom: 11px;
  border-radius: 50%;
}

.outbound-queue i { background: rgba(245,245,245,.25); box-shadow: 0 0 0 4px rgba(245,245,245,.025); }
.outbound-rules i { background: var(--outbound-green); box-shadow: 0 0 0 4px rgba(101,214,173,.055),0 0 11px rgba(101,214,173,.3); }
.outbound-queue b { display: block; overflow: hidden; color: rgba(245,245,245,.55); font: 500 8px/1.2 "DM Mono",ui-monospace,monospace; letter-spacing: .04em; text-overflow: ellipsis; white-space: nowrap; }
.outbound-queue small { display: block; margin-top: 5px; color: rgba(245,245,245,.25); font: 400 7px/1.2 "DM Mono",ui-monospace,monospace; }
.outbound-rules > span { color: rgba(245,245,245,.52); font: 500 8px/1.35 "DM Mono",ui-monospace,monospace; letter-spacing: .03em; }

/* Étapes : chaque icône contrôle uniquement la scène de sa carte. */
body.outbound-page .service-flow {
  gap: 14px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.outbound-page.captia-editorial-v3 .outbound-step {
  min-height: 345px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 24px;
  background: linear-gradient(145deg,rgba(255,255,255,.034),rgba(255,255,255,.009)),rgba(16,16,17,.64);
}

body.outbound-page .service-step + .service-step { border-left: 1px solid rgba(255,255,255,.085); }

.outbound-step::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--outbound-mist),transparent);
  opacity: 0;
  transform: translateX(-75%);
  animation: outbound-card-scan 1.6s ease-in-out infinite;
  animation-play-state: paused;
}

.outbound-step.is-engaged {
  border-color: rgba(154,184,213,.27) !important;
  background: linear-gradient(145deg,rgba(154,184,213,.06),rgba(255,255,255,.009)),rgba(16,16,17,.7) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.065),0 28px 72px -52px rgba(78,133,191,.55) !important;
}

.outbound-step.is-engaged::after { opacity: .72; animation-play-state: running; }
.outbound-step .step-num { position: relative; z-index: 2; }

.outbound-step-control {
  position: absolute;
  z-index: 4;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  background: rgba(8,8,9,.56);
  color: rgba(245,245,245,.62);
  cursor: pointer;
  transition: color 220ms ease,border-color 220ms ease,background 220ms ease,transform 280ms cubic-bezier(.2,.7,.2,1);
}

.outbound-step-control svg { width: 17px; height: 17px; transition: transform 280ms cubic-bezier(.2,.7,.2,1); }
.outbound-step-control:hover,
.outbound-step-control:focus-visible,
.outbound-step-control[aria-pressed="true"] { color: #080809; border-color: #f5f5f5; background: #f5f5f5; transform: scale(1.055); }
.outbound-step-control:hover svg,
.outbound-step-control:focus-visible svg,
.outbound-step-control[aria-pressed="true"] svg { transform: rotate(45deg); }

.outbound-step-visual {
  position: relative;
  z-index: 1;
  height: 78px;
  margin: 38px 0 23px;
}

body.outbound-page .outbound-step h3 { position: relative; z-index: 1; margin: 0 0 12px; }
body.outbound-page .outbound-step p { position: relative; z-index: 1; }

.outbound-step-plan { display: flex; align-items: center; gap: 13px; }
.outbound-step-plan > span {
  position: relative;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(154,184,213,.28);
  border-radius: 50%;
  background: rgba(154,184,213,.055);
}
.outbound-step-plan > span + span::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  width: 14px;
  height: 1px;
  background: rgba(154,184,213,.22);
}
.outbound-step-plan > span:nth-child(2) { width: 29px; height: 29px; border-color: rgba(154,184,213,.47); }
.outbound-step-plan > span:nth-child(3) { border-color: rgba(101,214,173,.35); background: rgba(101,214,173,.08); }
.outbound-step-plan > i {
  position: absolute;
  left: 0;
  top: 50%;
  width: 16px;
  height: 2px;
  border-radius: 99px;
  background: #f5f5f5;
  box-shadow: 0 0 12px rgba(154,184,213,.8);
  animation: outbound-plan-travel 1.6s ease-in-out infinite;
  animation-play-state: paused;
}

.outbound-step-call { display: flex; align-items: center; gap: 5px; }
.outbound-step-call > span {
  width: 3px;
  height: var(--wave-height);
  border-radius: 99px;
  background: linear-gradient(to top,var(--outbound-blue),var(--outbound-mist));
  transform: scaleY(.34);
  animation: outbound-wave 620ms ease-in-out infinite alternate;
  animation-play-state: paused;
}
.outbound-step-call > span:nth-child(1),.outbound-step-call > span:nth-child(7) { --wave-height: 14px; }
.outbound-step-call > span:nth-child(2),.outbound-step-call > span:nth-child(6) { --wave-height: 29px; animation-delay: 90ms; }
.outbound-step-call > span:nth-child(3),.outbound-step-call > span:nth-child(5) { --wave-height: 47px; animation-delay: 170ms; }
.outbound-step-call > span:nth-child(4) { --wave-height: 65px; animation-delay: 240ms; }
.outbound-step-call > i { width: 7px; height: 7px; margin-left: 11px; border-radius: 50%; background: var(--outbound-green); box-shadow: 0 0 13px rgba(101,214,173,.42); }

.outbound-step-log { display: grid; align-content: center; gap: 9px; max-width: 170px; }
.outbound-step-log > span { position: relative; height: 7px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.045); }
.outbound-step-log > span > i { display: block; width: var(--log-width); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--outbound-blue),var(--outbound-mist)); transform: scaleX(.12); transform-origin: left; animation: outbound-log-fill 1.4s ease-in-out infinite alternate; animation-play-state: paused; }
.outbound-step-log > span:nth-child(1) > i { --log-width: 92%; }
.outbound-step-log > span:nth-child(2) > i { --log-width: 67%; animation-delay: 130ms; }
.outbound-step-log > span:nth-child(3) > i { --log-width: 78%; animation-delay: 260ms; }

.outbound-step.is-engaged .outbound-step-plan > i,
.outbound-step.is-engaged .outbound-step-call > span,
.outbound-step.is-engaged .outbound-step-log > span > i { animation-play-state: running; }

body.outbound-page .service-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 15%,rgba(78,133,191,.14),transparent 32%),
    radial-gradient(circle at 22% 100%,rgba(139,107,214,.07),transparent 34%),
    rgba(20,20,20,.56) !important;
}

body.outbound-page .service-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 440px;
  aspect-ratio: 1;
  right: -210px;
  top: -260px;
  border: 1px solid rgba(154,184,213,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(154,184,213,.02),0 0 0 96px rgba(154,184,213,.012);
}

@keyframes outbound-live-pulse {
  50% { opacity: .5; box-shadow: 0 0 0 8px rgba(101,214,173,0),0 0 16px rgba(101,214,173,.52); }
}

@keyframes outbound-orbit {
  to { transform: translate(-50%,-50%) rotate(calc(var(--orbit-tilt) + 360deg)); }
}

@keyframes outbound-route-charge {
  0% { transform: translateX(-130%); opacity: 0; }
  18%,78% { opacity: 1; }
  100% { transform: translateX(280%); opacity: 0; }
}

@keyframes outbound-node-pulse {
  0% { transform: scale(.55); opacity: 0; }
  22% { opacity: .75; }
  100% { transform: scale(1.65); opacity: 0; }
}

@keyframes outbound-trigger-orbit { to { transform: rotate(360deg); } }
@keyframes outbound-brand-breathe { to { transform: scale(1.055) rotate(1.5deg); filter: brightness(1.14) drop-shadow(0 0 22px rgba(137,170,204,.46)); } }

@keyframes outbound-trigger-pulse {
  0% { transform: scale(.86); opacity: 0; }
  25% { opacity: .45; }
  100% { transform: scale(1.35); opacity: 0; }
}

@keyframes outbound-card-scan {
  0% { transform: translateX(-80%); }
  100% { transform: translateX(80%); }
}

@keyframes outbound-plan-travel {
  0% { transform: translateX(-8px); opacity: 0; }
  16%,82% { opacity: 1; }
  100% { transform: translateX(82px); opacity: 0; }
}

@keyframes outbound-wave { to { transform: scaleY(1); filter: brightness(1.2); } }
@keyframes outbound-log-fill { to { transform: scaleX(1); } }

@media (max-width: 1040px) {
  body.outbound-page .service-hero { grid-template-columns: minmax(0,1fr) minmax(350px,.8fr); gap: 34px; }
  body.outbound-page.captia-editorial-v3 .service-hero h1 { font-size: clamp(58px,7.5vw,82px); }
  body.outbound-page .outbound-signal { min-height: 460px; }
  .outbound-contact { min-width: 95px; padding: 9px 10px; }
  .outbound-contact-a { left: 3%; }
  .outbound-contact-b,.outbound-contact-c { right: 2%; }
}

@media (max-width: 900px) {
  body.outbound-page .service-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 142px;
  }
  body.outbound-page .service-hero > .reveal:first-child { max-width: 720px; }
  body.outbound-page.captia-editorial-v3 .service-hero h1 { font-size: clamp(62px,11vw,92px); }
  body.outbound-page .outbound-signal { width: min(100%,700px); min-height: 470px; justify-self: center; }
  body.outbound-page .service-flow { gap: 12px; }
  body.outbound-page .service-step + .service-step { border-top: 1px solid rgba(255,255,255,.085); }
  body.outbound-page.captia-editorial-v3 .outbound-step { min-height: 275px; }
  .outbound-step-visual { width: 190px; margin-top: 28px; }
}

@media (max-width: 680px) {
  body.outbound-page .service-hero { padding-top: 123px; padding-bottom: 65px; }
  body.outbound-page.captia-editorial-v3 .service-hero h1 { margin-top: 21px; font-size: clamp(51px,15.2vw,72px); }
  body.outbound-page .service-lede { font-size: 16px; }
  body.outbound-page .outbound-signal { min-height: 390px; border-radius: 22px !important; }
  .outbound-signal-head { top: 16px; left: 15px; right: 15px; }
  .outbound-signal-head > span:last-child { display: none; }
  .outbound-stage { inset: 46px 0 65px; }
  .outbound-field { width: 200px; }
  .outbound-trigger { width: 88px; }
  .outbound-trigger-copy img { width: 48px; height: 48px; }
  .outbound-contact { min-width: 0; padding: 8px; }
  .outbound-contact b { font-size: 7px; }
  .outbound-contact small { display: none; }
  .outbound-contact-a { left: 3%; top: 12%; }
  .outbound-contact-b { right: 3%; top: 9%; }
  .outbound-contact-c { right: 2%; bottom: 8%; }
  .outbound-route-a { width: 43%; }
  .outbound-route-b,.outbound-route-c { width: 44%; }
  .outbound-signal-status { left: 9px; right: 9px; bottom: 9px; padding: 11px 12px; }
  .outbound-signal-status span { max-width: 64%; font-size: 9px; }
  .outbound-signal-status b { max-width: 36%; font-size: 8.5px; text-align: right; }
  body.outbound-page .outbound-panel { min-height: 405px; padding-bottom: 178px; }
  body.outbound-page .outbound-panel h3 { margin-top: 34px; }
  .outbound-queue,.outbound-rules { grid-template-columns: 1fr; bottom: 20px; }
  .outbound-queue > span,.outbound-rules > span { padding: 10px 12px; }
  .outbound-queue > span + span,.outbound-rules > span + span { border-left: 0; border-top: 1px solid rgba(255,255,255,.07); }
  .outbound-queue i,.outbound-rules i { display: inline-block; margin: 0 9px 0 0; vertical-align: middle; }
  .outbound-queue b,.outbound-queue small { display: inline; }
  .outbound-queue small { margin-left: 8px; }
  body.outbound-page.captia-editorial-v3 .outbound-step { min-height: 290px; padding: 24px 21px; }
  .outbound-step-control { top: 16px; right: 16px; width: 44px; height: 44px; }
  .outbound-step-visual { margin-top: 31px; }
}

@media (max-width: 390px) {
  body.outbound-page .outbound-signal { min-height: 365px; }
  .outbound-contact { transform: scale(.9); }
  .outbound-contact-a { transform-origin: left center; }
  .outbound-contact-b,.outbound-contact-c { transform-origin: right center; }
  .outbound-field { width: 178px; }
  .outbound-trigger { width: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  body.outbound-page .outbound-signal *,
  body.outbound-page .outbound-step * { animation: none !important; transition-duration: .001ms !important; }
  body.outbound-page .outbound-trigger::before { transform: rotate(24deg); }
  body.outbound-page .outbound-step-call > span { transform: scaleY(.72); }
  body.outbound-page .outbound-step-log > span > i { transform: scaleX(.72); }
}

/* Portrait-mission depth layer — revision 23 */
.outbound-mission-art {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 47%;
  width: min(76%,350px);
  height: 82%;
  object-fit: cover;
  object-position: 50% 31%;
  border-radius: 48%;
  opacity: .28;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(ellipse at 50% 42%,#000 30%,rgba(0,0,0,.82) 55%,transparent 78%);
  mask-image: radial-gradient(ellipse at 50% 42%,#000 30%,rgba(0,0,0,.82) 55%,transparent 78%);
  filter: saturate(.78) contrast(1.14) brightness(.58) drop-shadow(0 30px 70px rgba(78,133,191,.2));
  transform: translate3d(calc(-50% + var(--outbound-x,0px)),calc(-50% + var(--outbound-y,0px)),-18px) rotateZ(-6deg) scale(.98);
  animation: outbound-mission-breathe 14s ease-in-out infinite alternate;
  transition: opacity 700ms ease,filter 700ms ease,transform 900ms cubic-bezier(.16,.8,.2,1);
  pointer-events: none;
}

.outbound-signal:hover .outbound-mission-art,
.outbound-signal.is-previewing .outbound-mission-art {
  opacity: .52;
  filter: saturate(1.03) contrast(1.18) brightness(.72) drop-shadow(0 38px 88px rgba(78,133,191,.34));
  animation-duration: 6.2s;
}

.outbound-signal.is-previewing .outbound-mission-art {
  transform: translate3d(calc(-50% + var(--outbound-x,0px)),calc(-50% + var(--outbound-y,0px)),10px) rotateZ(3deg) scale(1.07);
}

.outbound-route { transform-style: preserve-3d; translate: 0 0 70px; }
.outbound-contact { transform-style: preserve-3d; translate: 0 0 92px; }
.outbound-contact-b { translate: 0 0 112px; }
.outbound-contact-c { translate: 0 0 78px; }
.outbound-signal-status { transform: translateZ(118px); }

@keyframes outbound-mission-breathe {
  0% { transform: translate3d(calc(-50% + var(--outbound-x,0px)),calc(-50% + var(--outbound-y,0px)),-18px) rotateZ(-6deg) scale(.98); }
  47% { transform: translate3d(calc(-50% + var(--outbound-x,0px)),calc(-50% + var(--outbound-y,0px)),2px) rotateZ(-1deg) scale(1.055); }
  100% { transform: translate3d(calc(-50% + var(--outbound-x,0px)),calc(-50% + var(--outbound-y,0px)),-8px) rotateZ(5deg) scale(1.015); }
}

@media (prefers-reduced-motion: reduce) {
  .outbound-mission-art { animation: none !important; transition: none !important; transform: translate(-50%,-50%) !important; }
  .outbound-field { transform: translate(-50%,-50%) !important; }
  .outbound-trigger { transform: translate(-50%,-50%) !important; }
}
