/* Enterprise inference: post-trained models, dedicated serving and controlled releases. */
.inf-page{background:#fff;--inf-ink:#171717;--inf-muted:#797979;--inf-dark:#181818;--inf-white:#f6f6f6}
.inf-hero{height:auto;min-height:max(110svh,720px);background:#fff;position:relative;color:#fff}
.inf-hero-pin{position:sticky;top:0;min-height:max(100svh,650px);overflow:hidden}
.inf-hero-backdrop{position:absolute;inset:0;overflow:hidden;background:#252525}
.inf-hero-backdrop>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;transform:scale(var(--inf-hero-scale,1.035));will-change:transform}
.inf-hero-shade{position:absolute;inset:0;background:#0005}
.inf-hero-copy{position:relative;z-index:1;width:min(1280px,calc(100% - 112px));margin:auto;padding-top:clamp(155px,23svh,265px);padding-bottom:64px;transform:translateX(var(--hero-copy-shift,0px))}
.inf-hero-copy .eyebrow{margin-bottom:30px;color:#fff}
.inf-hero h1{font-size:clamp(64px,6.8vw,104px);line-height:1.01;letter-spacing:-.063em;max-width:760px;font-weight:400}
.inf-hero-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;max-width:470px;margin-top:27px;color:#ffffffe6;text-wrap:pretty}
.inf-hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}
.inf-text-link{display:flex;gap:19px;align-items:center;font-size:14px}

/* Each held scene carries its title, picture and explanation together. */
.inf-page{--inf-muted:#656565;--inf-dark:#161616}
.inf-page .eyebrow,.inf-text-link{font-size:14px}
.inf-hero-backdrop>picture{position:absolute;inset:0;display:block}
.inf-story{background:#fff;color:#191919;padding:92px 0;--inf-progress:1;--inf-reveal:1;--inf-ready:1;--inf-queue-ready:1}
.inf-track{position:relative}
.inf-pin{max-width:1180px;margin:auto;width:calc(100% - 112px)}
.inf-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:70px}
.inf-heading h2{font-size:clamp(40px,4.4vw,66px);line-height:1.08;letter-spacing:-.055em;font-weight:400}
.inf-heading h2 span{color:#777}
.inf-heading p{font-size:22px;line-height:1.4;max-width:420px;color:var(--inf-muted);padding-bottom:6px;text-wrap:pretty}
.inf-phases{margin-top:28px;max-width:710px;display:grid;gap:26px}
.inf-phases h3{font-size:30px;font-weight:400;line-height:1.14;letter-spacing:-.035em}
.inf-phases p{font-size:18px;color:var(--inf-muted);line-height:1.5;margin-top:8px;max-width:640px;text-wrap:pretty}
.inf-note{font-size:14px;line-height:1.5;color:var(--inf-muted);margin-top:18px}
.inf-story.is-pinned .inf-track{height:calc(var(--inf-pin-height) + var(--inf-distance))}
.inf-story.is-pinned .inf-pin{position:sticky;top:var(--inf-pin-top)}
.inf-story.is-pinned .inf-phases{position:relative;min-height:var(--inf-phase-height)}
.inf-story.is-pinned [data-inf-phase]{position:absolute;inset:0 auto auto 0;width:100%}
.inf-story.inf-measuring [data-inf-phase]{position:relative;grid-area:1/1;visibility:hidden}

.inf-inline-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;margin-top:22px}.inf-inline-link svg{width:18px}
.inf-context-bridge{width:min(1180px,calc(100% - 112px));margin:0 auto;padding:36px 0 96px}
.inf-context-bridge p{max-width:680px;font-size:22px;line-height:1.5;letter-spacing:-.015em}.inf-context-bridge strong{display:block;font-weight:400}.inf-context-bridge p>span{color:#656565}.inf-context-bridge a{font-size:16px;display:inline-flex;align-items:center;gap:18px;margin-top:24px}.inf-context-bridge a .arrow{transition:transform .25s}.inf-context-bridge a:hover .arrow{transform:translateX(4px)}
.inf-close{padding:90px 24px 105px;background:#f4f4f2;text-align:center}.inf-close .eyebrow{justify-content:center;color:#626262;margin-bottom:25px}.inf-close h2{font-size:clamp(44px,6vw,82px);line-height:1.05;letter-spacing:-.06em;font-weight:400}.inf-close-scope{font-size:18px;line-height:1.6;color:#626262;margin-top:24px}.inf-close .button{margin-top:30px}
@media(max-width:1100px){.inf-pin{width:calc(100% - 80px)}.inf-heading{gap:35px}.inf-heading h2{font-size:48px}.inf-heading p br{display:none}.inf-hero-copy{width:calc(100% - 80px)}.inf-context-bridge{width:calc(100% - 80px)}}
@media(max-width:760px){
 .inf-hero{min-height:max(110svh,650px)}.inf-hero-pin{min-height:max(100svh,590px)}.inf-hero-copy{width:calc(100% - 48px);padding-top:clamp(145px,20svh,190px)}.inf-hero h1{font-size:clamp(57px,12vw,81px)}.inf-hero-copy .eyebrow{margin-bottom:23px}.inf-hero-lede{font-size:16px;margin-top:24px}.inf-hero-actions{gap:22px;flex-wrap:wrap}.inf-hero-actions .button{font-size:14px;padding:12px 18px}.inf-hero-shade{background:#0006}
 .inf-story{padding:64px 0}.inf-pin{width:calc(100% - 44px)}.inf-heading{display:block}.inf-heading h2{font-size:clamp(34px,8.8vw,43px);line-height:1.05}.inf-heading p{font-size:16px;line-height:1.45;margin-top:16px;padding-bottom:0;max-width:470px}.inf-heading p br{display:none}
 .inf-phases{margin-top:23px;gap:24px}.inf-phases h3{font-size:22px}.inf-phases p{line-height:1.45;margin-top:7px}.inf-note{font-size:14px;margin-top:16px;line-height:1.4}.inf-inline-link{margin-top:17px}
 .inf-context-bridge{width:calc(100% - 44px);padding:18px 0 64px}.inf-context-bridge p{font-size:20px}.inf-close{padding:72px 24px 85px}.inf-close-scope{font-size:16px}.inf-close-scope br{display:none}
}
@media(max-width:359px){.inf-batch-card{width:86px}.inf-heading h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.inf-story{--inf-progress:1;--inf-reveal:1;--inf-ready:1}}
/* Ambient films share the existing player; copy and scroll framing remain separate. */
.inf-hero[data-ambient-hero] .cinema-poster,.inf-hero[data-ambient-hero] .inf-hero-backdrop>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--film-desktop-position,50% center);transform:none;will-change:auto}
.inf-hero[data-ambient-hero] .inf-hero-backdrop>video{opacity:0;transition:opacity .45s;pointer-events:none}
.inf-hero[data-ambient-hero] .inf-hero-backdrop>video.active{opacity:1}
@media(max-width:700px) and (orientation:portrait){.inf-hero[data-ambient-hero] .cinema-poster,.inf-hero[data-ambient-hero] .inf-hero-backdrop>video{object-position:var(--film-mobile-position,75% center)}}
@media(prefers-reduced-motion:reduce){.inf-hero[data-ambient-hero] .inf-hero-backdrop>video{display:none}}



@media(min-width:761px) and (max-height:800px){.inf-cost-curve{height:130px}.inf-cost .inf-phases{margin-top:22px}.inf-cost .inf-note{margin-top:14px}}

@media(max-width:760px){.inf-response-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;line-height:1.4}}

/* One post-trained model serves both interactive and concurrent requests. */
.inf-lane-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;font-size:14px;color:#6a6a6a;margin-top:26px}
.inf-lane-labels span:nth-child(2){text-align:center}.inf-lane-labels span:last-child{text-align:right}
.inf-serving-engine{position:relative;height:225px;margin-top:8px}
[data-inf-lanes=queue] .inf-request-group{transform:translateY(var(--inf-group-row));opacity:1}
[data-inf-lanes=queue] .inf-request-group.inf-group-primary{display:none}
.inf-serving-streams{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.inf-serving-lane>path{fill:none;stroke:#949494;stroke-width:5;vector-effect:non-scaling-stroke}
.inf-serving-lane>.inf-serving-packet{stroke:#333;stroke-width:4;stroke-dasharray:5 95;stroke-dashoffset:100;animation:inf-transmit 2.5s linear infinite paused;animation-delay:var(--inf-delay)}
.inf-serving-fan{transform:translateY(calc(var(--inf-bulk,1)*var(--inf-lane-offset)));opacity:var(--inf-bulk,1)}
.inf-serving-main{opacity:calc(1 - var(--inf-bulk,1))}
.inf-visible .inf-serving-packet{animation-play-state:running}
.inf-execution-plane{position:absolute;width:135px;height:192px;top:50%;left:50%;margin:-96px 0 0 -67.5px;perspective:900px}
.inf-runtime-back{position:absolute;inset:0;background:#949494;transform:translate(15px,-14px);box-shadow:0 25px 45px #00000014;border-radius:4px}
.inf-runtime-side{position:absolute;inset:0;background:#616161;transform:translate(8px,-7px);border-radius:4px}
.inf-runtime-face{position:absolute;inset:0;background:#232323;border-radius:4px;box-shadow:-10px 22px 34px #00000012;overflow:hidden}
.inf-runtime-face>.inf-runtime-slot{position:absolute;left:17px;right:17px;top:55%;height:6px;background:#545454;border-radius:1px;transform:translateY(calc(var(--inf-bulk,1)*var(--inf-slot-row)));opacity:var(--inf-bulk,1);overflow:hidden}
.inf-runtime-face>.inf-slot-main{opacity:calc(1 - var(--inf-bulk,1))}
.inf-runtime-slot::after{content:'';position:absolute;inset:1px 0;background:#ebebeb;transform:translateX(-100%);animation:inf-execute 2.5s linear infinite paused;animation-delay:var(--inf-delay)}
.inf-visible .inf-runtime-slot::after{animation-play-state:running}
.inf-request-group,.inf-result-group{position:absolute;top:50%;left:8%;display:flex;align-items:center;gap:6px;height:17px;margin-top:-8.5px;transform:translateY(calc(var(--inf-bulk,1)*var(--inf-group-row)));opacity:var(--inf-bulk,1)}
.inf-result-group{left:auto;right:6%;gap:7px;opacity:calc(var(--inf-bulk,1)*var(--inf-queue-ready,1))}
.inf-request-group.inf-group-primary{opacity:calc(1 - var(--inf-bulk,1))}
.inf-result-group.inf-group-primary{opacity:calc((1 - var(--inf-bulk,1))*var(--inf-output-ready,1))}
.inf-request-group>i{display:block;width:23px;height:13px;background:#888;border-radius:2px;box-shadow:0 2px 2px #0000000a}
.inf-request-group>i:nth-child(2){width:36px;background:#555}
.inf-request-group>i:nth-child(3){width:16px;background:#949494}
.inf-result-group>span{font-size:16px;color:#333;margin-right:2px;line-height:1}
.inf-result-group>i{display:block;width:36px;height:11px;background:#3c3c3c;border-radius:2px;box-shadow:0 2px 2px #0000000a}
.inf-result-group>i:last-child{width:18px;background:#888}
@keyframes inf-transmit{to{stroke-dashoffset:0}}
@keyframes inf-execute{0%,14%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
/* A tested model takes over from the running version. */
.inf-update{--inf-loop-selected:1;--inf-loop-updated:1;--inf-loop-draw:1}
.inf-learning-field{width:100%;max-width:1000px;height:310px;position:relative;margin:24px auto 0}
.inf-learning-orbit{position:absolute;width:100%;height:100%;inset:0;overflow:visible}
.inf-learning-orbit path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.inf-orbit-track{stroke:#d5d5d5}
.inf-orbit-draw{stroke:#333;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:calc((1 - var(--inf-loop-draw,1))*1px)}
.inf-orbit-signal{stroke:#171717;stroke-width:3;stroke-dasharray:.075 .925;stroke-dashoffset:1px;opacity:var(--inf-loop-selected,1);animation:inf-transmit 3s linear infinite paused;filter:drop-shadow(0 0 3px #0003)}
.inf-visible .inf-orbit-signal{animation-play-state:running}
.inf-release-card{position:absolute;top:54%;width:190px;transform:translate(-50%,-50%);text-align:center}
.inf-release-current{left:20%}.inf-release-next{left:80%}
.inf-model-face{color:#f4f4f4;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:18px;border-radius:20px;background:#292929;box-shadow:0 8px 18px -12px #0003,0 24px 44px -24px #0004}
.inf-model-face [data-inf-icon],.inf-release-mark{display:block;width:58px;height:58px}
.inf-model-face svg[data-hx-icon]{width:100%;height:100%}
.inf-model-name{display:flex;align-items:center;justify-content:center;min-height:2.5em;max-width:100%;font-size:22px;line-height:1.25;color:#f4f4f4;text-wrap:balance}
.inf-release-next .inf-model-face{background:#333;transform:translateY(calc((1 - var(--inf-loop-selected,1))*14px));box-shadow:0 8px 18px -12px #0003,0 24px 44px -24px #0004}
.inf-release-mark{position:relative;flex:none}.inf-release-mark [data-inf-icon]{position:absolute;inset:0}
.inf-release-training{opacity:calc(1 - var(--inf-loop-updated,1))}.inf-release-serving{opacity:var(--inf-loop-updated,1)}
.inf-version-status{display:grid;min-height:26px;margin-top:16px;font-size:18px;line-height:1.4;color:#656565}
.inf-version-status>span{grid-area:1/1;transition:opacity .2s}
.inf-version-status>span:first-child{opacity:calc(1 - var(--inf-loop-updated,1))}.inf-version-status>span:last-child{opacity:var(--inf-loop-updated,1)}
.inf-release-checks{position:absolute;left:0;right:0;top:0;display:flex;justify-content:center;gap:32px;font-size:18px;line-height:1.4;color:#656565}
.inf-release-checks>span{display:flex;align-items:center;gap:8px}
.inf-release-checks i{font-style:normal;color:#191919;display:inline-block;width:17px}
@media(min-width:761px) and (max-height:800px){.inf-serving-engine{height:190px}.inf-learning-field{height:280px;margin-top:20px}.inf-update .inf-phases{margin-top:18px}}
@media(max-width:760px){
 .inf-lane-labels{font-size:14px;line-height:1.35;margin-top:20px}
 .inf-execution-plane{width:84px;height:131px;margin:-65.5px 0 0 -42px}
 .inf-runtime-back{transform:translate(9px,-9px)}.inf-runtime-side{transform:translate(5px,-5px)}
 .inf-runtime-face>.inf-runtime-slot{left:10px;right:10px;height:4px;transform:translateY(calc(var(--inf-bulk,1)*var(--inf-slot-row)*.65))}
 .inf-serving-lane>path{stroke-width:4}.inf-serving-lane>.inf-serving-packet{stroke-width:3}
 .inf-request-group{left:2%;gap:4px}.inf-request-group>i{width:12px;height:10px}.inf-request-group>i:nth-child(2){width:19px}.inf-request-group>i:nth-child(3){width:9px}
 .inf-result-group{right:0;gap:4px}.inf-result-group>i{width:21px;height:9px}.inf-result-group>i:last-child{width:11px}.inf-result-group>span{font-size:14px;margin-right:1px}
 .inf-request-group,.inf-result-group{transform:translateY(calc(var(--inf-bulk,1)*var(--inf-group-row)*.8))}
 .inf-learning-field{height:266px;margin-top:24px}
 .inf-release-card{width:126px;top:58%}.inf-release-current{left:21%}.inf-release-next{left:79%}
 .inf-model-face{height:142px;border-radius:15px;gap:12px;padding:14px}
 .inf-model-face [data-inf-icon],.inf-release-mark{width:42px;height:42px}
 .inf-model-name{font-size:18px}
 .inf-version-status{font-size:16px;margin-top:12px;min-height:44px;line-height:1.35}
 .inf-release-checks{font-size:16px;gap:16px}.inf-release-checks>span{gap:4px}
}
@media(max-width:359px){.inf-release-card{width:112px}.inf-release-checks{gap:10px}.inf-model-name{font-size:16px}}
@media(prefers-reduced-motion:reduce){.inf-serving-packet,.inf-orbit-signal{display:none}.inf-runtime-slot::after{animation:none}.inf-release-next .inf-model-face{transform:none}}

/* Solid surfaces and one visual per scroll chapter. */
.inf-serve{--inf-serving:1;--inf-bulk:1;--inf-output-ready:1;--inf-queue-ready:1}
.inf-serve-field{position:relative;margin-top:6px}
.inf-serve-field .inf-serving-engine{height:250px}
.inf-card{position:relative;margin:12px auto 0;max-width:1000px;padding:40px 0 40px;color:#1a1a1a}
.inf-card svg{display:block;width:100%;height:auto;aspect-ratio:1000/320;max-height:270px;margin:auto;overflow:visible}
.inf-card svg *{vector-effect:non-scaling-stroke}
.inf-cost{background:#171717;color:#f5f5f5;--inf-muted:#b8b8b8}
.inf-cost .inf-heading h2 span{color:#b8b8b8}
.inf-cost-card{color:#f5f5f5}
.inf-cost-card svg{height:270px;aspect-ratio:auto}
.inf-cost .inf-tag,.inf-cost .inf-bar-labels{color:#c6c6c6}
.inf-tag,.inf-axis{position:absolute;font-size:15px;line-height:1.3;white-space:nowrap}
.inf-tag{color:#191919}
.inf-axis{color:#666}
.inf-tag-quality{left:0;top:0}
.inf-bar-labels{position:absolute;left:10%;right:10%;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:16px;color:#666;text-align:center}.inf-bar-labels span{min-width:0;padding:0 6px;overflow-wrap:anywhere}
.inf-note{margin-top:22px}
.inf-deploy{background:#fff;color:#191919;padding:96px 0 90px}
.inf-deploy>.inf-pin{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.inf-deploy .inf-heading{display:block}.inf-deploy .inf-heading h2{font-size:clamp(40px,4vw,56px)}.inf-deploy .inf-heading p{font-size:18px;margin-top:24px;max-width:380px;padding:0}.inf-deploy-tags{list-style:none;margin:0;padding:0;display:grid;gap:32px}
.inf-deploy-tags li{font-size:24px;line-height:1.3;letter-spacing:-.025em}
.inf-inline-link{margin-top:18px}
.inf-cost .inf-heading h2{font-size:clamp(40px,4.6vw,66px)}
@media(min-width:761px) and (max-height:800px){.inf-card svg{max-height:200px}.inf-serve-field .inf-serving-engine{height:200px}.inf-card{padding-bottom:40px}.inf-cost .inf-phases{margin-top:22px}.inf-note{margin-top:14px}}
@media(max-width:760px){
 .inf-heading h2{font-size:clamp(36px,9.6vw,44px);line-height:1.04}.inf-heading p{font-size:18px;margin-top:14px}
 .inf-serve-field .inf-serving-engine{height:200px}
 .inf-card{padding:30px 0 34px;margin-top:8px}.inf-card svg{max-height:190px}
 .inf-tag,.inf-axis{font-size:14px}.inf-tag-quality{left:0;top:0}
 .inf-bar-labels{position:static;padding:0 10%;margin-top:8px;line-height:1.35}
 .inf-bar-labels span{overflow-wrap:normal}
 .inf-cost-card{padding-bottom:0}
 .inf-phases h3{font-size:26px}.inf-phases p{font-size:16px}
 .inf-deploy{padding:64px 0 48px}.inf-deploy>.inf-pin{display:block}.inf-deploy .inf-heading h2{font-size:38px}.inf-deploy .inf-heading p{font-size:18px;margin-top:20px}.inf-deploy-tags{gap:28px;margin-top:36px}.inf-deploy-tags li{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.inf-serve{--inf-serving:1;--inf-bulk:1;--inf-output-ready:1;--inf-queue-ready:1}}

/* The changing caption sits beside the heading, where it is read. */
.inf-heading .inf-phases{margin:0;max-width:440px;align-self:end}
.inf-heading .inf-phases h3{font-size:30px}
@media(max-width:760px){.inf-heading .inf-phases{margin-top:14px;max-width:none}.inf-heading .inf-phases h3{font-size:26px}}

/* The artifact and its caption remain inside the measured scene. */
.inf-lane-labels{font-size:18px;line-height:1.35}
.inf-runtime-face{border-radius:12px}
.inf-runtime-back,.inf-runtime-side{border-radius:12px}
.inf-runtime-face [data-inf-icon]{position:absolute;left:50%;top:30px;width:50px;height:50px;transform:translateX(-50%);color:#f3f3f3}
.inf-runtime-face svg[data-hx-icon]{width:100%;height:100%}
.inf-trained-mark{opacity:calc(1 - var(--inf-serving,1))}.inf-served-mark{opacity:var(--inf-serving,1)}
.inf-runtime-face>.inf-runtime-slot{top:68%}
.inf-tag,.inf-bar-labels,.inf-inline-link,.inf-note{font-size:16px}
.inf-bar-labels{line-height:1.4}
.inf-deploy-tags li{display:flex;align-items:center;gap:22px}
.inf-deploy-tags [data-inf-icon]{display:block;width:32px;height:32px;flex:none}
.inf-deploy-tags svg[data-hx-icon]{width:100%;height:100%}
@media(min-width:761px) and (max-height:760px){
 .inf-heading{grid-template-columns:1.2fr 1fr;gap:48px}
 .inf-heading h2,.inf-cost .inf-heading h2{font-size:clamp(40px,3.7vw,54px);line-height:1.04}
 .inf-heading .inf-phases h3{font-size:27px}
 .inf-heading .inf-phases p{font-size:18px;margin-top:9px}
 .inf-serve-field .inf-serving-engine{height:210px}
 .inf-learning-field{height:264px;margin-top:18px}
 .inf-model-face{height:166px}.inf-release-card{width:170px}
 .inf-model-face [data-inf-icon],.inf-release-mark{width:48px;height:48px}
 .inf-card{padding-top:32px;padding-bottom:34px;margin-top:8px}.inf-card svg{max-height:170px}
 .inf-lane-labels{margin-top:22px}
}
@media(max-width:760px){
 .inf-lane-labels{font-size:16px;margin-top:24px;grid-template-columns:1fr 1fr 1fr;gap:12px}
 .inf-runtime-face [data-inf-icon]{width:34px;height:34px;top:16px}
 .inf-tag{white-space:normal;max-width:100%;line-height:1.4}
 .inf-cost-card{padding-top:28px}.inf-cost-card svg{height:180px;max-height:180px}
 .inf-note{font-size:16px;margin-top:16px}
 .inf-cost .inf-note{margin-top:12px}
}

/* Static geometry uses the same model-face center as the scroll controller. */
.inf-update:not([data-inf-mode]) .inf-learning-orbit{top:calc(54% - 21px);height:1px}
@media(max-width:760px){.inf-update:not([data-inf-mode]) .inf-learning-orbit{top:calc(58% - 28px)}}
