
/* ============================================================
   NEXUM S — design tokens
   Dark-committed. Palette derived from the logo mark
   (indigo #6366F1 -> #4F6CF0 -> live green #25D366).
   Neutrals carry an indigo bias; nothing is pure grey.
   ============================================================ */
:root{
  --ink:        #05060C;   /* ground — near-black, blue bias */
  --ink-raise:  #0A0C17;   /* raised surface */
  --ink-card:   #0E1120;   /* card core */
  --hair:       rgba(160,170,220,.13);
  --hair-soft:  rgba(160,170,220,.07);

  --indigo:     #6366F1;
  --indigo-lo:  #4F6CF0;
  --indigo-dim: #3A3F86;
  --live:       #25D366;
  --live-dim:   #1B9E4B;
  --amber:      #F0B429;

  --text:       #EDEFF8;
  --text-2:     #A7ADC8;
  --text-3:     #6E7492;

  --beam: linear-gradient(135deg,#6366F1 0%,#4F6CF0 48%,#25D366 100%);

  --r-lg: 2rem;
  --r-md: 1.25rem;
  --r-sm: .75rem;

  --ease: cubic-bezier(.32,.72,0,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --shell: min(1240px, 100% - 3rem);
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  direction:rtl;
  overflow-x:clip;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:'Assistant','Rubik','Noto Sans Hebrew',system-ui,sans-serif;
  font-size:17px;
  line-height:1.75;
  font-weight:400;
  word-spacing:.03em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ambient field — fixed so it never repaints on scroll */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(58rem 40rem at 78% -8%, rgba(99,102,241,.22), transparent 62%),
    radial-gradient(46rem 34rem at 8% 12%, rgba(37,211,102,.10), transparent 60%),
    radial-gradient(70rem 50rem at 50% 108%, rgba(79,108,240,.14), transparent 65%);
}
/* fine grain, fixed + inert */
body::after{
  content:"";
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

#app{ position:relative; z-index:2; }

h1,h2,h3,h4{
  font-family:'Rubik','Assistant',system-ui,sans-serif;
  font-weight:800;
  line-height:1.08;
  margin:0;
  text-wrap:balance;
  letter-spacing:normal;      /* never track Hebrew */
}
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }
img,svg{ display:block; max-width:100%; }

:focus-visible{
  outline:2px solid var(--live);
  outline-offset:3px;
  border-radius:.5rem;
}

/* ---------- type scale ---------- */
.d1{ font-size:clamp(2.35rem,4.9vw,4.05rem); font-weight:900; line-height:1.02; }
.d2{ font-size:clamp(2rem,4.2vw,3.35rem); font-weight:800; line-height:1.08; }
.d3{ font-size:clamp(1.35rem,2.3vw,1.85rem); font-weight:700; line-height:1.2; }
.lead{ font-size:clamp(1.05rem,1.5vw,1.25rem); color:var(--text-2); line-height:1.75; max-width:56ch; }
.muted{ color:var(--text-2); }
.dim{ color:var(--text-3); }
.mono-en{
  font-family:'Sora',system-ui,sans-serif;
  direction:ltr; unicode-bidi:isolate;
}

/* ---------- eyebrow: a node + a beam. structural, not decorative ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:'Sora',system-ui,sans-serif;
  font-size:.63rem; font-weight:600;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--text-3);
  direction:ltr; unicode-bidi:isolate;
}
.eyebrow::before{
  content:""; width:1.9rem; height:1px;
  background:linear-gradient(to left,transparent,var(--indigo));
}
.eyebrow.he{ direction:rtl; letter-spacing:normal; font-family:'Rubik',sans-serif; font-size:.78rem; font-weight:600; }
.eyebrow-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--live); box-shadow:0 0 0 3px rgba(37,211,102,.16);
}

/* ---------- shell / rhythm ---------- */
.shell{ width:var(--shell); margin-inline:auto; }
section{ position:relative; padding-block:clamp(3.6rem,6.5vw,6.6rem); }
.stack{ display:flex; flex-direction:column; }
.gap-xs{ gap:.6rem } .gap-sm{ gap:1rem } .gap-md{ gap:1.6rem }
.gap-lg{ gap:2.6rem } .gap-xl{ gap:4rem }

/* ---------- double-bezel: outer tray + inner plate ---------- */
.tray{
  background:rgba(148,160,220,.045);
  border:1px solid var(--hair);
  border-radius:var(--r-lg);
  padding:.4rem;
}
.plate{
  background:linear-gradient(168deg,var(--ink-card),var(--ink-raise));
  border:1px solid var(--hair-soft);
  border-radius:calc(var(--r-lg) - .4rem);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  height:100%;
}

/* ---------- buttons ---------- */
.btn{
  --bg:transparent;
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.72rem .85rem .72rem 1.5rem;
  border-radius:999px; border:1px solid var(--hair);
  background:var(--bg);
  font-family:'Rubik',sans-serif; font-weight:600; font-size:1rem;
  cursor:pointer;
  transition:transform .45s var(--ease), background .45s var(--ease),
             border-color .45s var(--ease), box-shadow .45s var(--ease);
}
.btn:active{ transform:scale(.975); }
.btn .cap{
  width:2.05rem; height:2.05rem; border-radius:999px;
  display:grid; place-items:center; flex:none;
  background:rgba(255,255,255,.09);
  transition:transform .5s var(--ease-out), background .45s var(--ease);
}
.btn .cap svg{ width:.85rem; height:.85rem; }
.btn:hover .cap{ transform:translate(-.22rem,-.1rem) scale(1.06); }

.btn-primary{
  --bg:var(--beam);
  border-color:transparent; color:#04070E;
  box-shadow:0 .6rem 2rem rgba(79,108,240,.3), inset 0 1px 0 rgba(255,255,255,.4);
}
.btn-primary .cap{ background:rgba(4,7,14,.16); }
.btn-primary:hover{ box-shadow:0 .9rem 2.8rem rgba(37,211,102,.34), inset 0 1px 0 rgba(255,255,255,.5); }

.btn-ghost{ --bg:rgba(148,160,220,.05); color:var(--text); }
.btn-ghost:hover{ --bg:rgba(148,160,220,.1); border-color:rgba(160,170,220,.24); }

.btn-sm{ padding:.5rem .6rem .5rem 1.1rem; font-size:.92rem; }
.btn-sm .cap{ width:1.7rem; height:1.7rem; }

/* ---------- nav: floating island ---------- */
.nav-wrap{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:40;
  display:flex; justify-content:center;
  padding-block-start:1.15rem; padding-inline:1rem;
  pointer-events:none;
}
.nav{
  pointer-events:auto;
  display:flex; align-items:center; gap:1.6rem;
  padding:.5rem .55rem .5rem 1.15rem;
  border-radius:999px;
  border:1px solid var(--hair);
  background:rgba(8,10,20,.62);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  box-shadow:0 1rem 2.6rem rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
  transition:box-shadow .6s var(--ease), background .6s var(--ease);
  max-width:100%;
}
.nav.scrolled{ background:rgba(8,10,20,.85); box-shadow:0 1.2rem 3rem rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.07); }

.brand{ display:flex; align-items:center; gap:.6rem; flex:none; }
.brand svg{ width:1.7rem; height:1.7rem; }
.brand-txt{ display:flex; flex-direction:column; line-height:1; }
.brand-name{
  font-family:'Sora',sans-serif; font-weight:700; font-size:.98rem;
  letter-spacing:.11em; direction:ltr; unicode-bidi:isolate;
}
.brand-tag{
  font-family:'Sora',sans-serif; font-weight:400; font-size:.44rem;
  letter-spacing:.29em; color:var(--text-3); margin-block-start:.24rem;
  direction:ltr; unicode-bidi:isolate;
}

.nav-links{ display:flex; align-items:center; gap:.25rem; }
.nav-links a{
  padding:.45rem .85rem; border-radius:999px;
  font-family:'Rubik',sans-serif; font-size:.94rem; font-weight:500;
  color:var(--text-2);
  transition:color .4s var(--ease), background .4s var(--ease);
}
.nav-links a:hover{ color:var(--text); background:rgba(148,160,220,.08); }
.nav-links a.on{ color:var(--text); background:rgba(148,160,220,.11); }

/* hamburger */
.burger{
  display:none; width:2.5rem; height:2.5rem; flex:none;
  border-radius:999px; border:1px solid var(--hair);
  background:rgba(148,160,220,.06);
  position:relative; cursor:pointer;
}
.burger i{
  position:absolute; inset-inline-start:50%; width:1.05rem; height:1.5px;
  background:var(--text); border-radius:2px; margin-inline-start:-.525rem;
  transition:transform .55s var(--ease), opacity .3s var(--ease);
}
.burger i:nth-child(1){ inset-block-start:.95rem; }
.burger i:nth-child(2){ inset-block-start:1.4rem; }
body.menu-open .burger i:nth-child(1){ transform:translateY(.225rem) rotate(45deg); }
body.menu-open .burger i:nth-child(2){ transform:translateY(-.225rem) rotate(-45deg); }

.sheet{
  position:fixed; inset:0; z-index:35;
  background:rgba(5,6,12,.9);
  backdrop-filter:blur(30px); -webkit-backdrop-filter:blur(30px);
  display:flex; flex-direction:column; justify-content:center;
  padding-inline:2rem; gap:.4rem;
  opacity:0; visibility:hidden;
  transition:opacity .5s var(--ease), visibility .5s;
}
body.menu-open .sheet{ opacity:1; visibility:visible; }
.sheet a{
  font-family:'Rubik',sans-serif; font-size:2rem; font-weight:700;
  padding-block:.5rem; color:var(--text-2);
  opacity:0; transform:translateY(2.2rem);
  transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), color .3s;
}
.sheet a:hover{ color:var(--text); }
body.menu-open .sheet a{ opacity:1; transform:none; }
body.menu-open .sheet a:nth-child(1){ transition-delay:.06s }
body.menu-open .sheet a:nth-child(2){ transition-delay:.12s }
body.menu-open .sheet a:nth-child(3){ transition-delay:.18s }
body.menu-open .sheet a:nth-child(4){ transition-delay:.24s }
body.menu-open .sheet a:nth-child(5){ transition-delay:.30s }

