:root {
  --fil-blue: #173f78;
  --fil-blue-dark: #102d55;
  --fil-gold: #c9921c;
  --fil-gold-soft: #f7f1e3;
  --fil-ink: #171a20;
  --fil-muted: #686d76;
  --fil-line: #e7e9ed;
  --fil-soft: #f7f8fa;
  --fil-soft-blue: #f3f6fa;
  --fil-white: #ffffff;
  --fil-owing: #8b3e45;
}

.fil-tax-calculator,
.fil-tax-calculator * {
  box-sizing: border-box !important;
}

.fil-tax-calculator {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  background: transparent !important;
}

/* ---------- INTRO ---------- */

.fil-tax-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 112px !important;
  gap: 42px !important;
  align-items: center !important;
  padding: 6px 0 34px !important;
  border-bottom: 1px solid var(--fil-line) !important;
}

.fil-tax-intro-copy {
  max-width: 780px !important;
}

.fil-brand-kicker {
  display: block !important;
  margin: 0 0 15px !important;
  color: var(--fil-gold) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.fil-tax-calculator .fil-tax-intro h2 {
  margin: 0 !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
}

.fil-tax-calculator .fil-tax-intro p {
  max-width: 700px !important;
  margin: 20px 0 0 !important;
  color: var(--fil-muted) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

.fil-tax-logo {
  width: 108px !important;
  height: 108px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 0 0 auto !important;
}

/* ---------- YEAR ---------- */

.fil-year-row {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: center !important;
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--fil-line) !important;
}

.fil-year-label {
  margin: 0 !important;
  color: var(--fil-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.fil-year-switcher {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #d9dde3 !important;
}

.fil-tax-calculator .fil-year-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 47px !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: #7a7f87 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  transition: color .18s ease, border-color .18s ease, background .18s ease !important;
}

.fil-tax-calculator .fil-year-btn:hover {
  color: var(--fil-blue) !important;
  background: #fafbfd !important;
}

.fil-tax-calculator .fil-year-btn.is-active {
  color: var(--fil-blue) !important;
  border-bottom-color: var(--fil-gold) !important;
  background: transparent !important;
  font-weight: 700 !important;
}

/* ---------- WORKSPACE ---------- */

.fil-calculator-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr) !important;
  gap: 44px !important;
  align-items: start !important;
  padding: 42px 0 0 !important;
}

.fil-input-panel {
  min-width: 0 !important;
}

.fil-section-head {
  display: flex !important;
  align-items: flex-start !important;
  gap: 17px !important;
  margin: 0 0 28px !important;
}

.fil-section-number {
  flex: 0 0 auto !important;
  padding-top: 3px !important;
  color: var(--fil-gold) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}

.fil-section-head h3,
.fil-card-title span,
.fil-actions-copy h3 {
  margin: 0 !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}

.fil-section-head h3 {
  font-size: 25px !important;
  line-height: 1.15 !important;
}

.fil-section-head p {
  margin: 7px 0 0 !important;
  color: var(--fil-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.fil-input-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px 22px !important;
}

.fil-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  margin: 0 !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
}

.fil-field > span:first-child {
  font-size: 14px !important;
}

.fil-field small {
  margin: 0 !important;
  color: #858a92 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.fil-money-input {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 6px !important;
  background: var(--fil-white) !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}

.fil-money-input:focus-within {
  border-color: var(--fil-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 63, 120, .08) !important;
}

.fil-money-input b {
  flex: 0 0 auto !important;
  padding: 0 0 0 17px !important;
  color: #8a8f97 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
}

