/* Context shell, SEO content blocks, Development case frames. No Audit overrides. */
.service-subpage .approach-card.featured{background-color:#062744}
.service-subpage .shell-typing-line { white-space:normal; }
.service-subpage .hero-grid .service-visual { width:100%; min-width:0; transform:none; }
.service-visual .build-bay-head { gap:12px; flex-wrap:wrap; }
.service-scene { aspect-ratio:660/500; }
.service-scene .service-diagram { display:block; width:100%; height:auto; }
.service-diagram text { fill:#d8edf3; font-family:var(--ddd-font-family); font-size:17px; font-weight:650; }
.service-diagram .scene-muted { fill:#91b6c4; font-size:14px; font-weight:500; }
.service-diagram .scene-cyan { fill:#68e5ed; font-size:14px; font-weight:800; letter-spacing:1px; }
.service-diagram .scene-dark { fill:#082439; font-size:14px; font-weight:800; }
.scene-card { fill:#08293d; stroke:#2e778c; stroke-width:1.2; }
.scene-soft { fill:#0a2133; stroke:#21566c; stroke-width:1; }
.scene-accent { fill:#4edce9; }
.scene-ring { fill:none; stroke:#2b7589; stroke-width:1.3; }
.scene-rule { fill:none; stroke:#2a6679; stroke-width:1.4; }
.scene-contour { fill:none; stroke:#215368; stroke-width:1.1; opacity:.5; }
.scene-wire { fill:none; stroke:#5acddc; stroke-width:1.6; }
.scene-route { fill:none; stroke:#53d4e3; stroke-width:2; stroke-dasharray:5 7; animation:service-flow 14s linear infinite; }
.scene-chart { fill:none; stroke:#54dcea; stroke-width:5; stroke-linecap:round; }
.scene-ping { fill:#6ceaf2; animation:service-beacon 4s ease-in-out infinite; }
.scene-compass,.scene-compass-needle { transform-box:view-box; transform-origin:150px 154px; }
.service-visual-strategy .scene-compass{transform:rotate(-28deg)}
.service-visual-strategy.is-live .scene-compass{animation:strategy-compass-settle 5.5s cubic-bezier(.18,.74,.22,1) both}
.service-visual-strategy.is-live .scene-compass-needle{animation:strategy-compass-drift 8s ease-in-out 5.5s infinite}
@keyframes strategy-compass-settle{0%{transform:rotate(-28deg)}40%{transform:rotate(9deg)}70%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
@keyframes strategy-compass-drift{0%,100%{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}
.scene-radar { transform-origin:206px 239px; animation:service-scan 18s linear infinite; }
.scene-gear { transform-origin:560px 128px; animation:service-scan 25s linear infinite; }
.scene-ai-orbit { transform-origin:167px 192px; animation:service-scan 16s linear infinite; }
.scene-bars rect { fill:#123d53; stroke:#49cddd; stroke-width:1.2; transform-box:fill-box; transform-origin:center bottom; animation:service-bar-rise 5.6s ease-in-out infinite; }
.scene-bars rect:nth-child(2) { animation-delay:.18s; }
.scene-bars rect:nth-child(3) { animation-delay:.36s; }
.scene-bars rect:nth-child(4) { animation-delay:.54s; }
.scene-bars rect:nth-child(5) { animation-delay:.72s; }
.service-visual-strategy .scene-bars rect { animation:none; transform:scaleY(0); opacity:.3; fill:var(--strategy-bar-fill); }
.service-visual-strategy.is-live .scene-bars rect { animation:var(--strategy-bar-animation) 8.8s cubic-bezier(.18,.74,.22,1) infinite; }
.service-visual-strategy :is(.scene-bars rect,.strategy-mobile-bars i):nth-child(1){--strategy-bar-fill:#16495b;--strategy-bar-animation:strategy-bar-1}
.service-visual-strategy :is(.scene-bars rect,.strategy-mobile-bars i):nth-child(2){--strategy-bar-fill:#19647a;--strategy-bar-animation:strategy-bar-2}
.service-visual-strategy :is(.scene-bars rect,.strategy-mobile-bars i):nth-child(3){--strategy-bar-fill:#1f7f95;--strategy-bar-animation:strategy-bar-3}
.service-visual-strategy :is(.scene-bars rect,.strategy-mobile-bars i):nth-child(4){--strategy-bar-fill:#289db0;--strategy-bar-animation:strategy-bar-4}
.service-visual-strategy :is(.scene-bars rect,.strategy-mobile-bars i):nth-child(5){--strategy-bar-fill:#37bfce;--strategy-bar-animation:strategy-bar-5}
@keyframes strategy-bar-1{0%,4%,96%,100%{transform:scaleY(0);opacity:.3}14%,88%{transform:scaleY(1);opacity:1}}
@keyframes strategy-bar-2{0%,10%,96%,100%{transform:scaleY(0);opacity:.3}20%,88%{transform:scaleY(1);opacity:1}}
@keyframes strategy-bar-3{0%,16%,96%,100%{transform:scaleY(0);opacity:.3}26%,88%{transform:scaleY(1);opacity:1}}
@keyframes strategy-bar-4{0%,22%,96%,100%{transform:scaleY(0);opacity:.3}32%,88%{transform:scaleY(1);opacity:1}}
@keyframes strategy-bar-5{0%,28%,96%,100%{transform:scaleY(0);opacity:.3}38%,88%{transform:scaleY(1);opacity:1}}
@media (prefers-reduced-motion:reduce) { .service-visual-strategy .scene-bars rect { animation:none!important; transform:scaleY(1); opacity:1; } .service-visual-strategy .scene-compass,.service-visual-strategy .scene-compass-needle{animation:none;transform:none} }
.scene-growth { fill:none; stroke:#75edf4; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:9 8; animation:service-flow 11s linear infinite; }
.scene-funnel { fill:#092b41; stroke:#3f9aae; stroke-width:1.3; }
.scene-funnel-accent { fill:#51dce8; stroke:#9af7fa; }
.service-visual-conversion .conversion-stage{fill:url(#conversion-face);stroke:#59c8d4;stroke-width:1.5;filter:drop-shadow(0 6px 10px rgba(0,10,24,.32))}
.service-visual-conversion .conversion-stage-final{fill:url(#conversion-final-face);stroke:#70e5ed}
.service-visual-conversion .conversion-stage-depth{fill:url(#conversion-depth);stroke:#237d91;stroke-width:1.3}
.service-visual-conversion .conversion-stage-shine{fill:none;stroke:#b0eff2;stroke-width:1.4;stroke-linecap:round;opacity:.42}
.service-visual-conversion .conversion-fill{fill:#2ccadb;opacity:0;clip-path:inset(100% 0 0 0)}
.service-visual-conversion.is-live .conversion-fill{animation-duration:9.6s;animation-timing-function:linear;animation-iteration-count:infinite}
.service-visual-conversion.is-live .conversion-fill-1{animation-name:conversion-cycle-1;--conversion-opacity:.38}
.service-visual-conversion.is-live .conversion-fill-2{animation-name:conversion-cycle-2;--conversion-opacity:.5}
.service-visual-conversion.is-live .conversion-fill-3{animation-name:conversion-cycle-3;--conversion-opacity:.63}
.service-visual-conversion.is-live .conversion-fill-4{animation-name:conversion-cycle-4;--conversion-opacity:.65}
.service-visual-conversion .conversion-fill-4{fill:#32b6c5;filter:drop-shadow(0 0 10px rgba(70,228,239,.22))}
.service-visual-conversion .conversion-stage-label{fill:#b7eef2;stroke:none;font-size:20px;font-weight:650;letter-spacing:.035em}
.service-visual-conversion .conversion-stage-caption{fill:#a9ced7;stroke:none;font-size:15px;font-weight:500}
.service-visual-conversion .conversion-end-label{fill:#d1f9fb;stroke:none;font-size:19px;font-weight:700;letter-spacing:.025em}
.service-visual-conversion.is-live .conversion-end-label{animation:conversion-signal-cycle 9.6s ease-in-out infinite}
@keyframes conversion-cycle-1{0%,5%{clip-path:inset(100% 0 0 0);opacity:0}20%,82%{clip-path:inset(0);opacity:var(--conversion-opacity)}90%,100%{clip-path:inset(100% 0 0 0);opacity:0}}
@keyframes conversion-cycle-2{0%,20%{clip-path:inset(100% 0 0 0);opacity:0}35%,82%{clip-path:inset(0);opacity:var(--conversion-opacity)}90%,100%{clip-path:inset(100% 0 0 0);opacity:0}}
@keyframes conversion-cycle-3{0%,35%{clip-path:inset(100% 0 0 0);opacity:0}50%,82%{clip-path:inset(0);opacity:var(--conversion-opacity)}90%,100%{clip-path:inset(100% 0 0 0);opacity:0}}
@keyframes conversion-cycle-4{0%,50%{clip-path:inset(100% 0 0 0);opacity:0}65%,82%{clip-path:inset(0);opacity:var(--conversion-opacity)}90%,100%{clip-path:inset(100% 0 0 0);opacity:0}}
@keyframes conversion-signal-cycle{0%,59%,82%,100%{filter:drop-shadow(0 0 0 transparent)}65%,75%{filter:drop-shadow(0 0 8px rgba(90,242,248,.85))}70%,80%{filter:drop-shadow(0 0 2px rgba(90,242,248,.3))}}
@keyframes conversion-mobile-final-text{0%,60%,90%,100%{color:#f1fdff;text-shadow:0 1px 3px #06283a}65%,82%{color:#073149;text-shadow:none}}
@media(prefers-reduced-motion:reduce){.service-visual-conversion .conversion-fill,.service-visual-conversion .conversion-end-label{animation:none!important;clip-path:inset(0)!important;opacity:1!important}}
.scene-score-low,.scene-score-high { font-size:38px!important; font-weight:750!important; }
.scene-score-low { fill:#f29e73!important; }
.scene-score-high { fill:#75edf4!important; }
.scene-score-dot { fill:#26556a; stroke:#4d899d; }
.service-visual-reputation .reputation-hand{fill:#68dfe9;stroke:#68dfe9;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-visual-reputation .reputation-signal-source{fill:#6be4ed;font-size:13px;font-weight:750;letter-spacing:.07em}
.service-visual-reputation .reputation-signal-message{fill:#d6eef3;font-size:16px;font-weight:650}
@media(min-width:1200px){.service-reputation .hero-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:40px}.service-reputation .hero-copy h1{font-size:68px}}
.service-visual-reputation .reputation-scale-labels text{fill:#9bbfca;font-size:15px;font-weight:650;text-anchor:middle}
.service-visual-reputation .reputation-scale-labels text:first-child{text-anchor:start}
.service-visual-reputation .reputation-scale-labels text:last-child{text-anchor:end}
.service-visual-reputation .reputation-scale-progress{transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}
.service-visual-reputation .reputation-scale-marker{transform:translateX(-538px);filter:drop-shadow(0 0 8px rgba(80,227,238,.5))}
.service-visual-reputation.is-live .reputation-scale-progress{animation:reputation-scale-rise 8s ease-in-out .35s infinite}
.service-visual-reputation.is-live .reputation-scale-marker{animation:reputation-marker-rise 8s ease-in-out .35s infinite}
@keyframes reputation-scale-rise{0%,10%{transform:scaleX(0)}72%,88%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes reputation-marker-rise{0%,10%{transform:translateX(-538px)}72%,88%{transform:translateX(0)}100%{transform:translateX(-538px)}}
.scene-alert { fill:#b7cbd3!important; font-size:15px!important; }
.scene-number { fill:#092b41; stroke:#54dce9; stroke-width:1.6; }
.scene-number-text { fill:#6de7ef!important; font-size:18px!important; font-weight:800!important; }
.scene-auto-ring { fill:url(#scene-glow); stroke:#54dce9; stroke-width:2; stroke-dasharray:8 6; transform-box:view-box; transform-origin:552px 131px; animation:service-scan 22s linear infinite; }
.service-visual-processes .scene-auto-ring{stroke-dasharray:none;animation:none;filter:drop-shadow(0 0 13px rgba(80,225,237,.35))}
.service-visual-processes .scene-route{stroke-dasharray:none;animation:none;stroke:#3ca8bb}
.service-visual-processes.is-live .scene-auto-ring{animation:service-beacon 5s ease-in-out infinite}
.service-visual-processes .process-orbit{fill:none;stroke:#58d9e7;stroke-width:1.8;transform-box:view-box;transform-origin:552px 131px;opacity:.68}
.service-visual-processes .process-orbit-outer{stroke-dasharray:11 19;stroke-linecap:round}
.service-visual-processes .process-orbit-inner{stroke:#297b91;stroke-dasharray:3 16;stroke-linecap:round;opacity:.8}
.service-visual-processes.is-live .process-orbit-outer{animation:process-orbit-clockwise 17s linear infinite}
.service-visual-processes.is-live .process-orbit-inner{animation:process-orbit-counter 25s linear infinite}
.service-visual-processes .process-route-flow{fill:none;stroke:#8bf4fa;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:10 155;opacity:0;filter:drop-shadow(0 0 5px rgba(94,235,244,.8))}
.service-visual-processes.is-live .process-route-flow{opacity:1;animation:process-route-travel 5.4s linear infinite}
.service-visual-processes.is-live .scene-number{animation:process-node-glow 5.4s ease-in-out infinite}
.service-visual-processes.is-live .scene-number:nth-of-type(5){animation-delay:1.8s}
.service-visual-processes.is-live .scene-number:nth-of-type(6){animation-delay:3.6s}
@keyframes process-orbit-clockwise{to{transform:rotate(360deg)}}
@keyframes process-orbit-counter{to{transform:rotate(-360deg)}}
@keyframes process-route-travel{to{stroke-dashoffset:-165}}
@keyframes process-node-glow{0%,25%,100%{filter:drop-shadow(0 0 0 transparent)}10%{filter:drop-shadow(0 0 7px rgba(99,236,244,.85))}}
.scene-auto-text { fill:#8ff3f8!important; font-size:22px!important; font-weight:800!important; letter-spacing:2px; }
.scene-data-line { fill:none; stroke:#4ed9e7; stroke-width:2; stroke-dasharray:7 7; animation:service-flow 9s linear infinite; }
.scene-packets circle { fill:#92f5f9; filter:drop-shadow(0 0 7px #2de8fd); animation:service-packet 3.8s ease-in-out infinite; }
.scene-packets circle:nth-child(2),.scene-packets circle:nth-child(4) { animation-delay:-1.9s; }
.scene-crm-text { fill:#a3f5f8!important; font-size:29px!important; font-weight:800!important; }
.service-visual-crm .crm-connector{fill:none;stroke:#56d6e3;stroke-width:2;stroke-linecap:round;stroke-dasharray:none;animation:none}
.service-visual-crm.is-live .crm-connector{filter:drop-shadow(0 0 5px rgba(83,214,228,.6))}
.service-visual-crm .crm-flow-path{fill:none;stroke:#b4faff;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:9 170;opacity:0;filter:drop-shadow(0 0 7px rgba(92,232,244,.9))}
.service-visual-crm.is-live .crm-flow-path{opacity:1;animation:crm-data-travel 4.8s linear infinite}
.service-visual-crm.is-live .crm-core-frame{animation:crm-core-breathe 4.8s ease-in-out infinite}
.service-visual-crm.is-live .crm-mobile-core{animation:crm-mobile-breathe 6s ease-in-out infinite}
@keyframes crm-data-travel{to{stroke-dashoffset:-179}}
@keyframes crm-core-breathe{0%,100%{stroke:#60d9e6;filter:drop-shadow(0 0 0 transparent)}50%{stroke:#a1f6fa;filter:drop-shadow(0 0 10px rgba(90,226,237,.5))}}
@keyframes crm-mobile-breathe{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 18px rgba(90,226,237,.32)}}
.service-visual-cabinets .scene-chart{stroke-dasharray:190;stroke-dashoffset:190}
.service-visual-cabinets .cabinets-avatar-indicator{fill:#174758;stroke:#56cddb;stroke-width:2}
.service-visual-cabinets.is-live .cabinets-avatar-indicator{animation:cabinets-avatar-pulse 3.6s ease-in-out infinite}
@keyframes cabinets-avatar-pulse{0%,100%{fill:#174758;stroke:#56cddb;filter:drop-shadow(0 0 0 transparent)}50%{fill:#40c6d5;stroke:#91f4f7;filter:drop-shadow(0 0 10px rgba(103,235,242,.7))}}
.service-visual-cabinets .scene-chart-base{fill:none;stroke:#226079;stroke-width:5;stroke-linecap:round}
.service-visual-cabinets .cabinets-document-base{stroke:#27647a;opacity:.72}
.service-visual-cabinets .cabinets-document-lines{stroke-dasharray:130;stroke-dashoffset:130}
.service-visual-cabinets.is-live .scene-chart{animation:cabinets-chart-cycle 8s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-document-lines{animation:cabinets-document-cycle 8s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-active-nav{animation:cabinets-nav-cycle 8s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-status-text{animation:cabinets-status-cycle 8s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-mobile-row{animation:cabinets-mobile-step 6s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-mobile-row:nth-child(3){animation-delay:2s}
.service-visual-cabinets.is-live .cabinets-mobile-row:nth-child(4){animation-delay:4s}
.service-visual-cabinets.is-live .cabinets-mobile-row:before{animation:cabinets-mobile-node 6s ease-in-out infinite}
.service-visual-cabinets.is-live .cabinets-mobile-row:nth-child(3):before{animation-delay:2s}
.service-visual-cabinets.is-live .cabinets-mobile-row:nth-child(4):before{animation-delay:4s}
.service-visual-cabinets.is-live .cabinets-mobile-row:not(:last-child):after{animation:cabinets-mobile-route 1.2s linear infinite}
@keyframes cabinets-chart-cycle{0%,22%{stroke-dashoffset:190}48%,88%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:190}}
@keyframes cabinets-document-cycle{0%,8%{stroke-dashoffset:130}33%,88%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:130}}
@keyframes cabinets-nav-cycle{0%,100%{stroke:#21566c;filter:none}25%,70%{stroke:#6de6ee;filter:drop-shadow(0 0 5px rgba(102,225,236,.45))}}
@keyframes cabinets-status-cycle{0%,12%,100%{fill:#91b6c4}25%,80%{fill:#8ef4f7}}
@keyframes cabinets-mobile-step{0%,100%{border-color:#327e93;background:#0a3048}15%,37%{border-color:#75e6ef;background:#0c4258}}
@keyframes cabinets-mobile-node{0%,100%{background:#123e54;box-shadow:none}15%,37%{background:#91f2f7;box-shadow:0 0 12px rgba(105,232,242,.8)}}
@keyframes cabinets-mobile-route{to{background-position:0 16px}}
@keyframes service-chart-draw{to{stroke-dashoffset:0}}
.scene-ai-progress { fill:url(#scene-glow); stroke:#54dce9; stroke-width:3; stroke-dasharray:245 465; stroke-linecap:round; transform-origin:167px 192px; animation:service-scan 11s linear infinite; }
.scene-ai-mark { filter:drop-shadow(0 0 18px rgba(45,232,253,.38)); transform-box:fill-box; transform-origin:center; animation:service-logo-pulse 4s ease-in-out infinite; }
.service-visual-ai .ai-progress-track{fill:none;stroke:#154357;stroke-width:8}
.service-visual-ai .ai-progress-ring{fill:none;stroke:#60e6ee;stroke-width:8;stroke-linecap:round;stroke-dasharray:660;stroke-dashoffset:660;transform:rotate(-90deg);transform-origin:166px 205px;filter:drop-shadow(0 0 8px rgba(79,224,237,.35))}
.service-visual-ai .ai-progress-label{font-size:16px}
.service-visual-ai .ai-searching,.service-visual-ai .ai-response{transition:opacity .55s ease}
.service-visual-ai .ai-response{opacity:0}
.service-visual-ai.is-complete .ai-searching{opacity:0}
.service-visual-ai.is-complete .ai-response{opacity:1}
.service-mobile-graphic{display:none}
@media(max-width:760px){
 :is(.service-visual-strategy,.service-visual-conversion,.service-visual-reputation,.service-visual-processes,.service-visual-crm,.service-visual-cabinets,.service-visual-ai) .service-scene{aspect-ratio:auto;min-height:270px}
 :is(.service-visual-strategy,.service-visual-conversion,.service-visual-reputation,.service-visual-processes,.service-visual-crm,.service-visual-cabinets,.service-visual-ai) .service-scene>.service-diagram{display:none}
 .service-mobile-graphic{display:flex;min-height:270px;padding:20px;flex-direction:column;justify-content:center;gap:14px;color:#e9faff}
 .service-mobile-graphic>strong{color:#70eaf1;font-size:16px;line-height:1.25}
 .service-mobile-graphic small{color:#a6c9d2;font-size:12px;line-height:1.45}
 .strategy-mobile-priorities{display:flex;flex-wrap:wrap;gap:7px}
 .strategy-mobile-priorities span{padding:7px 9px;border:1px solid #357d91;border-radius:8px;color:#c9edf1;font-size:11px}
 .strategy-mobile-compass{position:relative;display:grid;width:70px;height:70px;place-items:center;align-self:center;border:1px solid #428da0;border-radius:50%;box-shadow:inset 0 0 0 7px #082c42}
 .strategy-mobile-compass span{position:absolute;z-index:1;top:3px;color:#e9fdff;font-size:12px;font-weight:800;line-height:1;text-shadow:0 0 6px #062b42}
 .strategy-mobile-compass i{width:20px;height:40px;background:linear-gradient(#57dce8 0 50%,#15516a 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:rotate(-28deg)}
 .service-visual-strategy.is-live .strategy-mobile-compass i{animation:strategy-compass-settle 5.5s cubic-bezier(.18,.74,.22,1) both,strategy-compass-drift 8s ease-in-out 5.5s infinite}
 .strategy-mobile-bars{display:flex;height:98px;align-items:end;justify-content:space-around;gap:12px;border-bottom:1px solid #3f91a4}
 .strategy-mobile-bars i{display:block;flex:1;max-width:34px;height:var(--bar-height);border:1px solid #66dfea;border-radius:6px 6px 0 0;background:var(--strategy-bar-fill);transform-origin:bottom;transform:scaleY(0);opacity:.3}
 .strategy-mobile-bars i:nth-child(1){--bar-height:30%}.strategy-mobile-bars i:nth-child(2){--bar-height:45%}.strategy-mobile-bars i:nth-child(3){--bar-height:60%}.strategy-mobile-bars i:nth-child(4){--bar-height:78%}.strategy-mobile-bars i:nth-child(5){--bar-height:96%}
 .service-visual-strategy.is-live .strategy-mobile-bars i{animation:var(--strategy-bar-animation) 8.8s cubic-bezier(.18,.74,.22,1) infinite}
 .conversion-mobile-graphic{align-items:center;gap:4px}
 .conversion-mobile-graphic>strong{align-self:flex-start;margin-bottom:10px}
 .conversion-mobile-stage{position:relative;isolation:isolate;display:grid;overflow:hidden;min-height:48px;place-items:center;clip-path:polygon(0 0,100% 0,91% 100%,9% 100%);background:linear-gradient(180deg,#237f92 0%,#1b7185 76%,#0d4c63 76%,#0b4259 100%);color:#f1fdff;font-size:14px;font-weight:750;text-shadow:0 1px 3px #06283a;filter:drop-shadow(0 4px 7px rgba(0,13,27,.22))}
 .conversion-mobile-stage:before{content:"";position:absolute;z-index:-1;inset:0;background:#2ccadb;opacity:0;clip-path:inset(100% 0 0 0)}
 .conversion-mobile-stage:nth-child(2){width:100%}.conversion-mobile-stage:nth-child(3){width:82%}.conversion-mobile-stage:nth-child(4){width:67%}.conversion-mobile-stage:nth-child(5){width:55%}
 .service-visual-conversion.is-live .conversion-mobile-stage:before{animation-duration:9.6s;animation-timing-function:linear;animation-iteration-count:infinite}
 .service-visual-conversion.is-live .conversion-mobile-stage:nth-child(2):before{animation-name:conversion-cycle-1;--conversion-opacity:.38}
 .service-visual-conversion.is-live .conversion-mobile-stage:nth-child(3):before{animation-name:conversion-cycle-2;--conversion-opacity:.5}
 .service-visual-conversion.is-live .conversion-mobile-stage:nth-child(4):before{animation-name:conversion-cycle-3;--conversion-opacity:.63}
 .service-visual-conversion.is-live .conversion-mobile-stage:nth-child(5):before{animation-name:conversion-cycle-4;--conversion-opacity:.65;background:#32b6c5}
 .service-visual-conversion.is-live .conversion-mobile-stage:last-child{animation:conversion-mobile-final-text 9.6s linear infinite}
 .reputation-mobile-scale{display:flex;align-items:center;gap:12px;color:#e5f8fa;font-size:15px;font-weight:800}
 .reputation-mobile-scale span{display:inline-flex;align-items:center;gap:5px}
 .reputation-mobile-scale svg{width:20px;height:20px;fill:#68dfe9;stroke:#68dfe9;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
 .reputation-mobile-scale i{position:relative;display:block;flex:1;height:8px;border-radius:99px;background:#18465b}
 .reputation-mobile-scale i:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#267e9a,#61e4ed);transform-origin:left;transform:scaleX(0)}
 .service-visual-reputation.is-live .reputation-mobile-scale i:before{animation:reputation-scale-rise 8s ease-in-out .35s infinite}
 .reputation-mobile-graphic ol{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:rep}
 .reputation-mobile-graphic li{display:flex;align-items:center;gap:11px;color:#d8f0f3;font-size:13px;counter-increment:rep}
 .reputation-mobile-graphic li:before{content:counter(rep,decimal-leading-zero);display:grid;width:27px;height:27px;place-items:center;border:1px solid #4cb9ca;border-radius:50%;color:#6ce6ee;font-size:10px;font-weight:800}
 .processes-mobile-graphic>strong{display:flex;align-items:center;justify-content:space-between;gap:10px}
 .processes-mobile-graphic>strong span{position:relative;display:grid;flex:none;width:58px;height:58px;place-items:center;border:1px solid #60dbe8;border-radius:50%;background:#082b42;color:#7ceaf1;font-size:12px;letter-spacing:.08em}
 .processes-mobile-graphic>strong span:before,.processes-mobile-graphic>strong span:after{content:"";position:absolute;inset:-7px;border-radius:50%;pointer-events:none}
 .processes-mobile-graphic>strong span:before{border:1px dashed rgba(99,229,239,.58)}
 .processes-mobile-graphic>strong span:after{background:radial-gradient(circle 3px at 50% 2px,#9bf9fc 98%,transparent 100%);filter:drop-shadow(0 0 5px #66e9f3)}
 .processes-mobile-graphic ol{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:process}
 .processes-mobile-graphic li{position:relative;display:grid;gap:2px;padding:9px 12px 9px 45px;border:1px solid #2c778d;border-radius:11px;background:#0a3047;color:#e9fbfc;font-size:13px;font-weight:750;counter-increment:process}
 .processes-mobile-graphic li:before{content:counter(process,decimal-leading-zero);position:absolute;left:11px;top:50%;color:#62e2eb;font-size:12px;transform:translateY(-50%)}
 .processes-mobile-graphic li small{font-weight:500}
 .service-visual-processes.is-live .processes-mobile-graphic>strong span{animation:process-mobile-auto-glow 5.4s ease-in-out infinite}
 .service-visual-processes.is-live .processes-mobile-graphic>strong span:after{animation:process-mobile-orbit 5.4s linear infinite}
 .service-visual-processes.is-live .processes-mobile-graphic li{animation:process-mobile-step 5.4s ease-in-out infinite}
 .service-visual-processes.is-live .processes-mobile-graphic li:nth-child(2){animation-delay:1.8s}
 .service-visual-processes.is-live .processes-mobile-graphic li:nth-child(3){animation-delay:3.6s}
 .crm-mobile-graphic{gap:0}
 .crm-mobile-graphic>strong{margin-bottom:16px}
 .crm-mobile-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .crm-mobile-sources span{padding:8px 5px;border:1px solid #398ea2;border-radius:9px;color:#c7eef2;font-size:12px;text-align:center}
 .crm-mobile-links{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;height:43px}
 .crm-mobile-links:before{content:"";position:absolute;top:20px;left:16%;right:16%;height:2px;background:repeating-linear-gradient(90deg,#4fbaca 0 3px,transparent 3px 8px)}
 .crm-mobile-links:after{content:"";position:absolute;top:20px;bottom:0;left:calc(50% - 1px);width:2px;background:repeating-linear-gradient(180deg,#4fbaca 0 3px,transparent 3px 8px)}
 .crm-mobile-links span{position:relative;justify-self:center;width:2px;height:21px;background:repeating-linear-gradient(180deg,#4fbaca 0 3px,transparent 3px 8px)}
 .crm-mobile-links span:after,.crm-mobile-links i{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#a5f8fb;box-shadow:0 0 10px #63e1ec;opacity:0}
 .crm-mobile-links span:after{top:0;left:-3px}
 .crm-mobile-links i{top:20px;left:calc(50% - 3px)}
 .service-visual-crm.is-live .crm-mobile-sources span{animation:crm-mobile-source 6s ease-in-out infinite}
 .service-visual-crm.is-live .crm-mobile-links span:after{animation:crm-mobile-source-packet 6s linear infinite}
 .service-visual-crm.is-live .crm-mobile-links i{animation:crm-mobile-core-packet 2s linear infinite}
 .service-visual-crm.is-live .crm-mobile-sources span:nth-child(2),.service-visual-crm.is-live .crm-mobile-links span:nth-child(2):after{animation-delay:-4s}
 .service-visual-crm.is-live .crm-mobile-sources span:nth-child(3),.service-visual-crm.is-live .crm-mobile-links span:nth-child(3):after{animation-delay:-2s}
 .crm-mobile-core{display:grid;min-height:98px;place-items:center;align-content:center;gap:3px;border:1px solid #6ce4ed;border-radius:15px;background:#0b3b51;color:#c8f8fa;font-size:31px;font-weight:800}
 .crm-mobile-core small{font-size:11px;font-weight:500}
 .crm-mobile-graphic p{margin:16px 0 0;color:#a9cbd3;font-size:12px;line-height:1.5}
 .cabinets-mobile-graphic{gap:0}
 .cabinets-mobile-graphic>strong{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
 .cabinets-mobile-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px 22px;padding:13px 12px;border:1px solid #327e93;border-radius:10px;background:#0a3048;color:#d9f4f6;font-size:13px}
 .cabinets-mobile-row:last-child{margin-bottom:0}
 .cabinets-mobile-row:before{content:"";position:absolute;z-index:1;top:calc(50% - 5px);left:-19px;width:10px;height:10px;border:1px solid #66deea;border-radius:50%;background:#123e54}
 .cabinets-mobile-row:not(:last-child):after{content:"";position:absolute;top:calc(50% + 5px);left:-14px;width:2px;height:calc(100% + 16px);background:repeating-linear-gradient(180deg,#4fbaca 0 3px,transparent 3px 8px)}
 .cabinets-mobile-row span{color:#67e0eb;font-size:12px}
 .ai-mobile-graphic{gap:10px}
 .ai-mobile-question,.ai-mobile-answer{display:grid;gap:5px;padding:12px;border:1px solid #357e92;border-radius:12px;background:#0b3047}
 .ai-mobile-question small,.ai-mobile-answer small{color:#70e4ed;font-size:10px;font-weight:800;letter-spacing:.06em}
 .ai-mobile-question strong,.ai-mobile-answer strong{color:#e9faff;font-size:13px;line-height:1.4}
 .ai-mobile-search{position:relative;display:grid;grid-template-columns:1fr auto;gap:7px;padding:12px;border:1px solid #5ddbe8;border-radius:12px;background:#0b4055;color:#d4f7f9;font-size:12px}
 .ai-mobile-search:after{content:"";position:absolute;top:100%;left:calc(50% - 1px);width:2px;height:10px;background:repeating-linear-gradient(180deg,#5ddbe8 0 3px,transparent 3px 6px)}
 .ai-mobile-search b{color:#70eaf0;font-size:13px}
 .ai-mobile-search i{grid-column:1/-1;overflow:hidden;height:7px;border-radius:99px;background:#17495d}
 .ai-mobile-search em{display:block;width:0;height:100%;border-radius:inherit;background:#67e6ed;box-shadow:0 0 10px #67e6ed}
 .ai-mobile-answer{border-color:#357e92;transition:border-color .5s ease,background-color .5s ease}
 .service-visual-ai.is-complete .ai-mobile-answer{border-color:#5bdce8;background:#0b3a50}
 .ai-mobile-answer-state{display:grid;align-items:center}
 .ai-mobile-wait,.ai-mobile-result{grid-area:1/1;transition:opacity .4s ease,visibility .4s ease}
 .ai-mobile-answer .ai-mobile-wait{color:#8ed8e1;font-weight:600;animation:ai-mobile-wait-pulse 1.5s ease-in-out infinite}
 .ai-mobile-wait span{color:inherit}
 .ai-mobile-result{display:grid;gap:5px;visibility:hidden;opacity:0}
 .service-visual-ai.is-complete .ai-mobile-wait{visibility:hidden;opacity:0;animation:none}
 .service-visual-ai.is-complete .ai-mobile-result{visibility:visible;opacity:1}
 .ai-mobile-result span{color:#80e8ed;font-size:11px}
 .ai-mobile-graphic p{margin:0;color:#9ec2cc;font-size:11px;line-height:1.5}
}
@keyframes ai-mobile-wait-pulse{50%{opacity:.7}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.ai-mobile-wait{animation:none}.ai-mobile-wait,.ai-mobile-result{transition:none}}
@keyframes process-mobile-step{0%,28%,100%{border-color:#2c778d;background:#0a3047;box-shadow:none}8%,20%{border-color:#6be4ed;background:#0e4055;box-shadow:0 0 18px rgba(77,224,238,.18)}}
@keyframes process-mobile-auto-glow{0%,100%{border-color:#60dbe8;box-shadow:0 0 0 rgba(84,231,242,0)}50%{border-color:#a5f8fc;box-shadow:0 0 18px rgba(84,231,242,.28)}}
@keyframes process-mobile-orbit{to{transform:rotate(360deg)}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.strategy-mobile-bars i{animation:none!important;transform:scaleY(1);opacity:1}.strategy-mobile-compass i{animation:none!important;transform:none}.service-visual-conversion .conversion-mobile-stage:before{animation:none!important;transform:none;opacity:var(--conversion-opacity,.6)}.service-visual-conversion .conversion-mobile-stage:last-child{animation:none!important;color:#073149;text-shadow:none}.reputation-mobile-scale i:before{transform:scaleX(1)}}

/* The three informational families use one visual language, while every
   card keeps a page-relevant symbol rather than a repeated placeholder. */
.service-subpage .approach-card .card-icon { width:72px; height:72px; margin:36px 0 25px; border-radius:20px; }
.service-subpage .approach-card .card-icon svg { width:45px; height:45px; fill:none; }
html.concept-deep body.service-subpage .context-formats .format-icon { width:82px; height:82px; margin:28px auto 24px; border:1px solid #b9e4eb; border-radius:24px; background:#edfafd; box-shadow:none; }
html.concept-deep body.service-subpage .context-formats .format-icon>svg { width:56px; height:56px; max-height:none; fill:none; }
html.concept-deep body.service-subpage .context-formats .format-card-dark .format-icon { border-color:rgba(45,232,253,.38); background:var(--cyan); }
html.concept-deep body.service-subpage .context-formats .format-card-dark .format-icon>svg { stroke:#062139; filter:none; }
.service-subpage :is(.section-intro,.section-heading,.process-head,.ai-head,.section-head)>p:last-child { padding:5px 0 5px 22px; border-left:2px solid #25cfe2; }

/* Product demonstrations belong to Cabinets and AI only. They are interface
   explanations, not raster screenshots posing as finished case studies. */
.product-showcase { position:relative; overflow:hidden; background:#eef6f8; }
.product-showcase:before { content:""; position:absolute; inset:0; opacity:.42; background:repeating-radial-gradient(circle at 72% 44%,transparent 0 82px,rgba(32,151,178,.08) 83px 84px); pointer-events:none; }
.product-showcase>.container { position:relative; z-index:1; }
.product-showcase .section-head { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:end; margin-bottom:46px; }
.product-showcase .section-head h2 { margin:0; color:#102a42; }
.product-showcase .section-head h2 em { color:#6d9eac; }
.product-showcase .section-head>p { margin:0; color:#5f7784; font-size:17px; line-height:1.7; }
.product-lab { position:relative; min-height:610px; overflow:hidden; border:1px solid #b9dae2; border-radius:38px; background:linear-gradient(145deg,#06213a,#073d5c); box-shadow:0 28px 65px rgba(5,41,66,.16); }
.product-lab:before { content:""; position:absolute; inset:0; opacity:.3; background-image:linear-gradient(rgba(87,213,231,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(87,213,231,.12) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(135deg,#000,transparent 82%); }
.cabinet-stage { position:absolute; inset:48px 48px 92px; }
.cabinet-window { position:absolute; overflow:hidden; border:1px solid rgba(98,223,237,.36); border-radius:25px; background:#071a2a; box-shadow:0 24px 50px rgba(0,12,27,.34); transition:transform .35s ease; }
.cabinet-window:hover { transform:translateY(-6px); }
.scanner-window { left:0; top:0; width:63%; height:390px; }
.ai-window { right:0; bottom:0; width:52%; height:330px; }
.cabinet-bar { display:flex; height:62px; padding:0 22px; align-items:center; gap:10px; border-bottom:1px solid rgba(101,213,228,.16); color:#dff9fb; font-size:14px; font-weight:750; }
.cabinet-bar img { width:31px; height:31px; object-fit:contain; }
.cabinet-bar i { width:8px; height:8px; margin-left:auto; border-radius:50%; background:#5ee8f0; box-shadow:0 0 14px #2de8fd; animation:service-beacon 3s ease-in-out infinite; }
.cabinet-body { display:grid; height:calc(100% - 62px); grid-template-columns:135px 1fr; }
.cabinet-body nav { display:flex; padding:24px 18px; flex-direction:column; gap:19px; border-right:1px solid rgba(101,213,228,.13); color:#7597a7; font-size:11px; }
.cabinet-body nav b { color:#65e5ed; }
.cabinet-body main { min-width:0; padding:25px 28px; color:#e9f7f9; }
.cabinet-body main small { color:#62dce8; font-size:9px; letter-spacing:.14em; }
.cabinet-body main h3 { margin:12px 0 22px; font-size:25px; }
.cabinet-body main p { max-width:390px; margin:20px 0 0; color:#9eb8c4; font-size:12px; line-height:1.6; }
.cabinet-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.cabinet-metrics i { display:flex; height:72px; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(87,206,222,.22); border-radius:14px; color:#8cf0f4; font-size:24px; font-style:normal; }
.cabinet-metrics small { color:#8faeba!important; font-size:9px!important; }
.cabinet-flow { display:flex; align-items:center; gap:8px; }
.cabinet-flow span { padding:9px 11px; border:1px solid rgba(87,206,222,.23); border-radius:10px; color:#bcebf0; font-size:10px; }
.cabinet-flow i { color:#52dce8; font-style:normal; animation:service-arrow 2.8s ease-in-out infinite; }
.cabinet-switch { position:absolute; left:50%; bottom:27px; display:flex; width:calc(100% - 96px); min-height:48px; padding:8px 12px; align-items:center; gap:8px; border:1px solid rgba(96,220,236,.23); border-radius:16px; color:#a4c5d0; background:rgba(4,24,42,.72); transform:translateX(-50%); }
.cabinet-switch span { padding:8px 11px; border-radius:9px; background:rgba(36,157,182,.17); font-size:10px; }
.cabinet-switch b { margin-left:auto; color:#69e5ed; font-size:11px; letter-spacing:.04em; }
.scanner-workspace { display:grid; min-height:590px; grid-template-columns:225px minmax(0,1fr); background:#071d31; }
.scanner-side { position:relative; z-index:1; display:flex; min-width:0; padding:25px 14px; flex-direction:column; gap:5px; border-right:1px solid rgba(95,209,225,.17); background:rgba(2,18,31,.42); }
.scanner-brand { display:flex; align-items:center; gap:10px; margin:0 4px 28px; color:#effbfc; font-size:17px; }
.scanner-brand img { width:40px; height:40px; object-fit:contain; }
.scanner-side-label { margin:0 12px 9px; color:#6797a7; font-size:11px; letter-spacing:.12em; }
.scanner-side>b { display:flex; min-height:42px; padding:9px 12px; align-items:center; gap:10px; border:1px solid transparent; border-radius:10px; color:#9bbbc7; font-size:13px; font-weight:550; }
.scanner-side>b.active,.scanner-side>b:hover { border-color:rgba(79,215,229,.36); color:#e8fafd; background:rgba(52,179,200,.14); }
.scanner-side-foot { margin-top:auto; padding:15px 9px 0; border-top:1px solid rgba(95,209,225,.17); color:#82aab8; font-size:11px; }
.scanner-main { position:relative; z-index:1; min-width:0; }
.scanner-topbar { display:flex; min-height:56px; padding:0 25px; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(95,209,225,.17); color:#86aebb; font-size:12px; }
.scanner-topbar i { margin:0 7px; color:#477789; font-style:normal; }
.scanner-topbar b { color:#e5f6f9; }
.scanner-top-status { display:flex; align-items:center; gap:7px; color:#6cdee8; white-space:nowrap; }
.scanner-top-status i { width:7px; height:7px; margin:0; border-radius:50%; background:#60e3e9; box-shadow:0 0 10px #60e3e9; }
.scanner-content { padding:28px 30px; }
.scanner-title { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.scanner-title small,.scanner-table-head small { color:#5bddea; font-size:11px; letter-spacing:.1em; }
.scanner-title h3 { margin:6px 0; color:#edfafd; font-size:25px; }
.scanner-title p { margin:0; color:#87aebd; font-size:13px; }
.scanner-title>span { padding:10px 13px; border-radius:9px; color:#062a3e; background:#57dce9; font-size:11px; font-weight:750; white-space:nowrap; }
.scanner-project { display:flex; align-items:center; gap:7px; margin:22px 0; padding:11px 14px; border:1px solid rgba(95,209,225,.23); border-radius:9px; color:#b6d5dd; font-size:12px; }
.scanner-project span { margin-left:auto; }
.scanner-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.scanner-summary>div { display:grid; min-height:93px; padding:13px 16px; gap:5px; border:1px solid rgba(95,209,225,.22); border-radius:12px; background:rgba(21,72,92,.38); transition:transform .25s,border-color .25s; }
.scanner-summary>div:hover { transform:translateY(-3px); border-color:rgba(84,227,239,.63); }
.scanner-summary span { color:#65dce6; font-size:10px; letter-spacing:.1em; }
.scanner-summary strong { color:#effbfc; font-size:19px; }
.scanner-summary small { color:#8db2bf; font-size:11px; }
.scanner-table { margin-top:20px; overflow:hidden; border:1px solid rgba(95,209,225,.22); border-radius:15px; background:rgba(2,25,40,.58); }
.scanner-table-head { display:flex; padding:17px 20px; align-items:center; justify-content:space-between; gap:12px; }
.scanner-table-head h4 { margin:5px 0 0; color:#e8f8fa; font-size:17px; }
.scanner-table-head>span { padding:8px 10px; border:1px solid rgba(95,209,225,.25); border-radius:7px; color:#a6c5cf; font-size:11px; white-space:nowrap; }
.scanner-table-labels,.scanner-table-row { display:grid; grid-template-columns:1.15fr 1fr .85fr 1.2fr; gap:10px; align-items:center; }
.scanner-table-labels { padding:10px 20px; border-block:1px solid rgba(95,209,225,.18); color:#6e9bab; font-size:10px; }
.scanner-table-row { min-height:62px; padding:12px 20px; border-bottom:1px solid rgba(95,209,225,.14); color:#b9d3dc; font-size:11px; transition:background .2s; }
.scanner-table-row:hover { background:rgba(58,172,192,.1); }
.scanner-table-row:last-child { border-bottom:0; }
.scanner-table-row>span:first-child { display:grid; gap:3px; }
.scanner-table-row b { color:#e7f8fa; font-size:12px; }
.scanner-table-row small { color:#749cab; font-size:10px; }
.scanner-state { color:#7ce8d2; }
.scanner-state.pending { color:#dfc582; }
.ai-workspace { min-height:0; background:#071d31; }
.ai-workspace:before { opacity:.16; }
.ai-workspace:after { content:""; position:absolute; z-index:3; inset:0; box-sizing:border-box; border-right:3px solid #0a2940; border-bottom:3px solid #0a2940; border-radius:inherit; pointer-events:none; }
.ai-workspace-top { position:relative; z-index:1; display:flex; min-height:88px; padding:18px 28px; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid rgba(95,209,225,.18); background:rgba(5,25,42,.75); }
.ai-workspace-brand { display:flex; align-items:center; gap:13px; color:#effcff; }
.ai-workspace-brand img { width:45px; height:45px; object-fit:contain; }
.ai-workspace-brand div { display:grid; gap:2px; }
.ai-workspace-brand b { font-size:20px; }
.ai-workspace-brand span { color:#83a8b6; font-size:12px; }
.ai-workspace-state { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid rgba(87,217,230,.28); border-radius:999px; color:#8aebf1; font-size:12px; }
.ai-workspace-state i { width:7px; height:7px; border-radius:50%; background:#53e3ec; box-shadow:0 0 12px #53e3ec; }
.ai-workspace-body { position:relative; z-index:1; display:grid; min-height:570px; grid-template-columns:215px 355px minmax(0,1fr); }
.ai-workspace-nav { display:flex; min-width:0; padding:29px 14px 20px; flex-direction:column; gap:8px; border-right:1px solid rgba(95,209,225,.16); background:rgba(3,17,30,.35); }
.ai-nav-caption,.ai-nav-foot>span { margin:0 11px 14px; color:#628c9c; font-size:11px; letter-spacing:.12em; }
.ai-nav-caption-second { margin-top:20px; }
.ai-workspace-nav>b { display:flex; min-height:45px; padding:10px 12px; align-items:center; gap:10px; border:1px solid transparent; border-radius:11px; color:#93b5c2; font-size:14px; font-weight:550; transition:background .2s,border-color .2s,color .2s; }
.ai-workspace-nav>b.active,.ai-workspace-nav>b:hover { border-color:rgba(75,218,232,.3); color:#d9fbfd; background:rgba(47,195,216,.12); }
.ai-nav-foot { display:grid; margin-top:auto; padding:18px 12px 0; gap:7px; border-top:1px solid rgba(95,209,225,.16); }
.ai-nav-foot>span { margin:0; }
.ai-nav-foot strong { color:#e2f7fa; font-size:14px; }
.ai-nav-foot small { color:#7395a4; font-size:11px; line-height:1.45; }
.ai-workspace-chat { display:flex; min-width:0; padding:29px 30px; flex-direction:column; gap:22px; }
.ai-chat-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:17px; border-bottom:1px solid rgba(95,209,225,.16); }
.ai-chat-head small,.ai-evidence-head small { color:#5ddde9; font-size:11px; letter-spacing:.12em; }
.ai-chat-head h3 { margin:8px 0 0; color:#effbfc; font-size:22px; line-height:1.3; }
.ai-chat-head>span { color:#7597a7; font-size:12px; white-space:nowrap; }
.ai-message { display:grid; width:min(100%,465px); padding:19px 22px; gap:11px; border:1px solid rgba(95,209,225,.23); border-radius:19px; background:#09283d; transition:transform .25s,border-color .25s; }
.ai-message:hover,.ai-evidence-source:hover { transform:translateY(-3px); border-color:rgba(84,227,239,.62); }
.ai-message-user { align-self:flex-end; width:min(84%,380px); background:#10354a; }
.ai-message>span,.ai-message-logo span { color:#69dfe9; font-size:11px; font-weight:750; letter-spacing:.1em; }
.ai-message p { margin:0; color:#e5f4f7; font-size:16px; line-height:1.55; }
.ai-message-logo { display:flex; align-items:center; gap:9px; }
.ai-message-logo img { width:25px; height:25px; object-fit:contain; }
.ai-message-assistant { width:min(100%,485px); }
.ai-answer-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; border-top:1px solid rgba(95,209,225,.18); }
.ai-answer-actions span { padding:7px 9px; border-radius:7px; color:#8de9ee; background:rgba(77,204,221,.1); font-size:11px; }
.ai-chat-input { display:flex; min-height:47px; margin-top:auto; padding:11px 16px; align-items:center; justify-content:space-between; border:1px solid rgba(95,209,225,.23); border-radius:12px; color:#6d96a6; background:rgba(3,17,30,.42); font-size:13px; }
.ai-chat-input span { color:#6be1ea; }
.ai-workspace-evidence { display:flex; min-width:0; padding:29px 18px 20px; flex-direction:column; gap:13px; border-left:1px solid rgba(95,209,225,.16); background:rgba(7,43,62,.53); }
.ai-evidence-head { display:grid; gap:10px; padding:4px 4px 11px; }
.ai-evidence-head b { color:#e9f9fa; font-size:19px; }
.ai-evidence-head p,.ai-evidence-handoff p { margin:0; color:#8eafbb; font-size:12px; line-height:1.55; }
.ai-evidence-source { display:grid; padding:15px; gap:7px; border:1px solid rgba(95,209,225,.23); border-radius:12px; background:rgba(2,24,39,.55); transition:transform .25s,border-color .25s; }
.ai-evidence-source span,.ai-evidence-handoff span { color:#5ddde9; font-size:10px; letter-spacing:.1em; }
.ai-evidence-source strong { color:#e8f7f9; font-size:14px; }
.ai-evidence-source small { color:#86a8b5; font-size:11px; line-height:1.4; }
.ai-evidence-handoff { display:grid; margin-top:auto; padding:16px; gap:8px; border:1px solid rgba(95,209,225,.3); border-radius:12px; background:rgba(62,168,186,.1); }
.ai-evidence-handoff b { color:#e8f9fa; font-size:15px; }
.ai-workspace-note { margin:16px 5px 0; color:#6b8490; font-size:12px; line-height:1.5; }
.ai-workspace-inbox { min-width:0; padding:27px 22px; background:linear-gradient(145deg,#122844,#142e4d); }
.ai-inbox-head { padding:0 0 18px; border-bottom:1px solid rgba(134,199,221,.17); }
.ai-inbox-head small { color:#6ddce7; font-size:10px; font-weight:700; letter-spacing:.1em; }
.ai-inbox-head h3 { margin:4px 0 0; color:#f0fbfd; font-size:28px; }
.ai-inbox-panel { min-height:430px; margin-top:18px; padding:18px 15px; border:1px solid rgba(115,194,222,.19); border-radius:17px; background:rgba(22,49,81,.72); }
.ai-inbox-title { display:flex; align-items:center; justify-content:space-between; color:#edfafd; }
.ai-inbox-title b { font-size:17px; }
.ai-inbox-title span { padding:5px 7px; border-radius:999px; color:#7ee2ec; background:rgba(90,208,226,.11); font-size:10px; }
.ai-inbox-search { display:flex; min-height:41px; margin-top:15px; padding:10px 12px; align-items:center; gap:8px; border:1px solid rgba(115,194,222,.18); border-radius:10px; color:#93b0c6; background:#0d203a; font-size:12px; }
.ai-inbox-search span { color:#7494a9; }
.ai-inbox-chips,.ai-inbox-filters { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.ai-inbox-chips span,.ai-inbox-filters span { padding:7px 10px; border:1px solid rgba(115,194,222,.2); border-radius:999px; color:#9ab7c7; font-size:10px; }
.ai-inbox-chips span.active,.ai-inbox-filters span.active { border-color:#4ccde0; color:#eafcff; background:rgba(72,186,212,.2); }
.ai-inbox-filters { padding-bottom:15px; border-bottom:1px solid rgba(115,194,222,.17); }
.ai-inbox-filters span { border-radius:8px; }
.ai-inbox-item { display:flex; min-height:76px; padding:12px 8px; align-items:center; gap:10px; border-bottom:1px solid rgba(115,194,222,.12); border-radius:9px; color:#d6ebf1; transition:background .2s; }
.ai-inbox-item.active,.ai-inbox-item:hover { background:rgba(70,166,199,.16); }
.ai-inbox-item i { display:grid; flex:none; width:36px; height:36px; place-items:center; border:1px solid rgba(106,202,226,.2); border-radius:50%; color:#88e4ed; background:#214566; font-size:15px; font-style:normal; }
.ai-inbox-item div { display:grid; min-width:0; gap:2px; }
.ai-inbox-item b { color:#effafd; font-size:12px; }
.ai-inbox-item small { color:#68cfdf; font-size:10px; }
.ai-inbox-item p { margin:0; color:#91aebb; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.ai-workspace-conversation { display:flex; min-width:0; flex-direction:column; background:#f7f9fb; }
.ai-conversation-head { display:grid; min-height:79px; padding:18px 21px; align-content:center; gap:5px; border-bottom:1px solid #d9e4eb; color:#142c44; }
.ai-conversation-head b { font-size:17px; }
.ai-conversation-head span { color:#637d8c; font-size:11px; }
.ai-conversation-stage { display:flex; min-height:410px; padding:28px 20px; flex-direction:column; gap:15px; background:linear-gradient(180deg,#f2f6fa,#eef2f7); }
.ai-conversation-bubble { max-width:94%; padding:15px 17px; border:1px solid #d7e4eb; border-radius:15px; color:#263d4c; background:#fff; box-shadow:0 7px 20px rgba(15,43,65,.06); }
.ai-conversation-bubble.visitor { align-self:flex-end; background:#e0f6f8; }
.ai-conversation-bubble.assistant { align-self:flex-start; }
.ai-conversation-bubble small { color:#1d90a4; font-size:10px; font-weight:750; letter-spacing:.08em; }
.ai-conversation-bubble.assistant>div { display:flex; align-items:center; gap:8px; }
.ai-conversation-bubble img { width:22px; height:22px; object-fit:contain; }
.ai-conversation-bubble p { margin:9px 0 0; font-size:13px; line-height:1.55; }
.ai-conversation-source { display:grid; margin-top:auto; gap:7px; color:#538090; font-size:10px; }
.ai-conversation-source span:first-child { color:#128da2; }
.ai-conversation-input { margin:auto 18px 18px; padding:14px; border:1px solid #d4e1e8; border-radius:10px; color:#8ba0ab; background:#fff; font-size:11px; }
@media (min-width:761px) and (max-width:1100px) {
 .scanner-workspace { grid-template-columns:170px minmax(0,1fr); }
 .scanner-side { padding-inline:8px; }
 .scanner-brand { font-size:14px; }
 .scanner-side>b { font-size:11px; }
 .scanner-content { padding:20px; }
 .scanner-table-labels,.scanner-table-row { grid-template-columns:1fr .8fr .8fr 1fr; }
 .ai-workspace-body { grid-template-columns:155px 280px minmax(0,1fr); }
 .ai-workspace-nav { padding-inline:8px; }
 .ai-workspace-nav>b { font-size:11px; }
 .ai-workspace-chat { padding-inline:17px; }
 .ai-workspace-evidence { padding-inline:13px; }
}
.service-product { width:100%; min-height:0; margin-top:32px; }
.service-product .dev-case-shot { height:auto; aspect-ratio:1.6; padding:24px; }
.service-product .dev-case-shot>img { display:block; width:100%; height:100%; object-fit:contain; transform:none; }
.service-product .dev-case-info { min-width:0; }
.service-product .product-mark { width:80px; height:80px; object-fit:contain; margin-bottom:24px; }
.service-case-note { margin:0 0 30px; max-width:760px; color:var(--muted); line-height:1.65; }
.service-subpage .form-field textarea { width:100%; min-height:100px; padding:14px; resize:vertical; border:1px solid #397084; border-radius:12px; color:#edfaff; background:#08293d; font:inherit; }
.service-subpage .form-field textarea:focus-visible { outline:2px solid #53dce9; outline-offset:3px; }
@keyframes service-flow { to { stroke-dashoffset:-240; } }
@keyframes service-beacon { 50% { opacity:.4; } }
@keyframes service-course { 50% { transform:rotate(9deg); } }
@keyframes service-scan { to { transform:rotate(360deg); } }
@keyframes service-bar-rise { 0%,100% { transform:scaleY(.82); opacity:.72; } 50% { transform:scaleY(1); opacity:1; } }
@keyframes service-packet { 0%,100% { transform:translateX(-9px); opacity:.45; } 50% { transform:translateX(9px); opacity:1; } }
@keyframes service-logo-pulse { 50% { transform:scale(1.045); filter:drop-shadow(0 0 32px rgba(45,232,253,.55)); } }
@keyframes service-arrow { 50% { transform:translateX(4px); } }
@media (max-width:1050px), (orientation:portrait) and (max-width:1100px) {
 .service-subpage .hero-grid .service-visual { max-width:720px; margin-inline:auto; justify-self:center; }
}
@media (max-width:760px) {
 .service-subpage .approach-card .card-icon { width:64px; height:64px; margin:30px 0 22px; }
 .service-subpage .approach-card .card-icon svg { width:40px; height:40px; }
 html.concept-deep body.service-subpage .context-formats .format-icon { width:72px; height:72px; margin:22px auto 18px; border-radius:22px; }
 html.concept-deep body.service-subpage .context-formats .format-icon>svg { width:49px; height:49px; }
 .service-subpage :is(.section-intro,.section-heading,.process-head,.ai-head,.section-head)>p:last-child { padding-left:16px; }
 .product-showcase .section-head { grid-template-columns:1fr; gap:24px; margin-bottom:30px; }
 .product-showcase .section-head>p { font-size:16px; line-height:1.6; }
 .product-lab { min-height:590px; border-radius:26px; }
 .cabinet-stage { inset:24px 16px 92px; }
 .cabinet-window { position:relative; width:100%; height:215px; border-radius:18px; }
 .scanner-window { left:auto; top:auto; }
 .ai-window { right:auto; bottom:auto; margin-top:16px; }
 .cabinet-bar { height:45px; padding-inline:14px; font-size:11px; }
 .cabinet-bar img { width:23px; height:23px; }
 .cabinet-body { height:calc(100% - 45px); grid-template-columns:70px 1fr; }
 .cabinet-body nav { padding:14px 9px; gap:12px; font-size:7px; }
 .cabinet-body main { padding:14px; }
 .cabinet-body main h3 { margin:7px 0 10px; font-size:16px; }
 .cabinet-body main p { margin-top:10px; font-size:8px; }
 .cabinet-metrics { gap:6px; }
 .cabinet-metrics i { height:43px; font-size:15px; }
 .cabinet-flow { gap:4px; }
 .cabinet-flow span { padding:6px; font-size:7px; }
 .cabinet-switch { width:calc(100% - 32px); bottom:20px; padding:6px; }
 .cabinet-switch b { display:none; }
 .scanner-workspace { display:block; }
 .scanner-side { display:none; }
 .scanner-topbar { min-height:49px; padding:0 15px; font-size:10px; }
 .scanner-top-status { display:none; }
 .scanner-content { padding:20px 15px; }
 .scanner-title h3 { font-size:20px; }
 .scanner-title p { font-size:11px; line-height:1.5; }
 .scanner-title>span { display:none; }
 .scanner-project { margin:17px 0; }
 .scanner-summary { grid-template-columns:1fr; gap:8px; }
 .scanner-summary>div { min-height:0; padding:11px 13px; }
 .scanner-summary strong { font-size:16px; }
 .scanner-table-head { display:block; padding:15px; }
 .scanner-table-head h4 { font-size:16px; }
 .scanner-table-head>span,.scanner-table-labels { display:none; }
 .scanner-table-row { grid-template-columns:1fr 1fr; gap:10px; padding:14px 15px; }
 .scanner-table-row>span:last-child { grid-column:1/-1; color:#6edfe8; }
 .ai-workspace-top { min-height:69px; padding:12px 17px; }
 .ai-workspace-brand img { width:35px; height:35px; }
 .ai-workspace-brand b { font-size:17px; }
 .ai-workspace-brand span { font-size:10px; }
 .ai-workspace-state { font-size:10px; padding:7px 9px; }
 .ai-workspace-body { grid-template-columns:1fr; }
 .ai-workspace-nav { display:none; }
 .ai-workspace-inbox { padding:19px 15px; }
 .ai-inbox-head h3 { font-size:23px; }
 .ai-inbox-panel { min-height:0; margin-top:13px; padding:14px; }
 .ai-inbox-item { min-height:67px; }
 .ai-conversation-stage { min-height:360px; padding:21px 15px; }
 .ai-conversation-head { min-height:63px; padding:13px 16px; }
 .ai-conversation-bubble p { font-size:12px; }
 .ai-workspace-chat { padding:22px 17px; gap:17px; }
 .ai-chat-head h3 { font-size:19px; }
 .ai-chat-head>span { display:none; }
 .ai-message { padding:15px; }
 .ai-message p { font-size:14px; }
 .ai-workspace-evidence { padding:19px 17px 22px; border-left:0; border-top:1px solid rgba(95,209,225,.16); }
 .ai-evidence-head { padding-bottom:0; }
 .ai-evidence-handoff { margin-top:3px; }
 .service-visual .build-bay-head { letter-spacing:.06em; }
}
@media (prefers-reduced-motion:reduce) {
 .service-diagram :is(.scene-route,.scene-ping,.scene-compass,.scene-radar,.scene-gear,.scene-ai-orbit,.scene-bars rect,.scene-growth,.scene-auto-ring,.scene-data-line,.scene-packets circle,.scene-ai-progress,.scene-ai-mark,.process-orbit,.process-route-flow,.scene-number,.crm-flow-path,.crm-core-frame,.cabinets-avatar-indicator,.cabinets-document-lines,.cabinets-active-nav,.cabinets-status-text),
 .product-lab :is(.cabinet-bar i,.cabinet-flow i,.ai-lab-core img,.ai-lab-core i),
 .product-lab .ai-lab-core:after { animation:none; }
 .service-visual-reputation .reputation-scale-progress,.service-visual-reputation .reputation-scale-marker{animation:none;transform:none}
 .service-visual-cabinets .scene-chart{animation:none;stroke-dashoffset:0}
 .service-visual-cabinets .cabinets-document-lines{animation:none;stroke-dashoffset:0}
 .service-visual-cabinets .cabinets-mobile-row,.service-visual-cabinets .cabinets-mobile-row:before,.service-visual-cabinets .cabinets-mobile-row:after{animation:none!important}
 .service-visual-processes .scene-auto-ring{animation:none}
 .service-visual-processes .processes-mobile-graphic>strong span,.service-visual-processes .processes-mobile-graphic>strong span:after,.service-visual-processes .processes-mobile-graphic li{animation:none!important}
 .service-visual-crm .crm-mobile-core,.service-visual-crm .crm-mobile-sources span,.service-visual-crm .crm-mobile-links span:after,.service-visual-crm .crm-mobile-links i{animation:none!important}
}
@keyframes crm-mobile-source{0%,31%,100%{border-color:#398ea2;background:transparent;box-shadow:none}8%,22%{border-color:#7be9f1;background:#104258;box-shadow:0 0 14px rgba(92,223,236,.2)}}
@keyframes crm-mobile-source-packet{0%{opacity:0;transform:translateY(0)}8%{opacity:1}27%{opacity:1;transform:translateY(18px)}32%,100%{opacity:0;transform:translateY(18px)}}
@keyframes crm-mobile-core-packet{0%,16%{opacity:0;transform:translateY(0)}32%{opacity:1}80%{opacity:1;transform:translateY(18px)}100%{opacity:0;transform:translateY(18px)}}
