/* Import and modernize page (Bring your PDF). Page prefix: im-.
   Shared parts (ui-win, ui-head, ui-k, mini-deck, mock) come from
   /assets/site/site.css. The old slide keeps a dated look on purpose
   (default blue #4F6EB0, greys, Georgia), the one exception to the palette
   allowed in SPEC section 2. Slides, frames and capability fragments scale
   with container units; panel UI uses px and reflows with container
   queries. Loops animate transform and opacity only, stop off screen and
   are static under reduced motion. */

/* ---------- Shared bits ---------- */
.im-canvas2{position:relative;border-radius:var(--radius);border:1px solid var(--line-2);box-shadow:0 60px 100px -50px rgba(0,0,0,.9);background:
  radial-gradient(60% 55% at 70% 30%,rgba(123,92,255,.16),transparent 72%),
  radial-gradient(rgba(183,168,255,.12) 1px,transparent 1.5px) 0 0 / 20px 20px,
  var(--night)}

/* ---------- The old slide: 4:3, 400 units wide ---------- */
.im-old{position:relative;display:block;aspect-ratio:4 / 3;container:im-old / inline-size;background:#FAFAF7;border:1px solid #CFCFCA;box-shadow:6px 6px 0 rgba(4,2,18,.42)}
.im-old-in{position:absolute;inset:0;overflow:hidden;font-family:Georgia,"Times New Roman",Times,serif}
.im-old-in > *{--o:calc(100cqw / 400)}
.im-ob{position:absolute;left:0;right:0;top:0;height:calc(var(--o) * 52);display:flex;align-items:center;padding:0 calc(var(--o) * 18);background:#4F6EB0;border-bottom:calc(var(--o) * 3) solid #C7D2EA;font-weight:700;font-size:calc(var(--o) * 17);line-height:1.2;color:rgba(255,255,255,.9);white-space:nowrap}
.im-ol{position:absolute;left:calc(var(--o) * 18);top:calc(var(--o) * 76);width:calc(var(--o) * 238);display:grid;gap:calc(var(--o) * 7)}
.im-ol i{position:relative;display:block;padding-left:calc(var(--o) * 13);font-size:calc(var(--o) * 12);line-height:1.3;color:#6F6F6B}
.im-ol i::before{content:"";position:absolute;left:0;top:calc(var(--o) * 5);width:calc(var(--o) * 5);height:calc(var(--o) * 5);background:#4F6EB0;opacity:.8}
.im-ol.is-side{left:calc(var(--o) * 236);top:calc(var(--o) * 96);width:calc(var(--o) * 148);gap:calc(var(--o) * 12)}
.im-ol.is-side i{font-size:calc(var(--o) * 14)}
.im-oc{position:absolute;left:calc(var(--o) * 268);top:calc(var(--o) * 80);width:calc(var(--o) * 116);height:calc(var(--o) * 116);background:#fff;border:1px solid #C4C4BE}
.im-oc.is-big{left:calc(var(--o) * 18);top:calc(var(--o) * 72);width:calc(var(--o) * 200);height:calc(var(--o) * 196)}
.im-oc svg{width:100%;height:100%}
.im-of{position:absolute;left:calc(var(--o) * 18);right:calc(var(--o) * 18);bottom:calc(var(--o) * 12);padding-top:calc(var(--o) * 6);border-top:calc(var(--o) * 2) solid rgba(79,110,176,.5);font-size:calc(var(--o) * 9);line-height:1.2;color:#9A9A96;white-space:nowrap}
.im-scan{position:absolute;left:0;right:0;top:0;height:100%;background:linear-gradient(180deg,rgba(183,168,255,.1),rgba(183,168,255,.16) 90%,rgba(183,168,255,.65) 98.6%,var(--lav) 99.4%,rgba(183,168,255,0));transform:translateY(-101%)}

/* ---------- The rebuilt slide: 16:10, 560 units wide ---------- */
.im-new{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border-radius:10px;background:var(--paper);container:im-new / inline-size;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.im-new > *{--n:calc(100cqw / 560)}
.im-pnl{position:absolute;left:0;top:0;bottom:0;width:calc(var(--n) * 212);overflow:hidden;background:var(--violet)}
.im-art{position:absolute;inset:0;width:100%;height:100%}
.im-mono{position:absolute;left:calc(var(--n) * 20);top:calc(var(--n) * 20);width:calc(var(--n) * 24);height:calc(var(--n) * 24);fill:none;stroke:var(--paper);stroke-width:2.4;stroke-linecap:round}
.im-eb{position:absolute;left:calc(var(--n) * 244);top:calc(var(--n) * 40);width:calc(var(--n) * 290);font:500 max(6.5px,calc(var(--n) * 11))/1.3 var(--sans);letter-spacing:.14em;color:var(--violet)}
.im-eb span{white-space:nowrap}
.im-title{position:absolute;left:calc(var(--n) * 244);top:calc(var(--n) * 84);width:calc(var(--n) * 290);font:600 calc(var(--n) * 32)/1.06 var(--display);letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.im-title.is-edit{outline:max(1px,calc(var(--n) * 1.5)) dashed var(--violet);outline-offset:calc(var(--n) * 7)}
.im-caret{display:inline-block;width:max(1.5px,calc(var(--n) * 2.5));height:.95em;margin-left:calc(var(--n) * 3);vertical-align:-.1em;background:var(--violet)}
.im-stats{position:absolute;left:calc(var(--n) * 244);bottom:calc(var(--n) * 46);display:flex;gap:calc(var(--n) * 36)}
.im-stats > span{display:grid;gap:calc(var(--n) * 5);font:500 max(6.5px,calc(var(--n) * 11))/1.3 var(--sans);color:var(--ink-2)}
.im-stats b{font:600 calc(var(--n) * 30)/1 var(--display);letter-spacing:-.03em;color:var(--violet)}
.im-pn{position:absolute;right:calc(var(--n) * 22);bottom:calc(var(--n) * 22);font:500 max(6.5px,calc(var(--n) * 11))/1 var(--sans);letter-spacing:.12em;color:rgba(18,15,46,.5)}

/* ---------- Hero: the old file turns into a web deck ---------- */
.im-hero{container-name:im-hero}
.im-win{overflow:hidden}
.im-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.im-file{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 10px;border-radius:9px;background:rgba(183,168,255,.07);box-shadow:inset 0 0 0 1px var(--line-2);font:500 13px/1 var(--sans);color:var(--paper);white-space:nowrap}
.im-file svg{flex:none;width:15px;height:15px;fill:none;stroke:var(--lav);stroke-width:1.4;stroke-linejoin:round}
.im-file.is-web{background:rgba(123,92,255,.24);box-shadow:inset 0 0 0 1px rgba(183,168,255,.42)}
.im-file .mini-deck{width:26px;height:19px}
.im-file .mini-deck i{width:17px;height:11px}
.im-arrow{display:grid;place-items:center}
.im-arrow svg{width:16px;height:16px;fill:none;stroke:var(--lav);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.im-state{position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border-radius:999px;background:rgba(183,168,255,.06);box-shadow:inset 0 0 0 1px var(--line)}
.im-state i{position:relative;z-index:1;display:grid;place-items:center;height:26px;padding:0 12px;font:500 13px/1 var(--sans);color:var(--paper)}
.im-state-hl{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--violet);transform:translateX(100%)}
.im-stage{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:center;gap:6%;margin:16px;padding:22px;border-radius:14px;background:radial-gradient(rgba(183,168,255,.1) 1px,transparent 1.5px) 0 0 / 18px 18px,rgba(14,12,36,.6);box-shadow:inset 0 0 0 1px var(--line)}
/* The kept page inside a web deck: 16:10, 560 units wide */
.im-kept{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,var(--night-3),var(--night-2) 40%);container:im-kept / inline-size;box-shadow:inset 0 0 0 1px var(--line-2),0 30px 60px -30px rgba(0,0,0,.9)}
.im-kept > *{--n:calc(100cqw / 560);position:absolute}
.im-kbar{left:0;right:0;top:0;height:calc(var(--n) * 34);display:flex;align-items:center;gap:calc(var(--n) * 12);padding:0 calc(var(--n) * 14);border-bottom:1px solid var(--line)}
.im-kdots{display:flex;gap:calc(var(--n) * 5)}
.im-kdots i{width:calc(var(--n) * 7);height:calc(var(--n) * 7);border-radius:50%;background:rgba(183,168,255,.28)}
.im-kurl{flex:1;min-width:0;display:flex;align-items:center;height:calc(var(--n) * 20);padding:0 calc(var(--n) * 10);overflow:hidden;border-radius:99px;background:rgba(183,168,255,.06);box-shadow:inset 0 0 0 1px var(--line);font:500 max(6.5px,calc(var(--n) * 10.5))/1 var(--sans);color:var(--muted);white-space:nowrap}
.im-kpg{left:calc(var(--n) * 20);top:calc(var(--n) * 50);width:calc(var(--n) * 316)}
.im-kpg .im-old{box-shadow:calc(var(--n) * 4) calc(var(--n) * 4) 0 rgba(4,2,18,.42)}
.im-kept .im-kcap{left:calc(var(--n) * 20);top:calc(var(--n) * 297);font:500 max(6.5px,calc(var(--n) * 10.5))/1.2 var(--sans);color:var(--muted);white-space:nowrap}
.im-kask,.im-ktxt{left:calc(var(--n) * 356);width:calc(var(--n) * 184);display:grid;align-content:start;gap:calc(var(--n) * 9);padding:calc(var(--n) * 12);border-radius:calc(var(--n) * 10);background:rgba(183,168,255,.07);box-shadow:inset 0 0 0 1px rgba(183,168,255,.24)}
.im-kask{top:calc(var(--n) * 50);height:calc(var(--n) * 112)}
.im-ktxt{top:calc(var(--n) * 174);height:calc(var(--n) * 113)}
.im-kk{display:flex;align-items:center;gap:calc(var(--n) * 6);font:500 max(6.5px,calc(var(--n) * 11))/1.2 var(--sans);color:var(--lav);white-space:nowrap}
.im-kk svg{flex:none;width:max(8px,calc(var(--n) * 13));height:max(8px,calc(var(--n) * 13));fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.im-ki{display:block;padding:calc(var(--n) * 8) calc(var(--n) * 10);border-radius:calc(var(--n) * 7);background:rgba(14,12,36,.7);box-shadow:inset 0 0 0 1px var(--line-2);font:400 max(6.5px,calc(var(--n) * 11))/1.2 var(--sans);color:var(--muted)}
.im-kn{font:400 max(6.5px,calc(var(--n) * 10))/1.35 var(--sans);color:var(--muted)}
.im-kln{display:grid;gap:calc(var(--n) * 9);padding-top:calc(var(--n) * 3)}
.im-kln i{display:block;height:calc(var(--n) * 7);border-radius:9px;background:rgba(183,168,255,.5)}
.im-kln i:nth-child(1){width:94%}
.im-kln i:nth-child(2){width:80%}
.im-kln i:nth-child(3){width:88%}
.im-kln i:nth-child(4){width:52%}
.im-carried{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 18px 14px;border-top:1px solid var(--line)}
.im-carried > .ui-k{margin:0}
.im-cc{display:flex;flex-wrap:wrap;gap:6px}
.im-cc i{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:999px;background:rgba(183,168,255,.08);box-shadow:inset 0 0 0 1px var(--line-2);font:500 13px/1 var(--sans);color:var(--paper)}
.im-cc svg{width:14px;height:14px;fill:none;stroke:var(--lav);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@container im-hero (max-width:479px){
  .im-stage{margin:12px}
  .im-carried{padding:12px 14px}
}

/* ---------- Keep, then rebuild: two paths ---------- */
.im-paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.im-path{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:var(--radius);background:linear-gradient(180deg,var(--night-3),var(--night-2));border:1px solid var(--line)}
.im-path-fig{margin:0;padding:24px 24px 0;border-bottom:1px solid var(--line);background:radial-gradient(70% 80% at 50% 40%,rgba(123,92,255,.2),transparent 72%),radial-gradient(rgba(183,168,255,.1) 1px,transparent 1.5px) 0 0 / 22px 22px}
.im-path-fig .mock::before{display:none}
.im-path-copy{flex:1;display:flex;flex-direction:column;gap:10px;padding:24px 26px 28px}
.im-path-k{font:500 13px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--lav)}
.im-path-copy h3{margin:0;font:600 24px/1.2 var(--display);letter-spacing:-.02em;color:var(--paper)}
.im-path-copy > p:not(.im-path-k){font-size:16px;line-height:1.55;color:var(--muted)}
.im-pts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.im-pts li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;font-size:16px;line-height:1.5;color:var(--paper)}
.im-pts li::before{content:"";width:22px;height:22px;margin-top:1px;border-radius:7px;background:rgba(183,168,255,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23B7A8FF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.6'/%3E%3C/svg%3E") center / 13px no-repeat;box-shadow:inset 0 0 0 1px rgba(183,168,255,.24)}

/* Frames: pictures in container units of the mock (1cqw = 1% of its width) */
.im-keep,.im-rebuild{container-name:im-path}
.im-frame{position:relative;display:flex;flex-direction:column;aspect-ratio:100 / 64;overflow:hidden;border-radius:2.6cqw 2.6cqw 0 0;background:linear-gradient(180deg,var(--night-3),var(--night-2) 40%);border:1px solid var(--line-2);border-bottom:0;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.im-fbar{flex:none;display:flex;align-items:center;gap:2cqw;height:8cqw;padding:0 3cqw;border-bottom:1px solid var(--line)}
.im-fdots{display:flex;gap:1cqw}
.im-fdots i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:rgba(183,168,255,.24)}
.im-furl{flex:1;min-width:0;display:flex;align-items:center;height:4.8cqw;padding:0 2.4cqw;border-radius:99px;background:rgba(183,168,255,.06);box-shadow:inset 0 0 0 1px var(--line);font:500 max(7.5px,2.3cqw)/1 var(--sans);color:var(--muted);white-space:nowrap}
.im-kbody{flex:1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3cqw;align-items:start;padding:3.4cqw 3.4cqw 0}
.im-kpage{display:grid;gap:1.8cqw;min-width:0}
.im-kpage .im-old{box-shadow:0 1.6cqw 3cqw -1.4cqw rgba(0,0,0,.8)}
.im-kcap{font:500 max(7px,2cqw)/1.2 var(--sans);color:var(--muted)}
.im-rail{display:grid;gap:1.8cqw;min-width:0}
.im-blk{display:grid;gap:1.3cqw;padding:2cqw;border-radius:2cqw;background:rgba(183,168,255,.07);box-shadow:inset 0 0 0 1px rgba(183,168,255,.24)}
.im-blk-k{display:flex;align-items:center;gap:1cqw;font:500 max(7px,2.1cqw)/1.2 var(--sans);color:var(--lav)}
.im-blk-k svg{flex:none;width:max(9px,2.6cqw);height:max(9px,2.6cqw);fill:none;stroke:var(--lav);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.im-blk-in{display:block;padding:1.4cqw 1.6cqw;border-radius:1.4cqw;background:rgba(14,12,36,.7);box-shadow:inset 0 0 0 1px var(--line-2);font:400 max(7px,2.1cqw)/1.2 var(--sans);color:var(--muted)}
.im-blk-tx{font:400 max(7px,2.1cqw)/1.35 var(--sans);color:var(--paper)}

.im-fbar.is-tools{gap:1.6cqw}
.im-fbar .soon{margin-left:auto}
.im-tool{display:inline-flex;align-items:center;gap:1.2cqw;height:4.8cqw;padding:0 1.8cqw;border-radius:1.2cqw;background:rgba(183,168,255,.08);box-shadow:inset 0 0 0 1px var(--line-2);font:500 max(7px,2.1cqw)/1 var(--sans);color:var(--paper);white-space:nowrap}
.im-tool b{font:600 max(7px,2.3cqw)/1 var(--display);color:var(--lav)}
.im-swatches{display:flex;gap:.9cqw}
.im-swatches i{width:3cqw;height:3cqw;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(242,239,255,.35)}
.im-swatches i:nth-child(1){background:var(--violet);box-shadow:0 0 0 .5cqw var(--night-2),0 0 0 .8cqw var(--lav)}
.im-swatches i:nth-child(2){background:var(--lav)}
.im-swatches i:nth-child(3){background:var(--paper)}
.im-rbody{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 22cqw;gap:3cqw;align-items:start;padding:3.4cqw 3.4cqw 0}
.im-canvas{display:grid;gap:1.8cqw;min-width:0}
.im-rcap{display:flex;justify-content:space-between;gap:2cqw;font:500 max(7px,2cqw)/1.2 var(--sans);color:var(--muted)}
.im-phone{container:im-ph / inline-size;display:block;padding:.9cqw;border-radius:3.8cqw;background:#0B0920;box-shadow:inset 0 0 0 1.5px rgba(183,168,255,.34),0 2cqw 4cqw -2cqw rgba(0,0,0,.8)}
.im-ph{display:flex;flex-direction:column;gap:7cqw;aspect-ratio:9 / 18;overflow:hidden;padding:9cqw 7cqw;border-radius:13cqw;background:var(--paper)}
.im-ph-pnl{position:relative;display:block;flex:none;aspect-ratio:16 / 12;overflow:hidden;border-radius:6cqw;background:var(--violet)}
.im-ph-t{font:600 12cqw/1.1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.im-ph-s{display:flex;gap:9cqw}
.im-ph-s b{font:600 14cqw/1 var(--display);letter-spacing:-.03em;color:var(--violet)}

@container im-path (max-width:359px){
  .im-frame{aspect-ratio:auto;padding-bottom:3.4cqw}
  .im-fbar{height:10cqw}
  .im-furl,.im-tool{height:6.4cqw;font-size:max(8.5px,3cqw)}
  .im-tool b{font-size:max(8.5px,3.2cqw)}
  .im-kbody,.im-rbody{grid-template-columns:minmax(0,1fr);gap:3.4cqw}
  .im-kcap,.im-rcap{font-size:max(8.5px,2.8cqw)}
  .im-blk{gap:1.8cqw;padding:2.8cqw}
  .im-blk-k,.im-blk-in,.im-blk-tx{font-size:max(9.5px,3.1cqw)}
  .im-blk-k svg{width:max(11px,3.4cqw);height:max(11px,3.4cqw)}
  .im-phone{display:none}
}
@media (max-width:719px){
  .im-paths{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:599px){
  .im-path-fig{padding:16px 16px 0}
  .im-path-copy{padding:20px 20px 24px}
}

/* ---------- What you get: four rows, PDF page to web deck ---------- */
.im-carry{container-name:im-carry}
.im-carry .im-canvas2{padding:20px}
.im-map-h,.im-map li{display:grid;grid-template-columns:84px minmax(0,1fr) 28px minmax(0,1fr);gap:12px}
.im-map-h{align-items:center;margin-bottom:12px;font-size:13px;line-height:1.3;color:var(--muted)}
.im-map-col{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500;color:var(--paper)}
.im-map-col svg{flex:none;width:15px;height:15px;fill:none;stroke:var(--lav);stroke-width:1.4;stroke-linejoin:round}
.im-map-col .mini-deck{width:26px;height:19px}
.im-map-col .mini-deck i{width:17px;height:11px}
.im-map{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.im-map li{align-items:stretch}
.im-map-k{align-self:center;font:500 13px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--lav)}
.im-from{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:12px;border-radius:3px;background:#FAFAF7;border:1px solid #CFCFCA;font:400 14px/1.4 Georgia,"Times New Roman",Times,serif;color:#5E5E5A}
.im-sq{flex:none;width:6px;height:6px;margin-top:7px;background:#4F6EB0}
.im-arr{position:relative;align-self:center;height:2px;background:linear-gradient(90deg,rgba(183,168,255,.3),var(--lav));transform-origin:0 50%}
.im-arr::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-top:2px solid var(--lav);border-right:2px solid var(--lav);transform:rotate(45deg)}
.im-to{display:grid;align-content:center;gap:4px;min-width:0;padding:12px;border-radius:12px;background:var(--paper);color:var(--ink)}
.im-to em{font:500 13px/1.2 var(--sans);letter-spacing:.12em;color:var(--violet)}
.im-to b{font:600 15px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink)}
.im-to.is-stat{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}
.im-to.is-stat b{font-size:26px;line-height:1;letter-spacing:-.03em;color:var(--violet)}
.im-to.is-stat span{font-size:13px;line-height:1.35;color:var(--ink-2)}
@container im-carry (max-width:479px){
  .im-carry .im-canvas2{padding:16px}
  .im-map-h,.im-map li{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);column-gap:10px}
  .im-map-h > span:first-child{display:none}
  .im-map-k{grid-column:1 / -1;margin-bottom:-2px}
  .im-map{gap:14px}
  .im-from,.im-to{padding:10px}
  .im-from{font-size:13px}
  .im-to.is-stat{grid-template-columns:minmax(0,1fr);row-gap:4px}
  .im-to.is-stat b{font-size:22px}
}

/* ---------- Capability fragments (sized with --q from .cap-visual) ---------- */
.im-cv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--q) * 12);padding:calc(var(--q) * 20)}

.im-cv-files{flex-direction:row;gap:calc(var(--q) * 18)}
.im-cv-f{display:flex;flex-direction:column;align-items:center;gap:calc(var(--q) * 6);width:calc(var(--q) * 116);padding:calc(var(--q) * 18) calc(var(--q) * 10) calc(var(--q) * 16);border-radius:calc(var(--q) * 16);background:rgba(18,15,46,.92);box-shadow:inset 0 0 0 1px var(--line-2),0 calc(var(--q) * 20) calc(var(--q) * 40) calc(var(--q) * -24) rgba(0,0,0,.9);font-size:calc(var(--q) * 12.5);line-height:1.2;color:var(--muted);transform:rotate(-4deg)}
.im-cv-f.is-pdf{transform:rotate(4deg) translateY(calc(var(--q) * 8));box-shadow:inset 0 0 0 1px rgba(183,168,255,.5),0 0 0 calc(var(--q) * 4) rgba(123,92,255,.12)}
.im-cv-f.is-soon{opacity:.86}
.im-cv-f .soon{margin:calc(var(--q) * 4) 0 0}
.im-cv-f svg{width:calc(var(--q) * 44);height:calc(var(--q) * 44);margin-bottom:calc(var(--q) * 4);fill:rgba(183,168,255,.12);stroke:var(--lav);stroke-width:1;stroke-linejoin:round}
.im-cv-f b{font:600 calc(var(--q) * 19)/1 var(--display);color:var(--paper)}

.im-cv-phone{justify-content:flex-start;padding-top:calc(var(--q) * 18)}
.im-cv-ph{display:flex;flex-direction:column;gap:calc(var(--q) * 10);width:calc(var(--q) * 150);height:calc(var(--q) * 260);padding:calc(var(--q) * 12);border-radius:calc(var(--q) * 26);background:var(--paper);box-shadow:0 0 0 calc(var(--q) * 6) #0B0920,0 0 0 calc(var(--q) * 7) rgba(183,168,255,.34)}
.im-cv-ph .im-cv-pg{width:100%;height:calc(var(--q) * 100);margin-top:calc(var(--q) * 14)}
.im-cv-ph .im-cv-bq{gap:calc(var(--q) * 5);padding:calc(var(--q) * 9) calc(var(--q) * 10);border-radius:calc(var(--q) * 99);font-size:calc(var(--q) * 11)}
.im-cv-pt{font:500 calc(var(--q) * 11)/1 var(--sans);color:var(--ink-2)}

.im-cv-nt{display:grid;gap:calc(var(--q) * 8);width:calc(var(--q) * 286);padding:calc(var(--q) * 16);border-radius:calc(var(--q) * 16);background:rgba(123,92,255,.18);box-shadow:inset 0 0 0 1px rgba(183,168,255,.44),0 calc(var(--q) * 20) calc(var(--q) * 40) calc(var(--q) * -24) rgba(0,0,0,.9)}
.im-cv-ntk{display:flex;align-items:center;gap:calc(var(--q) * 7);font:500 calc(var(--q) * 12.5)/1.2 var(--sans);color:var(--lav)}
.im-cv-ntk svg{width:calc(var(--q) * 15);height:calc(var(--q) * 15);fill:none;stroke:var(--lav);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.im-cv-ntx{font:500 calc(var(--q) * 16)/1.4 var(--sans);color:var(--paper)}

.im-cv-blocks{flex-direction:row;gap:calc(var(--q) * 12)}
.im-cv-pg{display:grid;align-content:start;gap:calc(var(--q) * 7);width:calc(var(--q) * 130);height:calc(var(--q) * 98);padding:calc(var(--q) * 12);border:1px solid #CFCFCA;background:#FAFAF7;box-shadow:calc(var(--q) * 4) calc(var(--q) * 4) 0 rgba(4,2,18,.42)}
.im-cv-pg i{height:calc(var(--q) * 6);background:#C4C4BE}
.im-cv-pg i:first-child{height:calc(var(--q) * 14);margin:calc(var(--q) * -12) calc(var(--q) * -12) calc(var(--q) * 4);background:#4F6EB0}
.im-cv-pg i:last-child{width:60%}
.im-cv-bl{display:grid;gap:calc(var(--q) * 8);width:calc(var(--q) * 148)}
.im-cv-bq{display:flex;align-items:center;gap:calc(var(--q) * 6);padding:calc(var(--q) * 10);border-radius:calc(var(--q) * 10);background:rgba(18,15,46,.92);box-shadow:inset 0 0 0 1px rgba(183,168,255,.36);font:500 calc(var(--q) * 12)/1.2 var(--sans);color:var(--paper)}
.im-cv-bq svg{flex:none;width:calc(var(--q) * 14);height:calc(var(--q) * 14);fill:none;stroke:var(--lav);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.im-cv-bb{display:grid;place-items:center;height:calc(var(--q) * 32);border-radius:99px;background:var(--violet);font:500 calc(var(--q) * 12)/1 var(--sans);color:#fff;white-space:nowrap}

.im-cv-lang{gap:calc(var(--q) * 10)}
.im-cv-lrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(var(--q) * 10);width:calc(var(--q) * 290);padding:calc(var(--q) * 11) calc(var(--q) * 12);border-radius:calc(var(--q) * 14);background:rgba(18,15,46,.9);box-shadow:inset 0 0 0 1px var(--line-2)}
.im-cv-lrow em{display:grid;place-items:center;width:calc(var(--q) * 40);height:calc(var(--q) * 26);border-radius:calc(var(--q) * 7);background:rgba(183,168,255,.14);font:600 calc(var(--q) * 12)/1 var(--display);color:var(--paper)}
.im-cv-lrow span{font:500 calc(var(--q) * 13)/1.35 var(--sans);color:var(--paper)}
.im-cv-lrow i{padding:calc(var(--q) * 5) calc(var(--q) * 8);border-radius:99px;background:var(--lav);font:500 calc(var(--q) * 11.5)/1 var(--sans);color:var(--night)}
.im-cv-lrow.is-on{box-shadow:inset 0 0 0 1px rgba(183,168,255,.5),0 0 0 calc(var(--q) * 4) rgba(123,92,255,.12)}
.im-cv-lrow.is-on em{background:var(--violet);color:#fff}

.im-cv-read{gap:calc(var(--q) * 12)}
.im-cv-bars{display:flex;align-items:flex-end;gap:calc(var(--q) * 10);height:calc(var(--q) * 110)}
.im-cv-bars i{position:relative;width:calc(var(--q) * 30);height:calc(var(--q) * 110);overflow:hidden;border-radius:calc(var(--q) * 6) calc(var(--q) * 6) calc(var(--q) * 3) calc(var(--q) * 3);background:rgba(183,168,255,.06)}
.im-cv-bars i::before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;border-radius:inherit;background:linear-gradient(180deg,rgba(183,168,255,.7),rgba(183,168,255,.15));transform-origin:50% 100%;transform:scaleY(var(--h))}
.im-cv-bars i:nth-child(2)::before{background:linear-gradient(180deg,var(--lav),var(--violet))}
.im-cv-rcap{font:500 calc(var(--q) * 13)/1 var(--sans);color:var(--muted)}

/* ---------- Entrances: section visuals assemble when they reveal ---------- */
.js .im-map li{opacity:0;transform:translateY(10px);transition:opacity .55s var(--ease),transform .55s var(--ease);transition-delay:calc(300ms + var(--k) * 200ms)}
.js .im-map .im-arr{transform:scaleX(0);transition:transform .6s var(--ease);transition-delay:calc(600ms + var(--k) * 200ms)}
.js .is-in .im-map li{opacity:1;transform:none}
.js .is-in .im-map .im-arr{transform:none}

.js .im-blk{opacity:0;transform:translateX(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(400ms + var(--k) * 200ms)}
.js .is-in .im-blk{opacity:1;transform:none}

/* ---------- Loops (paused off screen by site.js, static under reduced motion) ---------- */
@keyframes im-old{0%,38%{opacity:1;transform:none}46%,92%{opacity:0;transform:scaleX(1.2)}92.1%{opacity:0;transform:scale(.96)}99%,100%{opacity:1;transform:none}}
@keyframes im-scan{0%,6%{transform:translateY(-101%)}34%,88%{transform:translateY(0)}88.1%,100%{transform:translateY(-101%)}}
@keyframes im-new{0%,40%{opacity:0}46%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes im-part{0%,42%{opacity:0;transform:translateY(8px)}50%,100%{opacity:1;transform:none}}
@keyframes im-hl{0%,40%{transform:translateX(0)}46%,90%{transform:translateX(100%)}96%,100%{transform:translateX(0)}}
@keyframes im-blink{0%,49%{opacity:1}50%,100%{opacity:0}}

@media (prefers-reduced-motion:no-preference){
  .im-hero .im-stage{position:relative;display:block;aspect-ratio:16 / 10;padding:0;background:none;box-shadow:none}
  .im-hero .im-stage > .im-old{position:absolute;top:0;bottom:0;left:8.333%;width:83.333%;animation:im-old 10s var(--flip) infinite}
  .im-hero .im-kept{position:absolute;inset:0;animation:im-new 10s var(--flip) infinite}
  .im-hero .im-p{animation:im-part 10s var(--ease) both infinite;animation-delay:calc(var(--s) * 180ms)}
  .im-hero .im-scan{animation:im-scan 10s linear infinite}
  .im-state-hl{animation:im-hl 10s var(--flip) infinite}
  .im-cc i{animation:intro .6s var(--ease) both}
  .im-cc i:nth-child(1){animation-delay:.9s}
  .im-cc i:nth-child(2){animation-delay:1.02s}
  .im-cc i:nth-child(3){animation-delay:1.14s}
  .im-cc i:nth-child(4){animation-delay:1.26s}
  .im-caret{animation:im-blink 1.1s steps(1) infinite}
}

@media (prefers-reduced-motion:reduce){
  .js .im-map li,.js .im-blk{opacity:1;transform:none}
  .js .im-map .im-arr{transform:none}
}
