/* Cashbook Finance — appearance system, dark-mode audit and icon-only control v2.6.1 */
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}

/* Immediate contrast correction for the bridging comparison card. */
.ink-bg .vs-card.lose{
  background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.045));
  border-color:rgba(174,216,246,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 22px 48px -38px rgba(0,0,0,.72);
}
.ink-bg .vs-card.lose .vlab{color:#b9d7ed;opacity:1}
.ink-bg .vs-card.lose .vsub{color:#d5e5f2;opacity:.92}
.ink-bg .vs-card.lose .vbig{color:#fff}

/* Appearance control — deliberately icon-only so it stays visually quiet. */
.theme-toggle{
  position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:10020;
  display:grid;place-items:center;width:46px;min-width:46px;height:46px;padding:0;
  border:1px solid rgba(132,170,201,.45);border-radius:15px;
  background:rgba(255,255,255,.88);color:#15344f;
  box-shadow:0 18px 44px -24px rgba(4,33,58,.48),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.theme-toggle:hover{transform:translateY(-2px);border-color:rgba(31,145,219,.65);box-shadow:0 22px 48px -23px rgba(4,33,58,.56),inset 0 1px 0 rgba(255,255,255,.95)}
.theme-toggle:active{transform:translateY(0) scale(.96)}
.theme-toggle:focus-visible{outline:3px solid rgba(43,164,235,.34);outline-offset:3px}
.theme-toggle-icon{position:relative;width:21px;height:21px;display:grid;place-items:center}
.theme-toggle svg{position:absolute;width:21px;height:21px;transition:opacity .2s ease,transform .3s ease}
.theme-toggle-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.theme-toggle .icon-sun{opacity:0;transform:rotate(-35deg) scale(.7)}
.theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="dark"] .theme-toggle{background:rgba(9,30,49,.88);color:#e8f4fd;border-color:rgba(130,196,238,.32);box-shadow:0 20px 48px -24px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.065)}
html[data-theme="dark"] .theme-toggle:hover{border-color:rgba(117,202,251,.62);background:rgba(12,39,63,.94)}
html[data-theme="dark"] .theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1)}
html[data-theme="dark"] .theme-toggle .icon-moon{opacity:0;transform:rotate(35deg) scale(.7)}

/* Sharper baseline interaction and content rhythm. */
:where(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(h1,h2,h3,.h2){text-wrap:balance}
:where(.lead,.prose p,.icard p,.panel-card p,.sector-note){text-wrap:pretty}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(35,153,225,.34)!important;outline-offset:3px!important}
.btn:active{transform:translateY(0) scale(.985)!important}
img{height:auto}

/* ----------------------------- Dark mode ----------------------------- */
html[data-theme="dark"]{
  --paper:#071827;
  --paper-2:#0a1f32;
  --tint:#0d2942;
  --card:#0b2034;
  --line:rgba(137,178,210,.22);
  --line-ink:rgba(192,222,244,.15);
  --text:#edf6fd;
  --text-mut:#a8bdd0;
  --ink:#061727;
  --ink-2:#09243d;
  --ink-deep:#04111e;
  --on-ink:#f0f7fd;
  --on-ink-mut:#b4c8da;
  --blue:#35a9ee;
  --blue-2:#49b7f4;
  --blue-mid:#55b6ef;
  --blue-light:#9bd9ff;
  --sky:#8cccf6;
  --premium-blue:#42b2f3;
  --premium-sky:#8bd3fb;
  --premium-ink:#061727;
  --premium-border:rgba(137,178,210,.24);
  --premium-glow:0 30px 72px -48px rgba(0,0,0,.86);
  --premium-card:linear-gradient(155deg,rgba(13,38,60,.99),rgba(8,28,46,.99));
}
html[data-theme="dark"] body{
  background:#071827;color:var(--text);
  background-image:radial-gradient(1100px 620px at 84% -12%,rgba(31,134,202,.095),transparent 64%),linear-gradient(180deg,#071827,#081b2c);
}
html[data-theme="dark"] .section:not(.ink-bg):not(.deep):not(.tint){background:rgba(8,26,43,.38)}
html[data-theme="dark"] .tint{background:#0a1f32}
html[data-theme="dark"] .section+.section:not(.ink-bg):not(.deep)::before{background:linear-gradient(90deg,transparent,rgba(135,183,218,.25),transparent)}
html[data-theme="dark"] .sky2::after{background:linear-gradient(90deg,rgba(75,182,241,.42),rgba(103,189,243,.08))}
html[data-theme="dark"] ::selection{background:rgba(71,181,243,.38);color:#fff}

/* floating header stays visually coherent after scrolling */
html[data-theme="dark"] body.nav-solid header.nav .nav-in{
  background:rgba(7,25,42,.92);border-color:rgba(128,182,219,.22);
  box-shadow:0 20px 48px -28px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.05)
}
html[data-theme="dark"] body.nav-solid header.nav nav.links a{color:#dceaf5}
html[data-theme="dark"] body.nav-solid header.nav nav.links a:hover,
html[data-theme="dark"] body.nav-solid header.nav nav.links a.active{color:#86cff9}
html[data-theme="dark"] body.nav-solid header.nav .brand .logo-dark{display:block!important}
html[data-theme="dark"] body.nav-solid header.nav .brand .logo-light{display:none!important}
html[data-theme="dark"] body.nav-solid header.nav .nav-phone{color:#dceaf5;background:rgba(255,255,255,.035)}
html[data-theme="dark"] body.nav-solid header.nav .nav-phone span,
html[data-theme="dark"] body.nav-solid header.nav .nav-phone svg{color:#89d0fb}
html[data-theme="dark"] body.nav-solid header.nav .nav-phone:hover{background:rgba(111,192,243,.1)}
html[data-theme="dark"] body.nav-solid header.nav .portal-nav-link{color:#e9f5fd;border-color:rgba(115,198,247,.34);background:rgba(24,115,174,.17)}
html[data-theme="dark"] body.nav-solid header.nav .portal-nav-link svg{color:#8ad3ff}
html[data-theme="dark"] body.nav-solid header.nav .portal-nav-link:hover{background:rgba(30,139,207,.24);border-color:rgba(129,207,252,.58)}
html[data-theme="dark"] body.nav-solid header.nav .burger{background:rgba(255,255,255,.045);border-color:rgba(147,193,226,.22)}
html[data-theme="dark"] body.nav-solid header.nav .burger i{background:#e6f2fb}

/* surface system */
html[data-theme="dark"] :is(.icard,.panel-card,.zrow,.fitbox,.sector,.tcard,.bcard,.qa,.gterm,.form-card,.apply-card,.spec,.profile-card,.worked,.define,.analogy,.calc-card,.compare,.checker){
  background:linear-gradient(155deg,#0d263d,#0a1d30)!important;
  border-color:rgba(139,181,213,.22)!important;
  color:var(--text);
  box-shadow:0 28px 68px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.035)
}
html[data-theme="dark"] :is(.icard,.panel-card,.zrow,.fitbox,.sector,.tcard,.bcard,.qa,.gterm,.form-card,.apply-card,.profile-card)::after{
  background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 40%,rgba(55,169,235,.07));opacity:.75
}
html[data-theme="dark"] :is(.icard,.panel-card,.zrow,.fitbox,.sector,.tcard,.bcard,.gterm):hover{
  border-color:rgba(85,183,240,.45)!important;box-shadow:0 34px 72px -46px rgba(0,0,0,.95),0 0 0 1px rgba(65,172,234,.08) inset
}
html[data-theme="dark"] .tint .sector{background:linear-gradient(155deg,#0d263d,#0a1d30)!important}
html[data-theme="dark"] .sector::before{background:radial-gradient(circle,rgba(61,166,231,.18),rgba(61,166,231,0) 68%)}
html[data-theme="dark"] .sector .si,
html[data-theme="dark"] .ic{background:linear-gradient(180deg,#143754,#0e2a43);border-color:rgba(122,192,236,.22)}
html[data-theme="dark"] .constr{background:linear-gradient(155deg,#0e2942,#0a2035);border-color:rgba(104,179,228,.28);box-shadow:0 26px 64px -48px rgba(0,0,0,.94)}
html[data-theme="dark"] .constr .ctitle{color:#eff7fd}
html[data-theme="dark"] .constr .cbody{color:#abc0d2}

/* forms and controls */
html[data-theme="dark"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
  background:#091e31!important;color:#edf6fd!important;border-color:rgba(139,181,213,.27)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}
html[data-theme="dark"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea)::placeholder{color:#7891a7;opacity:1}
html[data-theme="dark"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):hover{border-color:rgba(119,196,242,.42)!important;background:#0b2439!important}
html[data-theme="dark"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus{background:#0c2941!important;border-color:#44b2f2!important;box-shadow:0 0 0 4px rgba(53,169,238,.13)!important}
html[data-theme="dark"] select option{background:#0a1f32;color:#edf6fd}
html[data-theme="dark"] input[type=range]{background:#173249}
html[data-theme="dark"] input[type=range]::-webkit-slider-thumb{border-color:#dff2ff}
html[data-theme="dark"] input[type=range]::-moz-range-thumb{border-color:#dff2ff}
html[data-theme="dark"] .quote-form-card{background:linear-gradient(155deg,#0e2a43,#091e32)!important;border-color:rgba(112,188,235,.28)!important;box-shadow:0 40px 84px -44px rgba(0,0,0,.95)!important}
html[data-theme="dark"] .quote-assurance{background:#0d304a;color:#add3e9!important;border-color:rgba(112,188,235,.22)}
html[data-theme="dark"] .quote-form-card .seg{background:#081a2a}
html[data-theme="dark"] .quote-form-card .seg input:checked+.opt{background:#123653;color:#88d2fb;box-shadow:0 10px 24px -18px rgba(0,0,0,.9)}
html[data-theme="dark"] .seg .opt{color:#aec1d2;border-color:rgba(139,181,213,.2)}
html[data-theme="dark"] .seg input:checked+.opt{background:#123653;color:#8dd5fc;border-color:#4caee8}
html[data-theme="dark"] .btn-light{background:#eaf6fd;color:#09213a}

html[data-theme="dark"] :is(.ftab,.qpick button,.wback,.wreview .rr,.profile-card-info,.ico-badge){
  background:#0d263d!important;border-color:rgba(139,181,213,.22)!important;color:#b5cadb!important;
}
html[data-theme="dark"] :is(.ftab.on,.qpick button.on,.qpick button.active){background:#143754!important;color:#8fd6fc!important;border-color:rgba(77,178,237,.5)!important}
html[data-theme="dark"] .dbubble{background:#eaf6fd;color:#09213a;box-shadow:0 8px 20px -8px rgba(0,0,0,.8)}
html[data-theme="dark"] .dbubble::after{border-top-color:#eaf6fd}
html[data-theme="dark"] input[type="checkbox"],html[data-theme="dark"] input[type="radio"]{accent-color:#38aef0}
html[data-theme="dark"] .btn-outline{color:#91d4fb;border-color:rgba(116,194,241,.42)}
html[data-theme="dark"] .btn-outline:hover{background:rgba(65,169,231,.09);border-color:#61c0f5}

/* structured content */
html[data-theme="dark"] .tabs{background:#081b2d;border-color:rgba(139,181,213,.21)}
html[data-theme="dark"] .tab{color:#a9bed0}
html[data-theme="dark"] .tab.on{background:#12314b;color:#8bd3fc;box-shadow:0 10px 24px -18px rgba(0,0,0,.9)}
html[data-theme="dark"] .qa[aria-expanded="true"]{background:#102a42!important}
html[data-theme="dark"] .qa .plus{background:#112e48}
html[data-theme="dark"] .spec .row:nth-child(even){background:#0b2237}
html[data-theme="dark"] .spec .row .k{color:#eaf5fc}
html[data-theme="dark"] .compare .crow{border-color:rgba(139,181,213,.18)}
html[data-theme="dark"] .compare .crow.head{background:#102b44;color:#eaf5fc}
html[data-theme="dark"] .calc-bar,html[data-theme="dark"] .calc-bar2{background:#102b43}
html[data-theme="dark"] .gterm b{color:#eef7fd}
html[data-theme="dark"] .oneliner span,
html[data-theme="dark"] .profile-tags span,
html[data-theme="dark"] .chip{background:#102d46!important;border-color:rgba(139,181,213,.2)!important;color:#b6d0e3!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
html[data-theme="dark"] .prose>p:first-of-type{color:#c4d8e8}
html[data-theme="dark"] .prose blockquote{background:#0e2c46;color:#c4d9e8;border-left-color:#49b7f4}
html[data-theme="dark"] .article-cover{box-shadow:0 42px 95px -52px rgba(0,0,0,.95)}

/* portal */
html[data-theme="dark"] body[data-page="portal"],
html[data-theme="dark"] body[data-page="portal-success"]{background:linear-gradient(180deg,#071827,#091e31 46%,#071827)}
html[data-theme="dark"] body[data-page="portal"] .portal-steps{background:rgba(9,29,47,.9);border-color:rgba(139,181,213,.2)}
html[data-theme="dark"] body[data-page="portal"] .portal-step{color:#a9bed0;border-color:transparent}
html[data-theme="dark"] body[data-page="portal"] .portal-step:hover,
html[data-theme="dark"] body[data-page="portal"] .portal-step.active{color:#eef7fd;background:#102f4b;border-color:rgba(98,184,237,.3)}
html[data-theme="dark"] body[data-page="portal"] .portal-card{background:linear-gradient(155deg,#0e2942,#091e31);border-color:rgba(139,181,213,.22);box-shadow:0 36px 82px -56px rgba(0,0,0,.95)}
html[data-theme="dark"] body[data-page="portal"] .portal-alert{background:#0e2942;border-color:rgba(139,181,213,.22);color:#c5d9e8}
html[data-theme="dark"] body[data-page="portal"] .upload-box{background:linear-gradient(155deg,#0c253b,#091d30);border-color:rgba(139,181,213,.23)}
html[data-theme="dark"] body[data-page="portal"] .upload-meter{background:#0b2439;border-color:rgba(139,181,213,.2)}
html[data-theme="dark"] body[data-page="portal"] .pdf-link,
html[data-theme="dark"] body[data-page="portal"] .add-file{background:#102e48;border-color:rgba(112,188,235,.28);color:#8dd4fb}
html[data-theme="dark"] body[data-page="portal"] .portal-rail-help{background:#0d2740;border-color:rgba(139,181,213,.2)}
html[data-theme="dark"] body[data-page="portal"] .portal-footer{border-color:rgba(139,181,213,.18);color:#9fb6ca}
html[data-theme="dark"] .portal-logo-link{background:#fff}

/* A few explicit light surfaces used outside the shared system. */
html[data-theme="dark"] :is(.success-box,.notice,.callout,.result,.result-box,.contact-card,.legal-card,.feature-card){background:#0d263d!important;border-color:rgba(139,181,213,.22)!important;color:var(--text)}
html[data-theme="dark"] footer.ft{background:#041321}

/* Mobile refinement: keep the control easy to reach without masking content. */
@media(max-width:760px){
  .theme-toggle{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:44px;min-width:44px;height:44px;border-radius:14px}
  .ink-bg .vs-card.lose .vlab{font-size:11px}
  .ink-bg .vs-card.lose .vsub{font-size:13.5px;line-height:1.55}
}

@media(prefers-reduced-motion:reduce){
  .theme-toggle,.theme-toggle svg{transition:none!important}
}


/* ========================================================================== 
   v2.6.1 — full dark-mode contrast audit and quote-selector refinement
   ========================================================================== */

/* Homepage reassurance and finance selector — refined in both appearances. */
body[data-page="home"] #contact .quote-form-card .quote-assurance{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-height:44px;
  box-sizing:border-box;
  margin:8px 0 24px!important;
  padding:9px 12px!important;
  gap:9px!important;
  border:1px solid rgba(111,180,226,.38)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#eef8ff 0%,#e6f3fc 100%)!important;
  color:#265f82!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 28px -24px rgba(15,88,137,.5);
  white-space:nowrap!important;
  overflow:hidden;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-size:clamp(9px,1.03vw,13.5px)!important;
  font-weight:650;
  letter-spacing:-.012em!important;
  line-height:1.2!important;
}
body[data-page="home"] #contact .quote-form-card .quote-assurance::before{
  content:"✓";
  display:grid;
  place-items:center;
  flex:0 0 23px!important;
  width:23px!important;
  height:23px!important;
  border-radius:50%;
  background:linear-gradient(145deg,#d9f5e8,#c9eedc)!important;
  color:#08764b!important;
  box-shadow:inset 0 0 0 1px rgba(14,132,85,.08);
  font-size:13px!important;
  font-weight:900;
}
body[data-page="home"] #contact .quote-form-card .fld>label{
  display:block;
  margin-bottom:8px;
  color:#2a4862;
  font-weight:800;
}
body[data-page="home"] #contact .quote-form-card .seg{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px!important;
  padding:6px!important;
  border:1px solid rgba(178,204,224,.9)!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#edf3f8,#e8f0f6)!important;
  box-shadow:inset 0 1px 3px rgba(13,48,76,.055);
}
body[data-page="home"] #contact .quote-form-card .seg label{min-width:0}
body[data-page="home"] #contact .quote-form-card .seg .opt{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:56px!important;
  padding:11px 14px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#536c82!important;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
body[data-page="home"] #contact .quote-form-card .seg .opt:hover{
  background:rgba(255,255,255,.64)!important;
  color:#173f5e!important;
}
body[data-page="home"] #contact .quote-form-card .seg input:checked+.opt{
  background:linear-gradient(135deg,#0a7fd1,#259be2)!important;
  color:#fff!important;
  border-color:rgba(0,105,181,.42)!important;
  box-shadow:0 12px 26px -17px rgba(3,98,164,.78),inset 0 1px 0 rgba(255,255,255,.2)!important;
  transform:translateY(-1px);
}

/* Confidence ticker: the original light tiles must not survive in dark mode. */
html[data-theme="dark"] body[data-page="home"] .ticker{
  background:rgba(91,156,200,.22)!important;
  border-color:rgba(126,190,232,.32)!important;
  box-shadow:0 28px 68px -44px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html[data-theme="dark"] body[data-page="home"] .ticker .ti{
  background:linear-gradient(155deg,#102e49,#0a2238)!important;
  border-color:rgba(116,183,226,.2)!important;
}
html[data-theme="dark"] body[data-page="home"] .ticker .ti::before{
  background:linear-gradient(180deg,#45b6f5,rgba(69,182,245,.16))!important;
}
html[data-theme="dark"] body[data-page="home"] .ticker .ti .v{
  color:#f4faff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
html[data-theme="dark"] body[data-page="home"] .ticker .ti .v .u{color:#49b9f5!important}
html[data-theme="dark"] body[data-page="home"] .ticker .ti .k{
  color:#b9cee0!important;
  opacity:1!important;
}

/* Product panels and CTAs: high contrast, no accidental grey/white surfaces. */
html[data-theme="dark"] .panel-card .pc-stat{
  background:linear-gradient(155deg,#123552,#0e2942)!important;
  border:1px solid rgba(113,188,234,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .panel-card .pc-stat b{color:#46b9f7!important}
html[data-theme="dark"] .panel-card .pc-stat span{color:#bed1e1!important;opacity:1!important}
html[data-theme="dark"] .panel-card .pc-tag{color:#7fd2ff!important}
html[data-theme="dark"] .panel-card p{color:#b9cddd!important}
html[data-theme="dark"] .btn-outline{
  background:linear-gradient(145deg,rgba(20,62,94,.95),rgba(12,42,66,.95))!important;
  color:#dff3ff!important;
  border-color:rgba(104,193,243,.44)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 30px -24px rgba(0,0,0,.9)!important;
}
html[data-theme="dark"] .btn-outline:hover{
  background:linear-gradient(145deg,#17517b,#103b5d)!important;
  color:#fff!important;
  border-color:#67c7fa!important;
}

/* Quote card contrast and selector state in dark appearance. */
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .quote-assurance{
  background:linear-gradient(135deg,#102f49,#0c273e)!important;
  color:#d2e8f7!important;
  border-color:rgba(99,183,234,.35)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 32px -27px rgba(0,0,0,.9);
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .quote-assurance::before{
  background:linear-gradient(145deg,#d7f6e8,#bcebd7)!important;
  color:#08764b!important;
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .fld>label{
  color:#d8e8f4!important;
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .seg{
  background:linear-gradient(180deg,#071a2b,#0a2237)!important;
  border-color:rgba(126,182,220,.3)!important;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.34)!important;
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .seg .opt{
  color:#b7cadb!important;
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .seg .opt:hover{
  background:rgba(80,170,225,.09)!important;
  color:#eef8ff!important;
}
html[data-theme="dark"] body[data-page="home"] #contact .quote-form-card .seg input:checked+.opt{
  background:linear-gradient(135deg,#126a9f,#174d72)!important;
  color:#fff!important;
  border-color:rgba(93,198,251,.52)!important;
  box-shadow:0 14px 28px -20px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.1)!important;
}

/* Full dark-mode surface audit for hard-coded light components. */
html[data-theme="dark"] :is(
  .choice span,.finance-table td,.legal-panel,.legal-def,.person-card,.privacy-strip,
  .signature-note,.portal-step,.portal-prep-list span,.profile-card-info,.ico-badge,
  .wprogress,.wnav,.wreview .rr,.upload-box,.upload-meter,.add-file,.pdf-link
){
  background:linear-gradient(155deg,#102a42,#0b2136)!important;
  color:#c4d8e8!important;
  border-color:rgba(139,181,213,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
html[data-theme="dark"] :is(.legal-panel h4,.legal-def b,.privacy-strip strong,.person-card strong){color:#edf7fd!important}
html[data-theme="dark"] :is(.legal-panel p,.legal-panel li,.signature-note,.privacy-strip){color:#b6cada!important}
html[data-theme="dark"] .choice input:checked+span{
  background:#143c5d!important;color:#8fd7ff!important;border-color:#4caee8!important;
  box-shadow:0 0 0 3px rgba(52,169,235,.11)!important;
}
html[data-theme="dark"] .finance-table th{background:#06182a!important;color:#eaf5fc!important;border-color:rgba(139,181,213,.2)!important}
html[data-theme="dark"] .finance-table td{border-color:rgba(139,181,213,.16)!important}
html[data-theme="dark"] .finance-table input{color:#edf6fd!important}
html[data-theme="dark"] .portal-field input[type=file]{background:#0b2135!important;border-color:rgba(139,181,213,.25)!important;color:#c4d8e8!important}
html[data-theme="dark"] .portal-field input[type=file]::file-selector-button{
  background:#153b5b!important;color:#9cddff!important;border:1px solid rgba(108,191,239,.25)!important;
}
html[data-theme="dark"] .upload-box:hover{background:#102e49!important;border-color:#50b6ef!important}
html[data-theme="dark"] .portal-prep-list span{color:#a9d8f4!important}
html[data-theme="dark"] .signature-note{color:#f0d2b9!important;border-color:rgba(223,163,107,.28)!important;background:#36281f!important}
html[data-theme="dark"] .send-error{background:#3b1d1c!important;color:#ffd7cf!important;border-color:rgba(239,128,105,.35)!important}
html[data-theme="dark"] .portal-alert{background:#2e281b!important;color:#f3dfb8!important;border-color:rgba(231,185,91,.32)!important}
html[data-theme="dark"] .portal-alert strong{color:#fff1cf!important}
html[data-theme="dark"] .portal-alert strong::before{background:#f1c563!important;color:#4b3300!important}
html[data-theme="dark"] .portal-exit-link{
  background:#12324e!important;color:#e9f5fd!important;border-color:rgba(128,196,238,.32)!important;box-shadow:none!important;
}
html[data-theme="dark"] .portal-exit-link:hover{background:#194665!important;color:#fff!important;border-color:#6fc5f4!important}
html[data-theme="dark"] .portal-field :is(input,select,textarea):focus{background:#0d2a43!important}
html[data-theme="dark"] .legal-panel{scrollbar-color:#426984 #0a2034}
html[data-theme="dark"] .section-kicker{color:#75ccfb!important}
html[data-theme="dark"] .product-card-cta{color:#75ccfb!important}
html[data-theme="dark"] .prose a:not(.btn){color:#72cbfb!important;text-decoration-color:rgba(114,203,251,.45)!important}
html[data-theme="dark"] .prose a:not(.btn):hover{text-decoration-color:#72cbfb!important}
html[data-theme="dark"] .bmeta,.bmeta span,.article-meta{color:#a9bed0!important}
html[data-theme="dark"] .ft-col a{color:#c7d9e7}
html[data-theme="dark"] .ft-col a:hover{color:#8bd4fc}

/* Small screens: preserve a single reassurance row without crowding the form. */
@media(max-width:560px){
  body[data-page="home"] #contact .quote-form-card .quote-assurance{
    min-height:38px;
    padding:7px 8px!important;
    gap:6px!important;
    border-radius:12px!important;
    font-size:clamp(7.7px,2.25vw,10.2px)!important;
    letter-spacing:-.025em!important;
  }
  body[data-page="home"] #contact .quote-form-card .quote-assurance::before{
    flex-basis:18px!important;width:18px!important;height:18px!important;font-size:10px!important;
  }
  body[data-page="home"] #contact .quote-form-card .seg{padding:5px!important;border-radius:15px!important}
  body[data-page="home"] #contact .quote-form-card .seg .opt{min-height:51px!important;padding:9px 7px!important;font-size:12px}
}

/* v2.6.2 — avoid duplicate legacy chevrons now that finance links use
   explicit, accessible arrow elements. */
.mobile-menu a.np::before{display:none!important}

/* v2.6.3 — keep the explicit finance-link arrows clean on hover. The legacy
   pseudo-element is disabled so it cannot overlap the real arrow span. */
header.nav nav.links a.np::before,
header.nav nav.links a.np:hover::before,
header.nav nav.links a.np.active::before,
.mobile-menu a.np::before,
.mobile-menu a.np:hover::before,
.mobile-menu a.np.active::before{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Vertically centre both finance choices within the full segmented-control
   track in light and dark appearances. */
body[data-page="home"] #contact .quote-form-card .seg{
  align-items:stretch!important;
}
body[data-page="home"] #contact .quote-form-card .seg label{
  display:flex!important;
  align-items:stretch!important;
  min-height:64px!important;
}
body[data-page="home"] #contact .quote-form-card .seg .opt{
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-block:12px!important;
  line-height:1.15!important;
}
@media (max-width:760px){
  body[data-page="home"] #contact .quote-form-card .seg label,
  body[data-page="home"] #contact .quote-form-card .seg .opt{
    min-height:54px!important;
  }
}


/* v2.6.4 — final alignment, navigation consistency and portal progress polish. */

/* Quote selector: place both choices precisely in the vertical centre of the
   surrounding track. A selected option no longer shifts upward. */
body[data-page="home"] #contact .quote-form-card .seg{
  min-height:132px!important;
  padding:10px!important;
  align-items:center!important;
  grid-auto-rows:112px!important;
}
body[data-page="home"] #contact .quote-form-card .seg label{
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  min-height:112px!important;
  height:112px!important;
}
body[data-page="home"] #contact .quote-form-card .seg .opt{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:112px!important;
  height:112px!important;
  padding:0 14px!important;
  line-height:1.2!important;
}
body[data-page="home"] #contact .quote-form-card .seg input:checked+.opt{
  transform:none!important;
}

/* All primary navigation links now share one clean hover language. Decorative
   pseudo layers are removed to prevent any element crossing the finance arrows. */
header.nav nav.links>a::before,
header.nav nav.links>a::after{
  content:none!important;
  display:none!important;
}
header.nav nav.links>a{
  border:1px solid transparent!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
header.nav nav.links>a:hover,
header.nav nav.links>a:focus-visible{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(38,139,210,.22),rgba(103,189,243,.08))!important;
  border-color:rgba(117,195,255,.25)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  transform:translateY(-1px);
}
header.nav nav.links>a.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(38,139,210,.26),rgba(103,189,243,.1))!important;
  border-color:rgba(117,195,255,.30)!important;
}
body.nav-solid header.nav nav.links>a:hover,
body.nav-solid header.nav nav.links>a:focus-visible,
body.nav-solid header.nav nav.links>a.active{
  color:#0878c6!important;
  background:linear-gradient(135deg,#e8f5fd,#f3f9fd)!important;
  border-color:#badcf1!important;
  box-shadow:0 8px 20px -17px rgba(10,87,137,.48)!important;
}

/* Light appearance: the portal progress rail uses the same crisp, elevated
   card language as the rest of the application instead of washed-out tones. */
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail{
  background:linear-gradient(165deg,#ffffff 0%,#f5f9fd 100%)!important;
  color:#102a43!important;
  border:1px solid #cbddea!important;
  box-shadow:0 24px 54px -38px rgba(8,44,75,.42),inset 0 1px 0 #fff!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail::before{
  background:radial-gradient(circle,rgba(49,157,229,.13),rgba(49,157,229,0) 68%)!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-head{
  border-bottom-color:#dce7f0!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-head small{
  color:#56809f!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-head strong{
  color:#0d2942!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-head p{
  color:#647d92!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step{
  color:#526d84!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step span{
  background:#eaf4fc!important;
  color:#168bdc!important;
  border-color:#cfe5f5!important;
  box-shadow:none!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step:hover{
  color:#113c5d!important;
  background:#edf6fd!important;
  border-color:#d1e6f5!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step.active{
  color:#fff!important;
  background:linear-gradient(135deg,#1288d8,#55b4ef)!important;
  border-color:#1683ce!important;
  box-shadow:0 14px 28px -20px rgba(6,112,184,.72),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step.active span{
  color:#0875bd!important;
  background:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 18px -13px rgba(2,65,108,.5)!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-step.done::after{
  color:#119868!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-help{
  background:#edf6fd!important;
  border-color:#d1e5f4!important;
  box-shadow:none!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-help strong{
  color:#153b58!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-help p{
  color:#617b91!important;
}
html:not([data-theme="dark"]) body[data-page="portal"] .portal-rail-help a{
  color:#087dcc!important;
}

@media(max-width:760px){
  body[data-page="home"] #contact .quote-form-card .seg{
    min-height:112px!important;
    grid-auto-rows:92px!important;
    padding:10px!important;
  }
  body[data-page="home"] #contact .quote-form-card .seg label,
  body[data-page="home"] #contact .quote-form-card .seg .opt{
    min-height:92px!important;
    height:92px!important;
  }
}


/* v2.6.5 — dark-mode contrast and interaction audit. */

/* Company and team profile actions: remove the washed-out pale surface in
   dark mode and use the same confident blue action language as the site. */
html[data-theme="dark"] body:is([data-page="company"],[data-page="team"]) .btn.btn-outline{
  background:linear-gradient(135deg,#167fc0,#259fe5)!important;
  color:#fff!important;
  border-color:rgba(116,207,255,.72)!important;
  box-shadow:0 16px 32px -22px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
html[data-theme="dark"] body:is([data-page="company"],[data-page="team"]) .btn.btn-outline:hover,
html[data-theme="dark"] body:is([data-page="company"],[data-page="team"]) .btn.btn-outline:focus-visible{
  background:linear-gradient(135deg,#2198dc,#35b1f1)!important;
  color:#fff!important;
  border-color:#9edfff!important;
  box-shadow:0 20px 38px -22px rgba(0,0,0,.96),0 0 0 1px rgba(138,215,255,.15) inset!important;
}

/* Header links: one dark-mode hover treatment for both finance links and the
   standard Company/Team/etc. links. This override comes after the light
   nav-solid rule, preventing pale hover blocks in dark mode. */
html[data-theme="dark"] header.nav nav.links>a,
html[data-theme="dark"] body.nav-solid header.nav nav.links>a{
  color:#dbeaf5!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html[data-theme="dark"] header.nav nav.links>a:hover,
html[data-theme="dark"] header.nav nav.links>a:focus-visible,
html[data-theme="dark"] body.nav-solid header.nav nav.links>a:hover,
html[data-theme="dark"] body.nav-solid header.nav nav.links>a:focus-visible{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(36,145,213,.27),rgba(82,181,239,.11))!important;
  border-color:rgba(117,204,253,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 12px 24px -20px rgba(0,0,0,.9)!important;
  transform:translateY(-1px)!important;
}
html[data-theme="dark"] header.nav nav.links>a.active,
html[data-theme="dark"] body.nav-solid header.nav nav.links>a.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(34,137,205,.31),rgba(77,176,235,.13))!important;
  border-color:rgba(117,204,253,.39)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* The arrow is a real child element. Disable every legacy decoration and keep
   the arrow above the link surface without moving or duplicating on hover. */
header.nav nav.links>a::before,
header.nav nav.links>a::after,
header.nav nav.links>a:hover::before,
header.nav nav.links>a:hover::after,
header.nav nav.links>a:focus-visible::before,
header.nav nav.links>a:focus-visible::after,
header.nav nav.links>a.active::before,
header.nav nav.links>a.active::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
header.nav nav.links a.np .nav-arrow{
  position:relative!important;
  z-index:2!important;
  transform:rotate(-45deg)!important;
  border-color:#83cffb!important;
  transition:border-color .2s ease!important;
}
header.nav nav.links a.np:hover .nav-arrow,
header.nav nav.links a.np:focus-visible .nav-arrow,
header.nav nav.links a.np.active .nav-arrow{
  transform:rotate(-45deg)!important;
  border-color:#d8f2ff!important;
}

/* Dark content cards: inherited light-theme ink values made strong text and
   some supporting copy almost invisible. Normalise the readable text palette. */
html[data-theme="dark"] .prose strong,
html[data-theme="dark"] .define strong,
html[data-theme="dark"] .analogy strong,
html[data-theme="dark"] .plainpts b{
  color:#f2f8fd!important;
}
html[data-theme="dark"] .define :is(p,li),
html[data-theme="dark"] .analogy,
html[data-theme="dark"] .plainpts :is(div,span),
html[data-theme="dark"] .prose :is(p,li){
  color:#bfd2e2!important;
}
html[data-theme="dark"] .define .dlab{
  color:#4fc1fb!important;
}
html[data-theme="dark"] body[data-page="affiliates"] :is(.define,.analogy) .prose,
html[data-theme="dark"] body[data-page="affiliates"] :is(.define,.analogy) .prose p,
html[data-theme="dark"] body[data-page="affiliates"] :is(.define,.analogy) .prose li{
  color:#c4d7e6!important;
}
html[data-theme="dark"] body[data-page="affiliates"] .define .prose strong{
  color:#f5faff!important;
}
html[data-theme="dark"] body[data-page="affiliates"] .explain .lead{
  color:#bdd2e2!important;
}

/* FAQ accordions: clear, consistent hover and expanded states throughout all
   pages in dark mode. */
html[data-theme="dark"] .qa{
  background:linear-gradient(155deg,#0d263d,#0a1d30)!important;
  border-color:rgba(139,181,213,.24)!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
html[data-theme="dark"] .qa:hover{
  background:linear-gradient(155deg,#12314d,#0d263d)!important;
  border-color:rgba(91,190,245,.48)!important;
  box-shadow:0 22px 46px -34px rgba(0,0,0,.94),inset 0 1px 0 rgba(255,255,255,.045)!important;
  transform:translateY(-1px);
}
html[data-theme="dark"] .qa>button{
  color:#e6f2fa!important;
}
html[data-theme="dark"] .qa:hover>button{
  color:#fff!important;
}
html[data-theme="dark"] .qa .plus{
  background:#12334f!important;
  border:1px solid rgba(104,191,240,.2)!important;
}
html[data-theme="dark"] .qa:hover .plus{
  background:#17466b!important;
  border-color:rgba(109,203,255,.45)!important;
}
html[data-theme="dark"] .qa .plus::before,
html[data-theme="dark"] .qa .plus::after{
  background:#65c5f8!important;
}
html[data-theme="dark"] .qa[aria-expanded="true"]{
  background:linear-gradient(155deg,#123451,#0d263d)!important;
  border-color:rgba(91,190,245,.52)!important;
  box-shadow:0 24px 50px -36px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
html[data-theme="dark"] .qa[aria-expanded="true"] .plus{
  background:linear-gradient(135deg,#1689d2,#35b1ef)!important;
  border-color:rgba(140,219,255,.7)!important;
}
html[data-theme="dark"] .qa[aria-expanded="true"] .plus::before,
html[data-theme="dark"] .qa[aria-expanded="true"] .plus::after{
  background:#fff!important;
}
html[data-theme="dark"] .qa-panel .inner{
  color:#bcd1e1!important;
}


/* v2.6.6 — compact quote selector and refined navigation hover states. */

/* Match the funding selector to the visual height of the form controls below.
   The two choices stay centred without turning the selector into an oversized panel. */
body[data-page="home"] #contact .quote-form-card .seg{
  min-height:58px!important;
  height:58px!important;
  padding:4px!important;
  grid-auto-rows:50px!important;
  align-items:center!important;
  gap:4px!important;
  border-radius:16px!important;
}
body[data-page="home"] #contact .quote-form-card .seg label{
  min-height:50px!important;
  height:50px!important;
  align-self:center!important;
}
body[data-page="home"] #contact .quote-form-card .seg .opt{
  min-height:50px!important;
  height:50px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
  box-shadow:none!important;
}
body[data-page="home"] #contact .quote-form-card .seg input:checked+.opt{
  box-shadow:0 10px 22px -18px rgba(10,104,169,.62),inset 0 1px 0 rgba(255,255,255,.24)!important;
}

/* A single, polished hover language for every desktop page link. The surface
   is contained, arrows remain untouched and text never shifts position. */
@media (min-width:1501px){
  header.nav nav.links>a{
    min-height:40px!important;
    padding:0 clamp(7px,.55vw,11px)!important;
    border-radius:10px!important;
    border:1px solid transparent!important;
    transform:none!important;
    transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
  }
  header.nav nav.links>a:hover,
  header.nav nav.links>a:focus-visible{
    transform:none!important;
    color:#fff!important;
    background:linear-gradient(135deg,rgba(37,145,214,.24),rgba(91,185,240,.10))!important;
    border-color:rgba(124,204,251,.32)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px -19px rgba(0,0,0,.72)!important;
  }
  header.nav nav.links>a.active{
    transform:none!important;
    color:#fff!important;
    background:linear-gradient(135deg,rgba(30,137,208,.30),rgba(83,180,238,.13))!important;
    border-color:rgba(124,204,251,.38)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;
  }
  body.nav-solid header.nav nav.links>a:hover,
  body.nav-solid header.nav nav.links>a:focus-visible{
    color:#086fae!important;
    background:linear-gradient(135deg,#edf7fd,#f7fbfe)!important;
    border-color:#badcf0!important;
    box-shadow:inset 0 1px 0 #fff,0 10px 22px -19px rgba(8,82,132,.50)!important;
  }
  body.nav-solid header.nav nav.links>a.active{
    color:#086fae!important;
    background:linear-gradient(135deg,#e7f4fc,#f3f9fd)!important;
    border-color:#a9d3eb!important;
    box-shadow:inset 0 1px 0 #fff!important;
  }
  html[data-theme="dark"] header.nav nav.links>a:hover,
  html[data-theme="dark"] header.nav nav.links>a:focus-visible,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a:hover,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(30,139,209,.31),rgba(82,184,241,.14))!important;
    border-color:rgba(124,207,255,.42)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 24px -20px rgba(0,0,0,.92)!important;
  }
  html[data-theme="dark"] header.nav nav.links>a.active,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a.active{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(27,130,198,.36),rgba(73,171,229,.16))!important;
    border-color:rgba(124,207,255,.47)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.11)!important;
  }
}

/* The mobile layout keeps both choices compact while preserving touch targets. */
@media (max-width:760px){
  body[data-page="home"] #contact .quote-form-card .seg{
    min-height:auto!important;
    height:auto!important;
    grid-auto-rows:50px!important;
    gap:5px!important;
  }
  body[data-page="home"] #contact .quote-form-card .seg label,
  body[data-page="home"] #contact .quote-form-card .seg .opt{
    min-height:50px!important;
    height:50px!important;
  }
}


/* ========================================================================== 
   v2.6.7 — balanced quote selector, modern navigation and final dark audit
   ========================================================================== */

/* The quote selector is a true inset segmented control. Both selected states
   now keep exactly the same clearance from every edge of the outer track. */
body[data-page="home"] #contact .quote-form-card .seg{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
  width:100%!important;
  min-height:66px!important;
  height:66px!important;
  padding:7px!important;
  gap:7px!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body[data-page="home"] #contact .quote-form-card .seg label{
  display:flex!important;
  align-items:stretch!important;
  align-self:stretch!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
body[data-page="home"] #contact .quote-form-card .seg .opt{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  padding:0 14px!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
  line-height:1.1!important;
  transform:none!important;
}
body[data-page="home"] #contact .quote-form-card .seg input:checked+.opt{
  transform:none!important;
}

/* Modern desktop navigation: compact glass pills with a restrained lift,
   crisp outline and no generated decorations that can cover the real arrows. */
@media (min-width:1321px){
  header.nav nav.links>a{
    position:relative!important;
    isolation:isolate!important;
    min-height:40px!important;
    padding:0 clamp(9px,.65vw,13px)!important;
    border:1px solid transparent!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:translateZ(0)!important;
    backdrop-filter:blur(8px) saturate(125%);
    -webkit-backdrop-filter:blur(8px) saturate(125%);
    transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
  }
  header.nav nav.links>a::before,
  header.nav nav.links>a::after,
  header.nav nav.links>a:hover::before,
  header.nav nav.links>a:hover::after,
  header.nav nav.links>a:focus-visible::before,
  header.nav nav.links>a:focus-visible::after,
  header.nav nav.links>a.active::before,
  header.nav nav.links>a.active::after{
    content:none!important;
    display:none!important;
  }
  header.nav nav.links>a:hover,
  header.nav nav.links>a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(60,169,235,.24),rgba(130,211,255,.09))!important;
    border-color:rgba(139,215,255,.38)!important;
    box-shadow:0 12px 26px -20px rgba(0,0,0,.78),inset 0 1px 0 rgba(255,255,255,.12)!important;
    transform:translateY(-1px) scale(1.012)!important;
  }
  header.nav nav.links>a.active{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(36,149,218,.31),rgba(98,194,246,.12))!important;
    border-color:rgba(132,210,255,.43)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.11)!important;
    transform:none!important;
  }
  body.nav-solid header.nav nav.links>a:hover,
  body.nav-solid header.nav nav.links>a:focus-visible{
    color:#075f9f!important;
    background:linear-gradient(135deg,rgba(230,246,255,.98),rgba(247,252,255,.98))!important;
    border-color:#abd7ef!important;
    box-shadow:0 12px 26px -20px rgba(9,84,132,.48),inset 0 1px 0 #fff!important;
  }
  body.nav-solid header.nav nav.links>a.active{
    color:#075f9f!important;
    background:linear-gradient(135deg,#e2f3fd,#f4faff)!important;
    border-color:#9fcee8!important;
    box-shadow:inset 0 1px 0 #fff!important;
  }
  html[data-theme="dark"] header.nav nav.links>a,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a{
    color:#dcebf6!important;
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  html[data-theme="dark"] header.nav nav.links>a:hover,
  html[data-theme="dark"] header.nav nav.links>a:focus-visible,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a:hover,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(38,151,220,.34),rgba(104,199,250,.13))!important;
    border-color:rgba(134,213,255,.46)!important;
    box-shadow:0 13px 28px -21px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.13)!important;
    transform:translateY(-1px) scale(1.012)!important;
  }
  html[data-theme="dark"] header.nav nav.links>a.active,
  html[data-theme="dark"] body.nav-solid header.nav nav.links>a.active{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(31,135,202,.38),rgba(83,181,237,.16))!important;
    border-color:rgba(127,207,252,.48)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
    transform:none!important;
  }
  header.nav nav.links a.np .nav-arrow{
    position:relative!important;
    z-index:2!important;
    flex:0 0 auto!important;
    border-color:#82cdf8!important;
    transform:rotate(-45deg)!important;
    transition:border-color .18s ease,filter .18s ease!important;
  }
  header.nav nav.links a.np:hover .nav-arrow,
  header.nav nav.links a.np:focus-visible .nav-arrow,
  header.nav nav.links a.np.active .nav-arrow{
    border-color:#dff5ff!important;
    filter:drop-shadow(0 0 5px rgba(108,205,255,.36));
    transform:rotate(-45deg)!important;
  }
  body.nav-solid header.nav nav.links a.np:hover .nav-arrow,
  body.nav-solid header.nav nav.links a.np:focus-visible .nav-arrow,
  body.nav-solid header.nav nav.links a.np.active .nav-arrow{
    border-color:#1389cf!important;
    filter:none!important;
  }
  html[data-theme="dark"] body.nav-solid header.nav nav.links a.np:hover .nav-arrow,
  html[data-theme="dark"] body.nav-solid header.nav nav.links a.np:focus-visible .nav-arrow,
  html[data-theme="dark"] body.nav-solid header.nav nav.links a.np.active .nav-arrow{
    border-color:#dff5ff!important;
    filter:drop-shadow(0 0 5px rgba(108,205,255,.36))!important;
  }
}

/* Final dark-mode readability pass. These rules only target supporting copy
   and hard-coded light-theme surfaces; branded accents and CTA colours remain. */
html[data-theme="dark"] :is(.lead,.fs,.muted,.sub,.small,.sector-note,.cbody,.vsub,.bmeta,.profile-role,.portal-card p,.portal-card li,.legal-card p,.legal-card li,.notice p,.callout p){
  color:#b9cfe0!important;
}
html[data-theme="dark"] :is(.article-body,.prose,.define,.analogy,.plainpts,.legal-panel,.legal-def,.worked,.fitbox) :is(p,li,dd){
  color:#bfd3e3!important;
}
html[data-theme="dark"] :is(.article-body,.prose,.define,.analogy,.plainpts,.legal-panel,.legal-def,.worked,.fitbox) :is(h2,h3,h4,b,strong,dt){
  color:#f1f8fd!important;
}
html[data-theme="dark"] :is(.contact-card,.legal-card,.feature-card,.success-box,.notice,.callout,.result,.result-box) :is(h2,h3,h4,b,strong){
  color:#eef7fd!important;
}
html[data-theme="dark"] :is(.contact-card,.legal-card,.feature-card,.success-box,.notice,.callout,.result,.result-box) :is(p,li,span:not(.arr)){
  color:#b8cde0;
}
html[data-theme="dark"] .btn-blue,
html[data-theme="dark"] button.btn-blue{
  color:#fff!important;
  background:linear-gradient(135deg,#0b82d2,#2da7eb)!important;
  border-color:rgba(122,211,255,.58)!important;
}
html[data-theme="dark"] .btn-blue:hover,
html[data-theme="dark"] .btn-blue:focus-visible,
html[data-theme="dark"] button.btn-blue:hover,
html[data-theme="dark"] button.btn-blue:focus-visible{
  color:#fff!important;
  background:linear-gradient(135deg,#1593df,#3ab6f2)!important;
  border-color:#9cddff!important;
}
html[data-theme="dark"] .eyebrow{color:#64c5f8!important}
html[data-theme="dark"] .ft-col a:hover,
html[data-theme="dark"] .ft-col a:focus-visible{color:#8fd8ff!important}
html[data-theme="dark"] :is(.qa-panel .inner,.spec .row,.compare .crow,.finance-table td){color:#bed2e2!important}
html[data-theme="dark"] :is(.qa>button,.tab,.ftab,.qpick button){text-shadow:none!important}

/* Keep mobile controls compact and balanced without sacrificing touch size. */
@media (max-width:760px){
  body[data-page="home"] #contact .quote-form-card .seg{
    min-height:62px!important;
    height:62px!important;
    padding:6px!important;
    gap:6px!important;
    border-radius:16px!important;
  }
  body[data-page="home"] #contact .quote-form-card .seg label{
    min-height:0!important;
    height:auto!important;
  }
  body[data-page="home"] #contact .quote-form-card .seg .opt{
    min-height:0!important;
    height:100%!important;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:clamp(11px,3.15vw,13px)!important;
    white-space:nowrap!important;
  }
}

/* Portal and form contrast corrections found during the v2.6.7 full-page audit. */
html[data-theme="dark"] body[data-page="portal"] .portal-shell{
  background:linear-gradient(180deg,#081b2d,#071827)!important;
}
html[data-theme="dark"] body[data-page="portal"] .portal-intro{
  background:linear-gradient(155deg,#0e2942,#0a2035)!important;
  border-color:rgba(132,187,224,.24)!important;
  box-shadow:0 26px 62px -44px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html[data-theme="dark"] body[data-page="portal"] .portal-intro :is(.h2,h2,strong){color:#eef7fd!important}
html[data-theme="dark"] body[data-page="portal"] .portal-intro :is(.lead,p){color:#b9cfe0!important}
html[data-theme="dark"] body[data-page="portal"] .portal-prep-list span{
  background:#102f49!important;
  color:#9edcff!important;
  border:1px solid rgba(104,190,239,.22)!important;
}
html[data-theme="dark"] body[data-page="portal"] .portal-alert{
  background:linear-gradient(155deg,#352b17,#241e12)!important;
  border-color:rgba(225,183,93,.34)!important;
}
html[data-theme="dark"] body[data-page="portal"] .portal-alert strong{color:#ffe2a5!important}
html[data-theme="dark"] body[data-page="portal"] .portal-alert p{color:#dbc89e!important}
html[data-theme="dark"] body[data-page="portal"] .portal-card :is(h2,h3,h4,h5,strong,label){
  color:#eef7fd!important;
}
html[data-theme="dark"] body[data-page="portal"] .portal-card :is(p,.section-note,.field-help){
  color:#b8cee0!important;
}
html[data-theme="dark"] body[data-page="portal"] .section-kicker{color:#78cdfb!important}
html[data-theme="dark"] body[data-page="portal"] .upload-box{
  background:linear-gradient(155deg,#0d263d,#0a1e31)!important;
  border-color:rgba(126,190,232,.34)!important;
}
html[data-theme="dark"] body[data-page="portal"] .upload-box:hover{
  background:linear-gradient(155deg,#11314c,#0c2439)!important;
  border-color:#51b8ef!important;
}
html[data-theme="dark"] body[data-page="portal"] .upload-meter{
  background:#0d2942!important;
  border-color:rgba(126,190,232,.24)!important;
  color:#b8cee0!important;
}
html[data-theme="dark"] body[data-page="portal"] .upload-meter strong{color:#eef7fd!important}
html[data-theme="dark"] body[data-page="portal"] :is(.legal-panel,.person-card,.privacy-strip){
  background:linear-gradient(155deg,#0d263d,#0a1e31)!important;
  border-color:rgba(126,190,232,.22)!important;
}
html[data-theme="dark"] body[data-page="portal"] :is(.legal-panel,.person-card,.privacy-strip) :is(h3,h4,strong,label){color:#eef7fd!important}
html[data-theme="dark"] body[data-page="portal"] :is(.legal-panel,.person-card,.privacy-strip) :is(p,li,span){color:#b8cee0}
html[data-theme="dark"] :is(.form-card,.apply-card,.quote-form-card,.portal-card,.contact-card) label{
  color:#d9e9f5!important;
}
html[data-theme="dark"] :is(.form-card,.apply-card,.quote-form-card,.portal-card,.contact-card) :is(.field-help,.section-note){
  color:#a9c0d3!important;
}

/* High-specificity corrections for modern-ui's important light portal card
   and for text shown on the bright comparison tile. */
html[data-theme="dark"] body[data-page="portal"] .portal-card{
  background:linear-gradient(155deg,#0e2942,#091e31)!important;
  border-color:rgba(139,181,213,.22)!important;
  box-shadow:0 36px 82px -56px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
html[data-theme="dark"] .vs-card.win :is(.vlab,.vsub){
  color:#fff!important;
  opacity:.96!important;
}
