/* Fonts are self-hosted (SIL OFL 1.1, see fonts/OFL-*.txt): no request leaves this site. */
@font-face{font-family:'Archivo';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/source-serif-4-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/source-serif-4-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/source-serif-4-latin-600-normal.woff2) format('woff2')}
:root{
  --paper:#f5f5f5; --white:#ffffff; --ink:#242626; --charcoal:#4a4e4d; --pewter:#6c6f6f;
  --stone:#b7b7b7; --smoke:#7f8282; --mist:#d8d9d9; --haze:#e8e9e9; --ember:#e2542f;
  --sans:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:var(--paper);color:var(--charcoal);font:400 19px/1.55 var(--serif);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--sans);color:var(--ink);letter-spacing:-.025em}
.skip{position:absolute;inset-inline-start:16px;top:-80px;z-index:50;background:var(--ink);color:var(--white);padding:10px 14px;font:600 15px var(--sans)}
.skip:focus{top:8px}

/* Header */
.top{position:sticky;top:0;z-index:20;background:rgba(245,245,245,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--mist)}
.top .wrap{display:flex;align-items:center;height:72px}
.brand img{height:30px;width:auto}

/* Hero */
.hero{padding:96px 0 104px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}
.hero h1{font-weight:800;font-size:clamp(48px,7vw,92px);line-height:.98;max-width:11ch}
.hero p{font-size:clamp(19px,1.8vw,23px);line-height:1.5;max-width:42ch;margin-top:30px}
.hero .more{display:inline-block;margin-top:36px;font:700 16px/1 var(--sans);text-decoration:none;border-bottom:1.5px solid var(--stone);padding-bottom:4px}
.hero .more:hover{border-bottom-color:var(--ink)}
.cup{aspect-ratio:1;max-width:420px;width:100%;justify-self:end;border-radius:50%;background:var(--white);border:1px solid var(--mist);display:grid;place-items:center}
.cup svg{width:52%;height:auto;overflow:visible}
/* The hero mug animates once (under 5 seconds) and then rests. */
.cup .rows line{stroke-dasharray:32;stroke-dashoffset:32;animation:fill .7s ease-out .3s forwards}
.cup .rows line:nth-child(2){animation-delay:.6s}
.cup .rows line:nth-child(3){animation-delay:.9s}
@keyframes fill{to{stroke-dashoffset:0}}
.cup .ember{transform:scale(0);transform-origin:52px 44px;transform-box:view-box;animation:pop .5s cubic-bezier(.3,1.6,.5,1) 1.5s forwards}
@keyframes pop{to{transform:scale(1)}}
.cup .steam path{opacity:0;animation:rise 1.6s ease-out 1.9s forwards}
.cup .steam path:nth-child(2){animation-delay:2.3s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Story: the diagram plays in place */
.story{border-top:1px solid var(--stone);padding:96px 0 104px}
.story-head h2{font-weight:800;font-size:clamp(32px,4.2vw,52px);line-height:1.05;max-width:20ch}
.story-head p{font-size:clamp(19px,1.7vw,22px);margin-top:16px;max-width:52ch}
.story-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:center;margin-top:52px}
.steps li{position:relative;border-left:2px solid var(--mist)}
.steps li::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:0;background:var(--ink)}
.steps li.on::before{animation:progress var(--dur,4s) linear forwards}
@keyframes progress{to{height:100%}}
.steps button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:14px 0 14px 22px}
.steps button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.steps .k{display:block;font:700 14px/1 var(--sans);color:var(--pewter);font-variant-numeric:tabular-nums}
.steps .t{display:block;font:800 clamp(19px,1.7vw,22px)/1.2 var(--sans);color:var(--pewter);letter-spacing:-.015em;margin-top:6px;transition:color .3s}
.steps li.on .t{color:var(--ink)}
.steps .d{font-size:17px;line-height:1.5;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s, opacity .45s, margin .45s}
.steps li.on .d{max-height:8em;opacity:1;margin-top:8px}
.controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.toggle{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:700 14px/1 var(--sans);color:var(--ink);padding:8px 12px 8px 10px;border:1px solid var(--stone);border-radius:2px;background:var(--white)}
.toggle:hover{border-color:var(--ink)}
.toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.toggle i{width:10px;height:12px;border-left:3px solid var(--ink);border-right:3px solid var(--ink)}
.toggle[aria-pressed="true"] i{border-right:0;border-left:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid var(--ink)}
.stage-note{font-style:italic;font-size:15px;color:var(--pewter);text-align:right}

