/* polish.css · site-wide finish, loaded last on every page.
   Every rule here answers a measured finding (contrast < 4.5:1, touch target < 44px, phone text < 13px). */

/* 1 · white on brand orange reads at 3.4:1; the deeper orange keeps the colour and reaches 4.6:1 */
.sv-btn.sv-go,.sv-node,.pkg-go2,.wk-go,.wk-filter .on > b,.pz-go,.btn-e.btn-w,.rc-form button,
.pk-slot.hot .pk-go,.pk-slot.hot .pk-tab,.hot .pk-tab{background:linear-gradient(#D2600E,#AC4806)!important;color:#fff!important}

/* 2 · tools: a white label on a white button, and card numbers too faint on the dark cards */
.tx-btn,.tx-btn span{color:#0A1128!important}
.tx-card-top .tx-no{color:#A7B1CB!important}
.tx-chip > span,.wk-chips button > b{background:#B04A07!important;color:#fff!important}

/* 3 · tool pages: the breadcrumb was 11.5px at 3.6:1 with 18px-high links */
.tl-crumbs,.tl-crumbs span{color:#4A5470!important;font-size:max(13px,1em)}
.tl-crumbs a{color:#0A1128!important;display:inline-flex;align-items:center;min-height:44px;padding-inline:4px}

@media (max-width:700px){
  /* 4 · nothing a visitor reads is smaller than 13px on a phone */
  .lat,.kick,.tl-kick,.tl-eyebrow,.tl-note,.tl-crumbs,.tl-f label,.updated,.cap,.cd-no,.doc-to,.doc-to *,.wk-cat,.wk-live,.wk-dom,.wk-meta small,
  .pz-tn,.pk-tab,.pkg-t-no,.tx-tag,.tx-lbl,.tx-dev-f,.mp-outcome-k,.fld > label,.opt,.mbar-t small,.rep-again{font-size:13px!important}
  /* 5 · footer and small links: 44px touch targets */
  .ft-nav a,.ft-meta a,.ft-colophon a{display:inline-flex!important;align-items:center;min-height:44px}
  .ft-meta a.ft-up{min-width:44px}
  .xlink a,.mailcard a.addr,.lg-back,.rep-again,.rep-tech > summary{display:inline-flex;align-items:center;min-height:44px}
  .tx-tab > button,.tx-cta a{min-height:44px}
}

/* ===== /solutions on a phone: text stays readable over the flight, and the inbox mock fits its frame */
@media (max-width:980px){
  .sv .sv-hero-copy h1,.sv .sv-lede,.sv .sv-k,.sv .sv-c h2,.sv .sv-c > p,.sv-trust{filter:drop-shadow(0 0 10px rgba(4,6,15,.95)) drop-shadow(0 0 3px rgba(4,6,15,.9))}
  .sv .sv-inline .sv-inbox li:nth-child(n+4){display:none}
}

/* ===== phone: floating buttons step aside while reading (polish.js toggles .fab-tuck) */
@media (max-width:700px){
  .rzw,.rza-fab,#rzDock{transition:translate .28s cubic-bezier(.16,1,.3,1),opacity .28s cubic-bezier(.16,1,.3,1)}
  body.fab-tuck .rzw,body.fab-tuck .rza-fab{translate:-96px 0;opacity:0;pointer-events:none;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,1,1)}
  body.fab-tuck #rzDock{translate:0 96px;opacity:0;pointer-events:none;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,1,1)}
}
@media (prefers-reduced-motion:reduce){.rzw,.rza-fab,#rzDock{transition:none!important}}

/* ===== /process: the START bar's label always readable; text over the 3D stage on a phone */
.pz-tb b{color:#fff!important;text-shadow:0 1px 2px rgba(4,6,15,.6)}
.pz-tr:nth-child(1) .pz-tb i{background:linear-gradient(90deg,#6E9BF5,#2F5FD0)!important}
@media (max-width:980px){
  body:has(.pz-track) main :is(h1,h2,.pz-lede,p){filter:drop-shadow(0 0 10px rgba(4,6,15,.9)) drop-shadow(0 0 3px rgba(4,6,15,.85))}
}

/* ===== /tools on a phone: the tool tiles float behind the proof row, so the row is frosted glass */
@media (min-width:0px){
  .tx-proof{position:relative;z-index:2;padding:14px 16px!important;border-radius:20px;background:rgba(12,16,40,.58);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
}

/* ===== /social: the Instagram mark is drawn as an outline; a page rule filled it into a white square */
.so-handle svg[fill="none"],svg[fill="none"][stroke="currentColor"]{fill:none!important}

/* ===== /solutions: the drifting slabs pass behind the questions, so the rows are frosted, not see-through */
.sv details{background:rgba(10,14,34,.86)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tx-bar .tx-count{color:#AEB8D2!important}
@media (max-width:700px){.tx-tabs button,.tx-tabs [role=tab],.l-fleet-more{min-height:44px!important}}
@media (max-width:700px){.tx-hero button{min-height:44px}}

/* ===== night theme for the content pages (body.nite): same tokens, the room goes dark like the rest of the site */
body.nite{--paper:#060914;--white:#0F1533;--wash:#0B1027;--ink:#F2F4FA;--slate:#B4BED6;--line:rgba(255,255,255,.1);
  --ember-lo:rgba(226,103,15,.16);--ember-ink:#FFB070;--free-lo:rgba(18,161,80,.16);--free-ink:#6BE3A0;--warn-lo:rgba(226,103,15,.16);--warn-ink:#FFB070;--bad-lo:rgba(229,72,77,.16);--bad-ink:#FF8E92;--royal:#7FA2FF;
  background:#060914;color:#F2F4FA}
body.nite main{position:relative;isolation:isolate}
body.nite main::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 45% at 85% 0%,rgba(92,155,255,.16),transparent 70%),radial-gradient(50% 40% at 10% 30%,rgba(226,103,15,.10),transparent 70%),
  radial-gradient(70% 60% at 50% 110%,rgba(154,123,255,.12),transparent 70%),linear-gradient(180deg,#070B1C,#04060F)}
body.nite main::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(80% 60% at 50% 20%,#000,transparent);mask-image:radial-gradient(80% 60% at 50% 20%,#000,transparent)}
body.nite main :is(h1,h2,h3){color:#fff}
body.nite main a:not([class]){color:#FFB070}
body.nite main input,body.nite main textarea,body.nite main select{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.18)}
body.nite main input::placeholder{color:rgba(255,255,255,.45)}
body.nite main :is(h1,h2,h3){color:#fff!important;-webkit-text-fill-color:#fff}
body.nite .hint,body.nite .updated,body.nite .eng .cap{color:#B4BED6!important}
body.nite .kicker{color:#FFB070!important}
body.nite .big{background:rgba(18,161,80,.14)!important;border-color:rgba(61,220,132,.35)!important}
body.nite .big span{color:#E9FFF1!important}
body.nite .big .asof{color:#B4BED6!important}
/* the header and footer keep their own palette on night pages */
body.nite .hdr{--paper:#FBFBFD;--white:#fff;--wash:#F4F6FC;--ink:#0A1128;--slate:#4E5A73;--line:rgba(10,17,40,.09);--royal:#1B45E0;--ember-ink:#A8480A;--ember-lo:#FFF4EA;color:#0A1128}
body.nite .acc p,body.nite .acc li{color:#C3CCE4!important}
body.nite .acc .upd{color:#B4BED6!important}
html:has(body.nite) .hdr.nv::before{background:rgba(250,251,253,.9);border-bottom-color:rgba(10,17,40,.07);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}

/* ===== /domain: a real hero and the search as one glass instrument */
body.nite main > .wrap:has(> #f){max-width:780px;padding-top:clamp(56px,11vh,130px);padding-bottom:clamp(64px,10vh,120px);text-align:center}
body.nite main > .wrap:has(> #f) h1{font-size:clamp(38px,6.2vw,68px)!important;line-height:1.02;letter-spacing:-.045em;margin-top:18px!important;text-wrap:balance}
body.nite main > .wrap:has(> #f) .lede{max-width:34em;margin-inline:auto;font-size:clamp(16px,1.3vw,18.5px);line-height:1.75;color:#C3CCE4}
body.nite #f{display:flex;align-items:flex-end;gap:12px;margin:34px auto 0;max-width:620px;padding:14px;border-radius:24px;text-align:start;
  background:linear-gradient(160deg,rgba(26,36,80,.62),rgba(10,14,34,.7));border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.nite #f .fld{flex:1;margin:0}
body.nite #f input{min-height:54px;font-size:18px;border-radius:16px}
body.nite #f .btn{min-height:54px;padding-inline:26px;border-radius:16px;white-space:nowrap}
body.nite #hint{margin-top:14px}
@media (max-width:640px){body.nite #f{flex-direction:column;align-items:stretch}}
body.nite{--slate-2:#9AA5C0}
body.nite #report{text-align:start}
body.nite #report .doc-no{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#C9D1E8!important}
body.nite #report .rows li{border-bottom-color:rgba(255,255,255,.08)!important}
body.nite #report .dom{color:#fff!important}
body.nite #report .facts li{color:#C3CCE4!important}
body.nite #report .vd{color:#FFB070!important}
body.nite #report li.free .vd,body.nite #report li.available .vd{color:#6BE3A0!important}
body.nite #report .acts a:not(.btn),body.nite #recover a:not(.btn){color:#9DB8FF!important}
body.nite main .btn-o{color:#D5DEFF!important;border-color:rgba(157,184,255,.5)!important;background:transparent!important}

/* ===== /contact on a phone: the three steps keep their glass plates but not a screen and a half of empty scroll each */
@media (max-width:820px){.ctx .ctx-step{min-height:0!important;padding:52px 0!important}}
body.nite main{background:transparent!important}
body.nite .acc .card{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important}
body.nite .acc .card p{color:#C3CCE4!important}
body.nite .acc .card a{color:#FFB070!important}
body.nite .acc .kick{color:#FFB070!important;background:rgba(226,103,15,.14)!important;border-color:rgba(226,103,15,.35)!important}
@media (max-width:700px){.ft-colophon a{padding-inline:7px;min-width:40px;justify-content:center}}
@media (max-width:700px){html[lang="en"] header a,html[lang="en"] nav a,html[lang="en"] footer a,.lg-back,.wrap > a.brand{display:inline-flex;align-items:center;min-height:44px}}

/* ===== tool pages, night (body.tnite): --ink stays dark because the template also paints fills with it;
   the room, the cards and the type are set here explicitly */
body.tnite{background:#060914;color:#E3E8F5}
body.tnite main{position:relative;isolation:isolate;background:transparent!important}
body.tnite main::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 85% 0%,rgba(92,155,255,.16),transparent 70%),radial-gradient(50% 40% at 10% 40%,rgba(226,103,15,.10),transparent 70%),radial-gradient(70% 60% at 50% 110%,rgba(154,123,255,.12),transparent 70%),linear-gradient(180deg,#070B1C,#04060F)}
body.tnite .tl-sec,body.tnite .tl-sec.alt{background:transparent!important}
body.tnite .tl-hero::after{background:linear-gradient(180deg,transparent,#060914)!important}
body.tnite main :is(h2,h3,h4,.tl-h2){color:#fff!important}
body.tnite main :is(p,li,dd,summary,.tl-note,.tl-none,.tl-ck,.tl-strength){color:#C3CCE4}
body.tnite .tl-eyebrow,body.tnite .tl-catl{color:#FFB070!important}
body.tnite :is(.tl-card,.tl-panel,details,.tl-step,.tl-steps li){background:linear-gradient(160deg,rgba(26,36,80,.55),rgba(10,14,34,.7))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 70px -45px rgba(0,0,0,.9)!important}
body.tnite .tl-card .tl-open,body.tnite .tl-f label,body.tnite summary{color:#fff!important}
body.tnite .tl-ci{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)}
body.tnite .tl-f :is(input,select,textarea),body.tnite .tl-search input{background:rgba(255,255,255,.05)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
body.tnite .tl-f :is(input,textarea)::placeholder,body.tnite .tl-search input::placeholder{color:rgba(255,255,255,.45)}
body.tnite .tl-chip{background:rgba(255,255,255,.05)!important;color:#C3CCE4!important;border-color:rgba(255,255,255,.14)!important}
body.tnite .tl-chip.is-on{background:#fff!important;color:#0A1128!important;border-color:#fff!important}
body.tnite .tl-seg{background:rgba(255,255,255,.06)!important}
body.tnite .tl-sg{color:#B4BED6!important}
body.tnite .tl-sg.is-on{background:rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:none!important}
body.tnite .tl-copy{background:rgba(255,255,255,.06)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
body.tnite .tl-out code{background:#03050C!important;border:1px solid rgba(255,255,255,.1)}
body.tnite .tl-count,body.tnite .tl-sub-l{color:#9AA5C0!important}
body.tnite .tl-sub{border-top-color:rgba(255,255,255,.1)!important}
body.tnite .tl-go-2{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.18)!important}
html:has(body.tnite) .hdr.nv::before{background:rgba(250,251,253,.9);border-bottom-color:rgba(10,17,40,.07);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
body.tnite .tl-hero{background:transparent!important;color:#fff!important}
body.tnite .tl-hero::before{background:radial-gradient(70% 70% at 50% 0%,rgba(92,155,255,.18),transparent 70%)!important}
body.tnite .tl-hero :is(h1,.tl-h1){color:#fff!important;-webkit-text-fill-color:#fff}
body.tnite .tl-hero :is(.tl-lead,p){color:#C9D1E8!important}
body.tnite .tl-hero .tl-kick{background:rgba(255,255,255,.08)!important;color:#FFD9BC!important;border-color:rgba(255,255,255,.16)!important}
body.tnite .tl-crumbs,body.tnite .tl-crumbs span{color:#B4BED6!important}
body.tnite .tl-crumbs a{color:#fff!important}
body.tnite .tl-steps b,body.tnite .tl-rel a b,body.tnite .tl-rel a h3,body.tnite .tl-rel a strong{color:#fff!important}
body.tnite .tl-steps li span:not(.tl-sn),body.tnite .tl-rel a span,body.tnite .tl-rel a p{color:#B4BED6!important}
body.tnite .tl-sn{background:rgba(127,162,255,.16)!important;color:#C9D7FF!important}
body.tnite .tl-rel a{background:linear-gradient(160deg,rgba(26,36,80,.55),rgba(10,14,34,.7))!important;border-color:rgba(255,255,255,.12)!important}

/* ===== /social, night (body.snite): sections become the room, cards become glass; the before/after
   screenshots and the concept mock keep their own paper because they show real sites */
body.snite{background:#060914}
body.snite main{position:relative;isolation:isolate;background:transparent!important}
body.snite main::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 85% 0%,rgba(92,155,255,.16),transparent 70%),radial-gradient(50% 40% at 10% 40%,rgba(226,103,15,.10),transparent 70%),linear-gradient(180deg,#070B1C,#04060F)}
body.snite .so-sec,body.snite .so-sec.alt{background:transparent!important}
body.snite :is(.so-h2,.so-card h3,.so-pill-c h3,.so-fact b,.so-q summary,.so-link-t b,.so-ba2-c figcaption b){color:#fff!important}
body.snite :is(.so-sub,.so-card p,.so-pill-c p,.so-fact span,.so-q p,.so-link-t span,.so-ba2-c figcaption span){color:#C3CCE4!important}
body.snite .so-card .so-plat{color:#9AA5C0!important}
body.snite :is(.so-card,.so-pill-c,.so-q,.so-link,.so-fact,.so-ba2-c){background:linear-gradient(160deg,rgba(26,36,80,.55),rgba(10,14,34,.72))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 70px -45px rgba(0,0,0,.9)!important}
body.snite .so-go{color:#fff!important;border-top-color:rgba(255,255,255,.1)!important}
body.snite .so-n{background:rgba(255,255,255,.08)!important;color:#fff!important}
body.snite .so-link.lead svg,body.snite .so-link>svg{color:#fff!important}
body.snite .so-card .so-ic,body.snite .so-card > svg{color:#fff}
html:has(body.snite) .hdr.nv::before{background:rgba(250,251,253,.9);border-bottom-color:rgba(10,17,40,.07);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
body.snite .so-eyebrow,body.snite .so-num{color:#FFB070!important}

/* ===== /process: premium finish */
.pz-list input:checked~.pz-li b{text-decoration:none!important;color:#fff!important}
.pz-list label{background:linear-gradient(160deg,rgba(26,36,80,.5),rgba(10,14,34,.7))!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pz-list label:has(input:checked){border-color:rgba(255,155,85,.55)!important;box-shadow:0 24px 50px -30px rgba(226,103,15,.9),inset 0 1px 0 rgba(255,255,255,.08)!important}
.pz-life{padding:34px 34px 30px;border-radius:28px;background:linear-gradient(160deg,rgba(26,36,80,.5),rgba(10,14,34,.72));border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
.pz-life li.a::after,.pz-life li.b::after,.pz-life li.c::after{box-shadow:0 0 0 6px rgba(255,155,85,.14),0 0 18px rgba(255,155,85,.55)!important}
.pz-life li.c::before,.pz-life li.b::before{box-shadow:0 0 14px rgba(255,138,42,.45)}
.pz-life b{color:#fff}
.pz-pass{background:linear-gradient(160deg,rgba(26,36,80,.78),rgba(10,14,34,.9))!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 50px 100px -50px rgba(0,0,0,.95),0 0 0 1px rgba(255,155,85,.12),0 30px 80px -40px rgba(226,103,15,.55)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.pz-pass :is(b,.pz-pp-v){color:#fff!important}
.pz-pass :is(small,.pz-pass-top span,s){color:#AEB8D2!important}
.pz-pass .pz-pass-route span{color:#FFB070!important}
.pz-pass .pz-pass-top em{background:rgba(255,255,255,.08)!important;color:#C9D1E8!important}
.pz-pass .pz-offer{background:rgba(226,103,15,.18)!important;color:#FFC79E!important}
.pz-pass .pz-pass-row,.pz-pass .pz-pass-cut{border-color:rgba(255,255,255,.14)!important}
.pz-pass .pz-pass-cut::before,.pz-pass .pz-pass-cut::after{background:#0A1028!important}
@media (max-width:640px){.pz-life{padding:24px 20px}}
@media (max-width:820px){.pz-step{min-height:72vh!important;padding-bottom:48px!important}.pz-after-dive{padding-block:56px!important}.pz-sec{padding-block:56px!important}}

/* touch targets >= 44px on phones (roadmap r0112/r0417, measured 2026-10-04 at 390px):
   header logo was 40px tall, footer "כלים" 42px wide, "כל המערכות" 33px tall */
.nv-in .logo{min-height:44px}
.ft-colophon a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.sl-fleet-more{display:inline-flex;align-items:center;min-height:44px}
.rep-fb a,.so-go{display:inline-flex;align-items:center;min-height:44px}
.tx-chip{min-height:44px}
#rvz-ambient{min-width:44px!important;min-height:44px!important}
.soc a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}

/* r0577: one global safety net. Pages and scripts keep their own reduced-motion
   handling; this catches anything that forgot. Reduce means reduce: state still
   changes, it just does not travel. */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
