#ret-wrapper {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: #0f172a;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  background: #ffffff;

  /* Design tokens scoped to wrapper */
  --ret-bg:           #ffffff;
  --ret-bg-2:         #f9fafb;
  --ret-bg-3:         #f5f7fa;
  --ret-blue:         #2563eb;
  --ret-blue-h:       #1d4ed8;
  --ret-blue-pale:    #eff6ff;
  --ret-teal:         #0d9488;
  --ret-teal-pale:    #f0fdfa;
  --ret-green:        #16a34a;
  --ret-green-pale:   #f0fdf4;
  --ret-orange:       #d97706;
  --ret-orange-pale:  #fffbeb;
  --ret-gold:         #b45309;
  --ret-gold-pale:    #fef3c7;
  --ret-text-1:       #0f172a;
  --ret-text-2:       #475569;
  --ret-text-3:       #94a3b8;
  --ret-border:       #e2e8f0;
  --ret-border-2:     #cbd5e1;
  --ret-red:          #dc2626;
  --ret-red-pale:     #fef2f2;
  --ret-mono:         'DM Mono', monospace;
  --ret-r-sm:  6px;
  --ret-r-md:  10px;
  --ret-r-lg:  16px;
  --ret-r-xl:  20px;
  --ret-r-2xl: 28px;
  --ret-shadow-sm: 0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);
  --ret-shadow-md: 0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);
  --ret-shadow-lg: 0 12px 32px rgba(15,23,42,.10),0 4px 8px rgba(15,23,42,.05);
  --ret-header-h: 64px;
  --ret-sidebar-w: 272px;
  --ret-max-w: 1200px;
  --ret-gap: clamp(1rem,3vw,2rem);
}

#ret-wrapper *,
#ret-wrapper *::before,
#ret-wrapper *::after { box-sizing: border-box; }

#ret-wrapper img, #ret-wrapper svg { display: block; max-width: 100%; }
#ret-wrapper ul, #ret-wrapper ol { list-style: none; }
#ret-wrapper button { font-family: inherit; cursor: pointer; border: none; background: none; }
#ret-wrapper input, #ret-wrapper select { font-family: inherit; font-size: inherit; }

/* ============================================================
   LAYOUT UTILITIES
============================================================ */
.ret-container {
  width: 100%;
  max-width: var(--ret-max-w);
  margin-inline: auto;
  padding-inline: var(--ret-gap);
}
.ret-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ============================================================
   PAGE LAYOUT
============================================================ */
.ret-calc-page { padding-top: 2rem; padding-bottom: 5rem; min-height: 80vh; }
.ret-page-layout {
  display: grid;
  grid-template-columns: 1fr var(--ret-sidebar-w);
  gap: 2.5rem;
  align-items: start;
}
.ret-main-col { min-width: 0; display: flex; flex-direction: column; gap: 2rem; }

/* ============================================================
   CALC HERO
============================================================ */
.ret-calc-hero {
  display: flex; gap: 1.25rem; align-items: flex-start;
  padding: 1.5rem 0 0; border-top: 1px solid var(--ret-border);
}
.ret-calc-hero-icon {
  display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px; border-radius: var(--ret-r-xl);
  font-size: 1.75rem; flex-shrink: 0; line-height: 1;
  background: var(--ret-gold-pale);
}
.ret-calc-hero-body { flex: 1; min-width: 0; }
.ret-calc-hero-meta {
  display: flex; align-items: center; gap: .75rem;
  flex-wrap: wrap; margin-bottom: .625rem;
}
.ret-badge {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .25rem .625rem; font-size: .7rem; font-weight: 700;
  border-radius: 99px; line-height: 1;
}
.ret-badge-gold   { background: var(--ret-gold-pale);  color: var(--ret-gold); }
.ret-badge-green  { background: var(--ret-green-pale); color: var(--ret-green); }
.ret-badge-blue   { background: var(--ret-blue-pale);  color: var(--ret-blue); }
.ret-badge-teal   { background: var(--ret-teal-pale);  color: var(--ret-teal); }
.ret-badge-orange { background: var(--ret-orange-pale);color: var(--ret-orange); }
.ret-updated { font-size: .7rem; color: var(--ret-text-3); }

