/* One compact desktop overview over a continuous video background. */
.why-platform { position:relative; isolation:isolate; overflow:clip; background:#190e12; color:#f1fff8; scroll-margin-top:80px; }
.platform-backdrop { position:absolute; inset:0; z-index:0; overflow:clip; }
.platform-backdrop .pov-field { position:sticky; top:0; height:100svh; min-height:480px; width:100%; object-fit:cover; }
.why-platform::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,#160e12b8 0%,#160e1280 40%,#160e1299 100%); }
.platform-content { position:relative; z-index:2; padding-bottom:24px; }
.platform-overview { min-height:calc(100svh - 80px); padding-block:18px 24px; display:flex; flex-direction:column; justify-content:center; }
.platform-topline { display:flex; justify-content:flex-end; align-items:center; gap:22px; margin-bottom:16px; }
.platform-topline .eyebrow { margin:0; color:#caeadd; }
.why-platform .pov-motion { width:34px; height:34px; color:#dcfff0; border-color:#c9ffe14d; background:#062e2759; backdrop-filter:blur(8px); }
.why-platform .pov-motion:hover { background:#c9ffe133; }
.why-platform :focus-visible { outline-color:#b7f6da; outline-offset:4px; }
.platform-intro h1 { max-width:1180px; margin:0; color:#f6fff9; font-size:clamp(34px,3.5vw,50px); letter-spacing:-.04em; line-height:1.1; text-wrap:balance; }
.platform-intro h1>span,.platform-intro h1 em { display:block; }
.platform-intro h1 em { color:#b4f1d9; font-style:normal; text-wrap:balance; }
.platform-lead { max-width:1080px; margin:16px 0 0; font-size:clamp(15px,1.2vw,17px); line-height:1.55; color:#e0eee7; text-wrap:pretty; }
.platform-map { --platform-row-height:clamp(190px,27svh,244px); position:relative; display:grid; grid-template-columns:minmax(0,1.35fr) clamp(100px,11vw,160px) clamp(180px,18vw,230px) clamp(58px,6vw,84px) minmax(0,.88fr); grid-template-rows:auto var(--platform-row-height) auto; align-items:center; margin-top:26px; }
.platform-map .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.platform-map .platform-map-heading { grid-column:1/-1; grid-row:1; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; font-size:clamp(19px,1.7vw,23px); line-height:1.3; font-weight:700; letter-spacing:-.025em; text-align:center; color:#edfff5; padding:0 0 12px; margin:0 0 16px; border-bottom:1px solid #d6eee25c; }
.platform-map .platform-map-heading img { flex:none; display:block; width:27px; height:27px; filter:brightness(0) invert(1); opacity:.9; }
.platform-foundations { grid-column:1; grid-row:2; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); align-self:stretch; list-style:none; padding:0 18px; margin:0; border:1px solid #bdedd94f; border-radius:18px; background:linear-gradient(125deg,#c9ffe115,#06342b99); backdrop-filter:blur(9px); box-shadow:inset 0 1px 0 #e8fff52e,0 20px 60px #00150f22; }
.platform-foundations li { display:flex; align-items:stretch; min-width:0; }
.platform-foundations li+li { border-top:1px solid #cbf5e213; }
.platform-explain { position:relative; display:block; width:100%; margin:0; padding:9px 8px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; text-align:inherit; cursor:default; transition:background .18s,color .18s; }
.platform-explain:is(:hover,:focus-visible,[aria-expanded="true"]) { background:#eefff310; color:#f6fff9; }
.platform-foundations .platform-explain { display:flex; align-items:center; gap:12px; padding-inline:0; text-align:left; font-size:clamp(14px,1.22vw,17px); line-height:1.45; color:#d6eee2; text-wrap:pretty; }
.platform-foundations strong { color:#f2fff8; font-weight:700; }
.platform-foundation-dot { flex:none; width:6px; height:6px; border-radius:50%; background:#bffada; box-shadow:0 0 12px 3px #90ebbe44; }
.platform-feeds { grid-column:2; grid-row:2; align-self:stretch; }
.platform-feeds svg,.platform-converge svg { width:100%; height:100%; fill:none; stroke:#c4f6db9c; stroke-width:1.2; stroke-linecap:butt; stroke-linejoin:miter; overflow:visible; }
.platform-junction { fill:#d9ffeb; stroke:#d9ffeb; }
.platform-diagram-mobile { display:none; }
.platform-worktypes { grid-column:3; grid-row:2; align-self:center; height:calc(var(--platform-row-height) * .75); display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.platform-worktypes li { display:flex; align-items:center; text-align:center; font-size:clamp(16px,1.4vw,20px); font-weight:700; line-height:1.3; letter-spacing:-.025em; color:#f1fff7; }
.platform-converge { grid-column:4; grid-row:2; width:100%; height:100%; }
.platform-flow { stroke:#eefff3; stroke-width:2.7; stroke-dasharray:2 180; animation:platformFlow 5s linear infinite; animation-play-state:paused; }
.pov-art-running .platform-flow { animation-play-state:running; }
.platform-result { position:relative; grid-column:5; grid-row:2; padding-left:12px; }
.platform-result .platform-explain { font-size:clamp(22px,2.25vw,32px); line-height:1.22; font-weight:700; letter-spacing:-.035em; color:#effff5; }
.platform-result strong { color:#b4f1d9; font-weight:800; }
.platform-result-halo { position:absolute; width:160px; height:160px; top:50%; left:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,#79efb826,transparent 70%); pointer-events:none; }
.platform-explanations { grid-column:1/-1; grid-row:3; display:grid; align-items:start; min-height:3.2em; margin-top:22px; font-size:14.5px; line-height:1.6; }
.platform-tip { grid-area:1/1; margin:0; padding:0; border:0; background:none; box-shadow:none; color:#f1f7f2; font:inherit; text-align:left; text-wrap:pretty; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s; }
.platform-tip[data-active] { opacity:1; visibility:visible; pointer-events:auto; }
@keyframes platformFlow { to { stroke-dashoffset:-364; } }
.pov-motion-paused .platform-flow,.page-inactive .platform-flow { animation-play-state:paused!important; }
@media(min-width:801px) and (max-height:780px) {
 .platform-map { --platform-row-height:clamp(176px,25svh,195px); margin-top:18px; }
 .platform-map .platform-map-heading { margin-bottom:12px; padding-bottom:10px; font-size:20px; }
 .platform-foundations .platform-explain { font-size:14px; padding-block:6px; }
 .platform-worktypes li { font-size:18px; }
 .platform-result .platform-explain { font-size:26px; }
 .platform-map .platform-map-heading img { width:24px; height:24px; }
 .platform-explanations { margin-top:18px; font-size:14px; }
}
@media(max-width:1000px) and (min-width:801px) {
 .platform-map { grid-template-columns:minmax(0,1.35fr) 90px 174px 54px minmax(0,.9fr); }
 .platform-foundations { padding-inline:12px; }
 .platform-foundations .platform-explain { gap:8px; }
 .platform-result { padding-left:4px; }
}
@media(max-width:800px) {
 .platform-map { display:flex; flex-direction:column; margin-top:30px; }
 .platform-map .platform-map-heading { order:0; font-size:22px; padding-bottom:14px; margin-bottom:24px; }
 .platform-foundations { order:1; align-self:stretch; display:block; padding:5px 18px; }
 .platform-foundations .platform-explain { min-height:76px; padding-block:14px; font-size:16px; }
 .platform-feeds { order:2; height:70px; width:100%; max-width:360px; align-self:center; }
 .platform-diagram-desktop { display:none; }
 .platform-diagram-mobile { display:block; }
 .platform-worktypes { order:3; width:100%; height:auto; align-self:center; grid-template-rows:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 .platform-worktypes li { font-size:15px; line-height:1.35; align-items:stretch; }
 .platform-worktypes .platform-explain { padding:8px 3px; border:1px solid #d6eee225; background:#06342b55; }
 .platform-converge { order:4; height:58px; width:100%; max-width:360px; }
 .platform-result { order:5; margin:0; padding:0; text-align:center; }
 .platform-result .platform-explain { font-size:29px; }
 .platform-result br:first-child { display:none; }
 .platform-explanations { order:6; align-self:stretch; margin-top:24px; font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .platform-flow { animation:none!important; } .platform-explain,.platform-tip { transition:none; } }

/* Ammatu: an architectural object with an editorial layer index. */
.ammatu-diagram { margin:0; padding-block:18px 8px; color:#f1fff8; scroll-margin-top:96px; }
.ammatu-caption { margin:0 0 16px; padding:0; text-align:center; }
.ammatu-diagram .platform-map-heading { display:flex; align-items:center; justify-content:center; width:100%; margin:0; padding:0; border:0; color:#edfff5; font-size:clamp(19px,1.7vw,23px); font-weight:700; line-height:1.3; letter-spacing:-.025em; text-align:center; text-wrap:balance; }
.ammatu-explorer { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); align-items:center; isolation:isolate; padding:28px 42px 34px 10px; overflow:hidden; border:1px solid #bdedd94f; border-radius:18px; background:linear-gradient(125deg,#c9ffe115,#06342b99); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); color:#edfff5; box-shadow:inset 0 1px 0 #e8fff52e,0 20px 60px #00150f22; }
.ammatu-explorer::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 22% 38%,#d5ffe710,transparent 65%); pointer-events:none; }
.ammatu-stage { min-width:0; width:100%; align-self:center; }
.ammatu-architecture { display:block; width:100%; height:auto; overflow:visible; }
.ammatu-plate { transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .5s; transform-box:fill-box; transform-origin:center; }
.ammatu-plate-edge { opacity:.65; transition:stroke-width .35s,opacity .35s; }
.ammatu-diagram[data-active-layer] .ammatu-plate { opacity:.48; }
.ammatu-diagram[data-active-layer="security"] [data-plane="security"],
.ammatu-diagram[data-active-layer="workers"] [data-plane="workers"],
.ammatu-diagram[data-active-layer="intelligence"] [data-plane="intelligence"],
.ammatu-diagram[data-active-layer="infrastructure"] [data-plane="infrastructure"],
.ammatu-diagram[data-active-layer="data"] [data-plane="data"] { opacity:1; transform:translate(-12px,-9px); }
.ammatu-diagram[data-active-layer="security"] [data-plane="security"] .ammatu-plate-edge,
.ammatu-diagram[data-active-layer="workers"] [data-plane="workers"] .ammatu-plate-edge,
.ammatu-diagram[data-active-layer="intelligence"] [data-plane="intelligence"] .ammatu-plate-edge,
.ammatu-diagram[data-active-layer="infrastructure"] [data-plane="infrastructure"] .ammatu-plate-edge,
.ammatu-diagram[data-active-layer="data"] [data-plane="data"] .ammatu-plate-edge { opacity:1; stroke-width:2; }
.ammatu-signal { animation:ammatuSignal 12s linear infinite; animation-play-state:paused; }
.pov-art-running .ammatu-signal { animation-play-state:running; }
.pov-motion-paused .ammatu-signal,.page-inactive .ammatu-signal { animation-play-state:paused!important; }
@keyframes ammatuSignal { to { stroke-dashoffset:-1248; } }
.ammatu-layer-list { list-style:none; padding:0 0 0 24px; margin:0; align-self:center; }
.ammatu-layer-list li+li { border-top:1px solid #cbf5e226; }
.ammatu-select { position:relative; display:grid; grid-template-columns:26px minmax(0,1fr) 16px; gap:15px; width:100%; border:0; border-radius:0; padding:27px 0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.ammatu-select::before { content:""; position:absolute; z-index:-1; inset:10px -12px; background:#b4f1d91a; opacity:0; transition:opacity .3s; }
.ammatu-select:hover::before,.ammatu-select:focus-visible::before,.ammatu-select[aria-pressed="true"]::before { opacity:.75; }
.ammatu-select:focus-visible { outline:1px solid #b7f6da; outline-offset:5px; }
.ammatu-row-number { display:block; margin-top:5px; color:#b4d5c5; font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }
.ammatu-select[aria-pressed="true"] .ammatu-row-number { color:#d2ffe6; }
.ammatu-row-copy { min-width:0; }
.ammatu-row-title { display:block; color:#f1fff7; font-size:clamp(21px,2.05vw,27px); font-weight:500; line-height:1.2; letter-spacing:-.042em; text-wrap:pretty; }
.ammatu-row-description { display:block; max-width:38em; margin-top:11px; color:#d6eee2; font-size:14px; line-height:1.7; text-wrap:pretty; }
.ammatu-row-indicator { align-self:center; color:#b4f1d9; opacity:.28; transition:opacity .3s,transform .3s; }
.ammatu-row-indicator svg { display:block; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1; }
.ammatu-select:hover .ammatu-row-indicator,.ammatu-select:focus-visible .ammatu-row-indicator,.ammatu-select[aria-pressed="true"] .ammatu-row-indicator { opacity:1; transform:translateX(3px); }
@media(min-width:801px) and (max-height:780px) {
 .platform-overview { padding-block:14px 20px; }
 .platform-topline { margin-bottom:10px; }
 .platform-intro h1 { font-size:clamp(32px,3.4vw,44px); }
 .platform-lead { margin-top:12px; font-size:15px; line-height:1.5; }
}
@media(max-width:1100px) {

 .ammatu-explorer { padding:20px 30px 24px 0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .ammatu-layer-list { padding-left:15px; }
 .ammatu-select { gap:10px; padding-block:23px; grid-template-columns:22px minmax(0,1fr) 12px; }
 .ammatu-row-title { font-size:21px; }
 .ammatu-row-description { font-size:13px; }
}
@media(max-width:800px) {
 .why-platform { scroll-margin-top:72px; }
 .platform-backdrop .pov-field { top:0; height:100svh; min-height:420px; }
 .platform-content { padding-bottom:30px; }
 .platform-overview { min-height:0; padding-block:26px 16px; }
 .platform-topline { margin-bottom:24px; }
 .platform-intro h1 { font-size:clamp(32px,7.5vw,48px); line-height:1.12; }
 .platform-lead { margin-top:22px; font-size:16px; line-height:1.6; }
 .ammatu-diagram { margin-top:20px; }
 .ammatu-caption { margin:0 0 24px; }
 .ammatu-diagram .platform-map-heading { font-size:22px; padding-bottom:14px; }
 .ammatu-explorer { display:block; padding:6px 25px 15px; }
 .ammatu-stage { max-width:475px; margin:0 auto; }
 .ammatu-architecture { max-height:620px; }
 .ammatu-layer-list { padding:0; border-top:1px solid #cbf5e226; }
 .ammatu-select { grid-template-columns:25px minmax(0,1fr) 16px; padding:25px 0; gap:13px; }
 .ammatu-row-title { font-size:23px; }
 .ammatu-row-description { font-size:14px; }
}
@media(max-width:480px) {

 .ammatu-diagram .platform-map-heading { font-size:22px; max-width:none; }
 .ammatu-explorer { padding-inline:22px; }
 .ammatu-stage { margin-inline:-17px; width:calc(100% + 34px); }
 .ammatu-select { gap:8px; grid-template-columns:20px minmax(0,1fr); }
 .ammatu-row-number { font-size:10px; }
 .ammatu-row-title { font-size:21px; }
 .ammatu-row-description { font-size:13px; line-height:1.7; }
 .ammatu-row-indicator { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .ammatu-signal { animation:none!important; }
 .ammatu-plate,.ammatu-plate-edge,.ammatu-select::before,.ammatu-row-indicator { transition:none; }
}

.ammatu-architecture text { fill:#c5e9d7; }

/* Every explanation occupies the same grid cell, so the tallest paragraph
   reserves its space even before interaction. No hover-dependent reflow. */
.platform-explanations { min-height:4.8em; }

/* Each desktop composition fits below the navigation. SVG proportions stay intact. */
@media(min-width:801px) {
 .ammatu-explorer {
   height:min(720px,calc(100svh - 164px));
   min-height:470px;
   grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
   grid-template-rows:minmax(0,1fr);
   padding:16px 30px 18px 16px;
 }
 .ammatu-stage { position:relative; height:100%; min-height:0; }
 .ammatu-architecture { position:absolute; inset:0; width:100%; height:100%; max-height:100%; }
 .ammatu-layer-list { display:grid; grid-template-rows:repeat(5,minmax(0,1fr)); height:100%; min-height:0; padding-left:24px; }
 .ammatu-layer-list li { min-height:0; }
 .ammatu-select { height:100%; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:12px; padding:10px 0; }
 .ammatu-row-number { align-self:start; margin-top:4px; }
 .ammatu-row-title { font-size:clamp(18px,1.5vw,24px); line-height:1.18; }
 .ammatu-row-description { margin-top:6px; font-size:13px; line-height:1.5; }
}
@media(min-width:801px) and (max-height:740px) {
 .platform-overview { padding-block:12px 16px; }
 .platform-topline { margin-bottom:8px; }
 .platform-map { margin-top:16px; --platform-row-height:176px; }
 .platform-explanations { margin-top:16px; }
 .ammatu-select { padding-block:7px; }
 .ammatu-row-title { font-size:18px; }
 .ammatu-row-description { margin-top:5px; font-size:12.5px; line-height:1.4; }
}
/* Very short landscape viewports scroll naturally instead of clipping content. */
@media(min-width:801px) and (max-height:620px) {
 .platform-overview { min-height:0; }
 .ammatu-explorer { height:auto; min-height:0; }
 .ammatu-stage { height:460px; }
 .ammatu-layer-list { height:auto; }
 .ammatu-select { padding-block:12px; }
}
/* Entrance motion lives on outer groups so layer hover motion stays independent. */
.ammatu-build-step { transform-box:fill-box; transform-origin:center; }
.ammatu-build-ready .ammatu-build-step { opacity:0; transform:translateY(44px); }
.ammatu-building .ammatu-build-step { animation:ammatuAssemble .85s cubic-bezier(.18,.7,.22,1) both; animation-delay:calc(var(--build-order) * .17s); }
@keyframes ammatuAssemble { from { opacity:0; transform:translateY(44px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
 .ammatu-build-ready .ammatu-build-step { opacity:1; transform:none; }
 .ammatu-building .ammatu-build-step { animation:none; }
}

/* James’s October 5 live 3D diagram; retain the compact responsive layout above. */

.ammatu-stage { position:relative; }
.ammatu-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; transition:opacity .65s; touch-action:pan-y; }
.ammatu-scene-ready .ammatu-canvas { opacity:1; }
.ammatu-scene-ready .ammatu-architecture { visibility:hidden; }
@media(prefers-reduced-motion:reduce) { .ammatu-canvas { transition:none; } }

/* Fine leaders stay attached to the live 3D edges and stop before the layer numbers. */
.ammatu-connectors { position:absolute; inset:0; z-index:2; width:100%; height:100%; pointer-events:none; overflow:visible; }
.ammatu-connectors path { fill:none; stroke:#b2cfbf; stroke-width:.8; vector-effect:non-scaling-stroke; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:1; }
.ammatu-connectors circle { fill:#bdd8c9; stroke:#375d50; stroke-width:.7; }
.ammatu-connectors .is-selected path { stroke:#d2ffe9; stroke-width:1.15; }
.ammatu-connectors .is-selected circle { fill:#d2ffe9; }
.ammatu-row-number { position:relative; align-self:start; }

/* Mobile layers remain readable labels while the entire model runs. */
@media(max-width:800px) {
 .ammatu-select:disabled { opacity:1; color:inherit; cursor:default; pointer-events:none; -webkit-text-fill-color:currentColor; }
 .ammatu-select:disabled::before { opacity:0; }
}

.platform-lead p { margin:0; font:inherit; color:inherit; }
.platform-lead ol { margin:10px 0; padding-left:2.3em; list-style:decimal; }
.platform-lead li { padding-left:.3em; }
.platform-lead li+li { margin-top:6px; }
