.ftc-calculator {
  --ftc-accent: #0F766E;
  --ftc-ink: #0F172A;
  --ftc-secondary: #334155;
  --ftc-bg: #F8FAFC;
  --ftc-border: #E2E8F0;
  --ftc-success: #16A34A;
  font-family: 'Inter', sans-serif;
  color: var(--ftc-ink);
  max-width: 980px;
  margin: 0 auto;
}
.ftc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 782px) {
  .ftc-grid { grid-template-columns: 1fr; }
}
.ftc-card {
  background: #fff;
  border: 1px solid var(--ftc-border);
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 16px rgba(15, 118, 110, 0.06);
}
.ftc-field { margin-bottom: 18px; }
.ftc-field label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--ftc-secondary);
  margin-bottom: 6px;
}
.ftc-input-wrap {
  display: flex;
  align-items: center;
  border: 1px solid var(--ftc-border);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.ftc-input-wrap:focus-within { border-color: var(--ftc-accent); box-shadow: 0 0 0 3px rgba(15,118,110,0.15); }
.ftc-affix { padding: 0 10px; color: var(--ftc-secondary); font-weight: 600; background: var(--ftc-bg); align-self: stretch; display: flex; align-items: center; }
.ftc-input { flex: 1; border: none; outline: none; padding: 10px 12px; font-size: 16px; width: 100%; -moz-appearance: textfield; }
.ftc-input::-webkit-outer-spin-button, .ftc-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
select.ftc-input { padding: 10px 12px; border: 1px solid var(--ftc-border); border-radius: 8px; }
.ftc-slider { width: 100%; margin-top: 10px; accent-color: var(--ftc-accent); }
.ftc-toggle { display: flex; gap: 6px; flex-wrap: wrap; }
.ftc-toggle-btn {
  border: 1px solid var(--ftc-border);
  background: #fff;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--ftc-secondary);
}
.ftc-toggle-btn.is-active { background: var(--ftc-accent); border-color: var(--ftc-accent); color: #fff; }
.ftc-error { display: block; color: #DC2626; font-size: 13px; margin-top: 4px; min-height: 16px; }
.ftc-reset {
  background: transparent;
  border: 1px solid var(--ftc-border);
  color: var(--ftc-secondary);
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
}
.ftc-reset:hover { border-color: var(--ftc-accent); color: var(--ftc-accent); }
.ftc-result-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--ftc-border);
}
.ftc-result-row:last-of-type { border-bottom: none; }
.ftc-result-label { font-size: 14px; color: var(--ftc-secondary); }
.ftc-result-value { font-size: 18px; font-weight: 700; color: var(--ftc-ink); }
.ftc-result-primary .ftc-result-value { font-size: 28px; color: var(--ftc-success); }
.ftc-result-primary .ftc-result-label { font-size: 15px; font-weight: 600; }
.ftc-chart-wrap { margin-top: 20px; max-height: 220px; }
.ftc-disclaimer { font-size: 13px; color: var(--ftc-secondary); margin-top: 16px; line-height: 1.5; }
.ftc-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; max-width: 1160px; margin: 0 auto; }
.ftc-tile { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid #E2E8F0; border-radius: 14px; padding: 22px; text-decoration: none; box-shadow: 0 4px 16px rgba(15,118,110,0.06); transition: transform .15s ease, box-shadow .15s ease; }
.ftc-tile:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(15,118,110,0.12); }
.ftc-tile-icon { font-size: 26px; color: #0F766E; width: 26px; height: 26px; }
.ftc-tile-title { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 17px; color: #0F172A; }
.ftc-tile-desc { font-family: 'Inter', sans-serif; font-size: 14px; color: #334155; line-height: 1.5; }
.ftc-tile-cta { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; color: #0F766E; margin-top: 4px; }
.ftc-search-wrap { position: relative; max-width: 480px; margin: 0 auto; font-family: 'Inter', sans-serif; }
.ftc-search-input { width: 100%; padding: 14px 18px; font-size: 16px; border: 1px solid #E2E8F0; border-radius: 10px; outline: none; }
.ftc-search-input:focus { border-color: #0F766E; box-shadow: 0 0 0 3px rgba(15,118,110,0.15); }
.ftc-search-results { display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; background: #fff; border: 1px solid #E2E8F0; border-radius: 10px; box-shadow: 0 10px 30px rgba(15,23,42,0.12); max-height: 320px; overflow-y: auto; z-index: 20; }
.ftc-search-results.is-open { display: block; }
.ftc-search-item { display: block; padding: 12px 18px; text-decoration: none; color: #0F172A; border-bottom: 1px solid #F1F5F9; }
.ftc-search-item:hover { background: #F8FAFC; color: #0F766E; }
.ftc-search-empty { padding: 12px 18px; color: #334155; font-size: 14px; }
.ftc-breadcrumbs { font-family: 'Inter', sans-serif; font-size: 13px; color: #334155; max-width: 980px; margin: 0 auto 12px; }
.ftc-breadcrumbs a { color: #0F766E; text-decoration: none; }
.ftc-contact-form { max-width: 560px; margin: 0 auto; font-family: 'Inter', sans-serif; }
.ftc-contact-form .ftc-field { margin-bottom: 16px; }
.ftc-contact-form label { display:block; font-size:14px; font-weight:600; color:#334155; margin-bottom:6px; }
.ftc-contact-form .ftc-input { width:100%; padding:10px 12px; border:1px solid #E2E8F0; border-radius:8px; font-size:15px; box-sizing: border-box; }
.ftc-contact-form .ftc-input:focus { outline:none; border-color:#0F766E; box-shadow:0 0 0 3px rgba(15,118,110,0.15); }
.ftc-contact-submit { background:#0F766E; color:#fff; border:none; padding:12px 24px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; }
.ftc-contact-submit:hover { background:#0d635c; }
.ftc-contact-submit:disabled { opacity:0.6; cursor:default; }
.ftc-contact-status { margin-top:12px; font-size:14px; }
.ftc-related { max-width:980px; margin:32px auto 0; font-family:'Inter', sans-serif; }
.ftc-related h3 { font-size:20px; color:#0F172A; margin-bottom:16px; }
/* Homepage & section layout */
.ftc-hero { text-align: center; max-width: 760px; margin: 0 auto; padding: 12px 20px 40px; font-family: 'Inter', sans-serif; }
.ftc-hero-sub { font-size: 18px; color: #334155; line-height: 1.6; margin-bottom: 28px; }
.ftc-section { max-width: 1160px; margin: 0 auto; padding: 40px 20px; text-align: center; font-family: 'Inter', sans-serif; }
.ftc-section h2 { font-size: 32px; color: #0F172A; margin-bottom: 28px; font-weight: 700; }
.ftc-section-alt { background: #F8FAFC; border-radius: 24px; padding: 48px 20px; }
.ftc-cat-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 28px; }
.ftc-cat-link { display: inline-block; padding: 10px 20px; background: #fff; border: 1px solid #E2E8F0; border-radius: 999px; color: #0F172A; text-decoration: none; font-size: 15px; font-weight: 600; transition: all .15s ease; }
.ftc-cat-link:hover { background: #0F766E; border-color: #0F766E; color: #fff; }
.ftc-homepage-copy { max-width: 720px; margin: 0 auto; color: #334155; font-size: 15px; line-height: 1.6; }

/* Section spacing rhythm for content pages */
.entry-content > p:first-of-type { max-width: 760px; font-size: 17px; color: #334155; line-height: 1.6; margin-bottom: 32px; }