.ret-calc-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800; letter-spacing: -.025em; line-height: 1.15;
  color: var(--ret-text-1); margin-bottom: .75rem;
  padding-bottom: .625rem;
  border-bottom: 3px solid var(--ret-gold); display: inline-block;
}
.ret-calc-desc { font-size: 1.0625rem; color: var(--ret-text-2); line-height: 1.75; margin: 0; }

/* ============================================================
   WIDGET BOX
============================================================ */
.ret-widget-box {
  background: var(--ret-bg-2); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-2xl); overflow: hidden;
}
.ret-widget-box-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.125rem 1.5rem; background: var(--ret-bg);
  border-bottom: 1px solid var(--ret-border);
}
.ret-widget-box-title {
  font-size: .8rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--ret-text-3);
}
.ret-widget-box-badge {
  display: flex; align-items: center; gap: .375rem;
  font-size: .7rem; font-weight: 600; color: var(--ret-green);
  background: var(--ret-green-pale); border-radius: 99px; padding: .25rem .625rem;
}
.ret-widget-body { padding: 1.75rem; }

/* Tab Navigation */
.ret-tabs {
  display: flex; gap: .5rem; flex-wrap: wrap;
  padding: 1rem 1.5rem; background: var(--ret-bg-3);
  border-bottom: 1px solid var(--ret-border);
}
.ret-tab-btn {
  padding: .5rem 1rem; font-size: .8125rem; font-weight: 600;
  border-radius: var(--ret-r-md); color: var(--ret-text-2);
  border: 1.5px solid transparent; transition: all .15s; cursor: pointer;
  background: var(--ret-bg);
}
.ret-tab-btn:hover { background: var(--ret-blue-pale); color: var(--ret-blue); }
.ret-tab-btn.ret-tab-active {
  background: var(--ret-blue); color: #fff;
  border-color: var(--ret-blue);
  box-shadow: 0 2px 8px rgba(37,99,235,.25);
}
.ret-tab-panel { display: none; }
.ret-tab-panel.ret-panel-active { display: block; }

/* ============================================================
   FORM FIELDS
============================================================ */
.ret-calc-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; align-items: start;
}
.ret-field { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .875rem; }
.ret-field label { font-size: .8125rem; font-weight: 700; color: var(--ret-text-1); }
.ret-field-hint { font-size: .7rem; color: var(--ret-text-3); }

#ret-wrapper input[type=number],
#ret-wrapper select {
  width: 100%; padding: .625rem .875rem;
  font-size: .9rem; color: var(--ret-text-1);
  background: var(--ret-bg); border: 1.5px solid var(--ret-border-2);
  border-radius: var(--ret-r-md); outline: none;
  transition: border-color .15s, box-shadow .15s;
  -moz-appearance: textfield;
}
#ret-wrapper input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; }
#ret-wrapper input[type=number]:focus,
#ret-wrapper select:focus {
  border-color: var(--ret-blue);
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
#ret-wrapper select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .75rem center;
  padding-right: 2.25rem; cursor: pointer;
}

.ret-section-heading {
  font-size: .8125rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; color: var(--ret-text-3);
  margin-bottom: 1rem; padding-bottom: .5rem;
  border-bottom: 1px solid var(--ret-border);
}

.ret-calc-btn {
  width: 100%; margin-top: .5rem;
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .8rem 1.5rem; font-size: .9375rem; font-weight: 700;
  background: var(--ret-blue); color: #fff; border-radius: var(--ret-r-lg);
  box-shadow: 0 2px 8px rgba(37,99,235,.25), 0 8px 20px rgba(37,99,235,.15);
  transition: background .15s, transform .15s, box-shadow .15s;
  border: none; cursor: pointer;
}
.ret-calc-btn:hover {
  background: var(--ret-blue-h); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37,99,235,.3), 0 12px 28px rgba(37,99,235,.2);
}
.ret-calc-btn:active { transform: translateY(0); }
.ret-clear-btn {
  width: 100%; margin-top: .5rem;
  padding: .625rem 1.5rem; font-size: .875rem; font-weight: 600;
  background: var(--ret-bg); color: var(--ret-text-2);
  border: 1.5px solid var(--ret-border-2); border-radius: var(--ret-r-lg);
  cursor: pointer; transition: all .15s;
}
.ret-clear-btn:hover { background: var(--ret-bg-2); border-color: var(--ret-red); color: var(--ret-red); }
.ret-btn-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .5rem; }

/* ============================================================
   RESULTS
============================================================ */
.ret-results-panel { display: none; margin-top: 1.75rem; }
.ret-results-panel.ret-show { display: block; animation: ret-fadein .3s ease; }