.fil-tax-calculator .fil-money-input input,
.fil-tax-calculator .fil-email-panel input[type="email"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 54px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

.fil-tax-calculator .fil-money-input input {
  padding: 14px 16px 14px 8px !important;
}

.fil-tax-calculator .fil-field select {
  appearance: auto !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 6px !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: var(--fil-white) !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

.fil-tax-calculator .fil-field select:focus {
  border-color: var(--fil-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 63, 120, .08) !important;
}

/* ---------- RESULT ---------- */

.fil-result-panel {
  position: sticky !important;
  top: 24px !important;
  min-width: 0 !important;
  padding: 30px 32px 28px !important;
  border: 1px solid #e1e4e9 !important;
  border-left: 3px solid var(--fil-gold) !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%) !important;
  box-shadow: 0 18px 44px rgba(16, 45, 85, .07) !important;
}

.fil-result-kicker {
  margin: 0 0 24px !important;
  color: var(--fil-muted) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.fil-result-label {
  display: block !important;
  margin: 0 !important;
  color: var(--fil-muted) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
}

.fil-result-panel [data-result-amount] {
  display: block !important;
  margin: 7px 0 0 !important;
  color: var(--fil-blue) !important;
  font-family: inherit !important;
  font-size: clamp(44px, 5vw, 66px) !important;
  line-height: .98 !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
}

.fil-result-panel.is-owing [data-result-amount] {
  color: var(--fil-owing) !important;
}

.fil-result-note {
  margin: 13px 0 0 !important;
  color: #7b8088 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.fil-result-metrics {
  margin: 28px 0 0 !important;
  border-top: 1px solid var(--fil-line) !important;
}

.fil-result-metric {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--fil-line) !important;
}

.fil-result-metric:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.fil-result-metric span {
  color: var(--fil-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.fil-result-metric strong {
  color: var(--fil-ink) !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  text-align: right !important;
}

/* ---------- DETAIL AREA ---------- */

.fil-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 38px !important;
  padding: 52px 0 0 !important;
}

.fil-summary-card,
.fil-rate-card {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fil-card-title {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 16px !important;
  padding: 0 0 15px !important;
  border-bottom: 1px solid var(--fil-line) !important;
}

.fil-card-title span {
  font-size: 21px !important;
  line-height: 1.2 !important;
}

.fil-card-title small {
  margin: 0 !important;
  color: #898e96 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

.fil-summary-list {
  margin: 0 !important;
  padding: 0 !important;
}

.fil-summary-list > div {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #eef0f2 !important;
}

.fil-summary-list > div:last-child {
  border-bottom: 0 !important;
}

.fil-summary-list dt,
.fil-summary-list dd {
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.fil-summary-list dt {
  color: var(--fil-muted) !important;
  font-weight: 400 !important;
}

.fil-summary-list dd {
  color: var(--fil-ink) !important;
  font-weight: 700 !important;
  text-align: right !important;
}

.fil-summary-list .fil-negative {
  color: var(--fil-blue) !important;
}

.fil-summary-list .fil-total-row {
  margin: 5px 0 0 !important;
  padding: 14px 0 !important;
  border-top: 1px solid #d9dde3 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

.fil-summary-list .fil-total-row dt,
.fil-summary-list .fil-total-row dd {
  color: var(--fil-blue) !important;
  font-weight: 700 !important;
}

.fil-rate-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.fil-rate-table {
  width: 100% !important;
  min-width: 510px !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

.fil-rate-table th,
.fil-rate-table td {
  margin: 0 !important;
  padding: 12px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid #eef0f2 !important;
  background: transparent !important;
  vertical-align: top !important;
  text-align: left !important;
  font-family: inherit !important;
}

.fil-rate-table th {
  color: var(--fil-muted) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

.fil-rate-table td {
  color: var(--fil-muted) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

.fil-rate-table td:first-child {
  color: var(--fil-ink) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* ---------- ACTIONS ---------- */

.fil-actions-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 32px !important;
  align-items: center !important;
  margin: 54px 0 0 !important;
  padding: 30px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--fil-line) !important;
  border-bottom: 1px solid var(--fil-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fil-actions-copy .fil-brand-kicker {
  margin-bottom: 10px !important;
}

.fil-actions-copy h3 {
  font-size: 23px !important;
  line-height: 1.25 !important;
}

.fil-actions-copy p {
  max-width: 650px !important;
  margin: 8px 0 0 !important;
  color: var(--fil-muted) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.fil-action-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.fil-tax-calculator .fil-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  outline: 0 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.fil-tax-calculator .fil-btn:hover {
  transform: translateY(-1px) !important;
}

.fil-tax-calculator .fil-btn-primary {
  color: #fff !important;
  background: var(--fil-blue) !important;
  border-color: var(--fil-blue) !important;
}

.fil-tax-calculator .fil-btn-primary:hover {
  color: #fff !important;
  background: var(--fil-blue-dark) !important;
  border-color: var(--fil-blue-dark) !important;
}

.fil-tax-calculator .fil-btn-secondary {
  color: var(--fil-ink) !important;
  background: #fff !important;
  border-color: #d4d8de !important;
}

.fil-tax-calculator .fil-btn-secondary:hover {
  color: var(--fil-blue) !important;
  border-color: #aeb9c8 !important;
  background: #fff !important;
}

.fil-tax-calculator .fil-btn:disabled {
  opacity: .6 !important;
  cursor: wait !important;
  transform: none !important;
}

.fil-email-panel {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid var(--fil-line) !important;
}

.fil-email-panel[hidden] {
  display: none !important;
}

.fil-email-panel label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.fil-tax-calculator .fil-email-panel input[type="email"] {
  min-height: 50px !important;
  padding: 0 14px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 4px !important;
  background: #fff !important;
}

.fil-tax-calculator .fil-email-panel input[type="email"]:focus {
  border-color: var(--fil-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 63, 120, .08) !important;
}

.fil-email-panel .fil-btn {
  align-self: end !important;
}

.fil-form-status,
.fil-save-status {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  color: var(--fil-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.fil-save-status:empty {
  display: none !important;
}

.fil-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

/* ---------- NOTES ---------- */

.fil-notes {
  margin: 22px 0 0 !important;
}

.fil-notes details {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fil-line) !important;
  background: transparent !important;
}

.fil-notes summary {
  margin: 0 !important;
  padding: 15px 1px !important;
  color: var(--fil-ink) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 650 !important;
  cursor: pointer !important;
}

.fil-notes p {
  max-width: 980px !important;
  margin: 0 0 17px !important;
  color: var(--fil-muted) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

/* ---------- EMBED ---------- */

.fil-embed-body {
  margin: 0 !important;
  padding: 28px !important;
  background: #f7f8fa !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.fil-embed-shell {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 34px !important;
  background: #fff !important;
  border: 1px solid #e7e9ed !important;
}

.fil-powered {
  padding: 20px 4px 0 !important;
  text-align: center !important;
  color: #858a92 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.fil-powered a {
  color: var(--fil-blue) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 1020px) {
  .fil-calculator-workspace {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .fil-result-panel {
    position: relative !important;
    top: auto !important;
  }

  .fil-detail-grid {
    gap: 28px !important;
  }

  .fil-actions-card {
    grid-template-columns: 1fr !important;
  }

  .fil-action-buttons {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  .fil-tax-intro {
    grid-template-columns: 1fr 82px !important;
    gap: 22px !important;
    padding-bottom: 28px !important;
  }

  .fil-tax-logo {
    width: 78px !important;
    height: 78px !important;
  }

  .fil-tax-calculator .fil-tax-intro h2 {
    font-size: 44px !important;
  }

  .fil-year-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .fil-input-grid,
  .fil-detail-grid {
    grid-template-columns: 1fr !important;
  }

  .fil-detail-grid {
    padding-top: 42px !important;
  }
}

@media (max-width: 560px) {
  .fil-tax-intro {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding-top: 0 !important;
  }

  .fil-tax-logo {
    display: none !important;
  }

  .fil-tax-calculator .fil-tax-intro h2 {
    font-size: 38px !important;
    line-height: 1.05 !important;
  }

  .fil-tax-calculator .fil-tax-intro p {
    margin-top: 16px !important;
    font-size: 15px !important;
  }

  .fil-year-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-bottom: 0 !important;
    gap: 0 10px !important;
  }

  .fil-tax-calculator .fil-year-btn {
    border-bottom: 1px solid #d9dde3 !important;
  }

  .fil-tax-calculator .fil-year-btn.is-active {
    border-bottom: 2px solid var(--fil-gold) !important;
  }

  .fil-calculator-workspace {
    padding-top: 34px !important;
  }

  .fil-input-grid {
    gap: 18px !important;
  }

  .fil-result-panel {
    padding: 25px 22px 23px !important;
  }

  .fil-result-panel [data-result-amount] {
    font-size: 47px !important;
  }

  .fil-card-title {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .fil-actions-card {
    margin-top: 42px !important;
    padding: 26px 0 !important;
  }

  .fil-action-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .fil-tax-calculator .fil-btn {
    width: 100% !important;
  }

  .fil-email-panel {
    grid-template-columns: 1fr !important;
  }

  .fil-email-panel .fil-btn {
    width: 100% !important;
  }

  .fil-embed-body {
    padding: 0 !important;
    background: #fff !important;
  }

  .fil-embed-shell {
    padding: 24px 18px !important;
    border: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fil-tax-calculator .fil-year-btn,
  .fil-money-input,
  .fil-tax-calculator .fil-btn {
    transition: none !important;
  }
}