/* ---------- scroll reveal ---------- */
.rv{ opacity:0; transform:translateY(2.2rem); filter:blur(6px);
     transition:opacity .95s var(--ease-out), transform .95s var(--ease-out), filter .95s var(--ease-out); }
.rv.in{ opacity:1; transform:none; filter:blur(0); }
.rv[data-d="1"]{ transition-delay:.09s } .rv[data-d="2"]{ transition-delay:.18s }
.rv[data-d="3"]{ transition-delay:.27s } .rv[data-d="4"]{ transition-delay:.36s }
.rv[data-d="5"]{ transition-delay:.45s } .rv[data-d="6"]{ transition-delay:.54s }

/* ---------- hero ---------- */
.hero{ padding-block-start:clamp(7.5rem,11vw,9.5rem); padding-block-end:clamp(3rem,5vw,4.5rem); }
.hero-grid{
  display:grid; grid-template-columns:1.02fr .98fr;
  gap:clamp(2.5rem,5vw,4.5rem); align-items:center;
}
.hero h1 .glow{
  background:var(--beam); -webkit-background-clip:text; background-clip:text;
  color:transparent;
}
.hero-cta{ display:flex; flex-wrap:wrap; gap:.8rem; }

.trust{
  display:flex; flex-wrap:wrap; gap:.5rem;
  padding-block-start:.6rem;
}
.chip{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.42rem .85rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.045);
  font-size:.83rem; color:var(--text-2); font-weight:500;
}
.chip svg{ width:.85rem; height:.85rem; flex:none; color:var(--live); }

/* ---------- the playing conversation (hero thesis) ---------- */
.stage{ position:relative; }
.stage-glow{
  position:absolute; inset:8% 0 -8% 0; z-index:0; pointer-events:none;
  background:radial-gradient(closest-side,rgba(99,102,241,.3),transparent 70%);
  filter:blur(28px);
}
.phone{ position:relative; z-index:1; }
.phone .plate{ overflow:hidden; height:auto; } /* not 100% — it stretched past the thread and left dead space */
.phone-bar{
  display:flex; align-items:center; gap:.7rem;
  padding:.85rem 1.05rem;
  border-block-end:1px solid var(--hair-soft);
  background:rgba(148,160,220,.04);
}
.avatar{
  width:2.1rem; height:2.1rem; border-radius:999px; flex:none;
  display:grid; place-items:center;
  background:var(--beam); color:#04070E;
  font-family:'Rubik',sans-serif; font-weight:800; font-size:.82rem;
}
.phone-bar .who{ font-family:'Rubik',sans-serif; font-weight:600; font-size:.92rem; }
.phone-bar .st{ font-size:.72rem; color:var(--live); display:flex; align-items:center; gap:.32rem; }
.pulse{ width:5px; height:5px; border-radius:50%; background:var(--live); animation:pulse 2.2s var(--ease) infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1) } 50%{ opacity:.35; transform:scale(.75) } }