.ret-balance-banner {
  background: linear-gradient(135deg, var(--ret-gold-pale) 0%, var(--ret-blue-pale) 100%);
  border: 1px solid rgba(180,83,9,.2); border-radius: var(--ret-r-xl);
  padding: 1.5rem 1.75rem; margin-bottom: 1.5rem;
}
.ret-balance-banner-label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ret-gold); margin-bottom: .5rem; }
.ret-balance-banner-value { font-family: var(--ret-mono); font-size: 2.5rem; font-weight: 500; color: var(--ret-text-1); line-height: 1; }
.ret-balance-banner-sub { font-size: .875rem; color: var(--ret-text-2); margin-top: .5rem; }
.ret-balance-banner-sub strong { color: var(--ret-text-1); }

.ret-results-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.ret-result-card {
  background: var(--ret-bg); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-lg); padding: 1.125rem 1.25rem;
  transition: box-shadow .2s, transform .2s;
}
.ret-result-card:hover { box-shadow: var(--ret-shadow-md); transform: translateY(-1px); }
.ret-result-card.ret-rc-blue { background: var(--ret-blue-pale); border-color: rgba(37,99,235,.2); }
.ret-result-card.ret-rc-green { background: var(--ret-green-pale); border-color: rgba(22,163,74,.2); }
.ret-result-card.ret-rc-orange { background: var(--ret-orange-pale); border-color: rgba(217,119,6,.2); }
.ret-result-card.ret-rc-teal { background: var(--ret-teal-pale); border-color: rgba(13,148,136,.2); }
.ret-rc-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ret-text-3); display: block; margin-bottom: .375rem; }
.ret-rc-value { font-family: var(--ret-mono); font-size: 1.5rem; font-weight: 500; color: var(--ret-text-1); line-height: 1; display: block; }
.ret-rc-note { font-size: .7rem; color: var(--ret-text-3); margin-top: .25rem; display: block; }

/* ============================================================
   GROWTH CHART (Pure CSS/SVG — no external libs)
============================================================ */
.ret-chart-section { margin-bottom: 1.5rem; }
.ret-chart-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
}
.ret-chart-title { font-size: .875rem; font-weight: 700; color: var(--ret-text-1); }
.ret-chart-legend { display: flex; gap: 1rem; flex-wrap: wrap; }
.ret-legend-item { display: flex; align-items: center; gap: .375rem; font-size: .7rem; font-weight: 600; color: var(--ret-text-2); }
.ret-legend-dot { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }
.ret-legend-emp  { background: #3b82f6; }
.ret-legend-empr { background: #f59e0b; }
.ret-legend-ret  { background: #10b981; }

.ret-chart-wrap {
  background: var(--ret-bg); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-lg); padding: 1.25rem; overflow-x: auto;
}
#ret-svg-chart { width: 100%; min-width: 340px; height: 220px; display: block; }

/* ============================================================
   WITHDRAWAL SECTION
============================================================ */
.ret-withdrawal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.ret-w-card {
  background: var(--ret-bg-2); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-lg); padding: 1rem;
}
.ret-w-card-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ret-text-3); margin-bottom: .375rem; }
.ret-w-card-value { font-family: var(--ret-mono); font-size: 1.125rem; color: var(--ret-text-1); }
.ret-w-card-sub { font-size: .7rem; color: var(--ret-text-3); margin-top: .25rem; }

/* Schedule Toggle */
.ret-schedule-toggle {
  display: inline-flex; align-items: center; gap: .375rem;
  font-size: .8125rem; font-weight: 600; color: var(--ret-blue);
  cursor: pointer; padding: .375rem 0; text-decoration: none;
  transition: color .15s;
}
.ret-schedule-toggle:hover { color: var(--ret-blue-h); }
.ret-schedule-table {
  width: 100%; border-collapse: collapse;
  font-size: .8rem; margin-top: .875rem; display: none;
}
.ret-schedule-table th,
.ret-schedule-table td {
  border: 1px solid var(--ret-border); padding: .5rem .75rem;
  text-align: right; font-family: var(--ret-mono);
}
.ret-schedule-table th {
  background: var(--ret-bg-2); font-family: inherit; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em; font-size: .7rem;
  color: var(--ret-text-2); text-align: center;
}
.ret-schedule-table th:first-child,
.ret-schedule-table td:first-child { text-align: center; }
.ret-schedule-table tbody tr:nth-child(even) { background: var(--ret-bg-2); }

