/* IDA Studio V16 — premium refinements. Motion remains decorative. */
@supports (background: conic-gradient(red,blue)) {
  @property --ida-v16-turn { syntax:"<angle>"; initial-value:0deg; inherits:false; }
  .ida-v16-edge{
    --ida-v16-turn:0deg;
    position:absolute;inset:0;z-index:12!important;display:block;pointer-events:none;
    border-radius:inherit;padding:1.15px;opacity:.66;
    background:conic-gradient(from var(--ida-v16-turn),
      transparent 0deg,transparent 36deg,
      rgba(82,173,255,.08) 51deg,rgba(102,211,255,.86) 64deg,
      rgba(220,248,255,.96) 72deg,rgba(105,135,240,.52) 82deg,
      transparent 112deg,transparent 221deg,
      rgba(74,153,244,.10) 238deg,rgba(100,203,254,.45) 254deg,
      transparent 273deg,transparent 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    mask-composite:exclude;
    animation:ida-v16-border-orbit 14s linear infinite;
    animation-play-state:paused;
    will-change:opacity;
    transition:opacity .3s ease;
  }
  .ida-v16-edge-visible>.ida-v16-edge{animation-play-state:running;}
  .ida-v16-edge-visible:hover>.ida-v16-edge,.ida-v16-edge-visible:focus-within>.ida-v16-edge{opacity:1;}
  .ida-v16-edge-visible:nth-child(even)>.ida-v16-edge{animation-duration:17s;animation-delay:-6.2s}
  .ida-v16-edge-visible:nth-child(3n)>.ida-v16-edge{animation-duration:19s;animation-delay:-10s}
  @keyframes ida-v16-border-orbit {to {--ida-v16-turn:360deg;}}
  html[data-theme="ivory"] .ida-v16-edge{
    background:conic-gradient(from var(--ida-v16-turn),
      transparent 0 47deg,rgba(170,121,63,.06) 53deg,rgba(196,152,88,.78) 69deg,
      rgba(244,212,151,.94) 76deg,transparent 105deg,transparent 230deg,
      rgba(172,139,101,.38) 255deg,transparent 275deg);
    opacity:.45;
  }
}
/* Existing V14 pseudo-element is superseded to prevent colliding edge animations. */
.pro-grid .pro-card::before{display:none}
.project-card,.graphic-tile .morph-visual,.automation-feature,
.automation-benefits article,.why-journey,.price-card{position:relative;isolation:isolate}
.ida-v16-edge{border-radius:inherit}
.graphic-tile .morph-visual>.ida-v16-edge{z-index:8!important}
/* A truly moving photon on the connecting workflow wires. */
.automation-line{background:linear-gradient(180deg,rgba(var(--accent-rgb),.10),rgba(var(--accent-rgb),.72),rgba(var(--accent-rgb),.14));}
.automation-line::after{
  top:0;bottom:auto;left:-2.5px;width:6px;height:6px;
  background:#e4f6ff;box-shadow:0 0 6px 2px var(--accent),0 0 17px 4px rgba(var(--accent-rgb),.35);
  animation:ida-v16-signal 2.8s cubic-bezier(.35,.12,.5,1) infinite;
}
.automation-line:nth-of-type(4)::after{animation-delay:-1.4s}
@keyframes ida-v16-signal{
  0%{transform:translateY(0) scale(.6);opacity:0}
  16%{opacity:1}
  78%{opacity:1}
  100%{transform:translateY(19px) scale(.85);opacity:0}
}
/* Actual Factory screen instead of the previous generic symbolic shapes. */
.pro-preview.pro-factory-v16{background:#eee9df;color:#2b3037}
.pro-factory-v16 .blueprint-grid,.pro-factory-v16 .factory-shape{display:none}
.pro-factory-v16 .factory-shot{
  display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center;filter:saturate(.9) contrast(1.035);
}
.pro-factory-v16 .factory-shot-label{
  position:absolute;bottom:14px;right:14px;color:#fff;font-size:9px;font-weight:650;
  letter-spacing:.09em;background:rgba(10,20,34,.74);border-radius:12px;
  padding:6px 10px;z-index:3;backdrop-filter:blur(8px);
}
.pro-factory-v16 .project-label{background:rgba(5,12,26,.78)}
/* Readable default if image is absent until uploaded: semantic preview */
.pro-factory-v16 .factory-visual-fallback{position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(130deg,#f9f4e9,#d5c5ad);color:#252d36}
.pro-factory-v16 .factory-visual-fallback strong{font-size:clamp(26px,5vw,54px);font-weight:300;letter-spacing:-.045em}
.pro-factory-v16 .factory-visual-fallback small{display:block;letter-spacing:.21em;font-size:10px}
html[data-theme="ivory"] .factory-shot-label{color:#fff}
html[data-theme="navy"] .particle-window{opacity:.98}
@media(pointer:coarse){
  .particle-window{opacity:1}
  html[data-theme="ivory"] .particle-window{opacity:.76}
}
@media(prefers-reduced-motion:reduce){
  .ida-v16-edge,.automation-line::after{animation:none!important}
  .ida-v16-edge{opacity:.25}
  .automation-line::after{top:10px;opacity:.75}
}
@media(forced-colors:active){
  .ida-v16-edge{display:none!important}
  .automation-line::after{box-shadow:none;background:CanvasText}
}

html[data-ida-v16-motion-off="true"] .ida-v16-edge,
html[data-ida-v16-motion-off="true"] .automation-line::after{animation-play-state:paused!important}
@media (max-width:740px){
  .pro-factory-v16 .factory-shot{object-fit:contain;object-position:center;background:#eee7dc}
  .pro-factory-v16 .factory-shot-label{font-size:8px}
}

/* V17: vector border circuits: do not depend on @property or conic mask support. */
.ida-v16-edge{opacity:.24}
.ida-v17-trace-svg{
  position:absolute!important;inset:0;width:100%;height:100%;
  z-index:13!important;display:block;pointer-events:none;overflow:visible;
  color:#97d9ff;opacity:.94;transition:opacity .25s ease;
}
.ida-v17-trace-svg rect{
  fill:none;stroke:currentColor;stroke-linecap:round;
  animation:ida-v17-travel 11s linear infinite;
  animation-play-state:paused;
}
.ida-v16-edge-visible > .ida-v17-trace-svg rect{animation-play-state:running}
.ida-v17-trace-halo{
  stroke-width:5.8px;stroke-dasharray:9 91;
  opacity:.42;filter:drop-shadow(0 0 4px rgba(73,191,255,.72));
}
.ida-v17-trace-core{
  stroke-width:1.8px;stroke-dasharray:8 92;
  opacity:1;filter:drop-shadow(0 0 3px rgba(179,240,255,.9));
}
.ida-v17-trace-secondary{
  stroke-width:1.05px;stroke-dasharray:4 96;
  opacity:.65;animation-duration:16s!important;
}
.ida-v17-trace-svg rect{stroke-dashoffset:var(--ida-trace-offset,0)}
.ida-v17-trace-halo{animation-delay:-.02s!important}
.ida-v17-trace-secondary{animation-delay:-5s!important}
@keyframes ida-v17-travel {
  from {stroke-dashoffset:0}
  to {stroke-dashoffset:-100}
}
.ida-v16-edge-visible:hover>.ida-v17-trace-svg,
.ida-v16-edge-visible:focus-within>.ida-v17-trace-svg{opacity:1}
html[data-theme="ivory"] .ida-v17-trace-svg{color:#b18a55;opacity:.79}
html[data-theme="ivory"] .ida-v17-trace-halo{filter:drop-shadow(0 0 3px rgba(177,138,85,.45))}
html[data-ida-v16-motion-off="true"] .ida-v17-trace-svg rect{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .ida-v17-trace-svg rect{animation:none!important;stroke-dashoffset:0!important}
  .ida-v17-trace-svg{opacity:.30}
}
@media(forced-colors:active){.ida-v17-trace-svg{display:none!important}}

/* V18 — chromatic optical traces: hairline packets, never solid white borders. */
.ida-v16-edge {display:none!important}
.ida-v17-trace-svg.ida-v18-trace-svg {
  overflow:hidden;opacity:.88;
}
.ida-v17-trace-svg.ida-v18-trace-svg rect {
  stroke:var(--ida-v18-spectrum);
  stroke-linecap:round;
}
.ida-v18-trace-svg .ida-v17-trace-halo {
  stroke-width:2.25px;
  stroke-dasharray:7 93;
  opacity:.24;
  filter:drop-shadow(0 0 2px rgba(96,145,255,.58));
}
.ida-v18-trace-svg .ida-v17-trace-core {
  stroke-width:.78px;
  stroke-dasharray:7 93;
  opacity:.97;
  filter:drop-shadow(0 0 1.4px rgba(98,194,255,.48));
}
.ida-v18-trace-svg .ida-v17-trace-secondary {
  stroke-width:.48px;
  stroke-dasharray:3.8 96.2;
  opacity:.76;
  filter:none;
}
.ida-v18-color-stop {
  animation:ida-v18-chroma 8s ease-in-out infinite alternate;
  animation-play-state:paused;
}
.ida-v16-edge-visible .ida-v18-color-stop {animation-play-state:running}
@keyframes ida-v18-chroma {
  0%,100% {stop-color:var(--ida-color-a)}
  50% {stop-color:var(--ida-color-b)}
}
.ida-v18-trace-svg .ida-v17-trace-secondary {animation-duration:19s!important}
.ida-v18-trace-svg .ida-v17-trace-core {animation-duration:13s!important}
.ida-v18-trace-svg .ida-v17-trace-halo {animation-duration:13s!important}
.ida-v16-edge-visible:hover>.ida-v18-trace-svg,
.ida-v16-edge-visible:focus-within>.ida-v18-trace-svg {opacity:1}
html[data-theme="ivory"] .ida-v18-trace-svg {opacity:.72}
html[data-theme="ivory"] .ida-v18-trace-svg .ida-v17-trace-halo {opacity:.14}
html[data-ida-v16-motion-off="true"] .ida-v18-color-stop {animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce) {
  .ida-v18-color-stop {animation:none!important}
  .ida-v18-trace-svg .ida-v17-trace-core {opacity:.66}
  .ida-v18-trace-svg .ida-v17-trace-halo {opacity:.08}
}
@media (forced-colors:active) {
  .ida-v18-trace-svg {display:none!important}
}

/* V22 polish — restrained theme-matched optical packets. */
.ida-v19-trace-svg .ida-v17-trace-core {
  stroke-width:1.05px;
  stroke-dasharray:9.5 90.5;
  opacity:1;
  filter:drop-shadow(0 0 1.5px rgba(135,148,255,.4));
}
.ida-v19-trace-svg .ida-v17-trace-halo {
  stroke-width:2.7px;
  stroke-dasharray:9.5 90.5;
  opacity:.31;
  filter:drop-shadow(0 0 2px rgba(141,127,248,.42));
}
.ida-v19-trace-svg .ida-v17-trace-secondary {
  stroke-width:.65px;
  stroke-dasharray:5.2 94.8;
  opacity:.85;
}
.ida-v19-color-stop {
  animation:ida-v19-spectrum 14.4s linear infinite;
  animation-play-state:paused;
}
.ida-v16-edge-visible .ida-v19-color-stop {animation-play-state:running}
@keyframes ida-v19-spectrum {
  0%,100% {stop-color:#f5fbff}
  12.5% {stop-color:#d9efff}
  25% {stop-color:#a4d6ff}
  37.5% {stop-color:#7bbfff}
  50% {stop-color:#4b92dc}
  62.5% {stop-color:#a7d8ff}
  75% {stop-color:#eff9ff}
  87.5% {stop-color:#8fbff1}
}
html[data-theme="ivory"] .ida-v19-color-stop {
  stop-color:#d8b77a;
  animation-name:ida-v19-spectrum-ivory;
}
@keyframes ida-v19-spectrum-ivory {
  0%,100% {stop-color:#fff8e7}
  12.5% {stop-color:#f4ddb2}
  25% {stop-color:#d5b77c}
  37.5% {stop-color:#b98f57}
  50% {stop-color:#a67a42}
  62.5% {stop-color:#dabe85}
  75% {stop-color:#fdf0d7}
  87.5% {stop-color:#c69f63}
}
html[data-ida-v16-motion-off="true"] .ida-v19-color-stop {animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce) {
 .ida-v19-color-stop {animation:none!important}
}
/* A calibrated ambient backlight reinforces the inner volumes, not the cards. */
.morph-visual[data-accent="iris"] {
 background:radial-gradient(ellipse at 50% 48%,rgba(77,106,230,.38),transparent 56%),linear-gradient(145deg,#10192e,#070d1c 68%,#0c1428);
}
.morph-visual[data-accent="champagne"] {
 background:radial-gradient(ellipse at 50% 48%,rgba(211,151,97,.27),transparent 57%),linear-gradient(145deg,#231e27,#100f1c 68%,#1a1720);
}
.morph-visual[data-accent="polar"] {
 background:radial-gradient(ellipse at 50% 48%,rgba(39,185,205,.27),transparent 56%),linear-gradient(145deg,#081c31,#071020 68%,#0d2232);
}
