.storagecalc {
  --storagecalc-accent: #0f766e;
  --storagecalc-accent-strong: #115e59;
  --storagecalc-surface-soft: #ecfdf5;
  --storagecalc-border: rgba(15, 23, 42, 0.12);
  --storagecalc-text: #0f172a;
  --storagecalc-text-soft: #475569;
  --storagecalc-radius: 1.5rem;
  --storagecalc-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
  color: var(--storagecalc-text);
}

.storagecalc *, .storagecalc *::before, .storagecalc *::after { box-sizing: border-box; }
.storagecalc__inner {
  padding: clamp(1.25rem, 2vw, 2rem);
  border: 1px solid var(--storagecalc-border);
  border-radius: var(--storagecalc-radius);
  background:
    radial-gradient(circle at top right, rgba(15, 118, 110, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(236,253,245,0.96));
  box-shadow: var(--storagecalc-shadow);
}
.storagecalc--outline .storagecalc__inner { background: #fff; box-shadow: none; }
.storagecalc--accent .storagecalc__inner {
  --storagecalc-accent: #166534;
  --storagecalc-accent-strong: #14532d;
}
.storagecalc__eyebrow { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--storagecalc-accent); }
.storagecalc__title { margin: 0; font-size: clamp(1.6rem, 2.5vw, 2.25rem); line-height: 1.15; }
.storagecalc__description { margin-top: .75rem; color: var(--storagecalc-text-soft); max-width: 65ch; }
.storagecalc__layout { display: grid; gap: 1.25rem; margin-top: 1.5rem; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr); }
.storagecalc__form { display: grid; gap: 1rem; }
.storagecalc__grid { display: grid; gap: 1rem; }
.storagecalc__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.storagecalc__field { display: grid; gap: .45rem; }
.storagecalc__label, .storagecalc__stat-label { font-size: .95rem; font-weight: 600; }
.storagecalc__input, .storagecalc__select {
  width: 100%; min-height: 3rem; padding: .75rem .95rem; border: 1px solid var(--storagecalc-border); border-radius: .95rem;
  background: rgba(255,255,255,.95); color: var(--storagecalc-text); font: inherit; transition: border-color .2s ease, box-shadow .2s ease;
}
.storagecalc__input:focus, .storagecalc__select:focus, .storagecalc__button:focus, .storagecalc__cta:focus, .storagecalc__checkbox-input:focus {
  outline: none; border-color: var(--storagecalc-accent); box-shadow: 0 0 0 3px rgba(15,118,110,.16);
}
.storagecalc__help, .storagecalc__result-text, .storagecalc__result-note { font-size: .92rem; color: var(--storagecalc-text-soft); }
.storagecalc__field--checkbox, .storagecalc__field--checkboxes { padding: .9rem 1rem; border: 1px solid var(--storagecalc-border); border-radius: 1rem; background: rgba(255,255,255,.8); }
.storagecalc__checkbox { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; }
.storagecalc__checkbox-input { width: 1rem; height: 1rem; margin-top: .2rem; }
.storagecalc__error { min-height: 1.25rem; color: #b91c1c; font-size: .92rem; }
.storagecalc__button, .storagecalc__cta {
  display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .85rem 1.4rem; border: 0; border-radius: 999px;
  background: linear-gradient(135deg, var(--storagecalc-accent), var(--storagecalc-accent-strong)); color: #fff; font-weight: 700; text-decoration: none;
}
.storagecalc__result { height: 100%; padding: 1.25rem; border: 1px solid var(--storagecalc-border); border-radius: 1.35rem; background: rgba(255,255,255,.9); }
.storagecalc__result-title { margin: 0; font-size: 1.15rem; }
.storagecalc__result-header, .storagecalc__result-content { display: grid; gap: .6rem; }
.storagecalc__stats { display: grid; gap: .85rem; margin: 1rem 0; }
.storagecalc__stat { padding: .95rem 1rem; border-radius: 1rem; background: var(--storagecalc-surface-soft); }
.storagecalc__stat--price { background: linear-gradient(135deg, rgba(15,118,110,.12), rgba(255,255,255,.95)); }
.storagecalc__stat-value { margin: .35rem 0 0; font-size: clamp(1.05rem,1.8vw,1.35rem); font-weight: 700; }
.storagecalc__quote { display: grid; gap: .85rem; padding-top: .35rem; }
.storagecalc__quote-title { margin: 0; font-size: 1rem; }
.storagecalc__quote-status { min-height: 1.25rem; font-size: .92rem; color: var(--storagecalc-text-soft); }
@media (max-width: 959px) { .storagecalc__layout, .storagecalc__grid--two { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .storagecalc__inner, .storagecalc__result, .storagecalc__field--checkbox, .storagecalc__field--checkboxes { padding: 1rem; } .storagecalc__button, .storagecalc__cta { width: 100%; } }