/* ============================================================
   EARLY WITHDRAWAL RESULTS
============================================================ */
.ret-ew-results-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 1.5rem; }
.ret-ew-main-card {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, var(--ret-green-pale) 0%, var(--ret-teal-pale) 100%);
  border: 1px solid rgba(22,163,74,.2); border-radius: var(--ret-r-xl);
  padding: 1.5rem 1.75rem;
}
.ret-ew-main-label { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ret-green); }
.ret-ew-main-value { font-family: var(--ret-mono); font-size: 2.25rem; color: var(--ret-text-1); line-height: 1; margin-top: .375rem; }
.ret-ew-item { background: var(--ret-bg); border: 1px solid var(--ret-border); border-radius: var(--ret-r-lg); padding: 1rem 1.25rem; }
.ret-ew-item.ret-ew-negative { background: var(--ret-red-pale); border-color: rgba(220,38,38,.2); }
.ret-ew-item-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ret-text-3); display: block; margin-bottom: .25rem; }
.ret-ew-item-value { font-family: var(--ret-mono); font-size: 1.25rem; color: var(--ret-text-1); display: block; }
.ret-ew-item.ret-ew-negative .ret-ew-item-value { color: var(--ret-red); }

/* ============================================================
   MAX MATCH RESULTS
============================================================ */
.ret-max-match-result {
  display: none; margin-top: 1.5rem;
  background: linear-gradient(135deg, var(--ret-gold-pale) 0%, var(--ret-orange-pale) 100%);
  border: 1px solid rgba(180,83,9,.2); border-radius: var(--ret-r-xl);
  padding: 1.5rem;
}
.ret-mm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.ret-mm-card { background: rgba(255,255,255,.7); border-radius: var(--ret-r-lg); padding: 1rem; }
.ret-mm-card-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ret-text-3); margin-bottom: .25rem; }
.ret-mm-card-value { font-family: var(--ret-mono); font-size: 1.375rem; color: var(--ret-text-1); }
.ret-mm-desc { font-size: .875rem; color: var(--ret-text-2); line-height: 1.7; }

/* ============================================================
   QUICK SUMMARY BOX
============================================================ */
.ret-summary-box {
  background: linear-gradient(135deg, var(--ret-gold-pale) 0%, var(--ret-blue-pale) 100%);
  border: 1px solid rgba(180,83,9,.12); border-radius: var(--ret-r-2xl);
  padding: 1.75rem 2rem;
}
.ret-summary-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.ret-summary-icon {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; background: var(--ret-gold); color: #fff;
  border-radius: var(--ret-r-md); flex-shrink: 0; font-size: 1.1rem;
}
.ret-summary-title { font-size: 1.0625rem; font-weight: 700; color: var(--ret-text-1); }
.ret-summary-list { display: flex; flex-direction: column; gap: .875rem; list-style: none; }
.ret-summary-item { display: flex; gap: .875rem; align-items: flex-start; font-size: .875rem; color: var(--ret-text-2); line-height: 1.7; }
.ret-summary-num {
  display: flex; align-items: center; justify-content: center;
  min-width: 26px; height: 26px; border-radius: 50%;
  background: var(--ret-gold); color: #fff; font-size: .7rem; font-weight: 700;
  flex-shrink: 0; margin-top: 1px;
}

