.s34-storage {
  --s34-bg:#050c12; --s34-alt:#091824; --s34-surface:#102431;
  --s34-text:#edf4f6; --s34-muted:#b9c8d0; --s34-cyan:#69c2cf;
  color:var(--s34-text); background:var(--s34-bg); font-size:17px; line-height:1.7; overflow:clip;
}
.s34-storage *, .s34-storage *::before, .s34-storage *::after { box-sizing:border-box; }
.s34-storage h1,.s34-storage h2,.s34-storage p,.s34-storage figure { margin:0; }
.s34-storage h1,.s34-storage h2 { font-weight:600; line-height:1.16; letter-spacing:-.035em; }
.s34-storage h1 { font-size:clamp(54px,6vw,84px); margin:18px 0 22px; }
.s34-storage h2 { font-size:clamp(34px,3.5vw,48px); margin-top:14px; }
.s34-storage img { display:block; max-width:100%; }
.s34-storage__shell { width:min(1280px,calc(100% - 96px)); margin:auto; }
.s34-storage__hero { position:relative; min-height:calc(100svh - 72px); isolation:isolate; overflow:hidden; }
.s34-storage__hero-image,.s34-storage__hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.s34-storage__hero-image { object-fit:cover; object-position:65% center; z-index:0; }
.s34-storage__hero-shade { z-index:1; background:linear-gradient(90deg,rgba(5,12,18,.66),rgba(5,12,18,.18) 70%),linear-gradient(0deg,rgba(5,12,18,.8),transparent 70%); }
.s34-storage__hero-inner { position:relative; z-index:2; display:flex; min-height:inherit; flex-direction:column; justify-content:flex-end; align-items:flex-start; padding:100px 0 84px; }
.s34-storage__eyebrow { color:var(--s34-cyan); font-size:15px; font-weight:650; letter-spacing:.06em; }
.s34-storage__hero-summary { max-width:650px; font-size:21px; color:var(--s34-text); }
.s34-storage__actions { display:flex; gap:14px; margin-top:30px; }
.s34-storage__button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 22px; font-size:15px; font-weight:650; border-radius:8px; text-decoration:none; }
.s34-storage__button--primary { background:var(--s34-cyan); color:#09232d; }
.s34-storage__button--secondary { color:var(--s34-text); border:1px solid #b9c8d080; background:#050c1233; }
.s34-storage__section { padding:76px 0; }
.s34-storage__section-head>p:not(.s34-storage__eyebrow),.s34-storage__body { color:var(--s34-muted); margin-top:22px; }
.s34-storage__model-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); column-gap:60px; align-items:start; }
.s34-storage__model-layout>.s34-storage__section-head { grid-column:1; grid-row:1; }
.s34-storage__architecture-note { grid-column:1; grid-row:2; margin-top:24px!important; color:var(--s34-muted); font-size:15px; padding-left:18px; border-left:2px solid #69c2cf88; }
.s34-storage__model-stage { grid-column:2; grid-row:1 / span 2; }
.s34-storage__model-layout>.s34-storage__lead { grid-column:1 / -1; margin-top:34px; }
.s34-storage__model-layout>.s34-storage__facts { grid-column:1 / -1; }
.s34-storage__cross-section { position:relative; display:grid; gap:16px; padding:24px; border:1px solid #69c2cf55; background:linear-gradient(135deg,#102431,#07131b); }
.s34-storage__workloads,.s34-storage__pool-node,.s34-storage__hosts>div { padding:18px; border:1px solid #69c2cf55; }
.s34-storage__workloads { position:relative; order:1; border-top:3px solid var(--s34-cyan); }
.s34-storage__pool-node { position:relative; order:2; background:#102431; }
.s34-storage__hosts { order:3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.s34-storage__hosts>div { padding:12px 10px; }
.s34-storage__cross-section span,.s34-storage__boundary span { display:block; color:var(--s34-cyan); font-size:13px; }
.s34-storage__cross-section strong { display:block; margin-top:8px; font-size:17px; font-weight:600; }
.s34-storage__hosts strong { font-size:14px; line-height:1.45; }
.s34-storage__pool-node strong { font-size:22px; }
.s34-storage__workloads::after { content:""; position:absolute; left:50%; bottom:-17px; width:1px; height:16px; background:var(--s34-cyan); }
.s34-storage__workloads::before { content:""; position:absolute; left:calc(50% - 3px); bottom:-5px; width:6px; height:6px; border-radius:50%; background:#b4f1f5; opacity:0; }
.s34-storage__cross-section.is-flowing .s34-storage__workloads::before { animation:s34-allocation 2.8s ease-in-out infinite; }
.s34-storage__connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.s34-storage__connections path { fill:none; stroke:var(--s34-cyan); stroke-width:1; vector-effect:non-scaling-stroke; }
.s34-storage__motion-toggle { min-height:44px; margin-top:14px; padding:6px 13px; border:1px solid #b9c8d066; border-radius:8px; background:transparent; color:var(--s34-muted); cursor:pointer; }
.s34-storage__lead { color:var(--s34-muted); margin-top:22px!important; }
.s34-storage__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:26px 0 0; }
.s34-storage__facts li { padding-top:16px; border-top:1px solid #b9c8d044; }
.s34-storage__facts strong { font-size:19px; font-weight:600; }
.s34-storage__facts span { display:block; margin-top:8px; color:var(--s34-muted); }
.s34-storage__policy { background:var(--s34-alt); }
.s34-storage__policy-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.s34-storage__handover-photo { align-self:stretch; min-height:460px; overflow:hidden; }
.s34-storage__handover-photo img { width:100%; height:100%; object-fit:cover; object-position:75% center; }
.s34-storage__policy-copy .s34-storage__facts { grid-template-columns:1fr; gap:16px; }
.s34-storage__policy-copy .s34-storage__facts li { display:grid; grid-template-columns:145px minmax(0,1fr); gap:22px; }
.s34-storage__policy-copy .s34-storage__facts span { margin:0; }
.s34-storage__network { padding-top:0; }
.s34-storage__network .s34-storage__section-head { padding:56px 44px; margin:0 -44px 36px; background:linear-gradient(90deg,#050c12e0,#050c1280),url("../images/s34-storage/storage-hardware.webp") center 35%/cover; }
.s34-storage__network .s34-storage__section-head>p { max-width:800px; }
.s34-storage__boundary { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #69c2cf77; border-bottom:1px solid #69c2cf77; }
.s34-storage__boundary div { padding:24px 0; }
.s34-storage__boundary div+div { padding-left:32px; border-left:1px solid #69c2cf44; }
.s34-storage__boundary strong { display:block; margin-top:8px; font-size:20px; font-weight:550; }
.s34-storage__operations { background:var(--s34-alt); }
.s34-storage__operations .s34-storage__body { max-width:900px; }
.s34-storage__operations .s34-storage__facts { grid-template-columns:1fr; gap:0; }
.s34-storage__operations .s34-storage__facts li { display:grid; grid-template-columns:30% 1fr; gap:30px; padding:22px 0; }
.s34-storage__operations .s34-storage__facts span { margin:0; }
.s34-storage__related { padding:64px 0; }
.s34-storage__related nav { display:flex; flex-wrap:wrap; gap:14px 24px; margin:24px 0 30px; }
.s34-storage__related nav a { color:var(--s34-text); text-decoration:none; border-bottom:1px solid #69c2cf66; }
.s34-storage a:focus-visible,.s34-storage button:focus-visible { outline:2px solid #b4f1f5; outline-offset:4px; }
@keyframes s34-allocation { 0%,15%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:1;transform:translateY(10px)}85%,100%{opacity:0;transform:translateY(10px)} }
@media(max-width:1000px) {
 .s34-storage__model-layout { column-gap:30px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
 .s34-storage__policy-layout { gap:32px; }
 .s34-storage__policy-copy .s34-storage__facts li { grid-template-columns:1fr; gap:6px; }
}
@media(max-width:720px) {
 .s34-storage { font-size:16px; }
 .s34-storage__shell { width:calc(100% - 40px); }
 .s34-storage__hero { min-height:0; }
 .s34-storage__hero-image { object-position:68% center; }
 .s34-storage__hero-shade { background:linear-gradient(90deg,#050c127a,#050c1244),linear-gradient(0deg,#050c12cc,transparent); }
 .s34-storage__hero-inner { padding:48px 0 54px; }
 .s34-storage h1 { font-size:44px; }
 .s34-storage h2 { font-size:32px; }
 .s34-storage__hero-summary { font-size:18px; }
 .s34-storage__actions { flex-direction:column; width:100%; gap:10px; }
 .s34-storage__section { padding:48px 0; }
 .s34-storage__model-layout,.s34-storage__policy-layout { display:flex; flex-direction:column; gap:24px; }
 .s34-storage__architecture-note { margin-top:0!important; order:3; }
 .s34-storage__model-stage { width:100%; order:2; }
 .s34-storage__model-layout>.s34-storage__lead { order:4; margin-top:0!important; }
 .s34-storage__model-layout>.s34-storage__facts { order:5; }
 .s34-storage__cross-section { padding:16px; }
 .s34-storage__hosts { grid-template-columns:1fr; padding-left:24px; }
 .s34-storage__hosts>div { padding:12px 16px; }
 .s34-storage__hosts strong { font-size:16px; }
 .s34-storage__facts { grid-template-columns:1fr; gap:20px; width:100%; margin-top:0; }
 .s34-storage__handover-photo { width:100%; min-height:0; height:240px; }
 .s34-storage__policy-copy .s34-storage__facts { margin-top:24px; }
 .s34-storage__network { padding-top:0; }
 .s34-storage__network .s34-storage__section-head { padding:40px 20px; margin:0 -20px 28px; }
 .s34-storage__boundary { grid-template-columns:1fr; }
 .s34-storage__boundary div+div { border-left:0; border-top:1px solid #69c2cf44; padding-left:0; }
 .s34-storage__operations .s34-storage__facts li { grid-template-columns:1fr; gap:6px; }
 .s34-storage__related { padding:48px 0; }
}
@media(prefers-reduced-motion:reduce) { .s34-storage__cross-section.is-flowing .s34-storage__workloads::before { animation:none; } }

.s34-storage .flow-batch-diagram[data-flow-diagram] { width: 100%; margin: 32px 0 0; border-radius: 16px; overflow: hidden; }
.s34-storage .flow-batch-diagram__link { display: block; border-radius: inherit; }
.s34-storage .flow-batch-diagram img { display: block; width: 100%; height: auto; max-width: 100%; }