/* Stage: a 640x520 drawing; everything is sized relative to its width */
.stage{position:relative;width:100%;aspect-ratio:640/520;container-type:inline-size;font-family:var(--sans);color:var(--ink)}
.stage .card{position:absolute;background:var(--white);border:1px solid var(--stone);border-radius:3px;padding:2.6cqw;opacity:.38;transition:opacity .5s, border-color .5s, box-shadow .5s;overflow:hidden}
.stage .ch{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:max(11px,2.25cqw);padding-bottom:1.6cqw;border-bottom:1px solid var(--mist)}
.stage .ch em{font-style:normal;font-weight:800;font-size:max(13px,2.9cqw);font-variant-numeric:tabular-nums}
.inbox{left:0;top:15.4%;width:26.56%;height:84.6%}
.proc{left:33.44%;top:15.4%;width:33.13%;height:84.6%}
.erp{left:73.44%;top:15.4%;width:26.56%;height:38.5%}
.team{left:73.44%;top:57.7%;width:26.56%;height:42.3%}
.clock{position:absolute;left:33.44%;top:0;width:33.13%;height:12%;display:flex;align-items:baseline;justify-content:center;gap:1.6cqw}
.clock b{font-weight:800;font-size:max(20px,5.6cqw);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.clock span{font-weight:600;font-size:max(11px,2cqw);color:var(--pewter)}
.docs li{display:flex;align-items:center;gap:1.4cqw;padding:1.35cqw 0;border-bottom:1px solid var(--haze);font-weight:600;font-size:max(10px,1.85cqw);transition:opacity .4s}
.docs li i{flex:none;width:2.2cqw;height:2.8cqw;border:1.5px solid var(--smoke);border-radius:1px}
.docs li em{margin-left:auto;font-style:normal;font-weight:600;color:var(--pewter);font-size:max(9px,1.6cqw)}
.docs li.gone{opacity:.28;text-decoration:line-through;text-decoration-color:var(--stone)}
.doc{margin-top:2cqw;border:1px solid var(--mist);background:var(--paper);padding:1.8cqw;position:relative;overflow:hidden}
.doc .dt{font-weight:700;font-size:max(10px,1.9cqw)}
.doc .f{display:flex;justify-content:space-between;gap:1cqw;font-size:max(10px,1.8cqw);padding:.9cqw .8cqw;margin-top:.8cqw;border-radius:2px;transition:background .4s}
.doc .f span{color:var(--pewter);font-weight:600}
.doc .f b{font-weight:700;opacity:.12;transition:opacity .4s}
.doc .scan{position:absolute;left:0;right:0;height:22%;top:-25%;background:linear-gradient(to bottom,transparent,rgba(127,130,130,.25),transparent);opacity:0}
.rules{margin-top:2.2cqw}
.rules .rt{font-weight:700;font-size:max(10px,1.9cqw);border:0;opacity:1 !important}
.rules li{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:max(10px,1.8cqw);padding:1.05cqw 0;border-bottom:1px solid var(--haze);opacity:.25;transition:opacity .4s}
.tick{width:max(12px,2.3cqw);height:max(12px,2.3cqw);border-radius:50%;background:var(--ink);position:relative;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.tick::after{content:"";position:absolute;left:34%;top:18%;width:28%;height:46%;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}
.big{display:block;font-weight:800;font-size:max(26px,7.6cqw);letter-spacing:-.03em;line-height:1;margin-top:2.2cqw;font-variant-numeric:tabular-nums}
.sub{display:block;font:400 max(10px,1.8cqw)/1.35 var(--serif);color:var(--pewter);margin-top:1cqw}
.ex{margin-top:1.6cqw}
.ex li{display:flex;align-items:center;gap:1.2cqw;font-weight:600;font-size:max(10px,1.75cqw);padding:.9cqw 0;border-top:1px solid var(--haze);opacity:0;transition:opacity .4s}
.ex .dot{flex:none;width:max(7px,1.5cqw);height:max(7px,1.5cqw);border-radius:50%;background:var(--ember)}
.ex .dot.g{background:var(--smoke)}
.wire{position:absolute;height:0;border-top:1.5px dashed var(--stone);transition:border-color .4s}
.wire::after{content:"";position:absolute;right:-1px;top:-5px;border-left:7px solid var(--stone);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:border-color .4s}
.wire i{position:absolute;top:-4.5px;left:0;width:7px;height:7px;border-radius:50%;background:var(--ink);opacity:0}
.w1{left:27.2%;width:5.6%;top:52%}
.w2{left:67.2%;width:5.6%;top:34.6%}
.w3{left:67.2%;width:5.6%;top:78.8%}
.wire.live{border-top-color:var(--ink)}
.wire.live::after{border-left-color:var(--ink)}
.wire.live i{animation:packet 1.4s linear infinite}
.wire.live i:nth-child(2){animation-delay:.47s}
.wire.live i:nth-child(3){animation-delay:.94s}
@keyframes packet{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 7px);opacity:0}}
.done{position:absolute;left:33.44%;top:15.4%;width:33.13%;height:84.6%;background:var(--ink);color:var(--white);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3cqw;opacity:0;transform:scale(.96);transition:opacity .5s, transform .5s;pointer-events:none}
.done svg{width:36%;overflow:visible}
.done .steam path{animation:steam 3.6s ease-in-out infinite;opacity:0}
.done .steam path:nth-child(2){animation-delay:1.2s}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}30%{opacity:1}70%{opacity:.9}100%{opacity:0;transform:translateY(-10px)}}
.done b{font-weight:800;font-size:max(15px,3.1cqw);line-height:1.15;margin-top:3cqw;letter-spacing:-.02em}
.done span{font:400 max(11px,1.9cqw)/1.4 var(--serif);color:var(--mist);margin-top:1.4cqw}

