/* Iris — monochrome editorial. Change the look from these tokens. */
:root{
  --bg:#000;
  --text:#fff;
  --muted:#8f8f8f;
  --line:#2a2a2a;
  --accent:#fff;
  --accent-ink:#000;
  --good:#9BFFB0;       /* light green: used for every positive moment */
  --pad:clamp(20px,4vw,48px);
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}
.light{--bg:#ececec;--text:#000;--muted:#5c5c5c;--line:#c8c8c8;--accent:#000;--accent-ink:#fff}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:#000;color:#fff;font-size:16px;line-height:1.5;font-weight:400;
  padding-bottom:84px;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
ul,ol{list-style:none}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}

h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1.02}
h1{font-size:clamp(2.7rem,9.4vw,7rem);font-weight:300;letter-spacing:-.04em;max-width:14ch;margin:0 auto}
h2{font-size:clamp(2rem,5.4vw,4rem);font-weight:300;letter-spacing:-.045em;max-width:16ch}
h3{font-size:1.2rem;letter-spacing:-.02em;line-height:1.2;font-weight:500}
.label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lead{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--muted);max-width:44ch}
.fine{color:var(--muted);font-size:.9rem;margin-top:28px}

/* Sections */
.sec{background:var(--bg);color:var(--text);padding:clamp(72px,11vw,140px) var(--pad)}
.head{display:grid;gap:18px;margin-bottom:clamp(40px,6vw,72px)}
@media (min-width:900px){.head{grid-template-columns:1fr 2fr;align-items:start}}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px var(--pad);mix-blend-mode:difference;color:#fff}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo img{display:block;height:34px;width:auto;mix-blend-mode:screen}
.nav-links{display:none;gap:28px;font-size:.9rem}
.nav-links a,.nav-cta{text-decoration:none}
.nav-cta{font-size:.9rem;font-weight:500;border:1px solid #fff;border-radius:999px;padding:9px 16px;transition:background .2s,color .2s}

/* Buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font:inherit;font-weight:500;
  padding:15px 26px;min-height:52px;border-radius:999px;text-decoration:none;cursor:pointer;
  transition:transform .16s var(--ease-out),background .2s,color .2s}
.btn:active{transform:scale(.97)}
.btn-ghost{background:transparent;color:var(--text)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(128,128,128,.35) 50%,transparent 70%);
  transform:translateX(-120%);pointer-events:none}
.more{display:inline-flex;gap:6px;margin-top:24px;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;align-self:flex-start}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* Hero */
.hero{position:relative;isolation:isolate;background:#000;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:110px var(--pad) 72px;overflow:hidden;
  background:radial-gradient(520px circle at var(--hx,72%) var(--hy,30%),rgba(255,255,255,.07),transparent 65%),#000}
.hero-grid{position:relative;z-index:2;width:100%;max-width:1360px;margin:0 auto;display:grid;gap:44px;align-items:center}
.hero-inner{display:grid;justify-items:start;gap:26px}
.hero h1{font-size:clamp(2.6rem,6.6vw,5.8rem);max-width:12ch;margin:0}
@media (min-width:960px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:56px}}
.hero::before,.hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(30px);
  background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent 70%);will-change:transform}
.hero::before{width:640px;height:640px;top:-240px;right:-140px;animation:drift1 18s var(--ease-in-out) infinite alternate}
.hero::after{width:500px;height:500px;bottom:-220px;left:-160px;opacity:.7;animation:drift2 22s var(--ease-in-out) infinite alternate}
@keyframes drift1{to{transform:translate3d(-80px,60px,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(90px,-50px,0) scale(1.15)}}

/* Hero media: the animated logo sits where the wireframe puts the image */
.hero-media{position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden;aspect-ratio:5/4;
  display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 50%,#161616,#000 75%);
  animation:fadeIn 1.2s var(--ease-out) .5s backwards}
.logo-video{display:block;width:96%;height:auto;mix-blend-mode:screen}
.corner{position:absolute;width:14px;height:14px;border:1px solid #555;opacity:.9}
.corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}.corner.tr{top:14px;right:14px;border-left:0;border-bottom:0}
.corner.bl{bottom:14px;left:14px;border-right:0;border-top:0}.corner.br{bottom:14px;right:14px;border-left:0;border-top:0}
@keyframes fadeIn{from{opacity:0;filter:blur(8px)}}
/* Hero entrance */
[data-split] .w{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.4em);
  animation:wordIn .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * 60ms + 150ms)}
