/* Artwork is present in HTML before either animation engine starts. */
[hidden]{display:none!important}
.scene-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}
[data-hero-scene] canvas{visibility:hidden}
[data-hero-scene][data-scene-ready=true] canvas{visibility:visible}
[data-hero-scene][data-scene-ready=true] .scene-poster{visibility:hidden}
/* The live subpage starts in the poster pose. A short dissolve hides only
   the small raster/WebGL lighting difference, with no shape reset. */
[data-hero-scene][data-scene-loop=true] .scene-poster{transition:opacity .3s ease;opacity:1}
[data-hero-scene][data-scene-loop=true] canvas{opacity:0;transition:opacity .3s ease}
[data-hero-scene][data-scene-loop=true][data-scene-ready=true] .scene-poster{visibility:visible;opacity:0}
[data-hero-scene][data-scene-loop=true][data-scene-ready=true] canvas{opacity:1}
.scene-caption{position:absolute;bottom:66px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:15px;font-size:8px;font-weight:500;letter-spacing:.15em;color:#9eb4c5;pointer-events:none;z-index:2;text-align:center}
.scene-caption>span{color:var(--gold);letter-spacing:0}
.hero-art.scene-brand .scene-caption{bottom:83px}
.inner-hero{position:relative;isolation:isolate;overflow:hidden}
.inner-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px}
.inner-hero-grid>.hero-art{width:100%;height:480px;margin:0;justify-self:center}
.inner-hero-grid .art-orbit{inset:17% 8%}
.inner-hero-grid .scene-caption{bottom:40px;font-size:8px}
.inner-hero-grid .replay{bottom:-2px;right:10px}
.product-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:40px;align-items:center}
.product-hero .hero-lead{max-width:680px}
.diagram-stage{position:relative;isolation:isolate;width:100%;min-width:0;aspect-ratio:560/480}
.diagram-poster,.diagram-live{position:absolute;inset:0;width:100%;height:calc(100% - 40px);object-fit:contain}
.diagram-live{display:none}
.diagram-live svg{display:block;width:100%;height:100%;overflow:visible}
.diagram-stage[data-diagram-ready=true] .diagram-live{display:block}
.diagram-stage[data-diagram-ready=true] .diagram-poster{visibility:hidden}
.diagram-stage .scene-caption{bottom:21px;font-size:8px}
.diagram-stage .replay{bottom:-27px;right:8px}
.diagram-stage[data-animate=true] [data-piece]{animation:fu-piece 1.4s cubic-bezier(.19,1,.22,1) both;animation-delay:calc(var(--i)*130ms);transform-box:fill-box;transform-origin:center}
.diagram-stage[data-animate=true] .diagram-trace{animation:fu-trace 1.7s ease-out both;animation-delay:.4s}
.diagram-stage[data-in-view=false] [data-piece],.diagram-stage[data-in-view=false] .diagram-trace{animation-play-state:paused}
@keyframes fu-piece{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fu-trace{from{opacity:0;stroke-dasharray:0 1100}to{opacity:1}}
.policy-hero{position:relative;padding-right:205px;min-height:225px}
.policy-hero .diagram-stage{position:absolute;right:-18px;top:8px;width:220px;aspect-ratio:560/440;opacity:.8}
.policy-hero .diagram-poster,.policy-hero .diagram-live{height:100%}
.policy-hero h1{font-size:clamp(32px,4vw,49px)}
/* Slowly moving light and sparse routes stay beneath text and artwork. */
.ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.ambient-network{position:absolute;inset:0;width:100%;height:100%;display:block;mask-image:linear-gradient(90deg,#0009,#000 30%,#000 70%,#0009);opacity:.95}
.network-panel{position:relative;isolation:isolate}
.ambient-panel{--network-surface:dark;opacity:.52}
body[data-theme=porcelain] .ambient-panel,body[data-theme=cobalt] .ambient-panel{--network-surface:light}
body[data-theme=porcelain] .ai-section>.ambient-panel,body[data-theme=cobalt] .ai-section>.ambient-panel,body[data-theme=cobalt] .closing-note>.ambient-panel{--network-surface:dark}
body[data-theme=cobalt] .process>.ambient-panel{--network-surface:cobalt}
.legal-page .ambient-panel{opacity:.34}
.ambient-wash{position:absolute;width:min(850px,85vw);height:700px;border-radius:50%;opacity:.65;will-change:transform}
.wash-cyan{right:-8%;top:-15%;background:radial-gradient(ellipse,#347c9834,transparent 68%);transform:translate3d(0,0,0)}
.wash-gold{width:700px;height:600px;right:24%;top:23%;background:radial-gradient(ellipse,#bf863b17,transparent 68%)}
.ambient-routes{position:absolute;right:0;top:0;width:100%;height:100%;color:#80bad2;opacity:.12;mask-image:linear-gradient(90deg,transparent 20%,#000 80%)}
.ambient-signals{opacity:0}
html[data-motion-enabled=true] .wash-cyan{animation:fu-drift 23s ease-in-out infinite alternate}
html[data-motion-enabled=true] .wash-gold{animation:fu-drift 29s ease-in-out -8s infinite alternate-reverse}
html[data-motion-enabled=true] .ambient-signals{opacity:.8;animation:fu-signal 19s linear infinite}
html[data-motion-enabled=true] .ambient[data-in-view=false] *,html[data-page-visible=false] .ambient *,html[data-motion-paused=true] .ambient *{animation-play-state:paused!important}
html[data-page-visible=false] .diagram-stage *{animation-play-state:paused!important}
@keyframes fu-drift{to{transform:translate3d(-80px,38px,0) scale(1.15)}}
@keyframes fu-signal{to{stroke-dashoffset:-1807}}
.motion-control{position:relative;flex-shrink:0;margin-left:auto;display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:10px 15px;border:1px solid #486071;border-radius:24px;background:#0c1927f5;color:#c3d0d8;font-size:10px;line-height:1.3;letter-spacing:.015em}
.motion-control:hover{border-color:var(--gold);color:var(--text)}
.motion-control svg{width:12px;height:12px;color:var(--gold)}
.motion-control .play-icon{display:none}
.motion-control[aria-pressed=true] .pause-icon{display:none}
.motion-control[aria-pressed=true] .play-icon{display:block}
.motion-control:disabled{cursor:default;color:#94a6b5;border-color:#304353}
footer{position:relative;isolation:isolate;overflow:hidden}
footer .ambient{opacity:.5}
footer .ambient:has(.ambient-network){opacity:.8}
.experience-archive{padding:0 0 90px;border-bottom:1px solid var(--line)}
.archive-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;padding-top:45px;border-top:1px solid var(--line)}
.archive-layout h2{font-size:30px;max-width:370px;line-height:1.2;letter-spacing:-.035em}
.archive-layout p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 24px;max-width:590px}
.archive-index summary,.archive-screenshot summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;font-size:12px;min-height:48px;padding:15px 0;border-top:1px solid var(--line);color:#cfdae1}
.archive-index summary::-webkit-details-marker,.archive-screenshot summary::-webkit-details-marker{display:none}
.archive-index summary:hover,.archive-screenshot summary:hover{color:var(--gold)}
.archive-index summary>span{font-size:9px;color:#7993a6;border:1px solid var(--line);padding:3px 5px}
.archive-index summary>b,.archive-screenshot summary>span{margin-left:auto;font-size:21px;color:var(--gold);font-weight:400}
.archive-index[open] summary>b,.archive-screenshot[open] summary>span{transform:rotate(45deg)}
.archive-index summary:focus-visible,.archive-screenshot summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.archive-index>.archive-disclosure{gap:14px;min-height:72px;padding:18px 22px;border:1px solid var(--archive-control-border,#9ebed759);border-radius:var(--archive-control-radius,7px);background:var(--archive-control-bg,#9bd9ec08);font-size:16px;font-weight:600;line-height:1.5;transition:border-color .2s,background-color .2s,color .2s}
.archive-index>.archive-disclosure:hover{border-color:var(--gold);background:var(--archive-control-hover,#9bd9ec10)}
.archive-index[open]>.archive-disclosure{border-color:var(--gold)}
.archive-index>.archive-disclosure>.archive-count{flex-shrink:0;margin-left:auto;padding:4px 8px;border:1px solid var(--archive-control-border,#9ebed759);border-radius:4px;font-size:10px;font-weight:400;line-height:1.5;white-space:nowrap;color:var(--muted)}
.archive-index>.archive-disclosure>.archive-toggle{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;margin-left:0;border:1px solid var(--archive-control-border,#9ebed759);border-radius:50%;background:var(--archive-control-icon,#efb4660c);font-size:23px;line-height:1;transition:transform .2s}
body[data-theme=porcelain] .archive-index{--archive-control-border:#708b9b70;--archive-control-bg:#edf1f0;--archive-control-hover:#e4ecec;--archive-control-icon:#d4b08020;--archive-control-radius:10px}
body[data-theme=cobalt] .archive-index{--archive-control-border:#153fe066;--archive-control-bg:#eef0fa;--archive-control-hover:#e4e9fb;--archive-control-icon:#153fe00d;--archive-control-radius:3px}
@media(max-width:640px){.archive-index>.archive-disclosure{min-height:66px;padding:16px 18px;font-size:14px;gap:12px}.archive-index>.archive-disclosure>.archive-count{display:none}.archive-index>.archive-disclosure>.archive-toggle{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.archive-index>.archive-disclosure,.archive-index>.archive-disclosure>.archive-toggle{transition:none}}
.archive-links a{display:grid;grid-template-columns:135px 1fr 15px;gap:18px;padding:20px 0;border-top:1px solid #ffffff0d;align-items:center}
.archive-links strong{font-weight:500;font-size:14px;color:#d8e1e7}
.archive-links span{font-size:11px;color:var(--muted)}
.archive-links i{font-style:normal;color:var(--gold)}
.archive-links a:hover strong{color:var(--gold)}
.archive-notice{border-left:2px solid #506674;padding-left:17px;max-width:580px;font-size:12px;line-height:1.8;color:#9baebb;margin:0 0 25px}
.archive-screenshot{margin:60px auto 0;max-width:1080px}
.archive-screenshot .product-window.large{margin:16px 0 0}
.archive-detail-heading{margin-bottom:45px}
.archive-detail-heading h2{font-size:34px}
@media(max-width:900px){.archive-layout{gap:40px}.archive-layout h2{font-size:26px}.archive-links a{grid-template-columns:120px 1fr 12px;gap:10px}}
@media(max-width:640px){.experience-archive{padding-bottom:60px}.archive-layout{grid-template-columns:1fr;gap:4px;padding-top:35px}.archive-layout h2{font-size:29px}.archive-layout p:not(.eyebrow){font-size:13px}.archive-links a{grid-template-columns:1fr 18px;gap:8px}.archive-links span{grid-column:1;grid-row:2}.archive-links i{grid-column:2;grid-row:1/3}.archive-screenshot{margin-top:60px}.archive-screenshot summary{font-size:11px;gap:15px}}
@media(min-width:1500px){.inner-hero-grid>.hero-art{height:530px}}
@media(max-width:1150px){.inner-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}.inner-hero-grid>.hero-art{height:400px}.product-hero-grid{gap:15px}.scene-caption{letter-spacing:.1em}.diagram-stage .scene-caption{font-size:7px}}
@media(max-width:900px){.product-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.inner-hero-grid>.hero-art{height:365px}.inner-hero-grid .scene-caption{font-size:6px;gap:8px}.product-hero h1{font-size:42px}.product-hero-grid .hero-lead{font-size:13px}.diagram-stage .scene-caption{font-size:6px;gap:7px}}
@media(max-width:640px){.inner-hero-grid{gap:12px}.inner-hero-grid>.hero-art{height:355px;max-width:430px;align-self:center}.inner-hero-grid .scene-caption{font-size:8px}.product-hero-grid{grid-template-columns:1fr;gap:25px}.diagram-stage{max-width:430px;margin:auto}.diagram-stage .scene-caption{font-size:8px}.diagram-stage .replay{bottom:-20px}.product-window.large{margin-top:70px}.motion-control{right:12px;bottom:12px;min-height:42px;padding:10px 13px;font-size:9px}.policy-hero{padding-right:0}.policy-hero .diagram-stage{position:relative;top:auto;right:auto;width:165px;margin:0 0 12px -22px}.policy-hero h1{font-size:35px}.ambient-wash{opacity:.5}.ambient-routes{opacity:.1;mask-image:linear-gradient(180deg,transparent,#000)}.scene-caption{font-size:8px}.hero-art.scene-brand .scene-caption{bottom:61px}.inner-hero-grid .replay{bottom:0}.wash-cyan{right:-25%}footer{padding-bottom:85px}}
@media(max-width:360px){.inner-hero-grid>.hero-art{height:325px}.inner-hero-grid .scene-caption,.diagram-stage .scene-caption{font-size:6.5px}.product-hero h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.ambient *,.diagram-stage *{animation:none!important}.ambient-wash{will-change:auto}.diagram-stage .diagram-live,[data-hero-scene] canvas{display:none!important}.diagram-stage .diagram-poster,[data-hero-scene] .scene-poster{visibility:visible!important;opacity:1!important;transition:none!important}.replay{display:none!important}}
@media print{.ambient,.motion-control,.diagram-stage,.scene-caption{display:none}.policy-hero{padding-right:0;min-height:0}}

@media(max-width:1150px){.header-inner{gap:18px}.motion-control{width:40px;height:40px;padding:10px}.motion-control [data-motion-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:640px){.header-inner{gap:12px}.motion-control{right:auto;bottom:auto;width:42px;height:42px;padding:10px}.motion-control svg{width:13px;height:13px}footer{padding-bottom:26px}}

/* The archive and legal pages use the same 3D lifecycle as the main offer. */
.product-hero-grid>.hero-art{width:100%;height:480px;margin:0}
.product-hero-grid .scene-caption{bottom:45px}
.product-hero-grid .replay{bottom:0}
.policy-hero .hero-art{position:absolute;top:0;right:-20px;width:230px;height:240px;margin:0}
.policy-hero .hero-art .scene-caption,.policy-hero .hero-art .art-orbit,.policy-hero .hero-art .replay{display:none}
.modernization-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:28px 0 0;padding:0}
.flow-step{padding-top:15px;min-width:0}
.flow-step>span{display:block;font-size:9px;opacity:.65;margin-bottom:7px;letter-spacing:.08em}
.flow-step>strong{display:block;font-size:10px;line-height:1.6;font-weight:500;overflow-wrap:anywhere}
@media(max-width:900px){.product-hero-grid>.hero-art{height:370px}.modernization-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.product-hero-grid>.hero-art{height:355px;max-width:430px;margin:auto}.policy-hero .hero-art{position:relative;top:auto;right:auto;width:175px;height:180px;margin:0 0 15px -15px}.modernization-flow{gap:16px}.flow-step>strong{font-size:11px}}
@media print{.hero-art{display:none}.modernization-flow{grid-template-columns:repeat(4,1fr)}}
.feature-grid>article:last-child:nth-child(odd){grid-column:1/-1}
.application-ai-note{border-left:2px solid var(--gold);padding-left:20px;line-height:1.85}
footer .ai-disclosure{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
