.storage-guide { margin:1rem 0 3rem; padding:2rem; border:1px solid var(--line); border-top:3px solid var(--green); background:#fff; }
.storage-guide .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.storage-heading,.storage-example-heading { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 2rem; align-items:start; margin-bottom:1.75rem; }
.storage-heading h4 { margin:.625rem 0 0; max-width:28ch; font:600 30px/1.25 Outfit,Arial,sans-serif; }
.storage-heading>p,.storage-example-heading>p { margin:0; font-size:17px; line-height:1.65; }
.storage-types { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; font-size:16px; line-height:1.6; }
.storage-types caption { font:600 20px/1.4 Outfit,Arial,sans-serif; text-align:left; padding:0 0 1rem; }
.storage-types th,.storage-types td { padding:1.125rem; border:1px solid var(--line); vertical-align:top; }
.storage-types thead th { color:#fff; background:var(--navy); font-weight:500; }
.storage-types thead th:first-child { width:21%; }
.storage-types thead th:last-child { width:30%; }
.storage-types tbody th { background:#edf3f1; font:600 19px/1.4 Outfit,Arial,sans-serif; }
.storage-types tbody th small { display:block; font:400 14px/1.5 Arial,sans-serif; margin-top:.625rem; color:var(--muted); }
.storage-number { display:block; margin-bottom:.625rem; color:var(--green); font:400 14px/1.2 Arial,sans-serif; }
.storage-mobile-label { display:none; }
.storage-guide .storage-distinction { margin:1rem 0 2rem; max-width:100ch; font-size:16px; line-height:1.65; }
.storage-units { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 2rem; margin:2rem 0; }
.storage-units>div { border-top:2px solid #9bb8a9; padding-top:1rem; }
.storage-units dt { font:600 35px/1.2 Outfit,Arial,sans-serif; color:var(--navy); }
.storage-units dt span { display:block; margin-top:.5rem; font-size:19px; line-height:1.4; }
.storage-units dd { margin:.75rem 0 0; font-size:16px; line-height:1.65; }
.storage-example { padding:1.5rem; background:#f3f7f5; border:1px solid #cbdad3; }
.storage-example-heading h5,.storage-operation h5,.storage-reference h5 { font:600 25px/1.3 Outfit,Arial,sans-serif; margin:.625rem 0 0; }
.storage-example fieldset { border:0; padding:0; margin:0; min-width:0; }
.storage-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 2rem; }
.storage-controls>div { display:grid; grid-template-columns:1fr auto; gap:.5rem 1rem; align-items:center; }
.storage-controls label { font-size:16px; line-height:1.4; font-weight:600; }
.storage-controls output { font-size:16px; font-variant-numeric:tabular-nums; color:var(--green); }
.storage-controls input { grid-column:1/-1; width:100%; min-height:44px; margin:0; accent-color:var(--green); cursor:pointer; }
.storage-controls input:focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.storage-results { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:1rem; margin:1.5rem 0; }
.storage-result { display:flex; flex-direction:column; border:1px solid #b9ccc2; padding:1.25rem; background:#fff; }
.storage-guide .storage-result p { margin:0 0 .875rem; font:500 13px/1.4 Outfit,Arial,sans-serif; letter-spacing:.08em; }
.storage-result strong { font:600 32px/1.2 Outfit,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.storage-result strong small { display:block; margin-top:.5rem; font:400 15px/1.4 Arial,sans-serif; }
.storage-result>span { margin:1rem 0 .5rem; font-size:15px; line-height:1.5; }
.storage-result b { margin-top:auto; font:600 18px/1.4 Outfit,Arial,sans-serif; }
.storage-result--energy { background:var(--navy); color:#fff; border-color:var(--navy); }
.storage-guide .storage-result--energy p { color:#fff; }
.storage-guide .storage-formula { font:600 19px/1.5 Outfit,Arial,sans-serif; margin:1.25rem 0; max-width:none; }
.storage-formula span { display:block; margin-top:.375rem; font:400 14px/1.5 Arial,sans-serif; color:var(--muted); }
.storage-guide .storage-assumptions,.storage-guide .storage-calculation-scope { font-size:14px; line-height:1.7; margin:.75rem 0 0; max-width:105ch; }
.storage-operation { margin-top:2.25rem; }
.storage-operation dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 2rem; margin:1.5rem 0 2rem; }
.storage-operation dl>div { border-top:1px solid var(--line); padding-top:1rem; }
.storage-operation dt { font-size:18px; line-height:1.4; font-weight:600; }
.storage-operation dd { margin:.625rem 0 0; font-size:16px; line-height:1.65; }
.storage-reference { display:flex; align-items:center; justify-content:space-between; gap:1.5rem 2rem; padding:1.5rem; background:#edf3f1; border-left:3px solid var(--green); }
.storage-reference>div { max-width:76ch; }
.storage-guide .storage-reference p { font-size:16px; line-height:1.65; margin:1rem 0 0; }
.storage-guide .storage-reference .topic-label { margin:0; font-size:13px; }
.storage-reference>a { flex:none; font-size:16px; min-height:44px; display:inline-flex; align-items:center; }
.storage-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }
.storage-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:17px; }
@media(max-width:1050px) { .storage-guide { padding:1.5rem; } .storage-types th,.storage-types td { padding:.875rem; } .storage-reference { align-items:flex-start; flex-direction:column; gap:.75rem; } }
@media(max-width:800px) { .storage-heading,.storage-example-heading { grid-template-columns:1fr; gap:1rem; } .storage-results { grid-template-columns:1fr; } .storage-result { display:grid; grid-template-columns:1fr 1fr; gap:.375rem 1rem; } .storage-guide .storage-result p { grid-column:1/-1; } .storage-result strong { grid-row:2/4; } .storage-result>span { margin:0; } .storage-units,.storage-operation dl { grid-template-columns:1fr; gap:1.25rem; } }
@media(max-width:650px) {
 .storage-guide { padding:1.125rem; }
 .storage-heading h4 { font-size:26px; }
 .storage-example { padding:1rem; }
 .storage-example-heading h5,.storage-operation h5,.storage-reference h5 { font-size:23px; }
 .storage-types,.storage-types caption,.storage-types tbody { display:block; }
 .storage-types thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .storage-types tr { display:block; border:1px solid var(--line); margin-bottom:1rem; }
 .storage-types tbody th,.storage-types tbody td { display:block; border:0; border-bottom:1px solid var(--line); padding:1rem; }
 .storage-types tbody td:last-child { border-bottom:0; }
 .storage-mobile-label { display:block; font-weight:600; color:var(--green); margin-bottom:.5rem; }
 .storage-controls { grid-template-columns:1fr; gap:1rem; }
 .storage-controls>div { grid-template-columns:1fr; gap:.375rem; }
 .storage-controls input { grid-column:1; }
 .storage-reference { padding:1.125rem; }
 .storage-reference>a { flex-wrap:wrap; }
 .storage-actions { flex-direction:column; }
}