@keyframes wordIn{to{opacity:1;filter:blur(0);transform:none}}
.hero .label,.hero .lead,.hero .cta-row{opacity:0;animation:rise .9s var(--ease-out) forwards}
.hero .label{animation-delay:.05s}.hero .lead{animation-delay:.8s}.hero .cta-row{animation-delay:.95s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Proof row */
.proof{background:#000;border-block:1px solid var(--line)}
.proof-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px clamp(20px,5vw,64px);padding:20px var(--pad);
  font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* Old → New */
.vs{display:grid;gap:0;border-top:1px solid var(--line)}
.vs-col{padding:32px 0;border-bottom:1px solid var(--line)}
.vs-col h3{font-size:1.5rem;font-weight:400;margin-bottom:20px}
.vs-col ul{display:grid;gap:12px;font-size:1.05rem}
.vs-col{position:relative;transition:background .4s var(--ease-out)}
.vs-col li span{background:linear-gradient(currentColor,currentColor) no-repeat 0 58%/0% 1px;
  transition:background-size .55s var(--ease-out),color .4s;transition-delay:calc(var(--n,0) * 90ms)}
.vs-col.old{color:#cfcfcf}
.vs-col.new{color:#b5b5b5}
.vs-col.new li::before{content:"✓";margin-right:12px;display:inline-block;transition:transform .4s var(--ease-out),text-shadow .4s}
/* Old way: hover (or tap/scroll on touch) strikes every line through */
.vs-col.old.on li span{background-size:100% 1px;color:#6b6b6b}
/* New way: hover lights it up */
.vs-col.new{transition:color .4s,background .4s,text-shadow .4s}
.vs-col.new.on{color:#fff;text-shadow:0 0 22px rgba(255,255,255,.35);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.13),transparent 65%)}
.vs-col.new.on li::before{transform:scale(1.25);text-shadow:0 0 14px #fff}
@media (min-width:760px){
  .vs{grid-template-columns:1fr 1fr}
  .vs-col{padding:40px 40px 40px 0;border-bottom:0}
  .vs-col.new{padding-left:40px;border-left:1px solid var(--line)}
}
/* Align with the heading column (same 1fr / 2fr grid as .head) */


/* Hairline columns (benefits, steps, deliverables, prices) */
.cols{display:grid;border-top:1px solid var(--line)}
.col{padding:28px 0;border-bottom:1px solid var(--line)}
.col h3{margin-bottom:10px}
.col p{color:var(--muted);max-width:30ch}
.idx{display:block;font-family:var(--mono);font-size:.72rem;color:var(--muted);letter-spacing:.1em;margin-bottom:28px}
@media (min-width:760px){
  .cols-4{grid-template-columns:repeat(2,1fr)}
  .cols-3{grid-template-columns:repeat(3,1fr)}
  .col{padding:32px 28px 40px;border-bottom:0;border-left:1px solid var(--line)}
  .col:first-child{border-left:0;padding-left:0}
}
@media (min-width:960px){.cols-4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:760px) and (max-width:959px){
  .cols-4 .col:nth-child(odd){border-left:0;padding-left:0}
  .cols-4 .col:nth-child(n+3){border-top:1px solid var(--line)}
}

/* FAQ */
.faq{max-width:820px;margin-left:auto;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;
  font-size:1.2rem;letter-spacing:-.02em;min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.6rem;font-weight:300;transition:transform .25s var(--ease-out)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);padding-top:12px;max-width:56ch}

/* Contact */
.contact-grid{display:grid;gap:40px}
.contact-lines{margin-top:28px;font-size:1.1rem;line-height:2}
.contact-lines a{text-underline-offset:4px}
.form{display:grid;gap:18px}
.form label{display:grid;gap:8px;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.form input,.form textarea{width:100%;font:inherit;font-size:16px;letter-spacing:0;text-transform:none;color:var(--text);
  background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;min-height:46px;border-radius:0}
.form input:focus,.form textarea:focus{outline:0;border-bottom-color:#fff}
.form .btn{justify-self:start}
.hp,.form input.hp{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
.form-msg{min-height:1.2em;font-size:.9rem;color:var(--muted)}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr}}

/* Footer */
.foot{background:#000;padding:32px var(--pad) 0;overflow:hidden;border-top:1px solid var(--line)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--muted)}
.foot-row a{text-decoration:none}

/* Sticky CTA (phones) */
.sticky-cta{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;background:#fff;color:#000;
  text-align:center;text-decoration:none;font-weight:500;padding:16px;border-radius:999px;box-shadow:0 10px 40px rgba(255,255,255,.12);
  transform:translateY(140%);transition:transform .3s var(--ease-out)}
.sticky-cta.show{transform:none}

/* Scroll progress */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;pointer-events:none;mix-blend-mode:difference}
.progress i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left;will-change:transform}

/* Reveal on scroll */
.js .reveal{opacity:0;filter:blur(8px);transform:translateY(22px);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out),filter .8s var(--ease-out);
  transition-delay:calc(var(--d,0) * 80ms)}
.js .reveal.in{opacity:1;filter:none;transform:none}

/* Hover (mouse only) */
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px)}
  .btn:hover::after{transform:translateX(120%);transition:transform .7s var(--ease-out)}
  .btn-ghost:hover{background:var(--text);color:var(--bg)}
  .nav-cta:hover{background:#fff;color:#000}
  .nav-links a,.more,.contact-lines a,.foot-row a{transition:opacity .2s}
  .nav-links a:hover,.more:hover,.contact-lines a:hover,.foot-row a:hover{opacity:.6}
}
@media (min-width:760px){.nav-links{display:flex}}
@media (min-width:960px){body{padding-bottom:0}.sticky-cta{display:none}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  [data-split] .w,.hero .label,.hero .lead,.hero .cta-row,.fc{opacity:1;filter:none;transform:none}
  .js .reveal{opacity:1;filter:none;transform:none}
}


/* ---- v4: spotlight, polish ---- */
[data-spot]{--mx:50%;--my:50%}
@media (hover:hover) and (pointer:fine){
  .col,.price:not(.featured){transition:background .4s var(--ease-out)}
  .col:hover,.price:not(.featured):hover{background:radial-gradient(380px circle at var(--mx) var(--my),rgba(128,128,128,.14),transparent 65%)}
  .btn span,.more span,.nav-cta span{display:inline-block;transition:transform .3s var(--ease-out)}
  .btn:hover span,.more:hover span,.nav-cta:hover span{transform:translate(2px,-2px)}
  .hero-media:hover{border-color:#555}
}
.col,.price{transition:background .4s}
.price.featured{transition:transform .35s var(--ease-out)}
.hero-media{transition:border-color .4s}
@media (prefers-reduced-motion:reduce){.vs-col li span{transition:none}}


/* ---- v5: light green for positives + demo ads ---- */
.light{--good:#1FA24A}
.proof-row li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good);margin-right:10px;box-shadow:0 0 12px var(--good)}
.vs-col.new li::before{color:var(--good)}
.vs-col.new.on{text-shadow:0 0 22px rgba(155,255,176,.35);background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),rgba(155,255,176,.14),transparent 65%)}
.vs-col.new.on li::before{text-shadow:0 0 16px var(--good)}
.vs-col.new.on h3{color:var(--good)}
.tagline{background:var(--good);color:#06210F;border-color:var(--good)}
.form-msg.ok{color:var(--good)}

/* proof row: bigger */
.proof-row{padding:38px var(--pad);gap:18px clamp(28px,6vw,88px);font-size:clamp(1.05rem,2vw,1.4rem);letter-spacing:.12em}
.proof-row li{color:#d8d8d8}
.proof-row li::before{width:12px;height:12px;margin-right:14px}

/* demo work: centered, one brand at a time */
.head.center{grid-template-columns:1fr;justify-items:center;text-align:center}
.head.center h2{max-width:none}
.center-lead{margin:-28px auto clamp(28px,4vw,44px);text-align:center}
.tabs{display:flex;gap:6px;margin:0 auto clamp(36px,5vw,56px);padding:6px;border:1px solid var(--line);border-radius:999px;width:fit-content}
.tabs button{font:inherit;font-weight:500;color:var(--muted);background:transparent;border:0;border-radius:999px;padding:12px 30px;min-height:44px;cursor:pointer;transition:background .25s var(--ease-out),color .25s}
.tabs button[aria-selected=true]{background:#fff;color:#000}
.panel{display:grid;justify-items:center;gap:30px;animation:panelIn .6s var(--ease-out)}
.panel[hidden]{display:none}
@keyframes panelIn{from{opacity:0;transform:translateY(16px)}}
.bundle{display:grid;gap:32px;align-items:center;justify-items:center;width:100%}
.phone-frame{position:relative;width:min(72vw,300px);aspect-ratio:9/16;border-radius:34px;padding:8px;background:#1b1b1b;border:1px solid #3a3a3a;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8);cursor:pointer;transition:transform .5s var(--ease-out),border-color .4s}
.phone-frame video{display:block;width:100%;height:100%;object-fit:cover;border-radius:27px;background:#000}
.play-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);padding:8px 16px;border-radius:999px;background:rgba(0,0,0,.7);
  backdrop-filter:blur(6px);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:opacity .3s}
.phone-frame.playing .play-hint{opacity:0}
.browser{display:block;width:min(100%,560px);border:1px solid #3a3a3a;border-radius:16px;overflow:hidden;background:#111;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.8);text-decoration:none;transition:transform .5s var(--ease-out),border-color .4s}
.browser .bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#1b1b1b;border-bottom:1px solid #2c2c2c}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:#444}
.browser .bar span{margin-left:10px;font-family:var(--mono);font-size:.7rem;color:var(--muted)}
.browser img{display:block;width:100%;height:auto}
.browser .open{display:block;padding:15px 16px;text-align:center;font-weight:500;border-top:1px solid #2c2c2c}
.cap{text-align:center;color:var(--muted)}
.cap b{display:block;color:#fff;font-weight:500;font-size:1.15rem;margin-bottom:2px}
@media (min-width:900px){.bundle{grid-template-columns:300px minmax(0,560px);justify-content:center;gap:clamp(48px,6vw,96px)}}
@media (hover:hover) and (pointer:fine){.phone-frame:hover,.browser:hover{transform:translateY(-8px);border-color:#777}}
@media (prefers-reduced-motion:reduce){.panel{animation:none}}


/* ---- v6: pricing (popcorn pricing + upsell / cross-sell / downsell) ---- */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.plans{display:grid;gap:16px}
.plan{position:relative;display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:24px;background:#0b0b0b;
  transition:transform .45s var(--ease-out),border-color .35s,box-shadow .45s,background .35s}
.plan h3{font-size:1.3rem}
.plan .for{color:var(--muted);font-size:.92rem;margin:2px 0 22px}
.amount{display:flex;align-items:baseline;gap:4px;font-size:clamp(3.4rem,6vw,4.8rem);font-weight:300;letter-spacing:-.05em;line-height:1;
  font-variant-numeric:tabular-nums;transition:color .3s,text-shadow .3s}
.amount .cur{font-size:.5em;color:var(--muted);letter-spacing:0}
.inc{display:grid;gap:12px;margin:26px 0 22px;padding-top:22px;border-top:1px solid var(--line);flex:1;align-content:start}
.inc li{display:flex;gap:12px;align-items:baseline;color:var(--muted);transition:color .3s;transition-delay:calc(var(--i) * 45ms)}
.inc li::before{content:"✓";display:inline-block;width:1.1em;color:#6a6a6a;transition:color .3s,transform .4s var(--ease-out);transition-delay:calc(var(--i) * 45ms)}
.inc li.no{opacity:.4}
.inc li.no::before{content:"–"}
.tag{position:absolute;top:26px;right:26px;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;
  background:var(--good);color:#06210F;border-radius:999px;padding:5px 12px;font-weight:600}
.plan.featured{border:1px solid transparent;
  background:linear-gradient(#0e0e0e,#0e0e0e) padding-box,conic-gradient(from var(--ang),var(--good),#2a2a2a 30%,#fff 55%,#2a2a2a 80%,var(--good)) border-box;
  animation:spin 7s linear infinite}
@keyframes spin{to{--ang:360deg}}

/* cross-sell add-on */
.addon{position:relative;display:block;margin-bottom:14px;cursor:pointer}
.addon input{position:absolute;opacity:0;pointer-events:none}
.addon span{display:inline-flex;align-items:center;gap:10px;border:1px dashed #3d3d3d;border-radius:999px;padding:10px 16px;font-size:.9rem;
  color:var(--muted);transition:border-color .25s,background .25s,color .25s}
.addon span::before{content:"+";font-weight:600;color:var(--good);width:.8em;text-align:center}
.addon b{color:var(--text);font-weight:500}
.addon input:checked + span{border-style:solid;border-color:var(--good);background:rgba(155,255,176,.12);color:#fff}
.addon input:checked + span::before{content:"✓"}
.addon input:focus-visible + span{outline:2px solid var(--good);outline-offset:3px}

.plan-cta{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid #3d3d3d;border-radius:999px;padding:16px;
  font-weight:500;text-decoration:none;min-height:52px;transition:background .3s,color .3s,border-color .3s,transform .16s var(--ease-out)}
.plan-cta:active{transform:scale(.97)}
.plan.featured .plan-cta{background:var(--good);color:#06210F;border-color:var(--good)}
.upsell{background:none;border:0;padding:0;margin-top:16px;text-align:left;font:inherit;font-size:.86rem;color:var(--muted);cursor:pointer;
  transition:color .25s}
.upsell:hover{color:var(--good);text-decoration:underline;text-underline-offset:4px}
.nudge{animation:nudge 1.1s ease-in-out 2}
@keyframes nudge{50%{box-shadow:0 0 0 10px rgba(155,255,176,.22),0 0 60px rgba(155,255,176,.25)}}

/* downsell */
.downsell{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:34px auto 0;padding:16px 24px;width:fit-content;max-width:100%;
  border:1px dashed #3d3d3d;border-radius:999px;color:var(--muted);text-align:center}
.downsell button{background:none;border:0;font:inherit;font-weight:500;color:#fff;cursor:pointer;border-bottom:1px solid var(--good);padding:2px 0;transition:color .25s}
.downsell button:hover{color:var(--good)}
.plans + .downsell + .fine{text-align:center}
.picked{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--good);border:1px solid rgba(155,255,176,.4);border-radius:12px;padding:12px 16px;background:rgba(155,255,176,.07)}

@media (max-width:899px){.plan.featured{order:-1}}
@media (min-width:900px){.plans{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px}.plan.featured{transform:translateY(-14px)}}
@media (hover:hover) and (pointer:fine){
  .plan:hover{transform:translateY(-8px);border-color:rgba(155,255,176,.55);
    background:radial-gradient(420px circle at var(--mx) var(--my),rgba(155,255,176,.11),transparent 60%),#0b0b0b;
    box-shadow:0 30px 60px -30px rgba(155,255,176,.28)}
  .plan.featured:hover{transform:translateY(-22px);
    background:radial-gradient(420px circle at var(--mx) var(--my),rgba(155,255,176,.13),transparent 60%) padding-box,linear-gradient(#0e0e0e,#0e0e0e) padding-box,conic-gradient(from var(--ang),var(--good),#2a2a2a 30%,#fff 55%,#2a2a2a 80%,var(--good)) border-box;
    box-shadow:0 40px 80px -30px rgba(155,255,176,.4)}
  .plan:hover .amount{color:var(--good);text-shadow:0 0 30px rgba(155,255,176,.35)}
  .plan:hover .inc li{color:#fff}
  .plan:hover .inc li::before{color:var(--good);transform:scale(1.3)}
  .plan:hover .inc li.no{color:var(--muted)}
  .plan:hover .inc li.no::before{color:#6a6a6a;transform:none}
  .plan:hover .plan-cta{background:var(--good);color:#06210F;border-color:var(--good)}
  .plan:hover .plan-cta span{transform:translate(2px,-2px)}
}
.plan-cta span{display:inline-block;transition:transform .3s var(--ease-out)}
@media (prefers-reduced-motion:reduce){.plan.featured{animation:none}.nudge{animation:none}}


/* ---- v7: centered comparison ---- */
.vs{position:relative;max-width:1040px;margin:0 auto;border-top:1px solid var(--line)}
.vs-col{padding:34px 4px;text-align:left}
.vs-tag{display:inline-block;margin-bottom:14px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--muted);transition:color .3s,border-color .3s,background .3s}
.vs-col.new.on .vs-tag{color:#06210F;background:var(--good);border-color:var(--good)}
.vs-col.old.on .vs-tag{color:#fff;border-color:#777}
.vs-col.old li::before{content:"✕";display:inline-block;margin-right:12px;color:#5f5f5f;transition:color .3s}
.vs-col.old.on li::before{color:#8a8a8a}
.vs-arrow{display:none}
.vs-hint{margin-top:22px;text-align:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.8}
@media (min-width:760px){
  .vs{grid-template-columns:1fr 1fr}
  .vs-col{padding:48px 48px}
  .vs-col.old{padding-left:0}
  .vs-col.new{padding-left:56px;border-left:1px solid var(--line)}
  .vs-arrow{display:grid;place-items:center;position:absolute;left:50%;top:0;width:48px;height:48px;border-radius:50%;
    transform:translate(-50%,-50%);background:#000;border:1px solid var(--line);font-size:1.1rem;color:#fff;z-index:2}
}


/* ---- v8: the middle plan is THE plan ---- */
.plan.featured .for{margin-bottom:10px}
.worth{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:14px;font-size:.88rem;color:var(--muted)}
.worth s{color:#8a8a8a;text-decoration-thickness:1.5px}
.worth em{font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(155,255,176,.14);color:var(--good);border:1px solid rgba(155,255,176,.45);border-radius:999px;padding:3px 10px}
.plan.featured .amount{color:var(--good);text-shadow:0 0 36px rgba(155,255,176,.28)}
.plan.alt .amount,.plan:first-child .amount{color:#cfcfcf}
.plan.alt,.plan:first-child{background:#080808}
.assure{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:14px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted)}
.assure li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--good);margin-right:8px;vertical-align:middle}
.gap{margin-top:16px;font-size:.86rem;color:var(--muted)}
.steer{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(155,255,176,.45);border-radius:14px;background:rgba(155,255,176,.08);font-size:.88rem;color:#e8e8e8;
  animation:panelIn .4s var(--ease-out)}
.steer[hidden]{display:none}
.steer b{color:var(--good);font-weight:600}
.steer button{display:block;margin-top:6px;background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--good);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:#fff;cursor:pointer;border-bottom:1px solid var(--good)}
.linkbtn:hover{color:var(--good)}
.plan.featured{animation:spin 7s linear infinite,glow 3.6s ease-in-out infinite alternate}
@keyframes glow{from{box-shadow:0 30px 80px -44px rgba(155,255,176,.12)}to{box-shadow:0 30px 90px -36px rgba(155,255,176,.38)}}
.plan.featured .plan-cta{min-height:60px;font-size:1.05rem;box-shadow:0 0 40px rgba(155,255,176,.3)}
@media (min-width:900px){
  .plan.featured{transform:translateY(-16px) scale(1.04);z-index:2}
  .plan:not(.featured){align-self:center}
}
@media (hover:hover) and (pointer:fine){
  .plan.featured:hover{transform:translateY(-24px) scale(1.05)}
  .plan.alt:hover .amount,.plan:first-child:hover .amount{color:var(--good)}
}
@media (prefers-reduced-motion:reduce){.plan.featured{animation:none}}


/* ---- v9: language agent, nav, RTL, distinct hover green for the recommended plan ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* nav: solid dark bar (no blend) so logo and flags keep their real colors */
.nav{mix-blend-mode:normal;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #1c1c1c}
.lang-btn{margin-inline-start:auto;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid #fff;color:#fff;border-radius:999px;
  padding:6px 12px 6px 8px;min-height:40px;font:inherit;cursor:pointer;transition:background .25s}
.lang-btn .flag{display:block;width:26px;height:18px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.lang-btn .flag svg,.agent-lang .flag svg{display:block;width:100%;height:100%}
.lang-btn .code{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em}
@media (hover:hover) and (pointer:fine){.lang-btn:hover{background:rgba(255,255,255,.14)}}
@media (max-width:759px){.nav-cta{display:none}}
@media (min-width:760px){.nav-links{position:absolute;left:50%;transform:translateX(-50%)}}

/* welcome agent */
.agent{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;overflow:auto;background:rgba(0,0,0,.94);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:agentIn .25s var(--ease-out)}
.agent[hidden],.agent-langs[hidden],.agent-skip[hidden]{display:none}
.agent.closing{opacity:0;transition:opacity .3s;pointer-events:none}
@keyframes agentIn{from{opacity:0}}
body.agent-open{overflow:hidden}
.agent-card{width:min(100%,560px);display:grid;gap:26px;justify-items:center;text-align:center}
.agent-logo{width:min(58vw,220px);height:auto;mix-blend-mode:screen;animation:logoIn .35s var(--ease-out) both}
@keyframes logoIn{from{opacity:0;transform:scale(.96)}}
.agent-chat{width:100%;display:grid;gap:12px;justify-items:start}
.msg{display:flex;align-items:flex-end;gap:10px;animation:msgIn .3s var(--ease-out)}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
.msg .av{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111;border:1px solid #333}
.msg .av img{width:20px;height:20px;object-fit:contain}
.msg p{background:#141414;border:1px solid #2c2c2c;border-radius:18px 18px 18px 6px;padding:12px 18px;font-size:1.05rem;text-align:start;color:#fff}
.msg.typing p{display:flex;gap:5px;padding:17px 18px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:#777;animation:dot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.agent-langs{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:520px){.agent-langs{grid-template-columns:repeat(3,1fr)}}
.agent-lang{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #2c2c2c;border-radius:16px;background:#0c0c0c;color:#fff;
  font:inherit;font-weight:500;cursor:pointer;
  transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),border-color .25s,background .25s;transition-delay:calc(var(--i) * 30ms)}
.agent-langs:not(.show) .agent-lang{opacity:0;transform:translateY(14px)}
.agent-lang .flag{flex:none;display:block;width:34px;height:23px;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.agent-lang[aria-current=true]{border-color:var(--good)}
.agent-lang.chosen{border-color:var(--good);background:rgba(155,255,176,.12)}
.agent-lang:disabled:not(.chosen){opacity:.3}
.agent-lang:focus-visible{outline:2px solid var(--good);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .agent-langs.show .agent-lang:not(:disabled):hover{border-color:var(--good);background:rgba(155,255,176,.08);transform:translateY(-3px);transition-delay:0s}
}
.agent-skip{background:none;border:0;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;padding:8px}
@media (prefers-reduced-motion:reduce){.agent,.agent-logo,.msg{animation:none}.agent-lang{transition:none}}

/* Arabic: right-to-left, joined letters (no tracking), Arabic font */
html[lang=ar]{--mono:"Noto Sans Arabic",system-ui,sans-serif}
html[lang=ar] body,html[lang=ar] button,html[lang=ar] input,html[lang=ar] textarea,html[lang=ar] select{font-family:"Noto Sans Arabic",Inter,system-ui,sans-serif}
html[lang=ar] *,html[lang=ar] *::before{letter-spacing:0!important;text-transform:none!important}
html[dir=rtl] .tag{right:auto;left:26px}
html[dir=rtl] .vs-col{text-align:right}
html[dir=rtl] .faq{margin-left:0;margin-right:auto}
html[dir=rtl] .msg p{border-radius:18px 18px 6px 18px}
@media (min-width:760px){
  html[dir=rtl] .vs-col.old{padding-left:48px;padding-right:0}
  html[dir=rtl] .vs-col.new{padding-left:48px;padding-right:56px;border-left:0;border-right:1px solid var(--line)}
  html[dir=rtl] .col{border-left:0;border-right:1px solid var(--line)}
  html[dir=rtl] .col:first-child{border-right:0;padding-right:0;padding-left:28px}
}

/* recommended plan: its own green (lime) so it is clearly different from the mint of the other two */
.plan.featured{--pg:#D4FF5E;--pgr:212,255,94}
.plan.featured .amount{color:var(--pg);text-shadow:0 0 36px rgba(var(--pgr),.3)}
.plan.featured .tag{background:var(--pg);color:#1c2600}
.plan.featured{background:linear-gradient(#0e0e0e,#0e0e0e) padding-box,conic-gradient(from var(--ang),var(--pg),#2a2a2a 30%,#fff 55%,#2a2a2a 80%,var(--pg)) border-box;
  animation:spin 7s linear infinite,glow2 3.6s ease-in-out infinite alternate}
@keyframes glow2{from{box-shadow:0 30px 80px -44px rgba(var(--pgr),.12)}to{box-shadow:0 30px 90px -36px rgba(var(--pgr),.4)}}
.plan.featured.nudge{animation:spin 7s linear infinite,nudgeL 1.1s ease-in-out 2}
@keyframes nudgeL{50%{box-shadow:0 0 0 10px rgba(var(--pgr),.22),0 0 60px rgba(var(--pgr),.3)}}
.plan.featured .plan-cta{background:var(--pg);border-color:var(--pg);color:#1c2600;box-shadow:0 0 40px rgba(var(--pgr),.3)}
.plan.featured .worth em{background:rgba(var(--pgr),.14);color:var(--pg);border-color:rgba(var(--pgr),.45)}
.plan.featured .assure li::before{background:var(--pg)}
.plan.featured .addon span::before{color:var(--pg)}
.plan.featured .addon input:checked + span{border-color:var(--pg);background:rgba(var(--pgr),.12)}
.plan.featured .upsell:hover{color:var(--pg)}
@media (hover:hover) and (pointer:fine){
  .plan.featured:hover{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(var(--pgr),.15),transparent 60%) padding-box,linear-gradient(#0e0e0e,#0e0e0e) padding-box,
    conic-gradient(from var(--ang),var(--pg),#2a2a2a 30%,#fff 55%,#2a2a2a 80%,var(--pg)) border-box;box-shadow:0 40px 80px -30px rgba(var(--pgr),.5)}
  .plan.featured:hover .amount{color:var(--pg);text-shadow:0 0 40px rgba(var(--pgr),.5)}
  .plan.featured:hover .inc li::before{color:var(--pg)}
  .plan.featured:hover .plan-cta{background:var(--pg);color:#1c2600;border-color:var(--pg)}
}
@media (prefers-reduced-motion:reduce){.plan.featured,.plan.featured.nudge{animation:none}}

/* RTL: prices stay readable */
html[dir=rtl] .amount,html[dir=rtl] b,html[dir=rtl] s{direction:ltr;unicode-bidi:isolate}


/* ---- v10: UGC demo (sound toggle) ---- */
@media (min-width:900px){.bundle.solo{grid-template-columns:300px}}
.snd{position:absolute;right:20px;bottom:22px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;
  transition:transform .2s var(--ease-out),background .25s,border-color .25s}
.snd:active{transform:scale(.94)}
.snd .i-on{display:none}
.snd[aria-pressed=true] .i-on{display:block}
.snd[aria-pressed=true] .i-off{display:none}
.snd[aria-pressed=true]{background:var(--good);color:#06210F;border-color:var(--good)}
.snd:focus-visible{outline:2px solid var(--good);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.snd:hover{transform:scale(1.08);border-color:#fff}.snd[aria-pressed=true]:hover{border-color:var(--good)}}


/* ---- v11: demo categories + everything lights up on hover ---- */
:root{--gl:155,255,176}          /* glow color (light green) */
.light{--gl:31,162,74}           /* darker green so the glow stays visible on light sections */

.cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 16px}
.cats button{font:inherit;font-weight:500;font-size:1.05rem;padding:14px 28px;min-height:50px;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--muted);cursor:pointer;
  transition:background .3s var(--ease-out),border-color .3s,color .3s,box-shadow .3s}
.cats button[aria-selected=true]{background:rgba(155,255,176,.12);border-color:var(--good);color:#fff}
.cat-desc{text-align:center;color:var(--muted);margin:0 auto clamp(24px,4vw,36px);max-width:46ch}
.tabs[hidden],.tabs button[hidden]{display:none}

/* transitions extended with box-shadow / text-shadow so the glow fades in */
.btn{transition:transform .16s var(--ease-out),background .2s,color .2s,box-shadow .3s}
.nav-cta{transition:background .2s,color .2s,box-shadow .3s}
.lang-btn{transition:background .25s,box-shadow .3s}
.tabs button{transition:background .25s var(--ease-out),color .25s,box-shadow .3s}
.plan-cta{transition:background .3s,color .3s,border-color .3s,transform .16s var(--ease-out),box-shadow .3s}
.addon span{transition:border-color .25s,background .25s,color .25s,box-shadow .3s}
.phone-frame,.browser{transition:transform .5s var(--ease-out),border-color .4s,box-shadow .5s}
.downsell{transition:box-shadow .3s,border-color .3s}
.nav-links a,.foot-row a,.contact-lines a,.more,.linkbtn,.upsell{transition:color .25s,text-shadow .3s,opacity .2s}
.proof-row li{transition:color .3s,text-shadow .3s}
.proof-row li::before{transition:box-shadow .3s,transform .3s var(--ease-out)}
details,details summary,details summary::after{transition:border-color .3s,text-shadow .3s,color .3s,transform .25s var(--ease-out)}
.form input,.form textarea{transition:border-color .3s,box-shadow .3s}
.logo img{transition:filter .3s}
.col h3,.col .idx{transition:text-shadow .3s,color .3s}

.form input:focus,.form textarea:focus{border-bottom-color:rgb(var(--gl));box-shadow:0 10px 22px -14px rgba(var(--gl),.7)}

@media (hover:hover) and (pointer:fine){
  /* buttons, pills, tabs */
  .btn:hover,.nav-cta:hover,.lang-btn:hover,.tabs button:hover,.cats button:hover,.plan-cta:hover,.addon:hover span,.downsell:hover{
    box-shadow:0 0 0 1px rgba(var(--gl),.55),0 0 28px rgba(var(--gl),.38)}
  .cats button:hover{border-color:rgba(var(--gl),.8);color:#fff}
  .tabs button:hover:not([aria-selected=true]){color:#fff}
  .addon:hover span{border-color:rgba(var(--gl),.7);color:#fff}
  /* text links */
  .nav-links a:hover,.foot-row a:hover,.contact-lines a:hover,.more:hover,.linkbtn:hover,.upsell:hover{
    opacity:1;color:rgb(var(--gl));text-shadow:0 0 18px rgba(var(--gl),.65)}
  .logo:hover img{filter:drop-shadow(0 0 14px rgba(255,255,255,.6))}
  /* proof row */
  .proof-row li:hover{color:#fff;text-shadow:0 0 18px rgba(var(--gl),.7)}
  .proof-row li:hover::before{transform:scale(1.5);box-shadow:0 0 20px rgb(var(--gl)),0 0 6px rgb(var(--gl))}
  /* cards (benefits, steps, deliverables) get a green spotlight that follows the cursor */
  .col:hover{background:radial-gradient(380px circle at var(--mx) var(--my),rgba(var(--gl),.14),transparent 65%)}
  .col:hover h3{text-shadow:0 0 22px rgba(var(--gl),.5)}
  .col:hover .idx{color:rgb(var(--gl))}
  /* FAQ */
  details:hover{border-bottom-color:rgba(var(--gl),.65)}
  details:hover summary{text-shadow:0 0 22px rgba(var(--gl),.5)}
  details:hover summary::after{color:rgb(var(--gl))}
  /* demo media */
  .phone-frame:hover,.browser:hover{border-color:rgba(var(--gl),.75);box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 56px rgba(var(--gl),.3)}
  .hero-media:hover{border-color:rgba(255,255,255,.4);box-shadow:0 0 90px rgba(255,255,255,.12)}
  /* form */
  .form input:hover,.form textarea:hover{border-bottom-color:rgba(var(--gl),.75)}
  .form label:hover{color:rgb(var(--gl))}
  /* language agent */
  .agent-langs.show .agent-lang:not(:disabled):hover{box-shadow:0 0 30px rgba(var(--gl),.3)}
}


/* ---- v12: reviews (animated stars) ---- */
.reviews{background:#050505}
.rev-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin:-20px auto 40px;font-family:var(--mono);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rev-summary[hidden]{display:none}
.rev-summary b{font-family:Inter,system-ui,sans-serif;font-size:2.4rem;font-weight:300;letter-spacing:-.04em;color:#fff}
.rev-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 26px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rev-track::-webkit-scrollbar{display:none}
.rev{position:relative;flex:0 0 min(86vw,380px);scroll-snap-align:center;display:flex;flex-direction:column;gap:22px;padding:32px;border:1px solid var(--line);
  border-radius:24px;background:#0b0b0b;overflow:hidden;
  transition:transform .45s var(--ease-out),border-color .35s,box-shadow .45s,background .35s}
.rev::before{content:"\201C";position:absolute;top:-8px;right:22px;font-size:8rem;line-height:1;color:rgba(255,255,255,.05);pointer-events:none}
.rev-tag{align-self:flex-start;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  border:1px dashed #444;border-radius:999px;padding:4px 12px}

.stars{display:flex;gap:6px;direction:ltr}
.star{position:relative;display:block;width:28px;height:28px}
.star svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.star .bg path{fill:none;stroke:#3d3d3d;stroke-width:1.4;stroke-linejoin:round}
.star .fg{clip-path:inset(0 100% 0 0);filter:drop-shadow(0 0 7px rgba(var(--gl),.7))}
.star .fg path{fill:rgb(var(--gl))}
.rev.in .star .fg{clip-path:inset(0 0 0 0);transition:clip-path .55s var(--ease-out) calc(var(--i) * 150ms + 350ms)}
.rev.in .star{animation:starPop .7s var(--ease-out) calc(var(--i) * 150ms + 350ms) both}
@keyframes starPop{0%{transform:scale(.55) rotate(-18deg)}55%{transform:scale(1.28) rotate(6deg)}100%{transform:none}}
@keyframes starTwinkle{0%,100%{transform:none}40%{transform:scale(1.3) rotate(10deg)}}
.rev blockquote p{font-size:1.18rem;line-height:1.5;color:#ececec;letter-spacing:-.01em}
.rev-foot{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.rev-av{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#151515;border:1px solid #333;font-weight:500;color:#fff}
.rev-foot b{display:block;font-weight:500}
.rev-foot span{display:block;color:var(--muted);font-size:.86rem}
.rev-note{margin-top:8px;text-align:center;color:var(--muted);font-size:.86rem}
.rev-note[hidden]{display:none}

@media (hover:hover) and (pointer:fine){
  .rev:hover{border-color:rgba(var(--gl),.6);opacity:.85;
    background:radial-gradient(420px circle at var(--mx) var(--my),rgba(var(--gl),.12),transparent 60%),#0b0b0b;
    box-shadow:0 30px 60px -30px rgba(var(--gl),.3)}
  .rev:hover .star{animation:starTwinkle .7s var(--ease-in-out) calc(var(--i) * 70ms)}
  .rev:hover .rev-av{border-color:rgb(var(--gl));box-shadow:0 0 22px rgba(var(--gl),.4)}
}
@media (prefers-reduced-motion:reduce){
  .star .fg{clip-path:none;transition:none}.rev.in .star,.rev:hover .star{animation:none}
}


/* sample review image */
.rev-img{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);background:#111}
.rev-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;transition:transform .7s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.rev:hover .rev-img img{transform:scale(1.06)}}

.rev-foot .rev-av{display:grid;place-items:center;color:#fff;font-size:1.05rem;font-weight:500;
  background:linear-gradient(135deg,rgba(var(--gl),.28),#141414 70%);border:1px solid rgba(var(--gl),.4)}


/* ---- v13: reviews carousel ---- */
.rev-img img.top{object-position:50% 0}


/* review translation toggle */
.rev-tr{display:inline-block;margin-top:12px;background:none;border:0;padding:0;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);cursor:pointer;border-bottom:1px dashed #555;transition:color .25s,text-shadow .3s,border-color .25s}
.rev-tr[hidden]{display:none}
.rev-tr:hover,.rev-tr:focus-visible{color:rgb(var(--gl));border-color:rgb(var(--gl));text-shadow:0 0 14px rgba(var(--gl),.6)}
.rev.is-translated blockquote p{animation:trIn .45s var(--ease-out)}
@keyframes trIn{from{opacity:.2;filter:blur(4px)}}
@media (prefers-reduced-motion:reduce){.rev.is-translated blockquote p{animation:none}}

/* carousel: swipe / drag, centred card is enlarged and lit */
.rev-track{position:relative;gap:20px;padding:34px calc(50% - min(82vw,380px) / 2) 40px;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rev-track.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.rev-track.dragging *{pointer-events:none}
.rev{flex:0 0 min(82vw,380px);scroll-snap-align:center;scroll-snap-stop:always;cursor:pointer;
  transform:scale(.93);opacity:.5;filter:saturate(.6)}
.rev.is-active{transform:scale(1.06);opacity:1;filter:none;border-color:rgba(var(--gl),.65);cursor:default;
  background:radial-gradient(420px circle at 50% 0%,rgba(var(--gl),.14),transparent 62%),#0b0b0b;
  box-shadow:0 0 0 1px rgba(var(--gl),.25),0 30px 70px -28px rgba(var(--gl),.45)}
.rev.is-active .rev-av{border-color:rgb(var(--gl));box-shadow:0 0 22px rgba(var(--gl),.4)}
.rev{transition:transform .5s var(--ease-out),opacity .4s,filter .4s,border-color .35s,box-shadow .5s,background .35s}
.rev-nav{display:flex;justify-content:center;gap:14px;margin-top:-6px;direction:ltr}
.rev-arrow{width:46px;height:46px;border-radius:50%;border:1px solid #333;background:#0b0b0b;color:#fff;display:grid;place-items:center;padding:0;
  transition:border-color .25s,box-shadow .3s,color .25s,transform .25s}
.rev-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rev-arrow.left svg{transform:scaleX(-1)}
.rev-arrow:hover,.rev-arrow:focus-visible{border-color:rgb(var(--gl));color:rgb(var(--gl));box-shadow:0 0 22px rgba(var(--gl),.4)}
.rev-arrow:active{transform:scale(.92)}
@media (prefers-reduced-motion:reduce){.rev-track{scroll-behavior:auto}}



/* ---- v14: Apple (macOS-style) cursors, mouse only ---- */
@media (hover:hover) and (pointer:fine){
  html,body{cursor:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2228%22 viewBox=%220 0 16 22%22%3E%3Cpath d=%22M1.5 1.2 L1.5 16.4 L5.4 12.9 L8.1 19.3 L10.9 18.1 L8.2 11.9 L13.4 11.9 Z%22 fill=%22%23000%22 stroke=%22%23fff%22 stroke-width=%221.3%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") 2 2,auto}
  :where(a,button,summary,select,[role=button],[role=tab],[data-pick],label.addon,.btn,.nav-cta,.lang-btn,.plan-cta,.upsell,.linkbtn,.phone-frame,.browser,
         .agent-lang,.agent-skip,.snd,.rev-tr,.rev-arrow,.rev,.seg button,.tabs button,.cats button,.addon,.downsell button,.steer button,input[type=checkbox]){cursor:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2228%22 height=%2228%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M8.9 4a2 2 0 0 1 4 0V10l1.1-.35a1.45 1.45 0 0 1 1.75.7 1.5 1.5 0 0 1 1.75.55 1.5 1.5 0 0 1 1.9.95l.15.5c.25 1 .45 2.4.2 4.2-.35 2.6-2 4.55-4.6 4.55h-1.9c-1.85 0-3.1-.8-4.1-2.2l-2.3-3.3a1.35 1.35 0 0 1 2.05-1.75l1.45 1.6z%22 fill=%22%23000%22 stroke=%22%23fff%22 stroke-width=%221.2%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") 13 3,pointer !important}
  :where(input:not([type=checkbox]):not([type=hidden]),textarea){cursor:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2224%22 viewBox=%220 0 16 24%22%3E%3Cpath d=%22M4.5 3H11.5M8 3V21M4.5 21H11.5%22 stroke=%22%23fff%22 stroke-width=%224%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M4.5 3H11.5M8 3V21M4.5 21H11.5%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") 8 12,text !important}
  :where(button:disabled,.agent-lang:disabled){cursor:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2228%22 viewBox=%220 0 16 22%22%3E%3Cpath d=%22M1.5 1.2 L1.5 16.4 L5.4 12.9 L8.1 19.3 L10.9 18.1 L8.2 11.9 L13.4 11.9 Z%22 fill=%22%23000%22 stroke=%22%23fff%22 stroke-width=%221.3%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") 2 2,not-allowed !important}
}


/* =================== v15: polish (mobile-native, Apple-style materials) + trending touches =================== */
/* platform baseline */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
button,a,[role=button],[role=tab],summary,label.addon{touch-action:manipulation}
button,[role=button],[role=tab],.btn,.nav-cta,.plan-cta,.lang-btn,.tabs button,.cats button,.agent-lang{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.nav{padding-top:calc(14px + env(safe-area-inset-top,0px))}
h1,h2,h3,summary{text-wrap:balance}
p,li,blockquote{text-wrap:pretty}

/* press feedback on every control (works for touch and mouse) */
.plan-cta:active,.tabs button:active,.cats button:active,.lang-btn:active,.agent-lang:active,.nav-cta:active,.snd:active{transform:scale(.97)}

/* Apple-style material: the nav reads as glass, with a soft edge instead of a hard line */
.nav{background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.06)}
@media (prefers-reduced-transparency:reduce){.nav,.agent{background:#000;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media (prefers-contrast:more){:root{--muted:#c4c4c4;--line:#5a5a5a}.nav{background:#000;border-bottom-color:#777}}

/* film grain (very subtle, static, never intercepts the pointer) */
body::after{content:"";position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* availability badge */
.avail{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;border:1px solid rgba(155,255,176,.35);border-radius:999px;
  background:rgba(155,255,176,.07);color:#dfffe7;font-size:.82rem;font-weight:500;animation:rise .9s var(--ease-out) forwards;opacity:0}
.avail[hidden]{display:none}
.avail i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--good)}
.avail i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--good);animation:ping 2.2s var(--ease-out) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(3.2);opacity:0}}

/* manifesto: words light up as you scroll */
.man{padding-block:clamp(90px,14vw,180px);background:#000}
.manifesto{margin:0 auto;max-width:21ch;text-align:center;font-size:clamp(1.9rem,5vw,4rem);font-weight:300;letter-spacing:-.04em;line-height:1.12}
.manifesto .mw{color:#2c2c2c;transition:color .45s var(--ease-out),text-shadow .45s}
.manifesto .mw.lit{color:#fff}
.manifesto .mw.lit.last{color:rgb(var(--gl));text-shadow:0 0 30px rgba(var(--gl),.45)}

/* kinetic ticker */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:#000;padding:22px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-rail{display:flex;width:max-content;animation:tick 38s linear infinite}
.ticker-group{display:flex;align-items:center;gap:28px;padding-inline-end:28px;white-space:nowrap;
  font-size:clamp(1.3rem,3vw,2.2rem);font-weight:300;letter-spacing:-.03em;color:#cfcfcf}
.ticker-group i{font-style:normal;color:rgb(var(--gl));font-size:.7em}
@keyframes tick{to{transform:translateX(-50%)}}
html[dir=rtl] .ticker-rail{animation-name:tickRtl}
@keyframes tickRtl{to{transform:translateX(50%)}}
@media (hover:hover) and (pointer:fine){.ticker:hover .ticker-rail{animation-play-state:paused}}

/* FAQ: smooth open/close where the browser supports animating to auto */
:root{interpolate-size:allow-keywords}
details::details-content{block-size:0;overflow:hidden;transition:block-size .4s var(--ease-out),content-visibility .4s allow-discrete}
details[open]::details-content{block-size:auto}

/* language change: soft cross-fade (View Transitions) */
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:var(--ease-out)}

@media (prefers-reduced-motion:reduce){
  .ticker-rail,.avail i::after{animation:none}
  .avail{opacity:1;animation:none}
  details::details-content{transition:none}
  .manifesto .mw{transition:none}
}


/* ---- v15: form photos + Iris assistant chat ---- */
.chat-link{justify-self:start;text-align:start;font-size:.95rem;line-height:1.4}
.photos{display:grid;gap:12px;justify-items:start}
.photo-add{background:none;border:1px dashed #444;border-radius:12px;color:var(--muted);font:inherit;font-size:.9rem;padding:12px 16px;cursor:pointer;
  transition:border-color .25s,color .25s,box-shadow .3s}
.photo-add[hidden]{display:none}
.photo-add:hover,.photo-add:focus-visible{border-color:rgb(var(--gl));color:rgb(var(--gl));box-shadow:0 0 22px rgba(var(--gl),.25)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;border:1px solid #333}
.chip img{width:100%;height:100%;object-fit:cover;display:block}
.chip button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.72);color:#fff;font-size:15px;line-height:1;cursor:pointer;padding:0}
.form.flash{animation:formFlash 1.4s var(--ease-out)}
@keyframes formFlash{0%{box-shadow:0 0 0 0 rgba(var(--gl),0)}25%{box-shadow:0 0 0 10px rgba(var(--gl),.18)}100%{box-shadow:0 0 0 0 rgba(var(--gl),0)}}

body.chat-open{overflow:hidden}
.chat{position:fixed;z-index:310;inset:0;display:flex;flex-direction:column;background:#070707;opacity:0;transform:translateY(16px);
  transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}
.chat[hidden]{display:none}
.chat.show{opacity:1;transform:none}
@media (min-width:700px){
  .chat{inset:auto 24px 24px auto;width:420px;height:min(640px,calc(100vh - 48px));border:1px solid #2c2c2c;border-radius:24px;box-shadow:0 40px 90px -30px #000,0 0 0 1px rgba(255,255,255,.03)}
}
.chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #1d1d1d}
.chat-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#111;border:1px solid #333}
.chat-av img{width:22px;height:22px;object-fit:contain}
.chat-who{flex:1;min-width:0}
.chat-who b{display:block;font-weight:500}
.chat-who span{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--good)}
.chat-x{width:36px;height:36px;border-radius:50%;border:1px solid #2c2c2c;background:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0}
.chat-x:hover{border-color:rgb(var(--gl));box-shadow:0 0 18px rgba(var(--gl),.3)}
.chat-log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;overscroll-behavior:contain}
.cmsg{max-width:86%;display:flex;flex-direction:column;gap:8px;animation:msgIn .3s var(--ease-out)}
.cmsg p{padding:11px 16px;border-radius:18px;font-size:.98rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.cmsg.bot{align-self:flex-start}
.cmsg.bot p{background:#141414;border:1px solid #2c2c2c;border-bottom-left-radius:6px;color:#fff}
.cmsg.user{align-self:flex-end}
.cmsg.user p{background:#fff;color:#000;border-bottom-right-radius:6px}
.cmsg.err p{border-color:#5a2a2a;color:#ffb4b4}
.cmsg.typing p{display:flex;gap:5px;padding:16px 18px}
.cmsg.typing i{width:7px;height:7px;border-radius:50%;background:#777;animation:dot 1s infinite}
.cmsg.typing i:nth-child(2){animation-delay:.15s}.cmsg.typing i:nth-child(3){animation-delay:.3s}
.cimgs{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.cimgs img{width:96px;height:96px;object-fit:cover;border-radius:14px;border:1px solid #333}
.csum{align-self:stretch;display:grid;gap:12px;padding:16px;border:1px solid rgba(155,255,176,.4);border-radius:16px;background:rgba(155,255,176,.06);animation:msgIn .35s var(--ease-out)}
.csum b{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--good);font-weight:500}
.csum textarea{width:100%;font:inherit;font-size:16px;color:#fff;background:#0b0b0b;border:1px solid #2c2c2c;border-radius:12px;padding:12px;resize:vertical;min-height:140px}
.csum textarea:focus{outline:0;border-color:rgb(var(--gl))}
.csum .btn{justify-self:start}
.chat-tray{padding:0 18px 8px}
.chat-row{display:flex;align-items:flex-end;gap:8px;padding:10px 14px 8px;border-top:1px solid #1d1d1d}
.chat-row textarea{flex:1;min-width:0;resize:none;font:inherit;font-size:16px;color:#fff;background:#111;border:1px solid #2c2c2c;border-radius:20px;padding:11px 16px;max-height:120px;line-height:1.35}
.chat-row textarea:focus{outline:0;border-color:rgb(var(--gl))}
.chat-att{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #2c2c2c;background:#111;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0;transition:border-color .25s,box-shadow .3s}
.chat-att:hover,.chat-att:focus-visible{border-color:rgb(var(--gl));box-shadow:0 0 18px rgba(var(--gl),.3)}
.chat-send{flex:none;height:44px;padding:0 20px;border-radius:22px;border:0;background:#fff;color:#000;font:inherit;font-weight:500;cursor:pointer;transition:box-shadow .3s,opacity .2s}
.chat-send:hover{box-shadow:0 0 26px rgba(var(--gl),.55)}
.chat-send:disabled{opacity:.4;cursor:default;box-shadow:none}
.chat-note{padding:0 18px 14px;font-size:.74rem;color:var(--muted);text-align:center}
@media (prefers-reduced-motion:reduce){.chat,.cmsg,.csum{transition:none;animation:none}}


/* ---- v16: pricing choosers (ad or page, UGC or motion design) ---- */
.seg{display:flex;flex-wrap:wrap;gap:4px;align-self:flex-start;padding:4px;margin:0 0 18px;border:1px solid #2c2c2c;border-radius:999px;background:#0f0f0f}
.seg button{border:0;background:none;color:var(--muted);font:inherit;font-size:.86rem;padding:8px 15px;border-radius:999px;cursor:pointer;
  transition:background .25s,color .25s,box-shadow .3s}
.seg button.on{background:#fff;color:#000}
.plan.featured .seg button.on{background:var(--pg);color:#1c2600}
.seg button:not(.on):hover,.seg button:focus-visible{color:#fff;box-shadow:0 0 18px rgba(var(--gl),.3)}
.seg[hidden],[data-for][hidden],.sty-hint[hidden]{display:none}
.sty-hint{margin:-10px 0 16px;font-size:.78rem;line-height:1.4;color:var(--muted)}


/* ---- v17: pay button after the form ---- */
.paynow{display:grid;gap:10px;justify-items:start;margin-top:4px}
.paynow[hidden]{display:none}
.paynow .btn{gap:8px}
.paynow small{color:var(--muted);font-size:.8rem}

.pay-title{font-weight:500}
#paypalBtns{width:100%;max-width:340px}
.paynow .btn[hidden]{display:none}
#paypalBtns{color-scheme:light}
#paypalBtns iframe{color-scheme:light}
#paypalBtns:empty{display:none}

/* ---- v18: the Iris assistant is one click away from the top of the page ---- */
.logo{position:relative}
.logo::after{content:"";position:absolute;top:1px;right:-9px;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}
.hero-media[data-chat-open]{cursor:pointer}
.media-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(255,255,255,.22);
  border-radius:999px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.85rem;color:#fff;white-space:nowrap;
  transition:border-color .3s,box-shadow .35s,background .3s}
.media-hint i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}
.hero-media:hover .media-hint,.hero-media:focus-visible .media-hint{border-color:rgb(var(--gl));box-shadow:0 0 28px rgba(var(--gl),.4)}
.hero-media:focus-visible{outline:2px solid var(--good);outline-offset:4px}

.pay-state{font-size:.88rem;line-height:1.4;color:var(--muted)}
.pay-state.ok{color:var(--good)}

.proof-row li a{color:inherit;text-decoration:none}
#payReset{justify-self:start;font-size:.8rem;color:var(--muted);border-bottom-color:#444}
#payReset[hidden]{display:none}

.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center}
.foot-links a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .25s,text-shadow .3s}
.foot-links a:hover,.foot-links a:focus-visible{color:var(--good);text-shadow:0 0 14px rgba(155,255,176,.5)}

/* polish: anchors clear the fixed nav, brand selection, balanced headings, joined Arabic letters */
html{scroll-padding-top:76px}
::selection{background:#9BFFB0;color:#06210F}
:root{accent-color:#9BFFB0;caret-color:#9BFFB0}
h1,h2,h3{text-wrap:balance}
p,li,summary{text-wrap:pretty}
html[dir=rtl] *{letter-spacing:0!important}

/* contact form: "no store link" is its own button (not text glued to the brief field); payment is the main action */
.chat-btn{display:inline-flex;align-items:center;gap:10px;justify-self:start;margin:6px 0 14px;padding:12px 20px;border:1px solid var(--line);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:.95rem;line-height:1.3;text-align:start;cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .16s var(--ease-out)}
.chat-btn i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--good)}
.chat-btn:active{transform:scale(.97)}
@media (hover:hover){.chat-btn:hover{border-color:var(--good);color:var(--good);background:rgba(155,255,176,.06)}}
.paynow{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02);margin-top:10px}
.paynow .pay-title{font-size:1.1rem;font-weight:500}

/* project chat button (appears after payment) */
.pchat-fab{position:fixed;z-index:300;right:16px;bottom:calc(92px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid rgba(155,255,176,.45);border-radius:999px;background:#070707;color:#fff;font:inherit;font-size:.95rem;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.5);transition:border-color .25s,box-shadow .3s,transform .16s var(--ease-out)}
.pchat-fab[hidden]{display:none}
.pchat-fab i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--good)}
.pchat-fab:active{transform:scale(.97)}
@media (hover:hover){.pchat-fab:hover{border-color:var(--good);box-shadow:0 0 26px rgba(155,255,176,.35)}}
.pchat-dot{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;background:var(--good);border:2px solid #000}
html[dir=rtl] .pchat-fab{right:auto;left:16px}

/* v7: equal-size pricing cards. The hovered card grows, the other two ease back (scale property: no layout shift, no clash with reveal's transform) */
.js .plan.reveal.in{transition:opacity .8s var(--ease-out),filter .8s var(--ease-out),transform .8s var(--ease-out),scale .45s var(--ease-out),border-color .35s,box-shadow .45s,background .35s;
  transition-delay:calc(var(--d,0) * 80ms),calc(var(--d,0) * 80ms),calc(var(--d,0) * 80ms),0s,0s,0s,0s}
.plans .plan,.plans .plan.featured{align-self:stretch}
@media (min-width:900px){.plans .plan.featured{transform:none;z-index:auto}}
@media (hover:hover) and (pointer:fine){
  .plans .plan:hover,.plans .plan.featured:hover{transform:none;scale:1.04;z-index:3}
  .plans:has(.plan:hover) .plan:not(:hover){scale:.97}
}
@media (prefers-reduced-motion:reduce){.plans .plan{scale:1!important}}

/* v7: the hero title is two sentences, so it is set a little smaller and wider */
.hero h1{font-size:clamp(2.1rem,5vw,4.4rem);max-width:15ch;line-height:1.08;letter-spacing:-.035em}

/* v7: last sentence of the hero title in green */
[data-split] .g{color:var(--good)}

/* v8 (lot B): welcome step 2, locked/unlocked brief, glowing "No store link?" button, project-chat summary button */
.agent.leaving .agent-chat,.agent.leaving .agent-langs,.agent.leaving .agent-skip{opacity:0;transform:translateX(-40px);filter:blur(6px);pointer-events:none;
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),filter .35s var(--ease-out)}
[dir=rtl] .agent.leaving .agent-chat,[dir=rtl] .agent.leaving .agent-langs,[dir=rtl] .agent.leaving .agent-skip{transform:translateX(40px)}
.agent-step2{width:100%;display:grid;gap:30px;justify-items:center;animation:step2In .6s var(--ease-out) both}
.agent-step2[hidden]{display:none}
@keyframes step2In{from{opacity:0;transform:translateX(40px);filter:blur(8px)}}
[dir=rtl] .agent-step2{animation-name:step2InRtl}
@keyframes step2InRtl{from{opacity:0;transform:translateX(-40px);filter:blur(8px)}}
.agent-pitch{font-size:clamp(1.45rem,5.4vw,2.1rem);font-weight:300;line-height:1.25;letter-spacing:-.02em;color:#fff;max-width:20em;text-wrap:balance}
.agent-pitch .pw{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.4em);animation:wordIn .8s var(--ease-out) forwards;animation-delay:calc(var(--i) * 55ms + 250ms)}
.agent-go{min-height:56px;padding:0 32px;font-size:1.05rem;background:var(--good);border-color:var(--good);color:#06210F;opacity:0;
  animation:rise .8s var(--ease-out) forwards,goGlow 2.6s ease-in-out infinite;animation-delay:calc(var(--n,8) * 55ms + 450ms),calc(var(--n,8) * 55ms + 1300ms)}
@keyframes goGlow{0%,100%{box-shadow:0 0 0 0 rgba(155,255,176,.45),0 0 26px rgba(155,255,176,.3)}50%{box-shadow:0 0 0 12px rgba(155,255,176,0),0 0 46px rgba(155,255,176,.55)}}
@media (prefers-reduced-motion:reduce){.agent-step2,.agent-pitch .pw,.agent-go{animation:none;opacity:1;filter:none;transform:none}.agent.leaving .agent-chat,.agent.leaving .agent-langs,.agent.leaving .agent-skip{transition:none}}

.brief{display:grid;gap:10px}
.brief-head{display:flex;align-items:center;gap:9px;margin:0;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .3s}
.brief-head i{position:relative;flex:none;width:11px;height:8px;margin-top:4px;border-radius:2px;background:currentColor}
.brief-head i::before{content:"";position:absolute;left:1.5px;bottom:100%;width:5px;height:5px;border:1.5px solid currentColor;border-bottom:0;border-radius:4px 4px 0 0;transition:transform .35s var(--ease-out)}
.brief[data-state=open] .brief-head{color:var(--good)}
.brief[data-state=open] .brief-head i::before{transform:translate(3px,-2px) rotate(22deg)}
.brief[data-state=locked] .brief-open,.brief[data-state=open] .brief-lock{display:none}
.brief-lock{margin:0;padding:14px 16px;border:1px dashed #3d3d3d;border-radius:14px;color:var(--muted);font-size:.9rem;line-height:1.5}
.brief-lock .linkbtn{display:block;margin-top:8px;font-size:.82rem;color:#8a8a8a;border-bottom-color:#444}
.brief-lock .linkbtn:hover{color:var(--good);border-bottom-color:var(--good)}
.brief-open{display:grid;gap:8px;animation:rise .5s var(--ease-out)}
.brief-open small{color:var(--muted);font-size:.78rem}
@media (prefers-reduced-motion:reduce){.brief-open{animation:none}}

.chat-btn{transition:border-color .25s,color .25s,background .5s,transform .16s var(--ease-out),box-shadow .5s}
.chat-btn.glow{border-color:var(--good);background:var(--good);color:#06210F;font-weight:600;animation:ctaPulse 2.2s ease-in-out infinite}
.chat-btn.glow i{background:#06210F}
@media (hover:hover){.chat-btn.glow:hover{background:#b8ffc7;color:#06210F}}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(155,255,176,.5),0 0 22px rgba(155,255,176,.35)}50%{box-shadow:0 0 0 12px rgba(155,255,176,0),0 0 42px rgba(155,255,176,.6)}}
@media (prefers-reduced-motion:reduce){.chat-btn.glow{animation:none;box-shadow:0 0 0 4px rgba(155,255,176,.25),0 0 30px rgba(155,255,176,.4)}}

.chat .pchat-sum{margin:0 14px 10px;padding:9px 16px;font-size:.85rem;align-self:flex-start}
.chat .pchat-sum[hidden]{display:none}
