/* Shared geometry for the complete presentation. Illustrations and pill controls
   keep their own shape; every content panel uses the same radius and grid. */
#presentation{
 --panel-radius:24px;
 --panel-gap:16px;
 --panel-inset:24px;
 --section-gap:24px;
 --text-gap:16px;
 --step-inset:16px;
}
@media(min-width:701px) and (max-height:800px){
 #presentation{--panel-inset:20px;--section-gap:24px}
}
@media(max-width:700px){
 #presentation .doc-cover h1{font-size:clamp(32px,11.5vw,45px)}
 #presentation{--panel-gap:12px;--panel-inset:16px;--step-inset:12px}
}

#presentation .doc-deck :is(
 .doc-cards>article,.doc-competencies>article,.business-modules>article,
 .doc-product-bases>article,.enterprise-cases>article,.doc-partners>article,
 .doc-joint,.doc-metrics,.doc-band,.doc-documents,.doc-event,
 .arteki-gallery,.neuro-render,.doc-hw-products,.category-product,
 .doc-hw-stages>article,.doc-launch-list>article,.doc-funding,
 .doc-service-layout>div:first-child,.doc-investment-grid>div:first-child,
 .mini-flow>span,.neuro-stages>span
){border-radius:var(--panel-radius)}

#presentation .doc-deck :is(
 .doc-cards>article,.doc-competencies>article,.business-modules>article,
 .doc-product-bases>article,.enterprise-cases>article,.doc-partners>article,
 .doc-joint,.doc-metrics,.doc-band,.doc-documents,.doc-hw-products,
 .category-product,.doc-launch-list>article,.doc-funding,
 .doc-service-layout>div:first-child,.doc-investment-grid>div:first-child
){padding:var(--panel-inset)}

#presentation .doc-deck :is(
 .doc-cards,.doc-competencies,.business-modules,.doc-product-bases,
 .enterprise-cases,.doc-partners,.doc-atom-layout,.doc-media-layout,
 .doc-case-layout,.neuro-demo,.doc-hardware-program,.doc-service-layout,
 .doc-investment-grid,.doc-economics,.doc-two-notes,.doc-launch-list,
 .doc-hw-stages,.category-products,.mini-flow,.neuro-stages,.doc-band
){gap:var(--panel-gap)}

