/* IQlator UX system v1.11.8
   Shared usability, accessibility and responsive presentation rules. */
:root{
  --iq-ink:#10213a;
  --iq-muted:#60738e;
  --iq-blue:#146ef5;
  --iq-blue-dark:#0f5dcc;
  --iq-soft:#f6f9fd;
  --iq-soft-blue:#eef6ff;
  --iq-line:#dbe5f0;
  --iq-line-strong:#c7d5e5;
  --iq-surface:#fff;
  --iq-radius:14px;
  --iq-shadow:0 8px 28px rgba(18,55,95,.07);
  --iq-content:1180px;
  --iq-reading:780px;
}

html{scroll-padding-top:96px}
body{color:var(--iq-ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{width:100%;min-width:0}
main h1,main h2,main h3{line-height:1.18;text-wrap:balance}
main p,main li{line-height:1.65}
main img,main svg,main canvas{max-width:100%}

/* Keyboard accessibility */
.iq-skip-link{position:fixed;left:14px;top:10px;z-index:3000;transform:translateY(-150%);background:#0b315d;color:#fff!important;padding:10px 14px;border-radius:9px;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.iq-skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(20,110,245,.38)!important;outline-offset:2px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Shared header/navigation */
#iqlatorSharedHeader{box-shadow:0 2px 12px rgba(18,55,95,.035);isolation:isolate}
#iqlatorSharedHeader .iq-sh-wrap{width:min(var(--iq-content),calc(100% - 40px))!important;max-width:var(--iq-content)!important}
#iqlatorSharedHeader .iq-sh-bar{min-height:82px!important;grid-template-columns:minmax(230px,278px) minmax(0,1fr)!important;gap:24px!important}
#iqlatorSharedHeader .iq-sh-brand img{width:258px!important}
#iqlatorSharedHeader .iq-sh-brand span{font-size:12px!important;margin-top:1px!important}
#iqlatorSharedHeader .iq-sh-link,#iqlatorSharedHeader .iq-sh-button{min-height:44px;padding:10px 9px;border-radius:9px;font-size:13.5px;transition:background .15s ease,color .15s ease}
#iqlatorSharedHeader .iq-sh-button[aria-expanded="true"],#iqlatorSharedHeader .iq-sh-button.iq-sh-parent-current{background:var(--iq-soft-blue);color:var(--iq-blue)}
#iqlatorSharedHeader .iq-sh-drop{top:calc(100% + 8px);padding:16px;border-radius:16px;box-shadow:0 18px 48px rgba(18,55,95,.15)}
#iqlatorSharedHeader .iq-sh-drop a{min-height:40px;display:flex;align-items:center}
#iqlatorSharedHeader .iq-sh-col h4{color:#667b96;font-size:11px;text-transform:uppercase;letter-spacing:.055em;margin:2px 10px 6px}
#iqlatorSharedHeader .iq-sh-toggle{min-width:44px;min-height:44px}

/* Breadcrumbs reduce dead-end feeling on interior pages. */
.iq-breadcrumbs{border-bottom:1px solid #edf2f7;background:#fbfdff}
.iq-breadcrumbs-inner{width:min(var(--iq-content),calc(100% - 48px));margin:0 auto;padding:10px 0;display:flex;align-items:center;gap:8px;color:#70829a;font-size:13px}
.iq-breadcrumbs a{color:#45627f;text-decoration:none;font-weight:650}
.iq-breadcrumbs a:hover{color:var(--iq-blue)}
.iq-breadcrumbs-sep{color:#a5b2c2;user-select:none}
.iq-breadcrumbs-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#60738e}

/* Consistent body rhythm without redesigning individual calculators. */
body .container,body main .container,body section .container,body #home .container{width:min(var(--iq-content),calc(100% - 48px))!important;max-width:var(--iq-content)!important}
.iq-page-info main,.iq-page-commerce main,.iq-page-data main{padding-top:18px}
.iq-page-info main>.section,.iq-page-info main>.privacy-policy-v153{max-width:900px;margin-left:auto!important;margin-right:auto!important}
.iq-page-info main h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.025em;margin-bottom:10px}
.iq-page-info main h2{margin-top:32px;margin-bottom:10px}
.iq-page-info main p,.iq-page-info main li{max-width:var(--iq-reading)}
.iq-page-info main .card{max-width:900px}

/* Calculator/data surfaces */
:where(.panel,.result,.ratecard,.market-card,.card,.iq-edu,.financial-education,.amortization-card){border-color:var(--iq-line)!important}
:where(.panel,.result,.ratecard,.market-card,.iq-edu,.financial-education,.amortization-card){box-shadow:var(--iq-shadow)}
.tooltop{align-items:center!important;margin-bottom:24px!important}
.tooltop .sub{max-width:760px}
.fields{row-gap:16px!important}.field label{font-size:13px!important;margin-bottom:7px!important;color:#293f5a}
.field input,.field select,textarea,input[type="text"],input[type="number"],input[type="email"],select{min-height:44px}
.field input:focus,.field select:focus,textarea:focus,input[type="text"]:focus,input[type="number"]:focus,input[type="email"]:focus,select:focus{border-color:#78aef8!important;box-shadow:0 0 0 3px rgba(20,110,245,.10)!important}
.actions{flex-wrap:wrap;align-items:center;gap:10px!important}
:where(.primary,.secondary,.back,.btn,.ratebtn){min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.primary:hover{background:var(--iq-blue-dark)!important}.secondary:hover,.back:hover{background:#e5edf6!important}
.result .big{letter-spacing:-.025em}
.rline{gap:16px}.rline>*:last-child{text-align:right;font-weight:650}

/* Keep table-heavy tools usable on small screens. */
main table{border-collapse:collapse;max-width:100%}
main table th{font-weight:800;text-align:left}
main table th,main table td{vertical-align:top}
.iq-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.iq-table-scroll:focus-visible{outline:3px solid rgba(20,110,245,.30);outline-offset:3px}

/* Advertising should be present but visually subordinate to tasks. */
.ad{margin-block:22px!important;color:#8798ad!important;background:#fcfdff!important;min-height:76px!important}

/* Shared footer: clear information architecture and larger touch targets. */
#iqlatorSharedFooter{margin-top:56px!important;background:#f8fbff!important;border-top:1px solid var(--iq-line)!important}
#iqlatorSharedFooter .iq-sh-footer-inner{width:min(var(--iq-content),calc(100% - 48px))!important;max-width:var(--iq-content)!important;padding:38px 0 24px!important;display:grid!important;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(145px,.75fr))!important;align-items:start!important;gap:34px!important;text-align:left!important}
.iq-sh-footer-brand{align-items:flex-start!important;gap:7px!important}.iq-sh-footer-brand strong{font-size:22px!important}.iq-sh-footer-brand span{white-space:normal!important;max-width:270px;line-height:1.5}
.iq-sh-footer-group h2{font-size:12px!important;line-height:1.2;margin:2px 0 10px;color:#72839a;text-transform:uppercase;letter-spacing:.065em}
.iq-sh-footer-group a{display:block;min-height:36px;padding:7px 0;color:#40546e;text-decoration:none;font-size:13px;font-weight:650}
.iq-sh-footer-group a:hover,.iq-sh-footer-group a[aria-current="page"]{color:var(--iq-blue)}
.iq-sh-footer-bottom{grid-column:1/-1;border-top:1px solid #dfe7f1;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#718198;font-size:12px}
.iq-sh-footer-bottom a{color:#50657f;text-decoration:none;font-weight:650}.iq-sh-footer-bottom a:hover{color:var(--iq-blue)}

/* Mobile */
@media(max-width:1120px){
  #iqlatorSharedHeader .iq-sh-bar{height:78px!important;min-height:78px!important}
  #iqlatorSharedHeader .iq-sh-brand img{height:49px!important;width:auto!important}
  #iqlatorSharedHeader .iq-sh-brand span{font-size:11.5px!important}
  #iqlatorSharedHeader .iq-sh-wrap{width:calc(100% - 32px)!important}
  .iq-sh-drawer-head{min-height:78px!important}
  #iqlatorSharedFooter .iq-sh-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 36px!important}
  .iq-sh-footer-brand{grid-column:1/-1!important}
}
@media(max-width:700px){
  html{scroll-padding-top:84px}
  body .container,body main .container,body section .container,body #home .container,.iq-breadcrumbs-inner{width:calc(100% - 32px)!important}
  .iq-breadcrumbs-inner{padding:9px 0;font-size:12px}
  .section{padding-top:30px!important;padding-bottom:30px!important}
  .section-head{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .tool{padding-top:28px!important}.tool h1{font-size:clamp(1.9rem,9vw,2.35rem)!important}.tooltop{align-items:flex-start!important}
  .panel,.result,.explain{padding:18px!important}
  .actions>*{flex:1 1 auto;min-width:120px}
  .rline{font-size:13px!important}
  main table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  #iqlatorSharedFooter{margin-top:42px!important}
  #iqlatorSharedFooter .iq-sh-footer-inner{width:calc(100% - 32px)!important;grid-template-columns:1fr!important;padding:30px 0 20px!important;gap:20px!important}
  .iq-sh-footer-brand{grid-column:auto!important}
  .iq-sh-footer-group{padding-top:2px}
  .iq-sh-footer-group h2{margin-bottom:5px}
  .iq-sh-footer-group a{min-height:42px;display:flex;align-items:center;border-bottom:1px solid #e6edf5}
  .iq-sh-footer-bottom{grid-column:auto!important;flex-direction:column;align-items:flex-start;padding-top:16px}
}
@media(max-width:430px){
  #iqlatorSharedHeader .iq-sh-wrap{width:calc(100% - 28px)!important}
  #iqlatorSharedHeader .iq-sh-brand img{height:46px!important}
  #iqlatorSharedHeader .iq-sh-brand span{font-size:10.5px!important}
}
#iqlatorSharedHeader .iq-sh-item.iq-sh-click-open>.iq-sh-drop{display:grid}

/* v1.11.9 — visual hierarchy / brand scale refactor.
   One restrained palette and type scale across navigation, body and footer. */
:root{
  --iq-navy:#0b315d;
  --iq-ink:#172b45;
  --iq-muted:#5f7189;
  --iq-blue:#146ef5;
  --iq-blue-dark:#0d5ed7;
  --iq-cyan:#10bde8;
  --iq-surface:#ffffff;
  --iq-page:#ffffff;
  --iq-soft:#f7faff;
  --iq-soft-blue:#eef6ff;
  --iq-line:#dbe5f0;
  --iq-line-strong:#c7d5e5;
  --iq-success:#16794b;
  --iq-danger:#b42318;
  --iq-text-xs:.75rem;
  --iq-text-sm:.875rem;
  --iq-text-base:1rem;
  --iq-text-lg:1.125rem;
  --iq-text-xl:1.25rem;
  --iq-text-2xl:1.75rem;
  --iq-text-3xl:2.5rem;
}
body{font-size:var(--iq-text-base);color:var(--iq-ink);background:var(--iq-page)}
main p,main li{font-size:1rem;color:var(--iq-ink)}
main h1{font-size:clamp(2rem,3.2vw,var(--iq-text-3xl));letter-spacing:-.025em;color:var(--iq-navy)}
main h2{font-size:clamp(1.5rem,2.2vw,var(--iq-text-2xl));letter-spacing:-.015em;color:var(--iq-navy)}
main h3{font-size:var(--iq-text-xl);color:var(--iq-navy)}
:where(.sub,.muted,.hint,.note,.helper,.small){color:var(--iq-muted)!important}
:where(a){text-underline-offset:3px}

/* Brand/header scale: visible, but navigation—not the logo—owns the header. */
#iqlatorSharedHeader{border-bottom-color:var(--iq-line)!important;background:rgba(255,255,255,.98)!important}
#iqlatorSharedHeader .iq-sh-bar{min-height:76px!important;grid-template-columns:minmax(210px,244px) minmax(0,1fr)!important;gap:22px!important}
#iqlatorSharedHeader .iq-sh-brand img{width:232px!important;height:auto!important}
#iqlatorSharedHeader .iq-sh-brand span{font-size:11px!important;color:var(--iq-muted)!important;font-weight:600!important}
#iqlatorSharedHeader .iq-sh-link,#iqlatorSharedHeader .iq-sh-button{font-size:13px!important;color:var(--iq-navy)!important;font-weight:700!important}
#iqlatorSharedHeader .iq-sh-link:hover,#iqlatorSharedHeader .iq-sh-button:hover,#iqlatorSharedHeader .iq-sh-link[aria-current="page"],#iqlatorSharedHeader .iq-sh-button[aria-expanded="true"],#iqlatorSharedHeader .iq-sh-button.iq-sh-parent-current{color:var(--iq-blue)!important;background:var(--iq-soft-blue)!important}
#iqlatorSharedHeader .iq-sh-drop a{color:#314b69!important;font-size:13px!important}
#iqlatorSharedHeader .iq-sh-drop a:hover,#iqlatorSharedHeader .iq-sh-drop a[aria-current="page"]{color:var(--iq-blue)!important;background:var(--iq-soft-blue)!important}

/* Body surfaces and controls use the same neutral/brand system. */
:where(.panel,.result,.ratecard,.market-card,.card,.iq-edu,.financial-education,.amortization-card){background:var(--iq-surface)!important;border-color:var(--iq-line)!important}
.field label{font-size:var(--iq-text-sm)!important;color:#334b67!important;font-weight:700!important}
.field input,.field select,textarea,input[type="text"],input[type="number"],input[type="email"],select{font-size:1rem!important;color:var(--iq-ink)!important;background:#fff!important;border-color:var(--iq-line-strong)!important}
:where(.primary,.btn.primary,.ratebtn){background:var(--iq-blue)!important;color:#fff!important}
:where(.primary,.btn.primary,.ratebtn):hover{background:var(--iq-blue-dark)!important}
:where(.secondary,.back){color:var(--iq-navy)!important;border-color:var(--iq-line-strong)!important}
.result .big{color:var(--iq-navy)!important;font-size:clamp(2rem,5vw,2.75rem)!important}

/* Footer: quieter than the task area, with consistent readable sizing. */
#iqlatorSharedFooter{background:var(--iq-soft)!important;color:var(--iq-ink)!important}
.iq-sh-footer-brand strong{font-size:20px!important;color:var(--iq-navy)!important}
.iq-sh-footer-brand span{font-size:13px!important;color:var(--iq-muted)!important}
.iq-sh-footer-group h2{font-size:11px!important;color:#687b92!important}
.iq-sh-footer-group a{font-size:14px!important;color:#405873!important}
.iq-sh-footer-group a:hover,.iq-sh-footer-group a[aria-current="page"]{color:var(--iq-blue)!important}
.iq-sh-footer-bottom{font-size:12px!important;color:#6a7c92!important}

@media(max-width:1120px){
  #iqlatorSharedHeader .iq-sh-bar{height:72px!important;min-height:72px!important}
  #iqlatorSharedHeader .iq-sh-brand img{height:43px!important;width:auto!important}
  #iqlatorSharedHeader .iq-sh-brand span{font-size:10.5px!important}
  .iq-sh-drawer-head{min-height:72px!important}
  .iq-sh-drawer-brand img{height:44px!important;width:auto!important}
}
@media(max-width:700px){
  body{font-size:16px}
  main h1{font-size:clamp(1.85rem,8vw,2.2rem)!important}
  main h2{font-size:clamp(1.4rem,6vw,1.7rem)!important}
  main h3{font-size:1.125rem!important}
  .iq-sh-group-btn,.iq-sh-direct{font-size:15px!important}
  .iq-sh-sub a{font-size:14px!important}
}
@media(max-width:430px){
  #iqlatorSharedHeader .iq-sh-brand img{height:40px!important}
  #iqlatorSharedHeader .iq-sh-brand span{font-size:10px!important}
}

/* v1.11.10: cross-browser button contrast repair.
   Safari can retain an inherited text fill when a button background is overridden. */
:where(button.btn,a.btn,.ratebtn,.primary){
  background:var(--iq-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:var(--iq-blue)!important;
  font-size:.875rem!important;
  font-weight:750!important;
  line-height:1.2!important;
  opacity:1!important;
}
:where(button.btn,a.btn,.ratebtn,.primary) *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
:where(button.btn,a.btn,.ratebtn,.primary):hover{
  background:var(--iq-blue-dark)!important;
  border-color:var(--iq-blue-dark)!important;
}
:where(.secondary,.back){
  background:#fff!important;
  color:var(--iq-navy)!important;
  -webkit-text-fill-color:var(--iq-navy)!important;
  border:1px solid var(--iq-line-strong)!important;
  opacity:1!important;
}
:where(.secondary,.back) *{color:var(--iq-navy)!important;-webkit-text-fill-color:var(--iq-navy)!important}

/* v1.11.14 Internal guide links */
.iq-guide-links{margin:18px 0 12px;padding:16px 18px;background:var(--iq-soft-blue,#eef6ff);border:1px solid var(--iq-line,#dbe5f0);border-radius:12px}.iq-guide-links h3{margin:0 0 6px;font-size:1.05rem}.iq-guide-links p{margin:0;line-height:1.7}.iq-guide-links a{color:var(--iq-blue,#146ef5);font-weight:700;text-decoration:underline;text-underline-offset:2px}.iq-guide-links a:hover{text-decoration-thickness:2px}
