.sa-field{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#334155}.sa-field .sa-label{display:block;font-weight:600;margin:0 0 8px;color:#0f243a}.sa-field .sa-input{box-sizing:border-box;width:100%;min-height:44px;padding:12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f243a;font:inherit}.sa-field .sa-input[type=checkbox]{width:22px;min-height:22px;height:22px;accent-color:#246491}.sa-field .sa-input:focus{outline:2px solid #246491;outline-offset:2px}.sa-result{color:#334155;font:15px/1.7 'Plus Jakarta Sans',sans-serif}.sa-range{display:block;font-size:28px;font-weight:600;color:#122d4a;line-height:1.4;overflow-wrap:anywhere}.sa-breakdown{border-top:1px solid #e2e8f0;padding-top:16px}.sa-note{font-size:12px}.sa-submit{cursor:pointer;border:0;border-radius:6px;padding:14px 22px;background:#122d4a;color:#fff;font:600 14px 'Plus Jakarta Sans',sans-serif}.sa-submit:disabled{opacity:.65;cursor:wait}.sa-status{font-size:14px;line-height:1.6;margin-top:12px}@media(max-width:767px){.sa-range{font-size:23px}}

/* S Atelier 1.1.0: scoped outer frame. No body-wide overflow override. */
.sa-page-shell,
.sa-page-shell *,
.sa-page-shell *::before,
.sa-page-shell *::after { box-sizing: border-box; }
.sa-page-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  margin-inline: 0;
  padding: 0;
  overflow-x: hidden;
}
/* Clip only horizontally when supported; keep vertical layout and scrolling natural. */
@supports (overflow: clip) {
  .sa-page-shell, .elementor .e-con.sa-page-shell { overflow-x: clip; overflow-y: visible; }
}
.sa-page-shell :where(.e-con, .e-con-inner, .elementor-widget, .elementor-widget-container) {
  min-width: 0;
  max-width: 100%;
}
.sa-page-shell :where(.sa-section) { width: 100%; padding-inline: 28px; }
.sa-page-shell :where(.sa-content-frame) {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
.sa-page-shell :where(.sa-content-frame > .e-con-inner) {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}
.sa-page-shell :where(.elementor-heading-title, .elementor-widget-text-editor, .sa-field, .sa-result) {
  overflow-wrap: anywhere;
  word-break: normal;
}
.sa-page-shell :where(img, video, iframe, input, select, textarea) { max-width: 100%; }
.sa-page-shell :where(.elementor-button, .elementor-button-text) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 1024px) {
  .sa-page-shell :where(.sa-section) { padding-inline: 24px; }
}
@media (max-width: 767px) {
  .sa-page-shell :where(.sa-section) { padding-inline: 20px; }
}
