/* Shared image paint-readiness contract. The JS-added awaiting class preserves no-JS visibility. */
[data-d1-image-frame]{overflow:hidden;background:var(--d1-image-placeholder,#e8f0ff)}
img[data-d1-image]{display:block;max-width:100%}
img[data-d1-image][data-d1-fit="cover"]{width:100%;height:100%;object-fit:cover}
img[data-d1-image][data-d1-fit="contain"]{width:100%;height:100%;object-fit:contain}
img.d1-image-awaiting-paint{opacity:0}
img.d1-image-painted{opacity:1}
/* 08.20 private four-page art direction. No global candidate or token promotion. */
.hero,.v816 .v3-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:48px;align-items:center}
.hero{padding-top:56px;padding-bottom:42px}.v3-hero{background:#fbfafc;padding-block:32px 54px}
.hero h1{font-size:clamp(2.5rem,4.35vw,4rem);line-height:1.07}.v816 .v3-hero h1{font-size:clamp(2.3rem,3.7vw,3.55rem);line-height:1.1;max-width:22ch}
.im-editorial{margin:0;min-width:0;position:relative;padding:0 0 0 12px;align-self:center}
.im-editorial::before{content:"";position:absolute;left:0;top:22px;right:22px;bottom:48px;background:#e8f0ff;border-radius:4px 56px 4px 4px}
.im-photo{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:4px 54px 4px 4px;background:#e8f0ff;box-shadow:0 10px 36px #32196212}
.im-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 700ms cubic-bezier(.22,.61,.36,1)}
.im-corner{position:absolute;right:0;bottom:0;width:36px;height:36px;border-right:4px solid #4361ee;border-bottom:4px solid #4361ee}
.im-editorial figcaption{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:18px;font-size:11px;line-height:1.6;color:#514b64}
.im-editorial figcaption>span:first-child{font-weight:700;letter-spacing:.08em;color:#321962}
.im-editorial:focus-within .im-photo img{transform:none}
.im-context{padding-block:32px 64px}.im-workflow{margin:24px 0 32px;padding:24px 24px 18px;border:1px solid #dce3f1;border-radius:4px 28px 4px 4px;background:radial-gradient(circle at 1px 1px,#3219620c 1px,transparent 1.3px) 0 0/22px 22px,#f8faff;position:relative}
.im-workflow-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.1em;font-weight:700;color:#321962}
.im-trace{font:inherit;letter-spacing:0;border:1px solid #c7cde4;background:#fff;color:#321962;padding:12px 14px;min-height:44px;border-radius:5px;cursor:pointer}
.im-trace[hidden]{display:none}.im-trace:hover{border-color:#4361ee;color:#4361ee}.im-trace:focus-visible{outline:3px solid #4361ee;outline-offset:4px}
.im-stages{position:relative;list-style:none;margin:16px 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.im-stages::before{content:"";height:2px;position:absolute;left:12%;right:12%;bottom:35px;background:linear-gradient(90deg,#bfccef,#4361ee,#bfccef)}
.im-stage{min-width:0;position:relative;margin:0!important;padding:0!important}.im-stage svg{display:block;width:100%;height:auto;overflow:visible}.im-object{transform-origin:50% 85%;transition:transform 240ms}
.im-stage-label{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:#321962;line-height:1.5;padding:14px 4px 0}
.im-stage-label b{background:#fff;border:1px solid #c4d0f4;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:11px;flex-shrink:0}
.im-workflow figcaption{border-top:1px solid #dce3f1;padding-top:14px;font-size:12px;color:#514b64;line-height:1.65}
.im-workflow.im-tracing .im-object{animation:im-lift 1300ms both}.im-workflow.im-tracing .im-stage:nth-child(2) .im-object{animation-delay:160ms}.im-workflow.im-tracing .im-stage:nth-child(3) .im-object{animation-delay:320ms}.im-workflow.im-tracing .im-stage:nth-child(4) .im-object{animation-delay:480ms}
@keyframes im-lift{0%,100%{transform:translateY(0) rotate(0)}30%,65%{transform:translateY(-9px) rotate(-2deg)}}
.im-review-details{border-block:1px solid #dce3f1;padding:18px 0}.im-review-details>summary{color:#321962;font-weight:600;cursor:pointer;min-height:44px;align-content:center}.im-review-details .hero-visual{max-width:580px;margin:30px auto}.im-review-details .ledger{transform:none!important}
.v3-copy .v816-map{margin-top:28px;padding:22px;background:#fff;color:#321962;border:1px solid #dce3f1;box-shadow:none}.v3-copy .v816-map ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.v3-copy .v816-map li{font-size:14px}.v3-copy .v816-map li b{color:#321962}.v3-copy .v816-map .v816-node{color:#321962;border-color:#c7d0e5;background:#e8f0ff}.v3-copy .v816-map p{font-size:12px}
.im-hardware{padding-block:64px 72px;border-top:1px solid #dce3f1}.im-section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:40px}.im-section-head h2{margin:0;font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.035em;line-height:1.12;color:#321962}.im-section-head>p{font-size:15px;line-height:1.7;color:#514b64;max-width:58ch;margin:0}
.im-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.im-devices:has(>.im-device:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.im-device{margin:0;min-width:0;border-bottom:1px solid #dce3f1;padding-bottom:22px}.im-device-photo{height:290px;display:grid;place-items:center;background:#fff}.im-device img{width:100%;height:100%;object-fit:contain;max-height:290px;filter:none;mix-blend-mode:normal}.im-device figcaption{padding:20px 0 0}.im-device figcaption>span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#514b64}.im-device h3{font-size:24px;color:#321962;margin:9px 0}.im-device p,.im-rights{font-size:12px;line-height:1.7;color:#514b64}.im-rights{max-width:90ch;margin-top:24px}
@media(hover:hover) and (pointer:fine){.im-editorial:hover .im-photo img{transform:scale(1.025)}.im-stage:hover .im-object{transform:translateY(-5px)}}
@media(max-width:1050px){.hero,.v816 .v3-hero-grid{gap:30px}.im-editorial figcaption{font-size:11px}.im-section-head{gap:30px}.im-device-photo,.im-device img{height:240px;max-height:240px}}
@media(max-width:900px){.hero,.v816 .v3-hero-grid{grid-template-columns:1fr}.im-editorial{width:100%;max-width:740px;justify-self:center}.hero h1,.v816 .v3-hero h1{font-size:clamp(2.3rem,6vw,3.4rem);max-width:23ch}.im-section-head{grid-template-columns:1fr;gap:18px}.im-hardware{padding-block:44px}.im-devices{gap:24px}.im-photo{border-top-right-radius:36px}.im-context{padding-block:20px 44px}}
@media(max-width:560px){.hero{padding-top:30px}.hero h1,.v816 .v3-hero h1{font-size:2.3rem;line-height:1.1}.im-editorial{padding-left:8px}.im-editorial figcaption{font-size:11px;gap:4px}.im-workflow{padding:18px 14px}.im-workflow-heading{flex-wrap:wrap;gap:12px}.im-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}.im-stages::before{display:none}.im-stage-label{font-size:12px;gap:6px;padding-top:4px}.im-stage-label b{width:26px;height:26px}.im-workflow figcaption{font-size:12px}.im-devices,.im-devices:has(>.im-device:nth-child(2):last-child){grid-template-columns:1fr}.im-device-photo,.im-device img{height:270px;max-height:270px}.im-device h3{font-size:23px}.v3-copy .v816-map ol{grid-template-columns:1fr}.im-section-head>p{font-size:14px}}
.motion-off .im-object,.motion-off .im-photo img{animation:none!important;transition:none!important;transform:none!important}
/* Mobile: show the operating scene directly after the headline, not after a wall of copy. */
@media(max-width:560px){.hero-copy,.v3-hero-grid>div{display:contents}.hero-copy>.eyebrow,.v3-hero-grid>div>.eyebrow{order:0;margin-bottom:0}.hero-copy>h1,.v3-hero-grid>div>h1{order:1;margin-block:0}.hero>.im-editorial,.v3-hero-grid>.im-editorial{order:2}.hero-copy>p:not(.eyebrow),.v3-hero-grid>div>p:not(.eyebrow){order:3;margin-block:0}.hero-copy>.hero-actions,.v3-hero-grid>div>.v3-actions{order:4}.hero-copy>.outcomes{order:5}.hero>.hero-disclaimer{order:6}.v3-hero-grid>div>.v3-contact{order:5}.hero,.v816 .v3-hero-grid{row-gap:22px}}
@media(prefers-reduced-motion:reduce){.im-object,.im-photo img{animation:none!important;transition:none!important;transform:none!important}}
@media(forced-colors:active){.im-workflow,.im-photo,.im-stage-label b{border:1px solid CanvasText;background:Canvas;color:CanvasText}.im-editorial::before,.im-stages::before,.im-corner{display:none}.im-workflow-heading,.im-workflow figcaption,.im-stage-label,.im-editorial figcaption{color:CanvasText}.im-trace{color:ButtonText;border:1px solid ButtonText;background:ButtonFace}.im-stage svg{forced-color-adjust:none}}
