/* ============ Fonts — files go in /fonts, see fonts/README.txt ============ */
@font-face{font-family:"Narkiss Block";font-weight:800;font-style:normal;font-display:swap;src:url("../fonts/narkiss-block-heavy.woff2") format("woff2"),url("../fonts/narkiss-block-heavy.woff") format("woff")}
@font-face{font-family:"Narkiss Block";font-weight:900;font-style:normal;font-display:swap;src:url("../fonts/narkiss-block-black.woff2") format("woff2"),url("../fonts/narkiss-block-black.woff") format("woff")}
@font-face{font-family:"Afek 2";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/afek2-regular.woff2") format("woff2"),url("../fonts/afek2-regular.woff") format("woff")}
@font-face{font-family:"Afek 2";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/afek2-demibold.woff2") format("woff2"),url("../fonts/afek2-demibold.woff") format("woff")}
@font-face{font-family:"Afek 2";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/afek2-bold.woff2") format("woff2"),url("../fonts/afek2-bold.woff") format("woff")}

/* ============ Tokens ============ */
:root{
  --font-display:"Narkiss Block",Arial,sans-serif;
  --font-body:"Afek 2",Arial,sans-serif;

  --ink:#161a37;
  --ink-2:#4a4f6a;
  --ink-3:#7b8096;
  --yellow:#f9b023;
  --yellow-2:#ffc344;
  --yellow-deep:#e89a0c;
  --cream:#fff6e4;
  --cream-2:#fde9c4;
  --line:#e8eaf0;
  --gray-bg:#f4f6f9;
  --white:#fff;

  --radius-lg:28px;
  --radius-md:20px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --container:1240px;
  --gutter:clamp(16px,4vw,40px);
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--font-body);font-size:18px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:800;line-height:1.08;text-wrap:balance;letter-spacing:-.01em}
p{margin:0;text-wrap:pretty}
.container{width:min(100% - var(--gutter)*2, var(--container));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============ Buttons ============ */
.btn{
  --b:var(--yellow);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:48px;padding:0 28px;border:0;border-radius:999px;cursor:pointer;
  background:var(--b);color:var(--ink);font-weight:700;font-size:16px;white-space:nowrap;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 6px 18px -6px rgba(233,154,12,.55);
  transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease-out),background .25s;
  overflow:hidden;isolation:isolate;
}
.btn::after{ /* shine sweep */
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  transform:translateX(120%);transition:transform .7s var(--ease-out);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 12px 26px -8px rgba(233,154,12,.7)}
.btn:hover::after{transform:translateX(-120%)}
.btn:active{transform:translateY(0) scale(.98)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn .arrow{transition:transform .35s var(--ease-spring)}
.btn:hover .arrow{transform:translateX(-4px)}
.btn-lg{height:56px;padding:0 34px;font-size:18px}

/* ============ Header ============ */
.site-header{
  position:fixed;inset:0 0 auto;z-index:50;
  transition:background .35s,box-shadow .35s,backdrop-filter .35s;
}
.site-header .bar{height:84px;display:flex;align-items:center;justify-content:space-between}
.site-header.scrolled{background:rgba(255,255,255,.78);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 1px 0 rgba(22,26,55,.06)}
.site-header.scrolled .bar{height:68px}
.site-header .bar{transition:height .35s var(--ease-out)}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:26px;letter-spacing:-.01em}
.logo img{height:34px;width:auto}
.site-header .btn{height:50px;padding:0 24px;font-size:15px}

/* ============ Hero ============ */
.hero{
  position:relative;padding-top:150px;
  background:
    radial-gradient(60% 55% at 50% 72%,rgba(255,214,140,.55),transparent 70%),
    linear-gradient(180deg,#fff7e8 0%,#fdebc8 100%);
  isolation:isolate;
}
.hero-bg{position:relative;height:clamp(500px,44vw,660px);margin-top:28px;overflow-x:clip}
.hero-copy{position:relative;z-index:3;text-align:center;padding-inline:var(--gutter)}
.hero h1{font-size:clamp(44px,5.6vw,80px);font-weight:900}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .line>span{display:inline-block}
.hero .lead{margin-top:18px;color:var(--ink-2);font-size:clamp(17px,1.4vw,20px)}

.bubbles{position:absolute;inset:0;z-index:1;pointer-events:none;clip-path:inset(-600px 0 0 0)}
.bubble{
  position:absolute;left:var(--x);top:var(--y);width:var(--d);aspect-ratio:1;
  translate:-50% -50%;
}
.bubble .float{width:100%;height:100%;animation:bob var(--t,7s) ease-in-out var(--delay,0s) infinite alternate}
.bubble img{width:100%;height:100%;object-fit:contain}
@keyframes bob{
  from{transform:translateY(-6px)}
  to{transform:translateY(8px)}
}

.hero-phone{
  position:absolute;z-index:2;left:50%;bottom:0;
  width:clamp(300px,27vw,400px);
  translate:-50% 24%;
}
.hero-phone .tilt{transition:transform .6s var(--ease-out)}
.hero-phone img{width:100%}
.hero-spacer{height:calc(clamp(300px,27vw,400px) * 1.84 * .24 + 56px)}

/* ============ Section heads ============ */
.section{padding-block:clamp(72px,9vw,120px)}
.eyebrow-title{font-size:clamp(26px,2.4vw,34px);text-align:center;font-weight:800}

/* ============ Video showcase ============ */
.showcase{padding-top:24px}
.showcase .eyebrow-title{margin-bottom:clamp(24px,3vw,40px)}
.stage{
  position:relative;overflow:hidden;isolation:isolate;
  border-radius:var(--radius-lg);
  aspect-ratio:1180/640;min-height:420px;
  background:linear-gradient(180deg,#f6a51c 0%,#fbbf45 38%,#fdd98e 72%,#fde7b8 100%);
  display:grid;place-items:center;
  cursor:pointer;
}
.stage::before{ /* soft grain / light */
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(70% 60% at 50% 0%,rgba(255,255,255,.28),transparent 60%);
}
.orb{
  position:absolute;left:50%;top:100%;
  width:min(62%,640px);aspect-ratio:1;
  translate:-50% -52%;z-index:0;
  border-radius:50%;
  transition:translate 1.6s var(--ease-out);
}
.stage:not(.in) .orb{translate:-50% -10%}
.orb .core{
  position:absolute;inset:0;border-radius:50%;overflow:hidden;
  background:#ff7a1a;
  box-shadow:inset -30px -40px 90px rgba(150,20,10,.45),inset 30px 30px 80px rgba(255,220,120,.55);
}
.orb .core::before{
  content:"";position:absolute;inset:-20%;
  background:conic-gradient(from 20deg at 46% 54%,#e8321e,#ff7a1a,#ffb52e,#ff5a1f,#c9161c,#ff8a24,#ffd04a,#e8321e);
  filter:blur(28px);animation:spin 22s linear infinite;
}
.orb .core::after{
  content:"";position:absolute;inset:-10%;
  background:
    radial-gradient(40% 30% at 30% 25%,rgba(255,240,190,.9),transparent 70%),
    radial-gradient(50% 40% at 70% 70%,rgba(200,20,10,.55),transparent 70%);
  filter:blur(18px);mix-blend-mode:overlay;
  animation:spin 14s linear infinite reverse;
}
.orb .glow{
  position:absolute;inset:-18%;border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(255,140,40,.55),rgba(255,170,60,.18) 60%,transparent);
  filter:blur(10px);animation:breathe 5s ease-in-out infinite alternate;
}
@keyframes spin{to{transform:rotate(1turn)}}
@keyframes breathe{from{transform:scale(.94);opacity:.8}to{transform:scale(1.06);opacity:1}}

.prompt{
  position:relative;z-index:2;
  width:min(76%,860px);height:68px;padding-inline:14px 24px;
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.96);border-radius:999px;
  box-shadow:0 20px 50px -18px rgba(120,60,0,.45),0 0 0 1px rgba(255,255,255,.7);
  transform:translateY(-24%);
  opacity:0;scale:.92;transition:opacity .9s var(--ease-out) .25s,scale 1s var(--ease-spring) .25s;
}
.stage.in .prompt{opacity:1;scale:1}
.prompt .send{
  flex:none;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;border:0;
  transition:transform .35s var(--ease-spring);
}
.stage:hover .prompt .send{transform:scale(1.08) rotate(-8deg)}
.prompt .mic{flex:none;color:var(--ink);opacity:.85}
.prompt .sep{flex:none;width:1.5px;height:22px;background:#d6d8e0}
.prompt .typed{flex:1;min-width:0;color:var(--ink);font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prompt .typed .caret{display:inline-block;width:2px;height:1.1em;vertical-align:-.18em;background:var(--yellow-deep);margin-inline-start:2px;animation:blink 1s steps(1) infinite}
.prompt .plus{flex:none;color:var(--ink-3)}
@keyframes blink{50%{opacity:0}}

.play-hint{
  position:absolute;z-index:3;inset-block-end:22px;inset-inline-start:24px;
  display:inline-flex;align-items:center;gap:12px;height:48px;padding-block:0;padding-inline:8px 22px;border-radius:999px;
  background:rgba(22,26,55,.78);color:#fff;font-size:15px;font-weight:600;line-height:1;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:transform .35s var(--ease-spring),background .25s;
}
.play-hint i{width:32px;height:32px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;color:var(--ink)}
.play-hint i svg{translate:-1px 0} /* optical centering of the triangle */
.stage:hover .play-hint{transform:translateY(-3px);background:rgba(22,26,55,.9)}

/* ============ New site ============ */
.newsite{
  position:relative;padding-top:clamp(80px,9vw,120px);text-align:center;overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,var(--gray-bg) 30%,#eef1f6 100%);
}
.newsite h2{font-size:clamp(64px,10vw,140px);font-weight:900;letter-spacing:-.02em;line-height:.95}
.newsite h2 .shine{
  background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 40%,#5d637f 50%,var(--ink) 60%,var(--ink) 100%);
  background-size:250% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:background-position 2.2s var(--ease-out);
}
.newsite.in h2 .shine{background-position:0 0}
.newsite .sub{margin-top:10px;font-family:var(--font-display);font-weight:800;font-size:clamp(24px,2.6vw,38px)}
.newsite .btn{margin-top:28px}
.devices{position:relative;margin-top:clamp(40px,5vw,64px);width:min(100%,1060px);margin-inline:auto}
.devices img{width:100%}

/* ============ Features ============ */
.features{display:grid;gap:clamp(56px,7vw,40px)}
.feature{
  display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,72px);
}
.feature.flip .feature-media{order:-1}   /* media on the right in RTL */
.feature-text{text-align:center;padding-inline:clamp(0px,3vw,40px)}
.feature-text h3{font-size:clamp(28px,2.6vw,38px)}
.feature-text p{margin-top:10px;color:var(--ink-2);font-size:clamp(17px,1.35vw,20px)}
.feature-media{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:649/500;
  transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out);
  box-shadow:0 30px 60px -40px rgba(22,26,55,.35);
}
.feature-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.03) translateY(var(--py,0px));transition:transform 1.4s var(--ease-out)}
.feature-media:hover{box-shadow:0 40px 70px -36px rgba(22,26,55,.45)}
.feature-media::after{ /* specular sheen following pointer */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 45%);
}
.feature-media:hover::after{opacity:1}

