/* ============================================================
   EXPERTIS TOOL UI — Salary calculator
   Visual language: editorial outside, operational inside.
   All rules are scoped to .exp-structure-tool and inherit Expertis tokens
   from the site, with safe fallbacks for staging environments.
   ============================================================ */

.exp-structure-tool{
  --tool-ink:var(--exp-ink,#0A1140);
  --tool-ink-card:var(--exp-ink-card,#141C5E);
  --tool-primary:var(--exp-ink-2,#2A368C);
  --tool-brand:var(--exp-brand,#F87B1B);
  --tool-brand-2:var(--exp-brand-2,#FF9442);
  --tool-brand-ink:var(--exp-brand-ink,#BC580E);
  --tool-paper:var(--exp-paper,#F6F4F1);
  --tool-paper-2:var(--exp-paper-2,#FAF8F5);
  --tool-card:var(--exp-card,#FFFFFF);
  --tool-body:var(--exp-body,#1F2640);
  --tool-muted:var(--exp-muted,#525A73);
  --tool-line:var(--exp-line-l,rgba(10,17,64,.12));
  --tool-font:var(--exp-sans,'Be Vietnam Pro',sans-serif);
  --tool-radius:16px;
  --tool-radius-sm:11px;
  --tool-shadow:0 22px 58px -38px rgba(10,17,64,.42);

  width:100%;
  max-width:1180px;
  min-width:0;
  margin:0 auto;
  color:var(--tool-body);
  font-family:var(--tool-font);
  font-size:15px;
  line-height:1.6;
  container-type:inline-size;
  overflow-wrap:anywhere;
}
.exp-structure-tool,.exp-structure-tool *,.exp-structure-tool *::before,.exp-structure-tool *::after{box-sizing:border-box}
.exp-structure-tool *{min-width:0}
.exp-structure-tool button,.exp-structure-tool input,.exp-structure-tool select,.exp-structure-tool textarea{max-width:100%;font-family:var(--tool-font)}
.exp-structure-tool button{appearance:none;-webkit-appearance:none}
.exp-structure-tool [hidden]{display:none!important}

/* ---------- Shell ---------- */
.exp-structure-tool__shell{
  position:relative;
  overflow:hidden;
  border:1px solid var(--tool-line);
  border-radius:var(--tool-radius);
  background:var(--tool-card);
  box-shadow:var(--tool-shadow);
}
.exp-structure-tool__shell::before{
  content:"";
  position:absolute;
  z-index:2;
  top:0;left:0;right:0;
  height:4px;
  background:var(--tool-brand);
}

/* ---------- Header ---------- */
.exp-structure-tool__header{
  position:relative;
  padding:34px 38px 28px;
  border-bottom:1px solid var(--tool-line);
  background:var(--tool-card);
}
.exp-structure-tool__header-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px 20px;
  margin-bottom:16px;
}
.exp-structure-tool__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.9em;
  color:var(--tool-brand-ink);
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1;
  text-transform:uppercase;
}
.exp-structure-tool__eyebrow::before{
  content:"";
  width:2.5em;
  height:1px;
  flex:0 0 auto;
  background:currentColor;
}
.exp-structure-tool__rule{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 12px;
  border:1px solid var(--tool-line);
  border-radius:999px;
  background:var(--tool-paper-2);
  color:var(--tool-muted);
  font-size:11px;
  line-height:1.35;
}
.exp-structure-tool__rule strong{color:var(--tool-ink);font-weight:700}
.exp-structure-tool__header h2{
  max-width:780px;
  margin:0 0 8px;
  color:var(--tool-ink);
  font-family:var(--tool-font);
  font-size:32px;
  font-size:clamp(25px,3.2vw,36px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.2;
}
.exp-structure-tool__lead{
  max-width:780px;
  margin:0;
  color:var(--tool-muted);
  font-size:15px;
  font-weight:300;
  line-height:1.65;
}
.exp-structure-tool__scope{
  max-width:920px;
  margin:18px 0 0;
  padding:11px 14px;
  border:1px solid var(--tool-line);
  border-left:3px solid var(--tool-brand);
  border-radius:9px;
  background:var(--tool-paper-2);
  color:var(--tool-muted);
  font-size:11px;
  line-height:1.55;
}

/* ---------- Main workspace ---------- */
.exp-structure-tool__workspace{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  background:var(--tool-paper-2);
}
.exp-structure-tool__panel{min-width:0;max-width:100%}
.exp-structure-tool__panel--input{
  padding:30px 32px 34px;
  border-right:1px solid var(--tool-line);
  background:var(--tool-paper-2);
}
.exp-structure-tool__panel--result{
  padding:30px 32px 34px;
  background:var(--tool-card);
}

/* ---------- Mode tabs ---------- */
.exp-structure__tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin:0 0 24px;
  padding:4px;
  border:1px solid var(--tool-line);
  border-radius:12px;
  background:var(--tool-card);
}
.exp-structure__tab{
  width:100%;
  min-height:43px;
  padding:8px 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--tool-muted);
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  cursor:pointer;
  transition:background .18s,color .18s,box-shadow .18s;
  white-space:normal;
}
.exp-structure__tab:hover{color:var(--tool-ink);background:var(--tool-paper-2)}
.exp-structure__tab.is-active{
  background:var(--tool-ink);
  color:#fff;
  box-shadow:0 8px 18px -12px rgba(10,17,64,.8);
}
.exp-structure__tab:focus-visible{outline:3px solid rgba(248,123,27,.28);outline-offset:2px}

/* ---------- Fields ---------- */
.exp-field{margin:0 0 18px}
.exp-field label,.exp-fieldset legend{
  display:block;
  margin:0 0 7px;
  color:var(--tool-ink);
  font-size:12.5px;
  font-weight:650;
  line-height:1.4;
}
.exp-field input,.exp-field select,.exp-money-input input{
  display:block;
  width:100%;
  min-width:0;
  height:46px;
  margin:0;
  padding:0 13px;
  border:1px solid rgba(10,17,64,.17);
  border-radius:10px;
  background:var(--tool-card);
  color:var(--tool-ink);
  font-size:14px;
  line-height:normal;
  outline:none;
  box-shadow:none;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.exp-field input:hover,.exp-field select:hover,.exp-money-input input:hover{border-color:rgba(10,17,64,.28)}
.exp-field input:focus,.exp-field select:focus,.exp-money-input input:focus{
  border-color:var(--tool-primary);
  box-shadow:0 0 0 3px rgba(42,54,140,.10);
}
.exp-field input:disabled,.exp-money-input input:disabled{background:#f0efec;color:var(--tool-muted);cursor:not-allowed}
.exp-field--primary{
  margin-bottom:20px;
  padding:16px;
  border:1px solid rgba(42,54,140,.15);
  border-radius:13px;
  background:var(--tool-card);
}
.exp-field--primary label{font-size:13px}
.exp-field--primary .exp-money-input input{
  height:58px;
  padding-right:76px;
  border-color:rgba(42,54,140,.24);
  font-size:22px;
  font-weight:700;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
}
.exp-money-input{position:relative}
.exp-money-input>span{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--tool-muted);
  font-size:11px;
  font-weight:700;
  pointer-events:none;
}
.exp-money-input input{padding-right:62px}
.exp-money-input--compact input{height:44px}
.exp-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.exp-field-help{
  margin:7px 2px 0;
  color:var(--tool-muted);
  font-size:10.5px;
  font-weight:300;
  line-height:1.5;
}
.exp-field-help strong{color:var(--tool-primary);font-weight:650}
.exp-label-note{color:var(--tool-muted);font-size:10.5px;font-weight:400}

/* Native select, fully contained on narrow Elementor columns */
.exp-structure-tool .exp-field select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:46px!important;
  padding:0 40px 0 13px!important;
  border:1px solid rgba(10,17,64,.17)!important;
  border-radius:10px!important;
  background-color:var(--tool-card)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%232A368C' d='M5.5 7.25 10 11.75l4.5-4.5 1.25 1.25L10 14.25 4.25 8.5z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 13px center!important;
  background-size:14px 14px!important;
  color:var(--tool-ink)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:46px!important;
  text-align:left!important;
  text-align-last:left!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  cursor:pointer!important;
}
.exp-structure-tool .exp-field select::-ms-expand{display:none}
.exp-structure-tool .exp-field select option{color:var(--tool-ink);background:#fff;font-family:var(--tool-font);font-size:13px}

/* ---------- Grouped controls ---------- */
.exp-fieldset{
  min-width:0;
  margin:0 0 18px;
  padding:15px;
  border:1px solid var(--tool-line);
  border-radius:12px;
  background:var(--tool-card);
}
.exp-fieldset legend{
  width:auto;
  padding:0 6px;
  background:var(--tool-card);
}
.exp-choice-row,.exp-insurance-base{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
}
.exp-choice,.exp-check{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  max-width:100%;
  margin:0!important;
  color:var(--tool-body)!important;
  font-size:12.5px!important;
  font-weight:450!important;
  line-height:1.4;
  cursor:pointer;
}
.exp-choice input,.exp-check input{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px;
  margin:0!important;
  accent-color:var(--tool-primary);
}
.exp-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.exp-check{
  min-height:43px;
  padding:8px 10px;
  border:1px solid var(--tool-line);
  border-radius:9px;
  background:var(--tool-paper-2);
}
.exp-check:has(input:checked){border-color:rgba(42,54,140,.28);background:#F5F6FF}
.exp-check small{color:var(--tool-muted);font-size:10.5px}
.exp-insurance-base{margin:4px 0 12px}
.exp-structure__components{margin-top:14px;padding:16px;border:1px solid var(--tool-line);border-radius:10px;background:var(--tool-card)}
.exp-structure__components-intro{margin:0 0 14px;color:var(--tool-muted);font-size:11.5px;font-weight:300;line-height:1.55}
.exp-structure__component-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr);gap:12px;align-items:end;padding:12px 0;border-top:1px solid rgba(10,17,64,.075)}
.exp-structure__component-row label{display:block;color:var(--tool-body);font-size:11.5px;font-weight:550;line-height:1.45}
.exp-structure__component-row label span{display:block}
.exp-structure__component-row label small{display:inline-block;margin-top:4px;color:var(--tool-brand-ink);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.exp-structure__component-row.is-excluded label small{color:var(--tool-muted)}
.exp-structure__component-row .exp-money-input input{height:40px;font-size:13px}
.exp-structure__component-row+.exp-structure__guide-link{margin:2px 0 8px!important}
.exp-structure__component-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border-left:3px solid var(--tool-brand);background:var(--tool-paper-2)}
.exp-structure__component-total span{color:var(--tool-muted);font-size:11px}
.exp-structure__component-total strong{color:var(--tool-ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.exp-structure__component-caution{margin:10px 0 0;color:var(--tool-muted);font-size:10px;font-weight:300;line-height:1.5}
.exp-field-grid.is-disabled{opacity:.48}

/* ---------- Primary action ---------- */
.exp-structure__submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-width:0;
  min-height:50px;
  margin-top:6px;
  padding:13px 22px;
  border:0;
  border-radius:46px;
  background:var(--tool-brand);
  color:#fff;
  font-size:13px;
  font-weight:650;
  letter-spacing:.05em;
  line-height:1.3;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(248,123,27,.24);
  transition:background .15s,transform .15s,box-shadow .2s,opacity .18s;
  white-space:normal;
}
.exp-structure__submit:hover{background:var(--tool-brand-2);transform:translateY(-1px);box-shadow:0 11px 26px rgba(248,123,27,.32)}
.exp-structure__submit:focus-visible{outline:3px solid rgba(248,123,27,.28);outline-offset:3px}
.exp-structure__submit svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.exp-structure__form.is-loading .exp-structure__submit{opacity:.58;pointer-events:none}
.exp-auto-note{margin:9px 5px 0;color:var(--tool-muted);font-size:10.5px;font-weight:300;line-height:1.45;text-align:center}
.exp-structure__error{margin:12px 0 0;padding:11px 13px;border:1px solid rgba(157,48,28,.15);border-left:3px solid #C24A32;border-radius:9px;background:#FFF3F0;color:#8D2D1B;font-size:12px}

/* ---------- Result panel ---------- */
.exp-results__placeholder{
  display:flex;
  min-height:520px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  color:var(--tool-muted);
}
.exp-results__icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:13px;
  border:1px solid var(--tool-line);
  border-radius:50%;
  background:var(--tool-paper-2);
  color:var(--tool-primary);
  font-size:27px;
  font-weight:300;
}
.exp-results__placeholder h3{margin:0 0 4px;color:var(--tool-ink);font-family:var(--tool-font);font-size:17px;font-weight:650}
.exp-results__placeholder p{margin:0;font-size:12.5px;font-weight:300}
.exp-results__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:13px;
}
.exp-results__topline>span{color:var(--tool-brand-ink);font-size:10.5px;font-weight:750;letter-spacing:.14em}
.exp-copy-button{
  flex:0 0 auto;
  padding:6px 11px;
  border:1px solid var(--tool-line);
  border-radius:8px;
  background:#fff;
  color:var(--tool-primary);
  font-size:11px;
  font-weight:650;
  cursor:pointer;
  transition:background .15s,border-color .15s;
}
.exp-copy-button:hover{background:var(--tool-paper-2);border-color:rgba(42,54,140,.28)}
.exp-copy-button:focus-visible{outline:3px solid rgba(42,54,140,.12);outline-offset:2px}
.exp-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.exp-result-card{
  position:relative;
  padding:16px 15px 14px;
  border:1px solid var(--tool-line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.exp-result-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:rgba(42,54,140,.28)}
.exp-result-card span{display:block;margin-bottom:5px;color:var(--tool-muted);font-size:10.5px;font-weight:600}
.exp-result-card strong{
  display:block;
  overflow:hidden;
  color:var(--tool-ink);
  font-size:22px;
  font-size:clamp(18px,2.4vw,25px);
  font-weight:700;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.exp-result-card small{display:block;margin-top:1px;color:var(--tool-muted);font-size:9.5px}
.exp-result-card--gross{background:#F5F6FF;border-color:rgba(42,54,140,.16)}
.exp-result-card--gross::before{background:var(--tool-primary)}
.exp-result-card--net{background:var(--tool-ink);border-color:var(--tool-ink)}
.exp-result-card--net::before{background:var(--tool-brand)}
.exp-result-card--net span,.exp-result-card--net small{color:rgba(255,255,255,.68)}
.exp-result-card--net strong{color:#fff}
.exp-warning-list{margin:0 0 14px;padding:11px 13px;border:1px solid rgba(248,123,27,.18);border-left:3px solid var(--tool-brand);border-radius:8px;background:#FFF7EF;color:#74401B;font-size:11.5px}
.exp-warning-list p{margin:0 0 5px}.exp-warning-list p:last-child{margin-bottom:0}

/* ---------- Contextual guidance ---------- */
.exp-structure__advisor{
  margin:0 0 18px;
  padding:13px 15px;
  border-left:3px solid var(--tool-brand);
  border-radius:0 8px 8px 0;
  background:var(--tool-paper-2);
}
.exp-structure__advisor--compact{margin:16px 0 0;padding:10px 12px;background:rgba(248,123,27,.045)}
.exp-structure__advisor--on-paper{margin:17px 0 0;background:var(--tool-card)}
.exp-structure__advisor p{margin:0 0 6px;color:var(--tool-muted);font-size:11.5px;font-weight:300;line-height:1.55}
.exp-structure-tool .exp-structure__guide-link{align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:3px 0!important;color:var(--tool-brand-ink)!important;font-size:11.5px!important;font-weight:650!important;line-height:1.5!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.exp-structure-tool .exp-structure__guide-link::before{content:"ⓘ";flex:0 0 auto;color:var(--tool-brand);font-size:13px;line-height:1}
.exp-structure-tool .exp-structure__guide-link:hover,.exp-structure-tool .exp-structure__guide-link:focus-visible{color:var(--tool-brand)!important;background:transparent!important}

/* ---------- Employer perspective ---------- */
.exp-structure__employer-view{
  margin:23px 0;
  padding:20px;
  border:1px solid var(--tool-line);
  border-radius:11px;
  background:var(--tool-paper-2);
}
.exp-structure__section-heading{margin-bottom:14px}
.exp-structure__section-heading>span,.exp-structure__management-note>span{display:block;margin-bottom:4px;color:var(--tool-brand-ink);font-size:9.5px;font-weight:750;letter-spacing:.14em}
.exp-structure__section-heading h3{margin:0;color:var(--tool-ink);font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.35}
.exp-structure__employer-metrics{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px}
.exp-structure__employer-metrics article{padding:14px;border:1px solid var(--tool-line);border-radius:9px;background:var(--tool-card)}
.exp-structure__employer-metrics article>span{display:block;margin-bottom:5px;color:var(--tool-muted);font-size:10.5px;font-weight:600;line-height:1.45}
.exp-structure__employer-metrics article>strong{display:block;overflow:hidden;color:var(--tool-ink);font-size:clamp(18px,2.4vw,25px);font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.exp-structure__employer-metrics article>small{display:block;margin-top:1px;color:var(--tool-muted);font-size:9.5px}
.exp-structure__employer-metrics .exp-structure__employer-total{border-color:var(--tool-ink);background:var(--tool-ink)}
.exp-structure__employer-total>span,.exp-structure__employer-total>small{color:rgba(255,255,255,.7)!important}
.exp-structure__employer-total>strong{color:#fff!important}
.exp-structure__management-note{margin-top:22px;padding:18px 20px;border-left:3px solid var(--tool-brand);border-radius:0 9px 9px 0;background:var(--tool-ink-card);color:#fff}
.exp-structure__management-note>span{color:var(--tool-brand)}
.exp-structure__management-note p{margin:0 0 9px;color:rgba(255,255,255,.86);font-size:12px;font-weight:300;line-height:1.6}
.exp-structure__management-note .exp-structure__guide-link{color:#fff!important}
.exp-structure__management-note .exp-structure__guide-link:hover,.exp-structure__management-note .exp-structure__guide-link:focus-visible{color:var(--tool-brand-2)!important}

/* ---------- Result accordions and tables ---------- */
.exp-detail{border-top:1px solid var(--tool-line)}
.exp-detail:last-of-type{border-bottom:1px solid var(--tool-line)}
.exp-detail summary{
  position:relative;
  padding:16px 30px 16px 5px;
  color:var(--tool-ink);
  font-size:12.5px;
  font-weight:650;
  line-height:1.45;
  cursor:pointer;
  list-style:none;
  transition:background .16s;
}
.exp-detail summary::-webkit-details-marker{display:none}
.exp-detail summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--tool-primary);font-size:20px;font-weight:400}
.exp-detail[open] summary{background:var(--tool-paper-2)}
.exp-detail[open] summary::after{content:"−"}
.exp-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 4px 13px}
.exp-detail table{width:100%;margin:0;border:0;border-collapse:collapse;background:transparent;font-size:11.5px}
.exp-detail th,.exp-detail td{padding:8px 5px;border:0;border-bottom:1px solid rgba(10,17,64,.075);text-align:left;vertical-align:top}
.exp-detail th{color:var(--tool-body);font-weight:450}
.exp-detail td:last-child{text-align:right;color:var(--tool-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.exp-detail thead th{color:var(--tool-muted);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.exp-detail thead th:not(:first-child),.exp-detail tbody td:not(:first-child){text-align:right}
.exp-detail tr.is-total th,.exp-detail tr.is-total td{color:var(--tool-ink);font-weight:700}
.exp-rule-summary{margin-top:14px;padding:10px 12px;border:1px solid var(--tool-line);border-radius:9px;background:var(--tool-paper-2);color:var(--tool-muted);font-size:10.5px}

/* ---------- Disclosure ---------- */
.exp-structure-tool__disclosure{
  margin:18px 20px 0;
  border:1px solid var(--tool-line);
  border-left:3px solid var(--tool-brand);
  border-radius:12px;
  background:var(--tool-card);
  overflow:hidden;
}
.exp-structure-tool__disclosure>summary{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1px;
  padding:15px 50px 15px 17px;
  color:var(--tool-ink);
  cursor:pointer;
  list-style:none;
}
.exp-structure-tool__disclosure>summary::-webkit-details-marker{display:none}
.exp-structure-tool__disclosure>summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--tool-brand-ink);font-size:21px;font-weight:400}
.exp-structure-tool__disclosure[open]>summary{border-bottom:1px solid var(--tool-line);background:var(--tool-paper-2)}
.exp-structure-tool__disclosure[open]>summary::after{content:"−"}
.exp-structure-tool__disclosure>summary span{font-size:12px;font-weight:700}
.exp-structure-tool__disclosure>summary small{color:var(--tool-muted);font-size:10.5px;font-weight:350}
.exp-legal__content{padding:21px 20px 19px}
.exp-structure__assumptions{padding:0;border:0;background:transparent}
.exp-assumptions__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px}
.exp-assumptions__heading span{display:block;margin-bottom:3px;color:var(--tool-brand-ink);font-size:9.5px;font-weight:750;letter-spacing:.14em}
.exp-assumptions__heading h3{margin:0;color:var(--tool-ink);font-family:var(--tool-font);font-size:17px;font-weight:700;letter-spacing:-.02em}
.exp-assumptions__heading p{margin:0;color:var(--tool-muted);font-size:11px;text-align:right}
.exp-assumptions__heading p strong{color:var(--tool-primary);font-weight:650}
.exp-assumptions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.exp-assumption-card{padding:15px 14px 14px;border:1px solid var(--tool-line);border-radius:11px;background:var(--tool-paper-2)}
.exp-assumption-card h4{margin:0 0 10px;color:var(--tool-primary);font-family:var(--tool-font);font-size:11.5px;font-weight:700}
.exp-assumption-card dl{margin:0}
.exp-assumption-card dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid rgba(10,17,64,.07)}
.exp-assumption-card dl>div:last-child{border-bottom:0}
.exp-assumption-card dt{color:var(--tool-muted);font-size:10px;font-weight:400}
.exp-assumption-card dd{margin:0;color:var(--tool-ink);font-size:10px;font-weight:650;text-align:right;font-variant-numeric:tabular-nums}
.exp-tax-brackets{margin-top:10px;padding-top:9px;border-top:1px solid rgba(10,17,64,.09)}
.exp-tax-brackets>span{display:block;margin-bottom:5px;color:var(--tool-muted);font-size:9.5px;font-weight:550}
.exp-tax-brackets ul{margin:0;padding:0;list-style:none}
.exp-tax-brackets li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;color:var(--tool-body);font-size:9px}
.exp-tax-brackets li strong{color:var(--tool-primary);font-weight:700;white-space:nowrap}
.exp-legal__sources{margin-top:18px;padding-top:16px;border-top:1px solid var(--tool-line)}
.exp-legal__sources h3{margin:0 0 8px;color:var(--tool-ink);font-family:var(--tool-font);font-size:12.5px;font-weight:700}
.exp-legal__sources ul{margin:0;padding-left:18px}
.exp-legal__sources li{margin:5px 0;color:var(--tool-muted);font-size:10.5px}
.exp-legal__sources a{color:var(--tool-primary);text-decoration:underline;text-decoration-color:rgba(42,54,140,.28);text-underline-offset:3px}
.exp-legal__sources a:hover{color:var(--tool-brand-ink)}

/* ---------- Footer notes ---------- */
.exp-structure-tool__footer{
  display:block;
  position:static;
  float:none;
  clear:both;
  width:auto;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:16px 20px 20px;
  padding:14px 16px;
  border:1px solid var(--tool-line);
  border-radius:11px;
  background:var(--tool-paper-2);
  transform:none!important;
}
.exp-structure__disclaimer{margin:0;color:var(--tool-muted);font-size:10.5px;font-weight:300;line-height:1.55;text-align:left}
.exp-structure__disclaimer+.exp-structure__disclaimer{margin-top:6px}
.exp-structure__disclaimer strong{color:var(--tool-ink);font-weight:650}

/* ---------- Responsive ----------
   Mobile uses viewport media queries instead of CSS containment.
   This avoids paint/layout divergence on long Elementor pages that
   also contain fixed headers or floating contact widgets.
   ---------- */
@media (max-width:900px){
  .exp-structure-tool{container-type:normal!important;contain:none!important}
  .exp-structure-tool__workspace{grid-template-columns:minmax(0,1fr)}
  .exp-structure-tool__panel--input{border-right:0;border-bottom:1px solid var(--tool-line)}
  .exp-results__placeholder{min-height:0;padding:42px 16px}
  .exp-assumptions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .exp-structure-tool__header{padding:28px 22px 24px}
  .exp-structure-tool__header-meta{align-items:flex-start}
  .exp-structure-tool__rule{border-radius:9px}
  .exp-structure-tool__panel--input,.exp-structure-tool__panel--result{padding:24px 18px 27px}
  .exp-field-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .exp-check-grid{grid-template-columns:minmax(0,1fr)}
  .exp-assumptions__heading{display:block}
  .exp-assumptions__heading p{margin-top:5px;text-align:left}
  .exp-assumptions__grid{grid-template-columns:minmax(0,1fr)}
  .exp-results__topline{flex-wrap:wrap}
  .exp-structure-tool__disclosure{margin-left:14px;margin-right:14px}
  .exp-structure-tool__footer{margin-left:14px;margin-right:14px}
  .exp-legal__content{padding:18px 14px 16px}
}
@media (max-width:430px){
  .exp-structure-tool{font-size:14px}
  .exp-structure-tool__header{padding:25px 17px 21px}
  .exp-structure-tool__eyebrow{font-size:10px;letter-spacing:.18em}
  .exp-structure-tool__header h2{font-size:25px}
  .exp-structure-tool__lead{font-size:13px}
  .exp-structure-tool__scope{font-size:10.5px}
  .exp-structure-tool__rule{width:100%;justify-content:flex-start;padding:7px 10px}
  .exp-structure-tool__panel--input,.exp-structure-tool__panel--result{padding:21px 14px 24px}
  .exp-structure__tabs{gap:3px}
  .exp-structure__tab{padding:8px 6px;font-size:12px}
  .exp-field--primary{padding:13px}
  .exp-field--primary .exp-money-input input{font-size:20px}
  .exp-result-card{padding:14px 11px 13px}
  .exp-result-card strong{font-size:17px}
  .exp-detail th,.exp-detail td{min-width:125px}
  .exp-detail thead th{min-width:115px}
  .exp-detail thead th:first-child{min-width:165px}
  .exp-structure-tool .exp-field select{font-size:12px!important;padding-right:37px!important;background-position:right 11px center!important}
  .exp-results__placeholder{padding:32px 12px}
  .exp-structure__employer-view{padding:16px 13px}
  .exp-structure__employer-metrics{grid-template-columns:minmax(0,1fr)}
  .exp-structure__management-note{padding:16px 15px}
  .exp-structure__components{padding:13px 11px}
  .exp-structure__component-row{grid-template-columns:minmax(0,1fr);gap:7px}
  .exp-structure__component-total{display:block}
  .exp-structure__component-total strong{display:block;margin-top:3px}
}
@media (max-width:350px){
  .exp-result-cards{grid-template-columns:minmax(0,1fr)}
  .exp-structure__submit{padding-left:12px;padding-right:12px;font-size:11.5px}
}