#presentation .doc-deck .section-heading{margin-bottom:var(--section-gap)}
#presentation .doc-deck .section-heading .lead{margin-top:var(--text-gap)}
#presentation .doc-deck .doc-band{margin-top:var(--section-gap)}
#presentation .doc-deck :is(.mini-flow,.neuro-stages){margin:var(--panel-gap) 0 0}
#presentation .doc-deck :is(.mini-flow>span,.neuro-stages>span,.doc-hw-stages>article){padding:var(--step-inset)}
#presentation .doc-deck .doc-hw-stages{gap:var(--panel-gap)}
#presentation .doc-deck :is(.doc-cards,.doc-product-bases,.doc-partners,.doc-case-copy,.doc-media-copy,.doc-economics-points) h3{margin-bottom:var(--text-gap)}
#presentation .doc-deck .doc-cards .doc-index{margin-bottom:var(--text-gap)}
#presentation .doc-deck .doc-cards article>strong{padding-top:var(--text-gap)}
#presentation .doc-deck .doc-case-copy>p{margin-bottom:var(--section-gap)}
#presentation .doc-deck .doc-two-notes{margin-top:var(--section-gap);padding-top:var(--section-gap)}
#presentation .doc-deck .doc-media-copy{padding-right:0}
#presentation .doc-deck .doc-media-visual>p{margin-top:var(--text-gap)}
#presentation .doc-deck .doc-event-top{padding:var(--panel-inset);gap:var(--panel-gap)}
#presentation .doc-deck .doc-event-meta{padding:var(--panel-inset);gap:8px}
#presentation .doc-deck .doc-paper{border-radius:12px;padding:var(--step-inset)}
#presentation .doc-deck .doc-product-logo{margin-bottom:var(--section-gap)}
#presentation .doc-deck .doc-tabs{margin-bottom:var(--section-gap);gap:8px}
#presentation .doc-deck :is(.category-tabs,.recommend-tabs){gap:8px;margin-bottom:var(--text-gap)}
#presentation .doc-deck .doc-hw-experience{margin-top:var(--text-gap)}
#presentation .doc-deck .category-products{margin-top:0}
#presentation .doc-deck .category-product h4{margin:var(--text-gap) 0 0;padding:0}
#presentation .doc-deck .doc-owned{gap:var(--panel-gap);margin-bottom:var(--text-gap)}
#presentation .doc-deck .doc-economics-points{gap:var(--section-gap)}
#presentation .doc-deck .doc-economics-points article:not(:first-child){padding-top:var(--section-gap)}
#presentation .doc-deck .doc-appendix-link{margin-top:var(--section-gap)}
/* Reserve one stable area for all Hardware tabs, including catalogue padding. */
#presentation .doc-hardware{overflow-anchor:none}
#presentation .hardware-panels{height:400px}
@media(min-width:701px) and (max-height:800px){#presentation .hardware-panels{height:340px}}

/* The partnership diagram and its three steps share exactly the same tracks. */
#presentation #company :is(.doc-partners,.slide-inner>.mini-flow){
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--panel-gap);
}
#presentation #company .doc-partners>*{min-width:0;display:flex;flex-direction:column}
#presentation #company :is(.doc-partners>article>img,.doc-rwb,.doc-joint>div:first-child){
 height:56px;min-height:56px;margin:0 0 var(--section-gap);
}
#presentation #company .doc-partners>article>img{object-fit:contain;object-position:left center}
#presentation #company .doc-rwb{display:flex;align-items:center}
#presentation #company .doc-joint{align-items:flex-start;text-align:left}
#presentation #company .doc-joint>div:first-child{align-items:center;justify-content:flex-start}
#presentation #company .doc-partners p{font-size:clamp(16px,1.25vw,18px);line-height:1.45;text-align:left;max-width:none}
#presentation #company .doc-partners h3{
 font-size:26px;line-height:1.16;min-height:calc(2 * 1.16em);margin:0 0 var(--text-gap);
}
#presentation #company .doc-joint .core-bars{margin-top:var(--section-gap)}
#presentation #company .slide-inner>.mini-flow{margin-top:var(--panel-gap)}
#presentation #company .slide-inner>.mini-flow>span{padding:var(--panel-inset);min-height:72px}

@media(min-width:701px) and (max-width:1100px){
 #presentation .doc-deck .doc-competencies{grid-template-columns:repeat(2,minmax(0,1fr))}
 #presentation .doc-deck :is(.doc-case-copy,.enterprise-cases,.doc-funding,.doc-media-visual) .mini-flow{display:grid;grid-template-columns:1fr}
 #presentation .hardware-panels,#presentation .hardware-panel,#presentation .doc-hardware-program{height:auto}
 #presentation #company .doc-partners h3{min-height:calc(3 * 1.16em)}
}

@media(max-width:700px){
 #presentation .hardware-panels{height:auto}
 #presentation .doc-deck .mini-flow{display:grid;grid-template-columns:1fr}
 #presentation .doc-deck .mini-flow>span{min-height:56px;padding:var(--panel-inset)}
 #presentation .doc-deck .doc-competencies h3{font-size:clamp(17px,4.7vw,20px)}
 #presentation #company :is(.doc-partners,.slide-inner>.mini-flow){grid-template-columns:1fr}
 #presentation #company .doc-partners h3{min-height:0}
 #presentation #company .doc-partners>*{padding:var(--panel-inset)}
 #presentation .doc-deck .doc-band{gap:var(--text-gap)}
#presentation .doc-deck .doc-catalog-caption{margin-top:var(--text-gap)}
}

