/* reset.css — replaces normalize.css + webflow.css
   Contains only what sattva-springs actually uses. */

/* ── Box model ────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

/* ── Base ─────────────────────────────────────────────────────────────────── */
html { height: 100%; }
body { margin: 0; min-height: 100%; background-color: #fff; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333; }
img { max-width: 100%; vertical-align: middle; display: inline-block; }

/* ── Typography ───────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 { font-weight: bold; margin-top: 0; margin-bottom: 10px; }
p { margin-top: 0; margin-bottom: 10px; }
blockquote { margin: 0 0 10px; padding: 10px 20px; border-left: 5px solid #e2e2e2; font-size: 18px; line-height: 22px; }
figure { margin: 0 0 10px; }
figcaption { margin-top: 5px; text-align: center; }
ul, ol { margin-top: 0; margin-bottom: 10px; padding-left: 40px; }
label { display: block; margin-bottom: 5px; font-weight: bold; }
fieldset { padding: 0; margin: 0; border: 0; }
button, [type='button'], [type='reset'] { border: 0; cursor: pointer; -webkit-appearance: button; }

/* ── Utilities ────────────────────────────────────────────────────────────── */
.w-inline-block { max-width: 100%; display: inline-block; }
.w-hidden { display: none; }
.w-list-unstyled { padding-left: 0; list-style: none; }
.w-embed::before, .w-embed::after { content: " "; display: table; }
.w-embed::after { clear: both; }

/* ── Layout helpers ───────────────────────────────────────────────────────── */
.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}
.w-layout-vflex { flex-direction: column; align-items: flex-start; display: flex; }

/* ── Button ───────────────────────────────────────────────────────────────── */
.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898ec;
  color: #fff;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
input.w-button { -webkit-appearance: button; }

/* ── Forms ────────────────────────────────────────────────────────────────── */
.w-form { margin: 0 0 15px; }
.w-form-done { display: none; padding: 20px; text-align: center; background-color: #ddd; }
.w-form-fail { display: none; margin-top: 10px; padding: 10px; background-color: #ffdede; }
.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857;
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
}
.w-input::placeholder, .w-select::placeholder { color: #999; }
.w-input:focus, .w-select:focus { border-color: #3898ec; outline: 0; }
.w-input[disabled], .w-select[disabled],
.w-input[readonly], .w-select[readonly],
fieldset[disabled] .w-input, fieldset[disabled] .w-select { cursor: not-allowed; }
.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled),
.w-input[readonly], .w-select[readonly],
fieldset[disabled]:not(.w-input-disabled) .w-input,
fieldset[disabled]:not(.w-input-disabled) .w-select { background-color: #eee; }
textarea.w-input, textarea.w-select { height: auto; }
.w-select { background-color: #f3f3f3; }
.w-select[multiple] { height: auto; }

/* ── Dropdown ─────────────────────────────────────────────────────────────── */
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus { outline: 0; }
.w-dropdown-list {
  position: absolute;
  background: #ddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open { display: block; }
.w-dropdown-link { padding: 10px 20px; display: block; color: #222; }
.w-dropdown-link.w--current { color: #0082f3; }
.w-dropdown-link:focus { outline: 0; }

/* ── Navigation ───────────────────────────────────────────────────────────── */
.w-nav { position: relative; background: #ddd; z-index: 1000; }
.w-nav::before, .w-nav::after { content: " "; display: table; }
.w-nav::after { clear: both; }
.w-nav-brand { position: relative; float: left; text-decoration: none; color: #333; }
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.w-nav-link.w--current { color: #0082f3; }
.w-nav-menu { position: relative; float: right; }
[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #c8c8c8;
  text-align: center;
  overflow: visible;
  min-width: 200px;
}
.w--nav-link-open { display: block; position: relative; }
.w-nav-overlay { position: absolute; overflow: hidden; display: none; top: 100%; left: 0; right: 0; width: 100%; }
.w-nav-overlay [data-nav-menu-open] { top: 0; }
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  user-select: none;
}
.w-nav-button:focus { outline: 0; }
.w-nav-button.w--open { background-color: #c8c8c8; color: #fff; }
.w-nav[data-collapse='all'] .w-nav-menu { display: none; }
.w-nav[data-collapse='all'] .w-nav-button { display: block; }
.w--nav-dropdown-open { display: block; }
.w--nav-dropdown-toggle-open { display: block; }
.w--nav-dropdown-list-open { position: static; }

@media screen and (max-width: 991px) {
  .w-nav[data-collapse='medium'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='medium'] .w-nav-button { display: block; }
}
@media screen and (max-width: 767px) {
  .w-nav[data-collapse='small'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='small'] .w-nav-button { display: block; }
  .w-nav-brand { padding-left: 10px; }
}
@media screen and (max-width: 479px) {
  .w-nav[data-collapse='tiny'] .w-nav-menu { display: none; }
  .w-nav[data-collapse='tiny'] .w-nav-button { display: block; }
}