/* Stage states */
.stage[data-step="1"] .inbox,
.stage[data-step="2"] .inbox,.stage[data-step="2"] .proc,
.stage[data-step="3"] .proc,.stage[data-step="3"] .erp,
.stage[data-step="4"] .proc,.stage[data-step="4"] .team,
.stage[data-step="5"] .card{opacity:1}
.stage[data-step="1"] .inbox,.stage[data-step="2"] .proc,.stage[data-step="3"] .erp,.stage[data-step="4"] .team{border-color:var(--ink);box-shadow:0 10px 30px -18px rgba(36,38,38,.45)}
.stage:not([data-step="1"]) .doc .f b{opacity:1}
.stage[data-step="2"] .doc .f{background:var(--haze)}
.stage[data-step="2"] .doc .scan{animation:scan 1.8s ease-in-out infinite;opacity:1}
@keyframes scan{0%{top:-25%}100%{top:105%}}
.stage[data-step="3"] .rules li,.stage[data-step="4"] .rules li,.stage[data-step="5"] .rules li{opacity:1}
.stage[data-step="3"] .tick,.stage[data-step="4"] .tick,.stage[data-step="5"] .tick{transform:scale(1)}
.stage .rules li:nth-child(3) .tick{transition-delay:.15s}
.stage .rules li:nth-child(4) .tick{transition-delay:.3s}
.stage[data-step="4"] .ex li,.stage[data-step="5"] .ex li{opacity:1}
.stage .ex li:nth-child(2){transition-delay:.2s}
.stage .ex li:nth-child(3){transition-delay:.4s}
.stage[data-step="5"] .done{opacity:1;transform:none}
.story.paused .stage *,.story.paused .stage *::after,.story.paused .steps li::before{animation-play-state:paused !important}

/* Points + contact */
.points{border-top:1px solid var(--stone);padding:88px 0}
.points .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.points h3{font-weight:800;font-size:24px;line-height:1.15;border-top:1.5px solid var(--ink);padding-top:18px}
.points p{font-size:18px;margin-top:10px}
.contact{background:var(--ink);color:var(--mist);padding:112px 0 120px}
.contact h2{color:var(--white);font-weight:800;font-size:clamp(38px,5.4vw,68px);line-height:1.02;max-width:16ch}
.contact p{font-size:clamp(19px,1.7vw,22px);margin-top:20px;max-width:46ch}
.contact .mail{display:inline-block;margin-top:40px;font:800 clamp(24px,3.4vw,44px)/1.1 var(--sans);letter-spacing:-.02em;color:var(--white);text-decoration:none;border-bottom:3px solid var(--smoke);padding-bottom:6px;word-break:break-word}
.contact .mail:hover{border-bottom-color:var(--white)}
footer{padding:36px 0 44px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between}
footer img{height:24px;width:auto}
footer p{font-size:14px;color:var(--pewter);max-width:70ch}

/* Responsive */
@media (max-width:900px){
  .hero{padding:52px 0 64px}
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .cup{justify-self:start;max-width:260px}
  .story{padding:72px 0 80px}
  .story-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}
  .stage-col{order:-1}
  .points .wrap{grid-template-columns:1fr;gap:32px}
}
@media (max-width:640px){
  body{font-size:18px}
  .wrap{padding:0 16px}
  .top .wrap{height:64px}
  .brand img{height:24px}
  .stage{aspect-ratio:640/560}
  .docs li:nth-child(n+6){display:none}
  .doc .f:nth-of-type(3){display:none}
  .docs li em,.erp .sub{display:none}
  .ex li:nth-child(3){display:none}
  .stage-note{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition:none !important}
  .wire.live i{opacity:0}
}

/* Footer links */
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-links a{font:600 14px/1.4 var(--sans);color:var(--charcoal);text-decoration:none;border-bottom:1px solid var(--stone)}
.foot-links a:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* Legal pages and 404 */
.legal{padding:72px 0 96px}
.legal .wrap,.nf .wrap{max-width:780px;display:block}
.legal h1,.nf h1{font-weight:800;font-size:clamp(36px,5vw,56px);line-height:1.05}
.legal .upd{font:600 14px/1.4 var(--sans);color:var(--pewter);margin-top:14px}
.legal h2{font-weight:800;font-size:23px;line-height:1.2;margin-top:44px}
.legal p,.legal li{font-size:18px;line-height:1.6;margin-top:12px}
.legal ul{list-style:disc;padding-inline-start:1.2em}
.legal li{margin-top:6px}
.legal a,.nf a{color:var(--ink)}
.nf{padding:96px 0 120px}
.nf p{font-size:20px;margin-top:20px}
html[lang="he"] body,html[lang="he"] h1,html[lang="he"] h2,html[lang="he"] .upd{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
html[lang="he"] h1,html[lang="he"] h2{letter-spacing:0}