/* ============================================================
   ARTICLE
============================================================ */
.ret-article-box {
  background: var(--ret-bg); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-2xl); padding: 2.5rem;
  color: var(--ret-text-2); line-height: 1.85;
}
.ret-article-box h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.625rem); font-weight: 800;
  color: var(--ret-text-1); letter-spacing: -.015em; line-height: 1.2;
  margin: 2.5rem 0 1rem; padding-left: 1.125rem;
  border-left: 4px solid var(--ret-gold);
}
.ret-article-box h2:first-child { margin-top: 0; }
.ret-article-box h3 {
  font-size: 1.125rem; font-weight: 700; color: var(--ret-text-1);
  line-height: 1.3; margin: 2rem 0 .875rem;
  padding-bottom: .5rem; border-bottom: 2px solid var(--ret-teal-pale);
  display: flex; align-items: center; gap: .625rem;
}
.ret-article-box h3::before {
  content: ''; display: inline-block;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--ret-teal); flex-shrink: 0;
}
.ret-article-box h4 {
  font-size: 1rem; font-weight: 700; color: var(--ret-text-1);
  line-height: 1.4; margin: 1.75rem 0 .75rem;
  display: flex; align-items: center; gap: .5rem;
}
.ret-article-box h4::before { content: '▸'; color: var(--ret-blue); font-size: .85em; }
.ret-article-box p { font-size: .9375rem; color: var(--ret-text-2); line-height: 1.85; margin-bottom: 1.125rem; }
.ret-article-box strong { color: var(--ret-text-1); font-weight: 700; }
.ret-article-box a { color: var(--ret-blue); font-weight: 500; text-decoration: underline; text-decoration-color: rgba(37,99,235,.3); text-underline-offset: 3px; transition: text-decoration-color .15s; }
.ret-article-box a:hover { text-decoration-color: var(--ret-blue); }
.ret-article-list {
  display: flex; flex-direction: column; gap: .625rem;
  list-style: none; margin-bottom: 1.25rem;
}
.ret-article-list li {
  display: flex; gap: .75rem; font-size: .9375rem; color: var(--ret-text-2);
  line-height: 1.7; padding: .75rem 1rem;
  background: var(--ret-bg-2); border-radius: var(--ret-r-md);
  border-left: 3px solid var(--ret-border-2);
}
.ret-article-list li::before { content: '→'; color: var(--ret-blue); font-weight: 700; flex-shrink: 0; }

.ret-callout {
  display: flex; gap: .875rem;
  background: var(--ret-gold-pale); border: 1px solid rgba(180,83,9,.2);
  border-radius: var(--ret-r-lg); padding: 1.25rem 1.5rem; margin: 1.5rem 0;
  font-size: .9375rem; color: var(--ret-text-2); line-height: 1.75;
}
.ret-callout-icon { font-size: 1.25rem; flex-shrink: 0; line-height: 1.4; }
.ret-callout-red {
  background: var(--ret-red-pale); border-color: rgba(220,38,38,.2);
}
.ret-callout-green {
  background: var(--ret-green-pale); border-color: rgba(22,163,74,.2);
}

.ret-highlight-box {
  background: linear-gradient(135deg, var(--ret-blue-pale) 0%, var(--ret-teal-pale) 100%);
  border: 1px solid rgba(37,99,235,.15); border-radius: var(--ret-r-xl);
  padding: 1.5rem; margin: 1.5rem 0;
}
.ret-highlight-box p { margin: 0; font-size: .9375rem; }

.ret-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.25rem; }
.ret-mini-card {
  background: var(--ret-bg-2); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-lg); padding: 1.125rem;
}
.ret-mini-card-title { font-size: .8125rem; font-weight: 700; color: var(--ret-text-1); margin-bottom: .5rem; }
.ret-mini-card p { font-size: .875rem; margin: 0; }

/* ============================================================
   FAQ
============================================================ */
.ret-faq-box {
  background: var(--ret-bg-2); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-2xl); padding: 2rem;
}
.ret-faq-heading {
  display: flex; align-items: center; gap: .75rem;
  font-size: 1.375rem; font-weight: 800; color: var(--ret-text-1);
  letter-spacing: -.015em; margin-bottom: 1.25rem;
}
.ret-faq-heading-icon { color: var(--ret-gold); display: flex; align-items: center; }
.ret-faq-list { display: flex; flex-direction: column; gap: .5rem; }
.ret-faq-item {
  background: var(--ret-bg); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-lg); overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.ret-faq-item.ret-open { border-color: var(--ret-gold); box-shadow: 0 0 0 3px rgba(180,83,9,.07); }
.ret-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 1.125rem 1.375rem;
  background: none; border: none; cursor: pointer; text-align: left;
  font-size: .9375rem; font-weight: 600; color: var(--ret-text-1); line-height: 1.5;
  transition: background .15s;
}
.ret-faq-q:hover { background: var(--ret-bg-2); }
.ret-faq-chevron { display: flex; flex-shrink: 0; color: var(--ret-text-3); transition: transform .25s, color .2s; }
.ret-faq-item.ret-open .ret-faq-chevron { transform: rotate(180deg); color: var(--ret-gold); }
.ret-faq-a {
  border-top: 1px solid var(--ret-border); padding: 1.125rem 1.375rem;
  display: none; animation: ret-fadein .2s ease;
}
.ret-faq-item.ret-open .ret-faq-a { display: block; }
.ret-faq-a p { font-size: .875rem; color: var(--ret-text-2); line-height: 1.8; margin: 0; }