/* ============ FAQ ============ */
.faq .eyebrow-title{font-size:clamp(30px,3vw,44px);margin-bottom:clamp(28px,3.5vw,44px)}
.faq-list{width:min(100%,860px);margin-inline:auto;display:grid;gap:14px}
.qa{
  border:1px solid var(--line);border-radius:16px;background:#fff;
  transition:border-color .3s,box-shadow .3s;
}
.qa:hover{border-color:#d9dce6}
.qa.open{border-color:#c4c8d4}
.qa button{
  all:unset;box-sizing:border-box;width:100%;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;font-size:18px;font-weight:600;border-radius:16px;
}
.qa button:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:2px}
.qa .chev{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--gray-bg);color:var(--ink-2);transition:transform .45s var(--ease-spring),background .3s,color .3s}
.qa.open .chev{transform:rotate(180deg);background:#e6e9ef;color:var(--ink)}
.qa .panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-out)}
.qa.open .panel{grid-template-rows:1fr}
.qa .panel>div{overflow:hidden}
.qa .panel p{padding:0 24px 22px;color:var(--ink-2);font-size:17px;max-width:68ch}

/* ============ CTA ============ */
.cta{padding-top:clamp(90px,10vw,140px)}
.cta-card{
  position:relative;border-radius:var(--radius-lg);background:var(--gray-bg);
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  min-height:300px;padding-inline:clamp(24px,5vw,80px);
  overflow:visible;isolation:isolate;
}