.thread{
  padding:1.1rem; display:flex; flex-direction:column; gap:.62rem;
  height:25rem; overflow:hidden; justify-content:flex-end;
  background:
    radial-gradient(30rem 20rem at 90% 0%, rgba(99,102,241,.07), transparent 70%);
}
.msg{
  flex:none;
  max-width:82%; padding:.62rem .9rem; border-radius:1.1rem;
  font-size:.93rem; line-height:1.55;
  opacity:0; transform:translateY(.9rem) scale(.97);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.msg.in{ opacity:1; transform:none; }
.msg .tag{
  display:block; font-size:.62rem; font-weight:700; letter-spacing:.02em;
  margin-block-end:.12rem; opacity:.7;
  font-family:'Rubik',sans-serif;
}
.msg.them{
  align-self:flex-start;
  background:rgba(148,160,220,.09); border:1px solid var(--hair-soft);
  border-start-start-radius:.35rem;
}
.msg.us{
  align-self:flex-end;
  background:linear-gradient(145deg,rgba(37,211,102,.19),rgba(37,211,102,.1));
  border:1px solid rgba(37,211,102,.28);
  border-start-end-radius:.35rem;
}
.msg.bot .tag{ color:var(--indigo); }
.msg.agent .tag{ color:var(--live); }

.card-form{
  flex:none;
  align-self:flex-end; max-width:82%; padding:0;
  border-radius:1.1rem; overflow:hidden;
  border:1px solid rgba(37,211,102,.28);
  background:rgba(37,211,102,.07);
}
.card-form .top{
  padding:.6rem .85rem; display:flex; align-items:center; gap:.6rem;
  border-block-end:1px solid rgba(37,211,102,.2);
}
.card-form .ic{
  width:1.85rem; height:1.85rem; border-radius:.55rem; flex:none;
  display:grid; place-items:center; background:rgba(37,211,102,.2); color:var(--live);
}
.card-form .ic svg{ width:.95rem; height:.95rem; }
.card-form .t1{ font-family:'Rubik',sans-serif; font-weight:600; font-size:.88rem; }
.card-form .t2{ font-size:.72rem; color:var(--text-2); }
.card-form .bot-row{
  padding:.55rem .85rem; display:flex; align-items:center; gap:.45rem;
  font-size:.8rem; color:var(--live); font-weight:600;
}
.card-form .bot-row svg{ width:.9rem; height:.9rem; }

.typing{
  flex:none;
  align-self:flex-start; display:flex; gap:.28rem;
  padding:.7rem .9rem; border-radius:1.1rem; border-start-start-radius:.35rem;
  background:rgba(148,160,220,.09); border:1px solid var(--hair-soft);
  opacity:0; transition:opacity .3s var(--ease);
}
.typing.in{ opacity:1; }
.typing b{ width:5px; height:5px; border-radius:50%; background:var(--text-3); animation:bob 1.3s infinite var(--ease); }
.typing b:nth-child(2){ animation-delay:.16s } .typing b:nth-child(3){ animation-delay:.32s }
@keyframes bob{ 0%,60%,100%{ transform:translateY(0); opacity:.45 } 30%{ transform:translateY(-4px); opacity:1 } }

/* side rail under the phone: what the system did */
.rail{
  margin-block-start:.7rem; display:flex; flex-wrap:wrap; gap:.4rem;
  justify-content:center;
}
.rail span{
  font-size:.72rem; padding:.3rem .68rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.04);
  color:var(--text-3); font-weight:600; font-family:'Rubik',sans-serif;
  opacity:0; transform:translateY(.5rem);
  transition:opacity .55s var(--ease-out), transform .55s var(--ease-out), color .4s, border-color .4s;
}
.rail span.in{ opacity:1; transform:none; color:var(--text-2); border-color:rgba(99,102,241,.32); }