@keyframes ret-fadein {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   CONCLUSION
============================================================ */
.ret-conclusion-box {
  background: linear-gradient(135deg, var(--ret-gold-pale) 0%, var(--ret-green-pale) 100%);
  border: 1px solid rgba(180,83,9,.15); border-radius: var(--ret-r-2xl); padding: 2rem;
}
.ret-conclusion-inner { display: flex; gap: 1.125rem; align-items: flex-start; }
.ret-conclusion-emoji { font-size: 2rem; flex-shrink: 0; line-height: 1; }
.ret-conclusion-title { font-size: 1.25rem; font-weight: 800; color: var(--ret-text-1); letter-spacing: -.015em; margin-bottom: .625rem; }
.ret-conclusion-text { font-size: .9375rem; color: var(--ret-text-2); line-height: 1.75; margin-bottom: 1.25rem; }
.ret-conclusion-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ret-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .625rem 1.375rem; font-size: .875rem; font-weight: 600;
  border-radius: var(--ret-r-md); border: 1.5px solid transparent;
  cursor: pointer; text-decoration: none; line-height: 1.5; transition: all .2s;
  white-space: nowrap;
}
.ret-btn-primary { background: var(--ret-blue); color: #fff; border-color: var(--ret-blue); box-shadow: 0 1px 2px rgba(37,99,235,.2), 0 4px 12px rgba(37,99,235,.15); }
.ret-btn-primary:hover { background: var(--ret-blue-h); color: #fff; transform: translateY(-1px); }
.ret-btn-secondary { background: var(--ret-bg); color: var(--ret-text-1); border-color: var(--ret-border-2); box-shadow: var(--ret-shadow-sm); }
.ret-btn-secondary:hover { background: var(--ret-bg-2); border-color: var(--ret-blue); color: var(--ret-blue); transform: translateY(-1px); }

/* ============================================================
   RELATED CALCULATORS
============================================================ */
.ret-related-section { border-top: 1px solid var(--ret-border); padding-top: 1.75rem; }
.ret-related-heading {
  display: flex; align-items: center; gap: .75rem;
  font-size: 1.125rem; font-weight: 700; color: var(--ret-text-1); margin-bottom: 1rem;
}
.ret-related-heading::after { content: ''; flex: 1; height: 1px; background: var(--ret-border); margin-left: .5rem; }
.ret-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .625rem; }
.ret-related-card {
  display: flex; align-items: center; gap: .75rem;
  padding: .875rem 1.125rem; background: var(--ret-bg-2);
  border: 1px solid var(--ret-border); border-radius: var(--ret-r-lg);
  text-decoration: none; color: var(--ret-text-1); font-size: .875rem; font-weight: 600;
  transition: all .15s;
}
.ret-related-card:hover { background: var(--ret-blue-pale); border-color: var(--ret-blue); color: var(--ret-blue); transform: translateY(-1px); box-shadow: var(--ret-shadow-sm); }
.ret-related-emoji { font-size: 1.15rem; flex-shrink: 0; }
.ret-related-name { flex: 1; }
.ret-related-arrow { color: var(--ret-text-3); flex-shrink: 0; transition: transform .15s, color .15s; }
.ret-related-card:hover .ret-related-arrow { transform: translateX(3px); color: var(--ret-blue); }

/* ============================================================
   SIDEBAR
============================================================ */
.ret-sidebar {
  position: sticky; top: calc(var(--ret-header-h) + 1.5rem);
  display: flex; flex-direction: column; gap: 1.125rem;
  max-height: calc(100vh - var(--ret-header-h) - 3rem);
  overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--ret-border-2) transparent;
}
.ret-sidebar-widget {
  background: var(--ret-bg); border: 1px solid var(--ret-border);
  border-radius: var(--ret-r-xl); padding: 1.25rem;
}
.ret-sidebar-widget-title {
  display: flex; align-items: center; gap: .5rem;
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--ret-text-3);
  margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--ret-border);
}
.ret-sb-cat { margin-bottom: 1rem; }
.ret-sb-cat:last-child { margin-bottom: 0; }
.ret-sb-cat-header {
  display: flex; align-items: center; gap: .5rem;
  padding: .375rem .625rem; border-radius: var(--ret-r-md);
  font-size: .8125rem; font-weight: 700; color: var(--ret-text-1);
  background: var(--ret-bg-2); margin-bottom: .375rem;
  text-decoration: none; transition: background .15s, color .15s;
}
.ret-sb-cat-header:hover { background: var(--ret-blue-pale); color: var(--ret-blue); }
.ret-sb-cat-label { flex: 1; }
.ret-sb-cat-links { display: flex; flex-direction: column; gap: 1px; padding-left: .75rem; }
.ret-sb-link {
  display: flex; align-items: center; gap: .5rem;
  padding: .3125rem .625rem; font-size: .75rem; font-weight: 500;
  color: var(--ret-text-2); text-decoration: none; border-radius: var(--ret-r-sm);
  transition: color .15s, background .15s;
}
.ret-sb-link:hover { color: var(--ret-blue); background: var(--ret-bg-2); }
.ret-sb-link.ret-active { color: var(--ret-gold); font-weight: 700; background: var(--ret-gold-pale); }
.ret-sb-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ret-gold); flex-shrink: 0; }
.ret-popular-list { display: flex; flex-direction: column; gap: .25rem; list-style: none; }
.ret-popular-link {
  display: flex; align-items: center; gap: .75rem;
  font-size: .8125rem; color: var(--ret-text-2); text-decoration: none;
  padding: .375rem .5rem; border-radius: var(--ret-r-sm); transition: all .15s;
}
.ret-popular-link:hover { color: var(--ret-blue); background: var(--ret-bg-2); }
.ret-rank {
  display: flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; font-size: .7rem; font-weight: 700;
  border-radius: 50%; background: var(--ret-bg-2); color: var(--ret-text-3);
}
.ret-rank.ret-top { background: var(--ret-gold); color: #fff; }
.ret-tip-widget { background: var(--ret-gold-pale) !important; border-color: rgba(180,83,9,.15) !important; }
.ret-tip-icon { font-size: 1.5rem; display: block; margin-bottom: .625rem; }
.ret-tip-title { font-size: .875rem; font-weight: 700; color: var(--ret-text-1); margin-bottom: .5rem; }
.ret-tip-text { font-size: .8125rem; color: var(--ret-text-2); line-height: 1.6; margin: 0; }
.ret-tip-text kbd {
  display: inline-flex; align-items: center;
  padding: .1em .4em; font-family: var(--ret-mono); font-size: .8em;
  background: var(--ret-bg); border: 1px solid var(--ret-border-2);
  border-radius: 4px; box-shadow: 0 1px 0 var(--ret-border-2);
}

/* ============================================================
   IRS LIMITS TABLE
============================================================ */
.ret-limits-table {
  width: 100%; border-collapse: collapse; font-size: .875rem;
  margin: 1.25rem 0; border-radius: var(--ret-r-lg); overflow: hidden;
  border: 1px solid var(--ret-border);
}
.ret-limits-table th {
  background: var(--ret-gold-pale); padding: .75rem 1rem;
  font-weight: 700; color: var(--ret-text-1); text-align: left;
  border-bottom: 1px solid var(--ret-border);
}
.ret-limits-table td { padding: .625rem 1rem; border-bottom: 1px solid var(--ret-border); color: var(--ret-text-2); }
.ret-limits-table tr:last-child td { border-bottom: none; }
.ret-limits-table tr:nth-child(even) td { background: var(--ret-bg-2); }
.ret-limits-table td strong { color: var(--ret-text-1); }

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px) {
  .ret-page-layout { grid-template-columns: 1fr; }
  .ret-sidebar { position: static; max-height: none; }
}
@media (max-width: 768px) {
  .ret-calc-grid { grid-template-columns: 1fr; }
  .ret-results-grid { grid-template-columns: 1fr 1fr; }
  .ret-withdrawal-grid { grid-template-columns: 1fr; }
  .ret-ew-results-grid { grid-template-columns: 1fr; }
  .ret-mm-grid { grid-template-columns: 1fr; }
  .ret-two-col { grid-template-columns: 1fr; }
  .ret-related-grid { grid-template-columns: 1fr; }
  .ret-article-box { padding: 1.5rem; }
}
@media (max-width: 480px) {
  .ret-results-grid { grid-template-columns: 1fr; }
  .ret-widget-body { padding: 1.25rem; }
}