.servicecalc {
  --servicecalc-accent: #b45309;
  --servicecalc-accent-strong: #92400e;
  --servicecalc-surface-soft: #fff7ed;
  --servicecalc-border: rgba(15, 23, 42, 0.12);
  --servicecalc-text: #0f172a;
  --servicecalc-text-soft: #475569;
  --servicecalc-radius: 1.5rem;
  --servicecalc-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
  color: var(--servicecalc-text);
}

.servicecalc *, .servicecalc *::before, .servicecalc *::after { box-sizing: border-box; }
.servicecalc__inner {
  padding: clamp(1.25rem, 2vw, 2rem);
  border: 1px solid var(--servicecalc-border);
  border-radius: var(--servicecalc-radius);
  background:
    radial-gradient(circle at top right, rgba(180, 83, 9, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,247,237,0.96));
  box-shadow: var(--servicecalc-shadow);
}
.servicecalc--outline .servicecalc__inner { background: #fff; box-shadow: none; }
.servicecalc--accent .servicecalc__inner { --servicecalc-accent: #1d4ed8; --servicecalc-accent-strong: #1e40af; }
.servicecalc__eyebrow { margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--servicecalc-accent); }
.servicecalc__title { margin: 0; font-size: clamp(1.6rem, 2.5vw, 2.25rem); line-height: 1.15; }
.servicecalc__description { margin-top: .75rem; color: var(--servicecalc-text-soft); max-width: 65ch; }
.servicecalc__layout { display: grid; gap: 1.25rem; margin-top: 1.5rem; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr); }
.servicecalc__form { display: grid; gap: 1rem; }
.servicecalc__grid { display: grid; gap: 1rem; }
.servicecalc__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.servicecalc__field { display: grid; gap: .45rem; }
.servicecalc__label, .servicecalc__stat-label { font-size: .95rem; font-weight: 600; }
.servicecalc__input, .servicecalc__select, .servicecalc__textarea {
  width: 100%; min-height: 3rem; padding: .75rem .95rem; border: 1px solid var(--servicecalc-border); border-radius: .95rem;
  background: rgba(255,255,255,.95); color: var(--servicecalc-text); font: inherit;
}
.servicecalc__textarea { min-height: 7rem; resize: vertical; }
.servicecalc__input:focus, .servicecalc__select:focus, .servicecalc__textarea:focus, .servicecalc__button:focus, .servicecalc__cta:focus, .servicecalc__checkbox-input:focus {
  outline: none; border-color: var(--servicecalc-accent); box-shadow: 0 0 0 3px rgba(180,83,9,.16);
}
.servicecalc__help, .servicecalc__result-text, .servicecalc__result-note { font-size: .92rem; color: var(--servicecalc-text-soft); }
.servicecalc__field--checkbox, .servicecalc__field--checkboxes { padding: .9rem 1rem; border: 1px solid var(--servicecalc-border); border-radius: 1rem; background: rgba(255,255,255,.8); }
.servicecalc__checkbox { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; }
.servicecalc__checkbox-input { width: 1rem; height: 1rem; margin-top: .2rem; }
.servicecalc__error { min-height: 1.25rem; color: #b91c1c; font-size: .92rem; }
.servicecalc__button, .servicecalc__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(--servicecalc-accent), var(--servicecalc-accent-strong)); color: #fff; font-weight: 700; text-decoration: none;
}
.servicecalc__result { height: 100%; padding: 1.25rem; border: 1px solid var(--servicecalc-border); border-radius: 1.35rem; background: rgba(255,255,255,.9); }
.servicecalc__result-title { margin: 0; font-size: 1.15rem; }
.servicecalc__result-header, .servicecalc__result-content { display: grid; gap: .6rem; }
.servicecalc__stats { display: grid; gap: .85rem; margin: 1rem 0; }
.servicecalc__stat { padding: .95rem 1rem; border-radius: 1rem; background: var(--servicecalc-surface-soft); }
.servicecalc__stat--price { background: linear-gradient(135deg, rgba(180,83,9,.12), rgba(255,255,255,.95)); }
.servicecalc__stat-value { margin: .35rem 0 0; font-size: clamp(1.05rem,1.8vw,1.35rem); font-weight: 700; }
.servicecalc__quote { display: grid; gap: .85rem; padding-top: .35rem; }
.servicecalc__quote-title { margin: 0; font-size: 1rem; }
.servicecalc__quote-status { min-height: 1.25rem; font-size: .92rem; color: var(--servicecalc-text-soft); }
@media (max-width: 959px) { .servicecalc__layout, .servicecalc__grid--two { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .servicecalc__inner, .servicecalc__result, .servicecalc__field--checkbox, .servicecalc__field--checkboxes { padding: 1rem; } .servicecalc__button, .servicecalc__cta { width: 100%; } }