/* ---------- pain cards ---------- */
.pains{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pain{ padding:1.7rem 1.6rem; display:flex; flex-direction:column; gap:.7rem; }
.pain .q{
  font-family:'Rubik',sans-serif; font-weight:700; font-size:1.05rem;
  color:var(--text);
}
.pain .a{ font-size:.95rem; color:var(--text-2); line-height:1.7; }
.pain .n{
  width:2.3rem; height:2.3rem; border-radius:.7rem;
  display:grid; place-items:center; margin-block-end:.3rem;
  background:rgba(240,180,41,.11); border:1px solid rgba(240,180,41,.22);
  color:var(--amber);
}
.pain .n svg{ width:1.1rem; height:1.1rem; }

/* ---------- module bento ---------- */
.bento{
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:1rem; align-items:stretch;
}
.mod{ display:flex; flex-direction:column; gap:1rem; padding:1.9rem 1.75rem; }
.mod-a{ grid-column:span 4; } .mod-b{ grid-column:span 2; }
.mod-c{ grid-column:span 2; } .mod-d{ grid-column:span 4; }
.mod-e{ grid-column:span 6; }

.mod-head{ display:flex; align-items:flex-start; gap:.9rem; }
.mod-ic{
  width:2.9rem; height:2.9rem; border-radius:.85rem; flex:none;
  display:grid; place-items:center;
  border:1px solid var(--hair);
  background:rgba(148,160,220,.06);
  color:var(--indigo);
  transition:transform .6s var(--ease-out), color .5s var(--ease), border-color .5s;
}
.mod-ic svg{ width:1.3rem; height:1.3rem; }
.tray:hover .mod-ic{ transform:translateY(-2px) scale(1.05); color:var(--live); border-color:rgba(37,211,102,.32); }
.mod-name{
  font-family:'Sora',sans-serif; font-weight:600; font-size:1.02rem;
  letter-spacing:.045em; direction:ltr; unicode-bidi:isolate;
}
.mod-role{ font-size:.82rem; color:var(--text-3); font-weight:600; }
.mod-line{ font-family:'Rubik',sans-serif; font-weight:700; font-size:1.22rem; line-height:1.35; }
.mod ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.mod li{
  display:flex; gap:.6rem; align-items:flex-start;
  font-size:.94rem; color:var(--text-2);
}
.mod li::before{
  content:""; flex:none; width:5px; height:5px; border-radius:50%;
  background:var(--indigo); margin-block-start:.62rem;
  box-shadow:0 0 0 3px rgba(99,102,241,.13);
}
.tray{ transition:border-color .6s var(--ease), background .6s var(--ease); }
.tray:hover{ border-color:rgba(99,102,241,.3); background:rgba(99,102,241,.05); }

#deepMods .plate{ height:auto; }  /* hug the capability list instead of stretching to the prose column */

/* ---------- steps (a real sequence — numbering earns its place) ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; position:relative; }
.step{ padding:1.6rem 1.5rem; display:flex; flex-direction:column; gap:.6rem; }
.step .k{
  font-family:'Sora',sans-serif; font-size:.72rem; font-weight:600;
  letter-spacing:.2em; color:var(--indigo);
  direction:ltr; unicode-bidi:isolate;
}
.step h3{ font-size:1.12rem; font-weight:700; }
.step p{ font-size:.92rem; color:var(--text-2); }
.step .when{ font-size:.78rem; color:var(--text-3); font-weight:600; margin-block-start:.2rem; }

/* ---------- pricing ---------- */
.toggle{
  display:inline-flex; padding:.28rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.05);
  gap:.2rem;
}
.toggle button{
  border:0; background:transparent; cursor:pointer;
  padding:.42rem 1.1rem; border-radius:999px;
  font-family:'Rubik',sans-serif; font-weight:600; font-size:.9rem;
  color:var(--text-3);
  transition:color .45s var(--ease), background .45s var(--ease);
}
.toggle button.on{ color:#04070E; background:var(--beam); }
.save-pill{
  font-size:.72rem; padding:.18rem .5rem; border-radius:999px;
  background:rgba(37,211,102,.15); color:var(--live); font-weight:700;
  margin-inline-start:.4rem;
}

.tiers{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; align-items:stretch; }
.tier{ padding:1.9rem 1.7rem; display:flex; flex-direction:column; gap:1.1rem; }
.tier .tname{ font-family:'Rubik',sans-serif; font-weight:800; font-size:1.3rem; }
.tier .tfor{ font-size:.88rem; color:var(--text-3); }
.price{ display:flex; align-items:baseline; gap:.35rem; font-variant-numeric:tabular-nums; }
.price .amt{
  font-family:'Rubik',sans-serif; font-weight:900; font-size:2.5rem; line-height:1;
}
.price .cur{ font-family:'Rubik',sans-serif; font-weight:700; font-size:1.35rem; color:var(--text-2); }
.price .per{ font-size:.85rem; color:var(--text-3); }
.tier ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.tier li{ display:flex; gap:.6rem; align-items:flex-start; font-size:.93rem; color:var(--text-2); }
.tier li svg{ width:.95rem; height:.95rem; flex:none; margin-block-start:.42rem; color:var(--live); }
.tier li.off{ color:var(--text-3); } .tier li.off svg{ color:var(--text-3); opacity:.5; }
.tray.featured{ border-color:rgba(99,102,241,.45); background:rgba(99,102,241,.07); position:relative; }
.tray.featured .plate{ background:linear-gradient(168deg,#151834,#0C0F1E); }
.flag{
  position:absolute; inset-block-start:-.72rem; inset-inline-start:50%;
  transform:translateX(50%);
  font-family:'Rubik',sans-serif; font-size:.72rem; font-weight:700;
  padding:.2rem .8rem; border-radius:999px;
  background:var(--beam); color:#04070E; white-space:nowrap;
}

/* ---------- faq ---------- */
.faq{ display:flex; flex-direction:column; gap:.6rem; max-width:56rem; margin-inline:auto; }
.qa{ overflow:hidden; }
.qa summary{
  list-style:none; cursor:pointer;
  padding:1.15rem 1.4rem; display:flex; align-items:center; gap:1rem;
  font-family:'Rubik',sans-serif; font-weight:600; font-size:1.05rem;
}
.qa summary::-webkit-details-marker{ display:none; }
.qa summary .plus{
  margin-inline-start:auto; flex:none;
  width:1.6rem; height:1.6rem; border-radius:999px;
  border:1px solid var(--hair); display:grid; place-items:center;
  transition:transform .55s var(--ease), background .45s var(--ease);
  position:relative;
}
.qa summary .plus::before,.qa summary .plus::after{
  content:""; position:absolute; background:var(--text-2);
  transition:opacity .4s var(--ease);
}
.qa summary .plus::before{ width:.62rem; height:1.4px; }
.qa summary .plus::after{ width:1.4px; height:.62rem; }
.qa[open] summary .plus{ transform:rotate(180deg); background:rgba(99,102,241,.16); }
.qa[open] summary .plus::after{ opacity:0; }
.qa .ans{ padding:0 1.4rem 1.3rem; color:var(--text-2); font-size:.98rem; max-width:62ch; }

/* ---------- form ---------- */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field.wide{ grid-column:span 2; }
.field label{
  font-family:'Rubik',sans-serif; font-size:.85rem; font-weight:600; color:var(--text-2);
}
.field input,.field textarea{
  font-family:'Assistant',sans-serif; font-size:1rem; color:var(--text);
  background:rgba(5,6,12,.55);
  border:1px solid var(--hair); border-radius:var(--r-sm);
  padding:.72rem .9rem; width:100%;
  transition:border-color .45s var(--ease), background .45s var(--ease), box-shadow .45s var(--ease);
}
.field textarea{ resize:vertical; min-height:6rem; }
.field input::placeholder,.field textarea::placeholder{ color:var(--text-3); }
.field input:focus,.field textarea:focus{
  outline:none; border-color:rgba(99,102,241,.55);
  background:rgba(99,102,241,.06);
  box-shadow:0 0 0 4px rgba(99,102,241,.11);
}
.field input[dir="ltr"]{ text-align:start; }
.picks{ display:flex; flex-wrap:wrap; gap:.5rem; }
.pick{
  position:relative;
  cursor:pointer; user-select:none;
  padding:.45rem .9rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.04);
  font-size:.9rem; font-weight:600; color:var(--text-2);
  font-family:'Rubik',sans-serif;
  transition:all .4s var(--ease);
}
.pick input{ position:absolute; inset-block-start:0; inset-inline-start:0;
  width:1px; height:1px; opacity:0; margin:0; }
.pick:has(input:focus-visible){ outline:2px solid var(--live); outline-offset:3px; }
.pick:has(input:checked){
  border-color:rgba(37,211,102,.45); background:rgba(37,211,102,.12); color:var(--text);
}
.form-note{ font-size:.82rem; color:var(--text-3); }
.ok-note{
  display:none; align-items:center; gap:.7rem;
  padding:1rem 1.2rem; border-radius:var(--r-md);
  border:1px solid rgba(37,211,102,.35); background:rgba(37,211,102,.1);
  color:var(--text); font-weight:600;
}
.ok-note.show{ display:flex; }
.ok-note svg{ width:1.2rem; height:1.2rem; color:var(--live); flex:none; }

/* ---------- draft marker (content Adir still has to supply) ---------- */
.draft{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.68rem; font-weight:700; font-family:'Rubik',sans-serif;
  padding:.14rem .55rem; border-radius:999px;
  background:rgba(240,180,41,.13); color:var(--amber);
  border:1px solid rgba(240,180,41,.26);
}
.quote{ padding:1.7rem 1.6rem; display:flex; flex-direction:column; gap:1rem; height:100%; }
.quote .body{ font-size:1.02rem; line-height:1.7; color:var(--text-2); flex:1; }
.quote .by{ display:flex; align-items:center; gap:.75rem; }
.quote .by .av{
  width:2.4rem; height:2.4rem; border-radius:999px; flex:none;
  background:rgba(148,160,220,.09); border:1px solid var(--hair);
}
.quote .by .nm{ font-family:'Rubik',sans-serif; font-weight:700; font-size:.95rem; }
.quote .by .rl{ font-size:.82rem; color:var(--text-3); }

/* ---------- footer ---------- */
footer{
  position:relative; z-index:2;
  border-block-start:1px solid var(--hair-soft);
  padding-block:3.5rem 2.5rem;
  background:rgba(5,6,12,.6);
}
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; }
.foot-col h2{ font-family:'Rubik',sans-serif; font-size:.9rem; font-weight:700; margin-block-end:.9rem; }
.foot-col a,.foot-col p{ display:block; font-size:.92rem; color:var(--text-3); padding-block:.25rem; }
.foot-col a{ transition:color .4s var(--ease); }
.foot-col a:hover{ color:var(--text); }
.foot-bot{
  margin-block-start:2.5rem; padding-block-start:1.5rem;
  border-block-start:1px solid var(--hair-soft);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.85rem; color:var(--text-3);
}

/* ---------- page router ---------- */
.page{ display:none; }
.page.active{ display:block; }

/* ---------- section divider: a beam with a node ---------- */
.beam-rule{ display:flex; align-items:center; gap:.9rem; }
.beam-rule::before,.beam-rule::after{
  content:""; height:1px; flex:1;
  background:linear-gradient(to right,transparent,var(--hair),transparent);
}
.beam-rule i{ width:7px; height:7px; border-radius:50%; background:var(--indigo);
  box-shadow:0 0 0 4px rgba(99,102,241,.12); flex:none; }

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .tiers{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
  .caps-grid{ grid-template-columns:1fr !important; gap:.5rem !important; }
  .hero-grid{ grid-template-columns:1fr; }
  .bento{ grid-template-columns:1fr; }
  .mod-a,.mod-b,.mod-c,.mod-d,.mod-e{ grid-column:span 1; }
  .pains{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  :root{ --shell:min(1240px, 100% - 2rem); }
  body{ font-size:16px; }
  .nav-links{ display:none; }
  .burger{ display:block; }
  .nav .btn{ display:none; }
  .form-grid{ grid-template-columns:1fr; }
  .field.wide{ grid-column:span 1; }
  .tiers{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; gap:1.8rem; }
  section{ padding-block:clamp(3.5rem,9vw,5rem); }
  .flag{ inset-block-start:-.7rem; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .rv{ opacity:1; transform:none; filter:none; }
  .msg,.typing,.rail span{ opacity:1; transform:none; }
}

/* ============================================================
   ROUND 2 — depth components
   ============================================================ */

/* ---------- scroll progress: a beam that fills ---------- */
.progress{
  position:fixed; inset-block-start:0; inset-inline:0; height:2px; z-index:45;
  background:var(--beam); transform-origin:right center; transform:scaleX(0);
  transition:transform .12s linear; pointer-events:none;
}

/* ---------- breadcrumbs ---------- */
.crumbs{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
  font-size:.83rem; color:var(--text-3);
}
.crumbs a{ transition:color .4s var(--ease); }
.crumbs a:hover{ color:var(--text-2); }
.crumbs .sep{ opacity:.45; }

/* ---------- nav dropdown ---------- */
.has-menu{ position:relative; }
.drop{
  position:absolute; inset-block-start:calc(100% + .75rem); inset-inline-end:0;
  width:min(30rem,86vw); padding:.4rem;
  border-radius:var(--r-md); border:1px solid var(--hair);
  background:rgba(8,10,20,.92);
  backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  box-shadow:0 1.4rem 3.4rem rgba(0,0,0,.6);
  display:grid; grid-template-columns:1fr 1fr; gap:.25rem;
  opacity:0; visibility:hidden; transform:translateY(-.5rem);
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s;
}
.has-menu:hover .drop, .has-menu:focus-within .drop{ opacity:1; visibility:visible; transform:none; }
.drop a{
  display:flex; gap:.65rem; align-items:flex-start;
  padding:.7rem .8rem; border-radius:calc(var(--r-md) - .4rem);
  background:transparent;
}
.drop a:hover{ background:rgba(148,160,220,.09); }
.drop .di{
  width:1.9rem; height:1.9rem; border-radius:.55rem; flex:none;
  display:grid; place-items:center; color:var(--indigo);
  border:1px solid var(--hair); background:rgba(148,160,220,.06);
}
.drop .di svg{ width:.95rem; height:.95rem; }
.drop .dn{ font-family:'Sora',sans-serif; font-size:.86rem; font-weight:600; letter-spacing:.03em; direction:ltr; unicode-bidi:isolate; }
.drop .dd{ font-size:.79rem; color:var(--text-3); line-height:1.45; }

/* ---------- stat band ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stat{ padding:1.7rem 1.5rem; display:flex; flex-direction:column; gap:.35rem; }
.stat .v{
  font-family:'Rubik',sans-serif; font-weight:900; font-size:clamp(1.65rem,2.5vw,2.25rem);
  line-height:1.1; white-space:nowrap; font-variant-numeric:tabular-nums;
  background:var(--beam); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat .l{ font-family:'Rubik',sans-serif; font-weight:600; font-size:.97rem; }
.stat .s{ font-size:.85rem; color:var(--text-3); line-height:1.6; }

/* ---------- comparison table ---------- */
.cmp-wrap{ overflow-x:auto; border-radius:calc(var(--r-lg) - .4rem); }
table.cmp{
  width:100%; min-width:44rem; border-collapse:collapse;
  font-size:.95rem;
}
table.cmp th, table.cmp td{
  padding:.95rem 1.1rem; text-align:start; vertical-align:top;
  border-block-end:1px solid var(--hair-soft);
}
table.cmp thead th{
  font-family:'Rubik',sans-serif; font-weight:700; font-size:.95rem;
  color:var(--text); position:sticky; inset-block-start:0;
  background:rgba(14,17,32,.96); backdrop-filter:blur(8px);
  border-block-end:1px solid var(--hair);
}
table.cmp thead th.hl{ color:var(--live); }
table.cmp tbody th{
  font-weight:600; color:var(--text-2); font-family:'Assistant',sans-serif;
  width:34%;
}
table.cmp td{ color:var(--text-2); }
table.cmp td.hl{ color:var(--text); background:rgba(37,211,102,.05); }
table.cmp tbody tr:last-child th, table.cmp tbody tr:last-child td{ border-block-end:0; }
.mark{ display:inline-flex; align-items:center; gap:.4rem; }
.mark svg{ width:.9rem; height:.9rem; flex:none; }
.mark.yes{ color:var(--live); } .mark.no{ color:var(--text-3); }
.mark.part{ color:var(--amber); }

/* ---------- industries ---------- */
.inds{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.ind{ padding:1.6rem 1.5rem; display:flex; flex-direction:column; gap:.6rem; }
.ind .ic{
  width:2.5rem; height:2.5rem; border-radius:.7rem; display:grid; place-items:center;
  border:1px solid var(--hair); background:rgba(148,160,220,.06); color:var(--indigo);
  margin-block-end:.2rem;
}
.ind .ic svg{ width:1.15rem; height:1.15rem; }
.ind h3{ font-size:1.06rem; font-weight:700; }
.ind p{ font-size:.92rem; color:var(--text-2); }
.ind .use{
  font-size:.85rem; color:var(--text-3); padding-block-start:.5rem;
  border-block-start:1px solid var(--hair-soft); margin-block-start:.2rem;
}

/* ---------- integration marquee (pure CSS, no assets) ---------- */
.marquee{
  overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);
}
.marquee-row{ display:flex; gap:.7rem; width:max-content; animation:slide 44s linear infinite; }
.marquee:hover .marquee-row{ animation-play-state:paused; }
@keyframes slide{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
.logo-pill{
  display:inline-flex; align-items:center; gap:.55rem; white-space:nowrap;
  padding:.6rem 1.15rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.04);
  font-family:'Sora',sans-serif; font-size:.88rem; font-weight:500; color:var(--text-2);
  direction:ltr; unicode-bidi:isolate;
}
.logo-pill i{ width:6px; height:6px; border-radius:50%; background:var(--indigo); flex:none; }

/* ---------- app mockup (drawn, not screenshotted) ---------- */
.app{ font-size:.8rem; }
.app-top{
  display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem;
  border-block-end:1px solid var(--hair-soft); background:rgba(148,160,220,.04);
}
.app-dots{ display:flex; gap:.32rem; }
.app-dots i{ width:8px; height:8px; border-radius:50%; background:var(--hair); }
.app-title{ font-family:'Rubik',sans-serif; font-weight:600; font-size:.82rem; color:var(--text-2); }
.app-body{ display:grid; grid-template-columns:13rem 1fr; min-height:19rem; }
.app-side{ border-inline-end:1px solid var(--hair-soft); padding:.7rem; display:flex; flex-direction:column; gap:.28rem; background:rgba(5,6,12,.35); }
.app-item{
  display:flex; align-items:center; gap:.55rem; padding:.5rem .6rem; border-radius:.6rem;
  color:var(--text-3);
}
.app-item.on{ background:rgba(99,102,241,.14); color:var(--text); }
.app-item .av{
  width:1.6rem; height:1.6rem; border-radius:999px; flex:none; display:grid; place-items:center;
  background:rgba(148,160,220,.12); font-size:.62rem; font-weight:700; font-family:'Rubik',sans-serif;
}
.app-item.on .av{ background:var(--beam); color:#04070E; }
.app-item .nm{ font-weight:600; font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-item .pv{ font-size:.72rem; opacity:.75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-badge{
  margin-inline-start:auto; font-size:.62rem; font-weight:700; padding:.06rem .38rem;
  border-radius:999px; background:var(--live); color:#04070E; flex:none;
}
.app-main{ padding:.9rem; display:flex; flex-direction:column; gap:.55rem; }
.app-row{ display:flex; gap:.5rem; flex-wrap:wrap; }
.tagpill{
  font-size:.7rem; font-weight:600; padding:.2rem .6rem; border-radius:999px;
  border:1px solid var(--hair); color:var(--text-3); font-family:'Rubik',sans-serif;
}
.tagpill.i{ border-color:rgba(99,102,241,.4); color:#9AA0FF; background:rgba(99,102,241,.1); }
.tagpill.g{ border-color:rgba(37,211,102,.4); color:#6FE39B; background:rgba(37,211,102,.1); }
.app-note{
  border:1px solid var(--hair-soft); border-radius:.7rem; padding:.6rem .75rem;
  background:rgba(148,160,220,.045); color:var(--text-2); font-size:.8rem; line-height:1.6;
}
.app-note b{ color:var(--text); font-weight:700; }
.app-bar{ display:flex; gap:.4rem; align-items:center; margin-block-start:auto; }
.app-input{
  flex:1; border:1px solid var(--hair); border-radius:999px; padding:.5rem .8rem;
  color:var(--text-3); background:rgba(5,6,12,.5); font-size:.78rem;
}
.app-send{ width:2rem; height:2rem; border-radius:999px; background:var(--beam); display:grid; place-items:center; color:#04070E; flex:none; }
.app-send svg{ width:.85rem; height:.85rem; }

/* ---------- long-form article (the guide) ---------- */
.prose{ max-width:68ch; margin-inline:auto; }
.prose h2{
  font-size:clamp(1.5rem,2.6vw,2.05rem); margin-block:2.6rem .9rem;
  scroll-margin-block-start:7rem;
}
.prose h3{ font-size:clamp(1.15rem,1.9vw,1.35rem); font-weight:700; margin-block:1.8rem .6rem; }
.prose p{ color:var(--text-2); margin-block-end:1.05rem; line-height:1.85; }
.prose ul,.prose ol{ color:var(--text-2); margin-block-end:1.2rem; padding-inline-start:1.3rem; line-height:1.8; }
.prose li{ margin-block-end:.45rem; }
.prose strong{ color:var(--text); font-weight:700; }
.prose a{ color:#9AA0FF; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }
.prose a:hover{ color:var(--live); }
.callout{
  border:1px solid rgba(99,102,241,.3); background:rgba(99,102,241,.07);
  border-radius:var(--r-md); padding:1.1rem 1.3rem; margin-block:1.6rem;
}
.callout .h{ font-family:'Rubik',sans-serif; font-weight:700; margin-block-end:.4rem; color:var(--text); }
.callout p{ margin:0; font-size:.95rem; }
.toc{ padding:1.3rem 1.5rem; }
.toc h2{ font-family:'Rubik',sans-serif; font-size:.9rem; margin-block-end:.7rem; }
.toc ol{ margin:0; padding-inline-start:1.1rem; display:flex; flex-direction:column; gap:.4rem; }
.toc a{ color:var(--text-2); font-size:.93rem; text-decoration:none; }
.toc a:hover{ color:var(--live); }

/* ---------- misc round-2 ---------- */
.kicker{ font-family:'Rubik',sans-serif; font-weight:700; color:var(--live); font-size:.95rem; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.note-row{ display:flex; gap:.7rem; align-items:flex-start; font-size:.94rem; color:var(--text-2); }
.note-row svg{ width:1rem; height:1rem; flex:none; margin-block-start:.42rem; color:var(--live); }

@media (max-width:1080px){
  .stats{ grid-template-columns:repeat(2,1fr); }
  .inds{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .app-body{ grid-template-columns:1fr; }
  .app-side{ border-inline-end:0; border-block-end:1px solid var(--hair-soft); }
  .two-col{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .stats{ grid-template-columns:1fr; }
  .inds{ grid-template-columns:1fr; }
  .drop{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .marquee-row{ animation:none; }
}

/* ============================================================
   ACCESSIBILITY — skip link, widget, and the user preferences
   it applies. Israeli sites must ship this, not just declare it.
   ============================================================ */

.skip{
  position:fixed; inset-block-start:-100%; inset-inline-start:50%;
  transform:translateX(50%);
  z-index:60; padding:.8rem 1.4rem; border-radius:0 0 var(--r-sm) var(--r-sm);
  background:var(--live); color:#04070E; font-family:'Rubik',sans-serif; font-weight:700;
  transition:inset-block-start .3s var(--ease);
}
.skip:focus{ inset-block-start:0; }

/* the launcher */
.a11y-btn{
  position:fixed; inset-inline-end:1rem; inset-block-end:1rem; z-index:48;
  width:3.1rem; height:3.1rem; border-radius:999px; cursor:pointer;
  display:grid; place-items:center;
  border:1px solid rgba(160,170,220,.25);
  background:linear-gradient(150deg,#151834,#0B0E1C);
  box-shadow:0 .7rem 2rem rgba(0,0,0,.55);
  color:var(--text);
  transition:transform .45s var(--ease), border-color .45s var(--ease);
}
.a11y-btn:hover{ transform:scale(1.06); border-color:rgba(99,102,241,.5); }
/* keep the launcher clear of the consent bar while it is up */
body.ck-open .a11y-btn{ inset-block-end:9.5rem; }
body.ck-open .a11y-panel{ inset-block-end:13.5rem; }
.a11y-btn svg{ width:1.5rem; height:1.5rem; }

/* the panel */
.a11y-panel{
  position:fixed; inset-inline-end:1rem; inset-block-end:5rem; z-index:49;
  width:min(21rem, calc(100vw - 2rem));
  max-height:min(34rem, calc(100vh - 7rem)); overflow-y:auto;
  border-radius:var(--r-md); border:1px solid var(--hair);
  background:rgba(10,12,23,.97);
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  box-shadow:0 1.4rem 3.6rem rgba(0,0,0,.7);
  padding:1.1rem;
  opacity:0; visibility:hidden; transform:translateY(.7rem);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.a11y-panel.open{ opacity:1; visibility:visible; transform:none; }
.a11y-head{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  margin-block-end:.9rem; padding-block-end:.7rem;
  border-block-end:1px solid var(--hair-soft);
}
.a11y-head h2{ font-size:1.02rem; font-weight:700; }
.a11y-x{
  width:1.9rem; height:1.9rem; border-radius:999px; cursor:pointer;
  border:1px solid var(--hair); background:transparent; color:var(--text-2);
  display:grid; place-items:center; font-size:1.1rem; line-height:1;
}
.a11y-x:hover{ color:var(--text); border-color:rgba(160,170,220,.3); }
.a11y-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.a11y-opt{
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  padding:.75rem .5rem; border-radius:var(--r-sm); cursor:pointer;
  border:1px solid var(--hair); background:rgba(148,160,220,.04);
  font-family:'Rubik',sans-serif; font-size:.8rem; font-weight:600;
  color:var(--text-2); text-align:center; line-height:1.3;
  transition:all .35s var(--ease);
}
.a11y-opt svg{ width:1.15rem; height:1.15rem; }
.a11y-opt:hover{ border-color:rgba(160,170,220,.3); color:var(--text); }
.a11y-opt[aria-pressed="true"]{
  border-color:rgba(37,211,102,.5); background:rgba(37,211,102,.13); color:var(--text);
}
.a11y-reset{
  margin-block-start:.7rem; width:100%; justify-content:center;
  padding:.6rem; border-radius:var(--r-sm); cursor:pointer;
  border:1px solid var(--hair); background:transparent; color:var(--text-2);
  font-family:'Rubik',sans-serif; font-weight:600; font-size:.88rem;
}
.a11y-reset:hover{ color:var(--text); border-color:rgba(160,170,220,.3); }
.a11y-foot{ margin-block-start:.8rem; font-size:.78rem; color:var(--text-3); line-height:1.55; }
.a11y-foot a{ color:#9AA0FF; text-decoration:underline; text-underline-offset:.2em; }

/* ---- preference effects, applied from <html data-*> ---- */
html[data-a11y-font="1"]{ font-size:112.5%; }
html[data-a11y-font="2"]{ font-size:125%; }
html[data-a11y-font="3"]{ font-size:140%; }

html[data-a11y-contrast="on"]{
  --ink:#000000; --ink-raise:#000000; --ink-card:#000000;
  --text:#FFFFFF; --text-2:#FFFFFF; --text-3:#E6E9F5;
  --hair:rgba(255,255,255,.55); --hair-soft:rgba(255,255,255,.35);
}
html[data-a11y-contrast="on"] body::before,
html[data-a11y-contrast="on"] body::after{ display:none; }
html[data-a11y-contrast="on"] .glow,
html[data-a11y-contrast="on"] .stat .v{
  background:none; -webkit-text-fill-color:#FFFFFF; color:#FFFFFF;
}
html[data-a11y-contrast="on"] .btn-primary{ background:#FFFFFF; color:#000000; }
html[data-a11y-contrast="on"] .plate,
html[data-a11y-contrast="on"] .tray{ background:#000000; }

html[data-a11y-mono="on"]{ filter:grayscale(1); }

html[data-a11y-links="on"] a{
  text-decoration:underline !important; text-underline-offset:.2em;
  text-decoration-thickness:1px;
}
html[data-a11y-links="on"] .btn{ outline:1px dashed currentColor; outline-offset:2px; }

html[data-a11y-readable="on"] *{
  font-family:Arial,'Assistant',sans-serif !important;
  letter-spacing:normal !important;
}
html[data-a11y-spacing="on"] body{ line-height:2.1; word-spacing:.14em; }
html[data-a11y-spacing="on"] p,
html[data-a11y-spacing="on"] li{ margin-block-end:1.1em; }

html[data-a11y-motion="off"] *,
html[data-a11y-motion="off"] *::before,
html[data-a11y-motion="off"] *::after{
  animation:none !important; transition:none !important; scroll-behavior:auto !important;
}
html[data-a11y-motion="off"] .rv{ opacity:1 !important; transform:none !important; filter:none !important; }
html[data-a11y-motion="off"] .msg,
html[data-a11y-motion="off"] .typing,
html[data-a11y-motion="off"] .rail span{ opacity:1 !important; transform:none !important; }

html[data-a11y-cursor="on"], html[data-a11y-cursor="on"] *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 4 L8 38 L16 30 L21 42 L27 39 L22 27 L34 27 Z' fill='%23fff' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") 4 4, auto !important;
}

/* ============================================================
   COOKIE CONSENT
   ============================================================ */
.cookie{
  position:fixed; inset-inline:0; inset-block-end:0; z-index:47;
  padding:1rem; display:flex; justify-content:center;
  transform:translateY(120%); transition:transform .6s var(--ease);
  pointer-events:none;
}
.cookie.show{ transform:none; }
.cookie-box{
  pointer-events:auto;
  width:min(58rem,100%); padding:1.1rem 1.3rem;
  border-radius:var(--r-md); border:1px solid var(--hair);
  background:rgba(10,12,23,.97);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  box-shadow:0 -.4rem 3rem rgba(0,0,0,.6);
  display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap;
}
.cookie-txt{ flex:1 1 22rem; font-size:.92rem; color:var(--text-2); line-height:1.65; }
.cookie-txt b{ color:var(--text); font-family:'Rubik',sans-serif; display:block; margin-block-end:.2rem; }
.cookie-txt a{ color:#9AA0FF; text-decoration:underline; text-underline-offset:.2em; }
.cookie-acts{ display:flex; gap:.5rem; flex-wrap:wrap; }
.cookie-prefs{ width:100%; display:none; flex-direction:column; gap:.5rem; padding-block-start:.4rem; }
.cookie-prefs.open{ display:flex; }
.ck-row{
  display:flex; gap:.9rem; align-items:flex-start;
  padding:.7rem .9rem; border-radius:var(--r-sm);
  border:1px solid var(--hair-soft); background:rgba(148,160,220,.035);
}
.ck-row .t{ font-family:'Rubik',sans-serif; font-weight:600; font-size:.9rem; }
.ck-row .d{ font-size:.83rem; color:var(--text-3); line-height:1.55; }
.ck-sw{
  margin-inline-start:auto; flex:none; width:2.6rem; height:1.45rem; border-radius:999px;
  border:1px solid var(--hair); background:rgba(148,160,220,.08); cursor:pointer;
  position:relative; transition:background .35s var(--ease), border-color .35s var(--ease);
}
.ck-sw::after{
  content:""; position:absolute; inset-block-start:50%; inset-inline-start:.18rem;
  width:1rem; height:1rem; border-radius:999px; background:var(--text-3);
  transform:translateY(-50%);
  transition:transform .35s var(--ease), background .35s var(--ease);
}
.ck-sw[aria-checked="true"]{ background:rgba(37,211,102,.25); border-color:rgba(37,211,102,.5); }
.ck-sw[aria-checked="true"]::after{ background:var(--live); transform:translateY(-50%) translateX(-1.15rem); }
.ck-sw[aria-disabled="true"]{ opacity:.55; cursor:not-allowed; }

@media (max-width:768px){
  .a11y-grid{ grid-template-columns:1fr 1fr; }
  .cookie-box{ padding:1rem; }
  .cookie-acts .btn{ flex:1 1 auto; justify-content:center; }
  .a11y-btn{ inset-block-end:.8rem; inset-inline-end:.8rem; }
}

/* ---------- legal / plain document pages ---------- */
.legal h2{ margin-block:2.2rem .7rem; font-size:clamp(1.3rem,2.2vw,1.7rem); scroll-margin-block-start:7rem; }
.legal h3{ margin-block:1.5rem .5rem; font-size:1.1rem; font-weight:700; }
.legal p, .legal li{ color:var(--text-2); line-height:1.85; }
.legal p{ margin-block-end:1rem; }
.legal ul, .legal ol{ margin-block-end:1.2rem; padding-inline-start:1.3rem; }
.legal li{ margin-block-end:.45rem; }
.legal strong{ color:var(--text); font-weight:700; }
.legal a{ color:#9AA0FF; text-decoration:underline; text-underline-offset:.2em; }
.legal table{ width:100%; border-collapse:collapse; margin-block-end:1.2rem; font-size:.93rem; }
.legal th, .legal td{ padding:.7rem .9rem; text-align:start; border-block-end:1px solid var(--hair-soft); vertical-align:top; }
.legal th{ font-family:'Rubik',sans-serif; font-weight:700; color:var(--text); }
.legal td{ color:var(--text-2); }
.fill{
  display:inline-block; padding:.05rem .45rem; border-radius:.35rem;
  background:rgba(240,180,41,.13); color:var(--amber);
  border:1px dashed rgba(240,180,41,.4); font-weight:600; font-size:.93em;
}