/* Strategic programme: shared card geometry, large forms and restrained motion. */
#presentation .mission-grid,#presentation .infrastructure-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--panel-gap)}
#presentation :is(.mission-statement,.platform-model,.platform-compute,.compute-visual){border-radius:var(--panel-radius);padding:var(--panel-inset);min-width:0;overflow:hidden;position:relative}
#presentation .mission-statement{background:linear-gradient(135deg,#7303fa,#46137c);color:#fff;display:flex;flex-direction:column;min-height:320px}
#presentation .mission-statement>span{color:#e2c6f6;font-size:16px}
#presentation .mission-statement h3{font-size:clamp(30px,3.1vw,48px);line-height:1.1;margin:var(--section-gap) 0}
#presentation .mission-signal{display:flex;align-items:center;gap:8px;height:80px;margin-top:auto}
#presentation .mission-signal i{height:32%;flex:1;max-width:22px;background:#eca4ee;border-radius:999px;animation:strategySignal 4s ease-in-out infinite;transform-origin:center}
#presentation .mission-signal i:nth-child(3n){height:72%;animation-delay:-1.7s}
#presentation .mission-signal i:nth-child(3n + 1){height:48%;animation-delay:-.6s}
#presentation :is(.mission-cards,.infra-cards){grid-template-columns:1fr;height:100%}
#presentation :is(.mission-cards,.infra-cards) article{display:grid;grid-template-columns:24px 1fr;column-gap:var(--text-gap);align-content:center}
#presentation :is(.mission-cards,.infra-cards) .doc-index{grid-row:1/3;padding-top:5px}
#presentation :is(.mission-cards,.infra-cards) h3{font-size:24px;margin-bottom:8px}
#presentation :is(.mission-cards,.infra-cards) p{grid-column:2;font-size:17px}
#presentation .platform-foundation{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--panel-gap)}
#presentation .platform-model{background:linear-gradient(125deg,#7303fa,#8328b1);color:white}
#presentation .platform-model>div{display:flex;align-items:center;gap:16px;margin-bottom:var(--section-gap)}
#presentation .platform-model svg{width:76px;height:auto}
#presentation .platform-model svg path{fill:#fff}
#presentation .platform-model>div>strong{font-weight:400;font-size:35px}
#presentation .platform-model h3{margin-bottom:12px}
#presentation .platform-model p{color:#efdcfa}
#presentation .platform-compute{background:#27222e;display:flex;flex-direction:column}
#presentation .platform-compute>span{color:#cfc0d9;font-size:16px;margin-bottom:var(--text-gap)}
#presentation .platform-compute h3{margin-bottom:12px}
#presentation .compute-lines{display:flex;gap:8px;margin-top:var(--section-gap)}
#presentation .compute-lines i{height:8px;flex:1;border-radius:999px;background:#7f48b1;animation:strategyCompute 4s ease-in-out infinite}
#presentation .compute-lines i:nth-child(2n){animation-delay:-1.4s}
#presentation .compute-lines i:nth-child(3n){animation-delay:-2.8s}
#presentation .platform-connectors{height:28px;display:grid;grid-template-columns:repeat(3,1fr)}
#presentation .platform-connectors i{height:100%;width:2px;margin:auto;background:linear-gradient(#a657ed,#a657ed22);position:relative;overflow:hidden}
#presentation .platform-connectors i::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#f9b4f0,transparent);animation:strategyFlow 2.8s ease-in-out infinite}
#presentation .platform-connectors i:nth-child(2)::after{animation-delay:-.9s}
#presentation .platform-connectors i:nth-child(3)::after{animation-delay:-1.8s}
#presentation .strategy-platform .doc-cards>article{min-height:190px}
#presentation .strategy-platform .doc-cards>article>strong{color:#d99eff}
#presentation .strategy-platform .doc-cards .step-active,#presentation .infra-cards .step-active{background:#482064;border-color:#c77ff3}
#presentation .compute-visual{background:radial-gradient(ellipse at 50% 95%,#7030ae45,transparent 70%),#25202c;display:flex;flex-direction:column;justify-content:space-between}
#presentation .compute-visual>span{color:#d8c5e4;font-size:18px}
#presentation .server-racks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px 0;perspective:800px}
#presentation .server-rack{padding:12px 8px;border:1px solid #ad78d150;border-radius:12px;background:linear-gradient(110deg,#594963,#241c2e);box-shadow:0 16px 28px #10061670;transform:translateY(calc(var(--rack) * -4px))}
#presentation .server-rack>i{height:23px;display:flex;align-items:center;gap:4px;margin:6px 0;padding:0 7px;border:1px solid #b38dcb24;border-radius:3px;background:#1c1624;animation:strategyServer 4.8s ease-in-out infinite;animation-delay:calc(var(--unit) * -190ms)}
#presentation .server-rack b{width:4px;height:4px;border-radius:50%;background:#ce8bfc}
#presentation .server-rack b:last-child{margin-left:auto;background:#ffb1ef}
#presentation .compute-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #ffffff21;padding-top:var(--text-gap)}
#presentation .compute-zones strong{font-weight:400;font-size:15px;line-height:1.35;color:#e1cce9}
#presentation .cloud-offers>article{min-height:245px}
#presentation .cloud-offers h3{font-size:30px}
#presentation .marketplace-loop{grid-template-columns:repeat(4,minmax(0,1fr))}
#presentation .marketplace-loop>article{min-height:250px}
@keyframes strategySignal{0%,100%{opacity:.45;scale:1 .75}50%{opacity:1;scale:1 1}}
@keyframes strategyCompute{0%,100%{background:#70459a}50%{background:#e79aff}}
@keyframes strategyServer{0%,100%{border-color:#b38dcb24;background:#1c1624}45%{border-color:#d593f1aa;background:#562782}}
@keyframes strategyFlow{0%{translate:0 -100%}100%{translate:0 100%}}
#presentation .doc-deck:not(.is-visible) :is(.mission-signal i,.compute-lines i,.server-rack>i),#presentation .doc-deck:not(.is-visible) .platform-connectors i::after{animation-play-state:paused}
@media(min-width:701px) and (max-width:1100px){
 #presentation .marketplace-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
 #presentation .mission-statement h3{font-size:36px}
 #presentation .server-racks{gap:6px}
 #presentation .server-rack{padding:10px 4px}
 #presentation .server-rack>i{padding:0 3px;gap:2px}
 #presentation .cloud-offers>article{min-height:0}
}
@media(max-width:700px){
 #presentation :is(.mission-grid,.infrastructure-grid,.platform-foundation,.marketplace-loop){grid-template-columns:1fr}
 #presentation .mission-statement{min-height:275px}
 #presentation .mission-statement h3{font-size:32px}
 #presentation :is(.mission-cards,.infra-cards) h3{font-size:23px}
 #presentation :is(.mission-cards,.infra-cards) p{font-size:16px}
 #presentation .platform-connectors{display:none}
 #presentation .strategy-platform .doc-cards{margin-top:var(--panel-gap)}
 #presentation :is(.strategy-platform .doc-cards>article,.marketplace-loop>article,.cloud-offers>article){min-height:0}
 #presentation .server-racks{gap:7px;margin:32px 0 24px}
 #presentation .server-rack{padding:8px 4px}
 #presentation .server-rack>i{padding:0 3px;gap:2px;height:20px}
 #presentation .server-rack b{width:3px;height:3px}
 #presentation .compute-zones{gap:8px}
 #presentation .compute-zones strong{font-size:13px}
 #presentation .cloud-offers h3{font-size:27px}
}
@media(prefers-reduced-motion:reduce){
 #presentation :is(.mission-signal i,.compute-lines i,.server-rack>i),#presentation .platform-connectors i::after{animation:none!important}
}