.cta-text{text-align:center;justify-self:start;padding-block:48px;width:100%}
.cta-text h2{font-size:clamp(28px,2.6vw,38px)}
.cta-text .btn{margin-top:24px}
.cta-phone{position:relative;align-self:end;justify-self:center;width:min(100%,220px);margin-top:-110px}
.cta-phone img{width:100%;animation:hover-float 6s ease-in-out infinite alternate}
@keyframes hover-float{from{transform:translateY(0)}to{transform:translateY(-12px)}}

/* ============ Footer ============ */
.site-footer{margin-top:clamp(64px,7vw,96px);background:var(--gray-bg);padding-block:32px}
.site-footer .row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer nav{display:flex;gap:28px;flex-wrap:wrap;font-size:16px;color:var(--ink-2)}
.site-footer nav a{position:relative}
.site-footer nav a::after{content:"";position:absolute;inset-inline:0;bottom:-3px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-out)}
.site-footer nav a:hover{color:var(--ink)}
.site-footer nav a:hover::after{transform:scaleX(1)}
.site-footer .logo img{height:40px}

/* ============ Scroll reveal ============ */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--rd,0s)}
.reveal.in{opacity:1;transform:none}
.reveal-media{clip-path:inset(12% 8% 12% 8% round 40px);transition:clip-path 1.3s var(--ease-out),transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.reveal-media.in{clip-path:inset(0 0 0 0 round var(--radius-lg))}
.reveal-media.in img{transform:scale(1) translateY(var(--py,0px))}

/* ============ Responsive ============ */
@media (max-width: 900px){
  .feature,.feature.flip{grid-template-columns:1fr}
  .feature .feature-text,.feature.flip .feature-text{order:-1}
  .feature.flip .feature-media{order:0}
  .cta-card{grid-template-columns:1fr;text-align:center;padding-top:0}
  .cta-phone{order:-1;margin-top:-90px;width:170px}
  .cta-text{padding-block:28px 44px;justify-self:center}
}
@media (max-width: 720px){
  body{font-size:17px}
  .site-header .bar{height:68px}
  .logo{font-size:21px}
  .logo img{height:28px}
  .site-header .btn{height:50px;padding:0 18px;font-size:14px}
  .site-header .btn .long{display:none}
  .hero{padding-top:108px}
  .hero-bg{height:500px}
  .bubble.m-hide{display:none}
  .bubble{width:calc(var(--d) * 1.9);left:var(--mx,var(--x));top:var(--my,var(--y))}
  .hero-phone{width:260px}
  .hero-spacer{height:calc(260px * 1.84 * .24 + 32px)}
  .stage{aspect-ratio:auto;min-height:440px}
  .orb{width:120%}
  .prompt{width:calc(100% - 32px);height:58px;padding-inline:10px 16px;gap:10px}
  .prompt .send{width:38px;height:38px}
  .prompt .typed{font-size:16px}
  .play-hint{inset-inline-start:16px;inset-block-end:16px;font-size:14px}
  .qa button{padding:18px;font-size:17px}
  .qa .panel p{padding:0 18px 20px}
  .site-footer .row{flex-direction:column-reverse;align-items:center;text-align:center}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal,.reveal-media{opacity:1;transform:none;clip-path:none}
}
